@bouncetech/contracts 1.3.0 → 1.4.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.
@@ -3,483 +3,543 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.leveragedTokenHelperAbi = void 0;
4
4
  exports.leveragedTokenHelperAbi = [
5
5
  {
6
- type: "constructor",
7
- inputs: [
6
+ "type": "constructor",
7
+ "inputs": [
8
8
  {
9
- name: "globalStorage_",
10
- type: "address",
11
- internalType: "address",
9
+ "name": "globalStorage_",
10
+ "type": "address",
11
+ "internalType": "address",
12
12
  },
13
13
  ],
14
- stateMutability: "nonpayable",
14
+ "stateMutability": "nonpayable",
15
15
  },
16
16
  {
17
- type: "function",
18
- name: "getLeveragedTokenAssetValue",
19
- inputs: [
17
+ "type": "function",
18
+ "name": "getLeveragedTokenBufferAssetValue",
19
+ "inputs": [
20
20
  {
21
- name: "leveragedTokenAddress_",
22
- type: "address",
23
- internalType: "address",
21
+ "name": "leveragedTokenAddress_",
22
+ "type": "address",
23
+ "internalType": "address",
24
24
  },
25
25
  ],
26
- outputs: [
26
+ "outputs": [
27
27
  {
28
- name: "",
29
- type: "int256",
30
- internalType: "int256",
28
+ "name": "",
29
+ "type": "int256",
30
+ "internalType": "int256",
31
31
  },
32
32
  ],
33
- stateMutability: "view",
33
+ "stateMutability": "view",
34
34
  },
35
35
  {
36
- type: "function",
37
- name: "getLeveragedTokenPositionData",
38
- inputs: [
36
+ "type": "function",
37
+ "name": "getLeveragedTokenPositionData",
38
+ "inputs": [
39
39
  {
40
- name: "leveragedTokenAddress_",
41
- type: "address",
42
- internalType: "address",
40
+ "name": "leveragedTokenAddress_",
41
+ "type": "address",
42
+ "internalType": "address",
43
43
  },
44
44
  ],
45
- outputs: [
45
+ "outputs": [
46
46
  {
47
- name: "",
48
- type: "tuple",
49
- internalType: "struct ILeveragedTokenHelper.LeveragedTokenPositionData",
50
- components: [
47
+ "name": "",
48
+ "type": "tuple",
49
+ "internalType": "struct ILeveragedTokenHelper.LeveragedTokenPositionData",
50
+ "components": [
51
51
  {
52
- name: "leveragedToken",
53
- type: "address",
54
- internalType: "address",
52
+ "name": "leveragedToken",
53
+ "type": "address",
54
+ "internalType": "address",
55
55
  },
56
56
  {
57
- name: "baseAssetContractBalance",
58
- type: "uint256",
59
- internalType: "uint256",
57
+ "name": "baseAssetContractBalance",
58
+ "type": "uint256",
59
+ "internalType": "uint256",
60
60
  },
61
61
  {
62
- name: "leveragedTokenCredit",
63
- type: "uint256",
64
- internalType: "uint256",
62
+ "name": "leveragedTokenCredit",
63
+ "type": "uint256",
64
+ "internalType": "uint256",
65
65
  },
66
66
  {
67
- name: "usdcSpotBalance",
68
- type: "uint256",
69
- internalType: "uint256",
67
+ "name": "usdcSpotBalance",
68
+ "type": "uint256",
69
+ "internalType": "uint256",
70
70
  },
71
71
  {
72
- name: "usdcPerpBalance",
73
- type: "uint256",
74
- internalType: "uint256",
72
+ "name": "usdcPerpBalance",
73
+ "type": "uint256",
74
+ "internalType": "uint256",
75
75
  },
76
76
  {
77
- name: "usdcMargin",
78
- type: "uint256",
79
- internalType: "uint256",
77
+ "name": "usdcMargin",
78
+ "type": "uint256",
79
+ "internalType": "uint256",
80
80
  },
81
81
  {
82
- name: "notionalValue",
83
- type: "uint256",
84
- internalType: "uint256",
82
+ "name": "notionalValue",
83
+ "type": "uint256",
84
+ "internalType": "uint256",
85
85
  },
86
86
  {
87
- name: "effectiveLeverage",
88
- type: "uint256",
89
- internalType: "uint256",
87
+ "name": "effectiveLeverage",
88
+ "type": "uint256",
89
+ "internalType": "uint256",
90
90
  },
91
91
  {
92
- name: "targetLeverage",
93
- type: "uint256",
94
- internalType: "uint256",
92
+ "name": "targetLeverage",
93
+ "type": "uint256",
94
+ "internalType": "uint256",
95
95
  },
96
96
  ],
97
97
  },
98
98
  ],
99
- stateMutability: "view",
99
+ "stateMutability": "view",
100
100
  },
101
101
  {
102
- type: "function",
103
- name: "getLeveragedTokens",
104
- inputs: [],
105
- outputs: [
102
+ "type": "function",
103
+ "name": "getLeveragedTokenPositionData",
104
+ "inputs": [],
105
+ "outputs": [
106
106
  {
107
- name: "",
108
- type: "tuple[]",
109
- internalType: "struct ILeveragedTokenHelper.LeveragedTokenData[]",
110
- components: [
107
+ "name": "",
108
+ "type": "tuple[]",
109
+ "internalType": "struct ILeveragedTokenHelper.LeveragedTokenPositionData[]",
110
+ "components": [
111
111
  {
112
- name: "leveragedToken",
113
- type: "address",
114
- internalType: "address",
112
+ "name": "leveragedToken",
113
+ "type": "address",
114
+ "internalType": "address",
115
115
  },
116
116
  {
117
- name: "marketId",
118
- type: "uint32",
119
- internalType: "uint32",
117
+ "name": "baseAssetContractBalance",
118
+ "type": "uint256",
119
+ "internalType": "uint256",
120
120
  },
121
121
  {
122
- name: "targetAsset",
123
- type: "string",
124
- internalType: "string",
122
+ "name": "leveragedTokenCredit",
123
+ "type": "uint256",
124
+ "internalType": "uint256",
125
125
  },
126
126
  {
127
- name: "targetLeverage",
128
- type: "uint256",
129
- internalType: "uint256",
127
+ "name": "usdcSpotBalance",
128
+ "type": "uint256",
129
+ "internalType": "uint256",
130
130
  },
131
131
  {
132
- name: "isLong",
133
- type: "bool",
134
- internalType: "bool",
132
+ "name": "usdcPerpBalance",
133
+ "type": "uint256",
134
+ "internalType": "uint256",
135
135
  },
136
136
  {
137
- name: "exchangeRate",
138
- type: "uint256",
139
- internalType: "uint256",
137
+ "name": "usdcMargin",
138
+ "type": "uint256",
139
+ "internalType": "uint256",
140
140
  },
141
141
  {
142
- name: "baseAssetBalance",
143
- type: "uint256",
144
- internalType: "uint256",
142
+ "name": "notionalValue",
143
+ "type": "uint256",
144
+ "internalType": "uint256",
145
145
  },
146
146
  {
147
- name: "totalAssets",
148
- type: "uint256",
149
- internalType: "uint256",
147
+ "name": "effectiveLeverage",
148
+ "type": "uint256",
149
+ "internalType": "uint256",
150
150
  },
151
151
  {
152
- name: "userCredit",
153
- type: "uint256",
154
- internalType: "uint256",
152
+ "name": "targetLeverage",
153
+ "type": "uint256",
154
+ "internalType": "uint256",
155
+ },
156
+ ],
157
+ },
158
+ ],
159
+ "stateMutability": "view",
160
+ },
161
+ {
162
+ "type": "function",
163
+ "name": "getLeveragedTokens",
164
+ "inputs": [],
165
+ "outputs": [
166
+ {
167
+ "name": "",
168
+ "type": "tuple[]",
169
+ "internalType": "struct ILeveragedTokenHelper.LeveragedTokenData[]",
170
+ "components": [
171
+ {
172
+ "name": "leveragedToken",
173
+ "type": "address",
174
+ "internalType": "address",
175
+ },
176
+ {
177
+ "name": "marketId",
178
+ "type": "uint32",
179
+ "internalType": "uint32",
180
+ },
181
+ {
182
+ "name": "targetAsset",
183
+ "type": "string",
184
+ "internalType": "string",
185
+ },
186
+ {
187
+ "name": "targetLeverage",
188
+ "type": "uint256",
189
+ "internalType": "uint256",
190
+ },
191
+ {
192
+ "name": "isLong",
193
+ "type": "bool",
194
+ "internalType": "bool",
195
+ },
196
+ {
197
+ "name": "exchangeRate",
198
+ "type": "uint256",
199
+ "internalType": "uint256",
200
+ },
201
+ {
202
+ "name": "baseAssetBalance",
203
+ "type": "uint256",
204
+ "internalType": "uint256",
205
+ },
206
+ {
207
+ "name": "totalAssets",
208
+ "type": "uint256",
209
+ "internalType": "uint256",
210
+ },
211
+ {
212
+ "name": "userCredit",
213
+ "type": "uint256",
214
+ "internalType": "uint256",
155
215
  },
156
216
  {
157
- name: "credit",
158
- type: "uint256",
159
- internalType: "uint256",
217
+ "name": "credit",
218
+ "type": "uint256",
219
+ "internalType": "uint256",
160
220
  },
161
221
  {
162
- name: "agentData",
163
- type: "tuple[3]",
164
- internalType: "struct ILeveragedTokenHelper.AgentData[3]",
165
- components: [
222
+ "name": "agentData",
223
+ "type": "tuple[3]",
224
+ "internalType": "struct ILeveragedTokenHelper.AgentData[3]",
225
+ "components": [
166
226
  {
167
- name: "slot",
168
- type: "uint8",
169
- internalType: "uint8",
227
+ "name": "slot",
228
+ "type": "uint8",
229
+ "internalType": "uint8",
170
230
  },
171
231
  {
172
- name: "agent",
173
- type: "address",
174
- internalType: "address",
232
+ "name": "agent",
233
+ "type": "address",
234
+ "internalType": "address",
175
235
  },
176
236
  {
177
- name: "createdAt",
178
- type: "uint256",
179
- internalType: "uint256",
237
+ "name": "createdAt",
238
+ "type": "uint256",
239
+ "internalType": "uint256",
180
240
  },
181
241
  ],
182
242
  },
183
243
  {
184
- name: "balanceOf",
185
- type: "uint256",
186
- internalType: "uint256",
244
+ "name": "balanceOf",
245
+ "type": "uint256",
246
+ "internalType": "uint256",
187
247
  },
188
248
  {
189
- name: "mintPaused",
190
- type: "bool",
191
- internalType: "bool",
249
+ "name": "mintPaused",
250
+ "type": "bool",
251
+ "internalType": "bool",
192
252
  },
193
253
  {
194
- name: "isStandbyMode",
195
- type: "bool",
196
- internalType: "bool",
254
+ "name": "isStandbyMode",
255
+ "type": "bool",
256
+ "internalType": "bool",
197
257
  },
198
258
  ],
199
259
  },
200
260
  ],
201
- stateMutability: "view",
261
+ "stateMutability": "view",
202
262
  },
203
263
  {
204
- type: "function",
205
- name: "getLeveragedTokens",
206
- inputs: [
264
+ "type": "function",
265
+ "name": "getLeveragedTokens",
266
+ "inputs": [
207
267
  {
208
- name: "user_",
209
- type: "address",
210
- internalType: "address",
268
+ "name": "user_",
269
+ "type": "address",
270
+ "internalType": "address",
211
271
  },
212
272
  {
213
- name: "onlyHeld_",
214
- type: "bool",
215
- internalType: "bool",
273
+ "name": "onlyHeld_",
274
+ "type": "bool",
275
+ "internalType": "bool",
216
276
  },
217
277
  ],
218
- outputs: [
278
+ "outputs": [
219
279
  {
220
- name: "",
221
- type: "tuple[]",
222
- internalType: "struct ILeveragedTokenHelper.LeveragedTokenData[]",
223
- components: [
280
+ "name": "",
281
+ "type": "tuple[]",
282
+ "internalType": "struct ILeveragedTokenHelper.LeveragedTokenData[]",
283
+ "components": [
224
284
  {
225
- name: "leveragedToken",
226
- type: "address",
227
- internalType: "address",
285
+ "name": "leveragedToken",
286
+ "type": "address",
287
+ "internalType": "address",
228
288
  },
229
289
  {
230
- name: "marketId",
231
- type: "uint32",
232
- internalType: "uint32",
290
+ "name": "marketId",
291
+ "type": "uint32",
292
+ "internalType": "uint32",
233
293
  },
234
294
  {
235
- name: "targetAsset",
236
- type: "string",
237
- internalType: "string",
295
+ "name": "targetAsset",
296
+ "type": "string",
297
+ "internalType": "string",
238
298
  },
239
299
  {
240
- name: "targetLeverage",
241
- type: "uint256",
242
- internalType: "uint256",
300
+ "name": "targetLeverage",
301
+ "type": "uint256",
302
+ "internalType": "uint256",
243
303
  },
244
304
  {
245
- name: "isLong",
246
- type: "bool",
247
- internalType: "bool",
305
+ "name": "isLong",
306
+ "type": "bool",
307
+ "internalType": "bool",
248
308
  },
249
309
  {
250
- name: "exchangeRate",
251
- type: "uint256",
252
- internalType: "uint256",
310
+ "name": "exchangeRate",
311
+ "type": "uint256",
312
+ "internalType": "uint256",
253
313
  },
254
314
  {
255
- name: "baseAssetBalance",
256
- type: "uint256",
257
- internalType: "uint256",
315
+ "name": "baseAssetBalance",
316
+ "type": "uint256",
317
+ "internalType": "uint256",
258
318
  },
259
319
  {
260
- name: "totalAssets",
261
- type: "uint256",
262
- internalType: "uint256",
320
+ "name": "totalAssets",
321
+ "type": "uint256",
322
+ "internalType": "uint256",
263
323
  },
264
324
  {
265
- name: "userCredit",
266
- type: "uint256",
267
- internalType: "uint256",
325
+ "name": "userCredit",
326
+ "type": "uint256",
327
+ "internalType": "uint256",
268
328
  },
269
329
  {
270
- name: "credit",
271
- type: "uint256",
272
- internalType: "uint256",
330
+ "name": "credit",
331
+ "type": "uint256",
332
+ "internalType": "uint256",
273
333
  },
274
334
  {
275
- name: "agentData",
276
- type: "tuple[3]",
277
- internalType: "struct ILeveragedTokenHelper.AgentData[3]",
278
- components: [
335
+ "name": "agentData",
336
+ "type": "tuple[3]",
337
+ "internalType": "struct ILeveragedTokenHelper.AgentData[3]",
338
+ "components": [
279
339
  {
280
- name: "slot",
281
- type: "uint8",
282
- internalType: "uint8",
340
+ "name": "slot",
341
+ "type": "uint8",
342
+ "internalType": "uint8",
283
343
  },
284
344
  {
285
- name: "agent",
286
- type: "address",
287
- internalType: "address",
345
+ "name": "agent",
346
+ "type": "address",
347
+ "internalType": "address",
288
348
  },
289
349
  {
290
- name: "createdAt",
291
- type: "uint256",
292
- internalType: "uint256",
350
+ "name": "createdAt",
351
+ "type": "uint256",
352
+ "internalType": "uint256",
293
353
  },
294
354
  ],
295
355
  },
296
356
  {
297
- name: "balanceOf",
298
- type: "uint256",
299
- internalType: "uint256",
357
+ "name": "balanceOf",
358
+ "type": "uint256",
359
+ "internalType": "uint256",
300
360
  },
301
361
  {
302
- name: "mintPaused",
303
- type: "bool",
304
- internalType: "bool",
362
+ "name": "mintPaused",
363
+ "type": "bool",
364
+ "internalType": "bool",
305
365
  },
306
366
  {
307
- name: "isStandbyMode",
308
- type: "bool",
309
- internalType: "bool",
367
+ "name": "isStandbyMode",
368
+ "type": "bool",
369
+ "internalType": "bool",
310
370
  },
311
371
  ],
312
372
  },
313
373
  ],
314
- stateMutability: "view",
374
+ "stateMutability": "view",
315
375
  },
316
376
  {
317
- type: "function",
318
- name: "getLeveragedTokensCoreData",
319
- inputs: [],
320
- outputs: [
377
+ "type": "function",
378
+ "name": "getLeveragedTokensCoreData",
379
+ "inputs": [],
380
+ "outputs": [
321
381
  {
322
- name: "",
323
- type: "tuple[]",
324
- internalType: "struct ILeveragedTokenHelper.LeveragedTokenCoreData[]",
325
- components: [
382
+ "name": "",
383
+ "type": "tuple[]",
384
+ "internalType": "struct ILeveragedTokenHelper.LeveragedTokenCoreData[]",
385
+ "components": [
326
386
  {
327
- name: "leveragedToken",
328
- type: "address",
329
- internalType: "address",
387
+ "name": "leveragedToken",
388
+ "type": "address",
389
+ "internalType": "address",
330
390
  },
331
391
  {
332
- name: "marketId",
333
- type: "uint32",
334
- internalType: "uint32",
392
+ "name": "marketId",
393
+ "type": "uint32",
394
+ "internalType": "uint32",
335
395
  },
336
396
  {
337
- name: "targetAsset",
338
- type: "string",
339
- internalType: "string",
397
+ "name": "targetAsset",
398
+ "type": "string",
399
+ "internalType": "string",
340
400
  },
341
401
  {
342
- name: "targetLeverage",
343
- type: "uint256",
344
- internalType: "uint256",
402
+ "name": "targetLeverage",
403
+ "type": "uint256",
404
+ "internalType": "uint256",
345
405
  },
346
406
  {
347
- name: "isLong",
348
- type: "bool",
349
- internalType: "bool",
407
+ "name": "isLong",
408
+ "type": "bool",
409
+ "internalType": "bool",
350
410
  },
351
411
  {
352
- name: "baseAssetBalance",
353
- type: "uint256",
354
- internalType: "uint256",
412
+ "name": "baseAssetBalance",
413
+ "type": "uint256",
414
+ "internalType": "uint256",
355
415
  },
356
416
  {
357
- name: "credit",
358
- type: "uint256",
359
- internalType: "uint256",
417
+ "name": "credit",
418
+ "type": "uint256",
419
+ "internalType": "uint256",
360
420
  },
361
421
  {
362
- name: "agentData",
363
- type: "tuple[3]",
364
- internalType: "struct ILeveragedTokenHelper.AgentData[3]",
365
- components: [
422
+ "name": "agentData",
423
+ "type": "tuple[3]",
424
+ "internalType": "struct ILeveragedTokenHelper.AgentData[3]",
425
+ "components": [
366
426
  {
367
- name: "slot",
368
- type: "uint8",
369
- internalType: "uint8",
427
+ "name": "slot",
428
+ "type": "uint8",
429
+ "internalType": "uint8",
370
430
  },
371
431
  {
372
- name: "agent",
373
- type: "address",
374
- internalType: "address",
432
+ "name": "agent",
433
+ "type": "address",
434
+ "internalType": "address",
375
435
  },
376
436
  {
377
- name: "createdAt",
378
- type: "uint256",
379
- internalType: "uint256",
437
+ "name": "createdAt",
438
+ "type": "uint256",
439
+ "internalType": "uint256",
380
440
  },
381
441
  ],
382
442
  },
383
443
  {
384
- name: "mintPaused",
385
- type: "bool",
386
- internalType: "bool",
444
+ "name": "mintPaused",
445
+ "type": "bool",
446
+ "internalType": "bool",
387
447
  },
388
448
  ],
389
449
  },
390
450
  ],
391
- stateMutability: "view",
451
+ "stateMutability": "view",
392
452
  },
393
453
  {
394
- type: "function",
395
- name: "getLeveragedTokensSnapshot",
396
- inputs: [],
397
- outputs: [
454
+ "type": "function",
455
+ "name": "getLeveragedTokensSnapshot",
456
+ "inputs": [],
457
+ "outputs": [
398
458
  {
399
- name: "",
400
- type: "tuple",
401
- internalType: "struct ILeveragedTokenHelper.LeveragedTokensSnapshot",
402
- components: [
459
+ "name": "",
460
+ "type": "tuple",
461
+ "internalType": "struct ILeveragedTokenHelper.LeveragedTokensSnapshot",
462
+ "components": [
403
463
  {
404
- name: "blockNumber",
405
- type: "uint256",
406
- internalType: "uint256",
464
+ "name": "blockNumber",
465
+ "type": "uint256",
466
+ "internalType": "uint256",
407
467
  },
408
468
  {
409
- name: "blockTimestamp",
410
- type: "uint256",
411
- internalType: "uint256",
469
+ "name": "blockTimestamp",
470
+ "type": "uint256",
471
+ "internalType": "uint256",
412
472
  },
413
473
  {
414
- name: "l1BlockNumber",
415
- type: "uint256",
416
- internalType: "uint256",
474
+ "name": "l1BlockNumber",
475
+ "type": "uint256",
476
+ "internalType": "uint256",
417
477
  },
418
478
  {
419
- name: "tokens",
420
- type: "tuple[]",
421
- internalType: "struct ILeveragedTokenHelper.LeveragedTokenSnapshotData[]",
422
- components: [
479
+ "name": "tokens",
480
+ "type": "tuple[]",
481
+ "internalType": "struct ILeveragedTokenHelper.LeveragedTokenSnapshotData[]",
482
+ "components": [
423
483
  {
424
- name: "leveragedToken",
425
- type: "address",
426
- internalType: "address",
484
+ "name": "leveragedToken",
485
+ "type": "address",
486
+ "internalType": "address",
427
487
  },
428
488
  {
429
- name: "exchangeRate",
430
- type: "uint256",
431
- internalType: "uint256",
489
+ "name": "exchangeRate",
490
+ "type": "uint256",
491
+ "internalType": "uint256",
432
492
  },
433
493
  {
434
- name: "baseAssetContractBalance",
435
- type: "uint256",
436
- internalType: "uint256",
494
+ "name": "baseAssetContractBalance",
495
+ "type": "uint256",
496
+ "internalType": "uint256",
437
497
  },
438
498
  {
439
- name: "leveragedTokenCredit",
440
- type: "uint256",
441
- internalType: "uint256",
499
+ "name": "leveragedTokenCredit",
500
+ "type": "uint256",
501
+ "internalType": "uint256",
442
502
  },
443
503
  {
444
- name: "usdcSpotBalance",
445
- type: "uint256",
446
- internalType: "uint256",
504
+ "name": "usdcSpotBalance",
505
+ "type": "uint256",
506
+ "internalType": "uint256",
447
507
  },
448
508
  {
449
- name: "usdcPerpBalance",
450
- type: "uint256",
451
- internalType: "uint256",
509
+ "name": "usdcPerpBalance",
510
+ "type": "uint256",
511
+ "internalType": "uint256",
452
512
  },
453
513
  {
454
- name: "usdcMargin",
455
- type: "uint256",
456
- internalType: "uint256",
514
+ "name": "usdcMargin",
515
+ "type": "uint256",
516
+ "internalType": "uint256",
457
517
  },
458
518
  {
459
- name: "totalAssets",
460
- type: "uint256",
461
- internalType: "uint256",
519
+ "name": "totalAssets",
520
+ "type": "uint256",
521
+ "internalType": "uint256",
462
522
  },
463
523
  {
464
- name: "notionalValue",
465
- type: "uint256",
466
- internalType: "uint256",
524
+ "name": "notionalValue",
525
+ "type": "uint256",
526
+ "internalType": "uint256",
467
527
  },
468
528
  ],
469
529
  },
470
530
  ],
471
531
  },
472
532
  ],
473
- stateMutability: "view",
533
+ "stateMutability": "view",
474
534
  },
475
535
  {
476
- type: "error",
477
- name: "DivisionByZero",
478
- inputs: [],
536
+ "type": "error",
537
+ "name": "DivisionByZero",
538
+ "inputs": [],
479
539
  },
480
540
  {
481
- type: "error",
482
- name: "PrecompileLib__L1BlockNumberPrecompileFailed",
483
- inputs: [],
541
+ "type": "error",
542
+ "name": "PrecompileLib__L1BlockNumberPrecompileFailed",
543
+ "inputs": [],
484
544
  },
485
545
  ];