@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,696 @@
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 QEARN_CONTRACT_INDEX = 9
9
+
10
+ const STRUCTS: Record<string, NamedStruct> = {}
11
+
12
+ export const QEARN_LOCK_INPUT_TYPE = 1
13
+
14
+ export interface QearnLockOutput {
15
+ returnCode: number
16
+ }
17
+
18
+ const QEARN_LOCK_OUTPUT_FIELDS: BinaryField[] = [
19
+ {
20
+ name: 'returnCode',
21
+ type: 'sint32',
22
+ offset: 0,
23
+ byteLength: 4,
24
+ },
25
+ ]
26
+
27
+ export function decodeQearnLockOutput(
28
+ data: Uint8Array,
29
+ ): QearnLockOutput {
30
+ return decodePayload(data, QEARN_LOCK_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QearnLockOutput
31
+ }
32
+
33
+ export const QEARN_UNLOCK_INPUT_TYPE = 2
34
+
35
+ export interface QearnUnlockInput {
36
+ amount: bigint
37
+ lockedEpoch: number
38
+ }
39
+
40
+ const QEARN_UNLOCK_INPUT_FIELDS: BinaryField[] = [
41
+ {
42
+ name: 'amount',
43
+ type: 'uint64',
44
+ offset: 0,
45
+ byteLength: 8,
46
+ },
47
+ {
48
+ name: 'lockedEpoch',
49
+ type: 'uint32',
50
+ offset: 8,
51
+ byteLength: 4,
52
+ },
53
+ ]
54
+
55
+ export function buildQearnUnlockInput(
56
+ input: QearnUnlockInput,
57
+ ): ContractCall {
58
+ return { contractIndex: QEARN_CONTRACT_INDEX, inputType: QEARN_UNLOCK_INPUT_TYPE, payload: buildPayload(QEARN_UNLOCK_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
59
+ }
60
+
61
+ export interface QearnUnlockOutput {
62
+ returnCode: number
63
+ }
64
+
65
+ const QEARN_UNLOCK_OUTPUT_FIELDS: BinaryField[] = [
66
+ {
67
+ name: 'returnCode',
68
+ type: 'sint32',
69
+ offset: 0,
70
+ byteLength: 4,
71
+ },
72
+ ]
73
+
74
+ export function decodeQearnUnlockOutput(
75
+ data: Uint8Array,
76
+ ): QearnUnlockOutput {
77
+ return decodePayload(data, QEARN_UNLOCK_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QearnUnlockOutput
78
+ }
79
+
80
+ export const QEARN_GET_LOCK_INFO_PER_EPOCH_INPUT_TYPE = 1
81
+ export const QEARN_GET_LOCK_INFO_PER_EPOCH_INPUT_SIZE = 4
82
+
83
+ export interface QearnGetLockInfoPerEpochInput {
84
+ Epoch: number
85
+ }
86
+
87
+ const QEARN_GET_LOCK_INFO_PER_EPOCH_INPUT_FIELDS: BinaryField[] = [
88
+ {
89
+ name: 'Epoch',
90
+ type: 'uint32',
91
+ offset: 0,
92
+ byteLength: 4,
93
+ },
94
+ ]
95
+
96
+ export function buildQearnGetLockInfoPerEpochInput(
97
+ input: QearnGetLockInfoPerEpochInput,
98
+ ): Uint8Array {
99
+ return buildPayload(QEARN_GET_LOCK_INFO_PER_EPOCH_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32))
100
+ }
101
+
102
+ export interface QearnGetLockInfoPerEpochOutput {
103
+ lockedAmount: bigint
104
+ bonusAmount: bigint
105
+ currentLockedAmount: bigint
106
+ currentBonusAmount: bigint
107
+ yield: bigint
108
+ }
109
+
110
+ const QEARN_GET_LOCK_INFO_PER_EPOCH_OUTPUT_FIELDS: BinaryField[] = [
111
+ {
112
+ name: 'lockedAmount',
113
+ type: 'uint64',
114
+ offset: 0,
115
+ byteLength: 8,
116
+ },
117
+ {
118
+ name: 'bonusAmount',
119
+ type: 'uint64',
120
+ offset: 8,
121
+ byteLength: 8,
122
+ },
123
+ {
124
+ name: 'currentLockedAmount',
125
+ type: 'uint64',
126
+ offset: 16,
127
+ byteLength: 8,
128
+ },
129
+ {
130
+ name: 'currentBonusAmount',
131
+ type: 'uint64',
132
+ offset: 24,
133
+ byteLength: 8,
134
+ },
135
+ {
136
+ name: 'yield',
137
+ type: 'uint64',
138
+ offset: 32,
139
+ byteLength: 8,
140
+ },
141
+ ]
142
+
143
+ export function decodeQearnGetLockInfoPerEpochOutput(
144
+ data: Uint8Array,
145
+ ): QearnGetLockInfoPerEpochOutput {
146
+ return decodePayload(data, QEARN_GET_LOCK_INFO_PER_EPOCH_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QearnGetLockInfoPerEpochOutput
147
+ }
148
+
149
+ export async function qearnGetLockInfoPerEpoch(
150
+ live: SmartContractCaller,
151
+ input: QearnGetLockInfoPerEpochInput,
152
+ options?: ContractCallOptions,
153
+ ): Promise<Result<QearnGetLockInfoPerEpochOutput, QubicRpcError>> {
154
+ return callContractFunction({
155
+ live,
156
+ contractIndex: QEARN_CONTRACT_INDEX,
157
+ inputType: QEARN_GET_LOCK_INFO_PER_EPOCH_INPUT_TYPE,
158
+ inputSize: QEARN_GET_LOCK_INFO_PER_EPOCH_INPUT_SIZE,
159
+ inputFields: QEARN_GET_LOCK_INFO_PER_EPOCH_INPUT_FIELDS,
160
+ outputFields: QEARN_GET_LOCK_INFO_PER_EPOCH_OUTPUT_FIELDS,
161
+ structs: STRUCTS,
162
+ input: (input as unknown as Record<string, unknown>),
163
+ ...options,
164
+ })
165
+ }
166
+
167
+ export const QEARN_GET_USER_LOCKED_INFO_INPUT_TYPE = 2
168
+ export const QEARN_GET_USER_LOCKED_INFO_INPUT_SIZE = 36
169
+
170
+ export interface QearnGetUserLockedInfoInput {
171
+ user: string
172
+ epoch: number
173
+ }
174
+
175
+ const QEARN_GET_USER_LOCKED_INFO_INPUT_FIELDS: BinaryField[] = [
176
+ {
177
+ name: 'user',
178
+ type: 'id',
179
+ offset: 0,
180
+ byteLength: 32,
181
+ },
182
+ {
183
+ name: 'epoch',
184
+ type: 'uint32',
185
+ offset: 32,
186
+ byteLength: 4,
187
+ },
188
+ ]
189
+
190
+ export function buildQearnGetUserLockedInfoInput(
191
+ input: QearnGetUserLockedInfoInput,
192
+ identityToPublicKey: (identity: string) => Uint8Array,
193
+ ): Uint8Array {
194
+ return buildPayload(QEARN_GET_USER_LOCKED_INFO_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey)
195
+ }
196
+
197
+ export interface QearnGetUserLockedInfoOutput {
198
+ lockedAmount: bigint
199
+ }
200
+
201
+ const QEARN_GET_USER_LOCKED_INFO_OUTPUT_FIELDS: BinaryField[] = [
202
+ {
203
+ name: 'lockedAmount',
204
+ type: 'uint64',
205
+ offset: 0,
206
+ byteLength: 8,
207
+ },
208
+ ]
209
+
210
+ export function decodeQearnGetUserLockedInfoOutput(
211
+ data: Uint8Array,
212
+ ): QearnGetUserLockedInfoOutput {
213
+ return decodePayload(data, QEARN_GET_USER_LOCKED_INFO_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QearnGetUserLockedInfoOutput
214
+ }
215
+
216
+ export async function qearnGetUserLockedInfo(
217
+ live: SmartContractCaller,
218
+ input: QearnGetUserLockedInfoInput,
219
+ options?: ContractCallOptions,
220
+ ): Promise<Result<QearnGetUserLockedInfoOutput, QubicRpcError>> {
221
+ return callContractFunction({
222
+ live,
223
+ contractIndex: QEARN_CONTRACT_INDEX,
224
+ inputType: QEARN_GET_USER_LOCKED_INFO_INPUT_TYPE,
225
+ inputSize: QEARN_GET_USER_LOCKED_INFO_INPUT_SIZE,
226
+ inputFields: QEARN_GET_USER_LOCKED_INFO_INPUT_FIELDS,
227
+ outputFields: QEARN_GET_USER_LOCKED_INFO_OUTPUT_FIELDS,
228
+ structs: STRUCTS,
229
+ input: (input as unknown as Record<string, unknown>),
230
+ ...options,
231
+ })
232
+ }
233
+
234
+ export const QEARN_GET_STATE_OF_ROUND_INPUT_TYPE = 3
235
+ export const QEARN_GET_STATE_OF_ROUND_INPUT_SIZE = 4
236
+
237
+ export interface QearnGetStateOfRoundInput {
238
+ epoch: number
239
+ }
240
+
241
+ const QEARN_GET_STATE_OF_ROUND_INPUT_FIELDS: BinaryField[] = [
242
+ {
243
+ name: 'epoch',
244
+ type: 'uint32',
245
+ offset: 0,
246
+ byteLength: 4,
247
+ },
248
+ ]
249
+
250
+ export function buildQearnGetStateOfRoundInput(
251
+ input: QearnGetStateOfRoundInput,
252
+ ): Uint8Array {
253
+ return buildPayload(QEARN_GET_STATE_OF_ROUND_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32))
254
+ }
255
+
256
+ export interface QearnGetStateOfRoundOutput {
257
+ state: number
258
+ }
259
+
260
+ const QEARN_GET_STATE_OF_ROUND_OUTPUT_FIELDS: BinaryField[] = [
261
+ {
262
+ name: 'state',
263
+ type: 'uint32',
264
+ offset: 0,
265
+ byteLength: 4,
266
+ },
267
+ ]
268
+
269
+ export function decodeQearnGetStateOfRoundOutput(
270
+ data: Uint8Array,
271
+ ): QearnGetStateOfRoundOutput {
272
+ return decodePayload(data, QEARN_GET_STATE_OF_ROUND_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QearnGetStateOfRoundOutput
273
+ }
274
+
275
+ export async function qearnGetStateOfRound(
276
+ live: SmartContractCaller,
277
+ input: QearnGetStateOfRoundInput,
278
+ options?: ContractCallOptions,
279
+ ): Promise<Result<QearnGetStateOfRoundOutput, QubicRpcError>> {
280
+ return callContractFunction({
281
+ live,
282
+ contractIndex: QEARN_CONTRACT_INDEX,
283
+ inputType: QEARN_GET_STATE_OF_ROUND_INPUT_TYPE,
284
+ inputSize: QEARN_GET_STATE_OF_ROUND_INPUT_SIZE,
285
+ inputFields: QEARN_GET_STATE_OF_ROUND_INPUT_FIELDS,
286
+ outputFields: QEARN_GET_STATE_OF_ROUND_OUTPUT_FIELDS,
287
+ structs: STRUCTS,
288
+ input: (input as unknown as Record<string, unknown>),
289
+ ...options,
290
+ })
291
+ }
292
+
293
+ export const QEARN_GET_USER_LOCK_STATUS_INPUT_TYPE = 4
294
+ export const QEARN_GET_USER_LOCK_STATUS_INPUT_SIZE = 32
295
+
296
+ export interface QearnGetUserLockStatusInput {
297
+ user: string
298
+ }
299
+
300
+ const QEARN_GET_USER_LOCK_STATUS_INPUT_FIELDS: BinaryField[] = [
301
+ {
302
+ name: 'user',
303
+ type: 'id',
304
+ offset: 0,
305
+ byteLength: 32,
306
+ },
307
+ ]
308
+
309
+ export function buildQearnGetUserLockStatusInput(
310
+ input: QearnGetUserLockStatusInput,
311
+ identityToPublicKey: (identity: string) => Uint8Array,
312
+ ): Uint8Array {
313
+ return buildPayload(QEARN_GET_USER_LOCK_STATUS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey)
314
+ }
315
+
316
+ export interface QearnGetUserLockStatusOutput {
317
+ status: bigint
318
+ }
319
+
320
+ const QEARN_GET_USER_LOCK_STATUS_OUTPUT_FIELDS: BinaryField[] = [
321
+ {
322
+ name: 'status',
323
+ type: 'uint64',
324
+ offset: 0,
325
+ byteLength: 8,
326
+ },
327
+ ]
328
+
329
+ export function decodeQearnGetUserLockStatusOutput(
330
+ data: Uint8Array,
331
+ ): QearnGetUserLockStatusOutput {
332
+ return decodePayload(data, QEARN_GET_USER_LOCK_STATUS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QearnGetUserLockStatusOutput
333
+ }
334
+
335
+ export async function qearnGetUserLockStatus(
336
+ live: SmartContractCaller,
337
+ input: QearnGetUserLockStatusInput,
338
+ options?: ContractCallOptions,
339
+ ): Promise<Result<QearnGetUserLockStatusOutput, QubicRpcError>> {
340
+ return callContractFunction({
341
+ live,
342
+ contractIndex: QEARN_CONTRACT_INDEX,
343
+ inputType: QEARN_GET_USER_LOCK_STATUS_INPUT_TYPE,
344
+ inputSize: QEARN_GET_USER_LOCK_STATUS_INPUT_SIZE,
345
+ inputFields: QEARN_GET_USER_LOCK_STATUS_INPUT_FIELDS,
346
+ outputFields: QEARN_GET_USER_LOCK_STATUS_OUTPUT_FIELDS,
347
+ structs: STRUCTS,
348
+ input: (input as unknown as Record<string, unknown>),
349
+ ...options,
350
+ })
351
+ }
352
+
353
+ export const QEARN_GET_ENDED_STATUS_INPUT_TYPE = 5
354
+ export const QEARN_GET_ENDED_STATUS_INPUT_SIZE = 32
355
+
356
+ export interface QearnGetEndedStatusInput {
357
+ user: string
358
+ }
359
+
360
+ const QEARN_GET_ENDED_STATUS_INPUT_FIELDS: BinaryField[] = [
361
+ {
362
+ name: 'user',
363
+ type: 'id',
364
+ offset: 0,
365
+ byteLength: 32,
366
+ },
367
+ ]
368
+
369
+ export function buildQearnGetEndedStatusInput(
370
+ input: QearnGetEndedStatusInput,
371
+ identityToPublicKey: (identity: string) => Uint8Array,
372
+ ): Uint8Array {
373
+ return buildPayload(QEARN_GET_ENDED_STATUS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey)
374
+ }
375
+
376
+ export interface QearnGetEndedStatusOutput {
377
+ fullyUnlockedAmount: bigint
378
+ fullyRewardedAmount: bigint
379
+ earlyUnlockedAmount: bigint
380
+ earlyRewardedAmount: bigint
381
+ }
382
+
383
+ const QEARN_GET_ENDED_STATUS_OUTPUT_FIELDS: BinaryField[] = [
384
+ {
385
+ name: 'fullyUnlockedAmount',
386
+ type: 'uint64',
387
+ offset: 0,
388
+ byteLength: 8,
389
+ },
390
+ {
391
+ name: 'fullyRewardedAmount',
392
+ type: 'uint64',
393
+ offset: 8,
394
+ byteLength: 8,
395
+ },
396
+ {
397
+ name: 'earlyUnlockedAmount',
398
+ type: 'uint64',
399
+ offset: 16,
400
+ byteLength: 8,
401
+ },
402
+ {
403
+ name: 'earlyRewardedAmount',
404
+ type: 'uint64',
405
+ offset: 24,
406
+ byteLength: 8,
407
+ },
408
+ ]
409
+
410
+ export function decodeQearnGetEndedStatusOutput(
411
+ data: Uint8Array,
412
+ ): QearnGetEndedStatusOutput {
413
+ return decodePayload(data, QEARN_GET_ENDED_STATUS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QearnGetEndedStatusOutput
414
+ }
415
+
416
+ export async function qearnGetEndedStatus(
417
+ live: SmartContractCaller,
418
+ input: QearnGetEndedStatusInput,
419
+ options?: ContractCallOptions,
420
+ ): Promise<Result<QearnGetEndedStatusOutput, QubicRpcError>> {
421
+ return callContractFunction({
422
+ live,
423
+ contractIndex: QEARN_CONTRACT_INDEX,
424
+ inputType: QEARN_GET_ENDED_STATUS_INPUT_TYPE,
425
+ inputSize: QEARN_GET_ENDED_STATUS_INPUT_SIZE,
426
+ inputFields: QEARN_GET_ENDED_STATUS_INPUT_FIELDS,
427
+ outputFields: QEARN_GET_ENDED_STATUS_OUTPUT_FIELDS,
428
+ structs: STRUCTS,
429
+ input: (input as unknown as Record<string, unknown>),
430
+ ...options,
431
+ })
432
+ }
433
+
434
+ export const QEARN_GET_STATS_PER_EPOCH_INPUT_TYPE = 6
435
+ export const QEARN_GET_STATS_PER_EPOCH_INPUT_SIZE = 4
436
+
437
+ export interface QearnGetStatsPerEpochInput {
438
+ epoch: number
439
+ }
440
+
441
+ const QEARN_GET_STATS_PER_EPOCH_INPUT_FIELDS: BinaryField[] = [
442
+ {
443
+ name: 'epoch',
444
+ type: 'uint32',
445
+ offset: 0,
446
+ byteLength: 4,
447
+ },
448
+ ]
449
+
450
+ export function buildQearnGetStatsPerEpochInput(
451
+ input: QearnGetStatsPerEpochInput,
452
+ ): Uint8Array {
453
+ return buildPayload(QEARN_GET_STATS_PER_EPOCH_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32))
454
+ }
455
+
456
+ export interface QearnGetStatsPerEpochOutput {
457
+ earlyUnlockedAmount: bigint
458
+ earlyUnlockedPercent: bigint
459
+ totalLockedAmount: bigint
460
+ averageAPY: bigint
461
+ }
462
+
463
+ const QEARN_GET_STATS_PER_EPOCH_OUTPUT_FIELDS: BinaryField[] = [
464
+ {
465
+ name: 'earlyUnlockedAmount',
466
+ type: 'uint64',
467
+ offset: 0,
468
+ byteLength: 8,
469
+ },
470
+ {
471
+ name: 'earlyUnlockedPercent',
472
+ type: 'uint64',
473
+ offset: 8,
474
+ byteLength: 8,
475
+ },
476
+ {
477
+ name: 'totalLockedAmount',
478
+ type: 'uint64',
479
+ offset: 16,
480
+ byteLength: 8,
481
+ },
482
+ {
483
+ name: 'averageAPY',
484
+ type: 'uint64',
485
+ offset: 24,
486
+ byteLength: 8,
487
+ },
488
+ ]
489
+
490
+ export function decodeQearnGetStatsPerEpochOutput(
491
+ data: Uint8Array,
492
+ ): QearnGetStatsPerEpochOutput {
493
+ return decodePayload(data, QEARN_GET_STATS_PER_EPOCH_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QearnGetStatsPerEpochOutput
494
+ }
495
+
496
+ export async function qearnGetStatsPerEpoch(
497
+ live: SmartContractCaller,
498
+ input: QearnGetStatsPerEpochInput,
499
+ options?: ContractCallOptions,
500
+ ): Promise<Result<QearnGetStatsPerEpochOutput, QubicRpcError>> {
501
+ return callContractFunction({
502
+ live,
503
+ contractIndex: QEARN_CONTRACT_INDEX,
504
+ inputType: QEARN_GET_STATS_PER_EPOCH_INPUT_TYPE,
505
+ inputSize: QEARN_GET_STATS_PER_EPOCH_INPUT_SIZE,
506
+ inputFields: QEARN_GET_STATS_PER_EPOCH_INPUT_FIELDS,
507
+ outputFields: QEARN_GET_STATS_PER_EPOCH_OUTPUT_FIELDS,
508
+ structs: STRUCTS,
509
+ input: (input as unknown as Record<string, unknown>),
510
+ ...options,
511
+ })
512
+ }
513
+
514
+ export const QEARN_GET_BURNED_AND_BOOSTED_STATS_INPUT_TYPE = 7
515
+ export const QEARN_GET_BURNED_AND_BOOSTED_STATS_INPUT_SIZE = 0
516
+
517
+ export interface QearnGetBurnedAndBoostedStatsOutput {
518
+ burnedAmount: bigint
519
+ averageBurnedPercent: bigint
520
+ boostedAmount: bigint
521
+ averageBoostedPercent: bigint
522
+ rewardedAmount: bigint
523
+ averageRewardedPercent: bigint
524
+ }
525
+
526
+ const QEARN_GET_BURNED_AND_BOOSTED_STATS_OUTPUT_FIELDS: BinaryField[] = [
527
+ {
528
+ name: 'burnedAmount',
529
+ type: 'uint64',
530
+ offset: 0,
531
+ byteLength: 8,
532
+ },
533
+ {
534
+ name: 'averageBurnedPercent',
535
+ type: 'uint64',
536
+ offset: 8,
537
+ byteLength: 8,
538
+ },
539
+ {
540
+ name: 'boostedAmount',
541
+ type: 'uint64',
542
+ offset: 16,
543
+ byteLength: 8,
544
+ },
545
+ {
546
+ name: 'averageBoostedPercent',
547
+ type: 'uint64',
548
+ offset: 24,
549
+ byteLength: 8,
550
+ },
551
+ {
552
+ name: 'rewardedAmount',
553
+ type: 'uint64',
554
+ offset: 32,
555
+ byteLength: 8,
556
+ },
557
+ {
558
+ name: 'averageRewardedPercent',
559
+ type: 'uint64',
560
+ offset: 40,
561
+ byteLength: 8,
562
+ },
563
+ ]
564
+
565
+ export function decodeQearnGetBurnedAndBoostedStatsOutput(
566
+ data: Uint8Array,
567
+ ): QearnGetBurnedAndBoostedStatsOutput {
568
+ return decodePayload(data, QEARN_GET_BURNED_AND_BOOSTED_STATS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QearnGetBurnedAndBoostedStatsOutput
569
+ }
570
+
571
+ export async function qearnGetBurnedAndBoostedStats(
572
+ live: SmartContractCaller,
573
+ options?: ContractCallOptions,
574
+ ): Promise<Result<QearnGetBurnedAndBoostedStatsOutput, QubicRpcError>> {
575
+ return callContractFunction({
576
+ live,
577
+ contractIndex: QEARN_CONTRACT_INDEX,
578
+ inputType: QEARN_GET_BURNED_AND_BOOSTED_STATS_INPUT_TYPE,
579
+ inputSize: QEARN_GET_BURNED_AND_BOOSTED_STATS_INPUT_SIZE,
580
+ inputFields: [],
581
+ outputFields: QEARN_GET_BURNED_AND_BOOSTED_STATS_OUTPUT_FIELDS,
582
+ structs: STRUCTS,
583
+ input: {},
584
+ ...options,
585
+ })
586
+ }
587
+
588
+ export const QEARN_GET_BURNED_AND_BOOSTED_STATS_PER_EPOCH_INPUT_TYPE = 8
589
+ export const QEARN_GET_BURNED_AND_BOOSTED_STATS_PER_EPOCH_INPUT_SIZE = 4
590
+
591
+ export interface QearnGetBurnedAndBoostedStatsPerEpochInput {
592
+ epoch: number
593
+ }
594
+
595
+ const QEARN_GET_BURNED_AND_BOOSTED_STATS_PER_EPOCH_INPUT_FIELDS: BinaryField[] = [
596
+ {
597
+ name: 'epoch',
598
+ type: 'uint32',
599
+ offset: 0,
600
+ byteLength: 4,
601
+ },
602
+ ]
603
+
604
+ export function buildQearnGetBurnedAndBoostedStatsPerEpochInput(
605
+ input: QearnGetBurnedAndBoostedStatsPerEpochInput,
606
+ ): Uint8Array {
607
+ return buildPayload(QEARN_GET_BURNED_AND_BOOSTED_STATS_PER_EPOCH_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32))
608
+ }
609
+
610
+ export interface QearnGetBurnedAndBoostedStatsPerEpochOutput {
611
+ burnedAmount: bigint
612
+ burnedPercent: bigint
613
+ boostedAmount: bigint
614
+ boostedPercent: bigint
615
+ rewardedAmount: bigint
616
+ rewardedPercent: bigint
617
+ }
618
+
619
+ const QEARN_GET_BURNED_AND_BOOSTED_STATS_PER_EPOCH_OUTPUT_FIELDS: BinaryField[] = [
620
+ {
621
+ name: 'burnedAmount',
622
+ type: 'uint64',
623
+ offset: 0,
624
+ byteLength: 8,
625
+ },
626
+ {
627
+ name: 'burnedPercent',
628
+ type: 'uint64',
629
+ offset: 8,
630
+ byteLength: 8,
631
+ },
632
+ {
633
+ name: 'boostedAmount',
634
+ type: 'uint64',
635
+ offset: 16,
636
+ byteLength: 8,
637
+ },
638
+ {
639
+ name: 'boostedPercent',
640
+ type: 'uint64',
641
+ offset: 24,
642
+ byteLength: 8,
643
+ },
644
+ {
645
+ name: 'rewardedAmount',
646
+ type: 'uint64',
647
+ offset: 32,
648
+ byteLength: 8,
649
+ },
650
+ {
651
+ name: 'rewardedPercent',
652
+ type: 'uint64',
653
+ offset: 40,
654
+ byteLength: 8,
655
+ },
656
+ ]
657
+
658
+ export function decodeQearnGetBurnedAndBoostedStatsPerEpochOutput(
659
+ data: Uint8Array,
660
+ ): QearnGetBurnedAndBoostedStatsPerEpochOutput {
661
+ return decodePayload(data, QEARN_GET_BURNED_AND_BOOSTED_STATS_PER_EPOCH_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QearnGetBurnedAndBoostedStatsPerEpochOutput
662
+ }
663
+
664
+ export async function qearnGetBurnedAndBoostedStatsPerEpoch(
665
+ live: SmartContractCaller,
666
+ input: QearnGetBurnedAndBoostedStatsPerEpochInput,
667
+ options?: ContractCallOptions,
668
+ ): Promise<Result<QearnGetBurnedAndBoostedStatsPerEpochOutput, QubicRpcError>> {
669
+ return callContractFunction({
670
+ live,
671
+ contractIndex: QEARN_CONTRACT_INDEX,
672
+ inputType: QEARN_GET_BURNED_AND_BOOSTED_STATS_PER_EPOCH_INPUT_TYPE,
673
+ inputSize: QEARN_GET_BURNED_AND_BOOSTED_STATS_PER_EPOCH_INPUT_SIZE,
674
+ inputFields: QEARN_GET_BURNED_AND_BOOSTED_STATS_PER_EPOCH_INPUT_FIELDS,
675
+ outputFields: QEARN_GET_BURNED_AND_BOOSTED_STATS_PER_EPOCH_OUTPUT_FIELDS,
676
+ structs: STRUCTS,
677
+ input: (input as unknown as Record<string, unknown>),
678
+ ...options,
679
+ })
680
+ }
681
+
682
+ export const qearn = {
683
+ contractIndex: QEARN_CONTRACT_INDEX,
684
+ getLockInfoPerEpoch: qearnGetLockInfoPerEpoch,
685
+ getUserLockedInfo: qearnGetUserLockedInfo,
686
+ getStateOfRound: qearnGetStateOfRound,
687
+ getUserLockStatus: qearnGetUserLockStatus,
688
+ getEndedStatus: qearnGetEndedStatus,
689
+ getStatsPerEpoch: qearnGetStatsPerEpoch,
690
+ getBurnedAndBoostedStats: qearnGetBurnedAndBoostedStats,
691
+ getBurnedAndBoostedStatsPerEpoch: qearnGetBurnedAndBoostedStatsPerEpoch,
692
+ decodeLockOutput: decodeQearnLockOutput,
693
+ buildUnlockInput: buildQearnUnlockInput,
694
+ decodeUnlockOutput: decodeQearnUnlockOutput,
695
+ }
696
+