@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
package/dist/borsh.js ADDED
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BorshReader = exports.BorshWriter = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ /** Writer for Borsh-compatible binary serialization. */
6
+ class BorshWriter {
7
+ buf;
8
+ offset;
9
+ constructor(size = 1024) {
10
+ this.buf = Buffer.alloc(size);
11
+ this.offset = 0;
12
+ }
13
+ ensure(len) {
14
+ while (this.offset + len > this.buf.length) {
15
+ const next = Buffer.alloc(this.buf.length * 2);
16
+ this.buf.copy(next);
17
+ this.buf = next;
18
+ }
19
+ }
20
+ writeU8(val) {
21
+ this.ensure(1);
22
+ this.buf.writeUInt8(val, this.offset);
23
+ this.offset += 1;
24
+ return this;
25
+ }
26
+ writeBool(val) {
27
+ return this.writeU8(val ? 1 : 0);
28
+ }
29
+ writeU16(val) {
30
+ this.ensure(2);
31
+ this.buf.writeUInt16LE(val, this.offset);
32
+ this.offset += 2;
33
+ return this;
34
+ }
35
+ writeU32(val) {
36
+ this.ensure(4);
37
+ this.buf.writeUInt32LE(val, this.offset);
38
+ this.offset += 4;
39
+ return this;
40
+ }
41
+ writeU64(val) {
42
+ this.ensure(8);
43
+ this.buf.writeBigUInt64LE(BigInt(val), this.offset);
44
+ this.offset += 8;
45
+ return this;
46
+ }
47
+ writePubkey(key) {
48
+ this.ensure(32);
49
+ key.toBuffer().copy(this.buf, this.offset);
50
+ this.offset += 32;
51
+ return this;
52
+ }
53
+ /** Writes a fixed-length byte array (no length prefix), as Borsh `[u8; N]`. */
54
+ writeFixedBytes(data) {
55
+ this.ensure(data.length);
56
+ data.copy(this.buf, this.offset);
57
+ this.offset += data.length;
58
+ return this;
59
+ }
60
+ /** Writes `u128` as a little-endian unsigned 128-bit value. */
61
+ writeU128(val) {
62
+ this.ensure(16);
63
+ const lo = val & ((1n << 64n) - 1n);
64
+ const hi = val >> 64n;
65
+ this.buf.writeBigUInt64LE(lo, this.offset);
66
+ this.buf.writeBigUInt64LE(hi, this.offset + 8);
67
+ this.offset += 16;
68
+ return this;
69
+ }
70
+ writeString(s) {
71
+ const bytes = Buffer.from(s, "utf-8");
72
+ this.writeU32(bytes.length);
73
+ this.ensure(bytes.length);
74
+ bytes.copy(this.buf, this.offset);
75
+ this.offset += bytes.length;
76
+ return this;
77
+ }
78
+ writeBytes(data) {
79
+ this.writeU32(data.length);
80
+ this.ensure(data.length);
81
+ data.copy(this.buf, this.offset);
82
+ this.offset += data.length;
83
+ return this;
84
+ }
85
+ writeOption(val, writeFn) {
86
+ if (val === null || val === undefined) {
87
+ this.writeU8(0);
88
+ }
89
+ else {
90
+ this.writeU8(1);
91
+ writeFn(this, val);
92
+ }
93
+ return this;
94
+ }
95
+ writeVec(items, writeFn) {
96
+ this.writeU32(items.length);
97
+ for (const item of items) {
98
+ writeFn(this, item);
99
+ }
100
+ return this;
101
+ }
102
+ toBuffer() {
103
+ return this.buf.subarray(0, this.offset);
104
+ }
105
+ }
106
+ exports.BorshWriter = BorshWriter;
107
+ /** Reader for Borsh-compatible binary deserialization. */
108
+ class BorshReader {
109
+ buf;
110
+ offset;
111
+ constructor(buf) {
112
+ this.buf = buf;
113
+ this.offset = 0;
114
+ }
115
+ readU8() {
116
+ const val = this.buf.readUInt8(this.offset);
117
+ this.offset += 1;
118
+ return val;
119
+ }
120
+ readBool() {
121
+ return this.readU8() !== 0;
122
+ }
123
+ readU16() {
124
+ const val = this.buf.readUInt16LE(this.offset);
125
+ this.offset += 2;
126
+ return val;
127
+ }
128
+ readU32() {
129
+ const val = this.buf.readUInt32LE(this.offset);
130
+ this.offset += 4;
131
+ return val;
132
+ }
133
+ readU64() {
134
+ const val = this.buf.readBigUInt64LE(this.offset);
135
+ this.offset += 8;
136
+ return val;
137
+ }
138
+ readI64() {
139
+ const val = this.buf.readBigInt64LE(this.offset);
140
+ this.offset += 8;
141
+ return val;
142
+ }
143
+ readPubkey() {
144
+ const bytes = this.buf.subarray(this.offset, this.offset + 32);
145
+ this.offset += 32;
146
+ return new web3_js_1.PublicKey(bytes);
147
+ }
148
+ /** Reads a fixed-length byte array (no length prefix), as Borsh `[u8; N]`. */
149
+ readFixedBytes(len) {
150
+ const out = Buffer.from(this.buf.subarray(this.offset, this.offset + len));
151
+ this.offset += len;
152
+ return out;
153
+ }
154
+ /** Reads `u128` as a little-endian unsigned 128-bit value. */
155
+ readU128() {
156
+ const lo = this.buf.readBigUInt64LE(this.offset);
157
+ const hi = this.buf.readBigUInt64LE(this.offset + 8);
158
+ this.offset += 16;
159
+ return (hi << 64n) | lo;
160
+ }
161
+ readString() {
162
+ const len = this.readU32();
163
+ const s = this.buf.toString("utf-8", this.offset, this.offset + len);
164
+ this.offset += len;
165
+ return s;
166
+ }
167
+ readBytes() {
168
+ const len = this.readU32();
169
+ const data = this.buf.subarray(this.offset, this.offset + len);
170
+ this.offset += len;
171
+ return Buffer.from(data);
172
+ }
173
+ readOption(readFn) {
174
+ const tag = this.readU8();
175
+ if (tag === 0)
176
+ return null;
177
+ return readFn(this);
178
+ }
179
+ readVec(readFn) {
180
+ const len = this.readU32();
181
+ const items = [];
182
+ for (let i = 0; i < len; i++) {
183
+ items.push(readFn(this));
184
+ }
185
+ return items;
186
+ }
187
+ get position() {
188
+ return this.offset;
189
+ }
190
+ }
191
+ exports.BorshReader = BorshReader;
192
+ //# sourceMappingURL=borsh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"borsh.js","sourceRoot":"","sources":["../src/borsh.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import { PublicKey } from "@solana/web3.js";
2
+ import { GovernanceInstruction, SetRealmAuthorityAction } from "./enums";
3
+ import { GovernanceConfig, InstructionData, MintSpendingLimit, ProposalTransactionInput, RealmConfigArgs, Vote, VoteType } from "./types";
4
+ export interface DecodedCreateRealm {
5
+ instruction: GovernanceInstruction.CreateRealm;
6
+ name: string;
7
+ configArgs: RealmConfigArgs;
8
+ }
9
+ export interface DecodedDepositGoverningTokens {
10
+ instruction: GovernanceInstruction.DepositGoverningTokens;
11
+ amount: bigint;
12
+ }
13
+ export interface DecodedWithdrawGoverningTokens {
14
+ instruction: GovernanceInstruction.WithdrawGoverningTokens;
15
+ }
16
+ export interface DecodedCreateGovernance {
17
+ instruction: GovernanceInstruction.CreateGovernance;
18
+ config: GovernanceConfig;
19
+ }
20
+ export interface DecodedCreateProposal {
21
+ instruction: GovernanceInstruction.CreateProposal;
22
+ name: string;
23
+ descriptionLink: string;
24
+ voteType: VoteType;
25
+ options: string[];
26
+ useDenyOption: boolean;
27
+ proposalSeed: PublicKey;
28
+ maxVotingTime: number | null;
29
+ }
30
+ export interface DecodedInsertTransaction {
31
+ instruction: GovernanceInstruction.InsertTransaction;
32
+ optionIndex: number;
33
+ index: number;
34
+ holdUpTime: number;
35
+ instructions: InstructionData[];
36
+ finalize: boolean;
37
+ }
38
+ export interface DecodedCastVote {
39
+ instruction: GovernanceInstruction.CastVote;
40
+ vote: Vote;
41
+ }
42
+ export interface DecodedRelinquishVote {
43
+ instruction: GovernanceInstruction.RelinquishVote;
44
+ }
45
+ export interface DecodedExecuteTransaction {
46
+ instruction: GovernanceInstruction.ExecuteTransaction;
47
+ }
48
+ export interface DecodedSetGovernanceConfig {
49
+ instruction: GovernanceInstruction.SetGovernanceConfig;
50
+ config: GovernanceConfig;
51
+ }
52
+ export interface DecodedSetRealmAuthority {
53
+ instruction: GovernanceInstruction.SetRealmAuthority;
54
+ action: SetRealmAuthorityAction;
55
+ }
56
+ export interface DecodedSetRealmConfig {
57
+ instruction: GovernanceInstruction.SetRealmConfig;
58
+ configArgs: RealmConfigArgs;
59
+ }
60
+ export interface DecodedCreateTokenOwnerRecord {
61
+ instruction: GovernanceInstruction.CreateTokenOwnerRecord;
62
+ }
63
+ export interface DecodedCreateNativeTreasury {
64
+ instruction: GovernanceInstruction.CreateNativeTreasury;
65
+ }
66
+ export interface DecodedRefundProposalDeposit {
67
+ instruction: GovernanceInstruction.RefundProposalDeposit;
68
+ }
69
+ export interface DecodedCreateProposalWithTransactions {
70
+ instruction: GovernanceInstruction.CreateProposalWithTransactions;
71
+ name: string;
72
+ descriptionLink: string;
73
+ proposalSeed: PublicKey;
74
+ maxVotingTime: number | null;
75
+ transactions: ProposalTransactionInput[];
76
+ finalize: boolean;
77
+ vote: boolean;
78
+ }
79
+ export interface DecodedSetGovernanceLimits {
80
+ instruction: GovernanceInstruction.SetGovernanceLimits;
81
+ limits: MintSpendingLimit[];
82
+ }
83
+ export interface DecodedCloseProposal {
84
+ instruction: GovernanceInstruction.CloseProposal;
85
+ }
86
+ export type DecodedGovernanceInstruction = DecodedCreateRealm | DecodedDepositGoverningTokens | DecodedWithdrawGoverningTokens | DecodedCreateGovernance | DecodedCreateProposal | DecodedInsertTransaction | DecodedCastVote | DecodedRelinquishVote | DecodedExecuteTransaction | DecodedSetGovernanceConfig | DecodedSetRealmAuthority | DecodedSetRealmConfig | DecodedCreateTokenOwnerRecord | DecodedCreateNativeTreasury | DecodedRefundProposalDeposit | DecodedCreateProposalWithTransactions | DecodedSetGovernanceLimits | DecodedCloseProposal;
87
+ /**
88
+ * Decode a governance program instruction from its raw data buffer.
89
+ * Returns null if the discriminant is not recognized.
90
+ */
91
+ export declare function decodeGovernanceInstruction(data: Buffer): DecodedGovernanceInstruction | null;
92
+ /**
93
+ * Get the human-readable name for a governance instruction discriminant.
94
+ */
95
+ export declare function getInstructionName(discriminant: number): string | undefined;
96
+ //# sourceMappingURL=decode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../src/decode.ts"],"names":[],"mappings":"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"}
package/dist/decode.js ADDED
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeGovernanceInstruction = decodeGovernanceInstruction;
4
+ exports.getInstructionName = getInstructionName;
5
+ const borsh_1 = require("./borsh");
6
+ const enums_1 = require("./enums");
7
+ const types_1 = require("./types");
8
+ /**
9
+ * Decode a governance program instruction from its raw data buffer.
10
+ * Returns null if the discriminant is not recognized.
11
+ */
12
+ function decodeGovernanceInstruction(data) {
13
+ if (data.length === 0)
14
+ return null;
15
+ const r = new borsh_1.BorshReader(data);
16
+ const discriminant = r.readU8();
17
+ switch (discriminant) {
18
+ case enums_1.GovernanceInstruction.CreateRealm:
19
+ return {
20
+ instruction: enums_1.GovernanceInstruction.CreateRealm,
21
+ name: r.readString(),
22
+ configArgs: (0, types_1.readRealmConfigArgs)(r),
23
+ };
24
+ case enums_1.GovernanceInstruction.DepositGoverningTokens:
25
+ return {
26
+ instruction: enums_1.GovernanceInstruction.DepositGoverningTokens,
27
+ amount: r.readU64(),
28
+ };
29
+ case enums_1.GovernanceInstruction.WithdrawGoverningTokens:
30
+ return {
31
+ instruction: enums_1.GovernanceInstruction.WithdrawGoverningTokens,
32
+ };
33
+ case enums_1.GovernanceInstruction.CreateGovernance:
34
+ return {
35
+ instruction: enums_1.GovernanceInstruction.CreateGovernance,
36
+ config: (0, types_1.readGovernanceConfig)(r),
37
+ };
38
+ case enums_1.GovernanceInstruction.CreateProposal:
39
+ return {
40
+ instruction: enums_1.GovernanceInstruction.CreateProposal,
41
+ name: r.readString(),
42
+ descriptionLink: r.readString(),
43
+ voteType: (0, types_1.readVoteType)(r),
44
+ options: r.readVec((r) => r.readString()),
45
+ useDenyOption: r.readBool(),
46
+ proposalSeed: r.readPubkey(),
47
+ maxVotingTime: r.readOption((r) => r.readU32()),
48
+ };
49
+ case enums_1.GovernanceInstruction.InsertTransaction:
50
+ return {
51
+ instruction: enums_1.GovernanceInstruction.InsertTransaction,
52
+ optionIndex: r.readU8(),
53
+ index: r.readU16(),
54
+ holdUpTime: r.readU32(),
55
+ instructions: r.readVec(types_1.readInstructionData),
56
+ finalize: r.readBool(),
57
+ };
58
+ case enums_1.GovernanceInstruction.CastVote:
59
+ return {
60
+ instruction: enums_1.GovernanceInstruction.CastVote,
61
+ vote: (0, types_1.readVote)(r),
62
+ };
63
+ case enums_1.GovernanceInstruction.RelinquishVote:
64
+ return {
65
+ instruction: enums_1.GovernanceInstruction.RelinquishVote,
66
+ };
67
+ case enums_1.GovernanceInstruction.ExecuteTransaction:
68
+ return {
69
+ instruction: enums_1.GovernanceInstruction.ExecuteTransaction,
70
+ };
71
+ case enums_1.GovernanceInstruction.SetGovernanceConfig:
72
+ return {
73
+ instruction: enums_1.GovernanceInstruction.SetGovernanceConfig,
74
+ config: (0, types_1.readGovernanceConfig)(r),
75
+ };
76
+ case enums_1.GovernanceInstruction.SetRealmAuthority:
77
+ return {
78
+ instruction: enums_1.GovernanceInstruction.SetRealmAuthority,
79
+ action: r.readU8(),
80
+ };
81
+ case enums_1.GovernanceInstruction.SetRealmConfig:
82
+ return {
83
+ instruction: enums_1.GovernanceInstruction.SetRealmConfig,
84
+ configArgs: (0, types_1.readRealmConfigArgs)(r),
85
+ };
86
+ case enums_1.GovernanceInstruction.CreateTokenOwnerRecord:
87
+ return {
88
+ instruction: enums_1.GovernanceInstruction.CreateTokenOwnerRecord,
89
+ };
90
+ case enums_1.GovernanceInstruction.CreateNativeTreasury:
91
+ return {
92
+ instruction: enums_1.GovernanceInstruction.CreateNativeTreasury,
93
+ };
94
+ case enums_1.GovernanceInstruction.RefundProposalDeposit:
95
+ return {
96
+ instruction: enums_1.GovernanceInstruction.RefundProposalDeposit,
97
+ };
98
+ case enums_1.GovernanceInstruction.CreateProposalWithTransactions:
99
+ return {
100
+ instruction: enums_1.GovernanceInstruction.CreateProposalWithTransactions,
101
+ name: r.readString(),
102
+ descriptionLink: r.readString(),
103
+ proposalSeed: r.readPubkey(),
104
+ maxVotingTime: r.readOption((r) => r.readU32()),
105
+ transactions: r.readVec(types_1.readProposalTransactionInput),
106
+ finalize: r.readBool(),
107
+ vote: r.readBool(),
108
+ };
109
+ case enums_1.GovernanceInstruction.SetGovernanceLimits:
110
+ return {
111
+ instruction: enums_1.GovernanceInstruction.SetGovernanceLimits,
112
+ limits: r.readVec(types_1.readMintSpendingLimit),
113
+ };
114
+ case enums_1.GovernanceInstruction.CloseProposal:
115
+ return {
116
+ instruction: enums_1.GovernanceInstruction.CloseProposal,
117
+ };
118
+ default:
119
+ return null;
120
+ }
121
+ }
122
+ /**
123
+ * Get the human-readable name for a governance instruction discriminant.
124
+ */
125
+ function getInstructionName(discriminant) {
126
+ return enums_1.GovernanceInstruction[discriminant];
127
+ }
128
+ //# sourceMappingURL=decode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode.js","sourceRoot":"","sources":["../src/decode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ /** Borsh discriminants match Rust enum order exactly. */
2
+ export declare enum GovernanceAccountType {
3
+ Uninitialized = 0,
4
+ RealmConfig = 1,
5
+ VoteRecord = 2,
6
+ ProposalTransaction = 3,
7
+ Proposal = 4,
8
+ Realm = 5,
9
+ TokenOwnerRecord = 6,
10
+ Governance = 7,
11
+ ProgramGovernance = 8,
12
+ MintGovernance = 9,
13
+ TokenGovernance = 10,
14
+ ProposalDeposit = 11,
15
+ GovernanceLimits = 12,
16
+ SowellianConfig = 13,
17
+ Bet = 14,
18
+ SecondaryMarket = 15,
19
+ Receipt = 16
20
+ }
21
+ export declare enum BetOutcome {
22
+ Pending = 0,
23
+ Yes = 1,
24
+ No = 2
25
+ }
26
+ export declare enum ReceiptKind {
27
+ Bet = 0,
28
+ Secondary = 1
29
+ }
30
+ export declare enum ProposalState {
31
+ Draft = 0,
32
+ SigningOff = 1,
33
+ Voting = 2,
34
+ Succeeded = 3,
35
+ Executing = 4,
36
+ Completed = 5,
37
+ Cancelled = 6,
38
+ Defeated = 7,
39
+ ExecutingWithErrors = 8,
40
+ Vetoed = 9
41
+ }
42
+ export declare enum VoteThresholdType {
43
+ YesVotePercentage = 0,
44
+ Disabled = 1
45
+ }
46
+ export declare enum VoteTipping {
47
+ Strict = 0,
48
+ Early = 1,
49
+ Disabled = 2
50
+ }
51
+ export declare enum TransactionExecutionStatus {
52
+ None = 0,
53
+ Success = 1,
54
+ Error = 2
55
+ }
56
+ export declare enum MintMaxVoterWeightSourceType {
57
+ SupplyFraction = 0,
58
+ Absolute = 1
59
+ }
60
+ export declare const SUPPLY_FRACTION_BASE: bigint;
61
+ export declare enum VoteTypeKind {
62
+ SingleChoice = 0,
63
+ MultiChoice = 1
64
+ }
65
+ export declare enum MultiChoiceType {
66
+ FullWeight = 0,
67
+ Weighted = 1
68
+ }
69
+ export declare enum VoteKind {
70
+ Approve = 0,
71
+ Deny = 1,
72
+ Veto = 2
73
+ }
74
+ export declare enum OptionVoteResult {
75
+ None = 0,
76
+ Succeeded = 1,
77
+ Defeated = 2
78
+ }
79
+ export declare enum SpendingLimitTypeKind {
80
+ Absolute = 0,
81
+ Bps = 1
82
+ }
83
+ export declare enum SetRealmAuthorityAction {
84
+ SetUnchecked = 0,
85
+ SetChecked = 1,
86
+ Remove = 2
87
+ }
88
+ export declare enum GoverningTokenType {
89
+ Liquid = 0,
90
+ Membership = 1,
91
+ Dormant = 2
92
+ }
93
+ /** Instruction discriminant indices matching Rust GovernanceInstruction enum order. */
94
+ export declare enum GovernanceInstruction {
95
+ CreateRealm = 0,
96
+ DepositGoverningTokens = 1,
97
+ WithdrawGoverningTokens = 2,
98
+ CreateGovernance = 3,
99
+ CreateProposal = 4,
100
+ InsertTransaction = 5,
101
+ CastVote = 6,
102
+ CastSowellianVote = 7,
103
+ RelinquishVote = 8,
104
+ ExecuteTransaction = 9,
105
+ SetGovernanceConfig = 10,
106
+ SetRealmAuthority = 11,
107
+ SetRealmConfig = 12,
108
+ CreateTokenOwnerRecord = 13,
109
+ CreateNativeTreasury = 14,
110
+ RefundProposalDeposit = 15,
111
+ CreateProposalWithTransactions = 16,
112
+ SetGovernanceLimits = 17,
113
+ CloseProposal = 18,
114
+ SetOrUpdateSowellianConfig = 19,
115
+ SetSowellianGovernanceConfig = 20,
116
+ SettleBet = 21,
117
+ ResolveBet = 22,
118
+ WithdrawPayoff = 23,
119
+ CloseReceipt = 24,
120
+ CloseBet = 25,
121
+ CastSecondaryVote = 26,
122
+ CloseSecondary = 27
123
+ }
124
+ //# sourceMappingURL=enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAEzD,oBAAY,qBAAqB;IAC/B,aAAa,IAAI;IACjB,WAAW,IAAI;IACf,UAAU,IAAI;IACd,mBAAmB,IAAI;IACvB,QAAQ,IAAI;IACZ,KAAK,IAAI;IACT,gBAAgB,IAAI;IACpB,UAAU,IAAI;IACd,iBAAiB,IAAI;IACrB,cAAc,IAAI;IAClB,eAAe,KAAK;IACpB,eAAe,KAAK;IACpB,gBAAgB,KAAK;IACrB,eAAe,KAAK;IACpB,GAAG,KAAK;IACR,eAAe,KAAK;IACpB,OAAO,KAAK;CACb;AAED,oBAAY,UAAU;IACpB,OAAO,IAAI;IACX,GAAG,IAAI;IACP,EAAE,IAAI;CACP;AAED,oBAAY,WAAW;IACrB,GAAG,IAAI;IACP,SAAS,IAAI;CACd;AAED,oBAAY,aAAa;IACvB,KAAK,IAAI;IACT,UAAU,IAAI;IACd,MAAM,IAAI;IACV,SAAS,IAAI;IACb,SAAS,IAAI;IACb,SAAS,IAAI;IACb,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,mBAAmB,IAAI;IACvB,MAAM,IAAI;CACX;AAED,oBAAY,iBAAiB;IAC3B,iBAAiB,IAAI;IACrB,QAAQ,IAAI;CACb;AAED,oBAAY,WAAW;IACrB,MAAM,IAAI;IACV,KAAK,IAAI;IACT,QAAQ,IAAI;CACb;AAED,oBAAY,0BAA0B;IACpC,IAAI,IAAI;IACR,OAAO,IAAI;IACX,KAAK,IAAI;CACV;AAED,oBAAY,4BAA4B;IACtC,cAAc,IAAI;IAClB,QAAQ,IAAI;CACb;AAED,eAAO,MAAM,oBAAoB,QAAwB,CAAC;AAE1D,oBAAY,YAAY;IACtB,YAAY,IAAI;IAChB,WAAW,IAAI;CAChB;AAED,oBAAY,eAAe;IACzB,UAAU,IAAI;IACd,QAAQ,IAAI;CACb;AAED,oBAAY,QAAQ;IAClB,OAAO,IAAI;IACX,IAAI,IAAI;IACR,IAAI,IAAI;CACT;AAED,oBAAY,gBAAgB;IAC1B,IAAI,IAAI;IACR,SAAS,IAAI;IACb,QAAQ,IAAI;CACb;AAED,oBAAY,qBAAqB;IAC/B,QAAQ,IAAI;IACZ,GAAG,IAAI;CACR;AAED,oBAAY,uBAAuB;IACjC,YAAY,IAAI;IAChB,UAAU,IAAI;IACd,MAAM,IAAI;CACX;AAED,oBAAY,kBAAkB;IAC5B,MAAM,IAAI;IACV,UAAU,IAAI;IACd,OAAO,IAAI;CACZ;AAED,uFAAuF;AACvF,oBAAY,qBAAqB;IAC/B,WAAW,IAAI;IACf,sBAAsB,IAAI;IAC1B,uBAAuB,IAAI;IAC3B,gBAAgB,IAAI;IACpB,cAAc,IAAI;IAClB,iBAAiB,IAAI;IACrB,QAAQ,IAAI;IACZ,iBAAiB,IAAI;IACrB,cAAc,IAAI;IAClB,kBAAkB,IAAI;IACtB,mBAAmB,KAAK;IACxB,iBAAiB,KAAK;IACtB,cAAc,KAAK;IACnB,sBAAsB,KAAK;IAC3B,oBAAoB,KAAK;IACzB,qBAAqB,KAAK;IAC1B,8BAA8B,KAAK;IACnC,mBAAmB,KAAK;IACxB,aAAa,KAAK;IAClB,0BAA0B,KAAK;IAC/B,4BAA4B,KAAK;IACjC,SAAS,KAAK;IACd,UAAU,KAAK;IACf,cAAc,KAAK;IACnB,YAAY,KAAK;IACjB,QAAQ,KAAK;IACb,iBAAiB,KAAK;IACtB,cAAc,KAAK;CACpB"}