@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,529 @@
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 ESCROW_CONTRACT_INDEX = 27
9
+
10
+ export interface EscrowAssetWithAmountStruct {
11
+ issuer: string
12
+ name: bigint
13
+ amount: bigint
14
+ }
15
+
16
+ export interface EscrowAssetStruct {
17
+ issuer: string
18
+ assetName: bigint
19
+ }
20
+
21
+ export interface EscrowDealStruct {
22
+ index: bigint
23
+ acceptorId: string
24
+ offeredQU: bigint
25
+ offeredAssetsNumber: bigint
26
+ offeredAssets: number[]
27
+ requestedQU: bigint
28
+ requestedAssetsNumber: bigint
29
+ requestedAssets: number[]
30
+ creationEpoch: number
31
+ }
32
+
33
+ const STRUCTS: Record<string, NamedStruct> = {
34
+ 'AssetWithAmount': {
35
+ name: 'AssetWithAmount',
36
+ byteLength: 48,
37
+ fields: [
38
+ {
39
+ name: 'issuer',
40
+ type: 'id',
41
+ offset: 0,
42
+ byteLength: 32,
43
+ },
44
+ {
45
+ name: 'name',
46
+ type: 'uint64',
47
+ offset: 32,
48
+ byteLength: 8,
49
+ },
50
+ {
51
+ name: 'amount',
52
+ type: 'uint64',
53
+ offset: 40,
54
+ byteLength: 8,
55
+ },
56
+ ],
57
+ },
58
+ 'Asset': {
59
+ name: 'Asset',
60
+ byteLength: 40,
61
+ fields: [
62
+ {
63
+ name: 'issuer',
64
+ type: 'id',
65
+ offset: 0,
66
+ byteLength: 32,
67
+ },
68
+ {
69
+ name: 'assetName',
70
+ type: 'uint64',
71
+ offset: 32,
72
+ byteLength: 8,
73
+ },
74
+ ],
75
+ },
76
+ 'Deal': {
77
+ name: 'Deal',
78
+ byteLength: 458,
79
+ fields: [
80
+ {
81
+ name: 'index',
82
+ type: 'sint64',
83
+ offset: 0,
84
+ byteLength: 8,
85
+ },
86
+ {
87
+ name: 'acceptorId',
88
+ type: 'id',
89
+ offset: 8,
90
+ byteLength: 32,
91
+ },
92
+ {
93
+ name: 'offeredQU',
94
+ type: 'uint64',
95
+ offset: 40,
96
+ byteLength: 8,
97
+ },
98
+ {
99
+ name: 'offeredAssetsNumber',
100
+ type: 'uint64',
101
+ offset: 48,
102
+ byteLength: 8,
103
+ },
104
+ {
105
+ name: 'offeredAssets',
106
+ type: 'array',
107
+ offset: 56,
108
+ byteLength: 192,
109
+ arrayLength: 4,
110
+ arrayItemByteLength: 48,
111
+ arrayItemStructRef: 'AssetWithAmount',
112
+ },
113
+ {
114
+ name: 'requestedQU',
115
+ type: 'uint64',
116
+ offset: 248,
117
+ byteLength: 8,
118
+ },
119
+ {
120
+ name: 'requestedAssetsNumber',
121
+ type: 'uint64',
122
+ offset: 256,
123
+ byteLength: 8,
124
+ },
125
+ {
126
+ name: 'requestedAssets',
127
+ type: 'array',
128
+ offset: 264,
129
+ byteLength: 192,
130
+ arrayLength: 4,
131
+ arrayItemByteLength: 48,
132
+ arrayItemStructRef: 'AssetWithAmount',
133
+ },
134
+ {
135
+ name: 'creationEpoch',
136
+ type: 'uint16',
137
+ offset: 456,
138
+ byteLength: 2,
139
+ },
140
+ ],
141
+ },
142
+ }
143
+
144
+ export const ESCROW_CREATE_DEAL_INPUT_TYPE = 1
145
+
146
+ export interface EscrowCreateDealInput {
147
+ acceptorId: string
148
+ offeredQU: bigint
149
+ offeredAssetsNumber: bigint
150
+ offeredAssets: number[]
151
+ requestedQU: bigint
152
+ requestedAssetsNumber: bigint
153
+ requestedAssets: number[]
154
+ }
155
+
156
+ const ESCROW_CREATE_DEAL_INPUT_FIELDS: BinaryField[] = [
157
+ {
158
+ name: 'acceptorId',
159
+ type: 'id',
160
+ offset: 0,
161
+ byteLength: 32,
162
+ },
163
+ {
164
+ name: 'offeredQU',
165
+ type: 'uint64',
166
+ offset: 32,
167
+ byteLength: 8,
168
+ },
169
+ {
170
+ name: 'offeredAssetsNumber',
171
+ type: 'uint64',
172
+ offset: 40,
173
+ byteLength: 8,
174
+ },
175
+ {
176
+ name: 'offeredAssets',
177
+ type: 'array',
178
+ offset: 48,
179
+ byteLength: 192,
180
+ arrayLength: 4,
181
+ arrayItemByteLength: 48,
182
+ arrayItemStructRef: 'AssetWithAmount',
183
+ },
184
+ {
185
+ name: 'requestedQU',
186
+ type: 'uint64',
187
+ offset: 240,
188
+ byteLength: 8,
189
+ },
190
+ {
191
+ name: 'requestedAssetsNumber',
192
+ type: 'uint64',
193
+ offset: 248,
194
+ byteLength: 8,
195
+ },
196
+ {
197
+ name: 'requestedAssets',
198
+ type: 'array',
199
+ offset: 256,
200
+ byteLength: 192,
201
+ arrayLength: 4,
202
+ arrayItemByteLength: 48,
203
+ arrayItemStructRef: 'AssetWithAmount',
204
+ },
205
+ ]
206
+
207
+ export function buildEscrowCreateDealInput(
208
+ input: EscrowCreateDealInput,
209
+ identityToPublicKey: (identity: string) => Uint8Array,
210
+ ): ContractCall {
211
+ return { contractIndex: ESCROW_CONTRACT_INDEX, inputType: ESCROW_CREATE_DEAL_INPUT_TYPE, payload: buildPayload(ESCROW_CREATE_DEAL_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey) }
212
+ }
213
+
214
+ export const ESCROW_ACCEPT_DEAL_INPUT_TYPE = 2
215
+
216
+ export interface EscrowAcceptDealInput {
217
+ index: bigint
218
+ }
219
+
220
+ const ESCROW_ACCEPT_DEAL_INPUT_FIELDS: BinaryField[] = [
221
+ {
222
+ name: 'index',
223
+ type: 'sint64',
224
+ offset: 0,
225
+ byteLength: 8,
226
+ },
227
+ ]
228
+
229
+ export function buildEscrowAcceptDealInput(
230
+ input: EscrowAcceptDealInput,
231
+ ): ContractCall {
232
+ return { contractIndex: ESCROW_CONTRACT_INDEX, inputType: ESCROW_ACCEPT_DEAL_INPUT_TYPE, payload: buildPayload(ESCROW_ACCEPT_DEAL_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
233
+ }
234
+
235
+ export const ESCROW_MAKE_DEAL_PUBLIC_INPUT_TYPE = 3
236
+
237
+ export interface EscrowMakeDealPublicInput {
238
+ index: bigint
239
+ }
240
+
241
+ const ESCROW_MAKE_DEAL_PUBLIC_INPUT_FIELDS: BinaryField[] = [
242
+ {
243
+ name: 'index',
244
+ type: 'sint64',
245
+ offset: 0,
246
+ byteLength: 8,
247
+ },
248
+ ]
249
+
250
+ export function buildEscrowMakeDealPublicInput(
251
+ input: EscrowMakeDealPublicInput,
252
+ ): ContractCall {
253
+ return { contractIndex: ESCROW_CONTRACT_INDEX, inputType: ESCROW_MAKE_DEAL_PUBLIC_INPUT_TYPE, payload: buildPayload(ESCROW_MAKE_DEAL_PUBLIC_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
254
+ }
255
+
256
+ export const ESCROW_CANCEL_DEAL_INPUT_TYPE = 4
257
+
258
+ export interface EscrowCancelDealInput {
259
+ index: bigint
260
+ }
261
+
262
+ const ESCROW_CANCEL_DEAL_INPUT_FIELDS: BinaryField[] = [
263
+ {
264
+ name: 'index',
265
+ type: 'sint64',
266
+ offset: 0,
267
+ byteLength: 8,
268
+ },
269
+ ]
270
+
271
+ export function buildEscrowCancelDealInput(
272
+ input: EscrowCancelDealInput,
273
+ ): ContractCall {
274
+ return { contractIndex: ESCROW_CONTRACT_INDEX, inputType: ESCROW_CANCEL_DEAL_INPUT_TYPE, payload: buildPayload(ESCROW_CANCEL_DEAL_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
275
+ }
276
+
277
+ export const ESCROW_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_TYPE = 5
278
+
279
+ export interface EscrowTransferShareManagementRightsInput {
280
+ asset: EscrowAssetStruct
281
+ amount: bigint
282
+ newContractIndex: number
283
+ }
284
+
285
+ const ESCROW_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_FIELDS: BinaryField[] = [
286
+ {
287
+ name: 'asset',
288
+ type: 'struct',
289
+ offset: 0,
290
+ byteLength: 40,
291
+ structRef: 'Asset',
292
+ },
293
+ {
294
+ name: 'amount',
295
+ type: 'sint64',
296
+ offset: 40,
297
+ byteLength: 8,
298
+ },
299
+ {
300
+ name: 'newContractIndex',
301
+ type: 'uint32',
302
+ offset: 48,
303
+ byteLength: 4,
304
+ },
305
+ ]
306
+
307
+ export function buildEscrowTransferShareManagementRightsInput(
308
+ input: EscrowTransferShareManagementRightsInput,
309
+ ): ContractCall {
310
+ return { contractIndex: ESCROW_CONTRACT_INDEX, inputType: ESCROW_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_TYPE, payload: buildPayload(ESCROW_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
311
+ }
312
+
313
+ export interface EscrowTransferShareManagementRightsOutput {
314
+ transferredShares: bigint
315
+ }
316
+
317
+ const ESCROW_TRANSFER_SHARE_MANAGEMENT_RIGHTS_OUTPUT_FIELDS: BinaryField[] = [
318
+ {
319
+ name: 'transferredShares',
320
+ type: 'sint64',
321
+ offset: 0,
322
+ byteLength: 8,
323
+ },
324
+ ]
325
+
326
+ export function decodeEscrowTransferShareManagementRightsOutput(
327
+ data: Uint8Array,
328
+ ): EscrowTransferShareManagementRightsOutput {
329
+ return decodePayload(data, ESCROW_TRANSFER_SHARE_MANAGEMENT_RIGHTS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as EscrowTransferShareManagementRightsOutput
330
+ }
331
+
332
+ export const ESCROW_GET_DEALS_INPUT_TYPE = 1
333
+ export const ESCROW_GET_DEALS_INPUT_SIZE = 48
334
+
335
+ export interface EscrowGetDealsInput {
336
+ owner: string
337
+ proposedDealsOffset: bigint
338
+ publicDealsOffset: bigint
339
+ }
340
+
341
+ const ESCROW_GET_DEALS_INPUT_FIELDS: BinaryField[] = [
342
+ {
343
+ name: 'owner',
344
+ type: 'id',
345
+ offset: 0,
346
+ byteLength: 32,
347
+ },
348
+ {
349
+ name: 'proposedDealsOffset',
350
+ type: 'sint64',
351
+ offset: 32,
352
+ byteLength: 8,
353
+ },
354
+ {
355
+ name: 'publicDealsOffset',
356
+ type: 'sint64',
357
+ offset: 40,
358
+ byteLength: 8,
359
+ },
360
+ ]
361
+
362
+ export function buildEscrowGetDealsInput(
363
+ input: EscrowGetDealsInput,
364
+ identityToPublicKey: (identity: string) => Uint8Array,
365
+ ): Uint8Array {
366
+ return buildPayload(ESCROW_GET_DEALS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey)
367
+ }
368
+
369
+ export interface EscrowGetDealsOutput {
370
+ ownedDealsAmount: bigint
371
+ proposedDealsAmount: bigint
372
+ publicDealsAmount: bigint
373
+ ownedDeals: number[]
374
+ proposedDeals: number[]
375
+ publicDeals: number[]
376
+ }
377
+
378
+ const ESCROW_GET_DEALS_OUTPUT_FIELDS: BinaryField[] = [
379
+ {
380
+ name: 'ownedDealsAmount',
381
+ type: 'uint64',
382
+ offset: 0,
383
+ byteLength: 8,
384
+ },
385
+ {
386
+ name: 'proposedDealsAmount',
387
+ type: 'uint64',
388
+ offset: 8,
389
+ byteLength: 8,
390
+ },
391
+ {
392
+ name: 'publicDealsAmount',
393
+ type: 'uint64',
394
+ offset: 16,
395
+ byteLength: 8,
396
+ },
397
+ {
398
+ name: 'ownedDeals',
399
+ type: 'array',
400
+ offset: 24,
401
+ byteLength: 3664,
402
+ arrayLength: 8,
403
+ arrayItemByteLength: 458,
404
+ arrayItemStructRef: 'Deal',
405
+ },
406
+ {
407
+ name: 'proposedDeals',
408
+ type: 'array',
409
+ offset: 3688,
410
+ byteLength: 14656,
411
+ arrayLength: 32,
412
+ arrayItemByteLength: 458,
413
+ arrayItemStructRef: 'Deal',
414
+ },
415
+ {
416
+ name: 'publicDeals',
417
+ type: 'array',
418
+ offset: 18344,
419
+ byteLength: 29312,
420
+ arrayLength: 64,
421
+ arrayItemByteLength: 458,
422
+ arrayItemStructRef: 'Deal',
423
+ },
424
+ ]
425
+
426
+ export function decodeEscrowGetDealsOutput(
427
+ data: Uint8Array,
428
+ ): EscrowGetDealsOutput {
429
+ return decodePayload(data, ESCROW_GET_DEALS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as EscrowGetDealsOutput
430
+ }
431
+
432
+ export async function escrowGetDeals(
433
+ live: SmartContractCaller,
434
+ input: EscrowGetDealsInput,
435
+ options?: ContractCallOptions,
436
+ ): Promise<Result<EscrowGetDealsOutput, QubicRpcError>> {
437
+ return callContractFunction({
438
+ live,
439
+ contractIndex: ESCROW_CONTRACT_INDEX,
440
+ inputType: ESCROW_GET_DEALS_INPUT_TYPE,
441
+ inputSize: ESCROW_GET_DEALS_INPUT_SIZE,
442
+ inputFields: ESCROW_GET_DEALS_INPUT_FIELDS,
443
+ outputFields: ESCROW_GET_DEALS_OUTPUT_FIELDS,
444
+ structs: STRUCTS,
445
+ input: (input as unknown as Record<string, unknown>),
446
+ ...options,
447
+ })
448
+ }
449
+
450
+ export const ESCROW_GET_FREE_ASSET_AMOUNT_INPUT_TYPE = 2
451
+ export const ESCROW_GET_FREE_ASSET_AMOUNT_INPUT_SIZE = 72
452
+
453
+ export interface EscrowGetFreeAssetAmountInput {
454
+ owner: string
455
+ asset: EscrowAssetStruct
456
+ }
457
+
458
+ const ESCROW_GET_FREE_ASSET_AMOUNT_INPUT_FIELDS: BinaryField[] = [
459
+ {
460
+ name: 'owner',
461
+ type: 'id',
462
+ offset: 0,
463
+ byteLength: 32,
464
+ },
465
+ {
466
+ name: 'asset',
467
+ type: 'struct',
468
+ offset: 32,
469
+ byteLength: 40,
470
+ structRef: 'Asset',
471
+ },
472
+ ]
473
+
474
+ export function buildEscrowGetFreeAssetAmountInput(
475
+ input: EscrowGetFreeAssetAmountInput,
476
+ identityToPublicKey: (identity: string) => Uint8Array,
477
+ ): Uint8Array {
478
+ return buildPayload(ESCROW_GET_FREE_ASSET_AMOUNT_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey)
479
+ }
480
+
481
+ export interface EscrowGetFreeAssetAmountOutput {
482
+ freeAmount: bigint
483
+ }
484
+
485
+ const ESCROW_GET_FREE_ASSET_AMOUNT_OUTPUT_FIELDS: BinaryField[] = [
486
+ {
487
+ name: 'freeAmount',
488
+ type: 'sint64',
489
+ offset: 0,
490
+ byteLength: 8,
491
+ },
492
+ ]
493
+
494
+ export function decodeEscrowGetFreeAssetAmountOutput(
495
+ data: Uint8Array,
496
+ ): EscrowGetFreeAssetAmountOutput {
497
+ return decodePayload(data, ESCROW_GET_FREE_ASSET_AMOUNT_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as EscrowGetFreeAssetAmountOutput
498
+ }
499
+
500
+ export async function escrowGetFreeAssetAmount(
501
+ live: SmartContractCaller,
502
+ input: EscrowGetFreeAssetAmountInput,
503
+ options?: ContractCallOptions,
504
+ ): Promise<Result<EscrowGetFreeAssetAmountOutput, QubicRpcError>> {
505
+ return callContractFunction({
506
+ live,
507
+ contractIndex: ESCROW_CONTRACT_INDEX,
508
+ inputType: ESCROW_GET_FREE_ASSET_AMOUNT_INPUT_TYPE,
509
+ inputSize: ESCROW_GET_FREE_ASSET_AMOUNT_INPUT_SIZE,
510
+ inputFields: ESCROW_GET_FREE_ASSET_AMOUNT_INPUT_FIELDS,
511
+ outputFields: ESCROW_GET_FREE_ASSET_AMOUNT_OUTPUT_FIELDS,
512
+ structs: STRUCTS,
513
+ input: (input as unknown as Record<string, unknown>),
514
+ ...options,
515
+ })
516
+ }
517
+
518
+ export const escrow = {
519
+ contractIndex: ESCROW_CONTRACT_INDEX,
520
+ GetDeals: escrowGetDeals,
521
+ GetFreeAssetAmount: escrowGetFreeAssetAmount,
522
+ buildCreateDealInput: buildEscrowCreateDealInput,
523
+ buildAcceptDealInput: buildEscrowAcceptDealInput,
524
+ buildMakeDealPublicInput: buildEscrowMakeDealPublicInput,
525
+ buildCancelDealInput: buildEscrowCancelDealInput,
526
+ buildTransferShareManagementRightsInput: buildEscrowTransferShareManagementRightsInput,
527
+ decodeTransferShareManagementRightsOutput: decodeEscrowTransferShareManagementRightsOutput,
528
+ }
529
+