{
"idlContentHash": "arete:h1:idl-content:sha256:011636097994eff2f0109f04ed205cde03ab1008654a1398786073bc0b6391dc",
"idlSnapshot": {
"accounts": [
{
"discriminator": [],
"docs": [
"arete.account_untagged=true"
],
"fields": [
{
"name": "mint_authority",
"type": {
"defined": "COptionPublicKey"
}
},
{
"name": "supply",
"type": "u64"
},
{
"name": "decimals",
"type": "u8"
},
{
"name": "is_initialized",
"type": "bool"
},
{
"name": "freeze_authority",
"type": {
"defined": "COptionPublicKey"
}
}
],
"name": "Mint",
"serialization": null
},
{
"discriminator": [],
"docs": [
"arete.account_untagged=true"
],
"fields": [
{
"name": "mint",
"type": "publicKey"
},
{
"name": "owner",
"type": "publicKey"
},
{
"name": "amount",
"type": "u64"
},
{
"name": "delegate",
"type": {
"defined": "COptionPublicKey"
}
},
{
"name": "state",
"type": "u8"
},
{
"name": "is_native",
"type": {
"defined": "COptionU64"
}
},
{
"name": "delegated_amount",
"type": "u64"
},
{
"name": "close_authority",
"type": {
"defined": "COptionPublicKey"
}
}
],
"name": "Account",
"serialization": null
},
{
"discriminator": [],
"docs": [
"arete.account_untagged=true"
],
"fields": [
{
"name": "m",
"type": "u8"
},
{
"name": "n",
"type": "u8"
},
{
"name": "is_initialized",
"type": "bool"
},
{
"name": "signers",
"type": {
"array": [
"publicKey",
11
]
}
}
],
"name": "Multisig",
"serialization": null
}
],
"discriminant_size": 1,
"errors": [
{
"code": 0,
"msg": "Lamport balance below rent-exempt threshold",
"name": "NotRentExempt"
},
{
"code": 1,
"msg": "Insufficient funds for the operation requested.",
"name": "InsufficientFunds"
},
{
"code": 2,
"msg": "Invalid Mint",
"name": "InvalidMint"
},
{
"code": 3,
"msg": "Account not associated with this Mint",
"name": "MintMismatch"
},
{
"code": 4,
"msg": "Owner does not match",
"name": "OwnerMismatch"
},
{
"code": 5,
"msg": "This token's supply is fixed and new tokens cannot be minted.",
"name": "FixedSupply"
},
{
"code": 6,
"msg": "The account cannot be initialized because it is already being used.",
"name": "AlreadyInUse"
},
{
"code": 7,
"msg": "Invalid number of provided signers",
"name": "InvalidNumberOfProvidedSigners"
},
{
"code": 8,
"msg": "Invalid number of required signers",
"name": "InvalidNumberOfRequiredSigners"
},
{
"code": 9,
"msg": "State is unititialized",
"name": "UninitializedState"
},
{
"code": 10,
"msg": "Instruction does not support native tokens",
"name": "NativeNotSupported"
},
{
"code": 11,
"msg": "Non-native account can only be closed if its balance is zero",
"name": "NonNativeHasBalance"
},
{
"code": 12,
"msg": "Invalid instruction",
"name": "InvalidInstruction"
},
{
"code": 13,
"msg": "State is invalid for requested operation",
"name": "InvalidState"
},
{
"code": 14,
"msg": "Operation overflowed",
"name": "Overflow"
},
{
"code": 15,
"msg": "Account does not support specified authority type",
"name": "AuthorityTypeNotSupported"
},
{
"code": 16,
"msg": "This token mint cannot freeze accounts",
"name": "MintCannotFreeze"
},
{
"code": 17,
"msg": "Account is frozen; all account operations will fail",
"name": "AccountFrozen"
},
{
"code": 18,
"msg": "The provided decimals value different from the Mint decimals",
"name": "MintDecimalsMismatch"
},
{
"code": 19,
"msg": "Instruction does not support non-native tokens",
"name": "NonNativeNotSupported"
}
],
"events": [],
"instructions": [
{
"accounts": [
{
"address": null,
"docs": [
"The mint to initialize."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"Rent sysvar."
],
"name": "$(SysVarRentPubkey)",
"optional": false,
"signer": false,
"writable": false
}
],
"args": [
{
"name": "decimals",
"type": "u8"
},
{
"name": "mint_authority",
"type": "publicKey"
},
{
"name": "freeze_authority",
"type": {
"option": "publicKey"
}
}
],
"discriminant": {
"type": "u8",
"value": 0
},
"discriminator": [
0
],
"docs": [
"Initializes a new mint and optionally deposits all the newly minted",
"tokens in an account.",
"",
"The `InitializeMint` instruction requires no signers and MUST be",
"included within the same Transaction as the system program's",
"`CreateAccount` instruction that creates the account being initialized.",
"Otherwise another party can acquire ownership of the uninitialized",
"account."
],
"name": "InitializeMint"
},
{
"accounts": [
{
"address": null,
"docs": [
"The account to initialize."
],
"name": "account",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The mint this account will be associated with."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": false
},
{
"address": null,
"docs": [
"The new account's owner/multisignature."
],
"name": "owner",
"optional": false,
"signer": false,
"writable": false
},
{
"address": null,
"docs": [
"Rent sysvar."
],
"name": "$(SysVarRentPubkey)",
"optional": false,
"signer": false,
"writable": false
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 1
},
"discriminator": [
1
],
"docs": [
"Initializes a new account to hold tokens. If this account is associated",
"with the native mint then the token balance of the initialized account",
"will be equal to the amount of SOL in the account. If this account is",
"associated with another mint, that mint must be initialized before this",
"command can succeed.",
"",
"The `InitializeAccount` instruction requires no signers and MUST be",
"included within the same Transaction as the system program's",
"`CreateAccount` instruction that creates the account being initialized.",
"Otherwise another party can acquire ownership of the uninitialized",
"account."
],
"name": "InitializeAccount"
},
{
"accounts": [
{
"address": null,
"docs": [
"The multisignature account to initialize."
],
"name": "account",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"Rent sysvar."
],
"name": "$(SysVarRentPubkey)",
"optional": false,
"signer": false,
"writable": false
},
{
"address": null,
"docs": [
"..2+N The signer accounts, must equal to N where 1 <= N <=11"
],
"name": "signers",
"optional": false,
"signer": false,
"writable": false
}
],
"args": [
{
"name": "m",
"type": "u8"
}
],
"discriminant": {
"type": "u8",
"value": 2
},
"discriminator": [
2
],
"docs": [
"Initializes a multisignature account with N provided signers.",
"",
"Multisignature accounts can used in place of any single owner/delegate",
"accounts in any token instruction that require an owner/delegate to be",
"present. The variant field represents the number of signers (M)",
"required to validate this multisignature account.",
"",
"The `InitializeMultisig` instruction requires no signers and MUST be",
"included within the same Transaction as the system program's",
"`CreateAccount` instruction that creates the account being initialized.",
"Otherwise another party can acquire ownership of the uninitialized",
"account."
],
"name": "InitializeMultisig"
},
{
"accounts": [
{
"address": null,
"docs": [
"The source account."
],
"name": "source",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The destination account."
],
"name": "destination",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The source account owner/delegate.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"name": "owner",
"optional": false,
"signer": true,
"writable": false
}
],
"args": [
{
"name": "amount",
"type": "u64"
}
],
"discriminant": {
"type": "u8",
"value": 3
},
"discriminator": [
3
],
"docs": [
"Transfers tokens from one account to another either directly or via a",
"delegate. If this account is associated with the native mint then equal",
"amounts of SOL and Tokens will be transferred to the destination",
"account."
],
"name": "Transfer"
},
{
"accounts": [
{
"address": null,
"docs": [
"The source account."
],
"name": "source",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The delegate."
],
"name": "delegate",
"optional": false,
"signer": false,
"writable": false
},
{
"address": null,
"docs": [
"The source account owner.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"name": "owner",
"optional": false,
"signer": true,
"writable": false
}
],
"args": [
{
"name": "amount",
"type": "u64"
}
],
"discriminant": {
"type": "u8",
"value": 4
},
"discriminator": [
4
],
"docs": [
"Approves a delegate. A delegate is given the authority over tokens on",
"behalf of the source account's owner."
],
"name": "Approve"
},
{
"accounts": [
{
"address": null,
"docs": [
"The source account."
],
"name": "source",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The source account's owner.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"name": "owner",
"optional": false,
"signer": true,
"writable": false
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 5
},
"discriminator": [
5
],
"docs": [
"Revokes the delegate's authority."
],
"name": "Revoke"
},
{
"accounts": [
{
"address": null,
"docs": [
"The mint or account to change the authority of."
],
"name": "subject",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The current authority of the mint or account.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"name": "authority",
"optional": false,
"signer": true,
"writable": false
}
],
"args": [
{
"name": "authority_type",
"type": {
"defined": "AuthorityType"
}
},
{
"name": "new_authority",
"type": {
"option": "publicKey"
}
}
],
"discriminant": {
"type": "u8",
"value": 6
},
"discriminator": [
6
],
"docs": [
"Sets a new authority of a mint or account."
],
"name": "SetAuthority"
},
{
"accounts": [
{
"address": null,
"docs": [
"The mint."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The account to mint tokens to."
],
"name": "destination",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The mint's minting authority.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"name": "authority",
"optional": false,
"signer": true,
"writable": false
}
],
"args": [
{
"amountHint": {
"decimalsSource": {
"accountName": "mint",
"kind": "knownAccount"
}
},
"name": "amount",
"type": "u64"
}
],
"discriminant": {
"type": "u8",
"value": 7
},
"discriminator": [
7
],
"docs": [
"Mints new tokens to an account. The native mint does not support",
"minting."
],
"name": "MintTo"
},
{
"accounts": [
{
"address": null,
"docs": [
"The account to burn from."
],
"name": "source",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The token mint."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The account's owner/delegate.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"name": "owner",
"optional": false,
"signer": true,
"writable": false
}
],
"args": [
{
"amountHint": {
"decimalsSource": {
"accountName": "mint",
"kind": "knownAccount"
}
},
"name": "amount",
"type": "u64"
}
],
"discriminant": {
"type": "u8",
"value": 8
},
"discriminator": [
8
],
"docs": [
"Burns tokens by removing them from an account. `Burn` does not support",
"accounts associated with the native mint, use `CloseAccount` instead."
],
"name": "Burn"
},
{
"accounts": [
{
"address": null,
"docs": [
"The account to close."
],
"name": "account",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The destination account."
],
"name": "destination",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The account's owner.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"name": "owner",
"optional": false,
"signer": true,
"writable": false
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 9
},
"discriminator": [
9
],
"docs": [
"Close an account by transferring all its SOL to the destination account.",
"Non-native accounts may only be closed if its token amount is zero."
],
"name": "CloseAccount"
},
{
"accounts": [
{
"address": null,
"docs": [
"The account to freeze."
],
"name": "account",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The token mint."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": false
},
{
"address": null,
"docs": [
"The mint freeze authority.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"name": "authority",
"optional": false,
"signer": true,
"writable": false
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 10
},
"discriminator": [
10
],
"docs": [
"Freeze an Initialized account using the Mint's freeze_authority (if set)."
],
"name": "FreezeAccount"
},
{
"accounts": [
{
"address": null,
"docs": [
"The account to thaw."
],
"name": "account",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The token mint."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": false
},
{
"address": null,
"docs": [
"The mint freeze authority.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"name": "authority",
"optional": false,
"signer": true,
"writable": false
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 11
},
"discriminator": [
11
],
"docs": [
"Thaw a Frozen account using the Mint's freeze_authority (if set)."
],
"name": "ThawAccount"
},
{
"accounts": [
{
"address": null,
"docs": [
"The source account."
],
"name": "source",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The token mint."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": false
},
{
"address": null,
"docs": [
"The destination account."
],
"name": "destination",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The source account's owner/delegate.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"name": "owner",
"optional": false,
"signer": true,
"writable": false
}
],
"args": [
{
"amountHint": {
"decimalsSource": {
"argName": "decimals",
"kind": "argDecimals"
}
},
"name": "amount",
"type": "u64"
},
{
"name": "decimals",
"type": "u8"
}
],
"discriminant": {
"type": "u8",
"value": 12
},
"discriminator": [
12
],
"docs": [
"Transfers tokens from one account to another either directly or via a",
"delegate. If this account is associated with the native mint then equal",
"amounts of SOL and Tokens will be transferred to the destination",
"account.",
"",
"This instruction differs from Transfer in that the token mint and",
"decimals value is checked by the caller. This may be useful when",
"creating transactions offline or within a hardware wallet."
],
"name": "TransferChecked"
},
{
"accounts": [
{
"address": null,
"docs": [
"The source account."
],
"name": "source",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The token mint."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": false
},
{
"address": null,
"docs": [
"The delegate."
],
"name": "delegate",
"optional": false,
"signer": false,
"writable": false
},
{
"address": null,
"docs": [
"The source account owner.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"name": "owner",
"optional": false,
"signer": true,
"writable": false
}
],
"args": [
{
"amountHint": {
"decimalsSource": {
"argName": "decimals",
"kind": "argDecimals"
}
},
"name": "amount",
"type": "u64"
},
{
"name": "decimals",
"type": "u8"
}
],
"discriminant": {
"type": "u8",
"value": 13
},
"discriminator": [
13
],
"docs": [
"Approves a delegate. A delegate is given the authority over tokens on",
"behalf of the source account's owner.",
"",
"This instruction differs from Approve in that the token mint and",
"decimals value is checked by the caller. This may be useful when",
"creating transactions offline or within a hardware wallet."
],
"name": "ApproveChecked"
},
{
"accounts": [
{
"address": null,
"docs": [
"The mint."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The account to mint tokens to."
],
"name": "destination",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The mint's minting authority.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"name": "authority",
"optional": false,
"signer": true,
"writable": false
}
],
"args": [
{
"amountHint": {
"decimalsSource": {
"argName": "decimals",
"kind": "argDecimals"
}
},
"name": "amount",
"type": "u64"
},
{
"name": "decimals",
"type": "u8"
}
],
"discriminant": {
"type": "u8",
"value": 14
},
"discriminator": [
14
],
"docs": [
"Mints new tokens to an account. The native mint does not support minting.",
"",
"This instruction differs from MintTo in that the decimals value is",
"checked by the caller. This may be useful when creating transactions",
"offline or within a hardware wallet."
],
"name": "MintToChecked"
},
{
"accounts": [
{
"address": null,
"docs": [
"The account to burn from."
],
"name": "source",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The token mint."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The account's owner/delegate.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"name": "owner",
"optional": false,
"signer": true,
"writable": false
}
],
"args": [
{
"amountHint": {
"decimalsSource": {
"argName": "decimals",
"kind": "argDecimals"
}
},
"name": "amount",
"type": "u64"
},
{
"name": "decimals",
"type": "u8"
}
],
"discriminant": {
"type": "u8",
"value": 15
},
"discriminator": [
15
],
"docs": [
"Burns tokens by removing them from an account. `BurnChecked` does not",
"support accounts associated with the native mint, use `CloseAccount`",
"instead.",
"",
"This instruction differs from Burn in that the decimals value is checked",
"by the caller. This may be useful when creating transactions offline or",
"within a hardware wallet."
],
"name": "BurnChecked"
},
{
"accounts": [
{
"address": null,
"docs": [
"The account to initialize."
],
"name": "account",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The mint this account will be associated with."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": false
},
{
"address": null,
"docs": [
"Rent sysvar."
],
"name": "$(SysVarRentPubkey)",
"optional": false,
"signer": false,
"writable": false
}
],
"args": [
{
"name": "owner",
"type": "publicKey"
}
],
"discriminant": {
"type": "u8",
"value": 16
},
"discriminator": [
16
],
"docs": [
"Like InitializeAccount, but the owner pubkey is passed via instruction data",
"rather than the accounts list. This variant may be preferable when using",
"Cross Program Invocation from an instruction that does not need the owner's",
"`AccountInfo` otherwise."
],
"name": "InitializeAccount2"
},
{
"accounts": [
{
"address": null,
"docs": [
"The native token account to sync with its underlying lamports."
],
"name": "tokenAccount",
"optional": false,
"signer": false,
"writable": true
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 17
},
"discriminator": [
17
],
"docs": [
"Given a wrapped / native token account (a token account containing SOL)",
"updates its amount field based on the account's underlying `lamports`.",
"This is useful if a non-wrapped SOL account uses `system_instruction::transfer`",
"to move lamports to a wrapped token account, and needs to have its token",
"`amount` field updated."
],
"name": "SyncNative"
},
{
"accounts": [
{
"address": null,
"docs": [
"The account to initialize."
],
"name": "account",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The mint this account will be associated with."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": false
}
],
"args": [
{
"name": "owner",
"type": "publicKey"
}
],
"discriminant": {
"type": "u8",
"value": 18
},
"discriminator": [
18
],
"docs": [
"Like InitializeAccount2, but does not require the Rent sysvar to be provided."
],
"name": "InitializeAccount3"
},
{
"accounts": [
{
"address": null,
"docs": [
"The multisignature account to initialize."
],
"name": "account",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The signer accounts, must equal to N where 1 <= N <= 11."
],
"name": "signers",
"optional": false,
"signer": false,
"writable": false
}
],
"args": [
{
"name": "m",
"type": "u8"
}
],
"discriminant": {
"type": "u8",
"value": 19
},
"discriminator": [
19
],
"docs": [
"Like InitializeMultisig, but does not require the Rent sysvar to be provided."
],
"name": "InitializeMultisig2"
},
{
"accounts": [
{
"address": null,
"docs": [
"The mint to initialize."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": true
}
],
"args": [
{
"name": "decimals",
"type": "u8"
},
{
"name": "mint_authority",
"type": "publicKey"
},
{
"name": "freeze_authority",
"type": {
"option": "publicKey"
}
}
],
"discriminant": {
"type": "u8",
"value": 20
},
"discriminator": [
20
],
"docs": [
"Like InitializeMint, but does not require the Rent sysvar to be provided."
],
"name": "InitializeMint2"
},
{
"accounts": [
{
"address": null,
"docs": [
"The mint to calculate for."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": false
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 21
},
"discriminator": [
21
],
"docs": [
"Gets the required size of an account for the given mint as a little-endian u64."
],
"name": "GetAccountDataSize"
},
{
"accounts": [
{
"address": null,
"docs": [
"The account to initialize."
],
"name": "tokenAccount",
"optional": false,
"signer": false,
"writable": true
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 22
},
"discriminator": [
22
],
"docs": [
"Initializes the immutable owner extension for the given token account.",
"This is a no-op in the classic token program and exists for ATA compatibility."
],
"name": "InitializeImmutableOwner"
},
{
"accounts": [
{
"address": null,
"docs": [
"The mint to calculate for."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": false
}
],
"args": [
{
"amountHint": {
"decimalsSource": {
"accountName": "mint",
"kind": "knownAccount"
}
},
"name": "amount",
"type": "u64"
}
],
"discriminant": {
"type": "u8",
"value": 23
},
"discriminator": [
23
],
"docs": [
"Converts an amount of tokens to a UI amount string using the given mint."
],
"name": "AmountToUiAmount"
},
{
"accounts": [
{
"address": null,
"docs": [
"The mint to calculate for."
],
"name": "mint",
"optional": false,
"signer": false,
"writable": false
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 24
},
"discriminator": [
24
],
"docs": [
"Converts a UI token amount to its little-endian raw amount using the mint.",
"The UI amount occupies the remaining instruction bytes as UTF-8, so the baseline keeps it as a trailing-data family."
],
"name": "UiAmountToAmount"
},
{
"accounts": [
{
"address": null,
"docs": [
"The native (wrapped SOL) source account."
],
"name": "source",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The destination account receiving the lamports."
],
"name": "destination",
"optional": false,
"signer": false,
"writable": true
},
{
"address": null,
"docs": [
"The source account's owner/delegate or its multisignature account.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"name": "owner",
"optional": false,
"signer": true,
"writable": false
}
],
"args": [
{
"amountHint": {
"decimalsSource": {
"decimals": 9,
"kind": "constant"
}
},
"name": "amount",
"type": {
"option": "u64"
}
}
],
"discriminant": {
"type": "u8",
"value": 45
},
"discriminator": [
45
],
"docs": [
"Transfer lamports from a native SOL account to a destination account.",
"",
"This is useful to unwrap lamports from a wrapped SOL account. When no",
"amount is specified, the entire balance of the source account is",
"transferred. The source account must be a native (wrapped SOL) token",
"account.",
"",
"Added by the p-token upgrade (SIMD-0266); not present in the classic",
"0-24 SPL Token instruction set."
],
"name": "UnwrapLamports"
}
],
"name": "token",
"normalizationVersion": 1,
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"types": [
{
"docs": [],
"name": "COptionPublicKey",
"type": {
"fields": [
{
"name": "tag",
"type": "u32"
},
{
"name": "value",
"type": "publicKey"
}
],
"kind": "struct"
}
},
{
"docs": [],
"name": "COptionU64",
"type": {
"fields": [
{
"name": "tag",
"type": "u32"
},
{
"name": "value",
"type": "u64"
}
],
"kind": "struct"
}
},
{
"docs": [],
"name": "AuthorityType",
"type": {
"kind": "enum",
"variants": [
{
"name": "AuthorityMintTokens"
},
{
"name": "AuthorityFreezeAccount"
},
{
"name": "AuthorityAccountOwner"
},
{
"name": "AuthorityCloseAccount"
}
]
}
},
{
"docs": [],
"name": "AccountState",
"type": {
"kind": "enum",
"variants": [
{
"name": "Uninitialized"
},
{
"name": "Initialized"
},
{
"name": "Frozen"
}
]
}
},
{
"docs": [
"arete.account_untagged=true"
],
"name": "Mint",
"type": {
"fields": [
{
"name": "mint_authority",
"type": {
"defined": "COptionPublicKey"
}
},
{
"name": "supply",
"type": "u64"
},
{
"name": "decimals",
"type": "u8"
},
{
"name": "is_initialized",
"type": "bool"
},
{
"name": "freeze_authority",
"type": {
"defined": "COptionPublicKey"
}
}
],
"kind": "struct"
}
},
{
"docs": [
"arete.account_untagged=true"
],
"name": "Account",
"type": {
"fields": [
{
"name": "mint",
"type": "publicKey"
},
{
"name": "owner",
"type": "publicKey"
},
{
"name": "amount",
"type": "u64"
},
{
"name": "delegate",
"type": {
"defined": "COptionPublicKey"
}
},
{
"name": "state",
"type": "u8"
},
{
"name": "is_native",
"type": {
"defined": "COptionU64"
}
},
{
"name": "delegated_amount",
"type": "u64"
},
{
"name": "close_authority",
"type": {
"defined": "COptionPublicKey"
}
}
],
"kind": "struct"
}
},
{
"docs": [
"arete.account_untagged=true"
],
"name": "Multisig",
"type": {
"fields": [
{
"name": "m",
"type": "u8"
},
{
"name": "n",
"type": "u8"
},
{
"name": "is_initialized",
"type": "bool"
},
{
"name": "signers",
"type": {
"array": [
"publicKey",
11
]
}
}
],
"kind": "struct"
}
}
],
"version": "0.0.0"
},
"instructions": [
{
"accounts": [
{
"docs": [
"The mint to initialize."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "mint",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"Rent sysvar."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "SysVarRentPubkey",
"resolution": {
"category": "userProvided"
}
}
],
"args": [
{
"name": "decimals",
"type": "u8"
},
{
"name": "mint_authority",
"type": "solana_pubkey::Pubkey"
},
{
"name": "freeze_authority",
"type": "Option<solana_pubkey::Pubkey>"
}
],
"discriminator": [
0
],
"discriminator_size": 1,
"docs": [
"Initializes a new mint and optionally deposits all the newly minted",
"tokens in an account.",
"",
"The `InitializeMint` instruction requires no signers and MUST be",
"included within the same Transaction as the system program's",
"`CreateAccount` instruction that creates the account being initialized.",
"Otherwise another party can acquire ownership of the uninitialized",
"account."
],
"name": "InitializeMint",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The account to initialize."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "account",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The mint this account will be associated with."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "mint",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The new account's owner/multisignature."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "owner",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"Rent sysvar."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "SysVarRentPubkey",
"resolution": {
"category": "userProvided"
}
}
],
"args": [],
"discriminator": [
1
],
"discriminator_size": 1,
"docs": [
"Initializes a new account to hold tokens. If this account is associated",
"with the native mint then the token balance of the initialized account",
"will be equal to the amount of SOL in the account. If this account is",
"associated with another mint, that mint must be initialized before this",
"command can succeed.",
"",
"The `InitializeAccount` instruction requires no signers and MUST be",
"included within the same Transaction as the system program's",
"`CreateAccount` instruction that creates the account being initialized.",
"Otherwise another party can acquire ownership of the uninitialized",
"account."
],
"name": "InitializeAccount",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The multisignature account to initialize."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "account",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"Rent sysvar."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "SysVarRentPubkey",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"..2+N The signer accounts, must equal to N where 1 <= N <=11"
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "signers",
"resolution": {
"category": "userProvided"
}
}
],
"args": [
{
"name": "m",
"type": "u8"
}
],
"discriminator": [
2
],
"discriminator_size": 1,
"docs": [
"Initializes a multisignature account with N provided signers.",
"",
"Multisignature accounts can used in place of any single owner/delegate",
"accounts in any token instruction that require an owner/delegate to be",
"present. The variant field represents the number of signers (M)",
"required to validate this multisignature account.",
"",
"The `InitializeMultisig` instruction requires no signers and MUST be",
"included within the same Transaction as the system program's",
"`CreateAccount` instruction that creates the account being initialized.",
"Otherwise another party can acquire ownership of the uninitialized",
"account."
],
"name": "InitializeMultisig",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The source account."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "source",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The destination account."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "destination",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The source account owner/delegate.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"is_optional": false,
"is_signer": true,
"is_writable": false,
"name": "owner",
"resolution": {
"category": "signer"
}
}
],
"args": [
{
"name": "amount",
"type": "u64"
}
],
"discriminator": [
3
],
"discriminator_size": 1,
"docs": [
"Transfers tokens from one account to another either directly or via a",
"delegate. If this account is associated with the native mint then equal",
"amounts of SOL and Tokens will be transferred to the destination",
"account."
],
"name": "Transfer",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The source account."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "source",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The delegate."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "delegate",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The source account owner.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"is_optional": false,
"is_signer": true,
"is_writable": false,
"name": "owner",
"resolution": {
"category": "signer"
}
}
],
"args": [
{
"name": "amount",
"type": "u64"
}
],
"discriminator": [
4
],
"discriminator_size": 1,
"docs": [
"Approves a delegate. A delegate is given the authority over tokens on",
"behalf of the source account's owner."
],
"name": "Approve",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The source account."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "source",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The source account's owner.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"is_optional": false,
"is_signer": true,
"is_writable": false,
"name": "owner",
"resolution": {
"category": "signer"
}
}
],
"args": [],
"discriminator": [
5
],
"discriminator_size": 1,
"docs": [
"Revokes the delegate's authority."
],
"name": "Revoke",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The mint or account to change the authority of."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "subject",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The current authority of the mint or account.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"is_optional": false,
"is_signer": true,
"is_writable": false,
"name": "authority",
"resolution": {
"category": "signer"
}
}
],
"args": [
{
"name": "authority_type",
"type": "AuthorityType"
},
{
"name": "new_authority",
"type": "Option<solana_pubkey::Pubkey>"
}
],
"discriminator": [
6
],
"discriminator_size": 1,
"docs": [
"Sets a new authority of a mint or account."
],
"name": "SetAuthority",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The mint."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "mint",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The account to mint tokens to."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "destination",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The mint's minting authority.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"is_optional": false,
"is_signer": true,
"is_writable": false,
"name": "authority",
"resolution": {
"category": "signer"
}
}
],
"args": [
{
"amount_hint": {
"decimalsSource": {
"accountName": "mint",
"kind": "knownAccount"
}
},
"name": "amount",
"type": "u64"
}
],
"discriminator": [
7
],
"discriminator_size": 1,
"docs": [
"Mints new tokens to an account. The native mint does not support",
"minting."
],
"name": "MintTo",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The account to burn from."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "source",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The token mint."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "mint",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The account's owner/delegate.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"is_optional": false,
"is_signer": true,
"is_writable": false,
"name": "owner",
"resolution": {
"category": "signer"
}
}
],
"args": [
{
"amount_hint": {
"decimalsSource": {
"accountName": "mint",
"kind": "knownAccount"
}
},
"name": "amount",
"type": "u64"
}
],
"discriminator": [
8
],
"discriminator_size": 1,
"docs": [
"Burns tokens by removing them from an account. `Burn` does not support",
"accounts associated with the native mint, use `CloseAccount` instead."
],
"name": "Burn",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The account to close."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "account",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The destination account."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "destination",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The account's owner.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"is_optional": false,
"is_signer": true,
"is_writable": false,
"name": "owner",
"resolution": {
"category": "signer"
}
}
],
"args": [],
"discriminator": [
9
],
"discriminator_size": 1,
"docs": [
"Close an account by transferring all its SOL to the destination account.",
"Non-native accounts may only be closed if its token amount is zero."
],
"name": "CloseAccount",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The account to freeze."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "account",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The token mint."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "mint",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The mint freeze authority.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"is_optional": false,
"is_signer": true,
"is_writable": false,
"name": "authority",
"resolution": {
"category": "signer"
}
}
],
"args": [],
"discriminator": [
10
],
"discriminator_size": 1,
"docs": [
"Freeze an Initialized account using the Mint's freeze_authority (if set)."
],
"name": "FreezeAccount",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The account to thaw."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "account",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The token mint."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "mint",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The mint freeze authority.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"is_optional": false,
"is_signer": true,
"is_writable": false,
"name": "authority",
"resolution": {
"category": "signer"
}
}
],
"args": [],
"discriminator": [
11
],
"discriminator_size": 1,
"docs": [
"Thaw a Frozen account using the Mint's freeze_authority (if set)."
],
"name": "ThawAccount",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The source account."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "source",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The token mint."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "mint",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The destination account."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "destination",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The source account's owner/delegate.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"is_optional": false,
"is_signer": true,
"is_writable": false,
"name": "owner",
"resolution": {
"category": "signer"
}
}
],
"args": [
{
"amount_hint": {
"decimalsSource": {
"argName": "decimals",
"kind": "argDecimals"
}
},
"name": "amount",
"type": "u64"
},
{
"name": "decimals",
"type": "u8"
}
],
"discriminator": [
12
],
"discriminator_size": 1,
"docs": [
"Transfers tokens from one account to another either directly or via a",
"delegate. If this account is associated with the native mint then equal",
"amounts of SOL and Tokens will be transferred to the destination",
"account.",
"",
"This instruction differs from Transfer in that the token mint and",
"decimals value is checked by the caller. This may be useful when",
"creating transactions offline or within a hardware wallet."
],
"name": "TransferChecked",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The source account."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "source",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The token mint."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "mint",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The delegate."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "delegate",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The source account owner.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"is_optional": false,
"is_signer": true,
"is_writable": false,
"name": "owner",
"resolution": {
"category": "signer"
}
}
],
"args": [
{
"amount_hint": {
"decimalsSource": {
"argName": "decimals",
"kind": "argDecimals"
}
},
"name": "amount",
"type": "u64"
},
{
"name": "decimals",
"type": "u8"
}
],
"discriminator": [
13
],
"discriminator_size": 1,
"docs": [
"Approves a delegate. A delegate is given the authority over tokens on",
"behalf of the source account's owner.",
"",
"This instruction differs from Approve in that the token mint and",
"decimals value is checked by the caller. This may be useful when",
"creating transactions offline or within a hardware wallet."
],
"name": "ApproveChecked",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The mint."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "mint",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The account to mint tokens to."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "destination",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The mint's minting authority.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"is_optional": false,
"is_signer": true,
"is_writable": false,
"name": "authority",
"resolution": {
"category": "signer"
}
}
],
"args": [
{
"amount_hint": {
"decimalsSource": {
"argName": "decimals",
"kind": "argDecimals"
}
},
"name": "amount",
"type": "u64"
},
{
"name": "decimals",
"type": "u8"
}
],
"discriminator": [
14
],
"discriminator_size": 1,
"docs": [
"Mints new tokens to an account. The native mint does not support minting.",
"",
"This instruction differs from MintTo in that the decimals value is",
"checked by the caller. This may be useful when creating transactions",
"offline or within a hardware wallet."
],
"name": "MintToChecked",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The account to burn from."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "source",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The token mint."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "mint",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The account's owner/delegate.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"is_optional": false,
"is_signer": true,
"is_writable": false,
"name": "owner",
"resolution": {
"category": "signer"
}
}
],
"args": [
{
"amount_hint": {
"decimalsSource": {
"argName": "decimals",
"kind": "argDecimals"
}
},
"name": "amount",
"type": "u64"
},
{
"name": "decimals",
"type": "u8"
}
],
"discriminator": [
15
],
"discriminator_size": 1,
"docs": [
"Burns tokens by removing them from an account. `BurnChecked` does not",
"support accounts associated with the native mint, use `CloseAccount`",
"instead.",
"",
"This instruction differs from Burn in that the decimals value is checked",
"by the caller. This may be useful when creating transactions offline or",
"within a hardware wallet."
],
"name": "BurnChecked",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The account to initialize."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "account",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The mint this account will be associated with."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "mint",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"Rent sysvar."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "SysVarRentPubkey",
"resolution": {
"category": "userProvided"
}
}
],
"args": [
{
"name": "owner",
"type": "solana_pubkey::Pubkey"
}
],
"discriminator": [
16
],
"discriminator_size": 1,
"docs": [
"Like InitializeAccount, but the owner pubkey is passed via instruction data",
"rather than the accounts list. This variant may be preferable when using",
"Cross Program Invocation from an instruction that does not need the owner's",
"`AccountInfo` otherwise."
],
"name": "InitializeAccount2",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The native token account to sync with its underlying lamports."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "tokenAccount",
"resolution": {
"category": "userProvided"
}
}
],
"args": [],
"discriminator": [
17
],
"discriminator_size": 1,
"docs": [
"Given a wrapped / native token account (a token account containing SOL)",
"updates its amount field based on the account's underlying `lamports`.",
"This is useful if a non-wrapped SOL account uses `system_instruction::transfer`",
"to move lamports to a wrapped token account, and needs to have its token",
"`amount` field updated."
],
"name": "SyncNative",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The account to initialize."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "account",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The mint this account will be associated with."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "mint",
"resolution": {
"category": "userProvided"
}
}
],
"args": [
{
"name": "owner",
"type": "solana_pubkey::Pubkey"
}
],
"discriminator": [
18
],
"discriminator_size": 1,
"docs": [
"Like InitializeAccount2, but does not require the Rent sysvar to be provided."
],
"name": "InitializeAccount3",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The multisignature account to initialize."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "account",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The signer accounts, must equal to N where 1 <= N <= 11."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "signers",
"resolution": {
"category": "userProvided"
}
}
],
"args": [
{
"name": "m",
"type": "u8"
}
],
"discriminator": [
19
],
"discriminator_size": 1,
"docs": [
"Like InitializeMultisig, but does not require the Rent sysvar to be provided."
],
"name": "InitializeMultisig2",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The mint to initialize."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "mint",
"resolution": {
"category": "userProvided"
}
}
],
"args": [
{
"name": "decimals",
"type": "u8"
},
{
"name": "mint_authority",
"type": "solana_pubkey::Pubkey"
},
{
"name": "freeze_authority",
"type": "Option<solana_pubkey::Pubkey>"
}
],
"discriminator": [
20
],
"discriminator_size": 1,
"docs": [
"Like InitializeMint, but does not require the Rent sysvar to be provided."
],
"name": "InitializeMint2",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The mint to calculate for."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "mint",
"resolution": {
"category": "userProvided"
}
}
],
"args": [],
"discriminator": [
21
],
"discriminator_size": 1,
"docs": [
"Gets the required size of an account for the given mint as a little-endian u64."
],
"name": "GetAccountDataSize",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The account to initialize."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "tokenAccount",
"resolution": {
"category": "userProvided"
}
}
],
"args": [],
"discriminator": [
22
],
"discriminator_size": 1,
"docs": [
"Initializes the immutable owner extension for the given token account.",
"This is a no-op in the classic token program and exists for ATA compatibility."
],
"name": "InitializeImmutableOwner",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The mint to calculate for."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "mint",
"resolution": {
"category": "userProvided"
}
}
],
"args": [
{
"amount_hint": {
"decimalsSource": {
"accountName": "mint",
"kind": "knownAccount"
}
},
"name": "amount",
"type": "u64"
}
],
"discriminator": [
23
],
"discriminator_size": 1,
"docs": [
"Converts an amount of tokens to a UI amount string using the given mint."
],
"name": "AmountToUiAmount",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The mint to calculate for."
],
"is_optional": false,
"is_signer": false,
"is_writable": false,
"name": "mint",
"resolution": {
"category": "userProvided"
}
}
],
"args": [],
"discriminator": [
24
],
"discriminator_size": 1,
"docs": [
"Converts a UI token amount to its little-endian raw amount using the mint.",
"The UI amount occupies the remaining instruction bytes as UTF-8, so the baseline keeps it as a trailing-data family."
],
"name": "UiAmountToAmount",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"accounts": [
{
"docs": [
"The native (wrapped SOL) source account."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "source",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The destination account receiving the lamports."
],
"is_optional": false,
"is_signer": false,
"is_writable": true,
"name": "destination",
"resolution": {
"category": "userProvided"
}
},
{
"docs": [
"The source account's owner/delegate or its multisignature account.",
"Signs when it is a single authority. A multisig authority does not sign: its M signers follow as signer accounts."
],
"is_optional": false,
"is_signer": true,
"is_writable": false,
"name": "owner",
"resolution": {
"category": "signer"
}
}
],
"args": [
{
"amount_hint": {
"decimalsSource": {
"decimals": 9,
"kind": "constant"
}
},
"name": "amount",
"type": "Option<u64>"
}
],
"discriminator": [
45
],
"discriminator_size": 1,
"docs": [
"Transfer lamports from a native SOL account to a destination account.",
"",
"This is useful to unwrap lamports from a wrapped SOL account. When no",
"amount is specified, the entire balance of the source account is",
"transferred. The source account must be a native (wrapped SOL) token",
"account.",
"",
"Added by the p-token upgrade (SIMD-0266); not present in the classic",
"0-24 SPL Token instruction set."
],
"name": "UnwrapLamports",
"program_id": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
}
],
"normalizedIdlHash": "arete:h1:idl-normalized:sha256:bce4f498cfab2c291d4f871890df3954695f96b8c74a46e98a0f06920e6d23b6",
"pdas": {},
"portableIdlHash": "arete:h1:idl-portable:sha256:a677354e5bfe15d97967fca89f0eecd6ea32e9db9075b09bacb984622c27f685",
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"schema": "arete.program-spec/v1"
}