UNPKG

hadeswap-sdk-public

Version:

HadeSwap SDK for interacting with protocol

1,720 lines (1,719 loc) 106 kB
export declare type Hadeswap = { version: '0.1.0'; name: 'hadeswap'; instructions: [ { name: 'initializePair'; accounts: [ { name: 'pair'; isMut: true; isSigner: true; }, { name: 'hadoMarket'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'pairAuthorityAdapterProgram'; isMut: false; isSigner: false; }, { name: 'partialAdapterProgram'; isMut: false; isSigner: false; }, { name: 'partialAssetReceiver'; isMut: false; isSigner: false; }, { name: 'feeSolVault'; isMut: true; isSigner: false; }, { name: 'feeTokenAccount'; isMut: false; isSigner: false; }, { name: 'fundsSolVault'; isMut: true; isSigner: false; }, { name: 'fundsTokenAccount'; isMut: false; isSigner: false; }, { name: 'assetReceiver'; isMut: false; isSigner: false; }, { name: 'assetReceiverTokenAccount'; isMut: false; isSigner: false; }, { name: 'nftsOwner'; isMut: false; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; } ]; args: [ { name: 'bumps'; type: { defined: 'PairBumps'; }; }, { name: 'params'; type: { defined: 'PairParams'; }; }, { name: 'bondingCurveType'; type: { defined: 'BondingCurveType'; }; }, { name: 'pairType'; type: { defined: 'PairType'; }; } ]; returns: undefined; }, { name: 'createClassicAuthorityAdapter'; accounts: [ { name: 'authorityAdapter'; isMut: true; isSigner: true; }, { name: 'pair'; isMut: true; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; } ]; args: []; returns: undefined; }, { name: 'depositSolToPair'; accounts: [ { name: 'pair'; isMut: true; isSigner: false; }, { name: 'authorityAdapter'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'fundsSolVault'; isMut: true; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; } ]; args: [ { name: 'amountOfOrders'; type: 'u64'; } ]; returns: undefined; }, { name: 'validateNft'; accounts: [ { name: 'nftValidationAdapter'; isMut: true; isSigner: true; }, { name: 'validationWhitelist'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; } ]; args: []; returns: undefined; }, { name: 'depositNftToPair'; accounts: [ { name: 'nftPairBox'; isMut: true; isSigner: true; }, { name: 'pair'; isMut: true; isSigner: false; }, { name: 'authorityAdapter'; isMut: false; isSigner: false; }, { name: 'nftValidationAdapter'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'nftsOwner'; isMut: false; isSigner: false; }, { name: 'nftMint'; isMut: true; 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: 'metadataProgram'; isMut: false; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; }, { name: 'metadataInfo'; isMut: true; isSigner: false; }, { name: 'editionInfo'; isMut: false; isSigner: false; }, { name: 'ownerTokenRecord'; isMut: true; isSigner: false; }, { name: 'destTokenRecord'; isMut: true; isSigner: false; }, { name: 'instructions'; isMut: false; isSigner: false; }, { name: 'authorizationRulesProgram'; isMut: false; isSigner: false; } ]; args: [ { name: 'proof'; type: { vec: { array: ['u8', 32]; }; }; }, { name: 'authorizationData'; type: { option: { defined: 'AuthorizationDataLocal'; }; }; } ]; returns: undefined; }, { name: 'initializeHadoMarket'; accounts: [ { name: 'hadoMarket'; isMut: true; isSigner: true; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'validationAdapterProgram'; isMut: false; isSigner: false; }, { name: 'pairTokenMint'; isMut: false; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; } ]; args: []; returns: undefined; }, { name: 'finishHadoMarket'; accounts: [ { name: 'hadoMarket'; isMut: true; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; } ]; args: []; returns: undefined; }, { name: 'addClassicWhitelistToMarket'; accounts: [ { name: 'validationWhitelist'; isMut: true; isSigner: true; }, { name: 'hadoMarket'; isMut: true; isSigner: false; }, { name: 'whitelistedAddress'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; } ]; args: [ { name: 'whitelistType'; type: { defined: 'NftValidationWhitelistType'; }; } ]; returns: undefined; }, { name: 'depositLiquidityToPair'; accounts: [ { name: 'nftPairBox'; isMut: true; isSigner: true; }, { name: 'pair'; isMut: true; isSigner: false; }, { name: 'authorityAdapter'; isMut: false; isSigner: false; }, { name: 'nftValidationAdapter'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'fundsSolVault'; isMut: true; isSigner: false; }, { name: 'nftsOwner'; isMut: false; isSigner: false; }, { name: 'nftMint'; isMut: true; 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: 'metadataProgram'; isMut: false; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; }, { name: 'metadataInfo'; isMut: true; isSigner: false; }, { name: 'editionInfo'; isMut: false; isSigner: false; }, { name: 'ownerTokenRecord'; isMut: true; isSigner: false; }, { name: 'destTokenRecord'; isMut: true; isSigner: false; }, { name: 'instructions'; isMut: false; isSigner: false; }, { name: 'authorizationRulesProgram'; isMut: false; isSigner: false; } ]; args: [ { name: 'proof'; type: { vec: { array: ['u8', 32]; }; }; }, { name: 'authorizationData'; type: { option: { defined: 'AuthorizationDataLocal'; }; }; } ]; returns: undefined; }, { name: 'putPairOnMarket'; accounts: [ { name: 'pair'; isMut: true; isSigner: false; }, { name: 'authorityAdapter'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; } ]; args: []; returns: undefined; }, { name: 'buyNftFromPair'; accounts: [ { name: 'nftPairBox'; isMut: true; isSigner: false; }, { name: 'pair'; isMut: true; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'fundsSolVault'; isMut: true; isSigner: false; }, { name: 'nftsOwner'; isMut: false; isSigner: false; }, { name: 'feeSolVault'; isMut: true; isSigner: false; }, { name: 'nftMint'; isMut: true; isSigner: false; }, { name: 'vaultNftTokenAccount'; isMut: true; isSigner: false; }, { name: 'nftUserTokenAccount'; isMut: true; isSigner: false; }, { name: 'assetReceiver'; isMut: true; isSigner: false; }, { name: 'editionInfo'; isMut: false; isSigner: false; }, { name: 'metadataInfo'; isMut: true; isSigner: false; }, { name: 'ownerTokenRecord'; isMut: true; isSigner: false; }, { name: 'destTokenRecord'; isMut: true; isSigner: false; }, { name: 'instructions'; isMut: false; isSigner: false; }, { name: 'authorizationRulesProgram'; isMut: false; isSigner: false; }, { name: 'protocolFeeReceiver'; 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; }, { name: 'metadataProgram'; isMut: false; isSigner: false; } ]; args: [ { name: 'maxAmountToPay'; type: 'u64'; }, { name: 'skipFailed'; type: 'bool'; }, { name: 'authorizationData'; type: { option: { defined: 'AuthorizationDataLocal'; }; }; } ]; returns: undefined; }, { name: 'sellNftToTokenToNftPair'; accounts: [ { name: 'pair'; isMut: true; isSigner: false; }, { name: 'nftValidationAdapter'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'nftMint'; isMut: true; isSigner: false; }, { name: 'assetReceiverTokenAccount'; isMut: true; isSigner: false; }, { name: 'nftUserTokenAccount'; isMut: true; isSigner: false; }, { name: 'assetReceiver'; isMut: true; isSigner: false; }, { name: 'fundsSolVault'; isMut: true; isSigner: false; }, { name: 'protocolFeeReceiver'; 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; }, { name: 'metadataInfo'; isMut: true; isSigner: false; }, { name: 'editionInfo'; isMut: false; isSigner: false; }, { name: 'ownerTokenRecord'; isMut: true; isSigner: false; }, { name: 'destTokenRecord'; isMut: true; isSigner: false; }, { name: 'instructions'; isMut: false; isSigner: false; }, { name: 'authorizationRulesProgram'; isMut: false; isSigner: false; }, { name: 'metadataProgram'; isMut: false; isSigner: false; } ]; args: [ { name: 'minAmountToGet'; type: 'u64'; }, { name: 'skipFailed'; type: 'bool'; }, { name: 'proof'; type: { vec: { array: ['u8', 32]; }; }; }, { name: 'authorizationData'; type: { option: { defined: 'AuthorizationDataLocal'; }; }; } ]; returns: undefined; }, { name: 'sellNftToLiquidityPair'; accounts: [ { name: 'nftPairBox'; isMut: true; isSigner: true; }, { name: 'pair'; isMut: true; isSigner: false; }, { name: 'nftValidationAdapter'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'nftMint'; isMut: true; isSigner: false; }, { name: 'nftsOwner'; isMut: false; isSigner: false; }, { name: 'feeSolVault'; isMut: true; isSigner: false; }, { name: 'newVaultTokenAccount'; isMut: true; isSigner: false; }, { name: 'nftUserTokenAccount'; isMut: true; isSigner: false; }, { name: 'fundsSolVault'; isMut: true; isSigner: false; }, { name: 'ownerTokenRecord'; isMut: true; isSigner: false; }, { name: 'destTokenRecord'; isMut: true; isSigner: false; }, { name: 'instructions'; isMut: false; isSigner: false; }, { name: 'authorizationRulesProgram'; isMut: false; isSigner: false; }, { name: 'protocolFeeReceiver'; 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; }, { name: 'metadataInfo'; isMut: true; isSigner: false; }, { name: 'editionInfo'; isMut: false; isSigner: false; }, { name: 'metadataProgram'; isMut: false; isSigner: false; } ]; args: [ { name: 'minAmountToGet'; type: 'u64'; }, { name: 'skipFailed'; type: 'bool'; }, { name: 'proof'; type: { vec: { array: ['u8', 32]; }; }; }, { name: 'authorizationData'; type: { option: { defined: 'AuthorizationDataLocal'; }; }; } ]; returns: undefined; }, { name: 'withdrawSolFromPair'; accounts: [ { name: 'pair'; isMut: true; isSigner: false; }, { name: 'authorityAdapter'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'fundsSolVault'; isMut: true; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; } ]; args: [ { name: 'quantityOfOrders'; type: 'u64'; } ]; returns: undefined; }, { name: 'withdrawNftFromPair'; accounts: [ { name: 'nftPairBox'; isMut: true; isSigner: false; }, { name: 'authorityAdapter'; isMut: false; isSigner: false; }, { name: 'pair'; isMut: true; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'nftsOwner'; isMut: false; isSigner: false; }, { name: 'nftMint'; isMut: true; isSigner: false; }, { name: 'vaultNftTokenAccount'; isMut: true; isSigner: false; }, { name: 'nftUserTokenAccount'; isMut: true; isSigner: false; }, { name: 'editionInfo'; isMut: false; isSigner: false; }, { name: 'metadataInfo'; isMut: true; isSigner: false; }, { name: 'ownerTokenRecord'; isMut: true; isSigner: false; }, { name: 'destTokenRecord'; isMut: true; isSigner: false; }, { name: 'instructions'; isMut: false; isSigner: false; }, { name: 'authorizationRulesProgram'; isMut: false; 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; }, { name: 'metadataProgram'; isMut: false; isSigner: false; } ]; args: [ { name: 'authorizationData'; type: { option: { defined: 'AuthorizationDataLocal'; }; }; } ]; returns: undefined; }, { name: 'withdrawLiquidityFromBalancedPair'; accounts: [ { name: 'nftPairBox'; isMut: true; isSigner: false; }, { name: 'authorityAdapter'; isMut: false; isSigner: false; }, { name: 'pair'; isMut: true; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'fundsSolVault'; isMut: true; isSigner: false; }, { name: 'feeSolVault'; isMut: true; isSigner: false; }, { name: 'nftsOwner'; isMut: false; isSigner: false; }, { name: 'nftMint'; isMut: true; isSigner: false; }, { name: 'vaultNftTokenAccount'; isMut: true; isSigner: false; }, { name: 'editionInfo'; isMut: false; isSigner: false; }, { name: 'metadataInfo'; isMut: true; isSigner: false; }, { name: 'ownerTokenRecord'; isMut: true; isSigner: false; }, { name: 'destTokenRecord'; isMut: true; isSigner: false; }, { name: 'instructions'; isMut: false; isSigner: false; }, { name: 'authorizationRulesProgram'; isMut: false; isSigner: false; }, { name: 'nftUserTokenAccount'; 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; }, { name: 'metadataProgram'; isMut: false; isSigner: false; } ]; args: [ { name: 'authorizationData'; type: { option: { defined: 'AuthorizationDataLocal'; }; }; } ]; returns: undefined; }, { name: 'modifyPair'; accounts: [ { name: 'pair'; isMut: true; isSigner: false; }, { name: 'authorityAdapter'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'fundsSolVault'; isMut: true; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; } ]; args: [ { name: 'params'; type: { defined: 'PairParams'; }; } ]; returns: undefined; }, { name: 'withdrawLiquidityFromBuyOrdersPair'; accounts: [ { name: 'authorityAdapter'; isMut: false; isSigner: false; }, { name: 'pair'; isMut: true; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'fundsSolVault'; isMut: true; isSigner: false; }, { name: 'feeSolVault'; isMut: true; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; } ]; args: []; returns: undefined; }, { name: 'withdrawLiquidityFromSellOrdersPair'; accounts: [ { name: 'nftPairBoxFirst'; isMut: true; isSigner: false; }, { name: 'nftMintFirst'; isMut: true; isSigner: false; }, { name: 'vaultNftTokenAccountFirst'; isMut: true; isSigner: false; }, { name: 'nftUserTokenAccountFirst'; isMut: true; isSigner: false; }, { name: 'nftPairBoxSecond'; isMut: true; isSigner: false; }, { name: 'editionInfoFirst'; isMut: false; isSigner: false; }, { name: 'metadataInfoFirst'; isMut: true; isSigner: false; }, { name: 'ownerTokenRecordFirst'; isMut: false; isSigner: false; }, { name: 'destTokenRecordFirst'; isMut: false; isSigner: false; }, { name: 'editionInfoSecond'; isMut: false; isSigner: false; }, { name: 'metadataInfoSecond'; isMut: true; isSigner: false; }, { name: 'ownerTokenRecordSecond'; isMut: false; isSigner: false; }, { name: 'destTokenRecordSecond'; isMut: false; isSigner: false; }, { name: 'instructions'; isMut: false; isSigner: false; }, { name: 'authorizationRulesProgram'; isMut: false; isSigner: false; }, { name: 'nftMintSecond'; isMut: true; isSigner: false; }, { name: 'vaultNftTokenAccountSecond'; isMut: true; isSigner: false; }, { name: 'nftUserTokenAccountSecond'; isMut: true; isSigner: false; }, { name: 'authorityAdapter'; isMut: false; isSigner: false; }, { name: 'pair'; isMut: true; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'nftsOwner'; isMut: false; isSigner: false; }, { name: 'feeSolVault'; 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; }, { name: 'metadataProgram'; isMut: false; isSigner: false; } ]; args: []; returns: undefined; }, { name: 'withdrawLiquidityOrderVirtualFees'; accounts: [ { name: 'liquidityProvisionOrder'; isMut: true; isSigner: false; }, { name: 'pair'; isMut: true; isSigner: false; }, { name: 'authorityAdapter'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'feeSolVault'; isMut: true; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; } ]; args: []; returns: undefined; }, { name: 'closeVirtualNftSwapPair'; accounts: [ { name: 'pair'; isMut: true; isSigner: false; }, { name: 'authorityAdapter'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'fundsSolVault'; isMut: true; isSigner: false; }, { name: 'feeSolVault'; isMut: true; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; } ]; args: []; returns: undefined; }, { name: 'withdrawVirtualFees'; accounts: [ { name: 'pair'; isMut: true; isSigner: false; }, { name: 'authorityAdapter'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'feeSolVault'; isMut: true; isSigner: false; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, { name: 'rent'; isMut: false; isSigner: false; } ]; args: []; returns: undefined; }, { name: 'closeNftPairBox'; accounts: [ { name: 'nftPairBox'; isMut: true; isSigner: false; }, { name: 'admin'; isMut: true; isSigner: true; } ]; args: []; returns: undefined; }, { name: 'closeLiquidityProvisionOrder'; accounts: [ { name: 'liquidityProvisionOrder'; isMut: true; isSigner: false; }, { name: 'admin'; isMut: true; isSigner: true; } ]; args: []; returns: undefined; }, { name: 'customValidateNft'; accounts: [ { name: 'nftValidationAdapter'; isMut: true; isSigner: true; }, { name: 'hadoMarket'; isMut: false; isSigner: false; }, { name: 'pair'; isMut: false; isSigner: false; }, { name: 'whitelistedAddress'; isMut: false; isSigner: false; }, { name: 'user'; isMut: true; isSigner: true; }, { name: 'adapterProgramSigner'; isMut: true; isSigner: true; }, { name: 'systemProgram'; isMut: false; isSigner: false; }, {