Skip to content

Commit 396c398

Browse files
authored
Add Kinobi IDL (#5)
1 parent 624fee7 commit 396c398

File tree

1 file changed

+155
-0
lines changed

1 file changed

+155
-0
lines changed

program/idl.json

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
{
2+
"kind": "rootNode",
3+
"program": {
4+
"kind": "programNode",
5+
"pdas": [],
6+
"accounts": [
7+
{
8+
"kind": "accountNode",
9+
"data": {
10+
"kind": "structTypeNode",
11+
"fields": [
12+
{
13+
"kind": "structFieldTypeNode",
14+
"name": "keys",
15+
"type": {
16+
"kind": "arrayTypeNode",
17+
"item": {
18+
"kind": "tupleTypeNode",
19+
"items": [
20+
{
21+
"kind": "publicKeyTypeNode"
22+
},
23+
{
24+
"kind": "booleanTypeNode",
25+
"size": {
26+
"kind": "numberTypeNode",
27+
"format": "u8",
28+
"endian": "le"
29+
}
30+
}
31+
]
32+
},
33+
"count": {
34+
"kind": "prefixedCountNode",
35+
"prefix": {
36+
"kind": "numberTypeNode",
37+
"format": "shortU16",
38+
"endian": "le"
39+
}
40+
}
41+
},
42+
"docs": [
43+
"List of pubkeys stored in the config account,",
44+
"and whether each pubkey needs to sign subsequent calls to `store`."
45+
]
46+
},
47+
{
48+
"kind": "structFieldTypeNode",
49+
"name": "data",
50+
"type": {
51+
"kind": "bytesTypeNode"
52+
},
53+
"docs": ["Arbitrary data to store in the config account."]
54+
}
55+
]
56+
},
57+
"name": "config",
58+
"docs": []
59+
}
60+
],
61+
"instructions": [
62+
{
63+
"kind": "instructionNode",
64+
"accounts": [
65+
{
66+
"kind": "instructionAccountNode",
67+
"name": "configAccount",
68+
"isWritable": true,
69+
"isSigner": "either",
70+
"isOptional": false,
71+
"docs": [
72+
"The config account to be modified.",
73+
"Must sign during the first call to `store` to initialize the account,",
74+
"or if no signers are configured in the config data."
75+
]
76+
}
77+
],
78+
"arguments": [
79+
{
80+
"kind": "instructionArgumentNode",
81+
"name": "keys",
82+
"type": {
83+
"kind": "arrayTypeNode",
84+
"item": {
85+
"kind": "tupleTypeNode",
86+
"items": [
87+
{
88+
"kind": "publicKeyTypeNode"
89+
},
90+
{
91+
"kind": "booleanTypeNode",
92+
"size": {
93+
"kind": "numberTypeNode",
94+
"format": "u8",
95+
"endian": "le"
96+
}
97+
}
98+
]
99+
},
100+
"count": {
101+
"kind": "prefixedCountNode",
102+
"prefix": {
103+
"kind": "numberTypeNode",
104+
"format": "shortU16",
105+
"endian": "le"
106+
}
107+
}
108+
},
109+
"docs": [
110+
"List of pubkeys to store in the config account,",
111+
"and whether each pubkey needs to sign subsequent calls to `store`.",
112+
"Non-signer pubkeys do not need to be passed to the program as accounts."
113+
]
114+
},
115+
{
116+
"kind": "instructionArgumentNode",
117+
"name": "data",
118+
"type": {
119+
"kind": "bytesTypeNode"
120+
},
121+
"docs": ["Arbitrary data to store in the config account."]
122+
}
123+
],
124+
"remainingAccounts": [
125+
{
126+
"kind": "instructionRemainingAccountsNode",
127+
"value": {
128+
"kind": "argumentValueNode",
129+
"name": "signers"
130+
},
131+
"isOptional": true,
132+
"isSigner": true
133+
}
134+
],
135+
"name": "store",
136+
"docs": [
137+
"Stores keys and data in a config account.",
138+
"Keys can be marked as signer or non-signer.",
139+
"Only non-signer keys and data can be updated. Signer keys are immutable."
140+
],
141+
"optionalAccountStrategy": "omitted"
142+
}
143+
],
144+
"definedTypes": [],
145+
"errors": [],
146+
"name": "config",
147+
"prefix": "",
148+
"publicKey": "Config1111111111111111111111111111111111111",
149+
"version": "0.0.1",
150+
"origin": "shank"
151+
},
152+
"additionalPrograms": [],
153+
"standard": "kinobi",
154+
"version": "0.19.0"
155+
}

0 commit comments

Comments
 (0)