{
  "version": "1.2.2",
  "name": "auction_house",
  "instructions": [
    {
      "name": "withdrawFromFee",
      "accounts": [
        {
          "name": "authority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "feeWithdrawalDestination",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "auctionHouse",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "withdrawFromTreasury",
      "accounts": [
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "treasuryWithdrawalDestination",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "auctionHouseTreasury",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "auctionHouse",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "updateAuctionHouse",
      "accounts": [
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "payer",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "newAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "feeWithdrawalDestination",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "treasuryWithdrawalDestination",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "treasuryWithdrawalDestinationOwner",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouse",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "ataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "sellerFeeBasisPoints",
          "type": {
            "option": "u16"
          }
        },
        {
          "name": "requiresSignOff",
          "type": {
            "option": "bool"
          }
        },
        {
          "name": "canChangeSalePrice",
          "type": {
            "option": "bool"
          }
        }
      ]
    },
    {
      "name": "createAuctionHouse",
      "accounts": [
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "payer",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "feeWithdrawalDestination",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "treasuryWithdrawalDestination",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "treasuryWithdrawalDestinationOwner",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouse",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "auctionHouseTreasury",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "ataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "bump",
          "type": "u8"
        },
        {
          "name": "feePayerBump",
          "type": "u8"
        },
        {
          "name": "treasuryBump",
          "type": "u8"
        },
        {
          "name": "sellerFeeBasisPoints",
          "type": "u16"
        },
        {
          "name": "requiresSignOff",
          "type": "bool"
        },
        {
          "name": "canChangeSalePrice",
          "type": "bool"
        }
      ]
    },
    {
      "name": "buy",
      "accounts": [
        {
          "name": "wallet",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "paymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "transferAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenAccount",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "metadata",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "escrowPaymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "tradeStateBump",
          "type": "u8"
        },
        {
          "name": "escrowPaymentBump",
          "type": "u8"
        },
        {
          "name": "buyerPrice",
          "type": "u64"
        },
        {
          "name": "tokenSize",
          "type": "u64"
        }
      ]
    },
    {
      "name": "auctioneerBuy",
      "accounts": [
        {
          "name": "wallet",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "paymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "transferAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenAccount",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "metadata",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "escrowPaymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctioneerAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "ahAuctioneerPda",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "tradeStateBump",
          "type": "u8"
        },
        {
          "name": "escrowPaymentBump",
          "type": "u8"
        },
        {
          "name": "buyerPrice",
          "type": "u64"
        },
        {
          "name": "tokenSize",
          "type": "u64"
        }
      ]
    },
    {
      "name": "publicBuy",
      "accounts": [
        {
          "name": "wallet",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "paymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "transferAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenAccount",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "metadata",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "escrowPaymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "tradeStateBump",
          "type": "u8"
        },
        {
          "name": "escrowPaymentBump",
          "type": "u8"
        },
        {
          "name": "buyerPrice",
          "type": "u64"
        },
        {
          "name": "tokenSize",
          "type": "u64"
        }
      ]
    },
    {
      "name": "auctioneerPublicBuy",
      "accounts": [
        {
          "name": "wallet",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "paymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "transferAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenAccount",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "metadata",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "escrowPaymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctioneerAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "ahAuctioneerPda",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "tradeStateBump",
          "type": "u8"
        },
        {
          "name": "escrowPaymentBump",
          "type": "u8"
        },
        {
          "name": "buyerPrice",
          "type": "u64"
        },
        {
          "name": "tokenSize",
          "type": "u64"
        }
      ]
    },
    {
      "name": "cancel",
      "accounts": [
        {
          "name": "wallet",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "buyerPrice",
          "type": "u64"
        },
        {
          "name": "tokenSize",
          "type": "u64"
        }
      ]
    },
    {
      "name": "auctioneerCancel",
      "accounts": [
        {
          "name": "wallet",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctioneerAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "ahAuctioneerPda",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "buyerPrice",
          "type": "u64"
        },
        {
          "name": "tokenSize",
          "type": "u64"
        }
      ]
    },
    {
      "name": "deposit",
      "accounts": [
        {
          "name": "wallet",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "paymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "transferAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "escrowPaymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "escrowPaymentBump",
          "type": "u8"
        },
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "auctioneerDeposit",
      "accounts": [
        {
          "name": "wallet",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "paymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "transferAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "escrowPaymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctioneerAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "ahAuctioneerPda",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "escrowPaymentBump",
          "type": "u8"
        },
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "executeSale",
      "accounts": [
        {
          "name": "buyer",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "seller",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "metadata",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "escrowPaymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerPaymentReceiptAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerReceiptTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "auctionHouseTreasury",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "freeTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "ataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "programAsSigner",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "escrowPaymentBump",
          "type": "u8"
        },
        {
          "name": "freeTradeStateBump",
          "type": "u8"
        },
        {
          "name": "programAsSignerBump",
          "type": "u8"
        },
        {
          "name": "buyerPrice",
          "type": "u64"
        },
        {
          "name": "tokenSize",
          "type": "u64"
        }
      ]
    },
    {
      "name": "executePartialSale",
      "accounts": [
        {
          "name": "buyer",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "seller",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "metadata",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "escrowPaymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerPaymentReceiptAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerReceiptTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "auctionHouseTreasury",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "freeTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "ataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "programAsSigner",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "escrowPaymentBump",
          "type": "u8"
        },
        {
          "name": "freeTradeStateBump",
          "type": "u8"
        },
        {
          "name": "programAsSignerBump",
          "type": "u8"
        },
        {
          "name": "buyerPrice",
          "type": "u64"
        },
        {
          "name": "tokenSize",
          "type": "u64"
        },
        {
          "name": "partialOrderSize",
          "type": {
            "option": "u64"
          }
        },
        {
          "name": "partialOrderPrice",
          "type": {
            "option": "u64"
          }
        }
      ]
    },
    {
      "name": "auctioneerExecuteSale",
      "accounts": [
        {
          "name": "buyer",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "seller",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "metadata",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "escrowPaymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerPaymentReceiptAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerReceiptTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctioneerAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "auctionHouseTreasury",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "freeTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "ahAuctioneerPda",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "ataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "programAsSigner",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "escrowPaymentBump",
          "type": "u8"
        },
        {
          "name": "freeTradeStateBump",
          "type": "u8"
        },
        {
          "name": "programAsSignerBump",
          "type": "u8"
        },
        {
          "name": "buyerPrice",
          "type": "u64"
        },
        {
          "name": "tokenSize",
          "type": "u64"
        }
      ]
    },
    {
      "name": "auctioneerExecutePartialSale",
      "accounts": [
        {
          "name": "buyer",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "seller",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "metadata",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "escrowPaymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerPaymentReceiptAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerReceiptTokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctioneerAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "auctionHouseTreasury",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "buyerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "freeTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "ahAuctioneerPda",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "ataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "programAsSigner",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "escrowPaymentBump",
          "type": "u8"
        },
        {
          "name": "freeTradeStateBump",
          "type": "u8"
        },
        {
          "name": "programAsSignerBump",
          "type": "u8"
        },
        {
          "name": "buyerPrice",
          "type": "u64"
        },
        {
          "name": "tokenSize",
          "type": "u64"
        },
        {
          "name": "partialOrderSize",
          "type": {
            "option": "u64"
          }
        },
        {
          "name": "partialOrderPrice",
          "type": {
            "option": "u64"
          }
        }
      ]
    },
    {
      "name": "sell",
      "accounts": [
        {
          "name": "wallet",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "metadata",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "freeSellerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "programAsSigner",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "tradeStateBump",
          "type": "u8"
        },
        {
          "name": "freeTradeStateBump",
          "type": "u8"
        },
        {
          "name": "programAsSignerBump",
          "type": "u8"
        },
        {
          "name": "buyerPrice",
          "type": "u64"
        },
        {
          "name": "tokenSize",
          "type": "u64"
        }
      ]
    },
    {
      "name": "auctioneerSell",
      "accounts": [
        {
          "name": "wallet",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "metadata",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctioneerAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "sellerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "freeSellerTradeState",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "ahAuctioneerPda",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "programAsSigner",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "tradeStateBump",
          "type": "u8"
        },
        {
          "name": "freeTradeStateBump",
          "type": "u8"
        },
        {
          "name": "programAsSignerBump",
          "type": "u8"
        },
        {
          "name": "tokenSize",
          "type": "u64"
        }
      ]
    },
    {
      "name": "withdraw",
      "accounts": [
        {
          "name": "wallet",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "receiptAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "escrowPaymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "ataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "escrowPaymentBump",
          "type": "u8"
        },
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "auctioneerWithdraw",
      "accounts": [
        {
          "name": "wallet",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "receiptAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "escrowPaymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "treasuryMint",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctioneerAuthority",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "auctionHouseFeeAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "ahAuctioneerPda",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "tokenProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "ataProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "escrowPaymentBump",
          "type": "u8"
        },
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "closeEscrowAccount",
      "accounts": [
        {
          "name": "wallet",
          "isMut": false,
          "isSigner": true
        },
        {
          "name": "escrowPaymentAccount",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "auctionHouse",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "escrowPaymentBump",
          "type": "u8"
        }
      ]
    },
    {
      "name": "delegateAuctioneer",
      "accounts": [
        {
          "name": "auctionHouse",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "auctioneerAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "ahAuctioneerPda",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "scopes",
          "type": {
            "vec": {
              "defined": "AuthorityScope"
            }
          }
        }
      ]
    },
    {
      "name": "updateAuctioneer",
      "accounts": [
        {
          "name": "auctionHouse",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "authority",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "auctioneerAuthority",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "ahAuctioneerPda",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "scopes",
          "type": {
            "vec": {
              "defined": "AuthorityScope"
            }
          }
        }
      ]
    },
    {
      "name": "printListingReceipt",
      "accounts": [
        {
          "name": "receipt",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "bookkeeper",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "instruction",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "receiptBump",
          "type": "u8"
        }
      ]
    },
    {
      "name": "cancelListingReceipt",
      "accounts": [
        {
          "name": "receipt",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "instruction",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "printBidReceipt",
      "accounts": [
        {
          "name": "receipt",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "bookkeeper",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "instruction",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "receiptBump",
          "type": "u8"
        }
      ]
    },
    {
      "name": "cancelBidReceipt",
      "accounts": [
        {
          "name": "receipt",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "instruction",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": []
    },
    {
      "name": "printPurchaseReceipt",
      "accounts": [
        {
          "name": "purchaseReceipt",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "listingReceipt",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "bidReceipt",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "bookkeeper",
          "isMut": true,
          "isSigner": true
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "rent",
          "isMut": false,
          "isSigner": false
        },
        {
          "name": "instruction",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "purchaseReceiptBump",
          "type": "u8"
        }
      ]
    }
  ],
  "accounts": [
    {
      "name": "BidReceipt",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "tradeState",
            "type": "publicKey"
          },
          {
            "name": "bookkeeper",
            "type": "publicKey"
          },
          {
            "name": "auctionHouse",
            "type": "publicKey"
          },
          {
            "name": "buyer",
            "type": "publicKey"
          },
          {
            "name": "metadata",
            "type": "publicKey"
          },
          {
            "name": "tokenAccount",
            "type": {
              "option": "publicKey"
            }
          },
          {
            "name": "purchaseReceipt",
            "type": {
              "option": "publicKey"
            }
          },
          {
            "name": "price",
            "type": "u64"
          },
          {
            "name": "tokenSize",
            "type": "u64"
          },
          {
            "name": "bump",
            "type": "u8"
          },
          {
            "name": "tradeStateBump",
            "type": "u8"
          },
          {
            "name": "createdAt",
            "type": "i64"
          },
          {
            "name": "canceledAt",
            "type": {
              "option": "i64"
            }
          }
        ]
      }
    },
    {
      "name": "ListingReceipt",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "tradeState",
            "type": "publicKey"
          },
          {
            "name": "bookkeeper",
            "type": "publicKey"
          },
          {
            "name": "auctionHouse",
            "type": "publicKey"
          },
          {
            "name": "seller",
            "type": "publicKey"
          },
          {
            "name": "metadata",
            "type": "publicKey"
          },
          {
            "name": "purchaseReceipt",
            "type": {
              "option": "publicKey"
            }
          },
          {
            "name": "price",
            "type": "u64"
          },
          {
            "name": "tokenSize",
            "type": "u64"
          },
          {
            "name": "bump",
            "type": "u8"
          },
          {
            "name": "tradeStateBump",
            "type": "u8"
          },
          {
            "name": "createdAt",
            "type": "i64"
          },
          {
            "name": "canceledAt",
            "type": {
              "option": "i64"
            }
          }
        ]
      }
    },
    {
      "name": "PurchaseReceipt",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "bookkeeper",
            "type": "publicKey"
          },
          {
            "name": "buyer",
            "type": "publicKey"
          },
          {
            "name": "seller",
            "type": "publicKey"
          },
          {
            "name": "auctionHouse",
            "type": "publicKey"
          },
          {
            "name": "metadata",
            "type": "publicKey"
          },
          {
            "name": "tokenSize",
            "type": "u64"
          },
          {
            "name": "price",
            "type": "u64"
          },
          {
            "name": "bump",
            "type": "u8"
          },
          {
            "name": "createdAt",
            "type": "i64"
          }
        ]
      }
    },
    {
      "name": "AuctionHouse",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "auctionHouseFeeAccount",
            "type": "publicKey"
          },
          {
            "name": "auctionHouseTreasury",
            "type": "publicKey"
          },
          {
            "name": "treasuryWithdrawalDestination",
            "type": "publicKey"
          },
          {
            "name": "feeWithdrawalDestination",
            "type": "publicKey"
          },
          {
            "name": "treasuryMint",
            "type": "publicKey"
          },
          {
            "name": "authority",
            "type": "publicKey"
          },
          {
            "name": "creator",
            "type": "publicKey"
          },
          {
            "name": "bump",
            "type": "u8"
          },
          {
            "name": "treasuryBump",
            "type": "u8"
          },
          {
            "name": "feePayerBump",
            "type": "u8"
          },
          {
            "name": "sellerFeeBasisPoints",
            "type": "u16"
          },
          {
            "name": "requiresSignOff",
            "type": "bool"
          },
          {
            "name": "canChangeSalePrice",
            "type": "bool"
          },
          {
            "name": "escrowPaymentBump",
            "type": "u8"
          },
          {
            "name": "hasAuctioneer",
            "type": "bool"
          },
          {
            "name": "auctioneerPdaBump",
            "type": "u8"
          }
        ]
      }
    },
    {
      "name": "Auctioneer",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "auctioneerAuthority",
            "type": "publicKey"
          },
          {
            "name": "auctionHouse",
            "type": "publicKey"
          },
          {
            "name": "scopes",
            "type": {
              "array": [
                "bool",
                7
              ]
            }
          }
        ]
      }
    }
  ],
  "types": [
    {
      "name": "AuthorityScope",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Deposit"
          },
          {
            "name": "Buy"
          },
          {
            "name": "PublicBuy"
          },
          {
            "name": "ExecuteSale"
          },
          {
            "name": "Sell"
          },
          {
            "name": "Cancel"
          },
          {
            "name": "Withdraw"
          }
        ]
      }
    },
    {
      "name": "BidType",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "PublicSale"
          },
          {
            "name": "PrivateSale"
          },
          {
            "name": "AuctioneerPublicSale"
          },
          {
            "name": "AuctioneerPrivateSale"
          }
        ]
      }
    },
    {
      "name": "ListingType",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Sell"
          },
          {
            "name": "AuctioneerSell"
          }
        ]
      }
    },
    {
      "name": "PurchaseType",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "ExecuteSale"
          },
          {
            "name": "AuctioneerExecuteSale"
          }
        ]
      }
    },
    {
      "name": "CancelType",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Cancel"
          },
          {
            "name": "AuctioneerCancel"
          }
        ]
      }
    }
  ],
  "errors": [
    {
      "code": 6000,
      "name": "PublicKeyMismatch",
      "msg": "PublicKeyMismatch"
    },
    {
      "code": 6001,
      "name": "InvalidMintAuthority",
      "msg": "InvalidMintAuthority"
    },
    {
      "code": 6002,
      "name": "UninitializedAccount",
      "msg": "UninitializedAccount"
    },
    {
      "code": 6003,
      "name": "IncorrectOwner",
      "msg": "IncorrectOwner"
    },
    {
      "code": 6004,
      "name": "PublicKeysShouldBeUnique",
      "msg": "PublicKeysShouldBeUnique"
    },
    {
      "code": 6005,
      "name": "StatementFalse",
      "msg": "StatementFalse"
    },
    {
      "code": 6006,
      "name": "NotRentExempt",
      "msg": "NotRentExempt"
    },
    {
      "code": 6007,
      "name": "NumericalOverflow",
      "msg": "NumericalOverflow"
    },
    {
      "code": 6008,
      "name": "ExpectedSolAccount",
      "msg": "Expected a sol account but got an spl token account instead"
    },
    {
      "code": 6009,
      "name": "CannotExchangeSOLForSol",
      "msg": "Cannot exchange sol for sol"
    },
    {
      "code": 6010,
      "name": "SOLWalletMustSign",
      "msg": "If paying with sol, sol wallet must be signer"
    },
    {
      "code": 6011,
      "name": "CannotTakeThisActionWithoutAuctionHouseSignOff",
      "msg": "Cannot take this action without auction house signing too"
    },
    {
      "code": 6012,
      "name": "NoPayerPresent",
      "msg": "No payer present on this txn"
    },
    {
      "code": 6013,
      "name": "DerivedKeyInvalid",
      "msg": "Derived key invalid"
    },
    {
      "code": 6014,
      "name": "MetadataDoesntExist",
      "msg": "Metadata doesn't exist"
    },
    {
      "code": 6015,
      "name": "InvalidTokenAmount",
      "msg": "Invalid token amount"
    },
    {
      "code": 6016,
      "name": "BothPartiesNeedToAgreeToSale",
      "msg": "Both parties need to agree to this sale"
    },
    {
      "code": 6017,
      "name": "CannotMatchFreeSalesWithoutAuctionHouseOrSellerSignoff",
      "msg": "Cannot match free sales unless the auction house or seller signs off"
    },
    {
      "code": 6018,
      "name": "SaleRequiresSigner",
      "msg": "This sale requires a signer"
    },
    {
      "code": 6019,
      "name": "OldSellerNotInitialized",
      "msg": "Old seller not initialized"
    },
    {
      "code": 6020,
      "name": "SellerATACannotHaveDelegate",
      "msg": "Seller ata cannot have a delegate set"
    },
    {
      "code": 6021,
      "name": "BuyerATACannotHaveDelegate",
      "msg": "Buyer ata cannot have a delegate set"
    },
    {
      "code": 6022,
      "name": "NoValidSignerPresent",
      "msg": "No valid signer present"
    },
    {
      "code": 6023,
      "name": "InvalidBasisPoints",
      "msg": "BP must be less than or equal to 10000"
    },
    {
      "code": 6024,
      "name": "TradeStateDoesntExist",
      "msg": "The trade state account does not exist"
    },
    {
      "code": 6025,
      "name": "TradeStateIsNotEmpty",
      "msg": "The trade state is not empty"
    },
    {
      "code": 6026,
      "name": "ReceiptIsEmpty",
      "msg": "The receipt is empty"
    },
    {
      "code": 6027,
      "name": "InstructionMismatch",
      "msg": "The instruction does not match"
    },
    {
      "code": 6028,
      "name": "InvalidAuctioneer",
      "msg": "Invalid Auctioneer for this Auction House instance."
    },
    {
      "code": 6029,
      "name": "MissingAuctioneerScope",
      "msg": "The Auctioneer does not have the correct scope for this action."
    },
    {
      "code": 6030,
      "name": "MustUseAuctioneerHandler",
      "msg": "Must use auctioneer handler."
    },
    {
      "code": 6031,
      "name": "NoAuctioneerProgramSet",
      "msg": "No Auctioneer program set."
    },
    {
      "code": 6032,
      "name": "TooManyScopes",
      "msg": "Too many scopes."
    },
    {
      "code": 6033,
      "name": "AuctionHouseNotDelegated",
      "msg": "Auction House not delegated."
    },
    {
      "code": 6034,
      "name": "BumpSeedNotInHashMap",
      "msg": "Bump seed not in hash map."
    },
    {
      "code": 6035,
      "name": "EscrowUnderRentExemption",
      "msg": "The instruction would drain the escrow below rent exemption threshold"
    },
    {
      "code": 6036,
      "name": "InvalidSeedsOrAuctionHouseNotDelegated",
      "msg": "Invalid seeds or Auction House not delegated"
    },
    {
      "code": 6037,
      "name": "BuyerTradeStateNotValid",
      "msg": "The buyer trade state was unable to be initialized."
    },
    {
      "code": 6038,
      "name": "MissingElementForPartialOrder",
      "msg": "Partial order size and price must both be provided in a partial buy."
    },
    {
      "code": 6039,
      "name": "NotEnoughTokensAvailableForPurchase",
      "msg": "Amount of tokens available for purchase is less than the partial order amount."
    },
    {
      "code": 6040,
      "name": "PartialPriceMismatch",
      "msg": "Calculated partial price does not not partial price that was provided."
    },
    {
      "code": 6041,
      "name": "InsufficientFunds",
      "msg": "Insufficient funds in escrow account to purchase."
    }
  ],
  "metadata": {
    "address": "hausS13jsjafwWwGqZTUQRmWyvyxn9EQpqMwV1PBBmk",
    "origin": "anchor",
    "binaryVersion": "0.24.2",
    "libVersion": "~0.24.2"
  }
}