hadeswap-sdk
Version:
HadeSwap SDK for interacting with protocol
720 lines (719 loc) • 20.2 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.IDL = void 0;
exports.IDL = {
version: '0.1.0',
name: 'auction',
instructions: [
{
name: 'initializeAuction',
accounts: [
{
name: 'auction',
isMut: true,
isSigner: true,
},
{
name: 'user',
isMut: true,
isSigner: true,
},
{
name: 'systemProgram',
isMut: false,
isSigner: false,
},
{
name: 'rent',
isMut: false,
isSigner: false,
},
],
args: [],
returns: undefined,
},
{
name: 'addLot',
accounts: [
{
name: 'auction',
isMut: true,
isSigner: false,
},
{
name: 'user',
isMut: true,
isSigner: true,
},
{
name: 'lot',
isMut: true,
isSigner: false,
},
{
name: 'nftMint',
isMut: true,
isSigner: false,
},
{
name: 'nftsOwner',
isMut: false,
isSigner: false,
},
{
name: 'nftUserTokenAccount',
isMut: true,
isSigner: false,
},
{
name: 'editionInfo',
isMut: false,
isSigner: false,
},
{
name: 'metadataInfo',
isMut: true,
isSigner: false,
},
{
name: 'ownerTokenRecord',
isMut: false,
isSigner: false,
},
{
name: 'destTokenRecord',
isMut: false,
isSigner: false,
},
{
name: 'instructions',
isMut: false,
isSigner: false,
},
{
name: 'authorizationRulesProgram',
isMut: false,
isSigner: false,
},
{
name: 'vaultTokenAccount',
isMut: true,
isSigner: false,
},
{
name: 'tokenProgram',
isMut: false,
isSigner: false,
},
{
name: 'associatedTokenProgram',
isMut: false,
isSigner: false,
},
{
name: 'systemProgram',
isMut: false,
isSigner: false,
},
{
name: 'rent',
isMut: false,
isSigner: false,
},
],
args: [
{
name: 'authorizationData',
type: {
option: {
defined: 'AuthorizationDataLocal',
},
},
},
],
returns: undefined,
},
{
name: 'startAuction',
accounts: [
{
name: 'auction',
isMut: true,
isSigner: false,
},
{
name: 'user',
isMut: true,
isSigner: true,
},
{
name: 'systemProgram',
isMut: false,
isSigner: false,
},
{
name: 'rent',
isMut: false,
isSigner: false,
},
],
args: [
{
name: 'startAt',
type: 'u64',
},
],
returns: undefined,
},
{
name: 'placeBid',
accounts: [
{
name: 'auction',
isMut: true,
isSigner: false,
},
{
name: 'user',
isMut: true,
isSigner: true,
},
{
name: 'fundsHadesVault',
isMut: true,
isSigner: false,
},
{
name: 'currentWinner',
isMut: true,
isSigner: false,
},
{
name: 'lot',
isMut: true,
isSigner: false,
},
{
name: 'nftMint',
isMut: true,
isSigner: false,
},
{
name: 'tokenMint',
isMut: true,
isSigner: false,
},
{
name: 'userTokenAccount',
isMut: true,
isSigner: false,
},
{
name: 'vaultTokenAccount',
isMut: true,
isSigner: false,
},
{
name: 'currentWinnerTokenAccount',
isMut: true,
isSigner: false,
},
{
name: 'tokenProgram',
isMut: false,
isSigner: false,
},
{
name: 'associatedTokenProgram',
isMut: false,
isSigner: false,
},
{
name: 'systemProgram',
isMut: false,
isSigner: false,
},
{
name: 'rent',
isMut: false,
isSigner: false,
},
],
args: [
{
name: 'bid',
type: 'u64',
},
],
returns: undefined,
},
{
name: 'claimNft',
accounts: [
{
name: 'auction',
isMut: false,
isSigner: false,
},
{
name: 'user',
isMut: true,
isSigner: true,
},
{
name: 'lot',
isMut: true,
isSigner: false,
},
{
name: 'nftMint',
isMut: true,
isSigner: false,
},
{
name: 'nftsOwner',
isMut: false,
isSigner: false,
},
{
name: 'editionInfo',
isMut: false,
isSigner: false,
},
{
name: 'metadataInfo',
isMut: true,
isSigner: false,
},
{
name: 'ownerTokenRecord',
isMut: false,
isSigner: false,
},
{
name: 'destTokenRecord',
isMut: false,
isSigner: false,
},
{
name: 'instructions',
isMut: false,
isSigner: false,
},
{
name: 'authorizationRulesProgram',
isMut: false,
isSigner: false,
},
{
name: 'nftUserTokenAccount',
isMut: true,
isSigner: false,
},
{
name: 'vaultTokenAccount',
isMut: true,
isSigner: false,
},
{
name: 'tokenProgram',
isMut: false,
isSigner: false,
},
{
name: 'associatedTokenProgram',
isMut: false,
isSigner: false,
},
{
name: 'systemProgram',
isMut: false,
isSigner: false,
},
{
name: 'rent',
isMut: false,
isSigner: false,
},
],
args: [
{
name: 'authorizationData',
type: {
option: {
defined: 'AuthorizationDataLocal',
},
},
},
],
returns: undefined,
},
{
name: 'closeLotAccount',
accounts: [
{
name: 'auction',
isMut: false,
isSigner: false,
},
{
name: 'user',
isMut: true,
isSigner: true,
},
{
name: 'lot',
isMut: true,
isSigner: false,
},
{
name: 'nftMint',
isMut: true,
isSigner: false,
},
{
name: 'systemProgram',
isMut: false,
isSigner: false,
},
{
name: 'rent',
isMut: false,
isSigner: false,
},
],
args: [],
returns: undefined,
},
{
name: 'auctionProfitClaim',
accounts: [
{
name: 'auction',
isMut: true,
isSigner: false,
},
{
name: 'user',
isMut: true,
isSigner: true,
},
{
name: 'fundsHadesVault',
isMut: true,
isSigner: false,
},
{
name: 'tokenMint',
isMut: true,
isSigner: false,
},
{
name: 'userTokenAccount',
isMut: true,
isSigner: false,
},
{
name: 'vaultTokenAccount',
isMut: true,
isSigner: false,
},
{
name: 'tokenProgram',
isMut: false,
isSigner: false,
},
{
name: 'associatedTokenProgram',
isMut: false,
isSigner: false,
},
{
name: 'systemProgram',
isMut: false,
isSigner: false,
},
{
name: 'rent',
isMut: false,
isSigner: false,
},
],
args: [],
returns: undefined,
},
],
accounts: [
{
name: 'auctionLot',
type: {
kind: 'struct',
fields: [
{
name: 'auction',
type: 'publicKey',
},
{
name: 'lotNumber',
type: 'u16',
},
{
name: 'nftMint',
type: 'publicKey',
},
{
name: 'currentBid',
type: 'u64',
},
{
name: 'currentWinner',
type: 'publicKey',
},
{
name: 'winnerClaimed',
type: 'bool',
},
],
},
},
{
name: 'auction',
type: {
kind: 'struct',
fields: [
{
name: 'auctionAuthority',
type: 'publicKey',
},
{
name: 'auctionState',
type: {
defined: 'AuctionState',
},
},
{
name: 'totalBids',
type: 'u64',
},
{
name: 'lotsAmount',
type: 'u16',
},
{
name: 'endTime',
type: 'u64',
},
],
},
},
],
types: [
{
name: 'AuthorizationDataLocal',
type: {
kind: 'struct',
fields: [
{
name: 'payload',
type: {
vec: {
defined: 'TaggedPayload',
},
},
},
],
},
},
{
name: 'TaggedPayload',
type: {
kind: 'struct',
fields: [
{
name: 'name',
type: 'string',
},
{
name: 'payload',
type: {
defined: 'PayloadTypeLocal',
},
},
],
},
},
{
name: 'SeedsVecLocal',
type: {
kind: 'struct',
fields: [
{
name: 'seeds',
type: {
vec: 'bytes',
},
},
],
},
},
{
name: 'ProofInfoLocal',
type: {
kind: 'struct',
fields: [
{
name: 'proof',
type: {
vec: {
array: ['u8', 32],
},
},
},
],
},
},
{
name: 'AuctionState',
type: {
kind: 'enum',
variants: [
{
name: 'Initializing',
},
{
name: 'Active',
},
],
},
},
{
name: 'PayloadTypeLocal',
type: {
kind: 'enum',
variants: [
{
name: 'Pubkey',
fields: ['publicKey'],
},
{
name: 'Seeds',
fields: [
{
defined: 'SeedsVecLocal',
},
],
},
{
name: 'MerkleProof',
fields: [
{
defined: 'ProofInfoLocal',
},
],
},
{
name: 'Number',
fields: ['u64'],
},
],
},
},
],
errors: [
{
code: 6000,
name: 'OnlyAdminCanInitializeAuction',
msg: 'OnlyAdminCanInitializeAuction',
},
{
code: 6001,
name: 'OnlyAuctionAuthorityCanAddLots',
msg: 'OnlyAuctionAuthorityCanAddLots',
},
{
code: 6002,
name: 'MaxLotsAmountExceeded',
msg: 'MaxLotsAmountExceeded',
},
{
code: 6003,
name: 'CanAddLotsOnlyToInitializingAuction',
msg: 'CanAddLotsOnlyToInitializingAuction',
},
{
code: 6004,
name: 'OnlyAuctionAuthorityCanStartAuction',
msg: 'OnlyAuctionAuthorityCanStartAuction',
},
{
code: 6005,
name: 'CanBidOnlyToActiveAuction',
msg: 'CanBidOnlyToActiveAuction',
},
{
code: 6006,
name: 'AuctionAlreadyFinished',
msg: 'AuctionAlreadyFinished',
},
{
code: 6007,
name: 'TooSmallBid',
msg: 'TooSmallBid',
},
{
code: 6008,
name: 'IncorrectCurrentWinner',
msg: 'IncorrectCurrentWinner',
},
{
code: 6009,
name: 'CurrentWinnerCantBid',
msg: 'CurrentWinnerCantBid',
},
{
code: 6010,
name: 'AuctionNotYetFinished',
msg: 'AuctionNotYetFinished',
},
{
code: 6011,
name: 'AuctionNotStarted',
msg: 'AuctionNotStarted',
},
{
code: 6012,
name: 'OnlyWinnerCanClaimNft',
msg: 'OnlyWinnerCanClaimNft',
},
{
code: 6013,
name: 'OnlyAuctionAuthorityCanCloseLots',
msg: 'OnlyAuctionAuthorityCanCloseLots',
},
{
code: 6014,
name: 'CanCloseOnlyClaimedLots',
msg: 'CanCloseOnlyClaimedLots',
},
{
code: 6015,
name: 'OnlyAuctionAuthorityCanClaimProfit',
msg: 'OnlyAuctionAuthorityCanClaimProfit',
},
{
code: 6016,
name: 'InvalidHadesMintAddress',
msg: 'InvalidHadesMintAddress',
},
{
code: 6017,
name: 'AuctionStartTimeTooLow',
msg: 'AuctionStartTimeTooLow',
},
{
code: 6018,
name: 'BadRuleSet',
msg: 'BadRuleSet',
},
],
};