idl.json 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. {
  2. "version": "0.0.0",
  3. "name": "example",
  4. "methods": [
  5. {
  6. "name": "create_root",
  7. "accounts": [
  8. {
  9. "name": "authority",
  10. "is_mut": false,
  11. "is_signer": true
  12. },
  13. {
  14. "name": "root",
  15. "is_mut": true,
  16. "is_signer": 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. "is_mut": false,
  36. "is_signer": true
  37. },
  38. {
  39. "name": "root",
  40. "is_mut": true,
  41. "is_signer": 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. "is_mut": false,
  57. "is_signer": false
  58. },
  59. {
  60. "name": "leaf",
  61. "is_mut": true,
  62. "is_signer": 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. "is_mut": false,
  84. "is_signer": true
  85. },
  86. {
  87. "name": "root",
  88. "is_mut": false,
  89. "is_signer": false
  90. },
  91. {
  92. "name": "leaf",
  93. "is_mut": true,
  94. "is_signer": false
  95. }
  96. ],
  97. "args": [
  98. {
  99. "name": "data",
  100. "type": "u64"
  101. }
  102. ]
  103. }
  104. ],
  105. "accounts": [
  106. {
  107. "type": "struct",
  108. "name": "Root",
  109. "fields": [
  110. {
  111. "name": "initialized",
  112. "type": "bool"
  113. },
  114. {
  115. "name": "authority",
  116. "type": "publicKey"
  117. },
  118. {
  119. "name": "data",
  120. "type": "u64"
  121. }
  122. ]
  123. },
  124. {
  125. "type": "struct",
  126. "name": "Leaf",
  127. "fields": [
  128. {
  129. "name": "initialized",
  130. "type": "bool"
  131. },
  132. {
  133. "name": "root",
  134. "type": "publicKey"
  135. },
  136. {
  137. "name": "data",
  138. "type": "u64"
  139. },
  140. {
  141. "name": "custom",
  142. "type": {
  143. "defined": "MyCustomType"
  144. }
  145. }
  146. ]
  147. }
  148. ],
  149. "types": [
  150. {
  151. "type": "struct",
  152. "name": "MyCustomType",
  153. "fields": [
  154. {
  155. "name": "my_data",
  156. "type": "u64"
  157. },
  158. {
  159. "name": "key",
  160. "type": "publicKey"
  161. }
  162. ]
  163. }
  164. ]
  165. }