1548 lines
59 KiB
JSON
1548 lines
59 KiB
JSON
{
|
|
"kind": "rootNode",
|
|
"standard": "codama",
|
|
"version": "1.0.0",
|
|
"program": {
|
|
"kind": "programNode",
|
|
"name": "programMetadata",
|
|
"publicKey": "ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S",
|
|
"version": "0.0.0",
|
|
"pdas": [
|
|
{
|
|
"kind": "pdaNode",
|
|
"name": "canonical",
|
|
"docs": [
|
|
"The canonical derivation for metadata accounts managed by the program authority itself."
|
|
],
|
|
"seeds": [
|
|
{
|
|
"kind": "variablePdaSeedNode",
|
|
"name": "program",
|
|
"docs": [
|
|
"The program to which the metadata belongs."
|
|
],
|
|
"type": {
|
|
"kind": "publicKeyTypeNode"
|
|
}
|
|
},
|
|
{
|
|
"kind": "variablePdaSeedNode",
|
|
"name": "seed",
|
|
"docs": [
|
|
"The seed deriving the metadata account."
|
|
],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "seed"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"kind": "pdaNode",
|
|
"name": "nonCanonical",
|
|
"docs": [
|
|
"The derivation for metadata accounts managed by third-party authorities."
|
|
],
|
|
"seeds": [
|
|
{
|
|
"kind": "variablePdaSeedNode",
|
|
"name": "program",
|
|
"docs": [
|
|
"The program to which the metadata belongs."
|
|
],
|
|
"type": {
|
|
"kind": "publicKeyTypeNode"
|
|
}
|
|
},
|
|
{
|
|
"kind": "variablePdaSeedNode",
|
|
"name": "authority",
|
|
"docs": [
|
|
"The third-party authority managing this metadata account."
|
|
],
|
|
"type": {
|
|
"kind": "publicKeyTypeNode"
|
|
}
|
|
},
|
|
{
|
|
"kind": "variablePdaSeedNode",
|
|
"name": "seed",
|
|
"docs": [
|
|
"The seed deriving the metadata account."
|
|
],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "seed"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"kind": "pdaNode",
|
|
"name": "metadata",
|
|
"docs": [
|
|
"The derivation for metadata accounts, canonical or not, depending if an authority is provided."
|
|
],
|
|
"seeds": [
|
|
{
|
|
"kind": "variablePdaSeedNode",
|
|
"name": "program",
|
|
"docs": [
|
|
"The program to which the metadata belongs."
|
|
],
|
|
"type": {
|
|
"kind": "publicKeyTypeNode"
|
|
}
|
|
},
|
|
{
|
|
"kind": "variablePdaSeedNode",
|
|
"name": "authority",
|
|
"docs": [
|
|
"The third-party authority managing this metadata account, if non-canonical."
|
|
],
|
|
"type": {
|
|
"kind": "remainderOptionTypeNode",
|
|
"item": {
|
|
"kind": "publicKeyTypeNode"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "variablePdaSeedNode",
|
|
"name": "seed",
|
|
"docs": [
|
|
"The seed deriving the metadata account."
|
|
],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "seed"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"accounts": [
|
|
{
|
|
"kind": "accountNode",
|
|
"name": "buffer",
|
|
"docs": [],
|
|
"data": {
|
|
"kind": "structTypeNode",
|
|
"fields": [
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "discriminator",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "accountDiscriminator"
|
|
},
|
|
"defaultValue": {
|
|
"kind": "enumValueNode",
|
|
"enum": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "accountDiscriminator"
|
|
},
|
|
"variant": "buffer"
|
|
},
|
|
"defaultValueStrategy": "omitted"
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "program",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "zeroableOptionTypeNode",
|
|
"item": {
|
|
"kind": "publicKeyTypeNode"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "authority",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "zeroableOptionTypeNode",
|
|
"item": {
|
|
"kind": "publicKeyTypeNode"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "canonical",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "booleanTypeNode",
|
|
"size": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "seed",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "postOffsetTypeNode",
|
|
"offset": 14,
|
|
"strategy": "padded",
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "seed"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "data",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "bytesTypeNode"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"pda": {
|
|
"kind": "pdaLinkNode",
|
|
"name": "metadata"
|
|
}
|
|
},
|
|
{
|
|
"kind": "accountNode",
|
|
"name": "metadata",
|
|
"docs": [],
|
|
"data": {
|
|
"kind": "structTypeNode",
|
|
"fields": [
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "discriminator",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "accountDiscriminator"
|
|
},
|
|
"defaultValue": {
|
|
"kind": "enumValueNode",
|
|
"enum": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "accountDiscriminator"
|
|
},
|
|
"variant": "metadata"
|
|
},
|
|
"defaultValueStrategy": "omitted"
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "program",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "publicKeyTypeNode"
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "authority",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "zeroableOptionTypeNode",
|
|
"item": {
|
|
"kind": "publicKeyTypeNode"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "mutable",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "booleanTypeNode",
|
|
"size": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "canonical",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "booleanTypeNode",
|
|
"size": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "seed",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "seed"
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "encoding",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "encoding"
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "compression",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "compression"
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "format",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "format"
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "dataSource",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "dataSource"
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "dataLength",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "postOffsetTypeNode",
|
|
"offset": 5,
|
|
"strategy": "padded",
|
|
"type": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u32",
|
|
"endian": "le"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "data",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "bytesTypeNode"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"pda": {
|
|
"kind": "pdaLinkNode",
|
|
"name": "metadata"
|
|
}
|
|
}
|
|
],
|
|
"instructions": [
|
|
{
|
|
"kind": "instructionNode",
|
|
"name": "write",
|
|
"docs": [],
|
|
"optionalAccountStrategy": "programId",
|
|
"accounts": [
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "buffer",
|
|
"docs": [
|
|
"The buffer to write to."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "authority",
|
|
"docs": [
|
|
"The authority of the buffer."
|
|
],
|
|
"isSigner": true,
|
|
"isWritable": false
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "sourceBuffer",
|
|
"docs": [
|
|
"Buffer to copy the data from.",
|
|
"You may use the `data` argument instead of this account to pass data directly."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
}
|
|
],
|
|
"arguments": [
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "discriminator",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
},
|
|
"defaultValueStrategy": "omitted",
|
|
"defaultValue": {
|
|
"kind": "numberValueNode",
|
|
"number": 0
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "offset",
|
|
"docs": [
|
|
"The offset to write to."
|
|
],
|
|
"type": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u32",
|
|
"endian": "le"
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "data",
|
|
"docs": [
|
|
"The data to write at the provided offset.",
|
|
"You may use the `source_buffer` account instead of this argument to copy from an existing buffer."
|
|
],
|
|
"defaultValue": {
|
|
"kind": "noneValueNode"
|
|
},
|
|
"type": {
|
|
"kind": "remainderOptionTypeNode",
|
|
"item": {
|
|
"kind": "bytesTypeNode"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"discriminators": [
|
|
{
|
|
"kind": "fieldDiscriminatorNode",
|
|
"name": "discriminator",
|
|
"offset": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"kind": "instructionNode",
|
|
"name": "initialize",
|
|
"docs": [],
|
|
"optionalAccountStrategy": "programId",
|
|
"accounts": [
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "metadata",
|
|
"docs": [
|
|
"Metadata account the initialize."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": true,
|
|
"defaultValue": {
|
|
"kind": "conditionalValueNode",
|
|
"condition": {
|
|
"kind": "accountValueNode",
|
|
"name": "programData"
|
|
},
|
|
"ifTrue": {
|
|
"kind": "pdaValueNode",
|
|
"pda": {
|
|
"kind": "pdaLinkNode",
|
|
"name": "canonical"
|
|
},
|
|
"seeds": [
|
|
{
|
|
"kind": "pdaSeedValueNode",
|
|
"name": "program",
|
|
"value": {
|
|
"kind": "accountValueNode",
|
|
"name": "program"
|
|
}
|
|
},
|
|
{
|
|
"kind": "pdaSeedValueNode",
|
|
"name": "seed",
|
|
"value": {
|
|
"kind": "argumentValueNode",
|
|
"name": "seed"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"ifFalse": {
|
|
"kind": "pdaValueNode",
|
|
"pda": {
|
|
"kind": "pdaLinkNode",
|
|
"name": "nonCanonical"
|
|
},
|
|
"seeds": [
|
|
{
|
|
"kind": "pdaSeedValueNode",
|
|
"name": "program",
|
|
"value": {
|
|
"kind": "accountValueNode",
|
|
"name": "program"
|
|
}
|
|
},
|
|
{
|
|
"kind": "pdaSeedValueNode",
|
|
"name": "authority",
|
|
"value": {
|
|
"kind": "accountValueNode",
|
|
"name": "authority"
|
|
}
|
|
},
|
|
{
|
|
"kind": "pdaSeedValueNode",
|
|
"name": "seed",
|
|
"value": {
|
|
"kind": "argumentValueNode",
|
|
"name": "seed"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "authority",
|
|
"docs": [
|
|
"Authority (for canonical, must match program upgrade authority)."
|
|
],
|
|
"isSigner": true,
|
|
"isWritable": false
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "program",
|
|
"docs": [
|
|
"Program account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "programData",
|
|
"docs": [
|
|
"Program data account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "system",
|
|
"docs": [
|
|
"System program."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true,
|
|
"defaultValue": {
|
|
"kind": "publicKeyValueNode",
|
|
"publicKey": "11111111111111111111111111111111"
|
|
}
|
|
}
|
|
],
|
|
"arguments": [
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "discriminator",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
},
|
|
"defaultValueStrategy": "omitted",
|
|
"defaultValue": {
|
|
"kind": "numberValueNode",
|
|
"number": 1
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "seed",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "seed"
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "encoding",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "encoding"
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "compression",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "compression"
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "format",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "format"
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "dataSource",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "dataSource"
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "data",
|
|
"docs": [],
|
|
"defaultValue": {
|
|
"kind": "noneValueNode"
|
|
},
|
|
"type": {
|
|
"kind": "remainderOptionTypeNode",
|
|
"item": {
|
|
"kind": "bytesTypeNode"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"discriminators": [
|
|
{
|
|
"kind": "fieldDiscriminatorNode",
|
|
"name": "discriminator",
|
|
"offset": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"kind": "instructionNode",
|
|
"name": "setAuthority",
|
|
"docs": [],
|
|
"optionalAccountStrategy": "programId",
|
|
"accounts": [
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "account",
|
|
"docs": [
|
|
"Metadata or buffer account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "authority",
|
|
"docs": [
|
|
"Current authority account."
|
|
],
|
|
"isSigner": true,
|
|
"isWritable": false
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "program",
|
|
"docs": [
|
|
"Program account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "programData",
|
|
"docs": [
|
|
"Program data account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
}
|
|
],
|
|
"arguments": [
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "discriminator",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
},
|
|
"defaultValueStrategy": "omitted",
|
|
"defaultValue": {
|
|
"kind": "numberValueNode",
|
|
"number": 2
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "newAuthority",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "optionTypeNode",
|
|
"item": {
|
|
"kind": "publicKeyTypeNode"
|
|
},
|
|
"prefix": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"discriminators": [
|
|
{
|
|
"kind": "fieldDiscriminatorNode",
|
|
"name": "discriminator",
|
|
"offset": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"kind": "instructionNode",
|
|
"name": "setData",
|
|
"docs": [],
|
|
"optionalAccountStrategy": "programId",
|
|
"accounts": [
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "metadata",
|
|
"docs": [
|
|
"Metadata account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "authority",
|
|
"docs": [
|
|
"Authority account."
|
|
],
|
|
"isSigner": true,
|
|
"isWritable": false
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "buffer",
|
|
"docs": [
|
|
"Buffer account to copy data from."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": true,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "program",
|
|
"docs": [
|
|
"Program account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "programData",
|
|
"docs": [
|
|
"Program data account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
}
|
|
],
|
|
"arguments": [
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "discriminator",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
},
|
|
"defaultValueStrategy": "omitted",
|
|
"defaultValue": {
|
|
"kind": "numberValueNode",
|
|
"number": 3
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "encoding",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "encoding"
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "compression",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "compression"
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "format",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "format"
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "dataSource",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "dataSource"
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "data",
|
|
"defaultValue": {
|
|
"kind": "noneValueNode"
|
|
},
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "remainderOptionTypeNode",
|
|
"item": {
|
|
"kind": "bytesTypeNode"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"discriminators": [
|
|
{
|
|
"kind": "fieldDiscriminatorNode",
|
|
"name": "discriminator",
|
|
"offset": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"kind": "instructionNode",
|
|
"name": "setImmutable",
|
|
"docs": [],
|
|
"optionalAccountStrategy": "programId",
|
|
"accounts": [
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "metadata",
|
|
"docs": [
|
|
"Metadata account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "authority",
|
|
"docs": [
|
|
"Authority account."
|
|
],
|
|
"isSigner": true,
|
|
"isWritable": false
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "program",
|
|
"docs": [
|
|
"Program account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "programData",
|
|
"docs": [
|
|
"Program data account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
}
|
|
],
|
|
"arguments": [
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "discriminator",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
},
|
|
"defaultValueStrategy": "omitted",
|
|
"defaultValue": {
|
|
"kind": "numberValueNode",
|
|
"number": 4
|
|
}
|
|
}
|
|
],
|
|
"discriminators": [
|
|
{
|
|
"kind": "fieldDiscriminatorNode",
|
|
"name": "discriminator",
|
|
"offset": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"kind": "instructionNode",
|
|
"name": "trim",
|
|
"docs": [],
|
|
"optionalAccountStrategy": "programId",
|
|
"accounts": [
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "account",
|
|
"docs": [
|
|
"Buffer or metadata account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "authority",
|
|
"docs": [
|
|
"Authority account."
|
|
],
|
|
"isSigner": true,
|
|
"isWritable": false
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "program",
|
|
"docs": [
|
|
"Program account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "programData",
|
|
"docs": [
|
|
"Program data account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "destination",
|
|
"docs": [
|
|
"Destination account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "rent",
|
|
"docs": [
|
|
"Rent sysvar account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"defaultValue": {
|
|
"kind": "publicKeyValueNode",
|
|
"publicKey": "SysvarRent111111111111111111111111111111111"
|
|
}
|
|
}
|
|
],
|
|
"arguments": [
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "discriminator",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
},
|
|
"defaultValueStrategy": "omitted",
|
|
"defaultValue": {
|
|
"kind": "numberValueNode",
|
|
"number": 5
|
|
}
|
|
}
|
|
],
|
|
"discriminators": [
|
|
{
|
|
"kind": "fieldDiscriminatorNode",
|
|
"name": "discriminator",
|
|
"offset": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"kind": "instructionNode",
|
|
"name": "close",
|
|
"docs": [],
|
|
"optionalAccountStrategy": "programId",
|
|
"accounts": [
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "account",
|
|
"docs": [
|
|
"Account to close."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "authority",
|
|
"docs": [
|
|
"Authority account."
|
|
],
|
|
"isSigner": true,
|
|
"isWritable": false
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "program",
|
|
"docs": [
|
|
"Program account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "programData",
|
|
"docs": [
|
|
"Program data account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "destination",
|
|
"docs": [
|
|
"Destination account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": true
|
|
}
|
|
],
|
|
"arguments": [
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "discriminator",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
},
|
|
"defaultValueStrategy": "omitted",
|
|
"defaultValue": {
|
|
"kind": "numberValueNode",
|
|
"number": 6
|
|
}
|
|
}
|
|
],
|
|
"discriminators": [
|
|
{
|
|
"kind": "fieldDiscriminatorNode",
|
|
"name": "discriminator",
|
|
"offset": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"kind": "instructionNode",
|
|
"name": "allocate",
|
|
"docs": [],
|
|
"optionalAccountStrategy": "programId",
|
|
"accounts": [
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "buffer",
|
|
"docs": [
|
|
"Buffer account to allocate."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "authority",
|
|
"docs": [
|
|
"Authority account."
|
|
],
|
|
"isSigner": true,
|
|
"isWritable": false
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "program",
|
|
"docs": [
|
|
"Program account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "programData",
|
|
"docs": [
|
|
"Program data account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "system",
|
|
"docs": [
|
|
"System program."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true,
|
|
"defaultValue": {
|
|
"kind": "publicKeyValueNode",
|
|
"publicKey": "11111111111111111111111111111111"
|
|
}
|
|
}
|
|
],
|
|
"arguments": [
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "discriminator",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
},
|
|
"defaultValueStrategy": "omitted",
|
|
"defaultValue": {
|
|
"kind": "numberValueNode",
|
|
"number": 7
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "seed",
|
|
"docs": [
|
|
"The seed of the metadata for PDA buffers."
|
|
],
|
|
"defaultValue": {
|
|
"kind": "noneValueNode"
|
|
},
|
|
"type": {
|
|
"kind": "remainderOptionTypeNode",
|
|
"item": {
|
|
"kind": "definedTypeLinkNode",
|
|
"name": "seed"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"discriminators": [
|
|
{
|
|
"kind": "fieldDiscriminatorNode",
|
|
"name": "discriminator",
|
|
"offset": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"kind": "instructionNode",
|
|
"name": "extend",
|
|
"docs": [],
|
|
"optionalAccountStrategy": "programId",
|
|
"accounts": [
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "account",
|
|
"docs": [
|
|
"Buffer or metadata account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "authority",
|
|
"docs": [
|
|
"Authority account."
|
|
],
|
|
"isSigner": true,
|
|
"isWritable": false
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "program",
|
|
"docs": [
|
|
"Program account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"kind": "instructionAccountNode",
|
|
"name": "programData",
|
|
"docs": [
|
|
"Program data account."
|
|
],
|
|
"isSigner": false,
|
|
"isWritable": false,
|
|
"isOptional": true
|
|
}
|
|
],
|
|
"arguments": [
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "discriminator",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
},
|
|
"defaultValueStrategy": "omitted",
|
|
"defaultValue": {
|
|
"kind": "numberValueNode",
|
|
"number": 8
|
|
}
|
|
},
|
|
{
|
|
"kind": "instructionArgumentNode",
|
|
"name": "length",
|
|
"docs": [
|
|
"Length (in bytes) to add to the account size."
|
|
],
|
|
"type": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u16",
|
|
"endian": "le"
|
|
}
|
|
}
|
|
],
|
|
"discriminators": [
|
|
{
|
|
"kind": "fieldDiscriminatorNode",
|
|
"name": "discriminator",
|
|
"offset": 0
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"definedTypes": [
|
|
{
|
|
"kind": "definedTypeNode",
|
|
"name": "seed",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "fixedSizeTypeNode",
|
|
"size": 16,
|
|
"type": {
|
|
"kind": "stringTypeNode",
|
|
"encoding": "utf8"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "definedTypeNode",
|
|
"name": "accountDiscriminator",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "enumTypeNode",
|
|
"variants": [
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "empty"
|
|
},
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "buffer"
|
|
},
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "metadata"
|
|
}
|
|
],
|
|
"size": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "definedTypeNode",
|
|
"name": "encoding",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "enumTypeNode",
|
|
"variants": [
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "none"
|
|
},
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "utf8"
|
|
},
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "base58"
|
|
},
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "base64"
|
|
}
|
|
],
|
|
"size": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "definedTypeNode",
|
|
"name": "compression",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "enumTypeNode",
|
|
"variants": [
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "none"
|
|
},
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "gzip"
|
|
},
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "zlib"
|
|
}
|
|
],
|
|
"size": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "definedTypeNode",
|
|
"name": "format",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "enumTypeNode",
|
|
"variants": [
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "none"
|
|
},
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "json"
|
|
},
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "yaml"
|
|
},
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "toml"
|
|
}
|
|
],
|
|
"size": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "definedTypeNode",
|
|
"name": "dataSource",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "enumTypeNode",
|
|
"variants": [
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "direct"
|
|
},
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "url"
|
|
},
|
|
{
|
|
"kind": "enumEmptyVariantTypeNode",
|
|
"name": "external"
|
|
}
|
|
],
|
|
"size": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u8",
|
|
"endian": "le"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"kind": "definedTypeNode",
|
|
"name": "externalData",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "structTypeNode",
|
|
"fields": [
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "address",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "publicKeyTypeNode"
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "offset",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u32",
|
|
"endian": "le"
|
|
}
|
|
},
|
|
{
|
|
"kind": "structFieldTypeNode",
|
|
"name": "length",
|
|
"docs": [],
|
|
"type": {
|
|
"kind": "zeroableOptionTypeNode",
|
|
"item": {
|
|
"kind": "numberTypeNode",
|
|
"format": "u32",
|
|
"endian": "le"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"errors": [
|
|
{
|
|
"kind": "errorNode",
|
|
"name": "notExecutableAccount",
|
|
"code": 0,
|
|
"message": "The program account is not executable",
|
|
"docs": [
|
|
"NotExecutableAccount: The program account is not executable"
|
|
]
|
|
},
|
|
{
|
|
"kind": "errorNode",
|
|
"name": "invalidProgramState",
|
|
"code": 1,
|
|
"message": "The program state is invalid",
|
|
"docs": [
|
|
"InvalidProgramState: The program state is invalid"
|
|
]
|
|
},
|
|
{
|
|
"kind": "errorNode",
|
|
"name": "invalidProgramDataAccount",
|
|
"code": 2,
|
|
"message": "The program data account is invalid",
|
|
"docs": [
|
|
"InvalidProgramDataAccount: The program data account is invalid"
|
|
]
|
|
},
|
|
{
|
|
"kind": "errorNode",
|
|
"name": "immutableMetadataAccount",
|
|
"code": 3,
|
|
"message": "The metadata account is immutable",
|
|
"docs": [
|
|
"ImmutableMetadataAccount: The metadata account is immutable"
|
|
]
|
|
},
|
|
{
|
|
"kind": "errorNode",
|
|
"name": "invalidDataLength",
|
|
"code": 4,
|
|
"message": "The account data length is invalid",
|
|
"docs": [
|
|
"InvalidDataLength: The account data length is invalid"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"additionalPrograms": []
|
|
} |