首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由帐户引起的AnchorError : seller_trade_state。违反了种子限制。拍卖人的卖方交易状态错误

由帐户引起的AnchorError : seller_trade_state。违反了种子限制。拍卖人的卖方交易状态错误
EN

Stack Overflow用户
提问于 2022-07-12 13:22:28
回答 2查看 362关注 0票数 0

我在拍卖商sdk中遇到了这个错误

代码语言:javascript
运行
复制
'Program neer8g6yJq2mQM6KbnViEDAD4gr3gRZyMMf4F2p3MEh invoke [1]',
    'Program log: Instruction: Sell',
    'Program 11111111111111111111111111111111 invoke [2]',
    'Program 11111111111111111111111111111111 success',
    'Program log: AnchorError caused by account: seller_trade_state. Error Code: ConstraintSeeds. Error Number: 2006. Error Message: A seeds constraint was violated.',
    'Program neer8g6yJq2mQM6KbnViEDAD4gr3gRZyMMf4F2p3MEh consumed 26150 of 200000 compute units',
    'Program neer8g6yJq2mQM6KbnViEDAD4gr3gRZyMMf4F2p3MEh failed: custom program error: 0x7d6'

我发现卖家是这样交易的

代码语言:javascript
运行
复制
 const sellerTradeState = await  anchor.web3.PublicKey.findProgramAddress(
    [
      Buffer.from('auction_house'),
      publicKey.toBuffer(),
      aH.toBuffer(),
      associatedAddress.toBuffer(),
      WRAPPED_SOL_MINT.toBuffer(),
      mint.toBuffer(),
      new BN (10000000).toBuffer('le',8),
      new BN (Math.ceil(1)).toBuffer('le',8),
      
    ],
    AUCTION_HOUSE_PROGRAM_ID,
  );

我尝试过很多观点,比如u64::MAX的价值和正常的买家价格,但是每次掌上电脑是错误的,我应该改变什么呢?

代码语言:javascript
运行
复制
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-13 13:26:48

我用它作为贸易状态来解决它。

代码语言:javascript
运行
复制
async function getAuctionHouseTradeState( 
    auctionHouse, 
    wallet, 
    tokenAccount, 
    treasuryMint, 
    tokenMint, 
    tokenSize, 
    buyPrice 
  ) { 
    return await PublicKey.findProgramAddress( 
      [ 
        Buffer.from('auction_house'), 
        wallet.toBuffer(), 
        auctionHouse.toBuffer(), 
        tokenAccount.toBuffer(), 
        treasuryMint.toBuffer(), 
        tokenMint.toBuffer(), 
        new BN(buyPrice).toArrayLike(Buffer, "le", 8), 
        new BN(tokenSize).toArrayLike(Buffer, "le", 8), 
      ], 
      AUCTION_HOUSE_PROGRAM_ID 
    ); 
  }

  const [sellerTradeState, tradeBump] = await getAuctionHouseTradeState( 
    aH, 
    publicKey, 
    associatedAddress, 
    WRAPPED_SOL_MINT, 
    mint, 
    1, 
    "18446744073709551615" 
  );
票数 0
EN

Stack Overflow用户

发布于 2022-07-12 14:32:06

你需要检查你的种子。这就是种子在销售指令上的样子

前缀是豪斯“,所以至少该种子是不正确的。确保检查种子的其余部分,以便提供正确的PDA以避免该错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72953038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档