Search code examples
solanametaplex

AnchorError caused by account: seller_trade_state. A seeds constraint was violated. error in seller trade state in auctioneer


I'm getting this error in selling in auctioneer sdk

'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'

i'm finding seller trade sate like this

 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,
  );

I tried many arguments like u64::MAX's value and regular buyer price, but every time pda is wrong. what should i change?


Solution

  • i solved it by using this as trade state.

    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" 
      );