@black-market/sdk 0.1.0 → 0.4.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 (88) hide show
  1. package/README.md +92 -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 +6391 -0
  27. package/dist/lifecycle/abi.d.ts.map +1 -0
  28. package/dist/lifecycle/abi.js +335 -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 +186 -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 +481 -0
  49. package/dist/lifecycle/planner.js.map +1 -0
  50. package/dist/lifecycle/progress.d.ts +43 -0
  51. package/dist/lifecycle/progress.d.ts.map +1 -0
  52. package/dist/lifecycle/progress.js +449 -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 +1068 -0
  59. package/dist/lifecycle/schema.d.ts.map +1 -0
  60. package/dist/lifecycle/schema.js +335 -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 +243 -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 +343 -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 +205 -0
  83. package/src/lifecycle/planner.ts +396 -0
  84. package/src/lifecycle/progress.ts +378 -0
  85. package/src/lifecycle/rpc.ts +88 -0
  86. package/src/lifecycle/schema.ts +387 -0
  87. package/src/lifecycle/simulation.ts +329 -0
  88. package/src/lifecycle/types.ts +132 -0
package/src/abyss.ts CHANGED
@@ -7,10 +7,6 @@ export enum AbyssPoolProfile {
7
7
  QuoteOracle,
8
8
  }
9
9
 
10
- export enum TokenKind {
11
- Burnable,
12
- HolderDividend,
13
- }
14
10
 
15
11
  export type AbyssPoolKey = {
16
12
  token0: Address;
@@ -497,1062 +493,10 @@ export const burnableFixedSupplyTokenAbi = [
497
493
  outputs: [],
498
494
  },
499
495
  ] as const;
500
- export const launchTokenBurnSinkAbi = [
501
- {
502
- type: "constructor",
503
- stateMutability: "nonpayable",
504
- inputs: [{ name: "token_", type: "address" }],
505
- },
506
- {
507
- type: "error",
508
- name: "BurnAccountingMismatch",
509
- inputs: [
510
- { name: "balanceBefore", type: "uint256" },
511
- { name: "balanceAfter", type: "uint256" },
512
- { name: "supplyBefore", type: "uint256" },
513
- { name: "supplyAfter", type: "uint256" },
514
- ],
515
- },
516
- { type: "error", name: "BurnFailed", inputs: [] },
517
- {
518
- type: "error",
519
- name: "InvalidToken",
520
- inputs: [{ name: "token", type: "address" }],
521
- },
522
- { type: "error", name: "Reentrancy", inputs: [] },
523
- { type: "error", name: "ZeroBalance", inputs: [] },
524
- {
525
- type: "event",
526
- name: "Burned",
527
- inputs: [
528
- { name: "caller", type: "address", indexed: true },
529
- { name: "amount", type: "uint256", indexed: false },
530
- ],
531
- anonymous: false,
532
- },
533
- {
534
- type: "function",
535
- name: "burn",
536
- stateMutability: "nonpayable",
537
- inputs: [],
538
- outputs: [{ name: "amount", type: "uint256" }],
539
- },
540
- {
541
- type: "function",
542
- name: "token",
543
- stateMutability: "view",
544
- inputs: [],
545
- outputs: [{ name: "", type: "address" }],
546
- },
547
- ] as const;
548
-
549
- const launchTokenFactoryBindingAbi = [
550
- {
551
- type: "function",
552
- name: "configurator",
553
- stateMutability: "view",
554
- inputs: [],
555
- outputs: [{ name: "", type: "address" }],
556
- },
557
- {
558
- type: "function",
559
- name: "launcher",
560
- stateMutability: "view",
561
- inputs: [],
562
- outputs: [{ name: "", type: "address" }],
563
- },
564
- {
565
- type: "function",
566
- name: "DEPLOYMENT_SALT_DOMAIN",
567
- stateMutability: "view",
568
- inputs: [],
569
- outputs: [{ name: "", type: "bytes32" }],
570
- },
571
- {
572
- type: "function",
573
- name: "deploymentNonce",
574
- stateMutability: "view",
575
- inputs: [],
576
- outputs: [{ name: "", type: "uint256" }],
577
- },
578
- {
579
- type: "function",
580
- name: "setLauncher",
581
- stateMutability: "nonpayable",
582
- inputs: [{ name: "launcher_", type: "address" }],
583
- outputs: [],
584
- },
585
- ] as const;
586
-
587
- export const launchTokenFactoryAbi = [
588
- ...launchTokenFactoryBindingAbi,
589
- {
590
- type: "function",
591
- name: "deploy",
592
- stateMutability: "nonpayable",
593
- inputs: [
594
- { name: "creator", type: "address" },
595
- { name: "kind", type: "uint8" },
596
- { name: "name", type: "string" },
597
- { name: "symbol", type: "string" },
598
- { name: "decimals", type: "uint8" },
599
- { name: "supply", type: "uint256" },
600
- ],
601
- outputs: [{ name: "token", type: "address" }],
602
- },
603
- {
604
- type: "function",
605
- name: "computeDeploymentSalt",
606
- stateMutability: "view",
607
- inputs: [
608
- { name: "creator", type: "address" },
609
- { name: "nonce", type: "uint256" },
610
- { name: "prevrandao", type: "uint256" },
611
- { name: "kind", type: "uint8" },
612
- { name: "name", type: "string" },
613
- { name: "symbol", type: "string" },
614
- { name: "decimals", type: "uint8" },
615
- { name: "supply", type: "uint256" },
616
- ],
617
- outputs: [{ name: "", type: "bytes32" }],
618
- },
619
- {
620
- type: "function",
621
- name: "predictTokenAddress",
622
- stateMutability: "view",
623
- inputs: [
624
- { name: "creator", type: "address" },
625
- { name: "nonce", type: "uint256" },
626
- { name: "prevrandao", type: "uint256" },
627
- { name: "kind", type: "uint8" },
628
- { name: "name", type: "string" },
629
- { name: "symbol", type: "string" },
630
- { name: "decimals", type: "uint8" },
631
- { name: "supply", type: "uint256" },
632
- ],
633
- outputs: [{ name: "token", type: "address" }],
634
- },
635
- {
636
- type: "function",
637
- name: "launchAuthority",
638
- stateMutability: "view",
639
- inputs: [{ name: "token", type: "address" }],
640
- outputs: [{ name: "authority", type: "address" }],
641
- },
642
- {
643
- type: "event",
644
- name: "TokenDeployed",
645
- inputs: [
646
- { name: "token", type: "address", indexed: true },
647
- { name: "creator", type: "address", indexed: true },
648
- { name: "salt", type: "bytes32", indexed: true },
649
- { name: "kind", type: "uint8", indexed: false },
650
- { name: "nonce", type: "uint256", indexed: false },
651
- { name: "prevrandao", type: "uint256", indexed: false },
652
- ],
653
- anonymous: false,
654
- },
655
- {
656
- type: "event",
657
- name: "LauncherConfigured",
658
- inputs: [{ name: "launcher", type: "address", indexed: true }],
659
- anonymous: false,
660
- },
661
- { type: "error", name: "EmptyName", inputs: [] },
662
- { type: "error", name: "EmptySymbol", inputs: [] },
663
- { type: "error", name: "ZeroSupply", inputs: [] },
664
- { type: "error", name: "ZeroCreator", inputs: [] },
665
- { type: "error", name: "Unauthorized", inputs: [] },
666
- { type: "error", name: "AlreadyConfigured", inputs: [] },
667
- { type: "error", name: "InvalidLauncher", inputs: [] },
668
- ] as const;
669
-
670
- const abyssLaunchResultComponents = [
671
- { name: "creator", type: "address" },
672
- { name: "feeRecipient", type: "address" },
673
- { name: "pool", type: "address" },
674
- { name: "positionAccount", type: "address" },
675
- { name: "tokenId", type: "uint256" },
676
- { name: "amount0", type: "uint256" },
677
- { name: "amount1", type: "uint256" },
678
- { name: "created", type: "bool" },
679
- ] as const;
680
-
681
- const abyssLaunchParamsComponents = [
682
- { name: "launchedToken", type: "address" },
683
- { name: "feeRecipient", type: "address" },
684
- { name: "creator", type: "address" },
685
- {
686
- name: "key",
687
- type: "tuple",
688
- components: [
689
- { name: "token0", type: "address" },
690
- { name: "token1", type: "address" },
691
- { name: "profile", type: "uint8" },
692
- { name: "fee", type: "uint24" },
693
- { name: "quoteIsToken0", type: "bool" },
694
- { name: "oracleConfigId", type: "bytes32" },
695
- ],
696
- },
697
- { name: "sqrtPriceX96", type: "uint160" },
698
- { name: "existingPriceMinimumX96", type: "uint160" },
699
- { name: "existingPriceMaximumX96", type: "uint160" },
700
- { name: "tickLower", type: "int24" },
701
- { name: "tickUpper", type: "int24" },
702
- { name: "liquidity", type: "uint128" },
703
- { name: "amount0Maximum", type: "uint256" },
704
- { name: "amount1Maximum", type: "uint256" },
705
- { name: "deadline", type: "uint256" },
706
- ] as const;
707
-
708
- export const abyssLaunchCoordinatorAbi = [
709
- {
710
- type: "constructor",
711
- stateMutability: "nonpayable",
712
- inputs: [
713
- { name: "factory_", type: "address" },
714
- { name: "positionManager_", type: "address" },
715
- { name: "positionLocker_", type: "address" },
716
- { name: "tokenFactory_", type: "address" },
717
- ],
718
- },
719
- {
720
- type: "function",
721
- name: "factory",
722
- stateMutability: "view",
723
- inputs: [],
724
- outputs: [{ name: "", type: "address" }],
725
- },
726
- {
727
- type: "function",
728
- name: "positionManager",
729
- stateMutability: "view",
730
- inputs: [],
731
- outputs: [{ name: "", type: "address" }],
732
- },
733
- {
734
- type: "function",
735
- name: "positionLocker",
736
- stateMutability: "view",
737
- inputs: [],
738
- outputs: [{ name: "", type: "address" }],
739
- },
740
- {
741
- type: "function",
742
- name: "tokenFactory",
743
- stateMutability: "view",
744
- inputs: [],
745
- outputs: [{ name: "", type: "address" }],
746
- },
747
- {
748
- type: "function",
749
- name: "launches",
750
- stateMutability: "view",
751
- inputs: [{ name: "launchedToken", type: "address" }],
752
- outputs: [{ name: "result", type: "tuple", components: abyssLaunchResultComponents }],
753
- },
754
- {
755
- type: "function",
756
- name: "launch",
757
- stateMutability: "nonpayable",
758
- inputs: [{ name: "params", type: "tuple", components: abyssLaunchParamsComponents }],
759
- outputs: [{ name: "result", type: "tuple", components: abyssLaunchResultComponents }],
760
- },
761
- {
762
- type: "event",
763
- name: "LaunchCompleted",
764
- inputs: [
765
- { name: "launchedToken", type: "address", indexed: true },
766
- { name: "creator", type: "address", indexed: true },
767
- { name: "pool", type: "address", indexed: true },
768
- { name: "tokenId", type: "uint256", indexed: false },
769
- { name: "positionAccount", type: "address", indexed: false },
770
- { name: "feeRecipient", type: "address", indexed: false },
771
- { name: "amount0", type: "uint256", indexed: false },
772
- { name: "amount1", type: "uint256", indexed: false },
773
- { name: "created", type: "bool", indexed: false },
774
- ],
775
- anonymous: false,
776
- },
777
- ] as const;
778
-
779
- export const dispositionComponents = [
780
- { name: "ownerBps", type: "uint16" },
781
- { name: "rewardsBps", type: "uint16" },
782
- { name: "burnBps", type: "uint16" },
783
- ] as const;
784
-
785
- export const launchTemplateComponents = [
786
- { name: "tokenKindMask", type: "uint8" },
787
- { name: "poolProfileMask", type: "uint8" },
788
- { name: "rewardMode", type: "uint8" },
789
- { name: "feeAssetMode", type: "uint8" },
790
- { name: "rewardDuration", type: "uint32" },
791
- { name: "launchedTokenIsQuote", type: "bool" },
792
- { name: "launchedTokenDestinations", type: "uint8" },
793
- { name: "pairedTokenDestinations", type: "uint8" },
794
- ] as const;
795
-
796
- const registryBytes32Getter = (name: string) =>
797
- ({
798
- type: "function",
799
- name,
800
- stateMutability: "view",
801
- inputs: [],
802
- outputs: [{ name: "", type: "bytes32" }],
803
- }) as const;
804
-
805
- const registryUint32Getter = (name: string) =>
806
- ({
807
- type: "function",
808
- name,
809
- stateMutability: "view",
810
- inputs: [],
811
- outputs: [{ name: "", type: "uint32" }],
812
- }) as const;
813
-
814
- const registryUint8Getter = (name: string) =>
815
- ({
816
- type: "function",
817
- name,
818
- stateMutability: "view",
819
- inputs: [],
820
- outputs: [{ name: "", type: "uint8" }],
821
- }) as const;
822
-
823
- export const launchTemplateRegistryAbi = [
824
- registryBytes32Getter("STANDARD_TEMPLATE_ID"),
825
- registryBytes32Getter("QUOTE_STAKING_TEMPLATE_ID"),
826
- registryBytes32Getter("QUOTE_DIVIDENDS_TEMPLATE_ID"),
827
- registryBytes32Getter("DUAL_STAKING_TEMPLATE_ID"),
828
- registryBytes32Getter("DUAL_DIVIDENDS_TEMPLATE_ID"),
829
- registryBytes32Getter("FEE_BURN_TEMPLATE_ID"),
830
- registryUint32Getter("INITIAL_VERSION"),
831
- registryUint32Getter("REWARD_DURATION"),
832
- registryUint8Getter("DESTINATION_OWNER"),
833
- registryUint8Getter("DESTINATION_REWARDS"),
834
- registryUint8Getter("DESTINATION_BURN"),
835
- registryUint8Getter("REWARD_MODE_NONE"),
836
- registryUint8Getter("REWARD_MODE_STAKING"),
837
- registryUint8Getter("REWARD_MODE_DIVIDENDS"),
838
- registryUint8Getter("FEE_ASSET_MODE_PROFILE"),
839
- registryUint8Getter("FEE_ASSET_MODE_PAIRED_ONLY"),
840
- registryUint8Getter("FEE_ASSET_MODE_BOTH"),
841
- registryUint8Getter("FEE_ASSET_MODE_LAUNCHED_ONLY"),
842
- {
843
- type: "function",
844
- name: "registrar",
845
- stateMutability: "view",
846
- inputs: [],
847
- outputs: [{ name: "", type: "address" }],
848
- },
849
- {
850
- type: "function",
851
- name: "registerTemplate",
852
- stateMutability: "nonpayable",
853
- inputs: [
854
- { name: "templateId", type: "bytes32" },
855
- { name: "version", type: "uint32" },
856
- { name: "config", type: "tuple", components: launchTemplateComponents },
857
- ],
858
- outputs: [],
859
- },
860
- {
861
- type: "function",
862
- name: "template",
863
- stateMutability: "view",
864
- inputs: [
865
- { name: "templateId", type: "bytes32" },
866
- { name: "version", type: "uint32" },
867
- ],
868
- outputs: [{ name: "config", type: "tuple", components: launchTemplateComponents }],
869
- },
870
- {
871
- type: "function",
872
- name: "isRegistered",
873
- stateMutability: "view",
874
- inputs: [
875
- { name: "templateId", type: "bytes32" },
876
- { name: "version", type: "uint32" },
877
- ],
878
- outputs: [{ name: "", type: "bool" }],
879
- },
880
- {
881
- type: "function",
882
- name: "templateKey",
883
- stateMutability: "pure",
884
- inputs: [
885
- { name: "templateId", type: "bytes32" },
886
- { name: "version", type: "uint32" },
887
- ],
888
- outputs: [{ name: "", type: "bytes32" }],
889
- },
890
- {
891
- type: "function",
892
- name: "supportsTokenKind",
893
- stateMutability: "pure",
894
- inputs: [
895
- { name: "config", type: "tuple", components: launchTemplateComponents },
896
- { name: "kind", type: "uint8" },
897
- ],
898
- outputs: [{ name: "", type: "bool" }],
899
- },
900
- {
901
- type: "function",
902
- name: "supportsPoolProfile",
903
- stateMutability: "pure",
904
- inputs: [
905
- { name: "config", type: "tuple", components: launchTemplateComponents },
906
- { name: "profile", type: "uint8" },
907
- ],
908
- outputs: [{ name: "", type: "bool" }],
909
- },
910
- {
911
- type: "function",
912
- name: "supportsDispositions",
913
- stateMutability: "pure",
914
- inputs: [
915
- { name: "config", type: "tuple", components: launchTemplateComponents },
916
- { name: "profile", type: "uint8" },
917
- { name: "launchedTokenFees", type: "tuple", components: dispositionComponents },
918
- { name: "pairedTokenFees", type: "tuple", components: dispositionComponents },
919
- ],
920
- outputs: [{ name: "", type: "bool" }],
921
- },
922
- {
923
- type: "event",
924
- name: "TemplateRegistered",
925
- inputs: [
926
- { name: "templateId", type: "bytes32", indexed: true },
927
- { name: "version", type: "uint32", indexed: true },
928
- { name: "config", type: "tuple", components: launchTemplateComponents, indexed: false },
929
- ],
930
- anonymous: false,
931
- },
932
- { type: "error", name: "InvalidTemplate", inputs: [] },
933
- { type: "error", name: "TemplateAlreadyRegistered", inputs: [] },
934
- { type: "error", name: "Unauthorized", inputs: [] },
935
- ] as const;
936
-
937
- export const atomicTokenConfigComponents = [
938
- { name: "kind", type: "uint8" },
939
- { name: "name", type: "string" },
940
- { name: "symbol", type: "string" },
941
- { name: "decimals", type: "uint8" },
942
- { name: "supply", type: "uint256" },
943
- ] as const;
944
-
945
- export const atomicPoolConfigComponents = [
946
- { name: "pairedToken", type: "address" },
947
- { name: "launchedTokenIsQuote", type: "bool" },
948
- { name: "profile", type: "uint8" },
949
- { name: "fee", type: "uint24" },
950
- { name: "oracleConfigId", type: "bytes32" },
951
- { name: "launchTick", type: "int24" },
952
- { name: "liquidity", type: "uint128" },
953
- { name: "launchedTokenAmountMaximum", type: "uint256" },
954
- { name: "pairedTokenAmountMaximum", type: "uint256" },
955
- ] as const;
956
496
 
957
- export const atomicInitialBuyComponents = [
958
- { name: "pairedTokenAmountIn", type: "uint256" },
959
- { name: "launchedTokenAmountOutMinimum", type: "uint256" },
960
- { name: "sqrtPriceLimitX96", type: "uint160" },
961
- ] as const;
962
-
963
-
964
- export const atomicLaunchRequestComponents = [
965
- { name: "creator", type: "address" },
966
- { name: "templateId", type: "bytes32" },
967
- { name: "templateVersion", type: "uint32" },
968
- { name: "token", type: "tuple", components: atomicTokenConfigComponents },
969
- { name: "pool", type: "tuple", components: atomicPoolConfigComponents },
970
- { name: "initialBuy", type: "tuple", components: atomicInitialBuyComponents },
971
- { name: "launchedTokenFees", type: "tuple", components: dispositionComponents },
972
- { name: "pairedTokenFees", type: "tuple", components: dispositionComponents },
973
- { name: "deadline", type: "uint256" },
974
- ] as const;
975
-
976
- export const atomicLaunchReceiptComponents = [
977
- { name: "token", type: "address" },
978
- { name: "pool", type: "address" },
979
- { name: "tokenId", type: "uint256" },
980
- { name: "liquidityLaunchedTokenAmount", type: "uint256" },
981
- { name: "liquidityPairedTokenAmount", type: "uint256" },
982
- { name: "initialBuyPairedTokenAmount", type: "uint256" },
983
- { name: "initialBuyLaunchedTokenAmount", type: "uint256" },
984
- { name: "rewards", type: "address" },
985
- { name: "splitter", type: "address" },
986
- { name: "feeClaimer", type: "address" },
987
- ] as const;
988
-
989
- const bytes32TemplateGetter = (name: string) =>
990
- ({
991
- type: "function",
992
- name,
993
- stateMutability: "view",
994
- inputs: [],
995
- outputs: [{ name: "", type: "bytes32" }],
996
- }) as const;
997
-
998
- const addressGetter = (name: string) =>
999
- ({
1000
- type: "function",
1001
- name,
1002
- stateMutability: "view",
1003
- inputs: [],
1004
- outputs: [{ name: "", type: "address" }],
1005
- }) as const;
1006
-
1007
- const uint256Getter = (name: string) =>
1008
- ({
1009
- type: "function",
1010
- name,
1011
- stateMutability: "view",
1012
- inputs: [],
1013
- outputs: [{ name: "", type: "uint256" }],
1014
- }) as const;
1015
-
1016
- export const atomicLaunchFactoryAbi = [
1017
- bytes32TemplateGetter("STANDARD_TEMPLATE_ID"),
1018
- bytes32TemplateGetter("QUOTE_STAKING_TEMPLATE_ID"),
1019
- bytes32TemplateGetter("QUOTE_DIVIDENDS_TEMPLATE_ID"),
1020
- bytes32TemplateGetter("DUAL_STAKING_TEMPLATE_ID"),
1021
- bytes32TemplateGetter("DUAL_DIVIDENDS_TEMPLATE_ID"),
1022
- bytes32TemplateGetter("FEE_BURN_TEMPLATE_ID"),
1023
- {
1024
- type: "function",
1025
- name: "INITIAL_TEMPLATE_VERSION",
1026
- stateMutability: "view",
1027
- inputs: [],
1028
- outputs: [{ name: "", type: "uint32" }],
1029
- },
1030
- addressGetter("abyssFactory"),
1031
- addressGetter("coordinator"),
1032
- addressGetter("feeOwnerRegistry"),
1033
- uint256Getter("launchFee"),
1034
- addressGetter("launchFeeRecipient"),
1035
- addressGetter("moduleFactory"),
1036
- addressGetter("positionLocker"),
1037
- addressGetter("router"),
1038
- addressGetter("templateRegistry"),
1039
- addressGetter("tokenFactory"),
1040
- addressGetter("wrappedNative"),
1041
- {
1042
- type: "function",
1043
- name: "deployAndLaunch",
1044
- stateMutability: "payable",
1045
- inputs: [{ name: "request", type: "tuple", components: atomicLaunchRequestComponents }],
1046
- outputs: [{ name: "receipt", type: "tuple", components: atomicLaunchReceiptComponents }],
1047
- },
1048
- {
1049
- type: "event",
1050
- name: "AtomicLaunchCompleted",
1051
- inputs: [
1052
- { name: "token", type: "address", indexed: true },
1053
- { name: "creator", type: "address", indexed: true },
1054
- { name: "pool", type: "address", indexed: true },
1055
- { name: "templateId", type: "bytes32", indexed: false },
1056
- { name: "templateVersion", type: "uint32", indexed: false },
1057
- { name: "tokenId", type: "uint256", indexed: false },
1058
- { name: "liquidityLaunchedTokenAmount", type: "uint256", indexed: false },
1059
- { name: "liquidityPairedTokenAmount", type: "uint256", indexed: false },
1060
- { name: "initialBuyPairedTokenAmount", type: "uint256", indexed: false },
1061
- { name: "initialBuyLaunchedTokenAmount", type: "uint256", indexed: false },
1062
- ],
1063
- anonymous: false,
1064
- },
1065
- {
1066
- type: "event",
1067
- name: "LaunchFeePaid",
1068
- inputs: [
1069
- { name: "token", type: "address", indexed: true },
1070
- { name: "payer", type: "address", indexed: true },
1071
- { name: "recipient", type: "address", indexed: true },
1072
- { name: "amount", type: "uint256", indexed: false },
1073
- ],
1074
- anonymous: false,
1075
- },
1076
- {
1077
- type: "event",
1078
- name: "LaunchModulesDeployed",
1079
- inputs: [
1080
- { name: "token", type: "address", indexed: true },
1081
- { name: "rewards", type: "address", indexed: false },
1082
- { name: "splitter", type: "address", indexed: false },
1083
- { name: "feeClaimer", type: "address", indexed: false },
1084
- ],
1085
- anonymous: false,
1086
- },
1087
- { type: "error", name: "ApprovalMismatch", inputs: [] },
1088
- { type: "error", name: "ApproveFailed", inputs: [] },
1089
- { type: "error", name: "ExistingPool", inputs: [] },
1090
- { type: "error", name: "InexactTransfer", inputs: [] },
1091
- { type: "error", name: "InvalidBinding", inputs: [] },
1092
- { type: "error", name: "InvalidConfiguration", inputs: [] },
1093
- { type: "error", name: "InvalidSwapResult", inputs: [] },
1094
- { type: "error", name: "Reentrancy", inputs: [] },
1095
- { type: "error", name: "TransferFailed", inputs: [] },
1096
- { type: "error", name: "TransferFromFailed", inputs: [] },
1097
- { type: "error", name: "UnsupportedTemplate", inputs: [] },
1098
- {
1099
- type: "error",
1100
- name: "IncorrectLaunchFee",
1101
- inputs: [
1102
- { name: "provided", type: "uint256" },
1103
- { name: "required", type: "uint256" },
1104
- ],
1105
- },
1106
- { type: "error", name: "LaunchFeePaymentFailed", inputs: [] },
1107
- ] as const;
1108
- // StreamedRewards.sol:90,95,104,113,45,40-41,118,123,26 — the shared reward surface inherited
1109
- // by StakingRewardVault and HolderDividendTracker. Tuple components mirror the RewardData
1110
- // struct fields (StreamedRewards.sol:29-38); note the two `earned` overloads.
1111
- const streamedRewardsAbi = [
1112
- {
1113
- type: "function",
1114
- name: "REWARDS_DURATION",
1115
- stateMutability: "view",
1116
- inputs: [],
1117
- outputs: [{ name: "", type: "uint256" }],
1118
- },
1119
- {
1120
- type: "function",
1121
- name: "claim",
1122
- stateMutability: "nonpayable",
1123
- inputs: [],
1124
- outputs: [
1125
- { name: "amount0", type: "uint256" },
1126
- { name: "amount1", type: "uint256" },
1127
- ],
1128
- },
1129
- {
1130
- type: "function",
1131
- name: "claimFor",
1132
- stateMutability: "nonpayable",
1133
- inputs: [{ name: "beneficiary", type: "address" }],
1134
- outputs: [
1135
- { name: "amount0", type: "uint256" },
1136
- { name: "amount1", type: "uint256" },
1137
- ],
1138
- },
1139
- {
1140
- type: "function",
1141
- name: "earned",
1142
- stateMutability: "view",
1143
- inputs: [{ name: "account", type: "address" }],
1144
- outputs: [
1145
- { name: "amount0", type: "uint256" },
1146
- { name: "amount1", type: "uint256" },
1147
- ],
1148
- },
1149
- {
1150
- type: "function",
1151
- name: "earned",
1152
- stateMutability: "view",
1153
- inputs: [
1154
- { name: "account", type: "address" },
1155
- { name: "rewardToken", type: "address" },
1156
- ],
1157
- outputs: [{ name: "amount", type: "uint256" }],
1158
- },
1159
- {
1160
- type: "function",
1161
- name: "lastTimeRewardApplicable",
1162
- stateMutability: "view",
1163
- inputs: [{ name: "rewardToken", type: "address" }],
1164
- outputs: [{ name: "", type: "uint256" }],
1165
- },
1166
- {
1167
- type: "function",
1168
- name: "rewardData",
1169
- stateMutability: "view",
1170
- inputs: [{ name: "rewardToken", type: "address" }],
1171
- outputs: [
1172
- { name: "periodFinish", type: "uint256" },
1173
- { name: "rewardRate", type: "uint256" },
1174
- { name: "lastUpdateTime", type: "uint256" },
1175
- { name: "rewardPerTokenStored", type: "uint256" },
1176
- { name: "rewardPerTokenRemainder", type: "uint256" },
1177
- { name: "remainingRewards", type: "uint256" },
1178
- { name: "queuedRewards", type: "uint256" },
1179
- { name: "accountedBalance", type: "uint256" },
1180
- ],
1181
- },
1182
- {
1183
- type: "function",
1184
- name: "rewardPerToken",
1185
- stateMutability: "view",
1186
- inputs: [{ name: "rewardToken", type: "address" }],
1187
- outputs: [{ name: "", type: "uint256" }],
1188
- },
1189
- {
1190
- type: "function",
1191
- name: "rewardToken0",
1192
- stateMutability: "view",
1193
- inputs: [],
1194
- outputs: [{ name: "", type: "address" }],
1195
- },
1196
- {
1197
- type: "function",
1198
- name: "rewardToken1",
1199
- stateMutability: "view",
1200
- inputs: [],
1201
- outputs: [{ name: "", type: "address" }],
1202
- },
1203
- {
1204
- type: "function",
1205
- name: "rewardsDistributor",
1206
- stateMutability: "view",
1207
- inputs: [],
1208
- outputs: [{ name: "", type: "address" }],
1209
- },
1210
- {
1211
- type: "event",
1212
- name: "RewardNotified",
1213
- inputs: [
1214
- { name: "rewardToken", type: "address", indexed: true },
1215
- { name: "amount", type: "uint256", indexed: false },
1216
- { name: "totalScheduled", type: "uint256", indexed: false },
1217
- ],
1218
- anonymous: false,
1219
- },
1220
- {
1221
- type: "event",
1222
- name: "RewardQueued",
1223
- inputs: [
1224
- { name: "rewardToken", type: "address", indexed: true },
1225
- { name: "amount", type: "uint256", indexed: false },
1226
- ],
1227
- anonymous: false,
1228
- },
1229
- {
1230
- type: "event",
1231
- name: "RewardPaid",
1232
- inputs: [
1233
- { name: "beneficiary", type: "address", indexed: true },
1234
- { name: "rewardToken", type: "address", indexed: true },
1235
- { name: "amount", type: "uint256", indexed: false },
1236
- ],
1237
- anonymous: false,
1238
- },
1239
- { type: "error", name: "InexactTransfer", inputs: [] },
1240
- { type: "error", name: "InvalidRewardTokens", inputs: [] },
1241
- { type: "error", name: "NothingToClaim", inputs: [] },
1242
- { type: "error", name: "RewardBalanceDeficit", inputs: [] },
1243
- { type: "error", name: "Unauthorized", inputs: [] },
1244
- { type: "error", name: "UnsupportedRewardToken", inputs: [] },
1245
- { type: "error", name: "ZeroAddress", inputs: [] },
1246
- { type: "error", name: "ZeroAmount", inputs: [] },
1247
- ] as const;
1248
-
1249
- // StakingRewardVault.sol:25,45,15-16,14,11-12 plus the full StreamedRewards surface.
1250
- export const stakingRewardVaultAbi = [
1251
- ...streamedRewardsAbi,
1252
- {
1253
- type: "function",
1254
- name: "balanceOf",
1255
- stateMutability: "view",
1256
- inputs: [{ name: "account", type: "address" }],
1257
- outputs: [{ name: "amount", type: "uint256" }],
1258
- },
1259
- {
1260
- type: "function",
1261
- name: "stake",
1262
- stateMutability: "nonpayable",
1263
- inputs: [{ name: "amount", type: "uint256" }],
1264
- outputs: [],
1265
- },
1266
- {
1267
- type: "function",
1268
- name: "stakingToken",
1269
- stateMutability: "view",
1270
- inputs: [],
1271
- outputs: [{ name: "", type: "address" }],
1272
- },
1273
- {
1274
- type: "function",
1275
- name: "totalSupply",
1276
- stateMutability: "view",
1277
- inputs: [],
1278
- outputs: [{ name: "", type: "uint256" }],
1279
- },
1280
- {
1281
- type: "function",
1282
- name: "withdraw",
1283
- stateMutability: "nonpayable",
1284
- inputs: [{ name: "amount", type: "uint256" }],
1285
- outputs: [],
1286
- },
1287
- {
1288
- type: "event",
1289
- name: "Staked",
1290
- inputs: [
1291
- { name: "account", type: "address", indexed: true },
1292
- { name: "amount", type: "uint256", indexed: false },
1293
- ],
1294
- anonymous: false,
1295
- },
1296
- {
1297
- type: "event",
1298
- name: "Withdrawn",
1299
- inputs: [
1300
- { name: "account", type: "address", indexed: true },
1301
- { name: "amount", type: "uint256", indexed: false },
1302
- ],
1303
- anonymous: false,
1304
- },
1305
- { type: "error", name: "InsufficientStake", inputs: [] },
1306
- ] as const;
1307
-
1308
- // HolderDividendTracker.sol:94,23,24,21,22,19 plus the full StreamedRewards surface.
1309
- export const holderDividendTrackerAbi = [
1310
- ...streamedRewardsAbi,
1311
- {
1312
- type: "function",
1313
- name: "eligibleBalanceOf",
1314
- stateMutability: "view",
1315
- inputs: [{ name: "account", type: "address" }],
1316
- outputs: [{ name: "", type: "uint256" }],
1317
- },
1318
- {
1319
- type: "function",
1320
- name: "eligibleSupply",
1321
- stateMutability: "view",
1322
- inputs: [],
1323
- outputs: [{ name: "", type: "uint256" }],
1324
- },
1325
- {
1326
- type: "function",
1327
- name: "isExcluded",
1328
- stateMutability: "view",
1329
- inputs: [{ name: "account", type: "address" }],
1330
- outputs: [{ name: "excluded", type: "bool" }],
1331
- },
1332
- {
1333
- type: "function",
1334
- name: "protocolAdmin",
1335
- stateMutability: "view",
1336
- inputs: [],
1337
- outputs: [{ name: "", type: "address" }],
1338
- },
1339
- {
1340
- type: "function",
1341
- name: "trackedToken",
1342
- stateMutability: "view",
1343
- inputs: [],
1344
- outputs: [{ name: "", type: "address" }],
1345
- },
1346
- {
1347
- type: "event",
1348
- name: "AccountExcluded",
1349
- inputs: [
1350
- { name: "account", type: "address", indexed: true },
1351
- { name: "initial", type: "bool", indexed: true },
1352
- ],
1353
- anonymous: false,
1354
- },
1355
- ] as const;
1356
-
1357
- // HolderDividendToken.sol:26,21 on top of the burnable fixed-supply token surface.
1358
- export const holderDividendTokenAbi = [
1359
- ...burnableFixedSupplyTokenAbi,
1360
- {
1361
- type: "function",
1362
- name: "rewardTracker",
1363
- stateMutability: "view",
1364
- inputs: [],
1365
- outputs: [{ name: "", type: "address" }],
1366
- },
1367
- {
1368
- type: "event",
1369
- name: "RewardTrackerConfigured",
1370
- inputs: [{ name: "tracker", type: "address", indexed: true }],
1371
- anonymous: false,
1372
- },
1373
- ] as const;
1374
-
1375
- // LaunchFeeSplitter.sol:120,181,56,91,95,47-49,53,54,52,33-43. Policy tuple components mirror
1376
- // the Disposition struct (contracts/src/interfaces/IAbyssLaunch.sol:23-27).
1377
- export const launchFeeSplitterAbi = [
1378
- {
1379
- type: "function",
1380
- name: "claimableOwnerFees",
1381
- stateMutability: "view",
1382
- inputs: [
1383
- { name: "owner", type: "address" },
1384
- { name: "token", type: "address" },
1385
- ],
1386
- outputs: [{ name: "amount", type: "uint256" }],
1387
- },
1388
- {
1389
- type: "function",
1390
- name: "claimer",
1391
- stateMutability: "view",
1392
- inputs: [],
1393
- outputs: [{ name: "", type: "address" }],
1394
- },
1395
- {
1396
- type: "function",
1397
- name: "claimOwnerFees",
1398
- stateMutability: "nonpayable",
1399
- inputs: [
1400
- { name: "token", type: "address" },
1401
- { name: "recipient", type: "address" },
1402
- ],
1403
- outputs: [{ name: "amount", type: "uint256" }],
1404
- },
1405
- {
1406
- type: "function",
1407
- name: "distribute",
1408
- stateMutability: "nonpayable",
1409
- inputs: [{ name: "token", type: "address" }],
1410
- outputs: [],
1411
- },
1412
- {
1413
- type: "function",
1414
- name: "launchToken",
1415
- stateMutability: "view",
1416
- inputs: [],
1417
- outputs: [{ name: "", type: "address" }],
1418
- },
1419
- {
1420
- type: "function",
1421
- name: "requiresRewards",
1422
- stateMutability: "view",
1423
- inputs: [],
1424
- outputs: [{ name: "", type: "bool" }],
1425
- },
1426
- {
1427
- type: "function",
1428
- name: "rewards",
1429
- stateMutability: "view",
1430
- inputs: [],
1431
- outputs: [{ name: "", type: "address" }],
1432
- },
1433
- {
1434
- type: "function",
1435
- name: "token0",
1436
- stateMutability: "view",
1437
- inputs: [],
1438
- outputs: [{ name: "", type: "address" }],
1439
- },
1440
- {
1441
- type: "function",
1442
- name: "token0Policy",
1443
- stateMutability: "view",
1444
- inputs: [],
1445
- outputs: [{ name: "", type: "tuple", components: dispositionComponents }],
1446
- },
1447
- {
1448
- type: "function",
1449
- name: "token1",
1450
- stateMutability: "view",
1451
- inputs: [],
1452
- outputs: [{ name: "", type: "address" }],
1453
- },
1454
- {
1455
- type: "function",
1456
- name: "token1Policy",
1457
- stateMutability: "view",
1458
- inputs: [],
1459
- outputs: [{ name: "", type: "tuple", components: dispositionComponents }],
1460
- },
1461
- {
1462
- type: "event",
1463
- name: "Distributed",
1464
- inputs: [
1465
- { name: "token", type: "address", indexed: true },
1466
- { name: "owner", type: "address", indexed: true },
1467
- { name: "amount", type: "uint256", indexed: false },
1468
- { name: "ownerAmount", type: "uint256", indexed: false },
1469
- { name: "rewardsAmount", type: "uint256", indexed: false },
1470
- { name: "burnAmount", type: "uint256", indexed: false },
1471
- ],
1472
- anonymous: false,
1473
- },
1474
- {
1475
- type: "event",
1476
- name: "OwnerFeesClaimed",
1477
- inputs: [
1478
- { name: "owner", type: "address", indexed: true },
1479
- { name: "token", type: "address", indexed: true },
1480
- { name: "recipient", type: "address", indexed: true },
1481
- { name: "amount", type: "uint256", indexed: false },
1482
- ],
1483
- anonymous: false,
1484
- },
1485
- { type: "error", name: "InactivePolicy", inputs: [] },
1486
- { type: "error", name: "InexactTransfer", inputs: [] },
1487
- { type: "error", name: "InvalidBinding", inputs: [] },
1488
- { type: "error", name: "InvalidRecipient", inputs: [] },
1489
- { type: "error", name: "NothingToClaim", inputs: [] },
1490
- { type: "error", name: "Unauthorized", inputs: [] },
1491
- { type: "error", name: "UnsupportedToken", inputs: [] },
1492
- ] as const;
1493
-
1494
- // LockedFeeClaimer.sol:55,24-28,30 — the single atomic fee-moving transaction plus its
1495
- // immutable binding reads.
1496
- export const lockedFeeClaimerAbi = [
1497
- {
1498
- type: "function",
1499
- name: "claimAndDistribute",
1500
- stateMutability: "nonpayable",
1501
- inputs: [],
1502
- outputs: [
1503
- { name: "amount0", type: "uint256" },
1504
- { name: "amount1", type: "uint256" },
1505
- ],
1506
- },
1507
- {
1508
- type: "function",
1509
- name: "positionLocker",
1510
- stateMutability: "view",
1511
- inputs: [],
1512
- outputs: [{ name: "", type: "address" }],
1513
- },
1514
- {
1515
- type: "function",
1516
- name: "splitter",
1517
- stateMutability: "view",
1518
- inputs: [],
1519
- outputs: [{ name: "", type: "address" }],
1520
- },
1521
- {
1522
- type: "function",
1523
- name: "token0",
1524
- stateMutability: "view",
1525
- inputs: [],
1526
- outputs: [{ name: "", type: "address" }],
1527
- },
1528
- {
1529
- type: "function",
1530
- name: "token1",
1531
- stateMutability: "view",
1532
- inputs: [],
1533
- outputs: [{ name: "", type: "address" }],
1534
- },
1535
- {
1536
- type: "function",
1537
- name: "tokenId",
1538
- stateMutability: "view",
1539
- inputs: [],
1540
- outputs: [{ name: "", type: "uint256" }],
1541
- },
1542
- {
1543
- type: "event",
1544
- name: "ClaimedAndDistributed",
1545
- inputs: [
1546
- { name: "caller", type: "address", indexed: true },
1547
- { name: "amount0", type: "uint256", indexed: false },
1548
- { name: "amount1", type: "uint256", indexed: false },
1549
- ],
1550
- anonymous: false,
1551
- },
1552
- { type: "error", name: "ClaimMismatch", inputs: [] },
1553
- { type: "error", name: "InexactTransfer", inputs: [] },
1554
- { type: "error", name: "InvalidBinding", inputs: [] },
1555
- { type: "error", name: "InvalidLock", inputs: [] },
497
+ /** Wrapped-native funding primitive; the ERC20 surface is shared with the DEX. */
498
+ export const wethAbi = [
499
+ { type: "function", name: "deposit", stateMutability: "payable", inputs: [], outputs: [] },
1556
500
  ] as const;
1557
501
 
1558
502
  // LaunchFeeOwnerRegistry.sol:27-28 — fee-owner identity and bound splitter per launch token.