@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,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createProposalWithTransactionsInstruction = createProposalWithTransactionsInstruction;
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 types_1 = require("../types");
9
+ const pda_1 = require("../pda");
10
+ function createProposalWithTransactionsInstruction(args) {
11
+ const { programId, realm, governance, proposalOwnerRecord, governingTokenMint, governanceAuthority, payer, name, descriptionLink, proposalSeed, maxVotingTime, transactions, finalize, vote, voterWeightRecord, maxVoterWeightRecord, sowellianArgs, sowellianAccounts, } = args;
12
+ if (sowellianArgs && !sowellianAccounts) {
13
+ throw new Error("sowellianAccounts must be supplied when sowellianArgs is provided");
14
+ }
15
+ const proposalAddress = (0, pda_1.getProposalAddress)(programId, governance, governingTokenMint, proposalSeed);
16
+ const proposalDeposit = (0, pda_1.getProposalDepositAddress)(programId, proposalAddress, payer);
17
+ const realmConfig = (0, pda_1.getRealmConfigAddress)(programId, realm);
18
+ const keys = [
19
+ { pubkey: realm, isSigner: false, isWritable: false },
20
+ { pubkey: proposalAddress, isSigner: false, isWritable: true },
21
+ { pubkey: governance, isSigner: false, isWritable: true },
22
+ { pubkey: proposalOwnerRecord, isSigner: false, isWritable: true },
23
+ { pubkey: governingTokenMint, isSigner: false, isWritable: false },
24
+ { pubkey: governanceAuthority, isSigner: true, isWritable: false },
25
+ { pubkey: payer, isSigner: true, isWritable: true },
26
+ { pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
27
+ { pubkey: realmConfig, isSigner: false, isWritable: false },
28
+ ];
29
+ if (voterWeightRecord) {
30
+ keys.push({ pubkey: voterWeightRecord, isSigner: false, isWritable: false });
31
+ }
32
+ keys.push({ pubkey: proposalDeposit, isSigner: false, isWritable: true });
33
+ // ProposalTransaction PDAs
34
+ for (let i = 0; i < transactions.length; i++) {
35
+ const txAddress = (0, pda_1.getProposalTransactionAddress)(programId, proposalAddress, 0, i);
36
+ keys.push({ pubkey: txAddress, isSigner: false, isWritable: true });
37
+ }
38
+ // VoteRecord PDA (if voting)
39
+ if (vote) {
40
+ const voteRecord = (0, pda_1.getVoteRecordAddress)(programId, proposalAddress, proposalOwnerRecord);
41
+ keys.push({ pubkey: voteRecord, isSigner: false, isWritable: true });
42
+ if (maxVoterWeightRecord) {
43
+ keys.push({ pubkey: maxVoterWeightRecord, isSigner: false, isWritable: false });
44
+ }
45
+ }
46
+ if (sowellianArgs && sowellianAccounts) {
47
+ const bet = (0, pda_1.getBetAddress)(programId, proposalAddress);
48
+ const betVault = (0, spl_token_1.getAssociatedTokenAddressSync)(governingTokenMint, bet, true, sowellianAccounts.splTokenProgram);
49
+ const creatorReceipt = (0, pda_1.getReceiptAddress)(programId, bet, bet);
50
+ keys.push({
51
+ pubkey: (0, pda_1.getSowellianConfigAddress)(programId, realm),
52
+ isSigner: false,
53
+ isWritable: false,
54
+ }, { pubkey: bet, isSigner: false, isWritable: true }, { pubkey: betVault, isSigner: false, isWritable: true }, {
55
+ pubkey: sowellianAccounts.sourceTokenAccount,
56
+ isSigner: false,
57
+ isWritable: true,
58
+ }, { pubkey: creatorReceipt, isSigner: false, isWritable: true }, {
59
+ pubkey: sowellianAccounts.splTokenProgram,
60
+ isSigner: false,
61
+ isWritable: false,
62
+ }, {
63
+ pubkey: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
64
+ isSigner: false,
65
+ isWritable: false,
66
+ });
67
+ if (sowellianAccounts.secondaryEnabled) {
68
+ const secondary = (0, pda_1.getSecondaryMarketAddress)(programId, proposalAddress);
69
+ const secondaryVault = (0, spl_token_1.getAssociatedTokenAddressSync)(governingTokenMint, secondary, true, sowellianAccounts.splTokenProgram);
70
+ keys.push({ pubkey: secondary, isSigner: false, isWritable: true }, { pubkey: secondaryVault, isSigner: false, isWritable: true });
71
+ }
72
+ }
73
+ const w = new borsh_1.BorshWriter();
74
+ w.writeU8(enums_1.GovernanceInstruction.CreateProposalWithTransactions);
75
+ w.writeString(name);
76
+ w.writeString(descriptionLink);
77
+ w.writePubkey(proposalSeed);
78
+ w.writeOption(maxVotingTime ?? null, (w, v) => w.writeU32(v));
79
+ w.writeVec(transactions, types_1.writeProposalTransactionInput);
80
+ w.writeBool(finalize);
81
+ w.writeBool(vote);
82
+ w.writeOption(sowellianArgs ?? null, types_1.writeSowellianProposalArgs);
83
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
84
+ }
85
+ //# sourceMappingURL=createProposalWithTransactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createProposalWithTransactions.js","sourceRoot":"","sources":["../../src/instructions/createProposalWithTransactions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ import { GoverningTokenConfigArgs, MintMaxVoterWeightSource } from "../types";
3
+ export interface CreateRealmArgs {
4
+ programId: PublicKey;
5
+ name: string;
6
+ realmAuthority: PublicKey;
7
+ communityMint: PublicKey;
8
+ payer: PublicKey;
9
+ councilMint?: PublicKey;
10
+ communityMintMaxVoterWeightSource: MintMaxVoterWeightSource;
11
+ minCommunityWeightToCreateGovernance: bigint;
12
+ communityTokenConfig?: GoverningTokenConfigArgs;
13
+ councilTokenConfig?: GoverningTokenConfigArgs;
14
+ communityTokenProgramId?: PublicKey;
15
+ councilTokenProgramId?: PublicKey;
16
+ }
17
+ export declare function createRealmInstruction(args: CreateRealmArgs): TransactionInstruction;
18
+ //# sourceMappingURL=createRealm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRealm.d.ts","sourceRoot":"","sources":["../../src/instructions/createRealm.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAGT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,UAAU,CAAC;AAOlB,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,SAAS,CAAC;IAC1B,aAAa,EAAE,SAAS,CAAC;IACzB,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;IAC9C,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,qBAAqB,CAAC,EAAE,SAAS,CAAC;CACnC;AAQD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,sBAAsB,CA0EpF"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRealmInstruction = createRealmInstruction;
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 types_1 = require("../types");
9
+ const pda_1 = require("../pda");
10
+ const DEFAULT_TOKEN_CONFIG = {
11
+ useVoterWeightAddin: false,
12
+ useMaxVoterWeightAddin: false,
13
+ tokenType: enums_1.GoverningTokenType.Liquid,
14
+ };
15
+ function createRealmInstruction(args) {
16
+ const { programId, name, realmAuthority, communityMint, payer, councilMint, communityMintMaxVoterWeightSource, minCommunityWeightToCreateGovernance, communityTokenConfig = DEFAULT_TOKEN_CONFIG, councilTokenConfig = DEFAULT_TOKEN_CONFIG, communityTokenProgramId = spl_token_1.TOKEN_PROGRAM_ID, councilTokenProgramId = spl_token_1.TOKEN_PROGRAM_ID, } = args;
17
+ const realmAddress = (0, pda_1.getRealmAddress)(programId, name);
18
+ const communityHolding = (0, pda_1.getGoverningTokenHoldingAddress)(programId, realmAddress, communityMint);
19
+ const keys = [
20
+ { pubkey: realmAddress, isSigner: false, isWritable: true },
21
+ { pubkey: realmAuthority, isSigner: false, isWritable: false },
22
+ { pubkey: communityMint, isSigner: false, isWritable: false },
23
+ { pubkey: communityHolding, isSigner: false, isWritable: true },
24
+ { pubkey: payer, isSigner: true, isWritable: true },
25
+ { pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
26
+ { pubkey: communityTokenProgramId, isSigner: false, isWritable: false },
27
+ { pubkey: web3_js_1.SYSVAR_RENT_PUBKEY, isSigner: false, isWritable: false },
28
+ ];
29
+ if (councilMint) {
30
+ const councilHolding = (0, pda_1.getGoverningTokenHoldingAddress)(programId, realmAddress, councilMint);
31
+ keys.push({ pubkey: councilMint, isSigner: false, isWritable: false });
32
+ keys.push({ pubkey: councilHolding, isSigner: false, isWritable: true });
33
+ keys.push({ pubkey: councilTokenProgramId, isSigner: false, isWritable: false });
34
+ }
35
+ const realmConfigAddress = (0, pda_1.getRealmConfigAddress)(programId, realmAddress);
36
+ keys.push({ pubkey: realmConfigAddress, isSigner: false, isWritable: true });
37
+ // Voter weight addin accounts for community
38
+ if (communityTokenConfig.useVoterWeightAddin) {
39
+ // Caller must handle pushing addin program IDs
40
+ }
41
+ if (communityTokenConfig.useMaxVoterWeightAddin) {
42
+ // Caller must handle pushing addin program IDs
43
+ }
44
+ const configArgs = {
45
+ useCouncilMint: !!councilMint,
46
+ minCommunityWeightToCreateGovernance,
47
+ communityMintMaxVoterWeightSource,
48
+ communityTokenConfigArgs: communityTokenConfig,
49
+ councilTokenConfigArgs: councilTokenConfig,
50
+ };
51
+ const w = new borsh_1.BorshWriter();
52
+ w.writeU8(enums_1.GovernanceInstruction.CreateRealm);
53
+ w.writeString(name);
54
+ (0, types_1.writeRealmConfigArgs)(w, configArgs);
55
+ return new web3_js_1.TransactionInstruction({
56
+ programId,
57
+ keys,
58
+ data: w.toBuffer(),
59
+ });
60
+ }
61
+ //# sourceMappingURL=createRealm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRealm.js","sourceRoot":"","sources":["../../src/instructions/createRealm.ts"],"names":[],"mappings":";;AA2CA,wDA0EC;AArHD,6CAMyB;AACzB,iDAAqD;AACrD,oCAAuC;AACvC,oCAAqE;AACrE,oCAKkB;AAClB,gCAIgB;AAiBhB,MAAM,oBAAoB,GAA6B;IACrD,mBAAmB,EAAE,KAAK;IAC1B,sBAAsB,EAAE,KAAK;IAC7B,SAAS,EAAE,0BAAkB,CAAC,MAAM;CACrC,CAAC;AAEF,SAAgB,sBAAsB,CAAC,IAAqB;IAC1D,MAAM,EACJ,SAAS,EACT,IAAI,EACJ,cAAc,EACd,aAAa,EACb,KAAK,EACL,WAAW,EACX,iCAAiC,EACjC,oCAAoC,EACpC,oBAAoB,GAAG,oBAAoB,EAC3C,kBAAkB,GAAG,oBAAoB,EACzC,uBAAuB,GAAG,4BAAgB,EAC1C,qBAAqB,GAAG,4BAAgB,GACzC,GAAG,IAAI,CAAC;IAET,MAAM,YAAY,GAAG,IAAA,qBAAe,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,IAAA,qCAA+B,EACtD,SAAS,EACT,YAAY,EACZ,aAAa,CACd,CAAC;IAEF,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAC3D,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC9D,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC7D,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,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;QACvE,EAAE,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACvE,EAAE,MAAM,EAAE,4BAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;KACnE,CAAC;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,cAAc,GAAG,IAAA,qCAA+B,EACpD,SAAS,EACT,YAAY,EACZ,WAAW,CACZ,CAAC;QACF,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;QACzE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAA,2BAAqB,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7E,4CAA4C;IAC5C,IAAI,oBAAoB,CAAC,mBAAmB,EAAE,CAAC;QAC7C,+CAA+C;IACjD,CAAC;IACD,IAAI,oBAAoB,CAAC,sBAAsB,EAAE,CAAC;QAChD,+CAA+C;IACjD,CAAC;IAED,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,WAAW,CAAC,CAAC;IAC7C,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,IAAA,4BAAoB,EAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAEpC,OAAO,IAAI,gCAAsB,CAAC;QAChC,SAAS;QACT,IAAI;QACJ,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;KACnB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export declare function createTokenOwnerRecordInstruction(programId: PublicKey, realm: PublicKey, governingTokenOwner: PublicKey, governingTokenMint: PublicKey, payer: PublicKey): TransactionInstruction;
3
+ //# sourceMappingURL=createTokenOwnerRecord.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTokenOwnerRecord.d.ts","sourceRoot":"","sources":["../../src/instructions/createTokenOwnerRecord.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAKzB,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,EAChB,mBAAmB,EAAE,SAAS,EAC9B,kBAAkB,EAAE,SAAS,EAC7B,KAAK,EAAE,SAAS,GACf,sBAAsB,CAqBxB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTokenOwnerRecordInstruction = createTokenOwnerRecordInstruction;
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 createTokenOwnerRecordInstruction(programId, realm, governingTokenOwner, governingTokenMint, payer) {
9
+ const tokenOwnerRecord = (0, pda_1.getTokenOwnerRecordAddress)(programId, realm, governingTokenMint, governingTokenOwner);
10
+ const keys = [
11
+ { pubkey: realm, isSigner: false, isWritable: false },
12
+ { pubkey: governingTokenOwner, isSigner: false, isWritable: false },
13
+ { pubkey: tokenOwnerRecord, isSigner: false, isWritable: true },
14
+ { pubkey: governingTokenMint, isSigner: false, isWritable: false },
15
+ { pubkey: payer, isSigner: true, isWritable: true },
16
+ { pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
17
+ ];
18
+ const w = new borsh_1.BorshWriter();
19
+ w.writeU8(enums_1.GovernanceInstruction.CreateTokenOwnerRecord);
20
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
21
+ }
22
+ //# sourceMappingURL=createTokenOwnerRecord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTokenOwnerRecord.js","sourceRoot":"","sources":["../../src/instructions/createTokenOwnerRecord.ts"],"names":[],"mappings":";;AASA,8EA2BC;AApCD,6CAIyB;AACzB,oCAAuC;AACvC,oCAAiD;AACjD,gCAAoD;AAEpD,SAAgB,iCAAiC,CAC/C,SAAoB,EACpB,KAAgB,EAChB,mBAA8B,EAC9B,kBAA6B,EAC7B,KAAgB;IAEhB,MAAM,gBAAgB,GAAG,IAAA,gCAA0B,EACjD,SAAS,EACT,KAAK,EACL,kBAAkB,EAClB,mBAAmB,CACpB,CAAC;IAEF,MAAM,IAAI,GAAG;QACX,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACrD,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACnE,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAC/D,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAClE,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,sBAAsB,CAAC,CAAC;IAExD,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export interface DepositGoverningTokensArgs {
3
+ programId: PublicKey;
4
+ realm: PublicKey;
5
+ governingTokenSource: PublicKey;
6
+ governingTokenOwner: PublicKey;
7
+ governingTokenSourceAuthority: PublicKey;
8
+ payer: PublicKey;
9
+ amount: bigint;
10
+ governingTokenMint: PublicKey;
11
+ tokenProgramId?: PublicKey;
12
+ }
13
+ export declare function depositGoverningTokensInstruction(args: DepositGoverningTokensArgs): TransactionInstruction;
14
+ //# sourceMappingURL=depositGoverningTokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"depositGoverningTokens.d.ts","sourceRoot":"","sources":["../../src/instructions/depositGoverningTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAUzB,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,oBAAoB,EAAE,SAAS,CAAC;IAChC,mBAAmB,EAAE,SAAS,CAAC;IAC/B,6BAA6B,EAAE,SAAS,CAAC;IACzC,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,SAAS,CAAC;IAC9B,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,0BAA0B,GAC/B,sBAAsB,CA4CxB"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.depositGoverningTokensInstruction = depositGoverningTokensInstruction;
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 depositGoverningTokensInstruction(args) {
10
+ const { programId, realm, governingTokenSource, governingTokenOwner, governingTokenSourceAuthority, payer, amount, 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: governingTokenSource, isSigner: false, isWritable: true },
18
+ { pubkey: governingTokenOwner, isSigner: true, isWritable: false },
19
+ { pubkey: governingTokenSourceAuthority, isSigner: true, isWritable: false },
20
+ { pubkey: tokenOwnerRecord, isSigner: false, isWritable: true },
21
+ { pubkey: payer, isSigner: true, isWritable: true },
22
+ { pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
23
+ { pubkey: tokenProgramId, isSigner: false, isWritable: false },
24
+ { pubkey: realmConfig, isSigner: false, isWritable: false },
25
+ ];
26
+ const w = new borsh_1.BorshWriter();
27
+ w.writeU8(enums_1.GovernanceInstruction.DepositGoverningTokens);
28
+ w.writeU64(amount);
29
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
30
+ }
31
+ //# sourceMappingURL=depositGoverningTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"depositGoverningTokens.js","sourceRoot":"","sources":["../../src/instructions/depositGoverningTokens.ts"],"names":[],"mappings":";;AA2BA,8EA8CC;AAzED,6CAKyB;AACzB,iDAAqD;AACrD,oCAAuC;AACvC,oCAAiD;AACjD,gCAIgB;AAchB,SAAgB,iCAAiC,CAC/C,IAAgC;IAEhC,MAAM,EACJ,SAAS,EACT,KAAK,EACL,oBAAoB,EACpB,mBAAmB,EACnB,6BAA6B,EAC7B,KAAK,EACL,MAAM,EACN,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,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACnE,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;QAClE,EAAE,MAAM,EAAE,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;QAC5E,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,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;QACvE,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,sBAAsB,CAAC,CAAC;IACxD,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEnB,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { AccountMeta, PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export interface ExecuteTransactionArgs {
3
+ programId: PublicKey;
4
+ governance: PublicKey;
5
+ proposal: PublicKey;
6
+ proposalTransaction: PublicKey;
7
+ /** The accounts required by the inner instruction(s), in order
8
+ * (program ids + their accounts). */
9
+ instructionAccounts: AccountMeta[];
10
+ /** Bet PDA — must be supplied iff `proposal.hasBet`. Inserted at the
11
+ * fixed positional slot 3 so it is excluded from the CPI accounts slice. */
12
+ bet?: PublicKey;
13
+ /** GovernanceLimits PDA — must be supplied iff
14
+ * `governance.hasSpendingLimits`. Inserted at fixed positional slot 4. */
15
+ governanceLimits?: PublicKey;
16
+ }
17
+ export declare function executeTransactionInstruction(args: ExecuteTransactionArgs): TransactionInstruction;
18
+ //# sourceMappingURL=executeTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeTransaction.d.ts","sourceRoot":"","sources":["../../src/instructions/executeTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,mBAAmB,EAAE,SAAS,CAAC;IAC/B;0CACsC;IACtC,mBAAmB,EAAE,WAAW,EAAE,CAAC;IACnC;iFAC6E;IAC7E,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;+EAC2E;IAC3E,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,sBAAsB,GAC3B,sBAAsB,CA8BxB"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeTransactionInstruction = executeTransactionInstruction;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const borsh_1 = require("../borsh");
6
+ const enums_1 = require("../enums");
7
+ function executeTransactionInstruction(args) {
8
+ const { programId, governance, proposal, proposalTransaction, instructionAccounts, bet, governanceLimits, } = args;
9
+ const keys = [
10
+ { pubkey: governance, isSigner: false, isWritable: false },
11
+ { pubkey: proposal, isSigner: false, isWritable: true },
12
+ { pubkey: proposalTransaction, isSigner: false, isWritable: true },
13
+ ];
14
+ if (bet) {
15
+ keys.push({ pubkey: bet, isSigner: false, isWritable: true });
16
+ }
17
+ if (governanceLimits) {
18
+ keys.push({ pubkey: governanceLimits, isSigner: false, isWritable: false });
19
+ }
20
+ keys.push(...instructionAccounts);
21
+ const w = new borsh_1.BorshWriter();
22
+ w.writeU8(enums_1.GovernanceInstruction.ExecuteTransaction);
23
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
24
+ }
25
+ //# sourceMappingURL=executeTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeTransaction.js","sourceRoot":"","sources":["../../src/instructions/executeTransaction.ts"],"names":[],"mappings":";;AAyBA,sEAgCC;AAzDD,6CAIyB;AACzB,oCAAuC;AACvC,oCAAiD;AAmBjD,SAAgB,6BAA6B,CAC3C,IAA4B;IAE5B,MAAM,EACJ,SAAS,EACT,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,mBAAmB,EACnB,GAAG,EACH,gBAAgB,GACjB,GAAG,IAAI,CAAC;IAET,MAAM,IAAI,GAAkB;QAC1B,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,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;KACnE,CAAC;IAEF,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,gBAAgB,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;IAElC,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,kBAAkB,CAAC,CAAC;IAEpD,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
+ export * from "./createRealm";
2
+ export * from "./depositGoverningTokens";
3
+ export * from "./withdrawGoverningTokens";
4
+ export * from "./createGovernance";
5
+ export * from "./createProposal";
6
+ export * from "./insertTransaction";
7
+ export * from "./castVote";
8
+ export * from "./relinquishVote";
9
+ export * from "./executeTransaction";
10
+ export * from "./setGovernanceConfig";
11
+ export * from "./setRealmAuthority";
12
+ export * from "./setRealmConfig";
13
+ export * from "./createTokenOwnerRecord";
14
+ export * from "./createNativeTreasury";
15
+ export * from "./refundProposalDeposit";
16
+ export * from "./createProposalWithTransactions";
17
+ export * from "./setGovernanceLimits";
18
+ export * from "./closeProposal";
19
+ export * from "./setOrUpdateSowellianConfig";
20
+ export * from "./setSowellianGovernanceConfig";
21
+ export * from "./castSowellianVote";
22
+ export * from "./settleBet";
23
+ export * from "./resolveBet";
24
+ export * from "./withdrawPayoff";
25
+ export * from "./closeReceipt";
26
+ export * from "./closeBet";
27
+ export * from "./castSecondaryVote";
28
+ export * from "./closeSecondary";
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/instructions/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./createRealm"), exports);
18
+ __exportStar(require("./depositGoverningTokens"), exports);
19
+ __exportStar(require("./withdrawGoverningTokens"), exports);
20
+ __exportStar(require("./createGovernance"), exports);
21
+ __exportStar(require("./createProposal"), exports);
22
+ __exportStar(require("./insertTransaction"), exports);
23
+ __exportStar(require("./castVote"), exports);
24
+ __exportStar(require("./relinquishVote"), exports);
25
+ __exportStar(require("./executeTransaction"), exports);
26
+ __exportStar(require("./setGovernanceConfig"), exports);
27
+ __exportStar(require("./setRealmAuthority"), exports);
28
+ __exportStar(require("./setRealmConfig"), exports);
29
+ __exportStar(require("./createTokenOwnerRecord"), exports);
30
+ __exportStar(require("./createNativeTreasury"), exports);
31
+ __exportStar(require("./refundProposalDeposit"), exports);
32
+ __exportStar(require("./createProposalWithTransactions"), exports);
33
+ __exportStar(require("./setGovernanceLimits"), exports);
34
+ __exportStar(require("./closeProposal"), exports);
35
+ __exportStar(require("./setOrUpdateSowellianConfig"), exports);
36
+ __exportStar(require("./setSowellianGovernanceConfig"), exports);
37
+ __exportStar(require("./castSowellianVote"), exports);
38
+ __exportStar(require("./settleBet"), exports);
39
+ __exportStar(require("./resolveBet"), exports);
40
+ __exportStar(require("./withdrawPayoff"), exports);
41
+ __exportStar(require("./closeReceipt"), exports);
42
+ __exportStar(require("./closeBet"), exports);
43
+ __exportStar(require("./castSecondaryVote"), exports);
44
+ __exportStar(require("./closeSecondary"), exports);
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/instructions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,2DAAyC;AACzC,4DAA0C;AAC1C,qDAAmC;AACnC,mDAAiC;AACjC,sDAAoC;AACpC,6CAA2B;AAC3B,mDAAiC;AACjC,uDAAqC;AACrC,wDAAsC;AACtC,sDAAoC;AACpC,mDAAiC;AACjC,2DAAyC;AACzC,yDAAuC;AACvC,0DAAwC;AACxC,mEAAiD;AACjD,wDAAsC;AACtC,kDAAgC;AAChC,+DAA6C;AAC7C,iEAA+C;AAC/C,sDAAoC;AACpC,8CAA4B;AAC5B,+CAA6B;AAC7B,mDAAiC;AACjC,iDAA+B;AAC/B,6CAA2B;AAC3B,sDAAoC;AACpC,mDAAiC"}
@@ -0,0 +1,17 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ import { InstructionData } from "../types";
3
+ export interface InsertTransactionArgs {
4
+ programId: PublicKey;
5
+ governance: PublicKey;
6
+ proposal: PublicKey;
7
+ tokenOwnerRecord: PublicKey;
8
+ governanceAuthority: PublicKey;
9
+ payer: PublicKey;
10
+ optionIndex: number;
11
+ index: number;
12
+ holdUpTime: number;
13
+ instructions: InstructionData[];
14
+ finalize: boolean;
15
+ }
16
+ export declare function insertTransactionInstruction(args: InsertTransactionArgs): TransactionInstruction;
17
+ //# sourceMappingURL=insertTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insertTransaction.d.ts","sourceRoot":"","sources":["../../src/instructions/insertTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAGT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,eAAe,EAAwB,MAAM,UAAU,CAAC;AAGjE,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,mBAAmB,EAAE,SAAS,CAAC;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,qBAAqB,GAC1B,sBAAsB,CA0CxB"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.insertTransactionInstruction = insertTransactionInstruction;
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 insertTransactionInstruction(args) {
10
+ const { programId, governance, proposal, tokenOwnerRecord, governanceAuthority, payer, optionIndex, index, holdUpTime, instructions, finalize, } = args;
11
+ const proposalTransaction = (0, pda_1.getProposalTransactionAddress)(programId, proposal, optionIndex, index);
12
+ const keys = [
13
+ { pubkey: governance, isSigner: false, isWritable: false },
14
+ { pubkey: proposal, isSigner: false, isWritable: true },
15
+ { pubkey: tokenOwnerRecord, isSigner: false, isWritable: false },
16
+ { pubkey: governanceAuthority, isSigner: true, isWritable: false },
17
+ { pubkey: proposalTransaction, isSigner: false, isWritable: true },
18
+ { pubkey: payer, isSigner: true, isWritable: true },
19
+ { pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
20
+ { pubkey: web3_js_1.SYSVAR_RENT_PUBKEY, isSigner: false, isWritable: false },
21
+ ];
22
+ const w = new borsh_1.BorshWriter();
23
+ w.writeU8(enums_1.GovernanceInstruction.InsertTransaction);
24
+ w.writeU8(optionIndex);
25
+ w.writeU16(index);
26
+ w.writeU32(holdUpTime);
27
+ w.writeVec(instructions, types_1.writeInstructionData);
28
+ w.writeBool(finalize);
29
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
30
+ }
31
+ //# sourceMappingURL=insertTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insertTransaction.js","sourceRoot":"","sources":["../../src/instructions/insertTransaction.ts"],"names":[],"mappings":";;AA0BA,oEA4CC;AAtED,6CAMyB;AACzB,oCAAuC;AACvC,oCAAiD;AACjD,oCAAiE;AACjE,gCAAuD;AAgBvD,SAAgB,4BAA4B,CAC1C,IAA2B;IAE3B,MAAM,EACJ,SAAS,EACT,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,EACL,WAAW,EACX,KAAK,EACL,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,GAAG,IAAI,CAAC;IAET,MAAM,mBAAmB,GAAG,IAAA,mCAA6B,EACvD,SAAS,EACT,QAAQ,EACR,WAAW,EACX,KAAK,CACN,CAAC;IAEF,MAAM,IAAI,GAAkB;QAC1B,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,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAChE,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;QAClE,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAClE,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;QACvE,EAAE,MAAM,EAAE,4BAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;KACnE,CAAC;IAEF,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,iBAAiB,CAAC,CAAC;IACnD,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,4BAAoB,CAAC,CAAC;IAC/C,CAAC,CAAC,SAAS,CAAC,QAAQ,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,3 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export declare function refundProposalDepositInstruction(programId: PublicKey, proposal: PublicKey, proposalDepositPayer: PublicKey): TransactionInstruction;
3
+ //# sourceMappingURL=refundProposalDeposit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refundProposalDeposit.d.ts","sourceRoot":"","sources":["../../src/instructions/refundProposalDeposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAKpE,wBAAgB,gCAAgC,CAC9C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,SAAS,EACnB,oBAAoB,EAAE,SAAS,GAC9B,sBAAsB,CAiBxB"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.refundProposalDepositInstruction = refundProposalDepositInstruction;
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 refundProposalDepositInstruction(programId, proposal, proposalDepositPayer) {
9
+ const proposalDeposit = (0, pda_1.getProposalDepositAddress)(programId, proposal, proposalDepositPayer);
10
+ const keys = [
11
+ { pubkey: proposal, isSigner: false, isWritable: false },
12
+ { pubkey: proposalDeposit, isSigner: false, isWritable: true },
13
+ { pubkey: proposalDepositPayer, isSigner: false, isWritable: true },
14
+ ];
15
+ const w = new borsh_1.BorshWriter();
16
+ w.writeU8(enums_1.GovernanceInstruction.RefundProposalDeposit);
17
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
18
+ }
19
+ //# sourceMappingURL=refundProposalDeposit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refundProposalDeposit.js","sourceRoot":"","sources":["../../src/instructions/refundProposalDeposit.ts"],"names":[],"mappings":";;AAKA,4EAqBC;AA1BD,6CAAoE;AACpE,oCAAuC;AACvC,oCAAiD;AACjD,gCAAmD;AAEnD,SAAgB,gCAAgC,CAC9C,SAAoB,EACpB,QAAmB,EACnB,oBAA+B;IAE/B,MAAM,eAAe,GAAG,IAAA,+BAAyB,EAC/C,SAAS,EACT,QAAQ,EACR,oBAAoB,CACrB,CAAC;IAEF,MAAM,IAAI,GAAG;QACX,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,IAAI,EAAE;QAC9D,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;KACpE,CAAC;IAEF,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,qBAAqB,CAAC,CAAC;IAEvD,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export interface RelinquishVoteArgs {
3
+ programId: PublicKey;
4
+ realm: PublicKey;
5
+ governance: PublicKey;
6
+ proposal: PublicKey;
7
+ tokenOwnerRecord: PublicKey;
8
+ voteGoverningTokenMint: PublicKey;
9
+ governanceAuthority?: PublicKey;
10
+ beneficiary?: PublicKey;
11
+ }
12
+ export declare function relinquishVoteInstruction(args: RelinquishVoteArgs): TransactionInstruction;
13
+ //# sourceMappingURL=relinquishVote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relinquishVote.d.ts","sourceRoot":"","sources":["../../src/instructions/relinquishVote.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,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,sBAAsB,EAAE,SAAS,CAAC;IAClC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,kBAAkB,GACvB,sBAAsB,CAgCxB"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.relinquishVoteInstruction = relinquishVoteInstruction;
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 relinquishVoteInstruction(args) {
9
+ const { programId, realm, governance, proposal, tokenOwnerRecord, voteGoverningTokenMint, governanceAuthority, beneficiary, } = args;
10
+ const voteRecord = (0, pda_1.getVoteRecordAddress)(programId, proposal, tokenOwnerRecord);
11
+ const keys = [
12
+ { pubkey: realm, isSigner: false, isWritable: false },
13
+ { pubkey: governance, isSigner: false, isWritable: false },
14
+ { pubkey: proposal, isSigner: false, isWritable: true },
15
+ { pubkey: tokenOwnerRecord, isSigner: false, isWritable: true },
16
+ { pubkey: voteRecord, isSigner: false, isWritable: true },
17
+ { pubkey: voteGoverningTokenMint, isSigner: false, isWritable: false },
18
+ ];
19
+ if (governanceAuthority) {
20
+ keys.push({ pubkey: governanceAuthority, isSigner: true, isWritable: false });
21
+ keys.push({ pubkey: beneficiary, isSigner: false, isWritable: true });
22
+ }
23
+ const w = new borsh_1.BorshWriter();
24
+ w.writeU8(enums_1.GovernanceInstruction.RelinquishVote);
25
+ return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
26
+ }
27
+ //# sourceMappingURL=relinquishVote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relinquishVote.js","sourceRoot":"","sources":["../../src/instructions/relinquishVote.ts"],"names":[],"mappings":";;AAoBA,8DAkCC;AAtDD,6CAIyB;AACzB,oCAAuC;AACvC,oCAAiD;AACjD,gCAA8C;AAa9C,SAAgB,yBAAyB,CACvC,IAAwB;IAExB,MAAM,EACJ,SAAS,EACT,KAAK,EACL,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,GACZ,GAAG,IAAI,CAAC;IAET,MAAM,UAAU,GAAG,IAAA,0BAAoB,EAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAE/E,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,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,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;KACvE,CAAC;IAEF,IAAI,mBAAmB,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,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"}
@@ -0,0 +1,21 @@
1
+ import { PublicKey, TransactionInstruction } from "@solana/web3.js";
2
+ export interface ResolveBetArgs {
3
+ programId: PublicKey;
4
+ realm: PublicKey;
5
+ resolutionAuthority: PublicKey;
6
+ proposal: PublicKey;
7
+ betVault: PublicKey;
8
+ treasuryTokenAccount: PublicKey;
9
+ communityMint: PublicKey;
10
+ splTokenProgram: PublicKey;
11
+ /**
12
+ * SecondaryMarket vault ATA. Required (and triggers the SecondaryMarket
13
+ * PDA to be appended) when `proposal.has_secondary` is true; omit
14
+ * otherwise.
15
+ */
16
+ secondaryVault?: PublicKey;
17
+ outcomeYes: boolean;
18
+ impactBps: number;
19
+ }
20
+ export declare function resolveBetInstruction(args: ResolveBetArgs): TransactionInstruction;
21
+ //# sourceMappingURL=resolveBet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveBet.d.ts","sourceRoot":"","sources":["../../src/instructions/resolveBet.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAUzB,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,mBAAmB,EAAE,SAAS,CAAC;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,oBAAoB,EAAE,SAAS,CAAC;IAChC,aAAa,EAAE,SAAS,CAAC;IACzB,eAAe,EAAE,SAAS,CAAC;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,GACnB,sBAAsB,CA4CxB"}