hadeswap-sdk
Version:
HadeSwap SDK for interacting with protocol
718 lines (717 loc) • 20.1 kB
TypeScript
export declare type Auction = {
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';
}
];
};
export declare const IDL: Auction;