Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IMPORTANT - Blowfish wallet flags #132

Open
thebrahman opened this issue Jun 24, 2024 · 2 comments
Open

IMPORTANT - Blowfish wallet flags #132

thebrahman opened this issue Jun 24, 2024 · 2 comments

Comments

@thebrahman
Copy link

Hi,
Recently I have had blowfish flag all of my transactions built with the transactoinBuilder. If you follow the UMI documentation to build an 'ideal' transaction it will flag in Phantom and even Solflare. In Phantom it says to use 'signAndSendTransaction' to avoid being flagged, which would obviously require ditching UMI completely and rewriting everything in just web3/js. The other alternative is to try and get on the blowfish whitelist, which seems like it is a long and uncertain process.

If I don't find a solution in the next few days I will be moving away from metaplex back to web3/js and staying there to avoid situations like this one.

@4lve
Copy link

4lve commented Jun 24, 2024

You can use the web3 adapter to convert the transaction into a web3 one

@thebrahman
Copy link
Author

thebrahman commented Jun 27, 2024

@4lve I am struggling with the conversion, where am I going wrong? Here is my thought Process:

  • useWallet from @solana/wallet-adapter-react doesn't have signAndSendTransaction as a property, but sendTransaction should call it.

Using the CM mintUI as an example, i get an invalid transaction trying the following:

    const umiWalletAdapter = umi.use(walletAdapterIdentity(wallet))
    const nftMint = generateSigner(umiWalletAdapter)
    let builder = transactionBuilder()
      .add(setComputeUnitLimit(umiWalletAdapter, { units: 800_000 }))
      .add(
        mintV2(umiWalletAdapter, {
          candyMachine: candyMachine.publicKey,
          nftMint,
          collectionMint: candyMachine.collectionMint,
          collectionUpdateAuthority: candyMachine.authority,
          tokenStandard: candyMachine.tokenStandard,
          candyGuard: candyGuard?.publicKey,
          mintArgs,
        })
      )

    try {
      const umiTransaction = await builder.buildWithLatestBlockhash(umi);
      const web3Transaction = toWeb3JsTransaction(umiTransaction);
      const signature = await wallet.sendTransaction(web3Transaction, connection);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants