idl.json 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. {
  2. "version": "1.0.0",
  3. "name": "spl_feature_proposal",
  4. "instructions": [
  5. {
  6. "name": "propose",
  7. "accounts": [
  8. {
  9. "name": "fundingAddress",
  10. "isMut": true,
  11. "isSigner": true
  12. },
  13. {
  14. "name": "featureProposalAddress",
  15. "isMut": true,
  16. "isSigner": true
  17. },
  18. {
  19. "name": "mintAddress",
  20. "isMut": true,
  21. "isSigner": false
  22. },
  23. {
  24. "name": "distributorTokenAddress",
  25. "isMut": true,
  26. "isSigner": false
  27. },
  28. {
  29. "name": "acceptanceTokenAddress",
  30. "isMut": true,
  31. "isSigner": false
  32. },
  33. {
  34. "name": "feature",
  35. "isMut": true,
  36. "isSigner": false
  37. },
  38. {
  39. "name": "systemProgram",
  40. "isMut": false,
  41. "isSigner": false
  42. },
  43. {
  44. "name": "tokenProgram",
  45. "isMut": false,
  46. "isSigner": false
  47. },
  48. {
  49. "name": "rent",
  50. "isMut": false,
  51. "isSigner": false
  52. }
  53. ],
  54. "args": [
  55. {
  56. "name": "tokensToMint",
  57. "type": "u64"
  58. },
  59. {
  60. "name": "acceptanceCriteria",
  61. "type": {
  62. "defined": "AcceptanceCriteria"
  63. }
  64. }
  65. ]
  66. },
  67. {
  68. "name": "tally",
  69. "accounts": [
  70. {
  71. "name": "featureProposalAddress",
  72. "isMut": true,
  73. "isSigner": false
  74. },
  75. {
  76. "name": "acceptanceTokenAddress",
  77. "isMut": false,
  78. "isSigner": false
  79. },
  80. {
  81. "name": "feature",
  82. "isMut": true,
  83. "isSigner": false
  84. },
  85. {
  86. "name": "systemProgram",
  87. "isMut": false,
  88. "isSigner": false
  89. },
  90. {
  91. "name": "clock",
  92. "isMut": false,
  93. "isSigner": false
  94. }
  95. ],
  96. "args": []
  97. }
  98. ],
  99. "accounts": [
  100. {
  101. "name": "FeatureProposal",
  102. "type": {
  103. "kind": "enum",
  104. "variants": [
  105. {
  106. "name": "Uninitialized"
  107. },
  108. {
  109. "name": "Pending",
  110. "fields": [
  111. {
  112. "defined": "AcceptanceCriteria"
  113. }
  114. ]
  115. },
  116. {
  117. "name": "Accepted",
  118. "fields": [
  119. {
  120. "name": "tokens_upon_acceptance",
  121. "type": "u64"
  122. }
  123. ]
  124. },
  125. {
  126. "name": "Expired"
  127. }
  128. ]
  129. }
  130. }
  131. ],
  132. "types": [
  133. {
  134. "name": "AcceptanceCriteria",
  135. "type": {
  136. "kind": "struct",
  137. "fields": [
  138. {
  139. "name": "tokensRequired",
  140. "type": "u64"
  141. },
  142. {
  143. "name": "deadline",
  144. "type": "i64"
  145. }
  146. ]
  147. }
  148. }
  149. ]
  150. }