179 lines
3.1 KiB
JSON
179 lines
3.1 KiB
JSON
{
|
|
"version": "0.0.0",
|
|
"name": "example",
|
|
"instructions": [
|
|
{
|
|
"name": "create_root",
|
|
"accounts": [
|
|
{
|
|
"name": "authority",
|
|
"isMut": false,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "root",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "authority",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": "u64"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "update_root",
|
|
"accounts": [
|
|
{
|
|
"name": "authority",
|
|
"isMut": false,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "root",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "data",
|
|
"type": "u64"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "create_leaf",
|
|
"accounts": [
|
|
{
|
|
"name": "root",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "leaf",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "data",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "custom",
|
|
"type": {
|
|
"defined": "MyCustomType"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "update_leaf",
|
|
"accounts": [
|
|
{
|
|
"name": "authority",
|
|
"isMut": false,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "root",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "leaf",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "data",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "custom",
|
|
"type": {
|
|
"option": {
|
|
"defined": "MyCustomType"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"accounts": [
|
|
{
|
|
"name": "Root",
|
|
"type": {
|
|
"kind": "struct",
|
|
"fields": [
|
|
{
|
|
"name": "initialized",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"name": "authority",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": "u64"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "Leaf",
|
|
"type": {
|
|
"kind": "struct",
|
|
"fields": [
|
|
{
|
|
"name": "initialized",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"name": "root",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "custom",
|
|
"type": {
|
|
"defined": "MyCustomType"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"types": [
|
|
{
|
|
"name": "MyCustomType",
|
|
"type": {
|
|
"kind": "struct",
|
|
"fields": [
|
|
{
|
|
"name": "my_data",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "key",
|
|
"type": "publicKey"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
} |