@amadeus-protocol/sdk 1.0.6 → 1.0.7
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/README.md +2 -2
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/dist/contract-state.d.ts +59 -0
- package/dist/contract-state.d.ts.map +1 -0
- package/dist/contract-state.js +117 -0
- package/dist/contract-state.js.map +1 -0
- package/dist/contracts/abi-types.d.ts +87 -0
- package/dist/contracts/abi-types.d.ts.map +1 -0
- package/dist/contracts/abi-types.js +8 -0
- package/dist/contracts/abi-types.js.map +1 -0
- package/dist/contracts/coin.d.ts +42 -0
- package/dist/contracts/coin.d.ts.map +1 -0
- package/dist/contracts/coin.js +42 -0
- package/dist/contracts/coin.js.map +1 -0
- package/dist/contracts/contract-call.d.ts +49 -0
- package/dist/contracts/contract-call.d.ts.map +1 -0
- package/dist/contracts/contract-call.js +57 -0
- package/dist/contracts/contract-call.js.map +1 -0
- package/dist/contracts/contract.d.ts +113 -0
- package/dist/contracts/contract.d.ts.map +1 -0
- package/dist/contracts/contract.js +107 -0
- package/dist/contracts/contract.js.map +1 -0
- package/dist/contracts/index.d.ts +7 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +7 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/lockup/abi.d.ts +62 -0
- package/dist/contracts/lockup/abi.d.ts.map +1 -0
- package/dist/contracts/lockup/abi.js +77 -0
- package/dist/contracts/lockup/abi.js.map +1 -0
- package/dist/contracts/lockup/calls.d.ts +23 -0
- package/dist/contracts/lockup/calls.d.ts.map +1 -0
- package/dist/contracts/lockup/calls.js +25 -0
- package/dist/contracts/lockup/calls.js.map +1 -0
- package/dist/contracts/lockup/helpers.d.ts +24 -0
- package/dist/contracts/lockup/helpers.d.ts.map +1 -0
- package/dist/contracts/lockup/helpers.js +49 -0
- package/dist/contracts/lockup/helpers.js.map +1 -0
- package/dist/contracts/lockup/index.d.ts +6 -0
- package/dist/contracts/lockup/index.d.ts.map +1 -0
- package/dist/contracts/lockup/index.js +6 -0
- package/dist/contracts/lockup/index.js.map +1 -0
- package/dist/contracts/lockup/parsers.d.ts +20 -0
- package/dist/contracts/lockup/parsers.d.ts.map +1 -0
- package/dist/contracts/lockup/parsers.js +60 -0
- package/dist/contracts/lockup/parsers.js.map +1 -0
- package/dist/contracts/lockup/storage-keys.d.ts +15 -0
- package/dist/contracts/lockup/storage-keys.d.ts.map +1 -0
- package/dist/contracts/lockup/storage-keys.js +78 -0
- package/dist/contracts/lockup/storage-keys.js.map +1 -0
- package/dist/contracts/lockup/types.d.ts +90 -0
- package/dist/contracts/lockup/types.d.ts.map +1 -0
- package/dist/contracts/lockup/types.js +7 -0
- package/dist/contracts/lockup/types.js.map +1 -0
- package/dist/contracts/lockup-prime/abi.d.ts +348 -0
- package/dist/contracts/lockup-prime/abi.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/abi.js +420 -0
- package/dist/contracts/lockup-prime/abi.js.map +1 -0
- package/dist/contracts/lockup-prime/calls.d.ts +53 -0
- package/dist/contracts/lockup-prime/calls.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/calls.js +60 -0
- package/dist/contracts/lockup-prime/calls.js.map +1 -0
- package/dist/contracts/lockup-prime/helpers.d.ts +38 -0
- package/dist/contracts/lockup-prime/helpers.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/helpers.js +147 -0
- package/dist/contracts/lockup-prime/helpers.js.map +1 -0
- package/dist/contracts/lockup-prime/index.d.ts +6 -0
- package/dist/contracts/lockup-prime/index.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/index.js +6 -0
- package/dist/contracts/lockup-prime/index.js.map +1 -0
- package/dist/contracts/lockup-prime/parsers.d.ts +25 -0
- package/dist/contracts/lockup-prime/parsers.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/parsers.js +68 -0
- package/dist/contracts/lockup-prime/parsers.js.map +1 -0
- package/dist/contracts/lockup-prime/storage-keys.d.ts +25 -0
- package/dist/contracts/lockup-prime/storage-keys.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/storage-keys.js +92 -0
- package/dist/contracts/lockup-prime/storage-keys.js.map +1 -0
- package/dist/contracts/lockup-prime/types.d.ts +116 -0
- package/dist/contracts/lockup-prime/types.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/types.js +18 -0
- package/dist/contracts/lockup-prime/types.js.map +1 -0
- package/dist/crypto.js +1 -1
- package/dist/crypto.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/serialization.d.ts +22 -0
- package/dist/serialization.d.ts.map +1 -1
- package/dist/serialization.js +39 -2
- package/dist/serialization.js.map +1 -1
- package/dist/signing.d.ts +39 -0
- package/dist/signing.d.ts.map +1 -0
- package/dist/signing.js +84 -0
- package/dist/signing.js.map +1 -0
- package/dist/transaction-builder.d.ts +135 -194
- package/dist/transaction-builder.d.ts.map +1 -1
- package/dist/transaction-builder.js +237 -288
- package/dist/transaction-builder.js.map +1 -1
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LockupPrime Smart Contract ABI
|
|
3
|
+
*
|
|
4
|
+
* Standard ABI format
|
|
5
|
+
* Based on: /root/node/ex/native/rdb/src/consensus/bic/lockup_prime.rs
|
|
6
|
+
*/
|
|
7
|
+
export const LOCKUP_PRIME_ABI = {
|
|
8
|
+
contractName: 'LockupPrime',
|
|
9
|
+
contractVersion: '1.0.0',
|
|
10
|
+
abi: [
|
|
11
|
+
{
|
|
12
|
+
type: 'function',
|
|
13
|
+
name: 'lock',
|
|
14
|
+
inputs: [
|
|
15
|
+
{
|
|
16
|
+
name: 'amount',
|
|
17
|
+
type: 'string',
|
|
18
|
+
description: 'Amount in flat units (as string, must be > 1 flat unit)',
|
|
19
|
+
validation: {
|
|
20
|
+
min: '1',
|
|
21
|
+
type: 'i128'
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
name: 'tier',
|
|
26
|
+
type: 'string',
|
|
27
|
+
description: 'Lock tier',
|
|
28
|
+
enum: ['7d', '30d', '90d', '180d', '365d']
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
outputs: [],
|
|
32
|
+
stateMutability: 'nonpayable',
|
|
33
|
+
description: 'Lock AMA tokens for a specified tier to earn PRIME points',
|
|
34
|
+
requirements: [
|
|
35
|
+
'amount > 1 flat unit',
|
|
36
|
+
'sufficient AMA balance',
|
|
37
|
+
'amount and tier must be UTF-8 encoded strings'
|
|
38
|
+
],
|
|
39
|
+
storage: {
|
|
40
|
+
writes: [
|
|
41
|
+
{
|
|
42
|
+
key: 'bic:lockup_prime:vault:{caller}:{vault_index}',
|
|
43
|
+
value: '{tier}-{multiplier}-{unlock_epoch}-{amount}',
|
|
44
|
+
description: 'Creates a new vault entry'
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
key: 'bic:lockup_prime:unique_index',
|
|
48
|
+
operation: 'increment',
|
|
49
|
+
description: 'Increments global vault index counter'
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: 'bic:coin:balance:{caller}:AMA',
|
|
53
|
+
operation: 'decrement',
|
|
54
|
+
amount: 'amount',
|
|
55
|
+
description: "Deducts AMA from caller's balance"
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
reads: [
|
|
59
|
+
{
|
|
60
|
+
key: 'bic:coin:balance:{caller}:AMA',
|
|
61
|
+
description: "Checks caller's AMA balance"
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
type: 'function',
|
|
68
|
+
name: 'unlock',
|
|
69
|
+
inputs: [
|
|
70
|
+
{
|
|
71
|
+
name: 'vaultIndex',
|
|
72
|
+
type: 'string',
|
|
73
|
+
description: 'Vault index to unlock (as string, e.g., "0", "1", "2")'
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
outputs: [],
|
|
77
|
+
stateMutability: 'nonpayable',
|
|
78
|
+
description: 'Unlock a vault and receive PRIME points (or penalty if early)',
|
|
79
|
+
requirements: ['vault must exist', 'vault must belong to caller'],
|
|
80
|
+
storage: {
|
|
81
|
+
reads: [
|
|
82
|
+
{
|
|
83
|
+
key: 'bic:lockup_prime:vault:{caller}:{vault_index}',
|
|
84
|
+
value: '{tier}-{multiplier}-{unlock_epoch}-{amount}',
|
|
85
|
+
description: 'Reads vault data'
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
writes: [
|
|
89
|
+
{
|
|
90
|
+
key: 'bic:lockup_prime:vault:{caller}:{vault_index}',
|
|
91
|
+
operation: 'delete',
|
|
92
|
+
description: 'Deletes vault after unlock'
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
condition: 'if current_epoch < unlock_epoch (early unlock)',
|
|
96
|
+
writes: [
|
|
97
|
+
{
|
|
98
|
+
key: 'bic:coin:balance:{treasury}:AMA',
|
|
99
|
+
operation: 'increment',
|
|
100
|
+
amount: 'penalty (25% of amount)',
|
|
101
|
+
description: 'Penalty sent to treasury'
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
key: 'bic:lockup:vault:{caller}:{index}',
|
|
105
|
+
operation: 'create',
|
|
106
|
+
amount: 'disbursement (75% of amount)',
|
|
107
|
+
duration: '5 epochs',
|
|
108
|
+
description: 'Remaining amount locked for 5 epochs'
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
condition: 'if current_epoch >= unlock_epoch (normal unlock)',
|
|
114
|
+
writes: [
|
|
115
|
+
{
|
|
116
|
+
key: 'bic:coin:balance:{caller}:PRIME',
|
|
117
|
+
operation: 'mint',
|
|
118
|
+
amount: 'amount * multiplier',
|
|
119
|
+
description: 'Mints PRIME points'
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
key: 'bic:coin:balance:{caller}:AMA',
|
|
123
|
+
operation: 'increment',
|
|
124
|
+
amount: 'amount',
|
|
125
|
+
description: 'Returns locked AMA'
|
|
126
|
+
}
|
|
127
|
+
]
|
|
128
|
+
}
|
|
129
|
+
]
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'function',
|
|
134
|
+
name: 'daily_checkin',
|
|
135
|
+
inputs: [
|
|
136
|
+
{
|
|
137
|
+
name: 'vaultIndex',
|
|
138
|
+
type: 'string',
|
|
139
|
+
description: 'Vault index for checkin (as string, e.g., "0", "1", "2")'
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
outputs: [],
|
|
143
|
+
stateMutability: 'nonpayable',
|
|
144
|
+
description: 'Daily checkin to earn bonus PRIME points and maintain streak',
|
|
145
|
+
requirements: [
|
|
146
|
+
'vault must exist',
|
|
147
|
+
'must be within 2-epoch checkin window',
|
|
148
|
+
'vault must belong to caller'
|
|
149
|
+
],
|
|
150
|
+
storage: {
|
|
151
|
+
reads: [
|
|
152
|
+
{
|
|
153
|
+
key: 'bic:lockup_prime:vault:{caller}:{vault_index}',
|
|
154
|
+
value: '{tier}-{multiplier}-{unlock_epoch}-{amount}',
|
|
155
|
+
description: 'Reads vault amount for bonus calculation'
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
key: 'bic:lockup_prime:next_checkin_epoch:{caller}',
|
|
159
|
+
value: 'epoch (as string)',
|
|
160
|
+
description: 'Next allowed checkin epoch'
|
|
161
|
+
}
|
|
162
|
+
],
|
|
163
|
+
writes: [
|
|
164
|
+
{
|
|
165
|
+
condition: 'if delta == 0 || delta == 1 (valid checkin)',
|
|
166
|
+
writes: [
|
|
167
|
+
{
|
|
168
|
+
key: 'bic:lockup_prime:next_checkin_epoch:{caller}',
|
|
169
|
+
value: 'current_epoch + 2',
|
|
170
|
+
description: 'Updates next checkin epoch'
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
key: 'bic:coin:balance:{caller}:PRIME',
|
|
174
|
+
operation: 'mint',
|
|
175
|
+
amount: 'unlock_amount / 100',
|
|
176
|
+
description: 'Daily bonus (1% of locked amount)'
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
key: 'bic:lockup_prime:daily_streak:{caller}',
|
|
180
|
+
operation: 'increment',
|
|
181
|
+
description: 'Increments streak counter'
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
condition: 'if streak >= 30',
|
|
185
|
+
writes: [
|
|
186
|
+
{
|
|
187
|
+
key: 'bic:lockup_prime:daily_streak:{caller}',
|
|
188
|
+
value: '0',
|
|
189
|
+
description: 'Resets streak after bonus'
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
key: 'bic:coin:balance:{caller}:PRIME',
|
|
193
|
+
operation: 'mint',
|
|
194
|
+
amount: 'daily_bonus * 30',
|
|
195
|
+
description: 'Streak bonus (30x daily bonus)'
|
|
196
|
+
}
|
|
197
|
+
]
|
|
198
|
+
}
|
|
199
|
+
]
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
condition: 'if delta > 2 (missed checkin)',
|
|
203
|
+
writes: [
|
|
204
|
+
{
|
|
205
|
+
key: 'bic:lockup_prime:next_checkin_epoch:{caller}',
|
|
206
|
+
value: 'current_epoch + 2',
|
|
207
|
+
description: 'Resets next checkin epoch'
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
key: 'bic:lockup_prime:daily_streak:{caller}',
|
|
211
|
+
value: '0',
|
|
212
|
+
description: 'Resets streak to 0'
|
|
213
|
+
}
|
|
214
|
+
]
|
|
215
|
+
}
|
|
216
|
+
]
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
],
|
|
220
|
+
errors: [
|
|
221
|
+
{
|
|
222
|
+
name: 'invalid_args',
|
|
223
|
+
code: 'INVALID_ARGS',
|
|
224
|
+
description: 'Invalid number of arguments'
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
name: 'invalid_amount',
|
|
228
|
+
code: 'INVALID_AMOUNT',
|
|
229
|
+
description: 'Amount must be > 1 flat unit and valid i128'
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
name: 'invalid_tier',
|
|
233
|
+
code: 'INVALID_TIER',
|
|
234
|
+
description: 'Tier must be one of: 7d, 30d, 90d, 180d, 365d'
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
name: 'insufficient_funds',
|
|
238
|
+
code: 'INSUFFICIENT_FUNDS',
|
|
239
|
+
description: 'Insufficient AMA balance'
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
name: 'invalid_vault',
|
|
243
|
+
code: 'INVALID_VAULT',
|
|
244
|
+
description: 'Vault does not exist or does not belong to caller'
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
name: 'invalid_multiplier',
|
|
248
|
+
code: 'INVALID_MULTIPLIER',
|
|
249
|
+
description: 'Invalid multiplier value in vault data'
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
name: 'invalid_unlock_epoch',
|
|
253
|
+
code: 'INVALID_UNLOCK_EPOCH',
|
|
254
|
+
description: 'Invalid unlock epoch value in vault data'
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
name: 'invalid_unlock_amount',
|
|
258
|
+
code: 'INVALID_UNLOCK_AMOUNT',
|
|
259
|
+
description: 'Invalid unlock amount value in vault data'
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
name: 'invalid_next_checkin_epoch',
|
|
263
|
+
code: 'INVALID_NEXT_CHECKIN_EPOCH',
|
|
264
|
+
description: 'Invalid next checkin epoch value'
|
|
265
|
+
}
|
|
266
|
+
],
|
|
267
|
+
storage: {
|
|
268
|
+
keys: [
|
|
269
|
+
{
|
|
270
|
+
name: 'vault',
|
|
271
|
+
pattern: 'bic:lockup_prime:vault:{account}:{vault_index}',
|
|
272
|
+
type: 'mapping',
|
|
273
|
+
description: 'Vault data for each account and vault index',
|
|
274
|
+
valueFormat: '{tier}-{multiplier}-{unlock_epoch}-{amount}',
|
|
275
|
+
valueSchema: {
|
|
276
|
+
tier: {
|
|
277
|
+
type: 'string',
|
|
278
|
+
enum: ['7d', '30d', '90d', '180d', '365d']
|
|
279
|
+
},
|
|
280
|
+
multiplier: {
|
|
281
|
+
type: 'string',
|
|
282
|
+
description: 'Multiplier as string (e.g., "17", "27")',
|
|
283
|
+
parseAs: 'u64'
|
|
284
|
+
},
|
|
285
|
+
unlock_epoch: {
|
|
286
|
+
type: 'string',
|
|
287
|
+
description: 'Unlock epoch as string',
|
|
288
|
+
parseAs: 'u64'
|
|
289
|
+
},
|
|
290
|
+
amount: {
|
|
291
|
+
type: 'string',
|
|
292
|
+
description: 'Locked amount in flat units as string',
|
|
293
|
+
parseAs: 'u64'
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
query: {
|
|
297
|
+
method: 'POST',
|
|
298
|
+
endpoint: '/api/contract/get_prefix',
|
|
299
|
+
prefix: 'bic:lockup_prime:vault:{account_binary}:',
|
|
300
|
+
description: 'Get all vaults for an account. Returns array of [key, value] tuples.'
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
name: 'daily_streak',
|
|
305
|
+
pattern: 'bic:lockup_prime:daily_streak:{account}',
|
|
306
|
+
type: 'value',
|
|
307
|
+
description: 'Current daily checkin streak count',
|
|
308
|
+
valueFormat: 'string (number)',
|
|
309
|
+
valueSchema: {
|
|
310
|
+
type: 'string',
|
|
311
|
+
parseAs: 'u64',
|
|
312
|
+
description: 'Streak count as string (e.g., "5", "0")'
|
|
313
|
+
},
|
|
314
|
+
query: {
|
|
315
|
+
method: 'POST',
|
|
316
|
+
endpoint: '/api/contract/get',
|
|
317
|
+
key: 'bic:lockup_prime:daily_streak:{account_binary}',
|
|
318
|
+
description: 'Get daily streak for an account'
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
name: 'next_checkin_epoch',
|
|
323
|
+
pattern: 'bic:lockup_prime:next_checkin_epoch:{account}',
|
|
324
|
+
type: 'value',
|
|
325
|
+
description: 'Next epoch when checkin is allowed',
|
|
326
|
+
valueFormat: 'string (number)',
|
|
327
|
+
valueSchema: {
|
|
328
|
+
type: 'string',
|
|
329
|
+
parseAs: 'u64',
|
|
330
|
+
description: 'Epoch as string (e.g., "145", "200")'
|
|
331
|
+
},
|
|
332
|
+
query: {
|
|
333
|
+
method: 'POST',
|
|
334
|
+
endpoint: '/api/contract/get',
|
|
335
|
+
key: 'bic:lockup_prime:next_checkin_epoch:{account_binary}',
|
|
336
|
+
description: 'Get next checkin epoch for an account'
|
|
337
|
+
}
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
name: 'unique_index',
|
|
341
|
+
pattern: 'bic:lockup_prime:unique_index',
|
|
342
|
+
type: 'value',
|
|
343
|
+
description: 'Global vault index counter',
|
|
344
|
+
valueFormat: 'string (number)',
|
|
345
|
+
valueSchema: {
|
|
346
|
+
type: 'string',
|
|
347
|
+
parseAs: 'u64',
|
|
348
|
+
description: 'Global counter as string'
|
|
349
|
+
},
|
|
350
|
+
query: {
|
|
351
|
+
method: 'POST',
|
|
352
|
+
endpoint: '/api/contract/get',
|
|
353
|
+
key: 'bic:lockup_prime:unique_index',
|
|
354
|
+
description: 'Get global vault index counter'
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
]
|
|
358
|
+
},
|
|
359
|
+
constants: {
|
|
360
|
+
tiers: {
|
|
361
|
+
'7d': {
|
|
362
|
+
epochs: 10,
|
|
363
|
+
multiplier: 13,
|
|
364
|
+
label: '7 Days'
|
|
365
|
+
},
|
|
366
|
+
'30d': {
|
|
367
|
+
epochs: 45,
|
|
368
|
+
multiplier: 17,
|
|
369
|
+
label: '30 Days'
|
|
370
|
+
},
|
|
371
|
+
'90d': {
|
|
372
|
+
epochs: 135,
|
|
373
|
+
multiplier: 27,
|
|
374
|
+
label: '90 Days'
|
|
375
|
+
},
|
|
376
|
+
'180d': {
|
|
377
|
+
epochs: 270,
|
|
378
|
+
multiplier: 35,
|
|
379
|
+
label: '180 Days'
|
|
380
|
+
},
|
|
381
|
+
'365d': {
|
|
382
|
+
epochs: 547,
|
|
383
|
+
multiplier: 54,
|
|
384
|
+
label: '365 Days'
|
|
385
|
+
}
|
|
386
|
+
},
|
|
387
|
+
values: {
|
|
388
|
+
MIN_LOCK_AMOUNT: '1',
|
|
389
|
+
DAILY_BONUS_PERCENTAGE: '100',
|
|
390
|
+
STREAK_BONUS_THRESHOLD: '30',
|
|
391
|
+
STREAK_BONUS_MULTIPLIER: '30',
|
|
392
|
+
EARLY_UNLOCK_PENALTY: '0.25',
|
|
393
|
+
EARLY_UNLOCK_LOCK_DURATION: '5',
|
|
394
|
+
CHECKIN_WINDOW: '2'
|
|
395
|
+
}
|
|
396
|
+
},
|
|
397
|
+
encoding: {
|
|
398
|
+
args: {
|
|
399
|
+
format: 'UTF-8 encoded strings',
|
|
400
|
+
description: 'All function arguments must be UTF-8 encoded as Uint8Array using TextEncoder',
|
|
401
|
+
example: {
|
|
402
|
+
lock: [
|
|
403
|
+
"new TextEncoder().encode('1000000000000')",
|
|
404
|
+
"new TextEncoder().encode('30d')"
|
|
405
|
+
]
|
|
406
|
+
}
|
|
407
|
+
},
|
|
408
|
+
storage: {
|
|
409
|
+
keys: {
|
|
410
|
+
format: 'Binary (48 bytes for account)',
|
|
411
|
+
description: 'Storage keys use binary account addresses, not base58'
|
|
412
|
+
},
|
|
413
|
+
values: {
|
|
414
|
+
format: 'UTF-8 strings',
|
|
415
|
+
description: 'All storage values are UTF-8 encoded strings'
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
};
|
|
420
|
+
//# sourceMappingURL=abi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abi.js","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/abi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LockupPrime Contract Call Builders
|
|
3
|
+
*
|
|
4
|
+
* Typed convenience builders that handle domain-to-ABI translation
|
|
5
|
+
* (e.g. human-readable amounts → atomic units) and return ContractCall objects.
|
|
6
|
+
*/
|
|
7
|
+
import type { ContractCall } from '../contract-call';
|
|
8
|
+
import { LOCKUP_PRIME_ABI } from './abi';
|
|
9
|
+
/**
|
|
10
|
+
* Build a LockupPrime `lock` call.
|
|
11
|
+
*
|
|
12
|
+
* @param params.amount - Amount in human-readable AMA (e.g. 100 or '100.5')
|
|
13
|
+
* @param params.tier - Lock tier: '7d' | '30d' | '90d' | '180d' | '365d'
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* const call = buildLockupPrimeLock({ amount: 100, tier: '30d' })
|
|
18
|
+
* TransactionBuilder.signCall(privateKey, call)
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function buildLockupPrimeLock(params: {
|
|
22
|
+
amount: number | string;
|
|
23
|
+
tier: string;
|
|
24
|
+
}): ContractCall<typeof LOCKUP_PRIME_ABI, 'lock'>;
|
|
25
|
+
/**
|
|
26
|
+
* Build a LockupPrime `unlock` call.
|
|
27
|
+
*
|
|
28
|
+
* @param params.vaultIndex - Vault index to unlock
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* const call = buildLockupPrimeUnlock({ vaultIndex: 3 })
|
|
33
|
+
* TransactionBuilder.signCall(privateKey, call)
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function buildLockupPrimeUnlock(params: {
|
|
37
|
+
vaultIndex: number | string;
|
|
38
|
+
}): ContractCall<typeof LOCKUP_PRIME_ABI, 'unlock'>;
|
|
39
|
+
/**
|
|
40
|
+
* Build a LockupPrime `daily_checkin` call.
|
|
41
|
+
*
|
|
42
|
+
* @param params.vaultIndex - Vault index for checkin
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* const call = buildLockupPrimeDailyCheckin({ vaultIndex: 7 })
|
|
47
|
+
* TransactionBuilder.signCall(privateKey, call)
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function buildLockupPrimeDailyCheckin(params: {
|
|
51
|
+
vaultIndex: number | string;
|
|
52
|
+
}): ContractCall<typeof LOCKUP_PRIME_ABI, 'daily_checkin'>;
|
|
53
|
+
//# sourceMappingURL=calls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/calls.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAExC;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC5C,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;CACZ,GAAG,YAAY,CAAC,OAAO,gBAAgB,EAAE,MAAM,CAAC,CAKhD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC9C,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;CAC3B,GAAG,YAAY,CAAC,OAAO,gBAAgB,EAAE,QAAQ,CAAC,CAIlD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IACpD,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;CAC3B,GAAG,YAAY,CAAC,OAAO,gBAAgB,EAAE,eAAe,CAAC,CAIzD"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LockupPrime Contract Call Builders
|
|
3
|
+
*
|
|
4
|
+
* Typed convenience builders that handle domain-to-ABI translation
|
|
5
|
+
* (e.g. human-readable amounts → atomic units) and return ContractCall objects.
|
|
6
|
+
*/
|
|
7
|
+
import { toAtomicAma } from '../../conversion';
|
|
8
|
+
import { buildContractCall } from '../contract-call';
|
|
9
|
+
import { LOCKUP_PRIME_ABI } from './abi';
|
|
10
|
+
/**
|
|
11
|
+
* Build a LockupPrime `lock` call.
|
|
12
|
+
*
|
|
13
|
+
* @param params.amount - Amount in human-readable AMA (e.g. 100 or '100.5')
|
|
14
|
+
* @param params.tier - Lock tier: '7d' | '30d' | '90d' | '180d' | '365d'
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const call = buildLockupPrimeLock({ amount: 100, tier: '30d' })
|
|
19
|
+
* TransactionBuilder.signCall(privateKey, call)
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export function buildLockupPrimeLock(params) {
|
|
23
|
+
return buildContractCall(LOCKUP_PRIME_ABI, 'lock', {
|
|
24
|
+
amount: toAtomicAma(params.amount).toString(),
|
|
25
|
+
tier: params.tier
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Build a LockupPrime `unlock` call.
|
|
30
|
+
*
|
|
31
|
+
* @param params.vaultIndex - Vault index to unlock
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* const call = buildLockupPrimeUnlock({ vaultIndex: 3 })
|
|
36
|
+
* TransactionBuilder.signCall(privateKey, call)
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export function buildLockupPrimeUnlock(params) {
|
|
40
|
+
return buildContractCall(LOCKUP_PRIME_ABI, 'unlock', {
|
|
41
|
+
vaultIndex: params.vaultIndex.toString()
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Build a LockupPrime `daily_checkin` call.
|
|
46
|
+
*
|
|
47
|
+
* @param params.vaultIndex - Vault index for checkin
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* const call = buildLockupPrimeDailyCheckin({ vaultIndex: 7 })
|
|
52
|
+
* TransactionBuilder.signCall(privateKey, call)
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export function buildLockupPrimeDailyCheckin(params) {
|
|
56
|
+
return buildContractCall(LOCKUP_PRIME_ABI, 'daily_checkin', {
|
|
57
|
+
vaultIndex: params.vaultIndex.toString()
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=calls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/calls.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAExC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAGpC;IACA,OAAO,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,EAAE;QAClD,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;QAC7C,IAAI,EAAE,MAAM,CAAC,IAAI;KACjB,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAEtC;IACA,OAAO,iBAAiB,CAAC,gBAAgB,EAAE,QAAQ,EAAE;QACpD,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE;KACxC,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAE5C;IACA,OAAO,iBAAiB,CAAC,gBAAgB,EAAE,eAAe,EAAE;QAC3D,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE;KACxC,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { NetworkType } from '../../networks';
|
|
2
|
+
import type { LockupPrimeAbiError, LockupPrimeAbiFunction, LockupPrimeAbiStorageKey, LockupPrimeTierKey, LockupTier } from './types';
|
|
3
|
+
/** PP rate per day per 1K AMA (same for both networks) */
|
|
4
|
+
export declare const RATE_MAP: Record<string, number>;
|
|
5
|
+
/**
|
|
6
|
+
* LockupPrime Contract Interface
|
|
7
|
+
* Provides access to contract ABI, tier configurations, and transaction building utilities
|
|
8
|
+
*/
|
|
9
|
+
export declare class LockupPrime {
|
|
10
|
+
/** Get function ABI by name */
|
|
11
|
+
static getFunction(name: string): LockupPrimeAbiFunction | undefined;
|
|
12
|
+
/** Get error by code */
|
|
13
|
+
static getError(code: string): LockupPrimeAbiError | undefined;
|
|
14
|
+
/** Get storage key by name */
|
|
15
|
+
static getStorageKey(name: string): LockupPrimeAbiStorageKey | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Get tier configuration from ABI constants
|
|
18
|
+
* @param tierKey - The tier identifier (e.g., '7d', '30d')
|
|
19
|
+
* @param network - Optional network type (defaults to mainnet)
|
|
20
|
+
*/
|
|
21
|
+
static getTier(tierKey: LockupPrimeTierKey | string, network?: NetworkType): LockupTier | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Get all available tiers
|
|
24
|
+
* @param network - Optional network type (defaults to mainnet)
|
|
25
|
+
*/
|
|
26
|
+
static getAvailableTiers(network?: NetworkType): LockupTier[];
|
|
27
|
+
/**
|
|
28
|
+
* Build transaction arguments for a function
|
|
29
|
+
* @deprecated Use `buildContractCall(LOCKUP_PRIME_ABI, functionName, params)` or the typed builders
|
|
30
|
+
* (`buildLockupPrimeLock`, `buildLockupPrimeUnlock`, `buildLockupPrimeDailyCheckin`) instead.
|
|
31
|
+
*/
|
|
32
|
+
static buildArgs(functionName: string, params: Record<string, any>): Uint8Array[];
|
|
33
|
+
/** Get contract name */
|
|
34
|
+
static getContractName(): string;
|
|
35
|
+
/** Get key prefix for a storage key name */
|
|
36
|
+
static getKeyPrefix(keyName: string): string | undefined;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAG5C,OAAO,KAAK,EACX,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,UAAU,EACV,MAAM,SAAS,CAAA;AAuDhB,0DAA0D;AAC1D,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM3C,CAAA;AAYD;;;GAGG;AACH,qBAAa,WAAW;IACvB,+BAA+B;IAC/B,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAMpE,wBAAwB;IACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAI9D,8BAA8B;IAC9B,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAIxE;;;;OAIG;IACH,MAAM,CAAC,OAAO,CACb,OAAO,EAAE,kBAAkB,GAAG,MAAM,EACpC,OAAO,CAAC,EAAE,WAAW,GACnB,UAAU,GAAG,SAAS;IAgBzB;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,EAAE;IAM7D;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,UAAU,EAAE;IAiBjF,wBAAwB;IACxB,MAAM,CAAC,eAAe,IAAI,MAAM;IAIhC,4CAA4C;IAC5C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAIxD"}
|