hive-stream 3.0.2 → 3.0.3

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 (197) hide show
  1. package/DOCUMENTATION.md +50 -2
  2. package/README.md +44 -3
  3. package/dist/adapters/base.adapter.d.ts +5 -0
  4. package/dist/adapters/base.adapter.js +9 -0
  5. package/dist/adapters/base.adapter.js.map +1 -1
  6. package/dist/adapters/mongodb.adapter.d.ts +6 -6
  7. package/dist/adapters/mongodb.adapter.js +36 -21
  8. package/dist/adapters/mongodb.adapter.js.map +1 -1
  9. package/dist/adapters/postgresql.adapter.d.ts +7 -0
  10. package/dist/adapters/postgresql.adapter.js +46 -19
  11. package/dist/adapters/postgresql.adapter.js.map +1 -1
  12. package/dist/adapters/sqlite.adapter.d.ts +4 -0
  13. package/dist/adapters/sqlite.adapter.js +10 -0
  14. package/dist/adapters/sqlite.adapter.js.map +1 -1
  15. package/dist/api.d.ts +13 -3
  16. package/dist/api.js +96 -62
  17. package/dist/api.js.map +1 -1
  18. package/dist/config.d.ts +7 -1
  19. package/dist/config.js +7 -1
  20. package/dist/config.js.map +1 -1
  21. package/dist/contracts/auctionhouse.contract.d.ts +4 -0
  22. package/dist/contracts/auctionhouse.contract.js +234 -0
  23. package/dist/contracts/auctionhouse.contract.js.map +1 -0
  24. package/dist/contracts/booking.contract.d.ts +4 -0
  25. package/dist/contracts/booking.contract.js +225 -0
  26. package/dist/contracts/booking.contract.js.map +1 -0
  27. package/dist/contracts/bountyboard.contract.d.ts +4 -0
  28. package/dist/contracts/bountyboard.contract.js +233 -0
  29. package/dist/contracts/bountyboard.contract.js.map +1 -0
  30. package/dist/contracts/bundlemarketplace.contract.d.ts +4 -0
  31. package/dist/contracts/bundlemarketplace.contract.js +195 -0
  32. package/dist/contracts/bundlemarketplace.contract.js.map +1 -0
  33. package/dist/contracts/charitymatch.contract.d.ts +4 -0
  34. package/dist/contracts/charitymatch.contract.js +172 -0
  35. package/dist/contracts/charitymatch.contract.js.map +1 -0
  36. package/dist/contracts/coinflip.contract.js +7 -1
  37. package/dist/contracts/coinflip.contract.js.map +1 -1
  38. package/dist/contracts/crowdfund.contract.d.ts +4 -0
  39. package/dist/contracts/crowdfund.contract.js +290 -0
  40. package/dist/contracts/crowdfund.contract.js.map +1 -0
  41. package/dist/contracts/dcabot.contract.d.ts +4 -0
  42. package/dist/contracts/dcabot.contract.js +217 -0
  43. package/dist/contracts/dcabot.contract.js.map +1 -0
  44. package/dist/contracts/dice.contract.js +7 -1
  45. package/dist/contracts/dice.contract.js.map +1 -1
  46. package/dist/contracts/domainregistry.contract.d.ts +4 -0
  47. package/dist/contracts/domainregistry.contract.js +232 -0
  48. package/dist/contracts/domainregistry.contract.js.map +1 -0
  49. package/dist/contracts/exchange.contract.js +209 -168
  50. package/dist/contracts/exchange.contract.js.map +1 -1
  51. package/dist/contracts/fanclub.contract.d.ts +4 -0
  52. package/dist/contracts/fanclub.contract.js +193 -0
  53. package/dist/contracts/fanclub.contract.js.map +1 -0
  54. package/dist/contracts/giftcard.contract.d.ts +4 -0
  55. package/dist/contracts/giftcard.contract.js +158 -0
  56. package/dist/contracts/giftcard.contract.js.map +1 -0
  57. package/dist/contracts/grantrounds.contract.d.ts +4 -0
  58. package/dist/contracts/grantrounds.contract.js +265 -0
  59. package/dist/contracts/grantrounds.contract.js.map +1 -0
  60. package/dist/contracts/groupbuy.contract.d.ts +4 -0
  61. package/dist/contracts/groupbuy.contract.js +198 -0
  62. package/dist/contracts/groupbuy.contract.js.map +1 -0
  63. package/dist/contracts/helpers.d.ts +64 -0
  64. package/dist/contracts/helpers.js +159 -0
  65. package/dist/contracts/helpers.js.map +1 -0
  66. package/dist/contracts/insurancepool.contract.d.ts +4 -0
  67. package/dist/contracts/insurancepool.contract.js +281 -0
  68. package/dist/contracts/insurancepool.contract.js.map +1 -0
  69. package/dist/contracts/invoice.contract.d.ts +4 -0
  70. package/dist/contracts/invoice.contract.js +193 -0
  71. package/dist/contracts/invoice.contract.js.map +1 -0
  72. package/dist/contracts/launchpad.contract.d.ts +4 -0
  73. package/dist/contracts/launchpad.contract.js +225 -0
  74. package/dist/contracts/launchpad.contract.js.map +1 -0
  75. package/dist/contracts/lotto.contract.js +53 -37
  76. package/dist/contracts/lotto.contract.js.map +1 -1
  77. package/dist/contracts/multisigtreasury.contract.d.ts +4 -0
  78. package/dist/contracts/multisigtreasury.contract.js +245 -0
  79. package/dist/contracts/multisigtreasury.contract.js.map +1 -0
  80. package/dist/contracts/nft.contract.d.ts +1 -0
  81. package/dist/contracts/nft.contract.js +236 -192
  82. package/dist/contracts/nft.contract.js.map +1 -1
  83. package/dist/contracts/oraclebounty.contract.d.ts +4 -0
  84. package/dist/contracts/oraclebounty.contract.js +250 -0
  85. package/dist/contracts/oraclebounty.contract.js.map +1 -0
  86. package/dist/contracts/payroll.contract.d.ts +4 -0
  87. package/dist/contracts/payroll.contract.js +232 -0
  88. package/dist/contracts/payroll.contract.js.map +1 -0
  89. package/dist/contracts/paywall.contract.d.ts +4 -0
  90. package/dist/contracts/paywall.contract.js +185 -0
  91. package/dist/contracts/paywall.contract.js.map +1 -0
  92. package/dist/contracts/poll.contract.js +2 -0
  93. package/dist/contracts/poll.contract.js.map +1 -1
  94. package/dist/contracts/predictionmarket.contract.d.ts +4 -0
  95. package/dist/contracts/predictionmarket.contract.js +213 -0
  96. package/dist/contracts/predictionmarket.contract.js.map +1 -0
  97. package/dist/contracts/proposaltimelock.contract.d.ts +4 -0
  98. package/dist/contracts/proposaltimelock.contract.js +250 -0
  99. package/dist/contracts/proposaltimelock.contract.js.map +1 -0
  100. package/dist/contracts/questpass.contract.d.ts +4 -0
  101. package/dist/contracts/questpass.contract.js +214 -0
  102. package/dist/contracts/questpass.contract.js.map +1 -0
  103. package/dist/contracts/referral.contract.d.ts +4 -0
  104. package/dist/contracts/referral.contract.js +238 -0
  105. package/dist/contracts/referral.contract.js.map +1 -0
  106. package/dist/contracts/rental.contract.d.ts +4 -0
  107. package/dist/contracts/rental.contract.js +221 -0
  108. package/dist/contracts/rental.contract.js.map +1 -0
  109. package/dist/contracts/revenuesplit.contract.d.ts +4 -0
  110. package/dist/contracts/revenuesplit.contract.js +211 -0
  111. package/dist/contracts/revenuesplit.contract.js.map +1 -0
  112. package/dist/contracts/rps.contract.js +17 -1
  113. package/dist/contracts/rps.contract.js.map +1 -1
  114. package/dist/contracts/savings.contract.d.ts +4 -0
  115. package/dist/contracts/savings.contract.js +208 -0
  116. package/dist/contracts/savings.contract.js.map +1 -0
  117. package/dist/contracts/subscription.contract.d.ts +4 -0
  118. package/dist/contracts/subscription.contract.js +241 -0
  119. package/dist/contracts/subscription.contract.js.map +1 -0
  120. package/dist/contracts/sweepstakes.contract.d.ts +4 -0
  121. package/dist/contracts/sweepstakes.contract.js +209 -0
  122. package/dist/contracts/sweepstakes.contract.js.map +1 -0
  123. package/dist/contracts/ticketing.contract.d.ts +4 -0
  124. package/dist/contracts/ticketing.contract.js +185 -0
  125. package/dist/contracts/ticketing.contract.js.map +1 -0
  126. package/dist/contracts/tipjar.contract.js +2 -0
  127. package/dist/contracts/tipjar.contract.js.map +1 -1
  128. package/dist/contracts/token.contract.js +135 -125
  129. package/dist/contracts/token.contract.js.map +1 -1
  130. package/dist/index.d.ts +39 -0
  131. package/dist/index.js +71 -1
  132. package/dist/index.js.map +1 -1
  133. package/dist/metadata.d.ts +7 -0
  134. package/dist/metadata.js +64 -1
  135. package/dist/metadata.js.map +1 -1
  136. package/dist/providers/block-provider.d.ts +22 -0
  137. package/dist/providers/block-provider.js +3 -0
  138. package/dist/providers/block-provider.js.map +1 -0
  139. package/dist/providers/haf-client.d.ts +30 -0
  140. package/dist/providers/haf-client.js +119 -0
  141. package/dist/providers/haf-client.js.map +1 -0
  142. package/dist/providers/haf-provider.d.ts +49 -0
  143. package/dist/providers/haf-provider.js +256 -0
  144. package/dist/providers/haf-provider.js.map +1 -0
  145. package/dist/providers/hive-provider.d.ts +13 -0
  146. package/dist/providers/hive-provider.js +25 -0
  147. package/dist/providers/hive-provider.js.map +1 -0
  148. package/dist/providers/index.d.ts +4 -0
  149. package/dist/providers/index.js +21 -0
  150. package/dist/providers/index.js.map +1 -0
  151. package/dist/streamer.d.ts +21 -1
  152. package/dist/streamer.js +187 -62
  153. package/dist/streamer.js.map +1 -1
  154. package/dist/utils.js +11 -2
  155. package/dist/utils.js.map +1 -1
  156. package/package.json +16 -1
  157. package/.claude/settings.local.json +0 -12
  158. package/.env.example +0 -3
  159. package/.travis.yml +0 -11
  160. package/AGENTS.md +0 -35
  161. package/CLAUDE.md +0 -75
  162. package/ecosystem.config.js +0 -17
  163. package/examples/contracts/README.md +0 -8
  164. package/examples/contracts/exchange.ts +0 -38
  165. package/examples/contracts/poll.ts +0 -21
  166. package/examples/contracts/rps.ts +0 -19
  167. package/examples/contracts/tipjar.ts +0 -19
  168. package/jest.config.js +0 -9
  169. package/test-contract-block.md +0 -19
  170. package/tests/actions.spec.ts +0 -252
  171. package/tests/adapters/actions-persistence.spec.ts +0 -144
  172. package/tests/adapters/postgresql.adapter.spec.ts +0 -127
  173. package/tests/adapters/sqlite.adapter.spec.ts +0 -181
  174. package/tests/config-input.spec.ts +0 -90
  175. package/tests/contracts/coinflip.contract.spec.ts +0 -94
  176. package/tests/contracts/dice.contract.spec.ts +0 -87
  177. package/tests/contracts/entrants.json +0 -729
  178. package/tests/contracts/exchange.contract.spec.ts +0 -84
  179. package/tests/contracts/lotto.contract.spec.ts +0 -59
  180. package/tests/contracts/nft.contract.spec.ts +0 -948
  181. package/tests/contracts/token.contract.spec.ts +0 -90
  182. package/tests/exchanges/coingecko.exchange.spec.ts +0 -169
  183. package/tests/exchanges/exchange.base.spec.ts +0 -246
  184. package/tests/helpers/mock-adapter.ts +0 -214
  185. package/tests/helpers/mock-fetch.ts +0 -165
  186. package/tests/hive-chain-features.spec.ts +0 -319
  187. package/tests/hive-rates.spec.ts +0 -443
  188. package/tests/integration/hive-rates.integration.spec.ts +0 -35
  189. package/tests/metadata.spec.ts +0 -63
  190. package/tests/setup.ts +0 -30
  191. package/tests/streamer-actions.spec.ts +0 -274
  192. package/tests/streamer.spec.ts +0 -342
  193. package/tests/types/rates.spec.ts +0 -216
  194. package/tests/utils.spec.ts +0 -113
  195. package/tsconfig.build.json +0 -4
  196. package/tslint.json +0 -21
  197. package/wallaby.js +0 -26
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createMultisigTreasuryContract = createMultisigTreasuryContract;
4
+ const zod_1 = require("zod");
5
+ const contract_1 = require("./contract");
6
+ const helpers_1 = require("./helpers");
7
+ const DEFAULT_NAME = 'multisigtreasury';
8
+ function createMultisigTreasuryContract(options = {}) {
9
+ const name = options.name || DEFAULT_NAME;
10
+ const state = (0, helpers_1.createContractState)();
11
+ const createVaultSchema = zod_1.z.object({
12
+ vaultId: helpers_1.identifierSchema,
13
+ title: zod_1.z.string().min(3).max(140),
14
+ signers: zod_1.z.array(zod_1.z.string().min(3).max(32)).min(1).max(25),
15
+ threshold: zod_1.z.number().int().min(1).max(25),
16
+ metadata: zod_1.z.record(zod_1.z.any()).optional()
17
+ });
18
+ const proposeTransferSchema = zod_1.z.object({
19
+ vaultId: helpers_1.identifierSchema,
20
+ proposalId: helpers_1.identifierSchema,
21
+ title: zod_1.z.string().min(3).max(140),
22
+ to: zod_1.z.string().min(3).max(32),
23
+ amount: helpers_1.amountSchema,
24
+ asset: helpers_1.assetSchema,
25
+ memo: zod_1.z.string().max(280).optional()
26
+ });
27
+ const proposalSchema = zod_1.z.object({
28
+ proposalId: helpers_1.identifierSchema
29
+ });
30
+ const markExecutedSchema = zod_1.z.object({
31
+ proposalId: helpers_1.identifierSchema,
32
+ txId: zod_1.z.string().max(120).optional()
33
+ });
34
+ const initialize = async () => {
35
+ await (0, helpers_1.initializeTables)(state.adapter, [
36
+ `
37
+ CREATE TABLE IF NOT EXISTS treasury_vaults (
38
+ vault_id TEXT PRIMARY KEY,
39
+ owner TEXT NOT NULL,
40
+ title TEXT NOT NULL,
41
+ threshold INTEGER NOT NULL,
42
+ signers TEXT NOT NULL,
43
+ status TEXT NOT NULL,
44
+ metadata TEXT,
45
+ created_at DATETIME NOT NULL
46
+ )
47
+ `,
48
+ `
49
+ CREATE TABLE IF NOT EXISTS treasury_proposals (
50
+ proposal_id TEXT PRIMARY KEY,
51
+ vault_id TEXT NOT NULL,
52
+ proposer TEXT NOT NULL,
53
+ title TEXT NOT NULL,
54
+ operation_type TEXT NOT NULL,
55
+ operation_json TEXT NOT NULL,
56
+ approvals_count INTEGER NOT NULL,
57
+ status TEXT NOT NULL,
58
+ created_at DATETIME NOT NULL,
59
+ executed_at DATETIME
60
+ )
61
+ `,
62
+ `
63
+ CREATE TABLE IF NOT EXISTS treasury_approvals (
64
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
65
+ proposal_id TEXT NOT NULL,
66
+ signer TEXT NOT NULL,
67
+ approved_at DATETIME NOT NULL,
68
+ UNIQUE(proposal_id, signer)
69
+ )
70
+ `
71
+ ]);
72
+ };
73
+ const createVault = async (payload, ctx) => {
74
+ const owner = (0, helpers_1.requireSender)(ctx);
75
+ const signers = (0, helpers_1.uniqueItems)([owner, ...payload.signers]);
76
+ if (payload.threshold > signers.length) {
77
+ throw new Error('Threshold cannot exceed the number of unique signers');
78
+ }
79
+ const existing = await state.adapter.query('SELECT vault_id FROM treasury_vaults WHERE vault_id = ?', [payload.vaultId]);
80
+ if (existing.length > 0) {
81
+ throw new Error(`Vault ${payload.vaultId} already exists`);
82
+ }
83
+ await state.adapter.query(`INSERT INTO treasury_vaults (
84
+ vault_id, owner, title, threshold, signers, status, metadata, created_at
85
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, [
86
+ payload.vaultId,
87
+ owner,
88
+ payload.title,
89
+ payload.threshold,
90
+ JSON.stringify(signers),
91
+ 'active',
92
+ JSON.stringify(payload.metadata || {}),
93
+ new Date()
94
+ ]);
95
+ await (0, helpers_1.emitContractEvent)(state.adapter, name, 'createVault', payload, {
96
+ action: 'treasury_vault_created',
97
+ data: {
98
+ vaultId: payload.vaultId,
99
+ owner,
100
+ threshold: payload.threshold,
101
+ signers
102
+ }
103
+ });
104
+ };
105
+ const proposeTransfer = async (payload, ctx) => {
106
+ const proposer = (0, helpers_1.requireSender)(ctx);
107
+ const vaults = await state.adapter.query('SELECT * FROM treasury_vaults WHERE vault_id = ?', [payload.vaultId]);
108
+ if (vaults.length === 0) {
109
+ throw new Error(`Vault ${payload.vaultId} does not exist`);
110
+ }
111
+ const vault = vaults[0];
112
+ const signers = (0, helpers_1.parseJson)(vault.signers, []);
113
+ if (!signers.includes(proposer)) {
114
+ throw new Error('Only a vault signer can create proposals');
115
+ }
116
+ const existing = await state.adapter.query('SELECT proposal_id FROM treasury_proposals WHERE proposal_id = ?', [payload.proposalId]);
117
+ if (existing.length > 0) {
118
+ throw new Error(`Proposal ${payload.proposalId} already exists`);
119
+ }
120
+ await state.adapter.query(`INSERT INTO treasury_proposals (
121
+ proposal_id, vault_id, proposer, title, operation_type, operation_json, approvals_count, status, created_at, executed_at
122
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
123
+ payload.proposalId,
124
+ payload.vaultId,
125
+ proposer,
126
+ payload.title,
127
+ 'transfer',
128
+ JSON.stringify({
129
+ to: payload.to,
130
+ amount: payload.amount,
131
+ asset: payload.asset,
132
+ memo: payload.memo || ''
133
+ }),
134
+ 0,
135
+ 'pending',
136
+ new Date(),
137
+ null
138
+ ]);
139
+ await (0, helpers_1.emitContractEvent)(state.adapter, name, 'proposeTransfer', payload, {
140
+ action: 'treasury_proposal_created',
141
+ data: {
142
+ proposalId: payload.proposalId,
143
+ vaultId: payload.vaultId,
144
+ proposer
145
+ }
146
+ });
147
+ };
148
+ const approveProposal = async (payload, ctx) => {
149
+ const signer = (0, helpers_1.requireSender)(ctx);
150
+ const proposalRows = await state.adapter.query('SELECT * FROM treasury_proposals WHERE proposal_id = ?', [payload.proposalId]);
151
+ if (proposalRows.length === 0) {
152
+ throw new Error(`Proposal ${payload.proposalId} does not exist`);
153
+ }
154
+ const proposal = proposalRows[0];
155
+ if (proposal.status === 'cancelled' || proposal.status === 'executed') {
156
+ throw new Error('Proposal is no longer active');
157
+ }
158
+ const vaultRows = await state.adapter.query('SELECT * FROM treasury_vaults WHERE vault_id = ?', [proposal.vault_id]);
159
+ const vault = vaultRows[0];
160
+ const signers = (0, helpers_1.parseJson)(vault.signers, []);
161
+ if (!signers.includes(signer)) {
162
+ throw new Error('Only a vault signer can approve this proposal');
163
+ }
164
+ await state.adapter.query('INSERT INTO treasury_approvals (proposal_id, signer, approved_at) VALUES (?, ?, ?)', [payload.proposalId, signer, new Date()]);
165
+ const approvalCountRows = await state.adapter.query('SELECT COUNT(*) AS count FROM treasury_approvals WHERE proposal_id = ?', [payload.proposalId]);
166
+ const approvalsCount = Number(approvalCountRows[0]?.count || 0);
167
+ const status = approvalsCount >= Number(vault.threshold)
168
+ ? 'ready'
169
+ : 'pending';
170
+ await state.adapter.query('UPDATE treasury_proposals SET approvals_count = ?, status = ? WHERE proposal_id = ?', [approvalsCount, status, payload.proposalId]);
171
+ await (0, helpers_1.emitContractEvent)(state.adapter, name, 'approveProposal', payload, {
172
+ action: status === 'ready' ? 'treasury_proposal_ready' : 'treasury_proposal_approved',
173
+ data: {
174
+ proposalId: payload.proposalId,
175
+ signer,
176
+ approvalsCount,
177
+ threshold: vault.threshold
178
+ }
179
+ });
180
+ };
181
+ const cancelProposal = async (payload, ctx) => {
182
+ const sender = (0, helpers_1.requireSender)(ctx);
183
+ const proposals = await state.adapter.query('SELECT * FROM treasury_proposals WHERE proposal_id = ?', [payload.proposalId]);
184
+ if (proposals.length === 0) {
185
+ throw new Error(`Proposal ${payload.proposalId} does not exist`);
186
+ }
187
+ const proposal = proposals[0];
188
+ const vaultRows = await state.adapter.query('SELECT * FROM treasury_vaults WHERE vault_id = ?', [proposal.vault_id]);
189
+ const vault = vaultRows[0];
190
+ if (proposal.proposer !== sender && vault.owner !== sender) {
191
+ throw new Error('Only the proposer or vault owner can cancel this proposal');
192
+ }
193
+ await state.adapter.query('UPDATE treasury_proposals SET status = ? WHERE proposal_id = ?', ['cancelled', payload.proposalId]);
194
+ await (0, helpers_1.emitContractEvent)(state.adapter, name, 'cancelProposal', payload, {
195
+ action: 'treasury_proposal_cancelled',
196
+ data: {
197
+ proposalId: payload.proposalId,
198
+ cancelledBy: sender
199
+ }
200
+ });
201
+ };
202
+ const markExecuted = async (payload, ctx) => {
203
+ const sender = (0, helpers_1.requireSender)(ctx);
204
+ const proposals = await state.adapter.query('SELECT * FROM treasury_proposals WHERE proposal_id = ?', [payload.proposalId]);
205
+ if (proposals.length === 0) {
206
+ throw new Error(`Proposal ${payload.proposalId} does not exist`);
207
+ }
208
+ const proposal = proposals[0];
209
+ const vaultRows = await state.adapter.query('SELECT * FROM treasury_vaults WHERE vault_id = ?', [proposal.vault_id]);
210
+ const vault = vaultRows[0];
211
+ const signers = (0, helpers_1.parseJson)(vault.signers, []);
212
+ if (!signers.includes(sender)) {
213
+ throw new Error('Only a vault signer can mark this proposal executed');
214
+ }
215
+ if (proposal.status !== 'ready') {
216
+ throw new Error('Proposal is not ready for execution');
217
+ }
218
+ await state.adapter.query('UPDATE treasury_proposals SET status = ?, executed_at = ? WHERE proposal_id = ?', ['executed', new Date(), payload.proposalId]);
219
+ await (0, helpers_1.emitContractEvent)(state.adapter, name, 'markExecuted', payload, {
220
+ action: 'treasury_proposal_executed',
221
+ data: {
222
+ proposalId: payload.proposalId,
223
+ executedBy: sender,
224
+ txId: payload.txId || null
225
+ }
226
+ });
227
+ };
228
+ return (0, contract_1.defineContract)({
229
+ name,
230
+ hooks: {
231
+ create: async ({ adapter }) => {
232
+ state.adapter = adapter;
233
+ await initialize();
234
+ }
235
+ },
236
+ actions: {
237
+ createVault: (0, contract_1.action)(createVault, { schema: createVaultSchema, trigger: 'custom_json' }),
238
+ proposeTransfer: (0, contract_1.action)(proposeTransfer, { schema: proposeTransferSchema, trigger: 'custom_json' }),
239
+ approveProposal: (0, contract_1.action)(approveProposal, { schema: proposalSchema, trigger: 'custom_json' }),
240
+ cancelProposal: (0, contract_1.action)(cancelProposal, { schema: proposalSchema, trigger: 'custom_json' }),
241
+ markExecuted: (0, contract_1.action)(markExecuted, { schema: markExecutedSchema, trigger: 'custom_json' })
242
+ }
243
+ });
244
+ }
245
+ //# sourceMappingURL=multisigtreasury.contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multisigtreasury.contract.js","sourceRoot":"","sources":["../../src/contracts/multisigtreasury.contract.ts"],"names":[],"mappings":";;AAoBA,wEA6RC;AAjTD,6BAAwB;AACxB,yCAAoD;AACpD,uCAUmB;AAEnB,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAMxC,SAAgB,8BAA8B,CAAC,UAA2C,EAAE;IACxF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAA,6BAAmB,GAAE,CAAC;IAEpC,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;QAC/B,OAAO,EAAE,0BAAgB;QACzB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACjC,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;KACzC,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;QACnC,OAAO,EAAE,0BAAgB;QACzB,UAAU,EAAE,0BAAgB;QAC5B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACjC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,EAAE,sBAAY;QACpB,KAAK,EAAE,qBAAW;QAClB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KACvC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5B,UAAU,EAAE,0BAAgB;KAC/B,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;QAChC,UAAU,EAAE,0BAAgB;QAC5B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;KACvC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC1B,MAAM,IAAA,0BAAgB,EAAC,KAAK,CAAC,OAAO,EAAE;YAClC;;;;;;;;;;;aAWC;YACD;;;;;;;;;;;;;aAaC;YACD;;;;;;;;aAQC;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,EAAE,OAA0C,EAAE,GAAQ,EAAE,EAAE;QAC/E,MAAM,KAAK,GAAG,IAAA,uBAAa,EAAC,GAAG,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,IAAA,qBAAW,EAAC,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,yDAAyD,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACzH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CACrB;;8CAEkC,EAClC;YACI,OAAO,CAAC,OAAO;YACf,KAAK;YACL,OAAO,CAAC,KAAK;YACb,OAAO,CAAC,SAAS;YACjB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACvB,QAAQ;YACR,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;YACtC,IAAI,IAAI,EAAE;SACb,CACJ,CAAC;QAEF,MAAM,IAAA,2BAAiB,EAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE;YACjE,MAAM,EAAE,wBAAwB;YAChC,IAAI,EAAE;gBACF,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK;gBACL,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO;aACV;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,EAAE,OAA8C,EAAE,GAAQ,EAAE,EAAE;QACvF,MAAM,QAAQ,GAAG,IAAA,uBAAa,EAAC,GAAG,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAChH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,IAAA,mBAAS,EAAW,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kEAAkE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACrI,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,UAAU,iBAAiB,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CACrB;;oDAEwC,EACxC;YACI,OAAO,CAAC,UAAU;YAClB,OAAO,CAAC,OAAO;YACf,QAAQ;YACR,OAAO,CAAC,KAAK;YACb,UAAU;YACV,IAAI,CAAC,SAAS,CAAC;gBACX,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;aAC3B,CAAC;YACF,CAAC;YACD,SAAS;YACT,IAAI,IAAI,EAAE;YACV,IAAI;SACP,CACJ,CAAC;QAEF,MAAM,IAAA,2BAAiB,EAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE;YACrE,MAAM,EAAE,2BAA2B;YACnC,IAAI,EAAE;gBACF,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ;aACX;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,EAAE,OAAuC,EAAE,GAAQ,EAAE,EAAE;QAChF,MAAM,MAAM,GAAG,IAAA,uBAAa,EAAC,GAAG,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,wDAAwD,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/H,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,UAAU,iBAAiB,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrH,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAA,mBAAS,EAAW,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CACrB,oFAAoF,EACpF,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,CAC3C,CAAC;QAEF,MAAM,iBAAiB,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,wEAAwE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACpJ,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,cAAc,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;YACpD,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CACrB,qFAAqF,EACrF,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAC/C,CAAC;QAEF,MAAM,IAAA,2BAAiB,EAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE;YACrE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,4BAA4B;YACrF,IAAI,EAAE;gBACF,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM;gBACN,cAAc;gBACd,SAAS,EAAE,KAAK,CAAC,SAAS;aAC7B;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,EAAE,OAAuC,EAAE,GAAQ,EAAE,EAAE;QAC/E,MAAM,MAAM,GAAG,IAAA,uBAAa,EAAC,GAAG,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,wDAAwD,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5H,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,UAAU,iBAAiB,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrH,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CACrB,gEAAgE,EAChE,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CACpC,CAAC;QAEF,MAAM,IAAA,2BAAiB,EAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE;YACpE,MAAM,EAAE,6BAA6B;YACrC,IAAI,EAAE;gBACF,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,WAAW,EAAE,MAAM;aACtB;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,OAA2C,EAAE,GAAQ,EAAE,EAAE;QACjF,MAAM,MAAM,GAAG,IAAA,uBAAa,EAAC,GAAG,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,wDAAwD,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5H,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,UAAU,iBAAiB,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrH,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAA,mBAAS,EAAW,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CACrB,iFAAiF,EACjF,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAC/C,CAAC;QAEF,MAAM,IAAA,2BAAiB,EAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE;YAClE,MAAM,EAAE,4BAA4B;YACpC,IAAI,EAAE;gBACF,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,UAAU,EAAE,MAAM;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;aAC7B;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,IAAA,yBAAc,EAAC;QAClB,IAAI;QACJ,KAAK,EAAE;YACH,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC1B,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBACxB,MAAM,UAAU,EAAE,CAAC;YACvB,CAAC;SACJ;QACD,OAAO,EAAE;YACL,WAAW,EAAE,IAAA,iBAAM,EAAC,WAAW,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YACvF,eAAe,EAAE,IAAA,iBAAM,EAAC,eAAe,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YACnG,eAAe,EAAE,IAAA,iBAAM,EAAC,eAAe,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YAC5F,cAAc,EAAE,IAAA,iBAAM,EAAC,cAAc,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YAC1F,YAAY,EAAE,IAAA,iBAAM,EAAC,YAAY,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;SAC7F;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -10,6 +10,7 @@ export declare class NFTContract {
10
10
  destroy(): void;
11
11
  updateBlockInfo(blockNumber: number, blockId: string, previousBlockId: string, transactionId: string): void;
12
12
  private initializeNFTTables;
13
+ private withTransaction;
13
14
  private createCollection;
14
15
  private mintNFT;
15
16
  private updateNFT;