@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,1016 @@
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 Q_BOND_CONTRACT_INDEX = 17
9
+
10
+ export interface QBondOrderStruct {
11
+ owner: string
12
+ epoch: bigint
13
+ numberOfMBonds: bigint
14
+ }
15
+
16
+ export interface QBondTableEntryStruct {
17
+ epoch: bigint
18
+ totalStakedQBond: bigint
19
+ totalStakedQEarn: bigint
20
+ apy: bigint
21
+ }
22
+
23
+ export interface QBondMBondEntityStruct {
24
+ epoch: bigint
25
+ amount: bigint
26
+ apy: bigint
27
+ }
28
+
29
+ const STRUCTS: Record<string, NamedStruct> = {
30
+ 'Order': {
31
+ name: 'Order',
32
+ byteLength: 48,
33
+ fields: [
34
+ {
35
+ name: 'owner',
36
+ type: 'id',
37
+ offset: 0,
38
+ byteLength: 32,
39
+ },
40
+ {
41
+ name: 'epoch',
42
+ type: 'sint64',
43
+ offset: 32,
44
+ byteLength: 8,
45
+ },
46
+ {
47
+ name: 'numberOfMBonds',
48
+ type: 'sint64',
49
+ offset: 40,
50
+ byteLength: 8,
51
+ },
52
+ ],
53
+ },
54
+ 'TableEntry': {
55
+ name: 'TableEntry',
56
+ byteLength: 32,
57
+ fields: [
58
+ {
59
+ name: 'epoch',
60
+ type: 'sint64',
61
+ offset: 0,
62
+ byteLength: 8,
63
+ },
64
+ {
65
+ name: 'totalStakedQBond',
66
+ type: 'sint64',
67
+ offset: 8,
68
+ byteLength: 8,
69
+ },
70
+ {
71
+ name: 'totalStakedQEarn',
72
+ type: 'sint64',
73
+ offset: 16,
74
+ byteLength: 8,
75
+ },
76
+ {
77
+ name: 'apy',
78
+ type: 'uint64',
79
+ offset: 24,
80
+ byteLength: 8,
81
+ },
82
+ ],
83
+ },
84
+ 'MBondEntity': {
85
+ name: 'MBondEntity',
86
+ byteLength: 24,
87
+ fields: [
88
+ {
89
+ name: 'epoch',
90
+ type: 'sint64',
91
+ offset: 0,
92
+ byteLength: 8,
93
+ },
94
+ {
95
+ name: 'amount',
96
+ type: 'sint64',
97
+ offset: 8,
98
+ byteLength: 8,
99
+ },
100
+ {
101
+ name: 'apy',
102
+ type: 'uint64',
103
+ offset: 16,
104
+ byteLength: 8,
105
+ },
106
+ ],
107
+ },
108
+ }
109
+
110
+ export const Q_BOND_STAKE_INPUT_TYPE = 1
111
+
112
+ export interface QBondStakeInput {
113
+ quMillions: bigint
114
+ }
115
+
116
+ const Q_BOND_STAKE_INPUT_FIELDS: BinaryField[] = [
117
+ {
118
+ name: 'quMillions',
119
+ type: 'sint64',
120
+ offset: 0,
121
+ byteLength: 8,
122
+ },
123
+ ]
124
+
125
+ export function buildQBondStakeInput(
126
+ input: QBondStakeInput,
127
+ ): ContractCall {
128
+ return { contractIndex: Q_BOND_CONTRACT_INDEX, inputType: Q_BOND_STAKE_INPUT_TYPE, payload: buildPayload(Q_BOND_STAKE_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
129
+ }
130
+
131
+ export const Q_BOND_TRANSFER_M_BOND_OWNERSHIP_AND_POSSESSION_INPUT_TYPE = 2
132
+
133
+ export interface QBondTransferMBondOwnershipAndPossessionInput {
134
+ newOwnerAndPossessor: string
135
+ epoch: bigint
136
+ numberOfMBonds: bigint
137
+ }
138
+
139
+ const Q_BOND_TRANSFER_M_BOND_OWNERSHIP_AND_POSSESSION_INPUT_FIELDS: BinaryField[] = [
140
+ {
141
+ name: 'newOwnerAndPossessor',
142
+ type: 'id',
143
+ offset: 0,
144
+ byteLength: 32,
145
+ },
146
+ {
147
+ name: 'epoch',
148
+ type: 'sint64',
149
+ offset: 32,
150
+ byteLength: 8,
151
+ },
152
+ {
153
+ name: 'numberOfMBonds',
154
+ type: 'sint64',
155
+ offset: 40,
156
+ byteLength: 8,
157
+ },
158
+ ]
159
+
160
+ export function buildQBondTransferMBondOwnershipAndPossessionInput(
161
+ input: QBondTransferMBondOwnershipAndPossessionInput,
162
+ identityToPublicKey: (identity: string) => Uint8Array,
163
+ ): ContractCall {
164
+ return { contractIndex: Q_BOND_CONTRACT_INDEX, inputType: Q_BOND_TRANSFER_M_BOND_OWNERSHIP_AND_POSSESSION_INPUT_TYPE, payload: buildPayload(Q_BOND_TRANSFER_M_BOND_OWNERSHIP_AND_POSSESSION_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey) }
165
+ }
166
+
167
+ export interface QBondTransferMBondOwnershipAndPossessionOutput {
168
+ transferredMBonds: bigint
169
+ }
170
+
171
+ const Q_BOND_TRANSFER_M_BOND_OWNERSHIP_AND_POSSESSION_OUTPUT_FIELDS: BinaryField[] = [
172
+ {
173
+ name: 'transferredMBonds',
174
+ type: 'sint64',
175
+ offset: 0,
176
+ byteLength: 8,
177
+ },
178
+ ]
179
+
180
+ export function decodeQBondTransferMBondOwnershipAndPossessionOutput(
181
+ data: Uint8Array,
182
+ ): QBondTransferMBondOwnershipAndPossessionOutput {
183
+ return decodePayload(data, Q_BOND_TRANSFER_M_BOND_OWNERSHIP_AND_POSSESSION_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QBondTransferMBondOwnershipAndPossessionOutput
184
+ }
185
+
186
+ export const Q_BOND_ADD_ASK_ORDER_INPUT_TYPE = 3
187
+
188
+ export interface QBondAddAskOrderInput {
189
+ epoch: bigint
190
+ price: bigint
191
+ numberOfMBonds: bigint
192
+ }
193
+
194
+ const Q_BOND_ADD_ASK_ORDER_INPUT_FIELDS: BinaryField[] = [
195
+ {
196
+ name: 'epoch',
197
+ type: 'sint64',
198
+ offset: 0,
199
+ byteLength: 8,
200
+ },
201
+ {
202
+ name: 'price',
203
+ type: 'sint64',
204
+ offset: 8,
205
+ byteLength: 8,
206
+ },
207
+ {
208
+ name: 'numberOfMBonds',
209
+ type: 'sint64',
210
+ offset: 16,
211
+ byteLength: 8,
212
+ },
213
+ ]
214
+
215
+ export function buildQBondAddAskOrderInput(
216
+ input: QBondAddAskOrderInput,
217
+ ): ContractCall {
218
+ return { contractIndex: Q_BOND_CONTRACT_INDEX, inputType: Q_BOND_ADD_ASK_ORDER_INPUT_TYPE, payload: buildPayload(Q_BOND_ADD_ASK_ORDER_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
219
+ }
220
+
221
+ export interface QBondAddAskOrderOutput {
222
+ addedMBondsAmount: bigint
223
+ }
224
+
225
+ const Q_BOND_ADD_ASK_ORDER_OUTPUT_FIELDS: BinaryField[] = [
226
+ {
227
+ name: 'addedMBondsAmount',
228
+ type: 'sint64',
229
+ offset: 0,
230
+ byteLength: 8,
231
+ },
232
+ ]
233
+
234
+ export function decodeQBondAddAskOrderOutput(
235
+ data: Uint8Array,
236
+ ): QBondAddAskOrderOutput {
237
+ return decodePayload(data, Q_BOND_ADD_ASK_ORDER_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QBondAddAskOrderOutput
238
+ }
239
+
240
+ export const Q_BOND_REMOVE_ASK_ORDER_INPUT_TYPE = 4
241
+
242
+ export interface QBondRemoveAskOrderInput {
243
+ epoch: bigint
244
+ price: bigint
245
+ numberOfMBonds: bigint
246
+ }
247
+
248
+ const Q_BOND_REMOVE_ASK_ORDER_INPUT_FIELDS: BinaryField[] = [
249
+ {
250
+ name: 'epoch',
251
+ type: 'sint64',
252
+ offset: 0,
253
+ byteLength: 8,
254
+ },
255
+ {
256
+ name: 'price',
257
+ type: 'sint64',
258
+ offset: 8,
259
+ byteLength: 8,
260
+ },
261
+ {
262
+ name: 'numberOfMBonds',
263
+ type: 'sint64',
264
+ offset: 16,
265
+ byteLength: 8,
266
+ },
267
+ ]
268
+
269
+ export function buildQBondRemoveAskOrderInput(
270
+ input: QBondRemoveAskOrderInput,
271
+ ): ContractCall {
272
+ return { contractIndex: Q_BOND_CONTRACT_INDEX, inputType: Q_BOND_REMOVE_ASK_ORDER_INPUT_TYPE, payload: buildPayload(Q_BOND_REMOVE_ASK_ORDER_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
273
+ }
274
+
275
+ export interface QBondRemoveAskOrderOutput {
276
+ removedMBondsAmount: bigint
277
+ }
278
+
279
+ const Q_BOND_REMOVE_ASK_ORDER_OUTPUT_FIELDS: BinaryField[] = [
280
+ {
281
+ name: 'removedMBondsAmount',
282
+ type: 'sint64',
283
+ offset: 0,
284
+ byteLength: 8,
285
+ },
286
+ ]
287
+
288
+ export function decodeQBondRemoveAskOrderOutput(
289
+ data: Uint8Array,
290
+ ): QBondRemoveAskOrderOutput {
291
+ return decodePayload(data, Q_BOND_REMOVE_ASK_ORDER_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QBondRemoveAskOrderOutput
292
+ }
293
+
294
+ export const Q_BOND_ADD_BID_ORDER_INPUT_TYPE = 5
295
+
296
+ export interface QBondAddBidOrderInput {
297
+ epoch: bigint
298
+ price: bigint
299
+ numberOfMBonds: bigint
300
+ }
301
+
302
+ const Q_BOND_ADD_BID_ORDER_INPUT_FIELDS: BinaryField[] = [
303
+ {
304
+ name: 'epoch',
305
+ type: 'sint64',
306
+ offset: 0,
307
+ byteLength: 8,
308
+ },
309
+ {
310
+ name: 'price',
311
+ type: 'sint64',
312
+ offset: 8,
313
+ byteLength: 8,
314
+ },
315
+ {
316
+ name: 'numberOfMBonds',
317
+ type: 'sint64',
318
+ offset: 16,
319
+ byteLength: 8,
320
+ },
321
+ ]
322
+
323
+ export function buildQBondAddBidOrderInput(
324
+ input: QBondAddBidOrderInput,
325
+ ): ContractCall {
326
+ return { contractIndex: Q_BOND_CONTRACT_INDEX, inputType: Q_BOND_ADD_BID_ORDER_INPUT_TYPE, payload: buildPayload(Q_BOND_ADD_BID_ORDER_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
327
+ }
328
+
329
+ export interface QBondAddBidOrderOutput {
330
+ addedMBondsAmount: bigint
331
+ }
332
+
333
+ const Q_BOND_ADD_BID_ORDER_OUTPUT_FIELDS: BinaryField[] = [
334
+ {
335
+ name: 'addedMBondsAmount',
336
+ type: 'sint64',
337
+ offset: 0,
338
+ byteLength: 8,
339
+ },
340
+ ]
341
+
342
+ export function decodeQBondAddBidOrderOutput(
343
+ data: Uint8Array,
344
+ ): QBondAddBidOrderOutput {
345
+ return decodePayload(data, Q_BOND_ADD_BID_ORDER_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QBondAddBidOrderOutput
346
+ }
347
+
348
+ export const Q_BOND_REMOVE_BID_ORDER_INPUT_TYPE = 6
349
+
350
+ export interface QBondRemoveBidOrderInput {
351
+ epoch: bigint
352
+ price: bigint
353
+ numberOfMBonds: bigint
354
+ }
355
+
356
+ const Q_BOND_REMOVE_BID_ORDER_INPUT_FIELDS: BinaryField[] = [
357
+ {
358
+ name: 'epoch',
359
+ type: 'sint64',
360
+ offset: 0,
361
+ byteLength: 8,
362
+ },
363
+ {
364
+ name: 'price',
365
+ type: 'sint64',
366
+ offset: 8,
367
+ byteLength: 8,
368
+ },
369
+ {
370
+ name: 'numberOfMBonds',
371
+ type: 'sint64',
372
+ offset: 16,
373
+ byteLength: 8,
374
+ },
375
+ ]
376
+
377
+ export function buildQBondRemoveBidOrderInput(
378
+ input: QBondRemoveBidOrderInput,
379
+ ): ContractCall {
380
+ return { contractIndex: Q_BOND_CONTRACT_INDEX, inputType: Q_BOND_REMOVE_BID_ORDER_INPUT_TYPE, payload: buildPayload(Q_BOND_REMOVE_BID_ORDER_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
381
+ }
382
+
383
+ export interface QBondRemoveBidOrderOutput {
384
+ removedMBondsAmount: bigint
385
+ }
386
+
387
+ const Q_BOND_REMOVE_BID_ORDER_OUTPUT_FIELDS: BinaryField[] = [
388
+ {
389
+ name: 'removedMBondsAmount',
390
+ type: 'sint64',
391
+ offset: 0,
392
+ byteLength: 8,
393
+ },
394
+ ]
395
+
396
+ export function decodeQBondRemoveBidOrderOutput(
397
+ data: Uint8Array,
398
+ ): QBondRemoveBidOrderOutput {
399
+ return decodePayload(data, Q_BOND_REMOVE_BID_ORDER_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QBondRemoveBidOrderOutput
400
+ }
401
+
402
+ export const Q_BOND_BURN_QU_INPUT_TYPE = 7
403
+
404
+ export interface QBondBurnQUInput {
405
+ amount: bigint
406
+ }
407
+
408
+ const Q_BOND_BURN_QU_INPUT_FIELDS: BinaryField[] = [
409
+ {
410
+ name: 'amount',
411
+ type: 'sint64',
412
+ offset: 0,
413
+ byteLength: 8,
414
+ },
415
+ ]
416
+
417
+ export function buildQBondBurnQUInput(
418
+ input: QBondBurnQUInput,
419
+ ): ContractCall {
420
+ return { contractIndex: Q_BOND_CONTRACT_INDEX, inputType: Q_BOND_BURN_QU_INPUT_TYPE, payload: buildPayload(Q_BOND_BURN_QU_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
421
+ }
422
+
423
+ export interface QBondBurnQUOutput {
424
+ amount: bigint
425
+ }
426
+
427
+ const Q_BOND_BURN_QU_OUTPUT_FIELDS: BinaryField[] = [
428
+ {
429
+ name: 'amount',
430
+ type: 'sint64',
431
+ offset: 0,
432
+ byteLength: 8,
433
+ },
434
+ ]
435
+
436
+ export function decodeQBondBurnQUOutput(
437
+ data: Uint8Array,
438
+ ): QBondBurnQUOutput {
439
+ return decodePayload(data, Q_BOND_BURN_QU_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QBondBurnQUOutput
440
+ }
441
+
442
+ export const Q_BOND_UPDATE_CFA_INPUT_TYPE = 8
443
+
444
+ export interface QBondUpdateCFAInput {
445
+ user: string
446
+ operation: number
447
+ }
448
+
449
+ const Q_BOND_UPDATE_CFA_INPUT_FIELDS: BinaryField[] = [
450
+ {
451
+ name: 'user',
452
+ type: 'id',
453
+ offset: 0,
454
+ byteLength: 32,
455
+ },
456
+ {
457
+ name: 'operation',
458
+ type: 'uint8',
459
+ offset: 32,
460
+ byteLength: 1,
461
+ },
462
+ ]
463
+
464
+ export function buildQBondUpdateCFAInput(
465
+ input: QBondUpdateCFAInput,
466
+ identityToPublicKey: (identity: string) => Uint8Array,
467
+ ): ContractCall {
468
+ return { contractIndex: Q_BOND_CONTRACT_INDEX, inputType: Q_BOND_UPDATE_CFA_INPUT_TYPE, payload: buildPayload(Q_BOND_UPDATE_CFA_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey) }
469
+ }
470
+
471
+ export interface QBondUpdateCFAOutput {
472
+ result: number
473
+ }
474
+
475
+ const Q_BOND_UPDATE_CFA_OUTPUT_FIELDS: BinaryField[] = [
476
+ {
477
+ name: 'result',
478
+ type: 'uint8',
479
+ offset: 0,
480
+ byteLength: 1,
481
+ },
482
+ ]
483
+
484
+ export function decodeQBondUpdateCFAOutput(
485
+ data: Uint8Array,
486
+ ): QBondUpdateCFAOutput {
487
+ return decodePayload(data, Q_BOND_UPDATE_CFA_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QBondUpdateCFAOutput
488
+ }
489
+
490
+ export const Q_BOND_GET_FEES_INPUT_TYPE = 1
491
+ export const Q_BOND_GET_FEES_INPUT_SIZE = 0
492
+
493
+ export interface QBondGetFeesOutput {
494
+ stakeFeePercent: bigint
495
+ tradeFeePercent: bigint
496
+ transferFee: bigint
497
+ }
498
+
499
+ const Q_BOND_GET_FEES_OUTPUT_FIELDS: BinaryField[] = [
500
+ {
501
+ name: 'stakeFeePercent',
502
+ type: 'uint64',
503
+ offset: 0,
504
+ byteLength: 8,
505
+ },
506
+ {
507
+ name: 'tradeFeePercent',
508
+ type: 'uint64',
509
+ offset: 8,
510
+ byteLength: 8,
511
+ },
512
+ {
513
+ name: 'transferFee',
514
+ type: 'uint64',
515
+ offset: 16,
516
+ byteLength: 8,
517
+ },
518
+ ]
519
+
520
+ export function decodeQBondGetFeesOutput(
521
+ data: Uint8Array,
522
+ ): QBondGetFeesOutput {
523
+ return decodePayload(data, Q_BOND_GET_FEES_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QBondGetFeesOutput
524
+ }
525
+
526
+ export async function qBondGetFees(
527
+ live: SmartContractCaller,
528
+ options?: ContractCallOptions,
529
+ ): Promise<Result<QBondGetFeesOutput, QubicRpcError>> {
530
+ return callContractFunction({
531
+ live,
532
+ contractIndex: Q_BOND_CONTRACT_INDEX,
533
+ inputType: Q_BOND_GET_FEES_INPUT_TYPE,
534
+ inputSize: Q_BOND_GET_FEES_INPUT_SIZE,
535
+ inputFields: [],
536
+ outputFields: Q_BOND_GET_FEES_OUTPUT_FIELDS,
537
+ structs: STRUCTS,
538
+ input: {},
539
+ ...options,
540
+ })
541
+ }
542
+
543
+ export const Q_BOND_GET_EARNED_FEES_INPUT_TYPE = 2
544
+ export const Q_BOND_GET_EARNED_FEES_INPUT_SIZE = 0
545
+
546
+ export interface QBondGetEarnedFeesOutput {
547
+ stakeFees: bigint
548
+ tradeFees: bigint
549
+ }
550
+
551
+ const Q_BOND_GET_EARNED_FEES_OUTPUT_FIELDS: BinaryField[] = [
552
+ {
553
+ name: 'stakeFees',
554
+ type: 'uint64',
555
+ offset: 0,
556
+ byteLength: 8,
557
+ },
558
+ {
559
+ name: 'tradeFees',
560
+ type: 'uint64',
561
+ offset: 8,
562
+ byteLength: 8,
563
+ },
564
+ ]
565
+
566
+ export function decodeQBondGetEarnedFeesOutput(
567
+ data: Uint8Array,
568
+ ): QBondGetEarnedFeesOutput {
569
+ return decodePayload(data, Q_BOND_GET_EARNED_FEES_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QBondGetEarnedFeesOutput
570
+ }
571
+
572
+ export async function qBondGetEarnedFees(
573
+ live: SmartContractCaller,
574
+ options?: ContractCallOptions,
575
+ ): Promise<Result<QBondGetEarnedFeesOutput, QubicRpcError>> {
576
+ return callContractFunction({
577
+ live,
578
+ contractIndex: Q_BOND_CONTRACT_INDEX,
579
+ inputType: Q_BOND_GET_EARNED_FEES_INPUT_TYPE,
580
+ inputSize: Q_BOND_GET_EARNED_FEES_INPUT_SIZE,
581
+ inputFields: [],
582
+ outputFields: Q_BOND_GET_EARNED_FEES_OUTPUT_FIELDS,
583
+ structs: STRUCTS,
584
+ input: {},
585
+ ...options,
586
+ })
587
+ }
588
+
589
+ export const Q_BOND_GET_INFO_PER_EPOCH_INPUT_TYPE = 3
590
+ export const Q_BOND_GET_INFO_PER_EPOCH_INPUT_SIZE = 8
591
+
592
+ export interface QBondGetInfoPerEpochInput {
593
+ epoch: bigint
594
+ }
595
+
596
+ const Q_BOND_GET_INFO_PER_EPOCH_INPUT_FIELDS: BinaryField[] = [
597
+ {
598
+ name: 'epoch',
599
+ type: 'sint64',
600
+ offset: 0,
601
+ byteLength: 8,
602
+ },
603
+ ]
604
+
605
+ export function buildQBondGetInfoPerEpochInput(
606
+ input: QBondGetInfoPerEpochInput,
607
+ ): Uint8Array {
608
+ return buildPayload(Q_BOND_GET_INFO_PER_EPOCH_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32))
609
+ }
610
+
611
+ export interface QBondGetInfoPerEpochOutput {
612
+ stakersAmount: bigint
613
+ totalStaked: bigint
614
+ apy: bigint
615
+ }
616
+
617
+ const Q_BOND_GET_INFO_PER_EPOCH_OUTPUT_FIELDS: BinaryField[] = [
618
+ {
619
+ name: 'stakersAmount',
620
+ type: 'uint64',
621
+ offset: 0,
622
+ byteLength: 8,
623
+ },
624
+ {
625
+ name: 'totalStaked',
626
+ type: 'sint64',
627
+ offset: 8,
628
+ byteLength: 8,
629
+ },
630
+ {
631
+ name: 'apy',
632
+ type: 'sint64',
633
+ offset: 16,
634
+ byteLength: 8,
635
+ },
636
+ ]
637
+
638
+ export function decodeQBondGetInfoPerEpochOutput(
639
+ data: Uint8Array,
640
+ ): QBondGetInfoPerEpochOutput {
641
+ return decodePayload(data, Q_BOND_GET_INFO_PER_EPOCH_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QBondGetInfoPerEpochOutput
642
+ }
643
+
644
+ export async function qBondGetInfoPerEpoch(
645
+ live: SmartContractCaller,
646
+ input: QBondGetInfoPerEpochInput,
647
+ options?: ContractCallOptions,
648
+ ): Promise<Result<QBondGetInfoPerEpochOutput, QubicRpcError>> {
649
+ return callContractFunction({
650
+ live,
651
+ contractIndex: Q_BOND_CONTRACT_INDEX,
652
+ inputType: Q_BOND_GET_INFO_PER_EPOCH_INPUT_TYPE,
653
+ inputSize: Q_BOND_GET_INFO_PER_EPOCH_INPUT_SIZE,
654
+ inputFields: Q_BOND_GET_INFO_PER_EPOCH_INPUT_FIELDS,
655
+ outputFields: Q_BOND_GET_INFO_PER_EPOCH_OUTPUT_FIELDS,
656
+ structs: STRUCTS,
657
+ input: (input as unknown as Record<string, unknown>),
658
+ ...options,
659
+ })
660
+ }
661
+
662
+ export const Q_BOND_GET_ORDERS_INPUT_TYPE = 4
663
+ export const Q_BOND_GET_ORDERS_INPUT_SIZE = 24
664
+
665
+ export interface QBondGetOrdersInput {
666
+ epoch: bigint
667
+ askOrdersOffset: bigint
668
+ bidOrdersOffset: bigint
669
+ }
670
+
671
+ const Q_BOND_GET_ORDERS_INPUT_FIELDS: BinaryField[] = [
672
+ {
673
+ name: 'epoch',
674
+ type: 'sint64',
675
+ offset: 0,
676
+ byteLength: 8,
677
+ },
678
+ {
679
+ name: 'askOrdersOffset',
680
+ type: 'sint64',
681
+ offset: 8,
682
+ byteLength: 8,
683
+ },
684
+ {
685
+ name: 'bidOrdersOffset',
686
+ type: 'sint64',
687
+ offset: 16,
688
+ byteLength: 8,
689
+ },
690
+ ]
691
+
692
+ export function buildQBondGetOrdersInput(
693
+ input: QBondGetOrdersInput,
694
+ ): Uint8Array {
695
+ return buildPayload(Q_BOND_GET_ORDERS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32))
696
+ }
697
+
698
+ export interface QBondGetOrdersOutput {
699
+ askOrders: number[]
700
+ bidOrders: number[]
701
+ }
702
+
703
+ const Q_BOND_GET_ORDERS_OUTPUT_FIELDS: BinaryField[] = [
704
+ {
705
+ name: 'askOrders',
706
+ type: 'array',
707
+ offset: 0,
708
+ byteLength: 12288,
709
+ arrayLength: 256,
710
+ arrayItemByteLength: 48,
711
+ arrayItemStructRef: 'Order',
712
+ },
713
+ {
714
+ name: 'bidOrders',
715
+ type: 'array',
716
+ offset: 12288,
717
+ byteLength: 12288,
718
+ arrayLength: 256,
719
+ arrayItemByteLength: 48,
720
+ arrayItemStructRef: 'Order',
721
+ },
722
+ ]
723
+
724
+ export function decodeQBondGetOrdersOutput(
725
+ data: Uint8Array,
726
+ ): QBondGetOrdersOutput {
727
+ return decodePayload(data, Q_BOND_GET_ORDERS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QBondGetOrdersOutput
728
+ }
729
+
730
+ export async function qBondGetOrders(
731
+ live: SmartContractCaller,
732
+ input: QBondGetOrdersInput,
733
+ options?: ContractCallOptions,
734
+ ): Promise<Result<QBondGetOrdersOutput, QubicRpcError>> {
735
+ return callContractFunction({
736
+ live,
737
+ contractIndex: Q_BOND_CONTRACT_INDEX,
738
+ inputType: Q_BOND_GET_ORDERS_INPUT_TYPE,
739
+ inputSize: Q_BOND_GET_ORDERS_INPUT_SIZE,
740
+ inputFields: Q_BOND_GET_ORDERS_INPUT_FIELDS,
741
+ outputFields: Q_BOND_GET_ORDERS_OUTPUT_FIELDS,
742
+ structs: STRUCTS,
743
+ input: (input as unknown as Record<string, unknown>),
744
+ ...options,
745
+ })
746
+ }
747
+
748
+ export const Q_BOND_GET_USER_ORDERS_INPUT_TYPE = 5
749
+ export const Q_BOND_GET_USER_ORDERS_INPUT_SIZE = 48
750
+
751
+ export interface QBondGetUserOrdersInput {
752
+ owner: string
753
+ askOrdersOffset: bigint
754
+ bidOrdersOffset: bigint
755
+ }
756
+
757
+ const Q_BOND_GET_USER_ORDERS_INPUT_FIELDS: BinaryField[] = [
758
+ {
759
+ name: 'owner',
760
+ type: 'id',
761
+ offset: 0,
762
+ byteLength: 32,
763
+ },
764
+ {
765
+ name: 'askOrdersOffset',
766
+ type: 'sint64',
767
+ offset: 32,
768
+ byteLength: 8,
769
+ },
770
+ {
771
+ name: 'bidOrdersOffset',
772
+ type: 'sint64',
773
+ offset: 40,
774
+ byteLength: 8,
775
+ },
776
+ ]
777
+
778
+ export function buildQBondGetUserOrdersInput(
779
+ input: QBondGetUserOrdersInput,
780
+ identityToPublicKey: (identity: string) => Uint8Array,
781
+ ): Uint8Array {
782
+ return buildPayload(Q_BOND_GET_USER_ORDERS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey)
783
+ }
784
+
785
+ export interface QBondGetUserOrdersOutput {
786
+ askOrders: number[]
787
+ bidOrders: number[]
788
+ }
789
+
790
+ const Q_BOND_GET_USER_ORDERS_OUTPUT_FIELDS: BinaryField[] = [
791
+ {
792
+ name: 'askOrders',
793
+ type: 'array',
794
+ offset: 0,
795
+ byteLength: 12288,
796
+ arrayLength: 256,
797
+ arrayItemByteLength: 48,
798
+ arrayItemStructRef: 'Order',
799
+ },
800
+ {
801
+ name: 'bidOrders',
802
+ type: 'array',
803
+ offset: 12288,
804
+ byteLength: 12288,
805
+ arrayLength: 256,
806
+ arrayItemByteLength: 48,
807
+ arrayItemStructRef: 'Order',
808
+ },
809
+ ]
810
+
811
+ export function decodeQBondGetUserOrdersOutput(
812
+ data: Uint8Array,
813
+ ): QBondGetUserOrdersOutput {
814
+ return decodePayload(data, Q_BOND_GET_USER_ORDERS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QBondGetUserOrdersOutput
815
+ }
816
+
817
+ export async function qBondGetUserOrders(
818
+ live: SmartContractCaller,
819
+ input: QBondGetUserOrdersInput,
820
+ options?: ContractCallOptions,
821
+ ): Promise<Result<QBondGetUserOrdersOutput, QubicRpcError>> {
822
+ return callContractFunction({
823
+ live,
824
+ contractIndex: Q_BOND_CONTRACT_INDEX,
825
+ inputType: Q_BOND_GET_USER_ORDERS_INPUT_TYPE,
826
+ inputSize: Q_BOND_GET_USER_ORDERS_INPUT_SIZE,
827
+ inputFields: Q_BOND_GET_USER_ORDERS_INPUT_FIELDS,
828
+ outputFields: Q_BOND_GET_USER_ORDERS_OUTPUT_FIELDS,
829
+ structs: STRUCTS,
830
+ input: (input as unknown as Record<string, unknown>),
831
+ ...options,
832
+ })
833
+ }
834
+
835
+ export const Q_BOND_GET_M_BONDS_TABLE_INPUT_TYPE = 6
836
+ export const Q_BOND_GET_M_BONDS_TABLE_INPUT_SIZE = 0
837
+
838
+ export interface QBondGetMBondsTableOutput {
839
+ info: number[]
840
+ }
841
+
842
+ const Q_BOND_GET_M_BONDS_TABLE_OUTPUT_FIELDS: BinaryField[] = [
843
+ {
844
+ name: 'info',
845
+ type: 'array',
846
+ offset: 0,
847
+ byteLength: 16384,
848
+ arrayLength: 512,
849
+ arrayItemByteLength: 32,
850
+ arrayItemStructRef: 'TableEntry',
851
+ },
852
+ ]
853
+
854
+ export function decodeQBondGetMBondsTableOutput(
855
+ data: Uint8Array,
856
+ ): QBondGetMBondsTableOutput {
857
+ return decodePayload(data, Q_BOND_GET_M_BONDS_TABLE_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QBondGetMBondsTableOutput
858
+ }
859
+
860
+ export async function qBondGetMBondsTable(
861
+ live: SmartContractCaller,
862
+ options?: ContractCallOptions,
863
+ ): Promise<Result<QBondGetMBondsTableOutput, QubicRpcError>> {
864
+ return callContractFunction({
865
+ live,
866
+ contractIndex: Q_BOND_CONTRACT_INDEX,
867
+ inputType: Q_BOND_GET_M_BONDS_TABLE_INPUT_TYPE,
868
+ inputSize: Q_BOND_GET_M_BONDS_TABLE_INPUT_SIZE,
869
+ inputFields: [],
870
+ outputFields: Q_BOND_GET_M_BONDS_TABLE_OUTPUT_FIELDS,
871
+ structs: STRUCTS,
872
+ input: {},
873
+ ...options,
874
+ })
875
+ }
876
+
877
+ export const Q_BOND_GET_USER_M_BONDS_INPUT_TYPE = 7
878
+ export const Q_BOND_GET_USER_M_BONDS_INPUT_SIZE = 32
879
+
880
+ export interface QBondGetUserMBondsInput {
881
+ owner: string
882
+ }
883
+
884
+ const Q_BOND_GET_USER_M_BONDS_INPUT_FIELDS: BinaryField[] = [
885
+ {
886
+ name: 'owner',
887
+ type: 'id',
888
+ offset: 0,
889
+ byteLength: 32,
890
+ },
891
+ ]
892
+
893
+ export function buildQBondGetUserMBondsInput(
894
+ input: QBondGetUserMBondsInput,
895
+ identityToPublicKey: (identity: string) => Uint8Array,
896
+ ): Uint8Array {
897
+ return buildPayload(Q_BOND_GET_USER_M_BONDS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey)
898
+ }
899
+
900
+ export interface QBondGetUserMBondsOutput {
901
+ totalMBondsAmount: bigint
902
+ mbonds: number[]
903
+ }
904
+
905
+ const Q_BOND_GET_USER_M_BONDS_OUTPUT_FIELDS: BinaryField[] = [
906
+ {
907
+ name: 'totalMBondsAmount',
908
+ type: 'sint64',
909
+ offset: 0,
910
+ byteLength: 8,
911
+ },
912
+ {
913
+ name: 'mbonds',
914
+ type: 'array',
915
+ offset: 8,
916
+ byteLength: 6144,
917
+ arrayLength: 256,
918
+ arrayItemByteLength: 24,
919
+ arrayItemStructRef: 'MBondEntity',
920
+ },
921
+ ]
922
+
923
+ export function decodeQBondGetUserMBondsOutput(
924
+ data: Uint8Array,
925
+ ): QBondGetUserMBondsOutput {
926
+ return decodePayload(data, Q_BOND_GET_USER_M_BONDS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QBondGetUserMBondsOutput
927
+ }
928
+
929
+ export async function qBondGetUserMBonds(
930
+ live: SmartContractCaller,
931
+ input: QBondGetUserMBondsInput,
932
+ options?: ContractCallOptions,
933
+ ): Promise<Result<QBondGetUserMBondsOutput, QubicRpcError>> {
934
+ return callContractFunction({
935
+ live,
936
+ contractIndex: Q_BOND_CONTRACT_INDEX,
937
+ inputType: Q_BOND_GET_USER_M_BONDS_INPUT_TYPE,
938
+ inputSize: Q_BOND_GET_USER_M_BONDS_INPUT_SIZE,
939
+ inputFields: Q_BOND_GET_USER_M_BONDS_INPUT_FIELDS,
940
+ outputFields: Q_BOND_GET_USER_M_BONDS_OUTPUT_FIELDS,
941
+ structs: STRUCTS,
942
+ input: (input as unknown as Record<string, unknown>),
943
+ ...options,
944
+ })
945
+ }
946
+
947
+ export const Q_BOND_GET_CFA_INPUT_TYPE = 8
948
+ export const Q_BOND_GET_CFA_INPUT_SIZE = 0
949
+
950
+ export interface QBondGetCFAOutput {
951
+ commissionFreeAddresses: string[]
952
+ }
953
+
954
+ const Q_BOND_GET_CFA_OUTPUT_FIELDS: BinaryField[] = [
955
+ {
956
+ name: 'commissionFreeAddresses',
957
+ type: 'array',
958
+ offset: 0,
959
+ byteLength: 32768,
960
+ arrayLength: 1024,
961
+ arrayItemType: 'id',
962
+ arrayItemByteLength: 32,
963
+ },
964
+ ]
965
+
966
+ export function decodeQBondGetCFAOutput(
967
+ data: Uint8Array,
968
+ publicKeyToIdentity: (pk: Uint8Array) => string,
969
+ ): QBondGetCFAOutput {
970
+ return decodePayload(data, Q_BOND_GET_CFA_OUTPUT_FIELDS, STRUCTS, publicKeyToIdentity) as unknown as QBondGetCFAOutput
971
+ }
972
+
973
+ export async function qBondGetCFA(
974
+ live: SmartContractCaller,
975
+ options?: ContractCallOptions,
976
+ ): Promise<Result<QBondGetCFAOutput, QubicRpcError>> {
977
+ return callContractFunction({
978
+ live,
979
+ contractIndex: Q_BOND_CONTRACT_INDEX,
980
+ inputType: Q_BOND_GET_CFA_INPUT_TYPE,
981
+ inputSize: Q_BOND_GET_CFA_INPUT_SIZE,
982
+ inputFields: [],
983
+ outputFields: Q_BOND_GET_CFA_OUTPUT_FIELDS,
984
+ structs: STRUCTS,
985
+ input: {},
986
+ ...options,
987
+ })
988
+ }
989
+
990
+ export const qBond = {
991
+ contractIndex: Q_BOND_CONTRACT_INDEX,
992
+ GetFees: qBondGetFees,
993
+ GetEarnedFees: qBondGetEarnedFees,
994
+ GetInfoPerEpoch: qBondGetInfoPerEpoch,
995
+ GetOrders: qBondGetOrders,
996
+ GetUserOrders: qBondGetUserOrders,
997
+ GetMBondsTable: qBondGetMBondsTable,
998
+ GetUserMBonds: qBondGetUserMBonds,
999
+ GetCFA: qBondGetCFA,
1000
+ buildStakeInput: buildQBondStakeInput,
1001
+ buildTransferMBondOwnershipAndPossessionInput: buildQBondTransferMBondOwnershipAndPossessionInput,
1002
+ decodeTransferMBondOwnershipAndPossessionOutput: decodeQBondTransferMBondOwnershipAndPossessionOutput,
1003
+ buildAddAskOrderInput: buildQBondAddAskOrderInput,
1004
+ decodeAddAskOrderOutput: decodeQBondAddAskOrderOutput,
1005
+ buildRemoveAskOrderInput: buildQBondRemoveAskOrderInput,
1006
+ decodeRemoveAskOrderOutput: decodeQBondRemoveAskOrderOutput,
1007
+ buildAddBidOrderInput: buildQBondAddBidOrderInput,
1008
+ decodeAddBidOrderOutput: decodeQBondAddBidOrderOutput,
1009
+ buildRemoveBidOrderInput: buildQBondRemoveBidOrderInput,
1010
+ decodeRemoveBidOrderOutput: decodeQBondRemoveBidOrderOutput,
1011
+ buildBurnQUInput: buildQBondBurnQUInput,
1012
+ decodeBurnQUOutput: decodeQBondBurnQUOutput,
1013
+ buildUpdateCFAInput: buildQBondUpdateCFAInput,
1014
+ decodeUpdateCFAOutput: decodeQBondUpdateCFAOutput,
1015
+ }
1016
+