@qubic.org/contracts 0.2.6 → 1.0.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 (163) hide show
  1. package/LICENSE +41 -0
  2. package/README.md +15 -18
  3. package/dist/__generated__/computorcontrolledfund.d.ts +1 -1
  4. package/dist/__generated__/computorcontrolledfund.d.ts.map +1 -1
  5. package/dist/__generated__/computorcontrolledfund.js +8 -8
  6. package/dist/__generated__/computorcontrolledfund.js.map +1 -1
  7. package/dist/__generated__/escrow.d.ts +1 -1
  8. package/dist/__generated__/escrow.d.ts.map +1 -1
  9. package/dist/__generated__/escrow.js +3 -3
  10. package/dist/__generated__/escrow.js.map +1 -1
  11. package/dist/__generated__/generalquorumproposal.d.ts +1 -1
  12. package/dist/__generated__/generalquorumproposal.d.ts.map +1 -1
  13. package/dist/__generated__/generalquorumproposal.js +6 -6
  14. package/dist/__generated__/generalquorumproposal.js.map +1 -1
  15. package/dist/__generated__/ggwp.d.ts +265 -0
  16. package/dist/__generated__/ggwp.d.ts.map +1 -0
  17. package/dist/__generated__/ggwp.js +825 -0
  18. package/dist/__generated__/ggwp.js.map +1 -0
  19. package/dist/__generated__/index.d.ts +1 -0
  20. package/dist/__generated__/index.d.ts.map +1 -1
  21. package/dist/__generated__/index.js +1 -0
  22. package/dist/__generated__/index.js.map +1 -1
  23. package/dist/__generated__/msvault.d.ts +1 -1
  24. package/dist/__generated__/msvault.d.ts.map +1 -1
  25. package/dist/__generated__/msvault.js +19 -19
  26. package/dist/__generated__/msvault.js.map +1 -1
  27. package/dist/__generated__/multisignvault.d.ts +25 -25
  28. package/dist/__generated__/multisignvault.d.ts.map +1 -1
  29. package/dist/__generated__/multisignvault.js +25 -25
  30. package/dist/__generated__/multisignvault.js.map +1 -1
  31. package/dist/__generated__/nostromo.d.ts +1 -1
  32. package/dist/__generated__/nostromo.d.ts.map +1 -1
  33. package/dist/__generated__/nostromo.js +15 -15
  34. package/dist/__generated__/nostromo.js.map +1 -1
  35. package/dist/__generated__/pulse.d.ts +1 -1
  36. package/dist/__generated__/pulse.d.ts.map +1 -1
  37. package/dist/__generated__/pulse.js +26 -26
  38. package/dist/__generated__/pulse.js.map +1 -1
  39. package/dist/__generated__/qbay.d.ts +1 -1
  40. package/dist/__generated__/qbay.d.ts.map +1 -1
  41. package/dist/__generated__/qbay.js +23 -23
  42. package/dist/__generated__/qbay.js.map +1 -1
  43. package/dist/__generated__/qbond.d.ts +1 -1
  44. package/dist/__generated__/qbond.d.ts.map +1 -1
  45. package/dist/__generated__/qbond.js +14 -14
  46. package/dist/__generated__/qbond.js.map +1 -1
  47. package/dist/__generated__/qdraw.d.ts +1 -1
  48. package/dist/__generated__/qdraw.d.ts.map +1 -1
  49. package/dist/__generated__/qdraw.js.map +1 -1
  50. package/dist/__generated__/qduel.d.ts +1 -1
  51. package/dist/__generated__/qduel.d.ts.map +1 -1
  52. package/dist/__generated__/qduel.js +11 -11
  53. package/dist/__generated__/qduel.js.map +1 -1
  54. package/dist/__generated__/qearn.d.ts +1 -1
  55. package/dist/__generated__/qearn.d.ts.map +1 -1
  56. package/dist/__generated__/qearn.js +10 -10
  57. package/dist/__generated__/qearn.js.map +1 -1
  58. package/dist/__generated__/qip.d.ts +18 -1
  59. package/dist/__generated__/qip.d.ts.map +1 -1
  60. package/dist/__generated__/qip.js +64 -3
  61. package/dist/__generated__/qip.js.map +1 -1
  62. package/dist/__generated__/qraffle.d.ts +1 -1
  63. package/dist/__generated__/qraffle.d.ts.map +1 -1
  64. package/dist/__generated__/qraffle.js +12 -12
  65. package/dist/__generated__/qraffle.js.map +1 -1
  66. package/dist/__generated__/qreservepool.d.ts +1 -1
  67. package/dist/__generated__/qreservepool.d.ts.map +1 -1
  68. package/dist/__generated__/qreservepool.js +5 -5
  69. package/dist/__generated__/qreservepool.js.map +1 -1
  70. package/dist/__generated__/qrwa.d.ts +1 -1
  71. package/dist/__generated__/qrwa.d.ts.map +1 -1
  72. package/dist/__generated__/qrwa.js +18 -18
  73. package/dist/__generated__/qrwa.js.map +1 -1
  74. package/dist/__generated__/qswap.d.ts +3 -1
  75. package/dist/__generated__/qswap.d.ts.map +1 -1
  76. package/dist/__generated__/qswap.js +30 -18
  77. package/dist/__generated__/qswap.js.map +1 -1
  78. package/dist/__generated__/qthirtyfour.d.ts +1 -1
  79. package/dist/__generated__/qthirtyfour.d.ts.map +1 -1
  80. package/dist/__generated__/qthirtyfour.js +19 -19
  81. package/dist/__generated__/qthirtyfour.js.map +1 -1
  82. package/dist/__generated__/qubicicoportal.d.ts +4 -4
  83. package/dist/__generated__/qubicicoportal.d.ts.map +1 -1
  84. package/dist/__generated__/qubicicoportal.js +4 -4
  85. package/dist/__generated__/qubicicoportal.js.map +1 -1
  86. package/dist/__generated__/quottery.d.ts +1 -1
  87. package/dist/__generated__/quottery.d.ts.map +1 -1
  88. package/dist/__generated__/quottery.js +14 -14
  89. package/dist/__generated__/quottery.js.map +1 -1
  90. package/dist/__generated__/qusino.d.ts +1 -1
  91. package/dist/__generated__/qusino.d.ts.map +1 -1
  92. package/dist/__generated__/qusino.js +13 -13
  93. package/dist/__generated__/qusino.js.map +1 -1
  94. package/dist/__generated__/qutil.d.ts +1 -1
  95. package/dist/__generated__/qutil.d.ts.map +1 -1
  96. package/dist/__generated__/qutil.js +22 -22
  97. package/dist/__generated__/qutil.js.map +1 -1
  98. package/dist/__generated__/qvault.d.ts +14 -2
  99. package/dist/__generated__/qvault.d.ts.map +1 -1
  100. package/dist/__generated__/qvault.js +70 -32
  101. package/dist/__generated__/qvault.js.map +1 -1
  102. package/dist/__generated__/qx.d.ts +1 -1
  103. package/dist/__generated__/qx.d.ts.map +1 -1
  104. package/dist/__generated__/qx.js +12 -12
  105. package/dist/__generated__/qx.js.map +1 -1
  106. package/dist/__generated__/random.d.ts +24 -1
  107. package/dist/__generated__/random.d.ts.map +1 -1
  108. package/dist/__generated__/random.js +68 -0
  109. package/dist/__generated__/random.js.map +1 -1
  110. package/dist/__generated__/randomlottery.d.ts +1 -1
  111. package/dist/__generated__/randomlottery.d.ts.map +1 -1
  112. package/dist/__generated__/randomlottery.js +12 -12
  113. package/dist/__generated__/randomlottery.js.map +1 -1
  114. package/dist/__generated__/vottunbridge.d.ts +1 -1
  115. package/dist/__generated__/vottunbridge.d.ts.map +1 -1
  116. package/dist/__generated__/vottunbridge.js +13 -13
  117. package/dist/__generated__/vottunbridge.js.map +1 -1
  118. package/dist/call-contract.d.ts.map +1 -1
  119. package/dist/call-contract.js +6 -1
  120. package/dist/call-contract.js.map +1 -1
  121. package/dist/index.d.ts +2 -2
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +1 -1
  124. package/dist/index.js.map +1 -1
  125. package/package.json +7 -6
  126. package/src/__generated__/computorcontrolledfund.ts +1066 -0
  127. package/src/__generated__/escrow.ts +529 -0
  128. package/src/__generated__/generalquorumproposal.ts +691 -0
  129. package/src/__generated__/ggwp.ts +1241 -0
  130. package/src/__generated__/index.ts +28 -0
  131. package/src/__generated__/msvault.ts +1716 -0
  132. package/src/__generated__/multisignvault.ts +1511 -0
  133. package/src/__generated__/mylastmatch.ts +12 -0
  134. package/src/__generated__/nostromo.ts +1551 -0
  135. package/src/__generated__/pulse.ts +1512 -0
  136. package/src/__generated__/qbay.ts +2097 -0
  137. package/src/__generated__/qbond.ts +1016 -0
  138. package/src/__generated__/qdraw.ts +188 -0
  139. package/src/__generated__/qduel.ts +827 -0
  140. package/src/__generated__/qearn.ts +696 -0
  141. package/src/__generated__/qip.ts +501 -0
  142. package/src/__generated__/qraffle.ts +1162 -0
  143. package/src/__generated__/qreservepool.ts +281 -0
  144. package/src/__generated__/qrwa.ts +1491 -0
  145. package/src/__generated__/qswap.ts +1336 -0
  146. package/src/__generated__/qthirtyfour.ts +1131 -0
  147. package/src/__generated__/qubicicoportal.ts +386 -0
  148. package/src/__generated__/quottery.ts +1519 -0
  149. package/src/__generated__/qusino.ts +799 -0
  150. package/src/__generated__/qutil.ts +1506 -0
  151. package/src/__generated__/qvault.ts +2911 -0
  152. package/src/__generated__/qx.ts +861 -0
  153. package/src/__generated__/random.ts +145 -0
  154. package/src/__generated__/randomlottery.ts +653 -0
  155. package/src/__generated__/supplywatcher.ts +12 -0
  156. package/src/__generated__/vottunbridge.ts +1162 -0
  157. package/src/__tests__/contracts.test.ts +933 -0
  158. package/src/call-contract.ts +87 -0
  159. package/src/index.ts +9 -0
  160. package/dist/result.d.ts +0 -12
  161. package/dist/result.d.ts.map +0 -1
  162. package/dist/result.js +0 -7
  163. package/dist/result.js.map +0 -1
@@ -0,0 +1,799 @@
1
+ // @generated — do not edit by hand. Run `bun run generate` to regenerate.
2
+ import type { BinaryField, FieldValue, NamedStruct } from '@qubic.org/registry'
3
+ import { buildPayload, decodePayload } from '@qubic.org/registry'
4
+ import type { QubicRpcError } from '@qubic.org/rpc'
5
+ import type { Result } from '@qubic.org/types'
6
+ import { type ContractCall, type ContractCallOptions, type SmartContractCaller, callContractFunction } from '../call-contract.js'
7
+
8
+ export const QUSINO_CONTRACT_INDEX = 26
9
+
10
+ export interface QusinoAssetStruct {
11
+ issuer: string
12
+ assetName: bigint
13
+ }
14
+
15
+ export interface QusinoGameInfoStruct {
16
+ URI: number[]
17
+ proposer: string
18
+ yesVotes: number
19
+ noVotes: number
20
+ proposedEpoch: number
21
+ }
22
+
23
+ const STRUCTS: Record<string, NamedStruct> = {
24
+ 'Asset': {
25
+ name: 'Asset',
26
+ byteLength: 40,
27
+ fields: [
28
+ {
29
+ name: 'issuer',
30
+ type: 'id',
31
+ offset: 0,
32
+ byteLength: 32,
33
+ },
34
+ {
35
+ name: 'assetName',
36
+ type: 'uint64',
37
+ offset: 32,
38
+ byteLength: 8,
39
+ },
40
+ ],
41
+ },
42
+ 'GameInfo': {
43
+ name: 'GameInfo',
44
+ byteLength: 108,
45
+ fields: [
46
+ {
47
+ name: 'URI',
48
+ type: 'array',
49
+ offset: 0,
50
+ byteLength: 64,
51
+ arrayLength: 64,
52
+ arrayItemType: 'uint8',
53
+ arrayItemByteLength: 1,
54
+ },
55
+ {
56
+ name: 'proposer',
57
+ type: 'id',
58
+ offset: 64,
59
+ byteLength: 32,
60
+ },
61
+ {
62
+ name: 'yesVotes',
63
+ type: 'uint32',
64
+ offset: 96,
65
+ byteLength: 4,
66
+ },
67
+ {
68
+ name: 'noVotes',
69
+ type: 'uint32',
70
+ offset: 100,
71
+ byteLength: 4,
72
+ },
73
+ {
74
+ name: 'proposedEpoch',
75
+ type: 'uint32',
76
+ offset: 104,
77
+ byteLength: 4,
78
+ },
79
+ ],
80
+ },
81
+ }
82
+
83
+ export const QUSINO_EARN_STAR_INPUT_TYPE = 1
84
+
85
+ export interface QusinoEarnSTARInput {
86
+ amount: bigint
87
+ }
88
+
89
+ const QUSINO_EARN_STAR_INPUT_FIELDS: BinaryField[] = [
90
+ {
91
+ name: 'amount',
92
+ type: 'uint64',
93
+ offset: 0,
94
+ byteLength: 8,
95
+ },
96
+ ]
97
+
98
+ export function buildQusinoEarnSTARInput(
99
+ input: QusinoEarnSTARInput,
100
+ ): ContractCall {
101
+ return { contractIndex: QUSINO_CONTRACT_INDEX, inputType: QUSINO_EARN_STAR_INPUT_TYPE, payload: buildPayload(QUSINO_EARN_STAR_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
102
+ }
103
+
104
+ export interface QusinoEarnSTAROutput {
105
+ returnCode: number
106
+ }
107
+
108
+ const QUSINO_EARN_STAR_OUTPUT_FIELDS: BinaryField[] = [
109
+ {
110
+ name: 'returnCode',
111
+ type: 'sint32',
112
+ offset: 0,
113
+ byteLength: 4,
114
+ },
115
+ ]
116
+
117
+ export function decodeQusinoEarnSTAROutput(
118
+ data: Uint8Array,
119
+ ): QusinoEarnSTAROutput {
120
+ return decodePayload(data, QUSINO_EARN_STAR_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QusinoEarnSTAROutput
121
+ }
122
+
123
+ export const QUSINO_TRANSFER_STAR_OR_QSC_INPUT_TYPE = 2
124
+
125
+ export interface QusinoTransferSTAROrQSCInput {
126
+ dest: string
127
+ amount: bigint
128
+ type: number
129
+ }
130
+
131
+ const QUSINO_TRANSFER_STAR_OR_QSC_INPUT_FIELDS: BinaryField[] = [
132
+ {
133
+ name: 'dest',
134
+ type: 'id',
135
+ offset: 0,
136
+ byteLength: 32,
137
+ },
138
+ {
139
+ name: 'amount',
140
+ type: 'uint64',
141
+ offset: 32,
142
+ byteLength: 8,
143
+ },
144
+ {
145
+ name: 'type',
146
+ type: 'uint8',
147
+ offset: 40,
148
+ byteLength: 1,
149
+ },
150
+ ]
151
+
152
+ export function buildQusinoTransferSTAROrQSCInput(
153
+ input: QusinoTransferSTAROrQSCInput,
154
+ identityToPublicKey: (identity: string) => Uint8Array,
155
+ ): ContractCall {
156
+ return { contractIndex: QUSINO_CONTRACT_INDEX, inputType: QUSINO_TRANSFER_STAR_OR_QSC_INPUT_TYPE, payload: buildPayload(QUSINO_TRANSFER_STAR_OR_QSC_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey) }
157
+ }
158
+
159
+ export interface QusinoTransferSTAROrQSCOutput {
160
+ returnCode: number
161
+ }
162
+
163
+ const QUSINO_TRANSFER_STAR_OR_QSC_OUTPUT_FIELDS: BinaryField[] = [
164
+ {
165
+ name: 'returnCode',
166
+ type: 'sint32',
167
+ offset: 0,
168
+ byteLength: 4,
169
+ },
170
+ ]
171
+
172
+ export function decodeQusinoTransferSTAROrQSCOutput(
173
+ data: Uint8Array,
174
+ ): QusinoTransferSTAROrQSCOutput {
175
+ return decodePayload(data, QUSINO_TRANSFER_STAR_OR_QSC_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QusinoTransferSTAROrQSCOutput
176
+ }
177
+
178
+ export const QUSINO_SUBMIT_GAME_INPUT_TYPE = 3
179
+
180
+ export interface QusinoSubmitGameInput {
181
+ URI: number[]
182
+ }
183
+
184
+ const QUSINO_SUBMIT_GAME_INPUT_FIELDS: BinaryField[] = [
185
+ {
186
+ name: 'URI',
187
+ type: 'array',
188
+ offset: 0,
189
+ byteLength: 64,
190
+ arrayLength: 64,
191
+ arrayItemType: 'uint8',
192
+ arrayItemByteLength: 1,
193
+ },
194
+ ]
195
+
196
+ export function buildQusinoSubmitGameInput(
197
+ input: QusinoSubmitGameInput,
198
+ ): ContractCall {
199
+ return { contractIndex: QUSINO_CONTRACT_INDEX, inputType: QUSINO_SUBMIT_GAME_INPUT_TYPE, payload: buildPayload(QUSINO_SUBMIT_GAME_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
200
+ }
201
+
202
+ export interface QusinoSubmitGameOutput {
203
+ returnCode: number
204
+ }
205
+
206
+ const QUSINO_SUBMIT_GAME_OUTPUT_FIELDS: BinaryField[] = [
207
+ {
208
+ name: 'returnCode',
209
+ type: 'sint32',
210
+ offset: 0,
211
+ byteLength: 4,
212
+ },
213
+ ]
214
+
215
+ export function decodeQusinoSubmitGameOutput(
216
+ data: Uint8Array,
217
+ ): QusinoSubmitGameOutput {
218
+ return decodePayload(data, QUSINO_SUBMIT_GAME_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QusinoSubmitGameOutput
219
+ }
220
+
221
+ export const QUSINO_VOTE_IN_GAME_PROPOSAL_INPUT_TYPE = 4
222
+
223
+ export interface QusinoVoteInGameProposalInput {
224
+ URI: number[]
225
+ gameIndex: bigint
226
+ yesNo: number
227
+ }
228
+
229
+ const QUSINO_VOTE_IN_GAME_PROPOSAL_INPUT_FIELDS: BinaryField[] = [
230
+ {
231
+ name: 'URI',
232
+ type: 'array',
233
+ offset: 0,
234
+ byteLength: 64,
235
+ arrayLength: 64,
236
+ arrayItemType: 'uint8',
237
+ arrayItemByteLength: 1,
238
+ },
239
+ {
240
+ name: 'gameIndex',
241
+ type: 'uint64',
242
+ offset: 64,
243
+ byteLength: 8,
244
+ },
245
+ {
246
+ name: 'yesNo',
247
+ type: 'uint8',
248
+ offset: 72,
249
+ byteLength: 1,
250
+ },
251
+ ]
252
+
253
+ export function buildQusinoVoteInGameProposalInput(
254
+ input: QusinoVoteInGameProposalInput,
255
+ ): ContractCall {
256
+ return { contractIndex: QUSINO_CONTRACT_INDEX, inputType: QUSINO_VOTE_IN_GAME_PROPOSAL_INPUT_TYPE, payload: buildPayload(QUSINO_VOTE_IN_GAME_PROPOSAL_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
257
+ }
258
+
259
+ export interface QusinoVoteInGameProposalOutput {
260
+ returnCode: number
261
+ }
262
+
263
+ const QUSINO_VOTE_IN_GAME_PROPOSAL_OUTPUT_FIELDS: BinaryField[] = [
264
+ {
265
+ name: 'returnCode',
266
+ type: 'sint32',
267
+ offset: 0,
268
+ byteLength: 4,
269
+ },
270
+ ]
271
+
272
+ export function decodeQusinoVoteInGameProposalOutput(
273
+ data: Uint8Array,
274
+ ): QusinoVoteInGameProposalOutput {
275
+ return decodePayload(data, QUSINO_VOTE_IN_GAME_PROPOSAL_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QusinoVoteInGameProposalOutput
276
+ }
277
+
278
+ export const QUSINO_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_TYPE = 5
279
+
280
+ export interface QusinoTransferShareManagementRightsInput {
281
+ asset: QusinoAssetStruct
282
+ numberOfShares: bigint
283
+ newManagingContractIndex: number
284
+ }
285
+
286
+ const QUSINO_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_FIELDS: BinaryField[] = [
287
+ {
288
+ name: 'asset',
289
+ type: 'struct',
290
+ offset: 0,
291
+ byteLength: 40,
292
+ structRef: 'Asset',
293
+ },
294
+ {
295
+ name: 'numberOfShares',
296
+ type: 'sint64',
297
+ offset: 40,
298
+ byteLength: 8,
299
+ },
300
+ {
301
+ name: 'newManagingContractIndex',
302
+ type: 'uint32',
303
+ offset: 48,
304
+ byteLength: 4,
305
+ },
306
+ ]
307
+
308
+ export function buildQusinoTransferShareManagementRightsInput(
309
+ input: QusinoTransferShareManagementRightsInput,
310
+ ): ContractCall {
311
+ return { contractIndex: QUSINO_CONTRACT_INDEX, inputType: QUSINO_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_TYPE, payload: buildPayload(QUSINO_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
312
+ }
313
+
314
+ export interface QusinoTransferShareManagementRightsOutput {
315
+ transferredNumberOfShares: bigint
316
+ }
317
+
318
+ const QUSINO_TRANSFER_SHARE_MANAGEMENT_RIGHTS_OUTPUT_FIELDS: BinaryField[] = [
319
+ {
320
+ name: 'transferredNumberOfShares',
321
+ type: 'sint64',
322
+ offset: 0,
323
+ byteLength: 8,
324
+ },
325
+ ]
326
+
327
+ export function decodeQusinoTransferShareManagementRightsOutput(
328
+ data: Uint8Array,
329
+ ): QusinoTransferShareManagementRightsOutput {
330
+ return decodePayload(data, QUSINO_TRANSFER_SHARE_MANAGEMENT_RIGHTS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QusinoTransferShareManagementRightsOutput
331
+ }
332
+
333
+ export const QUSINO_DEPOSIT_BONUS_INPUT_TYPE = 6
334
+
335
+ export interface QusinoDepositBonusInput {
336
+ amount: bigint
337
+ }
338
+
339
+ const QUSINO_DEPOSIT_BONUS_INPUT_FIELDS: BinaryField[] = [
340
+ {
341
+ name: 'amount',
342
+ type: 'uint64',
343
+ offset: 0,
344
+ byteLength: 8,
345
+ },
346
+ ]
347
+
348
+ export function buildQusinoDepositBonusInput(
349
+ input: QusinoDepositBonusInput,
350
+ ): ContractCall {
351
+ return { contractIndex: QUSINO_CONTRACT_INDEX, inputType: QUSINO_DEPOSIT_BONUS_INPUT_TYPE, payload: buildPayload(QUSINO_DEPOSIT_BONUS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
352
+ }
353
+
354
+ export interface QusinoDepositBonusOutput {
355
+ returnCode: number
356
+ }
357
+
358
+ const QUSINO_DEPOSIT_BONUS_OUTPUT_FIELDS: BinaryField[] = [
359
+ {
360
+ name: 'returnCode',
361
+ type: 'sint32',
362
+ offset: 0,
363
+ byteLength: 4,
364
+ },
365
+ ]
366
+
367
+ export function decodeQusinoDepositBonusOutput(
368
+ data: Uint8Array,
369
+ ): QusinoDepositBonusOutput {
370
+ return decodePayload(data, QUSINO_DEPOSIT_BONUS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QusinoDepositBonusOutput
371
+ }
372
+
373
+ export const QUSINO_DAILY_CLAIM_BONUS_INPUT_TYPE = 7
374
+
375
+ export interface QusinoDailyClaimBonusOutput {
376
+ returnCode: number
377
+ }
378
+
379
+ const QUSINO_DAILY_CLAIM_BONUS_OUTPUT_FIELDS: BinaryField[] = [
380
+ {
381
+ name: 'returnCode',
382
+ type: 'sint32',
383
+ offset: 0,
384
+ byteLength: 4,
385
+ },
386
+ ]
387
+
388
+ export function decodeQusinoDailyClaimBonusOutput(
389
+ data: Uint8Array,
390
+ ): QusinoDailyClaimBonusOutput {
391
+ return decodePayload(data, QUSINO_DAILY_CLAIM_BONUS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QusinoDailyClaimBonusOutput
392
+ }
393
+
394
+ export const QUSINO_REDEMPTION_QSC_TO_QUBIC_INPUT_TYPE = 8
395
+
396
+ export interface QusinoRedemptionQSCToQubicInput {
397
+ amount: bigint
398
+ }
399
+
400
+ const QUSINO_REDEMPTION_QSC_TO_QUBIC_INPUT_FIELDS: BinaryField[] = [
401
+ {
402
+ name: 'amount',
403
+ type: 'uint64',
404
+ offset: 0,
405
+ byteLength: 8,
406
+ },
407
+ ]
408
+
409
+ export function buildQusinoRedemptionQSCToQubicInput(
410
+ input: QusinoRedemptionQSCToQubicInput,
411
+ ): ContractCall {
412
+ return { contractIndex: QUSINO_CONTRACT_INDEX, inputType: QUSINO_REDEMPTION_QSC_TO_QUBIC_INPUT_TYPE, payload: buildPayload(QUSINO_REDEMPTION_QSC_TO_QUBIC_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
413
+ }
414
+
415
+ export interface QusinoRedemptionQSCToQubicOutput {
416
+ returnCode: number
417
+ }
418
+
419
+ const QUSINO_REDEMPTION_QSC_TO_QUBIC_OUTPUT_FIELDS: BinaryField[] = [
420
+ {
421
+ name: 'returnCode',
422
+ type: 'sint32',
423
+ offset: 0,
424
+ byteLength: 4,
425
+ },
426
+ ]
427
+
428
+ export function decodeQusinoRedemptionQSCToQubicOutput(
429
+ data: Uint8Array,
430
+ ): QusinoRedemptionQSCToQubicOutput {
431
+ return decodePayload(data, QUSINO_REDEMPTION_QSC_TO_QUBIC_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QusinoRedemptionQSCToQubicOutput
432
+ }
433
+
434
+ export const QUSINO_GET_USER_ASSET_VOLUME_INPUT_TYPE = 1
435
+ export const QUSINO_GET_USER_ASSET_VOLUME_INPUT_SIZE = 32
436
+
437
+ export interface QusinoGetUserAssetVolumeInput {
438
+ user: string
439
+ }
440
+
441
+ const QUSINO_GET_USER_ASSET_VOLUME_INPUT_FIELDS: BinaryField[] = [
442
+ {
443
+ name: 'user',
444
+ type: 'id',
445
+ offset: 0,
446
+ byteLength: 32,
447
+ },
448
+ ]
449
+
450
+ export function buildQusinoGetUserAssetVolumeInput(
451
+ input: QusinoGetUserAssetVolumeInput,
452
+ identityToPublicKey: (identity: string) => Uint8Array,
453
+ ): Uint8Array {
454
+ return buildPayload(QUSINO_GET_USER_ASSET_VOLUME_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey)
455
+ }
456
+
457
+ export interface QusinoGetUserAssetVolumeOutput {
458
+ STARAmount: bigint
459
+ QSCAmount: bigint
460
+ }
461
+
462
+ const QUSINO_GET_USER_ASSET_VOLUME_OUTPUT_FIELDS: BinaryField[] = [
463
+ {
464
+ name: 'STARAmount',
465
+ type: 'uint64',
466
+ offset: 0,
467
+ byteLength: 8,
468
+ },
469
+ {
470
+ name: 'QSCAmount',
471
+ type: 'uint64',
472
+ offset: 8,
473
+ byteLength: 8,
474
+ },
475
+ ]
476
+
477
+ export function decodeQusinoGetUserAssetVolumeOutput(
478
+ data: Uint8Array,
479
+ ): QusinoGetUserAssetVolumeOutput {
480
+ return decodePayload(data, QUSINO_GET_USER_ASSET_VOLUME_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QusinoGetUserAssetVolumeOutput
481
+ }
482
+
483
+ export async function qusinoGetUserAssetVolume(
484
+ live: SmartContractCaller,
485
+ input: QusinoGetUserAssetVolumeInput,
486
+ options?: ContractCallOptions,
487
+ ): Promise<Result<QusinoGetUserAssetVolumeOutput, QubicRpcError>> {
488
+ return callContractFunction({
489
+ live,
490
+ contractIndex: QUSINO_CONTRACT_INDEX,
491
+ inputType: QUSINO_GET_USER_ASSET_VOLUME_INPUT_TYPE,
492
+ inputSize: QUSINO_GET_USER_ASSET_VOLUME_INPUT_SIZE,
493
+ inputFields: QUSINO_GET_USER_ASSET_VOLUME_INPUT_FIELDS,
494
+ outputFields: QUSINO_GET_USER_ASSET_VOLUME_OUTPUT_FIELDS,
495
+ structs: STRUCTS,
496
+ input: (input as unknown as Record<string, unknown>),
497
+ ...options,
498
+ })
499
+ }
500
+
501
+ export const QUSINO_GET_FAILED_GAME_LIST_INPUT_TYPE = 2
502
+ export const QUSINO_GET_FAILED_GAME_LIST_INPUT_SIZE = 4
503
+
504
+ export interface QusinoGetFailedGameListInput {
505
+ offset: number
506
+ }
507
+
508
+ const QUSINO_GET_FAILED_GAME_LIST_INPUT_FIELDS: BinaryField[] = [
509
+ {
510
+ name: 'offset',
511
+ type: 'uint32',
512
+ offset: 0,
513
+ byteLength: 4,
514
+ },
515
+ ]
516
+
517
+ export function buildQusinoGetFailedGameListInput(
518
+ input: QusinoGetFailedGameListInput,
519
+ ): Uint8Array {
520
+ return buildPayload(QUSINO_GET_FAILED_GAME_LIST_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32))
521
+ }
522
+
523
+ export interface QusinoGetFailedGameListOutput {
524
+ games: number[]
525
+ }
526
+
527
+ const QUSINO_GET_FAILED_GAME_LIST_OUTPUT_FIELDS: BinaryField[] = [
528
+ {
529
+ name: 'games',
530
+ type: 'array',
531
+ offset: 0,
532
+ byteLength: 3456,
533
+ arrayLength: 32,
534
+ arrayItemByteLength: 108,
535
+ arrayItemStructRef: 'GameInfo',
536
+ },
537
+ ]
538
+
539
+ export function decodeQusinoGetFailedGameListOutput(
540
+ data: Uint8Array,
541
+ ): QusinoGetFailedGameListOutput {
542
+ return decodePayload(data, QUSINO_GET_FAILED_GAME_LIST_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QusinoGetFailedGameListOutput
543
+ }
544
+
545
+ export async function qusinoGetFailedGameList(
546
+ live: SmartContractCaller,
547
+ input: QusinoGetFailedGameListInput,
548
+ options?: ContractCallOptions,
549
+ ): Promise<Result<QusinoGetFailedGameListOutput, QubicRpcError>> {
550
+ return callContractFunction({
551
+ live,
552
+ contractIndex: QUSINO_CONTRACT_INDEX,
553
+ inputType: QUSINO_GET_FAILED_GAME_LIST_INPUT_TYPE,
554
+ inputSize: QUSINO_GET_FAILED_GAME_LIST_INPUT_SIZE,
555
+ inputFields: QUSINO_GET_FAILED_GAME_LIST_INPUT_FIELDS,
556
+ outputFields: QUSINO_GET_FAILED_GAME_LIST_OUTPUT_FIELDS,
557
+ structs: STRUCTS,
558
+ input: (input as unknown as Record<string, unknown>),
559
+ ...options,
560
+ })
561
+ }
562
+
563
+ export const QUSINO_GET_SC_INFO_INPUT_TYPE = 3
564
+ export const QUSINO_GET_SC_INFO_INPUT_SIZE = 0
565
+
566
+ export interface QusinoGetSCInfoOutput {
567
+ QSCCirclatingSupply: bigint
568
+ STARCirclatingSupply: bigint
569
+ burntSTAR: bigint
570
+ epochRevenue: bigint
571
+ maxGameIndex: bigint
572
+ bonusAmount: bigint
573
+ }
574
+
575
+ const QUSINO_GET_SC_INFO_OUTPUT_FIELDS: BinaryField[] = [
576
+ {
577
+ name: 'QSCCirclatingSupply',
578
+ type: 'uint64',
579
+ offset: 0,
580
+ byteLength: 8,
581
+ },
582
+ {
583
+ name: 'STARCirclatingSupply',
584
+ type: 'uint64',
585
+ offset: 8,
586
+ byteLength: 8,
587
+ },
588
+ {
589
+ name: 'burntSTAR',
590
+ type: 'uint64',
591
+ offset: 16,
592
+ byteLength: 8,
593
+ },
594
+ {
595
+ name: 'epochRevenue',
596
+ type: 'uint64',
597
+ offset: 24,
598
+ byteLength: 8,
599
+ },
600
+ {
601
+ name: 'maxGameIndex',
602
+ type: 'uint64',
603
+ offset: 32,
604
+ byteLength: 8,
605
+ },
606
+ {
607
+ name: 'bonusAmount',
608
+ type: 'uint64',
609
+ offset: 40,
610
+ byteLength: 8,
611
+ },
612
+ ]
613
+
614
+ export function decodeQusinoGetSCInfoOutput(
615
+ data: Uint8Array,
616
+ ): QusinoGetSCInfoOutput {
617
+ return decodePayload(data, QUSINO_GET_SC_INFO_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QusinoGetSCInfoOutput
618
+ }
619
+
620
+ export async function qusinoGetSCInfo(
621
+ live: SmartContractCaller,
622
+ options?: ContractCallOptions,
623
+ ): Promise<Result<QusinoGetSCInfoOutput, QubicRpcError>> {
624
+ return callContractFunction({
625
+ live,
626
+ contractIndex: QUSINO_CONTRACT_INDEX,
627
+ inputType: QUSINO_GET_SC_INFO_INPUT_TYPE,
628
+ inputSize: QUSINO_GET_SC_INFO_INPUT_SIZE,
629
+ inputFields: [],
630
+ outputFields: QUSINO_GET_SC_INFO_OUTPUT_FIELDS,
631
+ structs: STRUCTS,
632
+ input: {},
633
+ ...options,
634
+ })
635
+ }
636
+
637
+ export const QUSINO_GET_ACTIVE_GAME_LIST_INPUT_TYPE = 4
638
+ export const QUSINO_GET_ACTIVE_GAME_LIST_INPUT_SIZE = 4
639
+
640
+ export interface QusinoGetActiveGameListInput {
641
+ offset: number
642
+ }
643
+
644
+ const QUSINO_GET_ACTIVE_GAME_LIST_INPUT_FIELDS: BinaryField[] = [
645
+ {
646
+ name: 'offset',
647
+ type: 'uint32',
648
+ offset: 0,
649
+ byteLength: 4,
650
+ },
651
+ ]
652
+
653
+ export function buildQusinoGetActiveGameListInput(
654
+ input: QusinoGetActiveGameListInput,
655
+ ): Uint8Array {
656
+ return buildPayload(QUSINO_GET_ACTIVE_GAME_LIST_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32))
657
+ }
658
+
659
+ export interface QusinoGetActiveGameListOutput {
660
+ games: number[]
661
+ gameIndexes: bigint[]
662
+ }
663
+
664
+ const QUSINO_GET_ACTIVE_GAME_LIST_OUTPUT_FIELDS: BinaryField[] = [
665
+ {
666
+ name: 'games',
667
+ type: 'array',
668
+ offset: 0,
669
+ byteLength: 3456,
670
+ arrayLength: 32,
671
+ arrayItemByteLength: 108,
672
+ arrayItemStructRef: 'GameInfo',
673
+ },
674
+ {
675
+ name: 'gameIndexes',
676
+ type: 'array',
677
+ offset: 3456,
678
+ byteLength: 256,
679
+ arrayLength: 32,
680
+ arrayItemType: 'uint64',
681
+ arrayItemByteLength: 8,
682
+ },
683
+ ]
684
+
685
+ export function decodeQusinoGetActiveGameListOutput(
686
+ data: Uint8Array,
687
+ ): QusinoGetActiveGameListOutput {
688
+ return decodePayload(data, QUSINO_GET_ACTIVE_GAME_LIST_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QusinoGetActiveGameListOutput
689
+ }
690
+
691
+ export async function qusinoGetActiveGameList(
692
+ live: SmartContractCaller,
693
+ input: QusinoGetActiveGameListInput,
694
+ options?: ContractCallOptions,
695
+ ): Promise<Result<QusinoGetActiveGameListOutput, QubicRpcError>> {
696
+ return callContractFunction({
697
+ live,
698
+ contractIndex: QUSINO_CONTRACT_INDEX,
699
+ inputType: QUSINO_GET_ACTIVE_GAME_LIST_INPUT_TYPE,
700
+ inputSize: QUSINO_GET_ACTIVE_GAME_LIST_INPUT_SIZE,
701
+ inputFields: QUSINO_GET_ACTIVE_GAME_LIST_INPUT_FIELDS,
702
+ outputFields: QUSINO_GET_ACTIVE_GAME_LIST_OUTPUT_FIELDS,
703
+ structs: STRUCTS,
704
+ input: (input as unknown as Record<string, unknown>),
705
+ ...options,
706
+ })
707
+ }
708
+
709
+ export const QUSINO_GET_PROPOSER_EARNED_QSC_INFO_INPUT_TYPE = 5
710
+ export const QUSINO_GET_PROPOSER_EARNED_QSC_INFO_INPUT_SIZE = 36
711
+
712
+ export interface QusinoGetProposerEarnedQSCInfoInput {
713
+ proposer: string
714
+ epoch: number
715
+ }
716
+
717
+ const QUSINO_GET_PROPOSER_EARNED_QSC_INFO_INPUT_FIELDS: BinaryField[] = [
718
+ {
719
+ name: 'proposer',
720
+ type: 'id',
721
+ offset: 0,
722
+ byteLength: 32,
723
+ },
724
+ {
725
+ name: 'epoch',
726
+ type: 'uint32',
727
+ offset: 32,
728
+ byteLength: 4,
729
+ },
730
+ ]
731
+
732
+ export function buildQusinoGetProposerEarnedQSCInfoInput(
733
+ input: QusinoGetProposerEarnedQSCInfoInput,
734
+ identityToPublicKey: (identity: string) => Uint8Array,
735
+ ): Uint8Array {
736
+ return buildPayload(QUSINO_GET_PROPOSER_EARNED_QSC_INFO_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey)
737
+ }
738
+
739
+ export interface QusinoGetProposerEarnedQSCInfoOutput {
740
+ earnedQSC: bigint
741
+ }
742
+
743
+ const QUSINO_GET_PROPOSER_EARNED_QSC_INFO_OUTPUT_FIELDS: BinaryField[] = [
744
+ {
745
+ name: 'earnedQSC',
746
+ type: 'uint64',
747
+ offset: 0,
748
+ byteLength: 8,
749
+ },
750
+ ]
751
+
752
+ export function decodeQusinoGetProposerEarnedQSCInfoOutput(
753
+ data: Uint8Array,
754
+ ): QusinoGetProposerEarnedQSCInfoOutput {
755
+ return decodePayload(data, QUSINO_GET_PROPOSER_EARNED_QSC_INFO_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QusinoGetProposerEarnedQSCInfoOutput
756
+ }
757
+
758
+ export async function qusinoGetProposerEarnedQSCInfo(
759
+ live: SmartContractCaller,
760
+ input: QusinoGetProposerEarnedQSCInfoInput,
761
+ options?: ContractCallOptions,
762
+ ): Promise<Result<QusinoGetProposerEarnedQSCInfoOutput, QubicRpcError>> {
763
+ return callContractFunction({
764
+ live,
765
+ contractIndex: QUSINO_CONTRACT_INDEX,
766
+ inputType: QUSINO_GET_PROPOSER_EARNED_QSC_INFO_INPUT_TYPE,
767
+ inputSize: QUSINO_GET_PROPOSER_EARNED_QSC_INFO_INPUT_SIZE,
768
+ inputFields: QUSINO_GET_PROPOSER_EARNED_QSC_INFO_INPUT_FIELDS,
769
+ outputFields: QUSINO_GET_PROPOSER_EARNED_QSC_INFO_OUTPUT_FIELDS,
770
+ structs: STRUCTS,
771
+ input: (input as unknown as Record<string, unknown>),
772
+ ...options,
773
+ })
774
+ }
775
+
776
+ export const qusino = {
777
+ contractIndex: QUSINO_CONTRACT_INDEX,
778
+ getUserAssetVolume: qusinoGetUserAssetVolume,
779
+ getFailedGameList: qusinoGetFailedGameList,
780
+ getSCInfo: qusinoGetSCInfo,
781
+ getActiveGameList: qusinoGetActiveGameList,
782
+ getProposerEarnedQSCInfo: qusinoGetProposerEarnedQSCInfo,
783
+ buildEarnSTARInput: buildQusinoEarnSTARInput,
784
+ decodeEarnSTAROutput: decodeQusinoEarnSTAROutput,
785
+ buildTransferSTAROrQSCInput: buildQusinoTransferSTAROrQSCInput,
786
+ decodeTransferSTAROrQSCOutput: decodeQusinoTransferSTAROrQSCOutput,
787
+ buildSubmitGameInput: buildQusinoSubmitGameInput,
788
+ decodeSubmitGameOutput: decodeQusinoSubmitGameOutput,
789
+ buildVoteInGameProposalInput: buildQusinoVoteInGameProposalInput,
790
+ decodeVoteInGameProposalOutput: decodeQusinoVoteInGameProposalOutput,
791
+ buildTransferShareManagementRightsInput: buildQusinoTransferShareManagementRightsInput,
792
+ decodeTransferShareManagementRightsOutput: decodeQusinoTransferShareManagementRightsOutput,
793
+ buildDepositBonusInput: buildQusinoDepositBonusInput,
794
+ decodeDepositBonusOutput: decodeQusinoDepositBonusOutput,
795
+ decodeDailyClaimBonusOutput: decodeQusinoDailyClaimBonusOutput,
796
+ buildRedemptionQSCToQubicInput: buildQusinoRedemptionQSCToQubicInput,
797
+ decodeRedemptionQSCToQubicOutput: decodeQusinoRedemptionQSCToQubicOutput,
798
+ }
799
+