@black-market/sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/dist/abis.d.ts +2573 -0
  4. package/dist/abis.d.ts.map +1 -0
  5. package/dist/abis.js +1875 -0
  6. package/dist/abis.js.map +1 -0
  7. package/dist/abyss.d.ts +3650 -0
  8. package/dist/abyss.d.ts.map +1 -0
  9. package/dist/abyss.js +1522 -0
  10. package/dist/abyss.js.map +1 -0
  11. package/dist/addresses.d.ts +211 -0
  12. package/dist/addresses.d.ts.map +1 -0
  13. package/dist/addresses.js +234 -0
  14. package/dist/addresses.js.map +1 -0
  15. package/dist/auction.d.ts +57 -0
  16. package/dist/auction.d.ts.map +1 -0
  17. package/dist/auction.js +88 -0
  18. package/dist/auction.js.map +1 -0
  19. package/dist/client.d.ts +12 -0
  20. package/dist/client.d.ts.map +1 -0
  21. package/dist/client.js +18 -0
  22. package/dist/client.js.map +1 -0
  23. package/dist/format.d.ts +15 -0
  24. package/dist/format.d.ts.map +1 -0
  25. package/dist/format.js +78 -0
  26. package/dist/format.js.map +1 -0
  27. package/dist/index.d.ts +9 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +9 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/launch.d.ts +225 -0
  32. package/dist/launch.d.ts.map +1 -0
  33. package/dist/launch.js +511 -0
  34. package/dist/launch.js.map +1 -0
  35. package/dist/live.d.ts +185 -0
  36. package/dist/live.d.ts.map +1 -0
  37. package/dist/live.js +205 -0
  38. package/dist/live.js.map +1 -0
  39. package/package.json +51 -0
  40. package/src/abis.ts +1896 -0
  41. package/src/abyss.ts +1574 -0
  42. package/src/addresses.ts +342 -0
  43. package/src/auction.ts +107 -0
  44. package/src/client.ts +37 -0
  45. package/src/format.ts +73 -0
  46. package/src/index.ts +8 -0
  47. package/src/launch.ts +724 -0
  48. package/src/live.ts +393 -0
package/dist/abyss.js ADDED
@@ -0,0 +1,1522 @@
1
+ export var AbyssPoolProfile;
2
+ (function (AbyssPoolProfile) {
3
+ AbyssPoolProfile[AbyssPoolProfile["Standard"] = 0] = "Standard";
4
+ AbyssPoolProfile[AbyssPoolProfile["StandardOracle"] = 1] = "StandardOracle";
5
+ AbyssPoolProfile[AbyssPoolProfile["Quote"] = 2] = "Quote";
6
+ AbyssPoolProfile[AbyssPoolProfile["QuoteOracle"] = 3] = "QuoteOracle";
7
+ })(AbyssPoolProfile || (AbyssPoolProfile = {}));
8
+ export var TokenKind;
9
+ (function (TokenKind) {
10
+ TokenKind[TokenKind["Burnable"] = 0] = "Burnable";
11
+ TokenKind[TokenKind["HolderDividend"] = 1] = "HolderDividend";
12
+ })(TokenKind || (TokenKind = {}));
13
+ export const ABYSS_FEE_TIERS = [
14
+ { feePips: 500, tickSpacing: 10, label: "0.05%" },
15
+ { feePips: 3_000, tickSpacing: 60, label: "0.30%" },
16
+ { feePips: 10_000, tickSpacing: 200, label: "1%" },
17
+ { feePips: 20_000, tickSpacing: 400, label: "2%" },
18
+ { feePips: 50_000, tickSpacing: 1_000, label: "5%" },
19
+ { feePips: 100_000, tickSpacing: 2_000, label: "10%" },
20
+ { feePips: 150_000, tickSpacing: 3_000, label: "15%" },
21
+ ];
22
+ export const abyssFactoryAbi = [
23
+ {
24
+ type: "function",
25
+ name: "feeAmountTickSpacing",
26
+ stateMutability: "view",
27
+ inputs: [{ name: "fee", type: "uint24" }],
28
+ outputs: [{ name: "", type: "int24" }],
29
+ },
30
+ {
31
+ type: "function",
32
+ name: "oracleConfigs",
33
+ stateMutability: "view",
34
+ inputs: [{ name: "id", type: "bytes32" }],
35
+ outputs: [
36
+ { name: "maxAbsTickMove", type: "uint24" },
37
+ { name: "cardinality", type: "uint16" },
38
+ ],
39
+ },
40
+ {
41
+ type: "function",
42
+ name: "getPool",
43
+ stateMutability: "view",
44
+ inputs: [{ name: "poolId", type: "bytes32" }],
45
+ outputs: [{ name: "", type: "address" }],
46
+ },
47
+ {
48
+ type: "function",
49
+ name: "isPool",
50
+ stateMutability: "view",
51
+ inputs: [{ name: "pool", type: "address" }],
52
+ outputs: [{ name: "", type: "bool" }],
53
+ },
54
+ {
55
+ type: "function",
56
+ name: "computePoolId",
57
+ stateMutability: "view",
58
+ inputs: [
59
+ {
60
+ name: "key",
61
+ type: "tuple",
62
+ components: [
63
+ { name: "token0", type: "address" },
64
+ { name: "token1", type: "address" },
65
+ { name: "profile", type: "uint8" },
66
+ { name: "fee", type: "uint24" },
67
+ { name: "quoteIsToken0", type: "bool" },
68
+ { name: "oracleConfigId", type: "bytes32" },
69
+ ],
70
+ },
71
+ ],
72
+ outputs: [{ name: "", type: "bytes32" }],
73
+ },
74
+ {
75
+ type: "function",
76
+ name: "computePoolAddress",
77
+ stateMutability: "view",
78
+ inputs: [
79
+ {
80
+ name: "key",
81
+ type: "tuple",
82
+ components: [
83
+ { name: "token0", type: "address" },
84
+ { name: "token1", type: "address" },
85
+ { name: "profile", type: "uint8" },
86
+ { name: "fee", type: "uint24" },
87
+ { name: "quoteIsToken0", type: "bool" },
88
+ { name: "oracleConfigId", type: "bytes32" },
89
+ ],
90
+ },
91
+ ],
92
+ outputs: [{ name: "predicted", type: "address" }],
93
+ },
94
+ {
95
+ type: "event",
96
+ name: "PoolCreated",
97
+ inputs: [
98
+ { name: "token0", type: "address", indexed: true },
99
+ { name: "token1", type: "address", indexed: true },
100
+ { name: "fee", type: "uint24", indexed: true },
101
+ { name: "profile", type: "uint8", indexed: false },
102
+ { name: "quoteIsToken0", type: "bool", indexed: false },
103
+ { name: "oracleConfigId", type: "bytes32", indexed: false },
104
+ { name: "pool", type: "address", indexed: false },
105
+ ],
106
+ },
107
+ ];
108
+ export const abyssPoolAbi = [
109
+ {
110
+ type: "function",
111
+ name: "factory",
112
+ stateMutability: "view",
113
+ inputs: [],
114
+ outputs: [{ name: "", type: "address" }],
115
+ },
116
+ {
117
+ type: "function",
118
+ name: "token0",
119
+ stateMutability: "view",
120
+ inputs: [],
121
+ outputs: [{ name: "", type: "address" }],
122
+ },
123
+ {
124
+ type: "function",
125
+ name: "token1",
126
+ stateMutability: "view",
127
+ inputs: [],
128
+ outputs: [{ name: "", type: "address" }],
129
+ },
130
+ {
131
+ type: "function",
132
+ name: "fee",
133
+ stateMutability: "view",
134
+ inputs: [],
135
+ outputs: [{ name: "", type: "uint24" }],
136
+ },
137
+ {
138
+ type: "function",
139
+ name: "tickSpacing",
140
+ stateMutability: "view",
141
+ inputs: [],
142
+ outputs: [{ name: "", type: "int24" }],
143
+ },
144
+ {
145
+ type: "function",
146
+ name: "liquidity",
147
+ stateMutability: "view",
148
+ inputs: [],
149
+ outputs: [{ name: "", type: "uint128" }],
150
+ },
151
+ {
152
+ type: "function",
153
+ name: "slot0",
154
+ stateMutability: "view",
155
+ inputs: [],
156
+ outputs: [
157
+ { name: "sqrtPriceX96", type: "uint160" },
158
+ { name: "tick", type: "int24" },
159
+ { name: "observationIndex", type: "uint16" },
160
+ { name: "observationCardinality", type: "uint16" },
161
+ { name: "observationCardinalityNext", type: "uint16" },
162
+ { name: "feeProtocol", type: "uint8" },
163
+ { name: "unlocked", type: "bool" },
164
+ ],
165
+ },
166
+ {
167
+ type: "function",
168
+ name: "observeTruncated",
169
+ stateMutability: "view",
170
+ inputs: [{ name: "secondsAgos", type: "uint32[]" }],
171
+ outputs: [
172
+ { name: "tickCumulatives", type: "int56[]" },
173
+ { name: "secondsPerLiquidityCumulativeX128s", type: "uint160[]" },
174
+ ],
175
+ },
176
+ {
177
+ type: "function",
178
+ name: "quoteIsToken0",
179
+ stateMutability: "view",
180
+ inputs: [],
181
+ outputs: [{ name: "", type: "bool" }],
182
+ },
183
+ ];
184
+ export const abyssPositionManagerAbi = [
185
+ {
186
+ type: "function",
187
+ name: "factory",
188
+ stateMutability: "view",
189
+ inputs: [],
190
+ outputs: [{ name: "", type: "address" }],
191
+ },
192
+ {
193
+ type: "function",
194
+ name: "nextTokenId",
195
+ stateMutability: "view",
196
+ inputs: [],
197
+ outputs: [{ name: "", type: "uint256" }],
198
+ },
199
+ {
200
+ type: "function",
201
+ name: "positions",
202
+ stateMutability: "view",
203
+ inputs: [{ name: "tokenId", type: "uint256" }],
204
+ outputs: [
205
+ { name: "account", type: "address" },
206
+ { name: "pool", type: "address" },
207
+ { name: "tickLower", type: "int24" },
208
+ { name: "tickUpper", type: "int24" },
209
+ { name: "liquidity", type: "uint128" },
210
+ ],
211
+ },
212
+ {
213
+ type: "function",
214
+ name: "accountFor",
215
+ stateMutability: "view",
216
+ inputs: [
217
+ { name: "tokenId", type: "uint256" },
218
+ { name: "pool", type: "address" },
219
+ ],
220
+ outputs: [{ name: "account", type: "address" }],
221
+ },
222
+ {
223
+ type: "function",
224
+ name: "createAndInitializePoolIfNecessary",
225
+ stateMutability: "nonpayable",
226
+ inputs: [
227
+ {
228
+ name: "key",
229
+ type: "tuple",
230
+ components: [
231
+ { name: "token0", type: "address" },
232
+ { name: "token1", type: "address" },
233
+ { name: "profile", type: "uint8" },
234
+ { name: "fee", type: "uint24" },
235
+ { name: "quoteIsToken0", type: "bool" },
236
+ { name: "oracleConfigId", type: "bytes32" },
237
+ ],
238
+ },
239
+ { name: "sqrtPriceX96", type: "uint160" },
240
+ { name: "existingPriceMinimumX96", type: "uint160" },
241
+ { name: "existingPriceMaximumX96", type: "uint160" },
242
+ ],
243
+ outputs: [
244
+ { name: "pool", type: "address" },
245
+ { name: "created", type: "bool" },
246
+ ],
247
+ },
248
+ {
249
+ type: "function",
250
+ name: "mint",
251
+ stateMutability: "nonpayable",
252
+ inputs: [
253
+ { name: "pool", type: "address" },
254
+ { name: "recipient", type: "address" },
255
+ { name: "tickLower", type: "int24" },
256
+ { name: "tickUpper", type: "int24" },
257
+ { name: "liquidity", type: "uint128" },
258
+ { name: "amount0Maximum", type: "uint256" },
259
+ { name: "amount1Maximum", type: "uint256" },
260
+ { name: "deadline", type: "uint256" },
261
+ ],
262
+ outputs: [
263
+ { name: "tokenId", type: "uint256" },
264
+ { name: "amount0", type: "uint256" },
265
+ { name: "amount1", type: "uint256" },
266
+ ],
267
+ },
268
+ {
269
+ type: "function",
270
+ name: "multicall",
271
+ stateMutability: "payable",
272
+ inputs: [{ name: "data", type: "bytes[]" }],
273
+ outputs: [{ name: "results", type: "bytes[]" }],
274
+ },
275
+ {
276
+ type: "function",
277
+ name: "safeTransferFrom",
278
+ stateMutability: "payable",
279
+ inputs: [
280
+ { name: "from", type: "address" },
281
+ { name: "to", type: "address" },
282
+ { name: "id", type: "uint256" },
283
+ ],
284
+ outputs: [],
285
+ },
286
+ {
287
+ type: "function",
288
+ name: "safeTransferFrom",
289
+ stateMutability: "payable",
290
+ inputs: [
291
+ { name: "from", type: "address" },
292
+ { name: "to", type: "address" },
293
+ { name: "id", type: "uint256" },
294
+ { name: "data", type: "bytes" },
295
+ ],
296
+ outputs: [],
297
+ },
298
+ ];
299
+ export const abyssPositionLockerAbi = [
300
+ {
301
+ type: "function",
302
+ name: "positionManager",
303
+ stateMutability: "view",
304
+ inputs: [],
305
+ outputs: [{ name: "", type: "address" }],
306
+ },
307
+ {
308
+ type: "function",
309
+ name: "locks",
310
+ stateMutability: "view",
311
+ inputs: [{ name: "tokenId", type: "uint256" }],
312
+ outputs: [
313
+ { name: "owner", type: "address" },
314
+ { name: "claimAuthority", type: "address" },
315
+ { name: "feeRecipient", type: "address" },
316
+ { name: "unlockTime", type: "uint64" },
317
+ { name: "permissionlessClaim", type: "bool" },
318
+ ],
319
+ },
320
+ {
321
+ type: "function",
322
+ name: "claim",
323
+ stateMutability: "nonpayable",
324
+ inputs: [{ name: "tokenId", type: "uint256" }],
325
+ outputs: [
326
+ { name: "amount0", type: "uint128" },
327
+ { name: "amount1", type: "uint128" },
328
+ ],
329
+ },
330
+ ];
331
+ export const abyssRouterAbi = [
332
+ {
333
+ type: "function",
334
+ name: "factory",
335
+ stateMutability: "view",
336
+ inputs: [],
337
+ outputs: [{ name: "", type: "address" }],
338
+ },
339
+ {
340
+ type: "function",
341
+ name: "exactInputSingle",
342
+ stateMutability: "nonpayable",
343
+ inputs: [
344
+ {
345
+ name: "key",
346
+ type: "tuple",
347
+ components: [
348
+ { name: "token0", type: "address" },
349
+ { name: "token1", type: "address" },
350
+ { name: "profile", type: "uint8" },
351
+ { name: "fee", type: "uint24" },
352
+ { name: "quoteIsToken0", type: "bool" },
353
+ { name: "oracleConfigId", type: "bytes32" },
354
+ ],
355
+ },
356
+ { name: "recipient", type: "address" },
357
+ { name: "zeroForOne", type: "bool" },
358
+ { name: "amountIn", type: "uint256" },
359
+ { name: "amountOutMinimum", type: "uint256" },
360
+ { name: "sqrtPriceLimitX96", type: "uint160" },
361
+ { name: "deadline", type: "uint256" },
362
+ ],
363
+ outputs: [{ name: "amountOut", type: "uint256" }],
364
+ },
365
+ ];
366
+ const erc20SurfaceAbi = [
367
+ {
368
+ type: "function",
369
+ name: "name",
370
+ stateMutability: "view",
371
+ inputs: [],
372
+ outputs: [{ name: "", type: "string" }],
373
+ },
374
+ {
375
+ type: "function",
376
+ name: "symbol",
377
+ stateMutability: "view",
378
+ inputs: [],
379
+ outputs: [{ name: "", type: "string" }],
380
+ },
381
+ {
382
+ type: "function",
383
+ name: "decimals",
384
+ stateMutability: "view",
385
+ inputs: [],
386
+ outputs: [{ name: "", type: "uint8" }],
387
+ },
388
+ {
389
+ type: "function",
390
+ name: "totalSupply",
391
+ stateMutability: "view",
392
+ inputs: [],
393
+ outputs: [{ name: "", type: "uint256" }],
394
+ },
395
+ {
396
+ type: "function",
397
+ name: "balanceOf",
398
+ stateMutability: "view",
399
+ inputs: [{ name: "account", type: "address" }],
400
+ outputs: [{ name: "", type: "uint256" }],
401
+ },
402
+ {
403
+ type: "function",
404
+ name: "allowance",
405
+ stateMutability: "view",
406
+ inputs: [
407
+ { name: "owner", type: "address" },
408
+ { name: "spender", type: "address" },
409
+ ],
410
+ outputs: [{ name: "", type: "uint256" }],
411
+ },
412
+ {
413
+ type: "function",
414
+ name: "approve",
415
+ stateMutability: "nonpayable",
416
+ inputs: [
417
+ { name: "spender", type: "address" },
418
+ { name: "amount", type: "uint256" },
419
+ ],
420
+ outputs: [{ name: "", type: "bool" }],
421
+ },
422
+ {
423
+ type: "function",
424
+ name: "transfer",
425
+ stateMutability: "nonpayable",
426
+ inputs: [
427
+ { name: "recipient", type: "address" },
428
+ { name: "amount", type: "uint256" },
429
+ ],
430
+ outputs: [{ name: "", type: "bool" }],
431
+ },
432
+ {
433
+ type: "function",
434
+ name: "transferFrom",
435
+ stateMutability: "nonpayable",
436
+ inputs: [
437
+ { name: "sender", type: "address" },
438
+ { name: "recipient", type: "address" },
439
+ { name: "amount", type: "uint256" },
440
+ ],
441
+ outputs: [{ name: "", type: "bool" }],
442
+ },
443
+ ];
444
+ const configurableSupplyConstructor = {
445
+ type: "constructor",
446
+ stateMutability: "nonpayable",
447
+ inputs: [
448
+ { name: "name_", type: "string" },
449
+ { name: "symbol_", type: "string" },
450
+ { name: "decimals_", type: "uint8" },
451
+ { name: "recipient", type: "address" },
452
+ { name: "supply", type: "uint256" },
453
+ ],
454
+ };
455
+ export const abyssFixedSupplyTokenAbi = [
456
+ configurableSupplyConstructor,
457
+ ...erc20SurfaceAbi,
458
+ ];
459
+ export const burnableFixedSupplyTokenAbi = [
460
+ configurableSupplyConstructor,
461
+ ...erc20SurfaceAbi,
462
+ {
463
+ type: "function",
464
+ name: "burn",
465
+ stateMutability: "nonpayable",
466
+ inputs: [{ name: "amount", type: "uint256" }],
467
+ outputs: [],
468
+ },
469
+ {
470
+ type: "function",
471
+ name: "burnFrom",
472
+ stateMutability: "nonpayable",
473
+ inputs: [
474
+ { name: "account", type: "address" },
475
+ { name: "amount", type: "uint256" },
476
+ ],
477
+ outputs: [],
478
+ },
479
+ ];
480
+ export const launchTokenBurnSinkAbi = [
481
+ {
482
+ type: "constructor",
483
+ stateMutability: "nonpayable",
484
+ inputs: [{ name: "token_", type: "address" }],
485
+ },
486
+ {
487
+ type: "error",
488
+ name: "BurnAccountingMismatch",
489
+ inputs: [
490
+ { name: "balanceBefore", type: "uint256" },
491
+ { name: "balanceAfter", type: "uint256" },
492
+ { name: "supplyBefore", type: "uint256" },
493
+ { name: "supplyAfter", type: "uint256" },
494
+ ],
495
+ },
496
+ { type: "error", name: "BurnFailed", inputs: [] },
497
+ {
498
+ type: "error",
499
+ name: "InvalidToken",
500
+ inputs: [{ name: "token", type: "address" }],
501
+ },
502
+ { type: "error", name: "Reentrancy", inputs: [] },
503
+ { type: "error", name: "ZeroBalance", inputs: [] },
504
+ {
505
+ type: "event",
506
+ name: "Burned",
507
+ inputs: [
508
+ { name: "caller", type: "address", indexed: true },
509
+ { name: "amount", type: "uint256", indexed: false },
510
+ ],
511
+ anonymous: false,
512
+ },
513
+ {
514
+ type: "function",
515
+ name: "burn",
516
+ stateMutability: "nonpayable",
517
+ inputs: [],
518
+ outputs: [{ name: "amount", type: "uint256" }],
519
+ },
520
+ {
521
+ type: "function",
522
+ name: "token",
523
+ stateMutability: "view",
524
+ inputs: [],
525
+ outputs: [{ name: "", type: "address" }],
526
+ },
527
+ ];
528
+ const launchTokenFactoryBindingAbi = [
529
+ {
530
+ type: "function",
531
+ name: "configurator",
532
+ stateMutability: "view",
533
+ inputs: [],
534
+ outputs: [{ name: "", type: "address" }],
535
+ },
536
+ {
537
+ type: "function",
538
+ name: "launcher",
539
+ stateMutability: "view",
540
+ inputs: [],
541
+ outputs: [{ name: "", type: "address" }],
542
+ },
543
+ {
544
+ type: "function",
545
+ name: "DEPLOYMENT_SALT_DOMAIN",
546
+ stateMutability: "view",
547
+ inputs: [],
548
+ outputs: [{ name: "", type: "bytes32" }],
549
+ },
550
+ {
551
+ type: "function",
552
+ name: "deploymentNonce",
553
+ stateMutability: "view",
554
+ inputs: [],
555
+ outputs: [{ name: "", type: "uint256" }],
556
+ },
557
+ {
558
+ type: "function",
559
+ name: "setLauncher",
560
+ stateMutability: "nonpayable",
561
+ inputs: [{ name: "launcher_", type: "address" }],
562
+ outputs: [],
563
+ },
564
+ ];
565
+ export const launchTokenFactoryAbi = [
566
+ ...launchTokenFactoryBindingAbi,
567
+ {
568
+ type: "function",
569
+ name: "deploy",
570
+ stateMutability: "nonpayable",
571
+ inputs: [
572
+ { name: "creator", type: "address" },
573
+ { name: "kind", type: "uint8" },
574
+ { name: "name", type: "string" },
575
+ { name: "symbol", type: "string" },
576
+ { name: "decimals", type: "uint8" },
577
+ { name: "supply", type: "uint256" },
578
+ ],
579
+ outputs: [{ name: "token", type: "address" }],
580
+ },
581
+ {
582
+ type: "function",
583
+ name: "computeDeploymentSalt",
584
+ stateMutability: "view",
585
+ inputs: [
586
+ { name: "creator", type: "address" },
587
+ { name: "nonce", type: "uint256" },
588
+ { name: "prevrandao", type: "uint256" },
589
+ { name: "kind", type: "uint8" },
590
+ { name: "name", type: "string" },
591
+ { name: "symbol", type: "string" },
592
+ { name: "decimals", type: "uint8" },
593
+ { name: "supply", type: "uint256" },
594
+ ],
595
+ outputs: [{ name: "", type: "bytes32" }],
596
+ },
597
+ {
598
+ type: "function",
599
+ name: "predictTokenAddress",
600
+ stateMutability: "view",
601
+ inputs: [
602
+ { name: "creator", type: "address" },
603
+ { name: "nonce", type: "uint256" },
604
+ { name: "prevrandao", type: "uint256" },
605
+ { name: "kind", type: "uint8" },
606
+ { name: "name", type: "string" },
607
+ { name: "symbol", type: "string" },
608
+ { name: "decimals", type: "uint8" },
609
+ { name: "supply", type: "uint256" },
610
+ ],
611
+ outputs: [{ name: "token", type: "address" }],
612
+ },
613
+ {
614
+ type: "function",
615
+ name: "launchAuthority",
616
+ stateMutability: "view",
617
+ inputs: [{ name: "token", type: "address" }],
618
+ outputs: [{ name: "authority", type: "address" }],
619
+ },
620
+ {
621
+ type: "event",
622
+ name: "TokenDeployed",
623
+ inputs: [
624
+ { name: "token", type: "address", indexed: true },
625
+ { name: "creator", type: "address", indexed: true },
626
+ { name: "salt", type: "bytes32", indexed: true },
627
+ { name: "kind", type: "uint8", indexed: false },
628
+ { name: "nonce", type: "uint256", indexed: false },
629
+ { name: "prevrandao", type: "uint256", indexed: false },
630
+ ],
631
+ anonymous: false,
632
+ },
633
+ {
634
+ type: "event",
635
+ name: "LauncherConfigured",
636
+ inputs: [{ name: "launcher", type: "address", indexed: true }],
637
+ anonymous: false,
638
+ },
639
+ { type: "error", name: "EmptyName", inputs: [] },
640
+ { type: "error", name: "EmptySymbol", inputs: [] },
641
+ { type: "error", name: "ZeroSupply", inputs: [] },
642
+ { type: "error", name: "ZeroCreator", inputs: [] },
643
+ { type: "error", name: "Unauthorized", inputs: [] },
644
+ { type: "error", name: "AlreadyConfigured", inputs: [] },
645
+ { type: "error", name: "InvalidLauncher", inputs: [] },
646
+ ];
647
+ const abyssLaunchResultComponents = [
648
+ { name: "creator", type: "address" },
649
+ { name: "feeRecipient", type: "address" },
650
+ { name: "pool", type: "address" },
651
+ { name: "positionAccount", type: "address" },
652
+ { name: "tokenId", type: "uint256" },
653
+ { name: "amount0", type: "uint256" },
654
+ { name: "amount1", type: "uint256" },
655
+ { name: "created", type: "bool" },
656
+ ];
657
+ const abyssLaunchParamsComponents = [
658
+ { name: "launchedToken", type: "address" },
659
+ { name: "feeRecipient", type: "address" },
660
+ { name: "creator", type: "address" },
661
+ {
662
+ name: "key",
663
+ type: "tuple",
664
+ components: [
665
+ { name: "token0", type: "address" },
666
+ { name: "token1", type: "address" },
667
+ { name: "profile", type: "uint8" },
668
+ { name: "fee", type: "uint24" },
669
+ { name: "quoteIsToken0", type: "bool" },
670
+ { name: "oracleConfigId", type: "bytes32" },
671
+ ],
672
+ },
673
+ { name: "sqrtPriceX96", type: "uint160" },
674
+ { name: "existingPriceMinimumX96", type: "uint160" },
675
+ { name: "existingPriceMaximumX96", type: "uint160" },
676
+ { name: "tickLower", type: "int24" },
677
+ { name: "tickUpper", type: "int24" },
678
+ { name: "liquidity", type: "uint128" },
679
+ { name: "amount0Maximum", type: "uint256" },
680
+ { name: "amount1Maximum", type: "uint256" },
681
+ { name: "deadline", type: "uint256" },
682
+ ];
683
+ export const abyssLaunchCoordinatorAbi = [
684
+ {
685
+ type: "constructor",
686
+ stateMutability: "nonpayable",
687
+ inputs: [
688
+ { name: "factory_", type: "address" },
689
+ { name: "positionManager_", type: "address" },
690
+ { name: "positionLocker_", type: "address" },
691
+ { name: "tokenFactory_", type: "address" },
692
+ ],
693
+ },
694
+ {
695
+ type: "function",
696
+ name: "factory",
697
+ stateMutability: "view",
698
+ inputs: [],
699
+ outputs: [{ name: "", type: "address" }],
700
+ },
701
+ {
702
+ type: "function",
703
+ name: "positionManager",
704
+ stateMutability: "view",
705
+ inputs: [],
706
+ outputs: [{ name: "", type: "address" }],
707
+ },
708
+ {
709
+ type: "function",
710
+ name: "positionLocker",
711
+ stateMutability: "view",
712
+ inputs: [],
713
+ outputs: [{ name: "", type: "address" }],
714
+ },
715
+ {
716
+ type: "function",
717
+ name: "tokenFactory",
718
+ stateMutability: "view",
719
+ inputs: [],
720
+ outputs: [{ name: "", type: "address" }],
721
+ },
722
+ {
723
+ type: "function",
724
+ name: "launches",
725
+ stateMutability: "view",
726
+ inputs: [{ name: "launchedToken", type: "address" }],
727
+ outputs: [{ name: "result", type: "tuple", components: abyssLaunchResultComponents }],
728
+ },
729
+ {
730
+ type: "function",
731
+ name: "launch",
732
+ stateMutability: "nonpayable",
733
+ inputs: [{ name: "params", type: "tuple", components: abyssLaunchParamsComponents }],
734
+ outputs: [{ name: "result", type: "tuple", components: abyssLaunchResultComponents }],
735
+ },
736
+ {
737
+ type: "event",
738
+ name: "LaunchCompleted",
739
+ inputs: [
740
+ { name: "launchedToken", type: "address", indexed: true },
741
+ { name: "creator", type: "address", indexed: true },
742
+ { name: "pool", type: "address", indexed: true },
743
+ { name: "tokenId", type: "uint256", indexed: false },
744
+ { name: "positionAccount", type: "address", indexed: false },
745
+ { name: "feeRecipient", type: "address", indexed: false },
746
+ { name: "amount0", type: "uint256", indexed: false },
747
+ { name: "amount1", type: "uint256", indexed: false },
748
+ { name: "created", type: "bool", indexed: false },
749
+ ],
750
+ anonymous: false,
751
+ },
752
+ ];
753
+ export const dispositionComponents = [
754
+ { name: "ownerBps", type: "uint16" },
755
+ { name: "rewardsBps", type: "uint16" },
756
+ { name: "burnBps", type: "uint16" },
757
+ ];
758
+ export const launchTemplateComponents = [
759
+ { name: "tokenKindMask", type: "uint8" },
760
+ { name: "poolProfileMask", type: "uint8" },
761
+ { name: "rewardMode", type: "uint8" },
762
+ { name: "feeAssetMode", type: "uint8" },
763
+ { name: "rewardDuration", type: "uint32" },
764
+ { name: "launchedTokenIsQuote", type: "bool" },
765
+ { name: "launchedTokenDestinations", type: "uint8" },
766
+ { name: "pairedTokenDestinations", type: "uint8" },
767
+ ];
768
+ const registryBytes32Getter = (name) => ({
769
+ type: "function",
770
+ name,
771
+ stateMutability: "view",
772
+ inputs: [],
773
+ outputs: [{ name: "", type: "bytes32" }],
774
+ });
775
+ const registryUint32Getter = (name) => ({
776
+ type: "function",
777
+ name,
778
+ stateMutability: "view",
779
+ inputs: [],
780
+ outputs: [{ name: "", type: "uint32" }],
781
+ });
782
+ const registryUint8Getter = (name) => ({
783
+ type: "function",
784
+ name,
785
+ stateMutability: "view",
786
+ inputs: [],
787
+ outputs: [{ name: "", type: "uint8" }],
788
+ });
789
+ export const launchTemplateRegistryAbi = [
790
+ registryBytes32Getter("STANDARD_TEMPLATE_ID"),
791
+ registryBytes32Getter("QUOTE_STAKING_TEMPLATE_ID"),
792
+ registryBytes32Getter("QUOTE_DIVIDENDS_TEMPLATE_ID"),
793
+ registryBytes32Getter("DUAL_STAKING_TEMPLATE_ID"),
794
+ registryBytes32Getter("DUAL_DIVIDENDS_TEMPLATE_ID"),
795
+ registryBytes32Getter("FEE_BURN_TEMPLATE_ID"),
796
+ registryUint32Getter("INITIAL_VERSION"),
797
+ registryUint32Getter("REWARD_DURATION"),
798
+ registryUint8Getter("DESTINATION_OWNER"),
799
+ registryUint8Getter("DESTINATION_REWARDS"),
800
+ registryUint8Getter("DESTINATION_BURN"),
801
+ registryUint8Getter("REWARD_MODE_NONE"),
802
+ registryUint8Getter("REWARD_MODE_STAKING"),
803
+ registryUint8Getter("REWARD_MODE_DIVIDENDS"),
804
+ registryUint8Getter("FEE_ASSET_MODE_PROFILE"),
805
+ registryUint8Getter("FEE_ASSET_MODE_PAIRED_ONLY"),
806
+ registryUint8Getter("FEE_ASSET_MODE_BOTH"),
807
+ registryUint8Getter("FEE_ASSET_MODE_LAUNCHED_ONLY"),
808
+ {
809
+ type: "function",
810
+ name: "registrar",
811
+ stateMutability: "view",
812
+ inputs: [],
813
+ outputs: [{ name: "", type: "address" }],
814
+ },
815
+ {
816
+ type: "function",
817
+ name: "registerTemplate",
818
+ stateMutability: "nonpayable",
819
+ inputs: [
820
+ { name: "templateId", type: "bytes32" },
821
+ { name: "version", type: "uint32" },
822
+ { name: "config", type: "tuple", components: launchTemplateComponents },
823
+ ],
824
+ outputs: [],
825
+ },
826
+ {
827
+ type: "function",
828
+ name: "template",
829
+ stateMutability: "view",
830
+ inputs: [
831
+ { name: "templateId", type: "bytes32" },
832
+ { name: "version", type: "uint32" },
833
+ ],
834
+ outputs: [{ name: "config", type: "tuple", components: launchTemplateComponents }],
835
+ },
836
+ {
837
+ type: "function",
838
+ name: "isRegistered",
839
+ stateMutability: "view",
840
+ inputs: [
841
+ { name: "templateId", type: "bytes32" },
842
+ { name: "version", type: "uint32" },
843
+ ],
844
+ outputs: [{ name: "", type: "bool" }],
845
+ },
846
+ {
847
+ type: "function",
848
+ name: "templateKey",
849
+ stateMutability: "pure",
850
+ inputs: [
851
+ { name: "templateId", type: "bytes32" },
852
+ { name: "version", type: "uint32" },
853
+ ],
854
+ outputs: [{ name: "", type: "bytes32" }],
855
+ },
856
+ {
857
+ type: "function",
858
+ name: "supportsTokenKind",
859
+ stateMutability: "pure",
860
+ inputs: [
861
+ { name: "config", type: "tuple", components: launchTemplateComponents },
862
+ { name: "kind", type: "uint8" },
863
+ ],
864
+ outputs: [{ name: "", type: "bool" }],
865
+ },
866
+ {
867
+ type: "function",
868
+ name: "supportsPoolProfile",
869
+ stateMutability: "pure",
870
+ inputs: [
871
+ { name: "config", type: "tuple", components: launchTemplateComponents },
872
+ { name: "profile", type: "uint8" },
873
+ ],
874
+ outputs: [{ name: "", type: "bool" }],
875
+ },
876
+ {
877
+ type: "function",
878
+ name: "supportsDispositions",
879
+ stateMutability: "pure",
880
+ inputs: [
881
+ { name: "config", type: "tuple", components: launchTemplateComponents },
882
+ { name: "profile", type: "uint8" },
883
+ { name: "launchedTokenFees", type: "tuple", components: dispositionComponents },
884
+ { name: "pairedTokenFees", type: "tuple", components: dispositionComponents },
885
+ ],
886
+ outputs: [{ name: "", type: "bool" }],
887
+ },
888
+ {
889
+ type: "event",
890
+ name: "TemplateRegistered",
891
+ inputs: [
892
+ { name: "templateId", type: "bytes32", indexed: true },
893
+ { name: "version", type: "uint32", indexed: true },
894
+ { name: "config", type: "tuple", components: launchTemplateComponents, indexed: false },
895
+ ],
896
+ anonymous: false,
897
+ },
898
+ { type: "error", name: "InvalidTemplate", inputs: [] },
899
+ { type: "error", name: "TemplateAlreadyRegistered", inputs: [] },
900
+ { type: "error", name: "Unauthorized", inputs: [] },
901
+ ];
902
+ export const atomicTokenConfigComponents = [
903
+ { name: "kind", type: "uint8" },
904
+ { name: "name", type: "string" },
905
+ { name: "symbol", type: "string" },
906
+ { name: "decimals", type: "uint8" },
907
+ { name: "supply", type: "uint256" },
908
+ ];
909
+ export const atomicPoolConfigComponents = [
910
+ { name: "pairedToken", type: "address" },
911
+ { name: "launchedTokenIsQuote", type: "bool" },
912
+ { name: "profile", type: "uint8" },
913
+ { name: "fee", type: "uint24" },
914
+ { name: "oracleConfigId", type: "bytes32" },
915
+ { name: "launchTick", type: "int24" },
916
+ { name: "liquidity", type: "uint128" },
917
+ { name: "launchedTokenAmountMaximum", type: "uint256" },
918
+ { name: "pairedTokenAmountMaximum", type: "uint256" },
919
+ ];
920
+ export const atomicInitialBuyComponents = [
921
+ { name: "pairedTokenAmountIn", type: "uint256" },
922
+ { name: "launchedTokenAmountOutMinimum", type: "uint256" },
923
+ { name: "sqrtPriceLimitX96", type: "uint160" },
924
+ ];
925
+ export const atomicLaunchRequestComponents = [
926
+ { name: "creator", type: "address" },
927
+ { name: "templateId", type: "bytes32" },
928
+ { name: "templateVersion", type: "uint32" },
929
+ { name: "token", type: "tuple", components: atomicTokenConfigComponents },
930
+ { name: "pool", type: "tuple", components: atomicPoolConfigComponents },
931
+ { name: "initialBuy", type: "tuple", components: atomicInitialBuyComponents },
932
+ { name: "launchedTokenFees", type: "tuple", components: dispositionComponents },
933
+ { name: "pairedTokenFees", type: "tuple", components: dispositionComponents },
934
+ { name: "deadline", type: "uint256" },
935
+ ];
936
+ export const atomicLaunchReceiptComponents = [
937
+ { name: "token", type: "address" },
938
+ { name: "pool", type: "address" },
939
+ { name: "tokenId", type: "uint256" },
940
+ { name: "liquidityLaunchedTokenAmount", type: "uint256" },
941
+ { name: "liquidityPairedTokenAmount", type: "uint256" },
942
+ { name: "initialBuyPairedTokenAmount", type: "uint256" },
943
+ { name: "initialBuyLaunchedTokenAmount", type: "uint256" },
944
+ { name: "rewards", type: "address" },
945
+ { name: "splitter", type: "address" },
946
+ { name: "feeClaimer", type: "address" },
947
+ ];
948
+ const bytes32TemplateGetter = (name) => ({
949
+ type: "function",
950
+ name,
951
+ stateMutability: "view",
952
+ inputs: [],
953
+ outputs: [{ name: "", type: "bytes32" }],
954
+ });
955
+ const addressGetter = (name) => ({
956
+ type: "function",
957
+ name,
958
+ stateMutability: "view",
959
+ inputs: [],
960
+ outputs: [{ name: "", type: "address" }],
961
+ });
962
+ const uint256Getter = (name) => ({
963
+ type: "function",
964
+ name,
965
+ stateMutability: "view",
966
+ inputs: [],
967
+ outputs: [{ name: "", type: "uint256" }],
968
+ });
969
+ export const atomicLaunchFactoryAbi = [
970
+ bytes32TemplateGetter("STANDARD_TEMPLATE_ID"),
971
+ bytes32TemplateGetter("QUOTE_STAKING_TEMPLATE_ID"),
972
+ bytes32TemplateGetter("QUOTE_DIVIDENDS_TEMPLATE_ID"),
973
+ bytes32TemplateGetter("DUAL_STAKING_TEMPLATE_ID"),
974
+ bytes32TemplateGetter("DUAL_DIVIDENDS_TEMPLATE_ID"),
975
+ bytes32TemplateGetter("FEE_BURN_TEMPLATE_ID"),
976
+ {
977
+ type: "function",
978
+ name: "INITIAL_TEMPLATE_VERSION",
979
+ stateMutability: "view",
980
+ inputs: [],
981
+ outputs: [{ name: "", type: "uint32" }],
982
+ },
983
+ addressGetter("abyssFactory"),
984
+ addressGetter("coordinator"),
985
+ addressGetter("feeOwnerRegistry"),
986
+ uint256Getter("launchFee"),
987
+ addressGetter("launchFeeRecipient"),
988
+ addressGetter("moduleFactory"),
989
+ addressGetter("positionLocker"),
990
+ addressGetter("router"),
991
+ addressGetter("templateRegistry"),
992
+ addressGetter("tokenFactory"),
993
+ addressGetter("wrappedNative"),
994
+ {
995
+ type: "function",
996
+ name: "deployAndLaunch",
997
+ stateMutability: "payable",
998
+ inputs: [{ name: "request", type: "tuple", components: atomicLaunchRequestComponents }],
999
+ outputs: [{ name: "receipt", type: "tuple", components: atomicLaunchReceiptComponents }],
1000
+ },
1001
+ {
1002
+ type: "event",
1003
+ name: "AtomicLaunchCompleted",
1004
+ inputs: [
1005
+ { name: "token", type: "address", indexed: true },
1006
+ { name: "creator", type: "address", indexed: true },
1007
+ { name: "pool", type: "address", indexed: true },
1008
+ { name: "templateId", type: "bytes32", indexed: false },
1009
+ { name: "templateVersion", type: "uint32", indexed: false },
1010
+ { name: "tokenId", type: "uint256", indexed: false },
1011
+ { name: "liquidityLaunchedTokenAmount", type: "uint256", indexed: false },
1012
+ { name: "liquidityPairedTokenAmount", type: "uint256", indexed: false },
1013
+ { name: "initialBuyPairedTokenAmount", type: "uint256", indexed: false },
1014
+ { name: "initialBuyLaunchedTokenAmount", type: "uint256", indexed: false },
1015
+ ],
1016
+ anonymous: false,
1017
+ },
1018
+ {
1019
+ type: "event",
1020
+ name: "LaunchFeePaid",
1021
+ inputs: [
1022
+ { name: "token", type: "address", indexed: true },
1023
+ { name: "payer", type: "address", indexed: true },
1024
+ { name: "recipient", type: "address", indexed: true },
1025
+ { name: "amount", type: "uint256", indexed: false },
1026
+ ],
1027
+ anonymous: false,
1028
+ },
1029
+ {
1030
+ type: "event",
1031
+ name: "LaunchModulesDeployed",
1032
+ inputs: [
1033
+ { name: "token", type: "address", indexed: true },
1034
+ { name: "rewards", type: "address", indexed: false },
1035
+ { name: "splitter", type: "address", indexed: false },
1036
+ { name: "feeClaimer", type: "address", indexed: false },
1037
+ ],
1038
+ anonymous: false,
1039
+ },
1040
+ { type: "error", name: "ApprovalMismatch", inputs: [] },
1041
+ { type: "error", name: "ApproveFailed", inputs: [] },
1042
+ { type: "error", name: "ExistingPool", inputs: [] },
1043
+ { type: "error", name: "InexactTransfer", inputs: [] },
1044
+ { type: "error", name: "InvalidBinding", inputs: [] },
1045
+ { type: "error", name: "InvalidConfiguration", inputs: [] },
1046
+ { type: "error", name: "InvalidSwapResult", inputs: [] },
1047
+ { type: "error", name: "Reentrancy", inputs: [] },
1048
+ { type: "error", name: "TransferFailed", inputs: [] },
1049
+ { type: "error", name: "TransferFromFailed", inputs: [] },
1050
+ { type: "error", name: "UnsupportedTemplate", inputs: [] },
1051
+ {
1052
+ type: "error",
1053
+ name: "IncorrectLaunchFee",
1054
+ inputs: [
1055
+ { name: "provided", type: "uint256" },
1056
+ { name: "required", type: "uint256" },
1057
+ ],
1058
+ },
1059
+ { type: "error", name: "LaunchFeePaymentFailed", inputs: [] },
1060
+ ];
1061
+ // StreamedRewards.sol:90,95,104,113,45,40-41,118,123,26 — the shared reward surface inherited
1062
+ // by StakingRewardVault and HolderDividendTracker. Tuple components mirror the RewardData
1063
+ // struct fields (StreamedRewards.sol:29-38); note the two `earned` overloads.
1064
+ const streamedRewardsAbi = [
1065
+ {
1066
+ type: "function",
1067
+ name: "REWARDS_DURATION",
1068
+ stateMutability: "view",
1069
+ inputs: [],
1070
+ outputs: [{ name: "", type: "uint256" }],
1071
+ },
1072
+ {
1073
+ type: "function",
1074
+ name: "claim",
1075
+ stateMutability: "nonpayable",
1076
+ inputs: [],
1077
+ outputs: [
1078
+ { name: "amount0", type: "uint256" },
1079
+ { name: "amount1", type: "uint256" },
1080
+ ],
1081
+ },
1082
+ {
1083
+ type: "function",
1084
+ name: "claimFor",
1085
+ stateMutability: "nonpayable",
1086
+ inputs: [{ name: "beneficiary", type: "address" }],
1087
+ outputs: [
1088
+ { name: "amount0", type: "uint256" },
1089
+ { name: "amount1", type: "uint256" },
1090
+ ],
1091
+ },
1092
+ {
1093
+ type: "function",
1094
+ name: "earned",
1095
+ stateMutability: "view",
1096
+ inputs: [{ name: "account", type: "address" }],
1097
+ outputs: [
1098
+ { name: "amount0", type: "uint256" },
1099
+ { name: "amount1", type: "uint256" },
1100
+ ],
1101
+ },
1102
+ {
1103
+ type: "function",
1104
+ name: "earned",
1105
+ stateMutability: "view",
1106
+ inputs: [
1107
+ { name: "account", type: "address" },
1108
+ { name: "rewardToken", type: "address" },
1109
+ ],
1110
+ outputs: [{ name: "amount", type: "uint256" }],
1111
+ },
1112
+ {
1113
+ type: "function",
1114
+ name: "lastTimeRewardApplicable",
1115
+ stateMutability: "view",
1116
+ inputs: [{ name: "rewardToken", type: "address" }],
1117
+ outputs: [{ name: "", type: "uint256" }],
1118
+ },
1119
+ {
1120
+ type: "function",
1121
+ name: "rewardData",
1122
+ stateMutability: "view",
1123
+ inputs: [{ name: "rewardToken", type: "address" }],
1124
+ outputs: [
1125
+ { name: "periodFinish", type: "uint256" },
1126
+ { name: "rewardRate", type: "uint256" },
1127
+ { name: "lastUpdateTime", type: "uint256" },
1128
+ { name: "rewardPerTokenStored", type: "uint256" },
1129
+ { name: "rewardPerTokenRemainder", type: "uint256" },
1130
+ { name: "remainingRewards", type: "uint256" },
1131
+ { name: "queuedRewards", type: "uint256" },
1132
+ { name: "accountedBalance", type: "uint256" },
1133
+ ],
1134
+ },
1135
+ {
1136
+ type: "function",
1137
+ name: "rewardPerToken",
1138
+ stateMutability: "view",
1139
+ inputs: [{ name: "rewardToken", type: "address" }],
1140
+ outputs: [{ name: "", type: "uint256" }],
1141
+ },
1142
+ {
1143
+ type: "function",
1144
+ name: "rewardToken0",
1145
+ stateMutability: "view",
1146
+ inputs: [],
1147
+ outputs: [{ name: "", type: "address" }],
1148
+ },
1149
+ {
1150
+ type: "function",
1151
+ name: "rewardToken1",
1152
+ stateMutability: "view",
1153
+ inputs: [],
1154
+ outputs: [{ name: "", type: "address" }],
1155
+ },
1156
+ {
1157
+ type: "function",
1158
+ name: "rewardsDistributor",
1159
+ stateMutability: "view",
1160
+ inputs: [],
1161
+ outputs: [{ name: "", type: "address" }],
1162
+ },
1163
+ {
1164
+ type: "event",
1165
+ name: "RewardNotified",
1166
+ inputs: [
1167
+ { name: "rewardToken", type: "address", indexed: true },
1168
+ { name: "amount", type: "uint256", indexed: false },
1169
+ { name: "totalScheduled", type: "uint256", indexed: false },
1170
+ ],
1171
+ anonymous: false,
1172
+ },
1173
+ {
1174
+ type: "event",
1175
+ name: "RewardQueued",
1176
+ inputs: [
1177
+ { name: "rewardToken", type: "address", indexed: true },
1178
+ { name: "amount", type: "uint256", indexed: false },
1179
+ ],
1180
+ anonymous: false,
1181
+ },
1182
+ {
1183
+ type: "event",
1184
+ name: "RewardPaid",
1185
+ inputs: [
1186
+ { name: "beneficiary", type: "address", indexed: true },
1187
+ { name: "rewardToken", type: "address", indexed: true },
1188
+ { name: "amount", type: "uint256", indexed: false },
1189
+ ],
1190
+ anonymous: false,
1191
+ },
1192
+ { type: "error", name: "InexactTransfer", inputs: [] },
1193
+ { type: "error", name: "InvalidRewardTokens", inputs: [] },
1194
+ { type: "error", name: "NothingToClaim", inputs: [] },
1195
+ { type: "error", name: "RewardBalanceDeficit", inputs: [] },
1196
+ { type: "error", name: "Unauthorized", inputs: [] },
1197
+ { type: "error", name: "UnsupportedRewardToken", inputs: [] },
1198
+ { type: "error", name: "ZeroAddress", inputs: [] },
1199
+ { type: "error", name: "ZeroAmount", inputs: [] },
1200
+ ];
1201
+ // StakingRewardVault.sol:25,45,15-16,14,11-12 plus the full StreamedRewards surface.
1202
+ export const stakingRewardVaultAbi = [
1203
+ ...streamedRewardsAbi,
1204
+ {
1205
+ type: "function",
1206
+ name: "balanceOf",
1207
+ stateMutability: "view",
1208
+ inputs: [{ name: "account", type: "address" }],
1209
+ outputs: [{ name: "amount", type: "uint256" }],
1210
+ },
1211
+ {
1212
+ type: "function",
1213
+ name: "stake",
1214
+ stateMutability: "nonpayable",
1215
+ inputs: [{ name: "amount", type: "uint256" }],
1216
+ outputs: [],
1217
+ },
1218
+ {
1219
+ type: "function",
1220
+ name: "stakingToken",
1221
+ stateMutability: "view",
1222
+ inputs: [],
1223
+ outputs: [{ name: "", type: "address" }],
1224
+ },
1225
+ {
1226
+ type: "function",
1227
+ name: "totalSupply",
1228
+ stateMutability: "view",
1229
+ inputs: [],
1230
+ outputs: [{ name: "", type: "uint256" }],
1231
+ },
1232
+ {
1233
+ type: "function",
1234
+ name: "withdraw",
1235
+ stateMutability: "nonpayable",
1236
+ inputs: [{ name: "amount", type: "uint256" }],
1237
+ outputs: [],
1238
+ },
1239
+ {
1240
+ type: "event",
1241
+ name: "Staked",
1242
+ inputs: [
1243
+ { name: "account", type: "address", indexed: true },
1244
+ { name: "amount", type: "uint256", indexed: false },
1245
+ ],
1246
+ anonymous: false,
1247
+ },
1248
+ {
1249
+ type: "event",
1250
+ name: "Withdrawn",
1251
+ inputs: [
1252
+ { name: "account", type: "address", indexed: true },
1253
+ { name: "amount", type: "uint256", indexed: false },
1254
+ ],
1255
+ anonymous: false,
1256
+ },
1257
+ { type: "error", name: "InsufficientStake", inputs: [] },
1258
+ ];
1259
+ // HolderDividendTracker.sol:94,23,24,21,22,19 plus the full StreamedRewards surface.
1260
+ export const holderDividendTrackerAbi = [
1261
+ ...streamedRewardsAbi,
1262
+ {
1263
+ type: "function",
1264
+ name: "eligibleBalanceOf",
1265
+ stateMutability: "view",
1266
+ inputs: [{ name: "account", type: "address" }],
1267
+ outputs: [{ name: "", type: "uint256" }],
1268
+ },
1269
+ {
1270
+ type: "function",
1271
+ name: "eligibleSupply",
1272
+ stateMutability: "view",
1273
+ inputs: [],
1274
+ outputs: [{ name: "", type: "uint256" }],
1275
+ },
1276
+ {
1277
+ type: "function",
1278
+ name: "isExcluded",
1279
+ stateMutability: "view",
1280
+ inputs: [{ name: "account", type: "address" }],
1281
+ outputs: [{ name: "excluded", type: "bool" }],
1282
+ },
1283
+ {
1284
+ type: "function",
1285
+ name: "protocolAdmin",
1286
+ stateMutability: "view",
1287
+ inputs: [],
1288
+ outputs: [{ name: "", type: "address" }],
1289
+ },
1290
+ {
1291
+ type: "function",
1292
+ name: "trackedToken",
1293
+ stateMutability: "view",
1294
+ inputs: [],
1295
+ outputs: [{ name: "", type: "address" }],
1296
+ },
1297
+ {
1298
+ type: "event",
1299
+ name: "AccountExcluded",
1300
+ inputs: [
1301
+ { name: "account", type: "address", indexed: true },
1302
+ { name: "initial", type: "bool", indexed: true },
1303
+ ],
1304
+ anonymous: false,
1305
+ },
1306
+ ];
1307
+ // HolderDividendToken.sol:26,21 on top of the burnable fixed-supply token surface.
1308
+ export const holderDividendTokenAbi = [
1309
+ ...burnableFixedSupplyTokenAbi,
1310
+ {
1311
+ type: "function",
1312
+ name: "rewardTracker",
1313
+ stateMutability: "view",
1314
+ inputs: [],
1315
+ outputs: [{ name: "", type: "address" }],
1316
+ },
1317
+ {
1318
+ type: "event",
1319
+ name: "RewardTrackerConfigured",
1320
+ inputs: [{ name: "tracker", type: "address", indexed: true }],
1321
+ anonymous: false,
1322
+ },
1323
+ ];
1324
+ // LaunchFeeSplitter.sol:120,181,56,91,95,47-49,53,54,52,33-43. Policy tuple components mirror
1325
+ // the Disposition struct (contracts/src/interfaces/IAbyssLaunch.sol:23-27).
1326
+ export const launchFeeSplitterAbi = [
1327
+ {
1328
+ type: "function",
1329
+ name: "claimableOwnerFees",
1330
+ stateMutability: "view",
1331
+ inputs: [
1332
+ { name: "owner", type: "address" },
1333
+ { name: "token", type: "address" },
1334
+ ],
1335
+ outputs: [{ name: "amount", type: "uint256" }],
1336
+ },
1337
+ {
1338
+ type: "function",
1339
+ name: "claimer",
1340
+ stateMutability: "view",
1341
+ inputs: [],
1342
+ outputs: [{ name: "", type: "address" }],
1343
+ },
1344
+ {
1345
+ type: "function",
1346
+ name: "claimOwnerFees",
1347
+ stateMutability: "nonpayable",
1348
+ inputs: [
1349
+ { name: "token", type: "address" },
1350
+ { name: "recipient", type: "address" },
1351
+ ],
1352
+ outputs: [{ name: "amount", type: "uint256" }],
1353
+ },
1354
+ {
1355
+ type: "function",
1356
+ name: "distribute",
1357
+ stateMutability: "nonpayable",
1358
+ inputs: [{ name: "token", type: "address" }],
1359
+ outputs: [],
1360
+ },
1361
+ {
1362
+ type: "function",
1363
+ name: "launchToken",
1364
+ stateMutability: "view",
1365
+ inputs: [],
1366
+ outputs: [{ name: "", type: "address" }],
1367
+ },
1368
+ {
1369
+ type: "function",
1370
+ name: "requiresRewards",
1371
+ stateMutability: "view",
1372
+ inputs: [],
1373
+ outputs: [{ name: "", type: "bool" }],
1374
+ },
1375
+ {
1376
+ type: "function",
1377
+ name: "rewards",
1378
+ stateMutability: "view",
1379
+ inputs: [],
1380
+ outputs: [{ name: "", type: "address" }],
1381
+ },
1382
+ {
1383
+ type: "function",
1384
+ name: "token0",
1385
+ stateMutability: "view",
1386
+ inputs: [],
1387
+ outputs: [{ name: "", type: "address" }],
1388
+ },
1389
+ {
1390
+ type: "function",
1391
+ name: "token0Policy",
1392
+ stateMutability: "view",
1393
+ inputs: [],
1394
+ outputs: [{ name: "", type: "tuple", components: dispositionComponents }],
1395
+ },
1396
+ {
1397
+ type: "function",
1398
+ name: "token1",
1399
+ stateMutability: "view",
1400
+ inputs: [],
1401
+ outputs: [{ name: "", type: "address" }],
1402
+ },
1403
+ {
1404
+ type: "function",
1405
+ name: "token1Policy",
1406
+ stateMutability: "view",
1407
+ inputs: [],
1408
+ outputs: [{ name: "", type: "tuple", components: dispositionComponents }],
1409
+ },
1410
+ {
1411
+ type: "event",
1412
+ name: "Distributed",
1413
+ inputs: [
1414
+ { name: "token", type: "address", indexed: true },
1415
+ { name: "owner", type: "address", indexed: true },
1416
+ { name: "amount", type: "uint256", indexed: false },
1417
+ { name: "ownerAmount", type: "uint256", indexed: false },
1418
+ { name: "rewardsAmount", type: "uint256", indexed: false },
1419
+ { name: "burnAmount", type: "uint256", indexed: false },
1420
+ ],
1421
+ anonymous: false,
1422
+ },
1423
+ {
1424
+ type: "event",
1425
+ name: "OwnerFeesClaimed",
1426
+ inputs: [
1427
+ { name: "owner", type: "address", indexed: true },
1428
+ { name: "token", type: "address", indexed: true },
1429
+ { name: "recipient", type: "address", indexed: true },
1430
+ { name: "amount", type: "uint256", indexed: false },
1431
+ ],
1432
+ anonymous: false,
1433
+ },
1434
+ { type: "error", name: "InactivePolicy", inputs: [] },
1435
+ { type: "error", name: "InexactTransfer", inputs: [] },
1436
+ { type: "error", name: "InvalidBinding", inputs: [] },
1437
+ { type: "error", name: "InvalidRecipient", inputs: [] },
1438
+ { type: "error", name: "NothingToClaim", inputs: [] },
1439
+ { type: "error", name: "Unauthorized", inputs: [] },
1440
+ { type: "error", name: "UnsupportedToken", inputs: [] },
1441
+ ];
1442
+ // LockedFeeClaimer.sol:55,24-28,30 — the single atomic fee-moving transaction plus its
1443
+ // immutable binding reads.
1444
+ export const lockedFeeClaimerAbi = [
1445
+ {
1446
+ type: "function",
1447
+ name: "claimAndDistribute",
1448
+ stateMutability: "nonpayable",
1449
+ inputs: [],
1450
+ outputs: [
1451
+ { name: "amount0", type: "uint256" },
1452
+ { name: "amount1", type: "uint256" },
1453
+ ],
1454
+ },
1455
+ {
1456
+ type: "function",
1457
+ name: "positionLocker",
1458
+ stateMutability: "view",
1459
+ inputs: [],
1460
+ outputs: [{ name: "", type: "address" }],
1461
+ },
1462
+ {
1463
+ type: "function",
1464
+ name: "splitter",
1465
+ stateMutability: "view",
1466
+ inputs: [],
1467
+ outputs: [{ name: "", type: "address" }],
1468
+ },
1469
+ {
1470
+ type: "function",
1471
+ name: "token0",
1472
+ stateMutability: "view",
1473
+ inputs: [],
1474
+ outputs: [{ name: "", type: "address" }],
1475
+ },
1476
+ {
1477
+ type: "function",
1478
+ name: "token1",
1479
+ stateMutability: "view",
1480
+ inputs: [],
1481
+ outputs: [{ name: "", type: "address" }],
1482
+ },
1483
+ {
1484
+ type: "function",
1485
+ name: "tokenId",
1486
+ stateMutability: "view",
1487
+ inputs: [],
1488
+ outputs: [{ name: "", type: "uint256" }],
1489
+ },
1490
+ {
1491
+ type: "event",
1492
+ name: "ClaimedAndDistributed",
1493
+ inputs: [
1494
+ { name: "caller", type: "address", indexed: true },
1495
+ { name: "amount0", type: "uint256", indexed: false },
1496
+ { name: "amount1", type: "uint256", indexed: false },
1497
+ ],
1498
+ anonymous: false,
1499
+ },
1500
+ { type: "error", name: "ClaimMismatch", inputs: [] },
1501
+ { type: "error", name: "InexactTransfer", inputs: [] },
1502
+ { type: "error", name: "InvalidBinding", inputs: [] },
1503
+ { type: "error", name: "InvalidLock", inputs: [] },
1504
+ ];
1505
+ // LaunchFeeOwnerRegistry.sol:27-28 — fee-owner identity and bound splitter per launch token.
1506
+ export const launchFeeOwnerRegistryAbi = [
1507
+ {
1508
+ type: "function",
1509
+ name: "feeOwner",
1510
+ stateMutability: "view",
1511
+ inputs: [{ name: "launch", type: "address" }],
1512
+ outputs: [{ name: "owner", type: "address" }],
1513
+ },
1514
+ {
1515
+ type: "function",
1516
+ name: "feeSplitter",
1517
+ stateMutability: "view",
1518
+ inputs: [{ name: "launch", type: "address" }],
1519
+ outputs: [{ name: "splitter", type: "address" }],
1520
+ },
1521
+ ];
1522
+ //# sourceMappingURL=abyss.js.map