@realms-today/sowell-governance 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/README.md +336 -0
  2. package/dist/accounts/bet.d.ts +30 -0
  3. package/dist/accounts/bet.d.ts.map +1 -0
  4. package/dist/accounts/bet.js +36 -0
  5. package/dist/accounts/bet.js.map +1 -0
  6. package/dist/accounts/governance.d.ts +18 -0
  7. package/dist/accounts/governance.d.ts.map +1 -0
  8. package/dist/accounts/governance.js +21 -0
  9. package/dist/accounts/governance.js.map +1 -0
  10. package/dist/accounts/governanceLimits.d.ts +10 -0
  11. package/dist/accounts/governanceLimits.d.ts.map +1 -0
  12. package/dist/accounts/governanceLimits.js +14 -0
  13. package/dist/accounts/governanceLimits.js.map +1 -0
  14. package/dist/accounts/index.d.ts +14 -0
  15. package/dist/accounts/index.d.ts.map +1 -0
  16. package/dist/accounts/index.js +30 -0
  17. package/dist/accounts/index.js.map +1 -0
  18. package/dist/accounts/proposal.d.ts +40 -0
  19. package/dist/accounts/proposal.d.ts.map +1 -0
  20. package/dist/accounts/proposal.js +46 -0
  21. package/dist/accounts/proposal.js.map +1 -0
  22. package/dist/accounts/proposalDeposit.d.ts +9 -0
  23. package/dist/accounts/proposalDeposit.d.ts.map +1 -0
  24. package/dist/accounts/proposalDeposit.js +13 -0
  25. package/dist/accounts/proposalDeposit.js.map +1 -0
  26. package/dist/accounts/proposalTransaction.d.ts +15 -0
  27. package/dist/accounts/proposalTransaction.d.ts.map +1 -0
  28. package/dist/accounts/proposalTransaction.js +19 -0
  29. package/dist/accounts/proposalTransaction.js.map +1 -0
  30. package/dist/accounts/realm.d.ts +17 -0
  31. package/dist/accounts/realm.d.ts.map +1 -0
  32. package/dist/accounts/realm.js +19 -0
  33. package/dist/accounts/realm.js.map +1 -0
  34. package/dist/accounts/realmConfig.d.ts +16 -0
  35. package/dist/accounts/realmConfig.d.ts.map +1 -0
  36. package/dist/accounts/realmConfig.js +22 -0
  37. package/dist/accounts/realmConfig.js.map +1 -0
  38. package/dist/accounts/receipt.d.ts +21 -0
  39. package/dist/accounts/receipt.d.ts.map +1 -0
  40. package/dist/accounts/receipt.js +24 -0
  41. package/dist/accounts/receipt.js.map +1 -0
  42. package/dist/accounts/secondaryMarket.d.ts +21 -0
  43. package/dist/accounts/secondaryMarket.d.ts.map +1 -0
  44. package/dist/accounts/secondaryMarket.js +27 -0
  45. package/dist/accounts/secondaryMarket.js.map +1 -0
  46. package/dist/accounts/sowellianConfig.d.ts +20 -0
  47. package/dist/accounts/sowellianConfig.d.ts.map +1 -0
  48. package/dist/accounts/sowellianConfig.js +37 -0
  49. package/dist/accounts/sowellianConfig.js.map +1 -0
  50. package/dist/accounts/tokenOwnerRecord.d.ts +15 -0
  51. package/dist/accounts/tokenOwnerRecord.d.ts.map +1 -0
  52. package/dist/accounts/tokenOwnerRecord.js +19 -0
  53. package/dist/accounts/tokenOwnerRecord.js.map +1 -0
  54. package/dist/accounts/voteRecord.d.ts +13 -0
  55. package/dist/accounts/voteRecord.d.ts.map +1 -0
  56. package/dist/accounts/voteRecord.js +17 -0
  57. package/dist/accounts/voteRecord.js.map +1 -0
  58. package/dist/borsh.d.ts +46 -0
  59. package/dist/borsh.d.ts.map +1 -0
  60. package/dist/borsh.js +192 -0
  61. package/dist/borsh.js.map +1 -0
  62. package/dist/decode.d.ts +96 -0
  63. package/dist/decode.d.ts.map +1 -0
  64. package/dist/decode.js +128 -0
  65. package/dist/decode.js.map +1 -0
  66. package/dist/enums.d.ts +124 -0
  67. package/dist/enums.d.ts.map +1 -0
  68. package/dist/enums.js +143 -0
  69. package/dist/enums.js.map +1 -0
  70. package/dist/errors.d.ts +171 -0
  71. package/dist/errors.d.ts.map +1 -0
  72. package/dist/errors.js +342 -0
  73. package/dist/errors.js.map +1 -0
  74. package/dist/events.d.ts +33 -0
  75. package/dist/events.d.ts.map +1 -0
  76. package/dist/events.js +68 -0
  77. package/dist/events.js.map +1 -0
  78. package/dist/index.d.ts +11 -0
  79. package/dist/index.d.ts.map +1 -0
  80. package/dist/index.js +27 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/instructions/castSecondaryVote.d.ts +16 -0
  83. package/dist/instructions/castSecondaryVote.d.ts.map +1 -0
  84. package/dist/instructions/castSecondaryVote.js +36 -0
  85. package/dist/instructions/castSecondaryVote.js.map +1 -0
  86. package/dist/instructions/castSowellianVote.d.ts +22 -0
  87. package/dist/instructions/castSowellianVote.d.ts.map +1 -0
  88. package/dist/instructions/castSowellianVote.js +38 -0
  89. package/dist/instructions/castSowellianVote.js.map +1 -0
  90. package/dist/instructions/castVote.d.ts +18 -0
  91. package/dist/instructions/castVote.d.ts.map +1 -0
  92. package/dist/instructions/castVote.js +37 -0
  93. package/dist/instructions/castVote.js.map +1 -0
  94. package/dist/instructions/closeBet.d.ts +13 -0
  95. package/dist/instructions/closeBet.d.ts.map +1 -0
  96. package/dist/instructions/closeBet.js +33 -0
  97. package/dist/instructions/closeBet.js.map +1 -0
  98. package/dist/instructions/closeProposal.d.ts +16 -0
  99. package/dist/instructions/closeProposal.d.ts.map +1 -0
  100. package/dist/instructions/closeProposal.js +31 -0
  101. package/dist/instructions/closeProposal.js.map +1 -0
  102. package/dist/instructions/closeReceipt.d.ts +11 -0
  103. package/dist/instructions/closeReceipt.d.ts.map +1 -0
  104. package/dist/instructions/closeReceipt.js +19 -0
  105. package/dist/instructions/closeReceipt.js.map +1 -0
  106. package/dist/instructions/closeSecondary.d.ts +13 -0
  107. package/dist/instructions/closeSecondary.d.ts.map +1 -0
  108. package/dist/instructions/closeSecondary.js +29 -0
  109. package/dist/instructions/closeSecondary.js.map +1 -0
  110. package/dist/instructions/createGovernance.d.ts +14 -0
  111. package/dist/instructions/createGovernance.d.ts.map +1 -0
  112. package/dist/instructions/createGovernance.js +31 -0
  113. package/dist/instructions/createGovernance.js.map +1 -0
  114. package/dist/instructions/createNativeTreasury.d.ts +3 -0
  115. package/dist/instructions/createNativeTreasury.d.ts.map +1 -0
  116. package/dist/instructions/createNativeTreasury.js +20 -0
  117. package/dist/instructions/createNativeTreasury.js.map +1 -0
  118. package/dist/instructions/createProposal.d.ts +37 -0
  119. package/dist/instructions/createProposal.d.ts.map +1 -0
  120. package/dist/instructions/createProposal.js +72 -0
  121. package/dist/instructions/createProposal.js.map +1 -0
  122. package/dist/instructions/createProposalWithTransactions.d.ts +27 -0
  123. package/dist/instructions/createProposalWithTransactions.d.ts.map +1 -0
  124. package/dist/instructions/createProposalWithTransactions.js +85 -0
  125. package/dist/instructions/createProposalWithTransactions.js.map +1 -0
  126. package/dist/instructions/createRealm.d.ts +18 -0
  127. package/dist/instructions/createRealm.d.ts.map +1 -0
  128. package/dist/instructions/createRealm.js +61 -0
  129. package/dist/instructions/createRealm.js.map +1 -0
  130. package/dist/instructions/createTokenOwnerRecord.d.ts +3 -0
  131. package/dist/instructions/createTokenOwnerRecord.d.ts.map +1 -0
  132. package/dist/instructions/createTokenOwnerRecord.js +22 -0
  133. package/dist/instructions/createTokenOwnerRecord.js.map +1 -0
  134. package/dist/instructions/depositGoverningTokens.d.ts +14 -0
  135. package/dist/instructions/depositGoverningTokens.d.ts.map +1 -0
  136. package/dist/instructions/depositGoverningTokens.js +31 -0
  137. package/dist/instructions/depositGoverningTokens.js.map +1 -0
  138. package/dist/instructions/executeTransaction.d.ts +18 -0
  139. package/dist/instructions/executeTransaction.d.ts.map +1 -0
  140. package/dist/instructions/executeTransaction.js +25 -0
  141. package/dist/instructions/executeTransaction.js.map +1 -0
  142. package/dist/instructions/index.d.ts +29 -0
  143. package/dist/instructions/index.d.ts.map +1 -0
  144. package/dist/instructions/index.js +45 -0
  145. package/dist/instructions/index.js.map +1 -0
  146. package/dist/instructions/insertTransaction.d.ts +17 -0
  147. package/dist/instructions/insertTransaction.d.ts.map +1 -0
  148. package/dist/instructions/insertTransaction.js +31 -0
  149. package/dist/instructions/insertTransaction.js.map +1 -0
  150. package/dist/instructions/refundProposalDeposit.d.ts +3 -0
  151. package/dist/instructions/refundProposalDeposit.d.ts.map +1 -0
  152. package/dist/instructions/refundProposalDeposit.js +19 -0
  153. package/dist/instructions/refundProposalDeposit.js.map +1 -0
  154. package/dist/instructions/relinquishVote.d.ts +13 -0
  155. package/dist/instructions/relinquishVote.d.ts.map +1 -0
  156. package/dist/instructions/relinquishVote.js +27 -0
  157. package/dist/instructions/relinquishVote.js.map +1 -0
  158. package/dist/instructions/resolveBet.d.ts +21 -0
  159. package/dist/instructions/resolveBet.d.ts.map +1 -0
  160. package/dist/instructions/resolveBet.js +36 -0
  161. package/dist/instructions/resolveBet.js.map +1 -0
  162. package/dist/instructions/setGovernanceConfig.d.ts +4 -0
  163. package/dist/instructions/setGovernanceConfig.d.ts.map +1 -0
  164. package/dist/instructions/setGovernanceConfig.js +15 -0
  165. package/dist/instructions/setGovernanceConfig.js.map +1 -0
  166. package/dist/instructions/setGovernanceLimits.d.ts +4 -0
  167. package/dist/instructions/setGovernanceLimits.d.ts.map +1 -0
  168. package/dist/instructions/setGovernanceLimits.js +24 -0
  169. package/dist/instructions/setGovernanceLimits.js.map +1 -0
  170. package/dist/instructions/setOrUpdateSowellianConfig.d.ts +15 -0
  171. package/dist/instructions/setOrUpdateSowellianConfig.d.ts.map +1 -0
  172. package/dist/instructions/setOrUpdateSowellianConfig.js +30 -0
  173. package/dist/instructions/setOrUpdateSowellianConfig.js.map +1 -0
  174. package/dist/instructions/setRealmAuthority.d.ts +4 -0
  175. package/dist/instructions/setRealmAuthority.d.ts.map +1 -0
  176. package/dist/instructions/setRealmAuthority.js +21 -0
  177. package/dist/instructions/setRealmAuthority.js.map +1 -0
  178. package/dist/instructions/setRealmConfig.d.ts +15 -0
  179. package/dist/instructions/setRealmConfig.d.ts.map +1 -0
  180. package/dist/instructions/setRealmConfig.js +42 -0
  181. package/dist/instructions/setRealmConfig.js.map +1 -0
  182. package/dist/instructions/setSowellianGovernanceConfig.d.ts +12 -0
  183. package/dist/instructions/setSowellianGovernanceConfig.d.ts.map +1 -0
  184. package/dist/instructions/setSowellianGovernanceConfig.js +27 -0
  185. package/dist/instructions/setSowellianGovernanceConfig.js.map +1 -0
  186. package/dist/instructions/settleBet.d.ts +29 -0
  187. package/dist/instructions/settleBet.d.ts.map +1 -0
  188. package/dist/instructions/settleBet.js +44 -0
  189. package/dist/instructions/settleBet.js.map +1 -0
  190. package/dist/instructions/withdrawGoverningTokens.d.ts +11 -0
  191. package/dist/instructions/withdrawGoverningTokens.d.ts.map +1 -0
  192. package/dist/instructions/withdrawGoverningTokens.js +27 -0
  193. package/dist/instructions/withdrawGoverningTokens.js.map +1 -0
  194. package/dist/instructions/withdrawPayoff.d.ts +16 -0
  195. package/dist/instructions/withdrawPayoff.d.ts.map +1 -0
  196. package/dist/instructions/withdrawPayoff.js +28 -0
  197. package/dist/instructions/withdrawPayoff.js.map +1 -0
  198. package/dist/pda.d.ts +20 -0
  199. package/dist/pda.d.ts.map +1 -0
  200. package/dist/pda.js +144 -0
  201. package/dist/pda.js.map +1 -0
  202. package/dist/programId.d.ts +4 -0
  203. package/dist/programId.d.ts.map +1 -0
  204. package/dist/programId.js +17 -0
  205. package/dist/programId.js.map +1 -0
  206. package/dist/tradeExecutor/accounts.d.ts +3 -0
  207. package/dist/tradeExecutor/accounts.d.ts.map +1 -0
  208. package/dist/tradeExecutor/accounts.js +36 -0
  209. package/dist/tradeExecutor/accounts.js.map +1 -0
  210. package/dist/tradeExecutor/discriminators.d.ts +10 -0
  211. package/dist/tradeExecutor/discriminators.d.ts.map +1 -0
  212. package/dist/tradeExecutor/discriminators.js +13 -0
  213. package/dist/tradeExecutor/discriminators.js.map +1 -0
  214. package/dist/tradeExecutor/index.d.ts +7 -0
  215. package/dist/tradeExecutor/index.d.ts.map +1 -0
  216. package/dist/tradeExecutor/index.js +23 -0
  217. package/dist/tradeExecutor/index.js.map +1 -0
  218. package/dist/tradeExecutor/instructions.d.ts +44 -0
  219. package/dist/tradeExecutor/instructions.d.ts.map +1 -0
  220. package/dist/tradeExecutor/instructions.js +132 -0
  221. package/dist/tradeExecutor/instructions.js.map +1 -0
  222. package/dist/tradeExecutor/pda.d.ts +4 -0
  223. package/dist/tradeExecutor/pda.d.ts.map +1 -0
  224. package/dist/tradeExecutor/pda.js +15 -0
  225. package/dist/tradeExecutor/pda.js.map +1 -0
  226. package/dist/tradeExecutor/programId.d.ts +11 -0
  227. package/dist/tradeExecutor/programId.d.ts.map +1 -0
  228. package/dist/tradeExecutor/programId.js +14 -0
  229. package/dist/tradeExecutor/programId.js.map +1 -0
  230. package/dist/tradeExecutor/types.d.ts +57 -0
  231. package/dist/tradeExecutor/types.d.ts.map +1 -0
  232. package/dist/tradeExecutor/types.js +17 -0
  233. package/dist/tradeExecutor/types.js.map +1 -0
  234. package/dist/types.d.ts +135 -0
  235. package/dist/types.d.ts.map +1 -0
  236. package/dist/types.js +227 -0
  237. package/dist/types.js.map +1 -0
  238. package/package.json +42 -0
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveBetInstruction = resolveBetInstruction;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const borsh_1 = require("../borsh");
6
+ const enums_1 = require("../enums");
7
+ const pda_1 = require("../pda");
8
+ function resolveBetInstruction(args) {
9
+ const { programId, realm, resolutionAuthority, proposal, betVault, treasuryTokenAccount, communityMint, splTokenProgram, secondaryVault, outcomeYes, impactBps, } = args;
10
+ const sowellianConfig = (0, pda_1.getSowellianConfigAddress)(programId, realm);
11
+ const bet = (0, pda_1.getBetAddress)(programId, proposal);
12
+ const creatorReceipt = (0, pda_1.getReceiptAddress)(programId, bet, bet);
13
+ const keys = [
14
+ { pubkey: realm, isSigner: false, isWritable: false },
15
+ { pubkey: resolutionAuthority, isSigner: true, isWritable: false },
16
+ { pubkey: proposal, isSigner: false, isWritable: false },
17
+ { pubkey: sowellianConfig, isSigner: false, isWritable: false },
18
+ { pubkey: bet, isSigner: false, isWritable: true },
19
+ { pubkey: betVault, isSigner: false, isWritable: true },
20
+ { pubkey: treasuryTokenAccount, isSigner: false, isWritable: true },
21
+ { pubkey: communityMint, isSigner: false, isWritable: false },
22
+ { pubkey: splTokenProgram, isSigner: false, isWritable: false },
23
+ { pubkey: creatorReceipt, isSigner: false, isWritable: true },
24
+ ];
25
+ if (secondaryVault !== undefined) {
26
+ const secondary = (0, pda_1.getSecondaryMarketAddress)(programId, proposal);
27
+ keys.push({ pubkey: secondary, isSigner: false, isWritable: true });
28
+ keys.push({ pubkey: secondaryVault, isSigner: false, isWritable: true });
29
+ }
30
+ const w = new borsh_1.BorshWriter();
31
+ w.writeU8(enums_1.GovernanceInstruction.ResolveBet);
32
+ w.writeBool(outcomeYes);
33
+ w.writeU16(impactBps);
34
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
35
+ }
36
+ //# sourceMappingURL=resolveBet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveBet.js","sourceRoot":"","sources":["../../src/instructions/resolveBet.ts"],"names":[],"mappings":";;AAiCA,sDA8CC;AA/ED,6CAIyB;AACzB,oCAAuC;AACvC,oCAAiD;AACjD,gCAKgB;AAqBhB,SAAgB,qBAAqB,CACnC,IAAoB;IAEpB,MAAM,EACJ,SAAS,EACT,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,cAAc,EACd,UAAU,EACV,SAAS,GACV,GAAG,IAAI,CAAC;IAET,MAAM,eAAe,GAAG,IAAA,+BAAyB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,IAAA,mBAAa,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,IAAA,uBAAiB,EAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE9D,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACrD,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;QAClE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACxD,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/D,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAClD,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACvD,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACnE,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC7D,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/D,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;KAC9D,CAAC;IAEF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAA,+BAAyB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEtB,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ import { GovernanceConfig } from "../types";
3
+ export declare function setGovernanceConfigInstruction(programId: PublicKey, governance: PublicKey, config: GovernanceConfig): TransactionInstruction;
4
+ //# sourceMappingURL=setGovernanceConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setGovernanceConfig.d.ts","sourceRoot":"","sources":["../../src/instructions/setGovernanceConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAyB,MAAM,UAAU,CAAC;AAEnE,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,SAAS,EACrB,MAAM,EAAE,gBAAgB,GACvB,sBAAsB,CAQxB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setGovernanceConfigInstruction = setGovernanceConfigInstruction;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const borsh_1 = require("../borsh");
6
+ const enums_1 = require("../enums");
7
+ const types_1 = require("../types");
8
+ function setGovernanceConfigInstruction(programId, governance, config) {
9
+ const keys = [{ pubkey: governance, isSigner: true, isWritable: true }];
10
+ const w = new borsh_1.BorshWriter();
11
+ w.writeU8(enums_1.GovernanceInstruction.SetGovernanceConfig);
12
+ (0, types_1.writeGovernanceConfig)(w, config);
13
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
14
+ }
15
+ //# sourceMappingURL=setGovernanceConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setGovernanceConfig.js","sourceRoot":"","sources":["../../src/instructions/setGovernanceConfig.ts"],"names":[],"mappings":";;AAKA,wEAYC;AAjBD,6CAAoE;AACpE,oCAAuC;AACvC,oCAAiD;AACjD,oCAAmE;AAEnE,SAAgB,8BAA8B,CAC5C,SAAoB,EACpB,UAAqB,EACrB,MAAwB;IAExB,MAAM,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAExE,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,mBAAmB,CAAC,CAAC;IACrD,IAAA,6BAAqB,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAEjC,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ import { MintSpendingLimit } from "../types";
3
+ export declare function setGovernanceLimitsInstruction(programId: PublicKey, governance: PublicKey, realm: PublicKey, authority: PublicKey, payer: PublicKey, limits: MintSpendingLimit[]): TransactionInstruction;
4
+ //# sourceMappingURL=setGovernanceLimits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setGovernanceLimits.d.ts","sourceRoot":"","sources":["../../src/instructions/setGovernanceLimits.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,iBAAiB,EAA0B,MAAM,UAAU,CAAC;AAGrE,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,SAAS,EACrB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,iBAAiB,EAAE,GAC1B,sBAAsB,CAiBxB"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setGovernanceLimitsInstruction = setGovernanceLimitsInstruction;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const borsh_1 = require("../borsh");
6
+ const enums_1 = require("../enums");
7
+ const types_1 = require("../types");
8
+ const pda_1 = require("../pda");
9
+ function setGovernanceLimitsInstruction(programId, governance, realm, authority, payer, limits) {
10
+ const governanceLimits = (0, pda_1.getGovernanceLimitsAddress)(programId, governance);
11
+ const keys = [
12
+ { pubkey: governanceLimits, isSigner: false, isWritable: true },
13
+ { pubkey: governance, isSigner: false, isWritable: true },
14
+ { pubkey: realm, isSigner: false, isWritable: false },
15
+ { pubkey: authority, isSigner: true, isWritable: false },
16
+ { pubkey: payer, isSigner: true, isWritable: true },
17
+ { pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
18
+ ];
19
+ const w = new borsh_1.BorshWriter();
20
+ w.writeU8(enums_1.GovernanceInstruction.SetGovernanceLimits);
21
+ w.writeVec(limits, types_1.writeMintSpendingLimit);
22
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
23
+ }
24
+ //# sourceMappingURL=setGovernanceLimits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setGovernanceLimits.js","sourceRoot":"","sources":["../../src/instructions/setGovernanceLimits.ts"],"names":[],"mappings":";;AAUA,wEAwBC;AAlCD,6CAIyB;AACzB,oCAAuC;AACvC,oCAAiD;AACjD,oCAAqE;AACrE,gCAAoD;AAEpD,SAAgB,8BAA8B,CAC5C,SAAoB,EACpB,UAAqB,EACrB,KAAgB,EAChB,SAAoB,EACpB,KAAgB,EAChB,MAA2B;IAE3B,MAAM,gBAAgB,GAAG,IAAA,gCAA0B,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAE3E,MAAM,IAAI,GAAG;QACX,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAC/D,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACzD,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACrD,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;QACxD,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;QACnD,EAAE,MAAM,EAAE,uBAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;KACxE,CAAC;IAEF,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,mBAAmB,CAAC,CAAC;IACrD,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,8BAAsB,CAAC,CAAC;IAE3C,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export interface SetOrUpdateSowellianConfigArgs {
3
+ programId: PublicKey;
4
+ realm: PublicKey;
5
+ realmAuthority: PublicKey;
6
+ communityMint: PublicKey;
7
+ treasuryWallet: PublicKey;
8
+ payer: PublicKey;
9
+ treasuryCutBps: number;
10
+ impactEnabled: boolean;
11
+ executionGraceSecs: number;
12
+ resolutionAuthority: PublicKey;
13
+ }
14
+ export declare function setOrUpdateSowellianConfigInstruction(args: SetOrUpdateSowellianConfigArgs): TransactionInstruction;
15
+ //# sourceMappingURL=setOrUpdateSowellianConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setOrUpdateSowellianConfig.d.ts","sourceRoot":"","sources":["../../src/instructions/setOrUpdateSowellianConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,SAAS,CAAC;IAC1B,aAAa,EAAE,SAAS,CAAC;IACzB,cAAc,EAAE,SAAS,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,SAAS,CAAC;CAChC;AAED,wBAAgB,qCAAqC,CACnD,IAAI,EAAE,8BAA8B,GACnC,sBAAsB,CAoCxB"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setOrUpdateSowellianConfigInstruction = setOrUpdateSowellianConfigInstruction;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const borsh_1 = require("../borsh");
6
+ const enums_1 = require("../enums");
7
+ const pda_1 = require("../pda");
8
+ function setOrUpdateSowellianConfigInstruction(args) {
9
+ const { programId, realm, realmAuthority, communityMint, treasuryWallet, payer, treasuryCutBps, impactEnabled, executionGraceSecs, resolutionAuthority, } = args;
10
+ const realmConfig = (0, pda_1.getRealmConfigAddress)(programId, realm);
11
+ const sowellianConfig = (0, pda_1.getSowellianConfigAddress)(programId, realm);
12
+ const keys = [
13
+ { pubkey: realm, isSigner: false, isWritable: false },
14
+ { pubkey: realmAuthority, isSigner: true, isWritable: false },
15
+ { pubkey: realmConfig, isSigner: false, isWritable: false },
16
+ { pubkey: sowellianConfig, isSigner: false, isWritable: true },
17
+ { pubkey: communityMint, isSigner: false, isWritable: false },
18
+ { pubkey: treasuryWallet, isSigner: false, isWritable: false },
19
+ { pubkey: payer, isSigner: true, isWritable: true },
20
+ { pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
21
+ ];
22
+ const w = new borsh_1.BorshWriter();
23
+ w.writeU8(enums_1.GovernanceInstruction.SetOrUpdateSowellianConfig);
24
+ w.writeU16(treasuryCutBps);
25
+ w.writeBool(impactEnabled);
26
+ w.writeU32(executionGraceSecs);
27
+ w.writePubkey(resolutionAuthority);
28
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
29
+ }
30
+ //# sourceMappingURL=setOrUpdateSowellianConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setOrUpdateSowellianConfig.js","sourceRoot":"","sources":["../../src/instructions/setOrUpdateSowellianConfig.ts"],"names":[],"mappings":";;AAuBA,sFAsCC;AA7DD,6CAKyB;AACzB,oCAAuC;AACvC,oCAAiD;AACjD,gCAA0E;AAe1E,SAAgB,qCAAqC,CACnD,IAAoC;IAEpC,MAAM,EACJ,SAAS,EACT,KAAK,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,KAAK,EACL,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,mBAAmB,GACpB,GAAG,IAAI,CAAC;IAET,MAAM,WAAW,GAAG,IAAA,2BAAqB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,IAAA,+BAAyB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAEpE,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACrD,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;QAC7D,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC3D,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAC9D,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC7D,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC9D,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;QACnD,EAAE,MAAM,EAAE,uBAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;KACxE,CAAC;IAEF,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,0BAA0B,CAAC,CAAC;IAC5D,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC3B,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC3B,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/B,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAEnC,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ import { SetRealmAuthorityAction } from "../enums";
3
+ export declare function setRealmAuthorityInstruction(programId: PublicKey, realm: PublicKey, realmAuthority: PublicKey, action: SetRealmAuthorityAction, newRealmAuthority?: PublicKey): TransactionInstruction;
4
+ //# sourceMappingURL=setRealmAuthority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setRealmAuthority.d.ts","sourceRoot":"","sources":["../../src/instructions/setRealmAuthority.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAyB,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAE1E,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,SAAS,EACzB,MAAM,EAAE,uBAAuB,EAC/B,iBAAiB,CAAC,EAAE,SAAS,GAC5B,sBAAsB,CAkBxB"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setRealmAuthorityInstruction = setRealmAuthorityInstruction;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const borsh_1 = require("../borsh");
6
+ const enums_1 = require("../enums");
7
+ function setRealmAuthorityInstruction(programId, realm, realmAuthority, action, newRealmAuthority) {
8
+ const keys = [
9
+ { pubkey: realm, isSigner: false, isWritable: true },
10
+ { pubkey: realmAuthority, isSigner: true, isWritable: false },
11
+ ];
12
+ if (action === enums_1.SetRealmAuthorityAction.SetChecked ||
13
+ action === enums_1.SetRealmAuthorityAction.SetUnchecked) {
14
+ keys.push({ pubkey: newRealmAuthority, isSigner: false, isWritable: false });
15
+ }
16
+ const w = new borsh_1.BorshWriter();
17
+ w.writeU8(enums_1.GovernanceInstruction.SetRealmAuthority);
18
+ w.writeU8(action);
19
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
20
+ }
21
+ //# sourceMappingURL=setRealmAuthority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setRealmAuthority.js","sourceRoot":"","sources":["../../src/instructions/setRealmAuthority.ts"],"names":[],"mappings":";;AAQA,oEAwBC;AAhCD,6CAIyB;AACzB,oCAAuC;AACvC,oCAA0E;AAE1E,SAAgB,4BAA4B,CAC1C,SAAoB,EACpB,KAAgB,EAChB,cAAyB,EACzB,MAA+B,EAC/B,iBAA6B;IAE7B,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACpD,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;KAC9D,CAAC;IAEF,IACE,MAAM,KAAK,+BAAuB,CAAC,UAAU;QAC7C,MAAM,KAAK,+BAAuB,CAAC,YAAY,EAC/C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,iBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,iBAAiB,CAAC,CAAC;IACnD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAElB,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ import { GoverningTokenConfigArgs, MintMaxVoterWeightSource } from "../types";
3
+ export interface SetRealmConfigInstArgs {
4
+ programId: PublicKey;
5
+ realm: PublicKey;
6
+ realmAuthority: PublicKey;
7
+ payer: PublicKey;
8
+ councilMint?: PublicKey;
9
+ communityMintMaxVoterWeightSource: MintMaxVoterWeightSource;
10
+ minCommunityWeightToCreateGovernance: bigint;
11
+ communityTokenConfig?: GoverningTokenConfigArgs;
12
+ councilTokenConfig?: GoverningTokenConfigArgs;
13
+ }
14
+ export declare function setRealmConfigInstruction(args: SetRealmConfigInstArgs): TransactionInstruction;
15
+ //# sourceMappingURL=setRealmConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setRealmConfig.d.ts","sourceRoot":"","sources":["../../src/instructions/setRealmConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,UAAU,CAAC;AAMlB,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,SAAS,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,iCAAiC,EAAE,wBAAwB,CAAC;IAC5D,oCAAoC,EAAE,MAAM,CAAC;IAC7C,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;IAChD,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;CAC/C;AAQD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,sBAAsB,GAC3B,sBAAsB,CA8CxB"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setRealmConfigInstruction = setRealmConfigInstruction;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const borsh_1 = require("../borsh");
6
+ const enums_1 = require("../enums");
7
+ const types_1 = require("../types");
8
+ const pda_1 = require("../pda");
9
+ const DEFAULT_TOKEN_CONFIG = {
10
+ useVoterWeightAddin: false,
11
+ useMaxVoterWeightAddin: false,
12
+ tokenType: enums_1.GoverningTokenType.Liquid,
13
+ };
14
+ function setRealmConfigInstruction(args) {
15
+ const { programId, realm, realmAuthority, payer, councilMint, communityMintMaxVoterWeightSource, minCommunityWeightToCreateGovernance, communityTokenConfig = DEFAULT_TOKEN_CONFIG, councilTokenConfig = DEFAULT_TOKEN_CONFIG, } = args;
16
+ const keys = [
17
+ { pubkey: realm, isSigner: false, isWritable: true },
18
+ { pubkey: realmAuthority, isSigner: true, isWritable: false },
19
+ ];
20
+ if (councilMint) {
21
+ const councilHolding = (0, pda_1.getGoverningTokenHoldingAddress)(programId, realm, councilMint);
22
+ keys.push({ pubkey: councilMint, isSigner: false, isWritable: false });
23
+ keys.push({ pubkey: councilHolding, isSigner: false, isWritable: true });
24
+ }
25
+ keys.push({ pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false });
26
+ const realmConfig = (0, pda_1.getRealmConfigAddress)(programId, realm);
27
+ keys.push({ pubkey: realmConfig, isSigner: false, isWritable: true });
28
+ // Addin program accounts would be pushed here by callers if needed
29
+ keys.push({ pubkey: payer, isSigner: true, isWritable: true });
30
+ const configArgs = {
31
+ useCouncilMint: !!councilMint,
32
+ minCommunityWeightToCreateGovernance,
33
+ communityMintMaxVoterWeightSource,
34
+ communityTokenConfigArgs: communityTokenConfig,
35
+ councilTokenConfigArgs: councilTokenConfig,
36
+ };
37
+ const w = new borsh_1.BorshWriter();
38
+ w.writeU8(enums_1.GovernanceInstruction.SetRealmConfig);
39
+ (0, types_1.writeRealmConfigArgs)(w, configArgs);
40
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
41
+ }
42
+ //# sourceMappingURL=setRealmConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setRealmConfig.js","sourceRoot":"","sources":["../../src/instructions/setRealmConfig.ts"],"names":[],"mappings":";;AAqCA,8DAgDC;AArFD,6CAKyB;AACzB,oCAAuC;AACvC,oCAAqE;AACrE,oCAKkB;AAClB,gCAGgB;AAchB,MAAM,oBAAoB,GAA6B;IACrD,mBAAmB,EAAE,KAAK;IAC1B,sBAAsB,EAAE,KAAK;IAC7B,SAAS,EAAE,0BAAkB,CAAC,MAAM;CACrC,CAAC;AAEF,SAAgB,yBAAyB,CACvC,IAA4B;IAE5B,MAAM,EACJ,SAAS,EACT,KAAK,EACL,cAAc,EACd,KAAK,EACL,WAAW,EACX,iCAAiC,EACjC,oCAAoC,EACpC,oBAAoB,GAAG,oBAAoB,EAC3C,kBAAkB,GAAG,oBAAoB,GAC1C,GAAG,IAAI,CAAC;IAET,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACpD,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;KAC9D,CAAC;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,cAAc,GAAG,IAAA,qCAA+B,EAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,uBAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAEnF,MAAM,WAAW,GAAG,IAAA,2BAAqB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtE,mEAAmE;IAEnE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,MAAM,UAAU,GAAoB;QAClC,cAAc,EAAE,CAAC,CAAC,WAAW;QAC7B,oCAAoC;QACpC,iCAAiC;QACjC,wBAAwB,EAAE,oBAAoB;QAC9C,sBAAsB,EAAE,kBAAkB;KAC3C,CAAC;IAEF,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,cAAc,CAAC,CAAC;IAChD,IAAA,4BAAoB,EAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAEpC,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export interface SetSowellianGovernanceConfigArgs {
3
+ programId: PublicKey;
4
+ realm: PublicKey;
5
+ realmAuthority: PublicKey;
6
+ governance: PublicKey;
7
+ payer: PublicKey;
8
+ betEnabled: boolean;
9
+ secondaryEnabled: boolean;
10
+ }
11
+ export declare function setSowellianGovernanceConfigInstruction(args: SetSowellianGovernanceConfigArgs): TransactionInstruction;
12
+ //# sourceMappingURL=setSowellianGovernanceConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setSowellianGovernanceConfig.d.ts","sourceRoot":"","sources":["../../src/instructions/setSowellianGovernanceConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,gCAAgC;IAC/C,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,SAAS,CAAC;IAC1B,UAAU,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,uCAAuC,CACrD,IAAI,EAAE,gCAAgC,GACrC,sBAAsB,CA8BxB"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setSowellianGovernanceConfigInstruction = setSowellianGovernanceConfigInstruction;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const borsh_1 = require("../borsh");
6
+ const enums_1 = require("../enums");
7
+ const pda_1 = require("../pda");
8
+ function setSowellianGovernanceConfigInstruction(args) {
9
+ const { programId, realm, realmAuthority, governance, payer, betEnabled, secondaryEnabled, } = args;
10
+ const realmConfig = (0, pda_1.getRealmConfigAddress)(programId, realm);
11
+ const sowellianConfig = (0, pda_1.getSowellianConfigAddress)(programId, realm);
12
+ const keys = [
13
+ { pubkey: realm, isSigner: false, isWritable: false },
14
+ { pubkey: realmAuthority, isSigner: true, isWritable: false },
15
+ { pubkey: realmConfig, isSigner: false, isWritable: true },
16
+ { pubkey: governance, isSigner: false, isWritable: true },
17
+ { pubkey: sowellianConfig, isSigner: false, isWritable: false },
18
+ { pubkey: payer, isSigner: true, isWritable: true },
19
+ { pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
20
+ ];
21
+ const w = new borsh_1.BorshWriter();
22
+ w.writeU8(enums_1.GovernanceInstruction.SetSowellianGovernanceConfig);
23
+ w.writeBool(betEnabled);
24
+ w.writeBool(secondaryEnabled);
25
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
26
+ }
27
+ //# sourceMappingURL=setSowellianGovernanceConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setSowellianGovernanceConfig.js","sourceRoot":"","sources":["../../src/instructions/setSowellianGovernanceConfig.ts"],"names":[],"mappings":";;AAoBA,0FAgCC;AApDD,6CAKyB;AACzB,oCAAuC;AACvC,oCAAiD;AACjD,gCAA0E;AAY1E,SAAgB,uCAAuC,CACrD,IAAsC;IAEtC,MAAM,EACJ,SAAS,EACT,KAAK,EACL,cAAc,EACd,UAAU,EACV,KAAK,EACL,UAAU,EACV,gBAAgB,GACjB,GAAG,IAAI,CAAC;IAET,MAAM,WAAW,GAAG,IAAA,2BAAqB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,IAAA,+BAAyB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAEpE,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACrD,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;QAC7D,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAC1D,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACzD,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/D,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;QACnD,EAAE,MAAM,EAAE,uBAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;KACxE,CAAC;IAEF,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,4BAA4B,CAAC,CAAC;IAC9D,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAE9B,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export interface SettleBetArgs {
3
+ programId: PublicKey;
4
+ realm: PublicKey;
5
+ governance: PublicKey;
6
+ proposal: PublicKey;
7
+ communityMint: PublicKey;
8
+ betVault: PublicKey;
9
+ treasuryTokenAccount: PublicKey;
10
+ splTokenProgram: PublicKey;
11
+ /**
12
+ * MaxVoterWeightRecord. Required when the community governing token has
13
+ * a `max_voter_weight_addin` configured; omit otherwise.
14
+ */
15
+ maxVoterWeightRecord?: PublicKey;
16
+ /**
17
+ * Trailing accounts for cleaning up an expired `Succeeded` proposal whose
18
+ * inner transactions were never executed within the grace window. When
19
+ * provided, they are appended after the optional `maxVoterWeightRecord`.
20
+ * Pass the proposal's `beneficiary` (rent sink) followed by every
21
+ * `ProposalTransaction` PDA. Ignored for any other proposal state.
22
+ */
23
+ expiredSucceededCleanup?: {
24
+ beneficiary: PublicKey;
25
+ proposalTransactions: PublicKey[];
26
+ };
27
+ }
28
+ export declare function settleBetInstruction(args: SettleBetArgs): TransactionInstruction;
29
+ //# sourceMappingURL=settleBet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settleBet.d.ts","sourceRoot":"","sources":["../../src/instructions/settleBet.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAUzB,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,SAAS,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,oBAAoB,EAAE,SAAS,CAAC;IAChC,eAAe,EAAE,SAAS,CAAC;IAC3B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE;QACxB,WAAW,EAAE,SAAS,CAAC;QACvB,oBAAoB,EAAE,SAAS,EAAE,CAAC;KACnC,CAAC;CACH;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,sBAAsB,CAmDhF"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.settleBetInstruction = settleBetInstruction;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const borsh_1 = require("../borsh");
6
+ const enums_1 = require("../enums");
7
+ const pda_1 = require("../pda");
8
+ function settleBetInstruction(args) {
9
+ const { programId, realm, governance, proposal, communityMint, betVault, treasuryTokenAccount, splTokenProgram, maxVoterWeightRecord, expiredSucceededCleanup, } = args;
10
+ const sowellianConfig = (0, pda_1.getSowellianConfigAddress)(programId, realm);
11
+ const bet = (0, pda_1.getBetAddress)(programId, proposal);
12
+ const creatorReceipt = (0, pda_1.getReceiptAddress)(programId, bet, bet);
13
+ const realmConfig = (0, pda_1.getRealmConfigAddress)(programId, realm);
14
+ const keys = [
15
+ { pubkey: realm, isSigner: false, isWritable: false },
16
+ { pubkey: governance, isSigner: false, isWritable: false },
17
+ { pubkey: proposal, isSigner: false, isWritable: true },
18
+ { pubkey: sowellianConfig, isSigner: false, isWritable: false },
19
+ { pubkey: bet, isSigner: false, isWritable: true },
20
+ { pubkey: creatorReceipt, isSigner: false, isWritable: true },
21
+ { pubkey: communityMint, isSigner: false, isWritable: false },
22
+ { pubkey: realmConfig, isSigner: false, isWritable: false },
23
+ { pubkey: betVault, isSigner: false, isWritable: true },
24
+ { pubkey: treasuryTokenAccount, isSigner: false, isWritable: true },
25
+ { pubkey: splTokenProgram, isSigner: false, isWritable: false },
26
+ ];
27
+ if (maxVoterWeightRecord !== undefined) {
28
+ keys.push({ pubkey: maxVoterWeightRecord, isSigner: false, isWritable: false });
29
+ }
30
+ if (expiredSucceededCleanup !== undefined) {
31
+ keys.push({
32
+ pubkey: expiredSucceededCleanup.beneficiary,
33
+ isSigner: false,
34
+ isWritable: true,
35
+ });
36
+ for (const tx of expiredSucceededCleanup.proposalTransactions) {
37
+ keys.push({ pubkey: tx, isSigner: false, isWritable: true });
38
+ }
39
+ }
40
+ const w = new borsh_1.BorshWriter();
41
+ w.writeU8(enums_1.GovernanceInstruction.SettleBet);
42
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
43
+ }
44
+ //# sourceMappingURL=settleBet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settleBet.js","sourceRoot":"","sources":["../../src/instructions/settleBet.ts"],"names":[],"mappings":";;AAyCA,oDAmDC;AA5FD,6CAIyB;AACzB,oCAAuC;AACvC,oCAAiD;AACjD,gCAKgB;AA6BhB,SAAgB,oBAAoB,CAAC,IAAmB;IACtD,MAAM,EACJ,SAAS,EACT,KAAK,EACL,UAAU,EACV,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,uBAAuB,GACxB,GAAG,IAAI,CAAC;IACT,MAAM,eAAe,GAAG,IAAA,+BAAyB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,IAAA,mBAAa,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,IAAA,uBAAiB,EAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAA,2BAAqB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACrD,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC1D,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACvD,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/D,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAClD,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAC7D,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC7D,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC3D,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACvD,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACnE,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;KAChE,CAAC;IAEF,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,uBAAuB,CAAC,WAAW;YAC3C,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,KAAK,MAAM,EAAE,IAAI,uBAAuB,CAAC,oBAAoB,EAAE,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,SAAS,CAAC,CAAC;IAE3C,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export interface WithdrawGoverningTokensArgs {
3
+ programId: PublicKey;
4
+ realm: PublicKey;
5
+ governingTokenDestination: PublicKey;
6
+ governingTokenOwner: PublicKey;
7
+ governingTokenMint: PublicKey;
8
+ tokenProgramId?: PublicKey;
9
+ }
10
+ export declare function withdrawGoverningTokensInstruction(args: WithdrawGoverningTokensArgs): TransactionInstruction;
11
+ //# sourceMappingURL=withdrawGoverningTokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdrawGoverningTokens.d.ts","sourceRoot":"","sources":["../../src/instructions/withdrawGoverningTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAUzB,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,yBAAyB,EAAE,SAAS,CAAC;IACrC,mBAAmB,EAAE,SAAS,CAAC;IAC/B,kBAAkB,EAAE,SAAS,CAAC;IAC9B,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,2BAA2B,GAChC,sBAAsB,CAqCxB"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withdrawGoverningTokensInstruction = withdrawGoverningTokensInstruction;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const spl_token_1 = require("@solana/spl-token");
6
+ const borsh_1 = require("../borsh");
7
+ const enums_1 = require("../enums");
8
+ const pda_1 = require("../pda");
9
+ function withdrawGoverningTokensInstruction(args) {
10
+ const { programId, realm, governingTokenDestination, governingTokenOwner, governingTokenMint, tokenProgramId = spl_token_1.TOKEN_PROGRAM_ID, } = args;
11
+ const tokenOwnerRecord = (0, pda_1.getTokenOwnerRecordAddress)(programId, realm, governingTokenMint, governingTokenOwner);
12
+ const tokenHolding = (0, pda_1.getGoverningTokenHoldingAddress)(programId, realm, governingTokenMint);
13
+ const realmConfig = (0, pda_1.getRealmConfigAddress)(programId, realm);
14
+ const keys = [
15
+ { pubkey: realm, isSigner: false, isWritable: false },
16
+ { pubkey: tokenHolding, isSigner: false, isWritable: true },
17
+ { pubkey: governingTokenDestination, isSigner: false, isWritable: true },
18
+ { pubkey: governingTokenOwner, isSigner: true, isWritable: false },
19
+ { pubkey: tokenOwnerRecord, isSigner: false, isWritable: true },
20
+ { pubkey: tokenProgramId, isSigner: false, isWritable: false },
21
+ { pubkey: realmConfig, isSigner: false, isWritable: false },
22
+ ];
23
+ const w = new borsh_1.BorshWriter();
24
+ w.writeU8(enums_1.GovernanceInstruction.WithdrawGoverningTokens);
25
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
26
+ }
27
+ //# sourceMappingURL=withdrawGoverningTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdrawGoverningTokens.js","sourceRoot":"","sources":["../../src/instructions/withdrawGoverningTokens.ts"],"names":[],"mappings":";;AAuBA,gFAuCC;AA9DD,6CAIyB;AACzB,iDAAqD;AACrD,oCAAuC;AACvC,oCAAiD;AACjD,gCAIgB;AAWhB,SAAgB,kCAAkC,CAChD,IAAiC;IAEjC,MAAM,EACJ,SAAS,EACT,KAAK,EACL,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GAAG,4BAAgB,GAClC,GAAG,IAAI,CAAC;IAET,MAAM,gBAAgB,GAAG,IAAA,gCAA0B,EACjD,SAAS,EACT,KAAK,EACL,kBAAkB,EAClB,mBAAmB,CACpB,CAAC;IACF,MAAM,YAAY,GAAG,IAAA,qCAA+B,EAClD,SAAS,EACT,KAAK,EACL,kBAAkB,CACnB,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,2BAAqB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACrD,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAC3D,EAAE,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACxE,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;QAClE,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAC/D,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC9D,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;KAC5D,CAAC;IAEF,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,uBAAuB,CAAC,CAAC;IAEzD,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export interface WithdrawPayoffArgs {
3
+ programId: PublicKey;
4
+ realm: PublicKey;
5
+ proposal: PublicKey;
6
+ /** Bet PDA (for Bet receipts) or SecondaryMarket PDA (for Secondary receipts). */
7
+ parent: PublicKey;
8
+ /** ATA on community mint owned by `parent`. */
9
+ parentVault: PublicKey;
10
+ receipt: PublicKey;
11
+ destinationTokenAccount: PublicKey;
12
+ communityMint: PublicKey;
13
+ splTokenProgram: PublicKey;
14
+ }
15
+ export declare function withdrawPayoffInstruction(args: WithdrawPayoffArgs): TransactionInstruction;
16
+ //# sourceMappingURL=withdrawPayoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdrawPayoff.d.ts","sourceRoot":"","sources":["../../src/instructions/withdrawPayoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,kFAAkF;IAClF,MAAM,EAAE,SAAS,CAAC;IAClB,+CAA+C;IAC/C,WAAW,EAAE,SAAS,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;IACnB,uBAAuB,EAAE,SAAS,CAAC;IACnC,aAAa,EAAE,SAAS,CAAC;IACzB,eAAe,EAAE,SAAS,CAAC;CAC5B;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,kBAAkB,GACvB,sBAAsB,CAiCxB"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withdrawPayoffInstruction = withdrawPayoffInstruction;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const borsh_1 = require("../borsh");
6
+ const enums_1 = require("../enums");
7
+ const pda_1 = require("../pda");
8
+ function withdrawPayoffInstruction(args) {
9
+ const { programId, realm, proposal, parent, parentVault, receipt, destinationTokenAccount, communityMint, splTokenProgram, } = args;
10
+ const sowellianConfig = (0, pda_1.getSowellianConfigAddress)(programId, realm);
11
+ const bet = (0, pda_1.getBetAddress)(programId, proposal);
12
+ const keys = [
13
+ { pubkey: realm, isSigner: false, isWritable: false },
14
+ { pubkey: proposal, isSigner: false, isWritable: false },
15
+ { pubkey: sowellianConfig, isSigner: false, isWritable: false },
16
+ { pubkey: bet, isSigner: false, isWritable: false },
17
+ { pubkey: parent, isSigner: false, isWritable: true },
18
+ { pubkey: parentVault, isSigner: false, isWritable: true },
19
+ { pubkey: receipt, isSigner: false, isWritable: true },
20
+ { pubkey: destinationTokenAccount, isSigner: false, isWritable: true },
21
+ { pubkey: communityMint, isSigner: false, isWritable: false },
22
+ { pubkey: splTokenProgram, isSigner: false, isWritable: false },
23
+ ];
24
+ const w = new borsh_1.BorshWriter();
25
+ w.writeU8(enums_1.GovernanceInstruction.WithdrawPayoff);
26
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
27
+ }
28
+ //# sourceMappingURL=withdrawPayoff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdrawPayoff.js","sourceRoot":"","sources":["../../src/instructions/withdrawPayoff.ts"],"names":[],"mappings":";;AAuBA,8DAmCC;AA1DD,6CAIyB;AACzB,oCAAuC;AACvC,oCAAiD;AACjD,gCAAkE;AAgBlE,SAAgB,yBAAyB,CACvC,IAAwB;IAExB,MAAM,EACJ,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,uBAAuB,EACvB,aAAa,EACb,eAAe,GAChB,GAAG,IAAI,CAAC;IAET,MAAM,eAAe,GAAG,IAAA,+BAAyB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,IAAA,mBAAa,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACrD,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACxD,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC/D,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACnD,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACrD,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAC1D,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACtD,EAAE,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACtE,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC7D,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;KAChE,CAAC;IAEF,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,cAAc,CAAC,CAAC;IAEhD,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
package/dist/pda.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ export declare function getRealmAddress(programId: PublicKey, name: string): PublicKey;
3
+ export declare function getGoverningTokenHoldingAddress(programId: PublicKey, realm: PublicKey, mint: PublicKey): PublicKey;
4
+ export declare function getTokenOwnerRecordAddress(programId: PublicKey, realm: PublicKey, mint: PublicKey, owner: PublicKey): PublicKey;
5
+ export declare function getGovernanceAddress(programId: PublicKey, realm: PublicKey, governedAccount: PublicKey): PublicKey;
6
+ export declare function getProgramGovernanceAddress(programId: PublicKey, realm: PublicKey, governedProgram: PublicKey): PublicKey;
7
+ export declare function getMintGovernanceAddress(programId: PublicKey, realm: PublicKey, governedMint: PublicKey): PublicKey;
8
+ export declare function getTokenGovernanceAddress(programId: PublicKey, realm: PublicKey, governedToken: PublicKey): PublicKey;
9
+ export declare function getProposalAddress(programId: PublicKey, governance: PublicKey, governingTokenMint: PublicKey, proposalSeed: PublicKey): PublicKey;
10
+ export declare function getProposalTransactionAddress(programId: PublicKey, proposal: PublicKey, optionIndex: number, transactionIndex: number): PublicKey;
11
+ export declare function getVoteRecordAddress(programId: PublicKey, proposal: PublicKey, tokenOwnerRecord: PublicKey): PublicKey;
12
+ export declare function getProposalDepositAddress(programId: PublicKey, proposal: PublicKey, payer: PublicKey): PublicKey;
13
+ export declare function getRealmConfigAddress(programId: PublicKey, realm: PublicKey): PublicKey;
14
+ export declare function getNativeTreasuryAddress(programId: PublicKey, governance: PublicKey): PublicKey;
15
+ export declare function getGovernanceLimitsAddress(programId: PublicKey, governance: PublicKey): PublicKey;
16
+ export declare function getSowellianConfigAddress(programId: PublicKey, realm: PublicKey): PublicKey;
17
+ export declare function getBetAddress(programId: PublicKey, proposal: PublicKey): PublicKey;
18
+ export declare function getSecondaryMarketAddress(programId: PublicKey, proposal: PublicKey): PublicKey;
19
+ export declare function getReceiptAddress(programId: PublicKey, parent: PublicKey, voteSeed: PublicKey): PublicKey;
20
+ //# sourceMappingURL=pda.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pda.d.ts","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAQ5C,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAE7E;AAED,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,GACd,SAAS,CAMX;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,GACf,SAAS,CAOX;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,EAChB,eAAe,EAAE,SAAS,GACzB,SAAS,CAMX;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,EAChB,eAAe,EAAE,SAAS,GACzB,SAAS,CAMX;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,SAAS,GACtB,SAAS,CAMX;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,SAAS,GACvB,SAAS,CAMX;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,SAAS,EACrB,kBAAkB,EAAE,SAAS,EAC7B,YAAY,EAAE,SAAS,GACtB,SAAS,CAOX;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,SAAS,CAWX;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,SAAS,EACnB,gBAAgB,EAAE,SAAS,GAC1B,SAAS,CAMX;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,SAAS,GACf,SAAS,CAMX;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,GACf,SAAS,CAEX;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,SAAS,GACpB,SAAS,CAKX;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,SAAS,GACpB,SAAS,CAKX;AAID,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,GACf,SAAS,CAKX;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,SAAS,GAClB,SAAS,CAEX;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,SAAS,GAClB,SAAS,CAKX;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,SAAS,GAClB,SAAS,CAMX"}