{
"version": "2.0.0",
"name": "lighthouse",
"instructions": [
{
"name": "MemoryWrite",
"accounts": [
{
"name": "programId",
"isMut": false,
"isSigner": false,
"docs": [
"Lighthouse program"
]
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"docs": [
"System program"
]
},
{
"name": "payer",
"isMut": true,
"isSigner": true,
"docs": [
"Payer account"
]
},
{
"name": "memory",
"isMut": true,
"isSigner": false,
"docs": [
"Memory account"
]
},
{
"name": "sourceAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Account to be written to memory"
]
}
],
"args": [
{
"name": "memoryId",
"type": "u8"
},
{
"name": "memoryBump",
"type": "u8"
},
{
"name": "writeOffset",
"type": {
"defined": "CompactU64"
}
},
{
"name": "writeType",
"type": {
"defined": "WriteType"
}
}
],
"discriminant": {
"type": "u8",
"value": 0
}
},
{
"name": "MemoryClose",
"accounts": [
{
"name": "programId",
"isMut": false,
"isSigner": false,
"docs": [
"Lighthouse program"
]
},
{
"name": "payer",
"isMut": true,
"isSigner": true,
"docs": [
"Payer account"
]
},
{
"name": "memory",
"isMut": true,
"isSigner": false,
"docs": [
"Memory account"
]
}
],
"args": [
{
"name": "memoryId",
"type": "u8"
},
{
"name": "memoryBump",
"type": "u8"
}
],
"discriminant": {
"type": "u8",
"value": 1
}
},
{
"name": "AssertAccountData",
"accounts": [
{
"name": "targetAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Target account to be asserted"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertion",
"type": {
"defined": "AccountDataAssertion"
}
}
],
"discriminant": {
"type": "u8",
"value": 2
}
},
{
"name": "AssertAccountDataMulti",
"accounts": [
{
"name": "targetAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Target account to be asserted"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertions",
"type": {
"defined": "AccountDataAssertions"
}
}
],
"discriminant": {
"type": "u8",
"value": 3
}
},
{
"name": "AssertAccountDelta",
"accounts": [
{
"name": "accountA",
"isMut": false,
"isSigner": false,
"docs": [
"Account A where the delta is calculated from"
]
},
{
"name": "accountB",
"isMut": false,
"isSigner": false,
"docs": [
"Account B where the delta is calculated to"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertion",
"type": {
"defined": "AccountDeltaAssertion"
}
}
],
"discriminant": {
"type": "u8",
"value": 4
}
},
{
"name": "AssertAccountInfo",
"accounts": [
{
"name": "targetAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Target account to be asserted"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertion",
"type": {
"defined": "AccountInfoAssertion"
}
}
],
"discriminant": {
"type": "u8",
"value": 5
}
},
{
"name": "AssertAccountInfoMulti",
"accounts": [
{
"name": "targetAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Target account to be asserted"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertions",
"type": {
"defined": "AccountInfoAssertions"
}
}
],
"discriminant": {
"type": "u8",
"value": 6
}
},
{
"name": "AssertMintAccount",
"accounts": [
{
"name": "targetAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Target account to be asserted"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertion",
"type": {
"defined": "MintAccountAssertion"
}
}
],
"discriminant": {
"type": "u8",
"value": 7
}
},
{
"name": "AssertMintAccountMulti",
"accounts": [
{
"name": "targetAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Target account to be asserted"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertions",
"type": {
"defined": "MintAccountAssertions"
}
}
],
"discriminant": {
"type": "u8",
"value": 8
}
},
{
"name": "AssertTokenAccount",
"accounts": [
{
"name": "targetAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Target account to be asserted"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertion",
"type": {
"defined": "TokenAccountAssertion"
}
}
],
"discriminant": {
"type": "u8",
"value": 9
}
},
{
"name": "AssertTokenAccountMulti",
"accounts": [
{
"name": "targetAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Target account to be asserted"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertions",
"type": {
"defined": "TokenAccountAssertions"
}
}
],
"discriminant": {
"type": "u8",
"value": 10
}
},
{
"name": "AssertStakeAccount",
"accounts": [
{
"name": "targetAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Target account to be asserted"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertion",
"type": {
"defined": "StakeAccountAssertion"
}
}
],
"discriminant": {
"type": "u8",
"value": 11
}
},
{
"name": "AssertStakeAccountMulti",
"accounts": [
{
"name": "targetAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Target account to be asserted"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertions",
"type": {
"defined": "StakeAccountAssertions"
}
}
],
"discriminant": {
"type": "u8",
"value": 12
}
},
{
"name": "AssertUpgradeableLoaderAccount",
"accounts": [
{
"name": "targetAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Target account to be asserted"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertion",
"type": {
"defined": "UpgradeableLoaderStateAssertion"
}
}
],
"discriminant": {
"type": "u8",
"value": 13
}
},
{
"name": "AssertUpgradeableLoaderAccountMulti",
"accounts": [
{
"name": "targetAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Target account to be asserted"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertions",
"type": {
"defined": "UpgradeableLoaderStateAssertions"
}
}
],
"discriminant": {
"type": "u8",
"value": 14
}
},
{
"name": "AssertSysvarClock",
"accounts": [],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertion",
"type": {
"defined": "SysvarClockAssertion"
}
}
],
"discriminant": {
"type": "u8",
"value": 15
}
},
{
"name": "AssertMerkleTreeAccount",
"accounts": [
{
"name": "targetMerkleTree",
"isMut": false,
"isSigner": false,
"docs": [
"Target merkle tree account to be asserted"
]
},
{
"name": "root",
"isMut": false,
"isSigner": false,
"docs": [
"The current root of the merkle tree"
]
},
{
"name": "splAccountCompression",
"isMut": false,
"isSigner": false,
"docs": [
"SPL account compression program"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertion",
"type": {
"defined": "MerkleTreeAssertion"
}
}
],
"discriminant": {
"type": "u8",
"value": 16
}
},
{
"name": "AssertBubblegumTreeConfigAccount",
"accounts": [
{
"name": "targetAccount",
"isMut": false,
"isSigner": false,
"docs": [
"Target mpl-bubblegum tree config account to be asserted"
]
}
],
"args": [
{
"name": "logLevel",
"type": {
"defined": "LogLevel"
}
},
{
"name": "assertion",
"type": {
"defined": "BubblegumTreeConfigAssertion"
}
}
],
"discriminant": {
"type": "u8",
"value": 17
}
}
],
"types": [
{
"name": "TestAccountV1",
"type": {
"kind": "struct",
"fields": [
{
"name": "u8",
"type": "u8"
},
{
"name": "i8",
"type": "i8"
},
{
"name": "u16",
"type": "u16"
},
{
"name": "i16",
"type": "i16"
},
{
"name": "u32",
"type": "u32"
},
{
"name": "i32",
"type": "i32"
},
{
"name": "u64",
"type": "u64"
},
{
"name": "i64",
"type": "i64"
},
{
"name": "u128",
"type": "u128"
},
{
"name": "i128",
"type": "i128"
},
{
"name": "bytes",
"type": {
"array": [
"u8",
32
]
}
},
{
"name": "trueField",
"type": "bool"
},
{
"name": "falseField",
"type": "bool"
},
{
"name": "optionU8",
"type": {
"option": "u8"
}
},
{
"name": "optionU8None",
"type": {
"option": "u8"
}
},
{
"name": "optionU16",
"type": {
"option": "u16"
}
},
{
"name": "optionU16None",
"type": {
"option": "u16"
}
},
{
"name": "pubkey",
"type": "publicKey"
},
{
"name": "vec",
"type": "bytes"
}
]
}
},
{
"name": "AccountDataAssertion",
"type": {
"kind": "struct",
"fields": [
{
"name": "offset",
"type": {
"defined": "CompactU64"
}
},
{
"name": "assertion",
"type": {
"defined": "DataValueAssertion"
}
}
]
}
},
{
"name": "DataValueAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "Bool",
"fields": [
{
"name": "value",
"type": "bool"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "U8",
"fields": [
{
"name": "value",
"type": "u8"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "I8",
"fields": [
{
"name": "value",
"type": "i8"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "U16",
"fields": [
{
"name": "value",
"type": "u16"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "I16",
"fields": [
{
"name": "value",
"type": "i16"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "U32",
"fields": [
{
"name": "value",
"type": "u32"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "I32",
"fields": [
{
"name": "value",
"type": "i32"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "U64",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "I64",
"fields": [
{
"name": "value",
"type": "i64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "U128",
"fields": [
{
"name": "value",
"type": "u128"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "I128",
"fields": [
{
"name": "value",
"type": "i128"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "Bytes",
"fields": [
{
"name": "value",
"type": {
"defined": "CompactBytes"
}
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "Pubkey",
"fields": [
{
"name": "value",
"type": "publicKey"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
}
]
}
},
{
"name": "AccountDeltaAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "AccountInfo",
"fields": [
{
"name": "a_offset",
"type": {
"defined": "CompactU64"
}
},
{
"name": "assertion",
"type": {
"defined": "AccountInfoDeltaAssertion"
}
}
]
},
{
"name": "Data",
"fields": [
{
"name": "a_offset",
"type": {
"defined": "CompactU64"
}
},
{
"name": "b_offset",
"type": {
"defined": "CompactU64"
}
},
{
"name": "assertion",
"type": {
"defined": "DataValueDeltaAssertion"
}
}
]
}
]
}
},
{
"name": "DataValueDeltaAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "U8",
"fields": [
{
"name": "value",
"type": "i16"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "I8",
"fields": [
{
"name": "value",
"type": "i16"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "U16",
"fields": [
{
"name": "value",
"type": "i32"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "I16",
"fields": [
{
"name": "value",
"type": "i32"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "U32",
"fields": [
{
"name": "value",
"type": "i64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "I32",
"fields": [
{
"name": "value",
"type": "i64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "U64",
"fields": [
{
"name": "value",
"type": "i128"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "I64",
"fields": [
{
"name": "value",
"type": "i128"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "Bytes",
"fields": [
{
"name": "length",
"type": "u16"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
}
]
}
},
{
"name": "AccountInfoDeltaAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "Lamports",
"fields": [
{
"name": "value",
"type": "i128"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "DataLength",
"fields": [
{
"name": "value",
"type": "i128"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "Owner",
"fields": [
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "RentEpoch",
"fields": [
{
"name": "value",
"type": "i128"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
}
]
}
},
{
"name": "AccountInfoAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "Lamports",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "DataLength",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "Owner",
"fields": [
{
"name": "value",
"type": "publicKey"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "KnownOwner",
"fields": [
{
"name": "value",
"type": {
"defined": "KnownProgram"
}
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "RentEpoch",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "IsSigner",
"fields": [
{
"name": "value",
"type": "bool"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "IsWritable",
"fields": [
{
"name": "value",
"type": "bool"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "Executable",
"fields": [
{
"name": "value",
"type": "bool"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "VerifyDatahash",
"fields": [
{
"name": "expected_hash",
"type": {
"array": [
"u8",
32
]
}
},
{
"name": "start",
"type": {
"defined": "CompactU64"
}
},
{
"name": "length",
"type": {
"defined": "CompactU64"
}
}
]
}
]
}
},
{
"name": "AssertionResult",
"type": {
"kind": "enum",
"variants": [
{
"name": "U8",
"fields": [
{
"option": "u8"
},
{
"option": "u8"
},
"u8",
"bool"
]
},
{
"name": "U16",
"fields": [
{
"option": "u16"
},
{
"option": "u16"
},
"u8",
"bool"
]
},
{
"name": "U32",
"fields": [
{
"option": "u32"
},
{
"option": "u32"
},
"u8",
"bool"
]
},
{
"name": "U64",
"fields": [
{
"option": "u64"
},
{
"option": "u64"
},
"u8",
"bool"
]
},
{
"name": "U128",
"fields": [
{
"option": "u128"
},
{
"option": "u128"
},
"u8",
"bool"
]
},
{
"name": "I8",
"fields": [
{
"option": "i8"
},
{
"option": "i8"
},
"u8",
"bool"
]
},
{
"name": "I16",
"fields": [
{
"option": "i16"
},
{
"option": "i16"
},
"u8",
"bool"
]
},
{
"name": "I32",
"fields": [
{
"option": "i32"
},
{
"option": "i32"
},
"u8",
"bool"
]
},
{
"name": "I64",
"fields": [
{
"option": "i64"
},
{
"option": "i64"
},
"u8",
"bool"
]
},
{
"name": "I128",
"fields": [
{
"option": "i128"
},
{
"option": "i128"
},
"u8",
"bool"
]
},
{
"name": "Pubkey",
"fields": [
{
"option": "publicKey"
},
{
"option": "publicKey"
},
"u8",
"bool"
]
},
{
"name": "Bytes",
"fields": [
"bytes",
"bytes",
"u8",
"bool"
]
},
{
"name": "Bool",
"fields": [
{
"option": "bool"
},
{
"option": "bool"
},
"u8",
"bool"
]
}
]
}
},
{
"name": "BubblegumTreeConfigAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "TreeCreator",
"fields": [
{
"name": "value",
"type": "publicKey"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "TreeDelegate",
"fields": [
{
"name": "value",
"type": "publicKey"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "TotalMintCapacity",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "NumMinted",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "IsPublic",
"fields": [
{
"name": "value",
"type": "bool"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "IsDecompressible",
"fields": [
{
"name": "value",
"type": "u8"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
}
]
}
},
{
"name": "SysvarClockAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "Slot",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "EpochStartTimestamp",
"fields": [
{
"name": "value",
"type": "i64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "Epoch",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "LeaderScheduleEpoch",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "UnixTimestamp",
"fields": [
{
"name": "value",
"type": "i64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
}
]
}
},
{
"name": "KnownProgram",
"type": {
"kind": "enum",
"variants": [
{
"name": "System"
},
{
"name": "Token"
},
{
"name": "Token2022"
},
{
"name": "Rent"
},
{
"name": "Stake"
},
{
"name": "Vote"
},
{
"name": "BpfLoader"
},
{
"name": "UpgradeableLoader"
},
{
"name": "SysvarConfig"
}
]
}
},
{
"name": "LogLevel",
"type": {
"kind": "enum",
"variants": [
{
"name": "Silent"
},
{
"name": "PlaintextMessage"
},
{
"name": "EncodedMessage"
},
{
"name": "EncodedNoop"
},
{
"name": "FailedPlaintextMessage"
},
{
"name": "FailedEncodedMessage"
},
{
"name": "FailedEncodedNoop"
}
]
}
},
{
"name": "MerkleTreeAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "VerifyLeaf",
"fields": [
{
"name": "leaf_index",
"type": "u32"
},
{
"name": "leaf_hash",
"type": {
"array": [
"u8",
32
]
}
}
]
}
]
}
},
{
"name": "MintAccountAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "MintAuthority",
"fields": [
{
"name": "value",
"type": {
"option": "publicKey"
}
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "Supply",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "Decimals",
"fields": [
{
"name": "value",
"type": "u8"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "IsInitialized",
"fields": [
{
"name": "value",
"type": "bool"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "FreezeAuthority",
"fields": [
{
"name": "value",
"type": {
"option": "publicKey"
}
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
}
]
}
},
{
"name": "IntegerOperator",
"type": {
"kind": "enum",
"variants": [
{
"name": "Equal"
},
{
"name": "NotEqual"
},
{
"name": "GreaterThan"
},
{
"name": "LessThan"
},
{
"name": "GreaterThanOrEqual"
},
{
"name": "LessThanOrEqual"
},
{
"name": "Contains"
},
{
"name": "DoesNotContain"
}
]
}
},
{
"name": "EquatableOperator",
"type": {
"kind": "enum",
"variants": [
{
"name": "Equal"
},
{
"name": "NotEqual"
}
]
}
},
{
"name": "StakeStateType",
"type": {
"kind": "enum",
"variants": [
{
"name": "Uninitialized"
},
{
"name": "Initialized"
},
{
"name": "Stake"
},
{
"name": "RewardsPool"
}
]
}
},
{
"name": "StakeAccountAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "State",
"fields": [
{
"name": "value",
"type": {
"defined": "StakeStateType"
}
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "MetaAssertion",
"fields": [
{
"defined": "MetaAssertion"
}
]
},
{
"name": "StakeAssertion",
"fields": [
{
"defined": "StakeAssertion"
}
]
},
{
"name": "StakeFlags",
"fields": [
{
"name": "value",
"type": "u8"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
}
]
}
},
{
"name": "MetaAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "RentExemptReserve",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "AuthorizedStaker",
"fields": [
{
"name": "value",
"type": "publicKey"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "AuthorizedWithdrawer",
"fields": [
{
"name": "value",
"type": "publicKey"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "LockupUnixTimestamp",
"fields": [
{
"name": "value",
"type": "i64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "LockupEpoch",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "LockupCustodian",
"fields": [
{
"name": "value",
"type": "publicKey"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
}
]
}
},
{
"name": "StakeAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "DelegationVoterPubkey",
"fields": [
{
"name": "value",
"type": "publicKey"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "DelegationStake",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "DelegationActivationEpoch",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "DelegationDeactivationEpoch",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "CreditsObserved",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
}
]
}
},
{
"name": "TokenAccountAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "Mint",
"fields": [
{
"name": "value",
"type": "publicKey"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "Owner",
"fields": [
{
"name": "value",
"type": "publicKey"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "Amount",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "Delegate",
"fields": [
{
"name": "value",
"type": {
"option": "publicKey"
}
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "State",
"fields": [
{
"name": "value",
"type": "u8"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "IsNative",
"fields": [
{
"name": "value",
"type": {
"option": "u64"
}
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "DelegatedAmount",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
},
{
"name": "CloseAuthority",
"fields": [
{
"name": "value",
"type": {
"option": "publicKey"
}
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "TokenAccountOwnerIsDerived"
}
]
}
},
{
"name": "UpgradeableLoaderStateType",
"type": {
"kind": "enum",
"variants": [
{
"name": "Uninitialized"
},
{
"name": "Buffer"
},
{
"name": "Program"
},
{
"name": "ProgramData"
}
]
}
},
{
"name": "UpgradeableLoaderStateAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "State",
"fields": [
{
"name": "value",
"type": {
"defined": "UpgradeableLoaderStateType"
}
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "Buffer",
"fields": [
{
"defined": "UpgradableBufferAssertion"
}
]
},
{
"name": "Program",
"fields": [
{
"defined": "UpgradeableProgramAssertion"
}
]
},
{
"name": "ProgramData",
"fields": [
{
"defined": "UpgradeableProgramDataAssertion"
}
]
}
]
}
},
{
"name": "UpgradableBufferAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "Authority",
"fields": [
{
"name": "value",
"type": {
"option": "publicKey"
}
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
}
]
}
},
{
"name": "UpgradeableProgramAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "ProgramDataAddress",
"fields": [
{
"name": "value",
"type": "publicKey"
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
}
]
}
},
{
"name": "UpgradeableProgramDataAssertion",
"type": {
"kind": "enum",
"variants": [
{
"name": "UpgradeAuthority",
"fields": [
{
"name": "value",
"type": {
"option": "publicKey"
}
},
{
"name": "operator",
"type": {
"defined": "EquatableOperator"
}
}
]
},
{
"name": "Slot",
"fields": [
{
"name": "value",
"type": "u64"
},
{
"name": "operator",
"type": {
"defined": "IntegerOperator"
}
}
]
}
]
}
},
{
"name": "AccountInfoField",
"type": {
"kind": "enum",
"variants": [
{
"name": "Key"
},
{
"name": "Lamports"
},
{
"name": "DataLength"
},
{
"name": "Owner"
},
{
"name": "RentEpoch"
},
{
"name": "Executable"
}
]
}
},
{
"name": "ClockField",
"type": {
"kind": "enum",
"variants": [
{
"name": "Slot"
},
{
"name": "EpochStartTimestamp"
},
{
"name": "Epoch"
},
{
"name": "LeaderScheduleEpoch"
},
{
"name": "UnixTimestamp"
}
]
}
},
{
"name": "DataValue",
"type": {
"kind": "enum",
"variants": [
{
"name": "Bool",
"fields": [
"bool"
]
},
{
"name": "U8",
"fields": [
"u8"
]
},
{
"name": "I8",
"fields": [
"i8"
]
},
{
"name": "U16",
"fields": [
"u16"
]
},
{
"name": "I16",
"fields": [
"i16"
]
},
{
"name": "U32",
"fields": [
"u32"
]
},
{
"name": "I32",
"fields": [
"i32"
]
},
{
"name": "U64",
"fields": [
"u64"
]
},
{
"name": "I64",
"fields": [
"i64"
]
},
{
"name": "U128",
"fields": [
"u128"
]
},
{
"name": "I128",
"fields": [
"i128"
]
},
{
"name": "Bytes",
"fields": [
{
"defined": "CompactBytes"
}
]
},
{
"name": "Pubkey",
"fields": [
"publicKey"
]
}
]
}
},
{
"name": "WriteType",
"type": {
"kind": "enum",
"variants": [
{
"name": "AccountData",
"fields": [
{
"name": "offset",
"type": "u16"
},
{
"name": "data_length",
"type": "u16"
}
]
},
{
"name": "AccountInfoField",
"fields": [
{
"defined": "AccountInfoField"
}
]
},
{
"name": "DataValue",
"fields": [
{
"defined": "DataValue"
}
]
},
{
"name": "Clock",
"fields": [
{
"defined": "ClockField"
}
]
}
]
}
}
],
"errors": [
{
"code": 6000,
"name": "InvalidInstructionData",
"msg": "Invalid instruction"
},
{
"code": 6001,
"name": "AssertionFailed",
"msg": "AssertionFailed"
},
{
"code": 6002,
"name": "NotEnoughAccounts",
"msg": "NotEnoughAccounts"
},
{
"code": 6003,
"name": "BumpNotFound",
"msg": "BumpNotFound"
},
{
"code": 6004,
"name": "AccountBorrowFailed",
"msg": "AccountBorrowFailed"
},
{
"code": 6005,
"name": "RangeOutOfBounds",
"msg": "RangeOutOfBounds"
},
{
"code": 6006,
"name": "IndexOutOfBounds",
"msg": "IndexOutOfBounds"
},
{
"code": 6007,
"name": "FailedToDeserialize",
"msg": "FailedToDeserialize"
},
{
"code": 6008,
"name": "FailedToSerialize",
"msg": "FailedToSerialize"
},
{
"code": 6009,
"name": "AccountOwnerMismatch",
"msg": "AccountOwnerMismatch"
},
{
"code": 6010,
"name": "AccountKeyMismatch",
"msg": "AccountKeyMismatch"
},
{
"code": 6011,
"name": "AccountNotInitialized",
"msg": "AccountNotInitialized"
},
{
"code": 6012,
"name": "AccountOwnerValidationFailed",
"msg": "AccountOwnerValidationFailed"
},
{
"code": 6013,
"name": "AccountFundedValidationFailed",
"msg": "AccountFundedValidationFailed"
},
{
"code": 6014,
"name": "AccountDiscriminatorValidationFailed",
"msg": "AccountDiscriminatorValidationFailed"
},
{
"code": 6015,
"name": "AccountValidationFailed",
"msg": "AccountValidaitonFailed"
},
{
"code": 6016,
"name": "CrossProgramInvokeViolation",
"msg": "CrossProgramInvokeViolation"
}
],
"metadata": {
"origin": "shank",
"address": "L2TExMFKdjpN9kozasaurPirfHy9P8sbXoAN1qA3S95",
"binaryVersion": "0.3.0",
"libVersion": "=0.3.0"
}
}