0

在向 solana 智能合约中的函数发出 RPC 请求时,我发现这在 BN 中是未定义的

''' 让 token1Amount = BN(token1_amount); 让 token2Amount = BN(token2_amount)

  const add_liquidity = await router_program.rpc.addLiquidity(
    token1Amount,
    token2Amount,
    {
      accounts: {
        // poolAccount: pool_Account.publicKey, //account which stores the individual pair data
        userToken1Account: usetoken1_account,
        userToken2Account: usetoken2_account,
        poolToken1Account: new PublicKey(tokenaccount_1),
        poolToken2Account: new PublicKey(tokenaccount_2),
        owner: provider.wallet.publicKey,
        tokenProgram: TOKEN_PROGRAM_ID,
        // systemProgram : SystemProgram.programId ,
        // associatedTokenProgram: spl.ASSOCIATED_TOKEN_PROGRAM_ID,
        // rent: anchor.web3.SYSVAR_RENT_PUBKEY,
        tokensProgram: TOKEN_ID,
        // poolProgram: pair.programId,
        // pairAccount: pairAccount.publicKey
      },
      // signers: [provider]
    }
  );

'''

在此处输入图像描述

4

1 回答 1

0

这是在黑暗中拍摄,但我认为你需要new让你BN的 s 有一个this上下文,所以改为尝试:

let token1Amount = new BN(token1_amount);
let token2Amount = new BN(token2_amount);
于 2021-12-06T13:26:11.613 回答