idl.json 3.0 KB

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