@black-market/sdk 0.1.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +78 -20
  2. package/dist/abyss.d.ts +4 -2748
  3. package/dist/abyss.d.ts.map +1 -1
  4. package/dist/abyss.js +3 -1029
  5. package/dist/abyss.js.map +1 -1
  6. package/dist/addresses.d.ts +3 -7
  7. package/dist/addresses.d.ts.map +1 -1
  8. package/dist/addresses.js +6 -21
  9. package/dist/addresses.js.map +1 -1
  10. package/dist/auction.d.ts +2 -2
  11. package/dist/auction.d.ts.map +1 -1
  12. package/dist/auction.js +2 -2
  13. package/dist/auction.js.map +1 -1
  14. package/dist/index.d.ts +2 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/launch-api.d.ts +151 -0
  19. package/dist/launch-api.d.ts.map +1 -0
  20. package/dist/launch-api.js +117 -0
  21. package/dist/launch-api.js.map +1 -0
  22. package/dist/launch.d.ts +23 -185
  23. package/dist/launch.d.ts.map +1 -1
  24. package/dist/launch.js +35 -272
  25. package/dist/launch.js.map +1 -1
  26. package/dist/lifecycle/abi.d.ts +6402 -0
  27. package/dist/lifecycle/abi.d.ts.map +1 -0
  28. package/dist/lifecycle/abi.js +331 -0
  29. package/dist/lifecycle/abi.js.map +1 -0
  30. package/dist/lifecycle/authors.d.ts +133 -0
  31. package/dist/lifecycle/authors.d.ts.map +1 -0
  32. package/dist/lifecycle/authors.js +217 -0
  33. package/dist/lifecycle/authors.js.map +1 -0
  34. package/dist/lifecycle/fork.d.ts +15 -0
  35. package/dist/lifecycle/fork.d.ts.map +1 -0
  36. package/dist/lifecycle/fork.js +36 -0
  37. package/dist/lifecycle/fork.js.map +1 -0
  38. package/dist/lifecycle/index.d.ts +10 -0
  39. package/dist/lifecycle/index.d.ts.map +1 -0
  40. package/dist/lifecycle/index.js +10 -0
  41. package/dist/lifecycle/index.js.map +1 -0
  42. package/dist/lifecycle/markets.d.ts +349 -0
  43. package/dist/lifecycle/markets.d.ts.map +1 -0
  44. package/dist/lifecycle/markets.js +184 -0
  45. package/dist/lifecycle/markets.js.map +1 -0
  46. package/dist/lifecycle/planner.d.ts +20 -0
  47. package/dist/lifecycle/planner.d.ts.map +1 -0
  48. package/dist/lifecycle/planner.js +478 -0
  49. package/dist/lifecycle/planner.js.map +1 -0
  50. package/dist/lifecycle/progress.d.ts +36 -0
  51. package/dist/lifecycle/progress.d.ts.map +1 -0
  52. package/dist/lifecycle/progress.js +441 -0
  53. package/dist/lifecycle/progress.js.map +1 -0
  54. package/dist/lifecycle/rpc.d.ts +17 -0
  55. package/dist/lifecycle/rpc.d.ts.map +1 -0
  56. package/dist/lifecycle/rpc.js +100 -0
  57. package/dist/lifecycle/rpc.js.map +1 -0
  58. package/dist/lifecycle/schema.d.ts +1096 -0
  59. package/dist/lifecycle/schema.d.ts.map +1 -0
  60. package/dist/lifecycle/schema.js +337 -0
  61. package/dist/lifecycle/schema.js.map +1 -0
  62. package/dist/lifecycle/simulation.d.ts +3 -0
  63. package/dist/lifecycle/simulation.d.ts.map +1 -0
  64. package/dist/lifecycle/simulation.js +393 -0
  65. package/dist/lifecycle/simulation.js.map +1 -0
  66. package/dist/lifecycle/types.d.ts +273 -0
  67. package/dist/lifecycle/types.d.ts.map +1 -0
  68. package/dist/lifecycle/types.js +11 -0
  69. package/dist/lifecycle/types.js.map +1 -0
  70. package/docs/launch-lifecycle.md +213 -0
  71. package/package.json +12 -3
  72. package/src/abyss.ts +3 -1059
  73. package/src/addresses.ts +9 -26
  74. package/src/auction.ts +2 -2
  75. package/src/index.ts +2 -0
  76. package/src/launch-api.ts +110 -0
  77. package/src/launch.ts +43 -411
  78. package/src/lifecycle/abi.ts +339 -0
  79. package/src/lifecycle/authors.ts +203 -0
  80. package/src/lifecycle/fork.ts +36 -0
  81. package/src/lifecycle/index.ts +9 -0
  82. package/src/lifecycle/markets.ts +204 -0
  83. package/src/lifecycle/planner.ts +393 -0
  84. package/src/lifecycle/progress.ts +367 -0
  85. package/src/lifecycle/rpc.ts +88 -0
  86. package/src/lifecycle/schema.ts +390 -0
  87. package/src/lifecycle/simulation.ts +329 -0
  88. package/src/lifecycle/types.ts +132 -0
package/dist/abyss.js CHANGED
@@ -5,11 +5,6 @@ export var AbyssPoolProfile;
5
5
  AbyssPoolProfile[AbyssPoolProfile["Quote"] = 2] = "Quote";
6
6
  AbyssPoolProfile[AbyssPoolProfile["QuoteOracle"] = 3] = "QuoteOracle";
7
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
8
  export const ABYSS_FEE_TIERS = [
14
9
  { feePips: 500, tickSpacing: 10, label: "0.05%" },
15
10
  { feePips: 3_000, tickSpacing: 60, label: "0.30%" },
@@ -477,1030 +472,9 @@ export const burnableFixedSupplyTokenAbi = [
477
472
  outputs: [],
478
473
  },
479
474
  ];
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: [] },
475
+ /** Wrapped-native funding primitive; the ERC20 surface is shared with the DEX. */
476
+ export const wethAbi = [
477
+ { type: "function", name: "deposit", stateMutability: "payable", inputs: [], outputs: [] },
1504
478
  ];
1505
479
  // LaunchFeeOwnerRegistry.sol:27-28 — fee-owner identity and bound splitter per launch token.
1506
480
  export const launchFeeOwnerRegistryAbi = [