@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.
- package/LICENSE +41 -0
- package/README.md +15 -18
- package/dist/__generated__/computorcontrolledfund.d.ts +1 -1
- package/dist/__generated__/computorcontrolledfund.d.ts.map +1 -1
- package/dist/__generated__/computorcontrolledfund.js +8 -8
- package/dist/__generated__/computorcontrolledfund.js.map +1 -1
- package/dist/__generated__/escrow.d.ts +1 -1
- package/dist/__generated__/escrow.d.ts.map +1 -1
- package/dist/__generated__/escrow.js +3 -3
- package/dist/__generated__/escrow.js.map +1 -1
- package/dist/__generated__/generalquorumproposal.d.ts +1 -1
- package/dist/__generated__/generalquorumproposal.d.ts.map +1 -1
- package/dist/__generated__/generalquorumproposal.js +6 -6
- package/dist/__generated__/generalquorumproposal.js.map +1 -1
- package/dist/__generated__/ggwp.d.ts +265 -0
- package/dist/__generated__/ggwp.d.ts.map +1 -0
- package/dist/__generated__/ggwp.js +825 -0
- package/dist/__generated__/ggwp.js.map +1 -0
- package/dist/__generated__/index.d.ts +1 -0
- package/dist/__generated__/index.d.ts.map +1 -1
- package/dist/__generated__/index.js +1 -0
- package/dist/__generated__/index.js.map +1 -1
- package/dist/__generated__/msvault.d.ts +1 -1
- package/dist/__generated__/msvault.d.ts.map +1 -1
- package/dist/__generated__/msvault.js +19 -19
- package/dist/__generated__/msvault.js.map +1 -1
- package/dist/__generated__/multisignvault.d.ts +25 -25
- package/dist/__generated__/multisignvault.d.ts.map +1 -1
- package/dist/__generated__/multisignvault.js +25 -25
- package/dist/__generated__/multisignvault.js.map +1 -1
- package/dist/__generated__/nostromo.d.ts +1 -1
- package/dist/__generated__/nostromo.d.ts.map +1 -1
- package/dist/__generated__/nostromo.js +15 -15
- package/dist/__generated__/nostromo.js.map +1 -1
- package/dist/__generated__/pulse.d.ts +1 -1
- package/dist/__generated__/pulse.d.ts.map +1 -1
- package/dist/__generated__/pulse.js +26 -26
- package/dist/__generated__/pulse.js.map +1 -1
- package/dist/__generated__/qbay.d.ts +1 -1
- package/dist/__generated__/qbay.d.ts.map +1 -1
- package/dist/__generated__/qbay.js +23 -23
- package/dist/__generated__/qbay.js.map +1 -1
- package/dist/__generated__/qbond.d.ts +1 -1
- package/dist/__generated__/qbond.d.ts.map +1 -1
- package/dist/__generated__/qbond.js +14 -14
- package/dist/__generated__/qbond.js.map +1 -1
- package/dist/__generated__/qdraw.d.ts +1 -1
- package/dist/__generated__/qdraw.d.ts.map +1 -1
- package/dist/__generated__/qdraw.js.map +1 -1
- package/dist/__generated__/qduel.d.ts +1 -1
- package/dist/__generated__/qduel.d.ts.map +1 -1
- package/dist/__generated__/qduel.js +11 -11
- package/dist/__generated__/qduel.js.map +1 -1
- package/dist/__generated__/qearn.d.ts +1 -1
- package/dist/__generated__/qearn.d.ts.map +1 -1
- package/dist/__generated__/qearn.js +10 -10
- package/dist/__generated__/qearn.js.map +1 -1
- package/dist/__generated__/qip.d.ts +18 -1
- package/dist/__generated__/qip.d.ts.map +1 -1
- package/dist/__generated__/qip.js +64 -3
- package/dist/__generated__/qip.js.map +1 -1
- package/dist/__generated__/qraffle.d.ts +1 -1
- package/dist/__generated__/qraffle.d.ts.map +1 -1
- package/dist/__generated__/qraffle.js +12 -12
- package/dist/__generated__/qraffle.js.map +1 -1
- package/dist/__generated__/qreservepool.d.ts +1 -1
- package/dist/__generated__/qreservepool.d.ts.map +1 -1
- package/dist/__generated__/qreservepool.js +5 -5
- package/dist/__generated__/qreservepool.js.map +1 -1
- package/dist/__generated__/qrwa.d.ts +1 -1
- package/dist/__generated__/qrwa.d.ts.map +1 -1
- package/dist/__generated__/qrwa.js +18 -18
- package/dist/__generated__/qrwa.js.map +1 -1
- package/dist/__generated__/qswap.d.ts +3 -1
- package/dist/__generated__/qswap.d.ts.map +1 -1
- package/dist/__generated__/qswap.js +30 -18
- package/dist/__generated__/qswap.js.map +1 -1
- package/dist/__generated__/qthirtyfour.d.ts +1 -1
- package/dist/__generated__/qthirtyfour.d.ts.map +1 -1
- package/dist/__generated__/qthirtyfour.js +19 -19
- package/dist/__generated__/qthirtyfour.js.map +1 -1
- package/dist/__generated__/qubicicoportal.d.ts +4 -4
- package/dist/__generated__/qubicicoportal.d.ts.map +1 -1
- package/dist/__generated__/qubicicoportal.js +4 -4
- package/dist/__generated__/qubicicoportal.js.map +1 -1
- package/dist/__generated__/quottery.d.ts +1 -1
- package/dist/__generated__/quottery.d.ts.map +1 -1
- package/dist/__generated__/quottery.js +14 -14
- package/dist/__generated__/quottery.js.map +1 -1
- package/dist/__generated__/qusino.d.ts +1 -1
- package/dist/__generated__/qusino.d.ts.map +1 -1
- package/dist/__generated__/qusino.js +13 -13
- package/dist/__generated__/qusino.js.map +1 -1
- package/dist/__generated__/qutil.d.ts +1 -1
- package/dist/__generated__/qutil.d.ts.map +1 -1
- package/dist/__generated__/qutil.js +22 -22
- package/dist/__generated__/qutil.js.map +1 -1
- package/dist/__generated__/qvault.d.ts +14 -2
- package/dist/__generated__/qvault.d.ts.map +1 -1
- package/dist/__generated__/qvault.js +70 -32
- package/dist/__generated__/qvault.js.map +1 -1
- package/dist/__generated__/qx.d.ts +1 -1
- package/dist/__generated__/qx.d.ts.map +1 -1
- package/dist/__generated__/qx.js +12 -12
- package/dist/__generated__/qx.js.map +1 -1
- package/dist/__generated__/random.d.ts +24 -1
- package/dist/__generated__/random.d.ts.map +1 -1
- package/dist/__generated__/random.js +68 -0
- package/dist/__generated__/random.js.map +1 -1
- package/dist/__generated__/randomlottery.d.ts +1 -1
- package/dist/__generated__/randomlottery.d.ts.map +1 -1
- package/dist/__generated__/randomlottery.js +12 -12
- package/dist/__generated__/randomlottery.js.map +1 -1
- package/dist/__generated__/vottunbridge.d.ts +1 -1
- package/dist/__generated__/vottunbridge.d.ts.map +1 -1
- package/dist/__generated__/vottunbridge.js +13 -13
- package/dist/__generated__/vottunbridge.js.map +1 -1
- package/dist/call-contract.d.ts.map +1 -1
- package/dist/call-contract.js +6 -1
- package/dist/call-contract.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +8 -7
- package/src/__generated__/computorcontrolledfund.ts +1066 -0
- package/src/__generated__/escrow.ts +529 -0
- package/src/__generated__/generalquorumproposal.ts +691 -0
- package/src/__generated__/ggwp.ts +1241 -0
- package/src/__generated__/index.ts +28 -0
- package/src/__generated__/msvault.ts +1716 -0
- package/src/__generated__/multisignvault.ts +1511 -0
- package/src/__generated__/mylastmatch.ts +12 -0
- package/src/__generated__/nostromo.ts +1551 -0
- package/src/__generated__/pulse.ts +1512 -0
- package/src/__generated__/qbay.ts +2097 -0
- package/src/__generated__/qbond.ts +1016 -0
- package/src/__generated__/qdraw.ts +188 -0
- package/src/__generated__/qduel.ts +827 -0
- package/src/__generated__/qearn.ts +696 -0
- package/src/__generated__/qip.ts +501 -0
- package/src/__generated__/qraffle.ts +1162 -0
- package/src/__generated__/qreservepool.ts +281 -0
- package/src/__generated__/qrwa.ts +1491 -0
- package/src/__generated__/qswap.ts +1336 -0
- package/src/__generated__/qthirtyfour.ts +1131 -0
- package/src/__generated__/qubicicoportal.ts +386 -0
- package/src/__generated__/quottery.ts +1519 -0
- package/src/__generated__/qusino.ts +799 -0
- package/src/__generated__/qutil.ts +1506 -0
- package/src/__generated__/qvault.ts +2911 -0
- package/src/__generated__/qx.ts +861 -0
- package/src/__generated__/random.ts +145 -0
- package/src/__generated__/randomlottery.ts +653 -0
- package/src/__generated__/supplywatcher.ts +12 -0
- package/src/__generated__/vottunbridge.ts +1162 -0
- package/src/__tests__/contracts.test.ts +933 -0
- package/src/call-contract.ts +87 -0
- package/src/index.ts +9 -0
- package/dist/result.d.ts +0 -12
- package/dist/result.d.ts.map +0 -1
- package/dist/result.js +0 -7
- package/dist/result.js.map +0 -1
|
@@ -0,0 +1,501 @@
|
|
|
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 QIP_CONTRACT_INDEX = 18
|
|
9
|
+
|
|
10
|
+
export interface QIPAssetStruct {
|
|
11
|
+
issuer: string
|
|
12
|
+
assetName: bigint
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const STRUCTS: Record<string, NamedStruct> = {
|
|
16
|
+
'Asset': {
|
|
17
|
+
name: 'Asset',
|
|
18
|
+
byteLength: 40,
|
|
19
|
+
fields: [
|
|
20
|
+
{
|
|
21
|
+
name: 'issuer',
|
|
22
|
+
type: 'id',
|
|
23
|
+
offset: 0,
|
|
24
|
+
byteLength: 32,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'assetName',
|
|
28
|
+
type: 'uint64',
|
|
29
|
+
offset: 32,
|
|
30
|
+
byteLength: 8,
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const QIP_CREATE_ICO_INPUT_TYPE = 1
|
|
37
|
+
|
|
38
|
+
export interface QIPCreateICOInput {
|
|
39
|
+
issuer: string
|
|
40
|
+
address1: string
|
|
41
|
+
assetName: bigint
|
|
42
|
+
price1: bigint
|
|
43
|
+
price2: bigint
|
|
44
|
+
price3: bigint
|
|
45
|
+
saleAmountForPhase1: bigint
|
|
46
|
+
saleAmountForPhase2: bigint
|
|
47
|
+
saleAmountForPhase3: bigint
|
|
48
|
+
percent1: number
|
|
49
|
+
startEpoch: number
|
|
50
|
+
burnRemainingTokens: number
|
|
51
|
+
isVested: number
|
|
52
|
+
vestingPeriod: number
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const QIP_CREATE_ICO_INPUT_FIELDS: BinaryField[] = [
|
|
56
|
+
{
|
|
57
|
+
name: 'issuer',
|
|
58
|
+
type: 'id',
|
|
59
|
+
offset: 0,
|
|
60
|
+
byteLength: 32,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: 'address1',
|
|
64
|
+
type: 'id',
|
|
65
|
+
offset: 32,
|
|
66
|
+
byteLength: 32,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'assetName',
|
|
70
|
+
type: 'uint64',
|
|
71
|
+
offset: 64,
|
|
72
|
+
byteLength: 8,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'price1',
|
|
76
|
+
type: 'uint64',
|
|
77
|
+
offset: 72,
|
|
78
|
+
byteLength: 8,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: 'price2',
|
|
82
|
+
type: 'uint64',
|
|
83
|
+
offset: 80,
|
|
84
|
+
byteLength: 8,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: 'price3',
|
|
88
|
+
type: 'uint64',
|
|
89
|
+
offset: 88,
|
|
90
|
+
byteLength: 8,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'saleAmountForPhase1',
|
|
94
|
+
type: 'uint64',
|
|
95
|
+
offset: 96,
|
|
96
|
+
byteLength: 8,
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'saleAmountForPhase2',
|
|
100
|
+
type: 'uint64',
|
|
101
|
+
offset: 104,
|
|
102
|
+
byteLength: 8,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: 'saleAmountForPhase3',
|
|
106
|
+
type: 'uint64',
|
|
107
|
+
offset: 112,
|
|
108
|
+
byteLength: 8,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: 'percent1',
|
|
112
|
+
type: 'uint32',
|
|
113
|
+
offset: 120,
|
|
114
|
+
byteLength: 4,
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
name: 'startEpoch',
|
|
118
|
+
type: 'uint32',
|
|
119
|
+
offset: 124,
|
|
120
|
+
byteLength: 4,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
name: 'burnRemainingTokens',
|
|
124
|
+
type: 'uint8',
|
|
125
|
+
offset: 128,
|
|
126
|
+
byteLength: 1,
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: 'isVested',
|
|
130
|
+
type: 'uint8',
|
|
131
|
+
offset: 129,
|
|
132
|
+
byteLength: 1,
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
name: 'vestingPeriod',
|
|
136
|
+
type: 'uint32',
|
|
137
|
+
offset: 130,
|
|
138
|
+
byteLength: 4,
|
|
139
|
+
},
|
|
140
|
+
]
|
|
141
|
+
|
|
142
|
+
export function buildQIPCreateICOInput(
|
|
143
|
+
input: QIPCreateICOInput,
|
|
144
|
+
identityToPublicKey: (identity: string) => Uint8Array,
|
|
145
|
+
): ContractCall {
|
|
146
|
+
return { contractIndex: QIP_CONTRACT_INDEX, inputType: QIP_CREATE_ICO_INPUT_TYPE, payload: buildPayload(QIP_CREATE_ICO_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, identityToPublicKey) }
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export interface QIPCreateICOOutput {
|
|
150
|
+
returnCode: number
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
const QIP_CREATE_ICO_OUTPUT_FIELDS: BinaryField[] = [
|
|
154
|
+
{
|
|
155
|
+
name: 'returnCode',
|
|
156
|
+
type: 'sint32',
|
|
157
|
+
offset: 0,
|
|
158
|
+
byteLength: 4,
|
|
159
|
+
},
|
|
160
|
+
]
|
|
161
|
+
|
|
162
|
+
export function decodeQIPCreateICOOutput(
|
|
163
|
+
data: Uint8Array,
|
|
164
|
+
): QIPCreateICOOutput {
|
|
165
|
+
return decodePayload(data, QIP_CREATE_ICO_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QIPCreateICOOutput
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export const QIP_BUY_TOKEN_INPUT_TYPE = 2
|
|
169
|
+
|
|
170
|
+
export interface QIPBuyTokenInput {
|
|
171
|
+
indexOfICO: number
|
|
172
|
+
amount: bigint
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
const QIP_BUY_TOKEN_INPUT_FIELDS: BinaryField[] = [
|
|
176
|
+
{
|
|
177
|
+
name: 'indexOfICO',
|
|
178
|
+
type: 'uint32',
|
|
179
|
+
offset: 0,
|
|
180
|
+
byteLength: 4,
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
name: 'amount',
|
|
184
|
+
type: 'uint64',
|
|
185
|
+
offset: 4,
|
|
186
|
+
byteLength: 8,
|
|
187
|
+
},
|
|
188
|
+
]
|
|
189
|
+
|
|
190
|
+
export function buildQIPBuyTokenInput(
|
|
191
|
+
input: QIPBuyTokenInput,
|
|
192
|
+
): ContractCall {
|
|
193
|
+
return { contractIndex: QIP_CONTRACT_INDEX, inputType: QIP_BUY_TOKEN_INPUT_TYPE, payload: buildPayload(QIP_BUY_TOKEN_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export interface QIPBuyTokenOutput {
|
|
197
|
+
returnCode: number
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
const QIP_BUY_TOKEN_OUTPUT_FIELDS: BinaryField[] = [
|
|
201
|
+
{
|
|
202
|
+
name: 'returnCode',
|
|
203
|
+
type: 'sint32',
|
|
204
|
+
offset: 0,
|
|
205
|
+
byteLength: 4,
|
|
206
|
+
},
|
|
207
|
+
]
|
|
208
|
+
|
|
209
|
+
export function decodeQIPBuyTokenOutput(
|
|
210
|
+
data: Uint8Array,
|
|
211
|
+
): QIPBuyTokenOutput {
|
|
212
|
+
return decodePayload(data, QIP_BUY_TOKEN_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QIPBuyTokenOutput
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
export const QIP_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_TYPE = 3
|
|
216
|
+
|
|
217
|
+
export interface QIPTransferShareManagementRightsInput {
|
|
218
|
+
asset: QIPAssetStruct
|
|
219
|
+
numberOfShares: bigint
|
|
220
|
+
newManagingContractIndex: number
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
const QIP_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_FIELDS: BinaryField[] = [
|
|
224
|
+
{
|
|
225
|
+
name: 'asset',
|
|
226
|
+
type: 'struct',
|
|
227
|
+
offset: 0,
|
|
228
|
+
byteLength: 40,
|
|
229
|
+
structRef: 'Asset',
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
name: 'numberOfShares',
|
|
233
|
+
type: 'sint64',
|
|
234
|
+
offset: 40,
|
|
235
|
+
byteLength: 8,
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
name: 'newManagingContractIndex',
|
|
239
|
+
type: 'uint32',
|
|
240
|
+
offset: 48,
|
|
241
|
+
byteLength: 4,
|
|
242
|
+
},
|
|
243
|
+
]
|
|
244
|
+
|
|
245
|
+
export function buildQIPTransferShareManagementRightsInput(
|
|
246
|
+
input: QIPTransferShareManagementRightsInput,
|
|
247
|
+
): ContractCall {
|
|
248
|
+
return { contractIndex: QIP_CONTRACT_INDEX, inputType: QIP_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_TYPE, payload: buildPayload(QIP_TRANSFER_SHARE_MANAGEMENT_RIGHTS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
export interface QIPTransferShareManagementRightsOutput {
|
|
252
|
+
transferredNumberOfShares: bigint
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
const QIP_TRANSFER_SHARE_MANAGEMENT_RIGHTS_OUTPUT_FIELDS: BinaryField[] = [
|
|
256
|
+
{
|
|
257
|
+
name: 'transferredNumberOfShares',
|
|
258
|
+
type: 'sint64',
|
|
259
|
+
offset: 0,
|
|
260
|
+
byteLength: 8,
|
|
261
|
+
},
|
|
262
|
+
]
|
|
263
|
+
|
|
264
|
+
export function decodeQIPTransferShareManagementRightsOutput(
|
|
265
|
+
data: Uint8Array,
|
|
266
|
+
): QIPTransferShareManagementRightsOutput {
|
|
267
|
+
return decodePayload(data, QIP_TRANSFER_SHARE_MANAGEMENT_RIGHTS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QIPTransferShareManagementRightsOutput
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export const QIP_RETURN_FUNDS_INPUT_TYPE = 4
|
|
271
|
+
|
|
272
|
+
export interface QIPReturnFundsInput {
|
|
273
|
+
indexOfICO: number
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
const QIP_RETURN_FUNDS_INPUT_FIELDS: BinaryField[] = [
|
|
277
|
+
{
|
|
278
|
+
name: 'indexOfICO',
|
|
279
|
+
type: 'uint32',
|
|
280
|
+
offset: 0,
|
|
281
|
+
byteLength: 4,
|
|
282
|
+
},
|
|
283
|
+
]
|
|
284
|
+
|
|
285
|
+
export function buildQIPReturnFundsInput(
|
|
286
|
+
input: QIPReturnFundsInput,
|
|
287
|
+
): ContractCall {
|
|
288
|
+
return { contractIndex: QIP_CONTRACT_INDEX, inputType: QIP_RETURN_FUNDS_INPUT_TYPE, payload: buildPayload(QIP_RETURN_FUNDS_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32)) }
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
export interface QIPReturnFundsOutput {
|
|
292
|
+
returnCode: number
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
const QIP_RETURN_FUNDS_OUTPUT_FIELDS: BinaryField[] = [
|
|
296
|
+
{
|
|
297
|
+
name: 'returnCode',
|
|
298
|
+
type: 'sint32',
|
|
299
|
+
offset: 0,
|
|
300
|
+
byteLength: 4,
|
|
301
|
+
},
|
|
302
|
+
]
|
|
303
|
+
|
|
304
|
+
export function decodeQIPReturnFundsOutput(
|
|
305
|
+
data: Uint8Array,
|
|
306
|
+
): QIPReturnFundsOutput {
|
|
307
|
+
return decodePayload(data, QIP_RETURN_FUNDS_OUTPUT_FIELDS, STRUCTS, (_: Uint8Array) => { throw new Error('unreachable') }) as unknown as QIPReturnFundsOutput
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
export const QIP_GET_ICO_INFO_INPUT_TYPE = 1
|
|
311
|
+
export const QIP_GET_ICO_INFO_INPUT_SIZE = 4
|
|
312
|
+
|
|
313
|
+
export interface QIPGetICOInfoInput {
|
|
314
|
+
indexOfICO: number
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
const QIP_GET_ICO_INFO_INPUT_FIELDS: BinaryField[] = [
|
|
318
|
+
{
|
|
319
|
+
name: 'indexOfICO',
|
|
320
|
+
type: 'uint32',
|
|
321
|
+
offset: 0,
|
|
322
|
+
byteLength: 4,
|
|
323
|
+
},
|
|
324
|
+
]
|
|
325
|
+
|
|
326
|
+
export function buildQIPGetICOInfoInput(
|
|
327
|
+
input: QIPGetICOInfoInput,
|
|
328
|
+
): Uint8Array {
|
|
329
|
+
return buildPayload(QIP_GET_ICO_INFO_INPUT_FIELDS, STRUCTS, input as unknown as Record<string, FieldValue | Uint8Array>, (_: string) => new Uint8Array(32))
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
export interface QIPGetICOInfoOutput {
|
|
333
|
+
creatorOfICO: string
|
|
334
|
+
issuer: string
|
|
335
|
+
address1: string
|
|
336
|
+
assetName: bigint
|
|
337
|
+
price1: bigint
|
|
338
|
+
price2: bigint
|
|
339
|
+
price3: bigint
|
|
340
|
+
saleAmountForPhase1: bigint
|
|
341
|
+
saleAmountForPhase2: bigint
|
|
342
|
+
saleAmountForPhase3: bigint
|
|
343
|
+
remainingAmountForPhase1: bigint
|
|
344
|
+
remainingAmountForPhase2: bigint
|
|
345
|
+
remainingAmountForPhase3: bigint
|
|
346
|
+
percent1: number
|
|
347
|
+
startEpoch: number
|
|
348
|
+
burnRemainingTokens: number
|
|
349
|
+
isVested: number
|
|
350
|
+
vestingPeriod: number
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
const QIP_GET_ICO_INFO_OUTPUT_FIELDS: BinaryField[] = [
|
|
354
|
+
{
|
|
355
|
+
name: 'creatorOfICO',
|
|
356
|
+
type: 'id',
|
|
357
|
+
offset: 0,
|
|
358
|
+
byteLength: 32,
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
name: 'issuer',
|
|
362
|
+
type: 'id',
|
|
363
|
+
offset: 32,
|
|
364
|
+
byteLength: 32,
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
name: 'address1',
|
|
368
|
+
type: 'id',
|
|
369
|
+
offset: 64,
|
|
370
|
+
byteLength: 32,
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
name: 'assetName',
|
|
374
|
+
type: 'uint64',
|
|
375
|
+
offset: 96,
|
|
376
|
+
byteLength: 8,
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
name: 'price1',
|
|
380
|
+
type: 'uint64',
|
|
381
|
+
offset: 104,
|
|
382
|
+
byteLength: 8,
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
name: 'price2',
|
|
386
|
+
type: 'uint64',
|
|
387
|
+
offset: 112,
|
|
388
|
+
byteLength: 8,
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
name: 'price3',
|
|
392
|
+
type: 'uint64',
|
|
393
|
+
offset: 120,
|
|
394
|
+
byteLength: 8,
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
name: 'saleAmountForPhase1',
|
|
398
|
+
type: 'uint64',
|
|
399
|
+
offset: 128,
|
|
400
|
+
byteLength: 8,
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
name: 'saleAmountForPhase2',
|
|
404
|
+
type: 'uint64',
|
|
405
|
+
offset: 136,
|
|
406
|
+
byteLength: 8,
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
name: 'saleAmountForPhase3',
|
|
410
|
+
type: 'uint64',
|
|
411
|
+
offset: 144,
|
|
412
|
+
byteLength: 8,
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
name: 'remainingAmountForPhase1',
|
|
416
|
+
type: 'uint64',
|
|
417
|
+
offset: 152,
|
|
418
|
+
byteLength: 8,
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
name: 'remainingAmountForPhase2',
|
|
422
|
+
type: 'uint64',
|
|
423
|
+
offset: 160,
|
|
424
|
+
byteLength: 8,
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
name: 'remainingAmountForPhase3',
|
|
428
|
+
type: 'uint64',
|
|
429
|
+
offset: 168,
|
|
430
|
+
byteLength: 8,
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
name: 'percent1',
|
|
434
|
+
type: 'uint32',
|
|
435
|
+
offset: 176,
|
|
436
|
+
byteLength: 4,
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
name: 'startEpoch',
|
|
440
|
+
type: 'uint32',
|
|
441
|
+
offset: 180,
|
|
442
|
+
byteLength: 4,
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
name: 'burnRemainingTokens',
|
|
446
|
+
type: 'uint8',
|
|
447
|
+
offset: 184,
|
|
448
|
+
byteLength: 1,
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
name: 'isVested',
|
|
452
|
+
type: 'uint8',
|
|
453
|
+
offset: 185,
|
|
454
|
+
byteLength: 1,
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
name: 'vestingPeriod',
|
|
458
|
+
type: 'uint32',
|
|
459
|
+
offset: 186,
|
|
460
|
+
byteLength: 4,
|
|
461
|
+
},
|
|
462
|
+
]
|
|
463
|
+
|
|
464
|
+
export function decodeQIPGetICOInfoOutput(
|
|
465
|
+
data: Uint8Array,
|
|
466
|
+
publicKeyToIdentity: (pk: Uint8Array) => string,
|
|
467
|
+
): QIPGetICOInfoOutput {
|
|
468
|
+
return decodePayload(data, QIP_GET_ICO_INFO_OUTPUT_FIELDS, STRUCTS, publicKeyToIdentity) as unknown as QIPGetICOInfoOutput
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
export async function qIPGetICOInfo(
|
|
472
|
+
live: SmartContractCaller,
|
|
473
|
+
input: QIPGetICOInfoInput,
|
|
474
|
+
options?: ContractCallOptions,
|
|
475
|
+
): Promise<Result<QIPGetICOInfoOutput, QubicRpcError>> {
|
|
476
|
+
return callContractFunction({
|
|
477
|
+
live,
|
|
478
|
+
contractIndex: QIP_CONTRACT_INDEX,
|
|
479
|
+
inputType: QIP_GET_ICO_INFO_INPUT_TYPE,
|
|
480
|
+
inputSize: QIP_GET_ICO_INFO_INPUT_SIZE,
|
|
481
|
+
inputFields: QIP_GET_ICO_INFO_INPUT_FIELDS,
|
|
482
|
+
outputFields: QIP_GET_ICO_INFO_OUTPUT_FIELDS,
|
|
483
|
+
structs: STRUCTS,
|
|
484
|
+
input: (input as unknown as Record<string, unknown>),
|
|
485
|
+
...options,
|
|
486
|
+
})
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
export const qIP = {
|
|
490
|
+
contractIndex: QIP_CONTRACT_INDEX,
|
|
491
|
+
getICOInfo: qIPGetICOInfo,
|
|
492
|
+
buildCreateICOInput: buildQIPCreateICOInput,
|
|
493
|
+
decodeCreateICOOutput: decodeQIPCreateICOOutput,
|
|
494
|
+
buildBuyTokenInput: buildQIPBuyTokenInput,
|
|
495
|
+
decodeBuyTokenOutput: decodeQIPBuyTokenOutput,
|
|
496
|
+
buildTransferShareManagementRightsInput: buildQIPTransferShareManagementRightsInput,
|
|
497
|
+
decodeTransferShareManagementRightsOutput: decodeQIPTransferShareManagementRightsOutput,
|
|
498
|
+
buildReturnFundsInput: buildQIPReturnFundsInput,
|
|
499
|
+
decodeReturnFundsOutput: decodeQIPReturnFundsOutput,
|
|
500
|
+
}
|
|
501
|
+
|