hadeswap-sdk-public
Version:
HadeSwap SDK for interacting with protocol
805 lines (804 loc) • 23 kB
JSON
{
"version": "0.1.0",
"name": "hadeswap",
"instructions": [
{
"name": "initializePair",
"accounts": [
{
"name": "pair",
"isMut": true,
"isSigner": true
},
{
"name": "user",
"isMut": true,
"isSigner": true
},
{
"name": "validationAdapterProgram",
"isMut": false,
"isSigner": false
},
{
"name": "pairAuthorityAdapterProgram",
"isMut": false,
"isSigner": false
},
{
"name": "partialAdapterProgram",
"isMut": false,
"isSigner": false
},
{
"name": "partialAssetReceiver",
"isMut": false,
"isSigner": false
},
{
"name": "pairTokenMint",
"isMut": false,
"isSigner": false
},
{
"name": "feeSolVault",
"isMut": false,
"isSigner": false
},
{
"name": "feeTokenAccount",
"isMut": false,
"isSigner": false
},
{
"name": "assetReceiver",
"isMut": false,
"isSigner": false
},
{
"name": "fundsSolVault",
"isMut": false,
"isSigner": false
},
{
"name": "fundsTokenAccount",
"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"
}
}
],
"returns": null
}
],
"accounts": [
{
"name": "AdapterWhitelist",
"type": {
"kind": "struct",
"fields": [
{
"name": "whitelistedAdapterProgram",
"type": "publicKey"
},
{
"name": "adapterType",
"type": {
"defined": "AdapterType"
}
}
]
}
},
{
"name": "AuthorityAdapter",
"type": {
"kind": "struct",
"fields": [
{
"name": "pair",
"type": "publicKey"
},
{
"name": "authorityAdapterProgram",
"type": "publicKey"
},
{
"name": "authorityOwner",
"type": "publicKey"
},
{
"name": "authorityType",
"type": {
"defined": "AuthorityType"
}
},
{
"name": "expiringAt",
"type": "u64"
},
{
"name": "authorityState",
"type": {
"defined": "AuthorityState"
}
}
]
}
},
{
"name": "ClassicValidationWhitelist",
"type": {
"kind": "struct",
"fields": [
{
"name": "pair",
"type": "publicKey"
},
{
"name": "whitelistType",
"type": {
"defined": "WhitelistType"
}
},
{
"name": "whitelistedAddress",
"type": "publicKey"
}
]
}
},
{
"name": "NftPairBox",
"type": {
"kind": "struct",
"fields": [
{
"name": "pair",
"type": "publicKey"
},
{
"name": "nftMint",
"type": "publicKey"
},
{
"name": "nftMetadata",
"type": "publicKey"
},
{
"name": "nftBoxType",
"type": {
"defined": "NftBoxType"
}
},
{
"name": "tokenAccount",
"type": "publicKey"
},
{
"name": "status",
"type": {
"defined": "NftBoxState"
}
}
]
}
},
{
"name": "NftSwapPair",
"type": {
"kind": "struct",
"fields": [
{
"name": "pairType",
"type": {
"defined": "PairType"
}
},
{
"name": "pairState",
"type": {
"defined": "PairState"
}
},
{
"name": "pairValidationType",
"type": {
"defined": "PairValidationType"
}
},
{
"name": "validationAdapterProgram",
"type": "publicKey"
},
{
"name": "pairAuthorityType",
"type": {
"defined": "PairAuthorityType"
}
},
{
"name": "pairAuthorityAdapterProgram",
"type": "publicKey"
},
{
"name": "partialSettings",
"type": {
"defined": "PartialSettings"
}
},
{
"name": "partialAdapterProgram",
"type": "publicKey"
},
{
"name": "partialAssetReceiver",
"type": "publicKey"
},
{
"name": "bondingCurve",
"type": {
"defined": "BondingCurve"
}
},
{
"name": "spotPrice",
"type": "u64"
},
{
"name": "fee",
"type": "u64"
},
{
"name": "pairTokenType",
"type": {
"defined": "PairTokenType"
}
},
{
"name": "pairTokenMint",
"type": "publicKey"
},
{
"name": "feeTokenAccount",
"type": "publicKey"
},
{
"name": "feeSolVault",
"type": "publicKey"
},
{
"name": "feeVaultSeed",
"type": "u8"
},
{
"name": "solOrTokenFeeAmount",
"type": "u64"
},
{
"name": "fundsTokenAccount",
"type": "publicKey"
},
{
"name": "fundsSolVault",
"type": "publicKey"
},
{
"name": "fundsSolVaultSeed",
"type": "u8"
},
{
"name": "fundsSolOrTokenAmount",
"type": "u64"
},
{
"name": "nftsOwner",
"type": "publicKey"
},
{
"name": "nftSeed",
"type": "u8"
},
{
"name": "nftsCount",
"type": "u64"
},
{
"name": "assetReceiver",
"type": "publicKey"
}
]
}
},
{
"name": "NftValidationAdapter",
"type": {
"kind": "struct",
"fields": [
{
"name": "pair",
"type": "publicKey"
},
{
"name": "nftValidationProgram",
"type": "publicKey"
},
{
"name": "nftMint",
"type": "publicKey"
},
{
"name": "nftValidationType",
"type": {
"defined": "NftValidationType"
}
},
{
"name": "validUntil",
"type": "u64"
}
]
}
},
{
"name": "ProtocolAdminMultisig",
"type": {
"kind": "struct",
"fields": [
{
"name": "protocolSettings",
"type": "publicKey"
},
{
"name": "admin",
"type": "publicKey"
},
{
"name": "weight",
"type": "u64"
}
]
}
},
{
"name": "ProtocolSettingsV1",
"type": {
"kind": "struct",
"fields": [
{
"name": "protocolFee",
"type": "u64"
},
{
"name": "protocolFeeMultiplier",
"type": "u64"
},
{
"name": "maxFee",
"type": "u64"
},
{
"name": "protocolFeeReceiver",
"type": "publicKey"
},
{
"name": "adminThresholdAmountMultisig",
"type": "u64"
}
]
}
}
],
"types": [
{
"name": "PairParams",
"type": {
"kind": "struct",
"fields": [
{
"name": "delta",
"type": "u64"
},
{
"name": "spotPrice",
"type": "u64"
},
{
"name": "fee",
"type": "u64"
},
{
"name": "bondingType",
"type": {
"defined": "BondingCurveType"
}
},
{
"name": "pairType",
"type": {
"defined": "PairType"
}
}
]
}
},
{
"name": "PairBumps",
"type": {
"kind": "struct",
"fields": [
{
"name": "solVaultSeed",
"type": "u8"
},
{
"name": "feeVaultSeed",
"type": "u8"
},
{
"name": "nftsSeed",
"type": "u8"
}
]
}
},
{
"name": "BondingCurve",
"type": {
"kind": "struct",
"fields": [
{
"name": "delta",
"type": "u64"
},
{
"name": "bondingType",
"type": {
"defined": "BondingCurveType"
}
}
]
}
},
{
"name": "AdapterType",
"type": {
"kind": "enum",
"variants": [
{
"name": "Validation"
},
{
"name": "Authority"
},
{
"name": "Partial"
}
]
}
},
{
"name": "AuthorityType",
"type": {
"kind": "enum",
"variants": [
{
"name": "OneTime"
},
{
"name": "Persistent"
}
]
}
},
{
"name": "AuthorityState",
"type": {
"kind": "enum",
"variants": [
{
"name": "Active"
},
{
"name": "Used"
},
{
"name": "Expired"
},
{
"name": "Revoked"
}
]
}
},
{
"name": "WhitelistType",
"type": {
"kind": "enum",
"variants": [
{
"name": "Creator"
},
{
"name": "Nft"
}
]
}
},
{
"name": "NftBoxState",
"type": {
"kind": "enum",
"variants": [
{
"name": "Closed"
},
{
"name": "Active"
}
]
}
},
{
"name": "NftBoxType",
"type": {
"kind": "enum",
"variants": [
{
"name": "Escrow"
},
{
"name": "Escrowless"
}
]
}
},
{
"name": "PairType",
"type": {
"kind": "enum",
"variants": [
{
"name": "TokenForNFT"
},
{
"name": "NFTForToken"
},
{
"name": "LiquidityProvision"
}
]
}
},
{
"name": "PairState",
"type": {
"kind": "enum",
"variants": [
{
"name": "Initializing"
},
{
"name": "OnMarket"
},
{
"name": "Frozen"
}
]
}
},
{
"name": "PairValidationType",
"type": {
"kind": "enum",
"variants": [
{
"name": "ClassicValidation"
},
{
"name": "CustomValidation"
}
]
}
},
{
"name": "PairAuthorityType",
"type": {
"kind": "enum",
"variants": [
{
"name": "ClassicAuthority"
},
{
"name": "CustomAuthority"
}
]
}
},
{
"name": "PartialSettings",
"type": {
"kind": "enum",
"variants": [
{
"name": "None"
},
{
"name": "CustomPartial"
}
]
}
},
{
"name": "PairTokenType",
"type": {
"kind": "enum",
"variants": [
{
"name": "NativeSol"
},
{
"name": "Spl"
}
]
}
},
{
"name": "BondingCurveType",
"type": {
"kind": "enum",
"variants": [
{
"name": "Linear"
},
{
"name": "Exponential"
}
]
}
},
{
"name": "NftValidationType",
"type": {
"kind": "enum",
"variants": [
{
"name": "Finite"
},
{
"name": "Infinite"
}
]
}
}
],
"errors": [
{
"code": 6000,
"name": "MetadataDoesntExist",
"msg": "MetadataDoesntExist"
},
{
"code": 6001,
"name": "DerivedKeyInvalid",
"msg": "DerivedKeyInvalid"
},
{
"code": 6002,
"name": "InvalidCollectionDetails",
"msg": "InvalidCollectionDetails"
},
{
"code": 6003,
"name": "InvalidCollection",
"msg": "InvalidCollection"
},
{
"code": 6004,
"name": "InvalidCollectionMint",
"msg": "InvalidCollectionMint"
},
{
"code": 6005,
"name": "NftNotVerified",
"msg": "NftNotVerified"
},
{
"code": 6006,
"name": "InvalidOwner",
"msg": "InvalidOwner"
},
{
"code": 6007,
"name": "InvalidDelta",
"msg": "InvalidDelta"
},
{
"code": 6008,
"name": "InvalidFee",
"msg": "InvalidFee"
},
{
"code": 6009,
"name": "InvalidPairType",
"msg": "InvalidPairType"
},
{
"code": 6010,
"name": "NotEnoughInTokenAccount",
"msg": "NotEnoughInTokenAccount"
},
{
"code": 6011,
"name": "InvalidMint",
"msg": "InvalidMint"
},
{
"code": 6012,
"name": "InvalidSolVault",
"msg": "InvalidSolVault"
},
{
"code": 6013,
"name": "InvalidFundingAmount",
"msg": "InvalidFundingAmount"
},
{
"code": 6014,
"name": "NotEnoughLamports",
"msg": "NotEnoughLamports"
},
{
"code": 6015,
"name": "InvalidJpegOwner",
"msg": "InvalidJpegOwner"
},
{
"code": 6016,
"name": "InvalidTokenAccount",
"msg": "InvalidTokenAccount"
},
{
"code": 6017,
"name": "InvalidPayer",
"msg": "InvalidPayer"
},
{
"code": 6018,
"name": "ShouldBeActive",
"msg": "ShouldBeActive"
}
]
}