idl.json 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. {
  2. "version": "0.0.0",
  3. "name": "example",
  4. "instructions": [
  5. {
  6. "name": "create_root",
  7. "accounts": [
  8. {
  9. "name": "authority",
  10. "isMut": false,
  11. "isSigner": true
  12. },
  13. {
  14. "name": "root",
  15. "isMut": true,
  16. "isSigner": false
  17. }
  18. ],
  19. "args": [
  20. {
  21. "name": "authority",
  22. "type": "publicKey"
  23. },
  24. {
  25. "name": "data",
  26. "type": "u64"
  27. }
  28. ]
  29. },
  30. {
  31. "name": "update_root",
  32. "accounts": [
  33. {
  34. "name": "authority",
  35. "isMut": false,
  36. "isSigner": true
  37. },
  38. {
  39. "name": "root",
  40. "isMut": true,
  41. "isSigner": false
  42. }
  43. ],
  44. "args": [
  45. {
  46. "name": "data",
  47. "type": "u64"
  48. }
  49. ]
  50. },
  51. {
  52. "name": "create_leaf",
  53. "accounts": [
  54. {
  55. "name": "root",
  56. "isMut": false,
  57. "isSigner": false
  58. },
  59. {
  60. "name": "leaf",
  61. "isMut": true,
  62. "isSigner": false
  63. }
  64. ],
  65. "args": [
  66. {
  67. "name": "data",
  68. "type": "u64"
  69. },
  70. {
  71. "name": "custom",
  72. "type": {
  73. "defined": "MyCustomType"
  74. }
  75. }
  76. ]
  77. },
  78. {
  79. "name": "update_leaf",
  80. "accounts": [
  81. {
  82. "name": "authority",
  83. "isMut": false,
  84. "isSigner": true
  85. },
  86. {
  87. "name": "root",
  88. "isMut": false,
  89. "isSigner": false
  90. },
  91. {
  92. "name": "leaf",
  93. "isMut": true,
  94. "isSigner": false
  95. }
  96. ],
  97. "args": [
  98. {
  99. "name": "data",
  100. "type": "u64"
  101. },
  102. {
  103. "name": "custom",
  104. "type": {
  105. "option": {
  106. "defined": "MyCustomType"
  107. }
  108. }
  109. }
  110. ]
  111. }
  112. ],
  113. "accounts": [
  114. {
  115. "name": "Root",
  116. "type": {
  117. "kind": "struct",
  118. "fields": [
  119. {
  120. "name": "initialized",
  121. "type": "bool"
  122. },
  123. {
  124. "name": "authority",
  125. "type": "publicKey"
  126. },
  127. {
  128. "name": "data",
  129. "type": "u64"
  130. }
  131. ]
  132. }
  133. },
  134. {
  135. "name": "Leaf",
  136. "type": {
  137. "kind": "struct",
  138. "fields": [
  139. {
  140. "name": "initialized",
  141. "type": "bool"
  142. },
  143. {
  144. "name": "root",
  145. "type": "publicKey"
  146. },
  147. {
  148. "name": "data",
  149. "type": "u64"
  150. },
  151. {
  152. "name": "custom",
  153. "type": {
  154. "defined": "MyCustomType"
  155. }
  156. }
  157. ]
  158. }
  159. }
  160. ],
  161. "types": [
  162. {
  163. "name": "MyCustomType",
  164. "type": {
  165. "kind": "struct",
  166. "fields": [
  167. {
  168. "name": "my_data",
  169. "type": "u64"
  170. },
  171. {
  172. "name": "key",
  173. "type": "publicKey"
  174. }
  175. ]
  176. }
  177. }
  178. ]
  179. }