@qubic.org/contracts 0.2.7 → 1.0.1

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 +8 -7
  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,861 @@
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 QX_CONTRACT_INDEX = 1
9
+
10
+ export interface QxAssetStruct {
11
+ issuer: string
12
+ assetName: bigint
13
+ }
14
+
15
+ export interface QxOrderStruct {
16
+ entity: string
17
+ price: bigint
18
+ numberOfShares: bigint
19
+ }
20
+
21
+ const STRUCTS: Record<string, NamedStruct> = {
22
+ 'Asset': {
23
+ name: 'Asset',
24
+ byteLength: 40,
25
+ fields: [
26
+ {
27
+ name: 'issuer',
28
+ type: 'id',
29
+ offset: 0,
30
+ byteLength: 32,
31
+ },
32
+ {
33
+ name: 'assetName',
34
+ type: 'uint64',
35
+ offset: 32,
36
+ byteLength: 8,
37
+ },
38
+ ],
39
+ },
40
+ 'Order': {
41
+ name: 'Order',
42
+ byteLength: 48,
43
+ fields: [
44
+ {
45
+ name: 'entity',
46
+ type: 'id',
47
+ offset: 0,
48
+ byteLength: 32,
49
+ },
50
+ {
51
+ name: 'price',
52
+ type: 'sint64',
53
+ offset: 32,
54
+ byteLength: 8,
55
+ },
56
+ {
57
+ name: 'numberOfShares',
58
+ type: 'sint64',
59
+ offset: 40,
60
+ byteLength: 8,
61
+ },
62
+ ],
63
+ },
64
+ }
65
+
66
+ export const QX_ISSUE_ASSET_INPUT_TYPE = 1
67
+
68
+ export interface QxIssueAssetInput {
69
+ assetName: bigint
70
+ numberOfShares: bigint
71
+ unitOfMeasurement: bigint
72
+ numberOfDecimalPlaces: number
73
+ }
74
+
75
+ const QX_ISSUE_ASSET_INPUT_FIELDS: BinaryField[] = [
76
+ {
77
+ name: 'assetName',
78
+ type: 'uint64',
79
+ offset: 0,
80
+ byteLength: 8,
81
+ },
82
+ {
83
+ name: 'numberOfShares',
84
+ type: 'sint64',
85
+ offset: 8,
86
+ byteLength: 8,
87
+ },
88
+ {
89
+ name: 'unitOfMeasurement',
90
+ type: 'uint64',
91
+ offset: 16,
92
+ byteLength: 8,
93
+ },
94
+ {
95
+ name: 'numberOfDecimalPlaces',
96
+ type: 'sint8',
97
+ offset: 24,
98
+ byteLength: 1,
99
+ },
100
+ ]
101
+
102
+ export function buildQxIssueAssetInput(
103
+ input: QxIssueAssetInput,
104
+ ): ContractCall {
105
+ return { contractIndex: QX_CONTRACT_INDEX, inputType: QX_ISSUE_ASSET_INPUT_TYPE, payload: buildPayload(QX_ISSUE_ASSET_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
106
+ }
107
+
108
+ export interface QxIssueAssetOutput {
109
+ issuedNumberOfShares: bigint
110
+ }
111
+
112
+ const QX_ISSUE_ASSET_OUTPUT_FIELDS: BinaryField[] = [
113
+ {
114
+ name: 'issuedNumberOfShares',
115
+ type: 'sint64',
116
+ offset: 0,
117
+ byteLength: 8,
118
+ },
119
+ ]
120
+
121
+ export function decodeQxIssueAssetOutput(
122
+ data: Uint8Array,
123
+ ): QxIssueAssetOutput {
124
+ return decodePayload(data, QX_ISSUE_ASSET_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QxIssueAssetOutput
125
+ }
126
+
127
+ export const QX_TRANSFER_SHARE_OWNERSHIP_AND_POSSESSION_INPUT_TYPE = 2
128
+
129
+ export interface QxTransferShareOwnershipAndPossessionInput {
130
+ issuer: string
131
+ newOwnerAndPossessor: string
132
+ assetName: bigint
133
+ numberOfShares: bigint
134
+ }
135
+
136
+ const QX_TRANSFER_SHARE_OWNERSHIP_AND_POSSESSION_INPUT_FIELDS: BinaryField[] = [
137
+ {
138
+ name: 'issuer',
139
+ type: 'id',
140
+ offset: 0,
141
+ byteLength: 32,
142
+ },
143
+ {
144
+ name: 'newOwnerAndPossessor',
145
+ type: 'id',
146
+ offset: 32,
147
+ byteLength: 32,
148
+ },
149
+ {
150
+ name: 'assetName',
151
+ type: 'uint64',
152
+ offset: 64,
153
+ byteLength: 8,
154
+ },
155
+ {
156
+ name: 'numberOfShares',
157
+ type: 'sint64',
158
+ offset: 72,
159
+ byteLength: 8,
160
+ },
161
+ ]
162
+
163
+ export function buildQxTransferShareOwnershipAndPossessionInput(
164
+ input: QxTransferShareOwnershipAndPossessionInput,
165
+ identityToPublicKey: (identity: string) => Uint8Array,
166
+ ): ContractCall {
167
+ return { contractIndex: QX_CONTRACT_INDEX, inputType: QX_TRANSFER_SHARE_OWNERSHIP_AND_POSSESSION_INPUT_TYPE, payload: buildPayload(QX_TRANSFER_SHARE_OWNERSHIP_AND_POSSESSION_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey) }
168
+ }
169
+
170
+ export interface QxTransferShareOwnershipAndPossessionOutput {
171
+ transferredNumberOfShares: bigint
172
+ }
173
+
174
+ const QX_TRANSFER_SHARE_OWNERSHIP_AND_POSSESSION_OUTPUT_FIELDS: BinaryField[] = [
175
+ {
176
+ name: 'transferredNumberOfShares',
177
+ type: 'sint64',
178
+ offset: 0,
179
+ byteLength: 8,
180
+ },
181
+ ]
182
+
183
+ export function decodeQxTransferShareOwnershipAndPossessionOutput(
184
+ data: Uint8Array,
185
+ ): QxTransferShareOwnershipAndPossessionOutput {
186
+ return decodePayload(data, QX_TRANSFER_SHARE_OWNERSHIP_AND_POSSESSION_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QxTransferShareOwnershipAndPossessionOutput
187
+ }
188
+
189
+ export const QX_ADD_TO_ASK_ORDER_INPUT_TYPE = 5
190
+
191
+ export interface QxAddToAskOrderInput {
192
+ issuer: string
193
+ assetName: bigint
194
+ price: bigint
195
+ numberOfShares: bigint
196
+ }
197
+
198
+ const QX_ADD_TO_ASK_ORDER_INPUT_FIELDS: BinaryField[] = [
199
+ {
200
+ name: 'issuer',
201
+ type: 'id',
202
+ offset: 0,
203
+ byteLength: 32,
204
+ },
205
+ {
206
+ name: 'assetName',
207
+ type: 'uint64',
208
+ offset: 32,
209
+ byteLength: 8,
210
+ },
211
+ {
212
+ name: 'price',
213
+ type: 'sint64',
214
+ offset: 40,
215
+ byteLength: 8,
216
+ },
217
+ {
218
+ name: 'numberOfShares',
219
+ type: 'sint64',
220
+ offset: 48,
221
+ byteLength: 8,
222
+ },
223
+ ]
224
+
225
+ export function buildQxAddToAskOrderInput(
226
+ input: QxAddToAskOrderInput,
227
+ identityToPublicKey: (identity: string) => Uint8Array,
228
+ ): ContractCall {
229
+ return { contractIndex: QX_CONTRACT_INDEX, inputType: QX_ADD_TO_ASK_ORDER_INPUT_TYPE, payload: buildPayload(QX_ADD_TO_ASK_ORDER_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey) }
230
+ }
231
+
232
+ export interface QxAddToAskOrderOutput {
233
+ addedNumberOfShares: bigint
234
+ }
235
+
236
+ const QX_ADD_TO_ASK_ORDER_OUTPUT_FIELDS: BinaryField[] = [
237
+ {
238
+ name: 'addedNumberOfShares',
239
+ type: 'sint64',
240
+ offset: 0,
241
+ byteLength: 8,
242
+ },
243
+ ]
244
+
245
+ export function decodeQxAddToAskOrderOutput(
246
+ data: Uint8Array,
247
+ ): QxAddToAskOrderOutput {
248
+ return decodePayload(data, QX_ADD_TO_ASK_ORDER_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QxAddToAskOrderOutput
249
+ }
250
+
251
+ export const QX_ADD_TO_BID_ORDER_INPUT_TYPE = 6
252
+
253
+ export interface QxAddToBidOrderInput {
254
+ issuer: string
255
+ assetName: bigint
256
+ price: bigint
257
+ numberOfShares: bigint
258
+ }
259
+
260
+ const QX_ADD_TO_BID_ORDER_INPUT_FIELDS: BinaryField[] = [
261
+ {
262
+ name: 'issuer',
263
+ type: 'id',
264
+ offset: 0,
265
+ byteLength: 32,
266
+ },
267
+ {
268
+ name: 'assetName',
269
+ type: 'uint64',
270
+ offset: 32,
271
+ byteLength: 8,
272
+ },
273
+ {
274
+ name: 'price',
275
+ type: 'sint64',
276
+ offset: 40,
277
+ byteLength: 8,
278
+ },
279
+ {
280
+ name: 'numberOfShares',
281
+ type: 'sint64',
282
+ offset: 48,
283
+ byteLength: 8,
284
+ },
285
+ ]
286
+
287
+ export function buildQxAddToBidOrderInput(
288
+ input: QxAddToBidOrderInput,
289
+ identityToPublicKey: (identity: string) => Uint8Array,
290
+ ): ContractCall {
291
+ return { contractIndex: QX_CONTRACT_INDEX, inputType: QX_ADD_TO_BID_ORDER_INPUT_TYPE, payload: buildPayload(QX_ADD_TO_BID_ORDER_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey) }
292
+ }
293
+
294
+ export interface QxAddToBidOrderOutput {
295
+ addedNumberOfShares: bigint
296
+ }
297
+
298
+ const QX_ADD_TO_BID_ORDER_OUTPUT_FIELDS: BinaryField[] = [
299
+ {
300
+ name: 'addedNumberOfShares',
301
+ type: 'sint64',
302
+ offset: 0,
303
+ byteLength: 8,
304
+ },
305
+ ]
306
+
307
+ export function decodeQxAddToBidOrderOutput(
308
+ data: Uint8Array,
309
+ ): QxAddToBidOrderOutput {
310
+ return decodePayload(data, QX_ADD_TO_BID_ORDER_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QxAddToBidOrderOutput
311
+ }
312
+
313
+ export const QX_REMOVE_FROM_ASK_ORDER_INPUT_TYPE = 7
314
+
315
+ export interface QxRemoveFromAskOrderInput {
316
+ issuer: string
317
+ assetName: bigint
318
+ price: bigint
319
+ numberOfShares: bigint
320
+ }
321
+
322
+ const QX_REMOVE_FROM_ASK_ORDER_INPUT_FIELDS: BinaryField[] = [
323
+ {
324
+ name: 'issuer',
325
+ type: 'id',
326
+ offset: 0,
327
+ byteLength: 32,
328
+ },
329
+ {
330
+ name: 'assetName',
331
+ type: 'uint64',
332
+ offset: 32,
333
+ byteLength: 8,
334
+ },
335
+ {
336
+ name: 'price',
337
+ type: 'sint64',
338
+ offset: 40,
339
+ byteLength: 8,
340
+ },
341
+ {
342
+ name: 'numberOfShares',
343
+ type: 'sint64',
344
+ offset: 48,
345
+ byteLength: 8,
346
+ },
347
+ ]
348
+
349
+ export function buildQxRemoveFromAskOrderInput(
350
+ input: QxRemoveFromAskOrderInput,
351
+ identityToPublicKey: (identity: string) => Uint8Array,
352
+ ): ContractCall {
353
+ return { contractIndex: QX_CONTRACT_INDEX, inputType: QX_REMOVE_FROM_ASK_ORDER_INPUT_TYPE, payload: buildPayload(QX_REMOVE_FROM_ASK_ORDER_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey) }
354
+ }
355
+
356
+ export interface QxRemoveFromAskOrderOutput {
357
+ removedNumberOfShares: bigint
358
+ }
359
+
360
+ const QX_REMOVE_FROM_ASK_ORDER_OUTPUT_FIELDS: BinaryField[] = [
361
+ {
362
+ name: 'removedNumberOfShares',
363
+ type: 'sint64',
364
+ offset: 0,
365
+ byteLength: 8,
366
+ },
367
+ ]
368
+
369
+ export function decodeQxRemoveFromAskOrderOutput(
370
+ data: Uint8Array,
371
+ ): QxRemoveFromAskOrderOutput {
372
+ return decodePayload(data, QX_REMOVE_FROM_ASK_ORDER_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QxRemoveFromAskOrderOutput
373
+ }
374
+
375
+ export const QX_REMOVE_FROM_BID_ORDER_INPUT_TYPE = 8
376
+
377
+ export interface QxRemoveFromBidOrderInput {
378
+ issuer: string
379
+ assetName: bigint
380
+ price: bigint
381
+ numberOfShares: bigint
382
+ }
383
+
384
+ const QX_REMOVE_FROM_BID_ORDER_INPUT_FIELDS: BinaryField[] = [
385
+ {
386
+ name: 'issuer',
387
+ type: 'id',
388
+ offset: 0,
389
+ byteLength: 32,
390
+ },
391
+ {
392
+ name: 'assetName',
393
+ type: 'uint64',
394
+ offset: 32,
395
+ byteLength: 8,
396
+ },
397
+ {
398
+ name: 'price',
399
+ type: 'sint64',
400
+ offset: 40,
401
+ byteLength: 8,
402
+ },
403
+ {
404
+ name: 'numberOfShares',
405
+ type: 'sint64',
406
+ offset: 48,
407
+ byteLength: 8,
408
+ },
409
+ ]
410
+
411
+ export function buildQxRemoveFromBidOrderInput(
412
+ input: QxRemoveFromBidOrderInput,
413
+ identityToPublicKey: (identity: string) => Uint8Array,
414
+ ): ContractCall {
415
+ return { contractIndex: QX_CONTRACT_INDEX, inputType: QX_REMOVE_FROM_BID_ORDER_INPUT_TYPE, payload: buildPayload(QX_REMOVE_FROM_BID_ORDER_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey) }
416
+ }
417
+
418
+ export interface QxRemoveFromBidOrderOutput {
419
+ removedNumberOfShares: bigint
420
+ }
421
+
422
+ const QX_REMOVE_FROM_BID_ORDER_OUTPUT_FIELDS: BinaryField[] = [
423
+ {
424
+ name: 'removedNumberOfShares',
425
+ type: 'sint64',
426
+ offset: 0,
427
+ byteLength: 8,
428
+ },
429
+ ]
430
+
431
+ export function decodeQxRemoveFromBidOrderOutput(
432
+ data: Uint8Array,
433
+ ): QxRemoveFromBidOrderOutput {
434
+ return decodePayload(data, QX_REMOVE_FROM_BID_ORDER_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QxRemoveFromBidOrderOutput
435
+ }
436
+
437
+ export const QX_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_TYPE = 9
438
+
439
+ export interface QxTransferShareManagementRightsInput {
440
+ asset: QxAssetStruct
441
+ numberOfShares: bigint
442
+ newManagingContractIndex: number
443
+ }
444
+
445
+ const QX_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_FIELDS: BinaryField[] = [
446
+ {
447
+ name: 'asset',
448
+ type: 'struct',
449
+ offset: 0,
450
+ byteLength: 40,
451
+ structRef: 'Asset',
452
+ },
453
+ {
454
+ name: 'numberOfShares',
455
+ type: 'sint64',
456
+ offset: 40,
457
+ byteLength: 8,
458
+ },
459
+ {
460
+ name: 'newManagingContractIndex',
461
+ type: 'uint32',
462
+ offset: 48,
463
+ byteLength: 4,
464
+ },
465
+ ]
466
+
467
+ export function buildQxTransferShareManagementRightsInput(
468
+ input: QxTransferShareManagementRightsInput,
469
+ ): ContractCall {
470
+ return { contractIndex: QX_CONTRACT_INDEX, inputType: QX_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_TYPE, payload: buildPayload(QX_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
471
+ }
472
+
473
+ export interface QxTransferShareManagementRightsOutput {
474
+ transferredNumberOfShares: bigint
475
+ }
476
+
477
+ const QX_TRANSFER_SHARE_MANAGEMENT_RIGHTS_OUTPUT_FIELDS: BinaryField[] = [
478
+ {
479
+ name: 'transferredNumberOfShares',
480
+ type: 'sint64',
481
+ offset: 0,
482
+ byteLength: 8,
483
+ },
484
+ ]
485
+
486
+ export function decodeQxTransferShareManagementRightsOutput(
487
+ data: Uint8Array,
488
+ ): QxTransferShareManagementRightsOutput {
489
+ return decodePayload(data, QX_TRANSFER_SHARE_MANAGEMENT_RIGHTS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QxTransferShareManagementRightsOutput
490
+ }
491
+
492
+ export const QX_FEES_INPUT_TYPE = 1
493
+ export const QX_FEES_INPUT_SIZE = 0
494
+
495
+ export interface QxFeesOutput {
496
+ assetIssuanceFee: number
497
+ transferFee: number
498
+ tradeFee: number
499
+ }
500
+
501
+ const QX_FEES_OUTPUT_FIELDS: BinaryField[] = [
502
+ {
503
+ name: 'assetIssuanceFee',
504
+ type: 'uint32',
505
+ offset: 0,
506
+ byteLength: 4,
507
+ },
508
+ {
509
+ name: 'transferFee',
510
+ type: 'uint32',
511
+ offset: 4,
512
+ byteLength: 4,
513
+ },
514
+ {
515
+ name: 'tradeFee',
516
+ type: 'uint32',
517
+ offset: 8,
518
+ byteLength: 4,
519
+ },
520
+ ]
521
+
522
+ export function decodeQxFeesOutput(
523
+ data: Uint8Array,
524
+ ): QxFeesOutput {
525
+ return decodePayload(data, QX_FEES_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QxFeesOutput
526
+ }
527
+
528
+ export async function qxFees(
529
+ live: SmartContractCaller,
530
+ options?: ContractCallOptions,
531
+ ): Promise<Result<QxFeesOutput, QubicRpcError>> {
532
+ return callContractFunction({
533
+ live,
534
+ contractIndex: QX_CONTRACT_INDEX,
535
+ inputType: QX_FEES_INPUT_TYPE,
536
+ inputSize: QX_FEES_INPUT_SIZE,
537
+ inputFields: [],
538
+ outputFields: QX_FEES_OUTPUT_FIELDS,
539
+ structs: STRUCTS,
540
+ input: {},
541
+ ...options,
542
+ })
543
+ }
544
+
545
+ export const QX_ASSET_ASK_ORDERS_INPUT_TYPE = 2
546
+ export const QX_ASSET_ASK_ORDERS_INPUT_SIZE = 48
547
+
548
+ export interface QxAssetAskOrdersInput {
549
+ issuer: string
550
+ assetName: bigint
551
+ offset: bigint
552
+ }
553
+
554
+ const QX_ASSET_ASK_ORDERS_INPUT_FIELDS: BinaryField[] = [
555
+ {
556
+ name: 'issuer',
557
+ type: 'id',
558
+ offset: 0,
559
+ byteLength: 32,
560
+ },
561
+ {
562
+ name: 'assetName',
563
+ type: 'uint64',
564
+ offset: 32,
565
+ byteLength: 8,
566
+ },
567
+ {
568
+ name: 'offset',
569
+ type: 'uint64',
570
+ offset: 40,
571
+ byteLength: 8,
572
+ },
573
+ ]
574
+
575
+ export function buildQxAssetAskOrdersInput(
576
+ input: QxAssetAskOrdersInput,
577
+ identityToPublicKey: (identity: string) => Uint8Array,
578
+ ): Uint8Array {
579
+ return buildPayload(QX_ASSET_ASK_ORDERS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey)
580
+ }
581
+
582
+ export interface QxAssetAskOrdersOutput {
583
+ orders: number[]
584
+ }
585
+
586
+ const QX_ASSET_ASK_ORDERS_OUTPUT_FIELDS: BinaryField[] = [
587
+ {
588
+ name: 'orders',
589
+ type: 'array',
590
+ offset: 0,
591
+ byteLength: 12288,
592
+ arrayLength: 256,
593
+ arrayItemByteLength: 48,
594
+ arrayItemStructRef: 'Order',
595
+ },
596
+ ]
597
+
598
+ export function decodeQxAssetAskOrdersOutput(
599
+ data: Uint8Array,
600
+ ): QxAssetAskOrdersOutput {
601
+ return decodePayload(data, QX_ASSET_ASK_ORDERS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QxAssetAskOrdersOutput
602
+ }
603
+
604
+ export async function qxAssetAskOrders(
605
+ live: SmartContractCaller,
606
+ input: QxAssetAskOrdersInput,
607
+ options?: ContractCallOptions,
608
+ ): Promise<Result<QxAssetAskOrdersOutput, QubicRpcError>> {
609
+ return callContractFunction({
610
+ live,
611
+ contractIndex: QX_CONTRACT_INDEX,
612
+ inputType: QX_ASSET_ASK_ORDERS_INPUT_TYPE,
613
+ inputSize: QX_ASSET_ASK_ORDERS_INPUT_SIZE,
614
+ inputFields: QX_ASSET_ASK_ORDERS_INPUT_FIELDS,
615
+ outputFields: QX_ASSET_ASK_ORDERS_OUTPUT_FIELDS,
616
+ structs: STRUCTS,
617
+ input: (input as unknown as Record<string, unknown>),
618
+ ...options,
619
+ })
620
+ }
621
+
622
+ export const QX_ASSET_BID_ORDERS_INPUT_TYPE = 3
623
+ export const QX_ASSET_BID_ORDERS_INPUT_SIZE = 48
624
+
625
+ export interface QxAssetBidOrdersInput {
626
+ issuer: string
627
+ assetName: bigint
628
+ offset: bigint
629
+ }
630
+
631
+ const QX_ASSET_BID_ORDERS_INPUT_FIELDS: BinaryField[] = [
632
+ {
633
+ name: 'issuer',
634
+ type: 'id',
635
+ offset: 0,
636
+ byteLength: 32,
637
+ },
638
+ {
639
+ name: 'assetName',
640
+ type: 'uint64',
641
+ offset: 32,
642
+ byteLength: 8,
643
+ },
644
+ {
645
+ name: 'offset',
646
+ type: 'uint64',
647
+ offset: 40,
648
+ byteLength: 8,
649
+ },
650
+ ]
651
+
652
+ export function buildQxAssetBidOrdersInput(
653
+ input: QxAssetBidOrdersInput,
654
+ identityToPublicKey: (identity: string) => Uint8Array,
655
+ ): Uint8Array {
656
+ return buildPayload(QX_ASSET_BID_ORDERS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey)
657
+ }
658
+
659
+ export interface QxAssetBidOrdersOutput {
660
+ orders: number[]
661
+ }
662
+
663
+ const QX_ASSET_BID_ORDERS_OUTPUT_FIELDS: BinaryField[] = [
664
+ {
665
+ name: 'orders',
666
+ type: 'array',
667
+ offset: 0,
668
+ byteLength: 12288,
669
+ arrayLength: 256,
670
+ arrayItemByteLength: 48,
671
+ arrayItemStructRef: 'Order',
672
+ },
673
+ ]
674
+
675
+ export function decodeQxAssetBidOrdersOutput(
676
+ data: Uint8Array,
677
+ ): QxAssetBidOrdersOutput {
678
+ return decodePayload(data, QX_ASSET_BID_ORDERS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QxAssetBidOrdersOutput
679
+ }
680
+
681
+ export async function qxAssetBidOrders(
682
+ live: SmartContractCaller,
683
+ input: QxAssetBidOrdersInput,
684
+ options?: ContractCallOptions,
685
+ ): Promise<Result<QxAssetBidOrdersOutput, QubicRpcError>> {
686
+ return callContractFunction({
687
+ live,
688
+ contractIndex: QX_CONTRACT_INDEX,
689
+ inputType: QX_ASSET_BID_ORDERS_INPUT_TYPE,
690
+ inputSize: QX_ASSET_BID_ORDERS_INPUT_SIZE,
691
+ inputFields: QX_ASSET_BID_ORDERS_INPUT_FIELDS,
692
+ outputFields: QX_ASSET_BID_ORDERS_OUTPUT_FIELDS,
693
+ structs: STRUCTS,
694
+ input: (input as unknown as Record<string, unknown>),
695
+ ...options,
696
+ })
697
+ }
698
+
699
+ export const QX_ENTITY_ASK_ORDERS_INPUT_TYPE = 4
700
+ export const QX_ENTITY_ASK_ORDERS_INPUT_SIZE = 40
701
+
702
+ export interface QxEntityAskOrdersInput {
703
+ entity: string
704
+ offset: bigint
705
+ }
706
+
707
+ const QX_ENTITY_ASK_ORDERS_INPUT_FIELDS: BinaryField[] = [
708
+ {
709
+ name: 'entity',
710
+ type: 'id',
711
+ offset: 0,
712
+ byteLength: 32,
713
+ },
714
+ {
715
+ name: 'offset',
716
+ type: 'uint64',
717
+ offset: 32,
718
+ byteLength: 8,
719
+ },
720
+ ]
721
+
722
+ export function buildQxEntityAskOrdersInput(
723
+ input: QxEntityAskOrdersInput,
724
+ identityToPublicKey: (identity: string) => Uint8Array,
725
+ ): Uint8Array {
726
+ return buildPayload(QX_ENTITY_ASK_ORDERS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey)
727
+ }
728
+
729
+ export interface QxEntityAskOrdersOutput {
730
+ orders: number[]
731
+ }
732
+
733
+ const QX_ENTITY_ASK_ORDERS_OUTPUT_FIELDS: BinaryField[] = [
734
+ {
735
+ name: 'orders',
736
+ type: 'array',
737
+ offset: 0,
738
+ byteLength: 12288,
739
+ arrayLength: 256,
740
+ arrayItemByteLength: 48,
741
+ arrayItemStructRef: 'Order',
742
+ },
743
+ ]
744
+
745
+ export function decodeQxEntityAskOrdersOutput(
746
+ data: Uint8Array,
747
+ ): QxEntityAskOrdersOutput {
748
+ return decodePayload(data, QX_ENTITY_ASK_ORDERS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QxEntityAskOrdersOutput
749
+ }
750
+
751
+ export async function qxEntityAskOrders(
752
+ live: SmartContractCaller,
753
+ input: QxEntityAskOrdersInput,
754
+ options?: ContractCallOptions,
755
+ ): Promise<Result<QxEntityAskOrdersOutput, QubicRpcError>> {
756
+ return callContractFunction({
757
+ live,
758
+ contractIndex: QX_CONTRACT_INDEX,
759
+ inputType: QX_ENTITY_ASK_ORDERS_INPUT_TYPE,
760
+ inputSize: QX_ENTITY_ASK_ORDERS_INPUT_SIZE,
761
+ inputFields: QX_ENTITY_ASK_ORDERS_INPUT_FIELDS,
762
+ outputFields: QX_ENTITY_ASK_ORDERS_OUTPUT_FIELDS,
763
+ structs: STRUCTS,
764
+ input: (input as unknown as Record<string, unknown>),
765
+ ...options,
766
+ })
767
+ }
768
+
769
+ export const QX_ENTITY_BID_ORDERS_INPUT_TYPE = 5
770
+ export const QX_ENTITY_BID_ORDERS_INPUT_SIZE = 40
771
+
772
+ export interface QxEntityBidOrdersInput {
773
+ entity: string
774
+ offset: bigint
775
+ }
776
+
777
+ const QX_ENTITY_BID_ORDERS_INPUT_FIELDS: BinaryField[] = [
778
+ {
779
+ name: 'entity',
780
+ type: 'id',
781
+ offset: 0,
782
+ byteLength: 32,
783
+ },
784
+ {
785
+ name: 'offset',
786
+ type: 'uint64',
787
+ offset: 32,
788
+ byteLength: 8,
789
+ },
790
+ ]
791
+
792
+ export function buildQxEntityBidOrdersInput(
793
+ input: QxEntityBidOrdersInput,
794
+ identityToPublicKey: (identity: string) => Uint8Array,
795
+ ): Uint8Array {
796
+ return buildPayload(QX_ENTITY_BID_ORDERS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey)
797
+ }
798
+
799
+ export interface QxEntityBidOrdersOutput {
800
+ orders: number[]
801
+ }
802
+
803
+ const QX_ENTITY_BID_ORDERS_OUTPUT_FIELDS: BinaryField[] = [
804
+ {
805
+ name: 'orders',
806
+ type: 'array',
807
+ offset: 0,
808
+ byteLength: 12288,
809
+ arrayLength: 256,
810
+ arrayItemByteLength: 48,
811
+ arrayItemStructRef: 'Order',
812
+ },
813
+ ]
814
+
815
+ export function decodeQxEntityBidOrdersOutput(
816
+ data: Uint8Array,
817
+ ): QxEntityBidOrdersOutput {
818
+ return decodePayload(data, QX_ENTITY_BID_ORDERS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QxEntityBidOrdersOutput
819
+ }
820
+
821
+ export async function qxEntityBidOrders(
822
+ live: SmartContractCaller,
823
+ input: QxEntityBidOrdersInput,
824
+ options?: ContractCallOptions,
825
+ ): Promise<Result<QxEntityBidOrdersOutput, QubicRpcError>> {
826
+ return callContractFunction({
827
+ live,
828
+ contractIndex: QX_CONTRACT_INDEX,
829
+ inputType: QX_ENTITY_BID_ORDERS_INPUT_TYPE,
830
+ inputSize: QX_ENTITY_BID_ORDERS_INPUT_SIZE,
831
+ inputFields: QX_ENTITY_BID_ORDERS_INPUT_FIELDS,
832
+ outputFields: QX_ENTITY_BID_ORDERS_OUTPUT_FIELDS,
833
+ structs: STRUCTS,
834
+ input: (input as unknown as Record<string, unknown>),
835
+ ...options,
836
+ })
837
+ }
838
+
839
+ export const qx = {
840
+ contractIndex: QX_CONTRACT_INDEX,
841
+ Fees: qxFees,
842
+ AssetAskOrders: qxAssetAskOrders,
843
+ AssetBidOrders: qxAssetBidOrders,
844
+ EntityAskOrders: qxEntityAskOrders,
845
+ EntityBidOrders: qxEntityBidOrders,
846
+ buildIssueAssetInput: buildQxIssueAssetInput,
847
+ decodeIssueAssetOutput: decodeQxIssueAssetOutput,
848
+ buildTransferShareOwnershipAndPossessionInput: buildQxTransferShareOwnershipAndPossessionInput,
849
+ decodeTransferShareOwnershipAndPossessionOutput: decodeQxTransferShareOwnershipAndPossessionOutput,
850
+ buildAddToAskOrderInput: buildQxAddToAskOrderInput,
851
+ decodeAddToAskOrderOutput: decodeQxAddToAskOrderOutput,
852
+ buildAddToBidOrderInput: buildQxAddToBidOrderInput,
853
+ decodeAddToBidOrderOutput: decodeQxAddToBidOrderOutput,
854
+ buildRemoveFromAskOrderInput: buildQxRemoveFromAskOrderInput,
855
+ decodeRemoveFromAskOrderOutput: decodeQxRemoveFromAskOrderOutput,
856
+ buildRemoveFromBidOrderInput: buildQxRemoveFromBidOrderInput,
857
+ decodeRemoveFromBidOrderOutput: decodeQxRemoveFromBidOrderOutput,
858
+ buildTransferShareManagementRightsInput: buildQxTransferShareManagementRightsInput,
859
+ decodeTransferShareManagementRightsOutput: decodeQxTransferShareManagementRightsOutput,
860
+ }
861
+