four-flap-meme-sdk 2.2.19 → 3.0.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.
- package/dist/{shared/abis → abis}/common.d.ts +1 -1
- package/dist/{shared/abis → abis}/common.js +75 -91
- package/dist/abis/contracts/TaxToken.json +969 -0
- package/dist/abis/contracts/TokenManager2.json +136 -0
- package/dist/{shared/abis → abis/contracts}/index.d.ts +0 -1
- package/dist/{shared/abis → abis/contracts}/index.js +0 -2
- package/dist/abis/flap/index.d.ts +5 -0
- package/dist/abis/flap/index.js +5 -0
- package/dist/abis/flap/portal-eip7702.d.ts +4 -0
- package/dist/abis/flap/portal-eip7702.js +39 -0
- package/dist/abis/flap/portal-events.d.ts +6 -0
- package/dist/abis/flap/portal-events.js +17 -0
- package/dist/abis/flap/portal-merkle.d.ts +4 -0
- package/dist/abis/flap/portal-merkle.js +25 -0
- package/dist/abis/flap/portal.d.ts +6 -0
- package/dist/abis/flap/portal.js +37 -0
- package/dist/abis/flap/vault.d.ts +171 -0
- package/dist/abis/flap/vault.js +91 -0
- package/dist/abis/index.d.ts +6 -0
- package/dist/abis/index.js +9 -0
- package/dist/bundle/config-helpers.d.ts +37 -0
- package/dist/bundle/config-helpers.js +58 -0
- package/dist/bundle/errors.d.ts +50 -0
- package/dist/bundle/errors.js +38 -0
- package/dist/bundle/four-meme/approve-tokenmanager.d.ts +7 -0
- package/dist/bundle/four-meme/approve-tokenmanager.js +99 -0
- package/dist/bundle/four-meme/core-helpers.d.ts +8 -0
- package/dist/bundle/four-meme/core-helpers.js +41 -0
- package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/core.d.ts +1 -1
- package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/core.js +74 -150
- package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/pancake-proxy.d.ts +1 -1
- package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/pancake-proxy.js +85 -92
- package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/private.d.ts +1 -1
- package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/private.js +48 -59
- package/dist/bundle/four-meme/sign-context-helpers.d.ts +2 -0
- package/dist/bundle/four-meme/sign-context-helpers.js +2 -0
- package/dist/bundle/four-meme/swap-buy-first.d.ts +8 -0
- package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/swap-buy-first.js +56 -108
- package/dist/bundle/four-meme/swap-hop-helpers.d.ts +6 -0
- package/dist/bundle/four-meme/swap-hop-helpers.js +63 -0
- package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/swap-internal.js +4 -4
- package/dist/bundle/four-meme/swap-sign-helpers.d.ts +28 -0
- package/dist/bundle/four-meme/swap-sign-helpers.js +105 -0
- package/dist/bundle/four-meme/swap.d.ts +17 -0
- package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/swap.js +84 -345
- package/dist/{contracts/tm-bundle-merkle/swap-buy-first.d.ts → bundle/four-meme/types/buy-first.d.ts} +11 -18
- package/dist/bundle/four-meme/types/core-flow.d.ts +63 -0
- package/dist/bundle/four-meme/types/core-flow.js +1 -0
- package/dist/{contracts/tm-bundle-merkle/types.d.ts → bundle/four-meme/types/index.d.ts} +130 -6
- package/dist/bundle/four-meme/types/index.js +1 -0
- package/dist/bundle/four-meme/types/swap-internal.d.ts +19 -0
- package/dist/bundle/four-meme/types/swap-internal.js +1 -0
- package/dist/bundle/four-meme/types.d.ts +1 -0
- package/dist/bundle/four-meme/utils-disperse.d.ts +7 -0
- package/dist/bundle/four-meme/utils-disperse.js +396 -0
- package/dist/bundle/four-meme/utils-pairwise.d.ts +8 -0
- package/dist/bundle/four-meme/utils-pairwise.js +328 -0
- package/dist/bundle/four-meme/utils-sweep.d.ts +8 -0
- package/dist/bundle/four-meme/utils-sweep.js +744 -0
- package/dist/bundle/index.d.ts +8 -0
- package/dist/bundle/index.js +8 -0
- package/dist/bundle/internal.d.ts +16 -0
- package/dist/bundle/internal.js +160 -0
- package/dist/bundle/sign-context-helpers.d.ts +26 -0
- package/dist/bundle/sign-context-helpers.js +63 -0
- package/dist/{contracts/tm-bundle-merkle → bundle}/submit.d.ts +6 -27
- package/dist/{contracts/tm-bundle-merkle → bundle}/submit.js +116 -313
- package/dist/bundle/types/index.d.ts +8 -0
- package/dist/bundle/types/index.js +1 -0
- package/dist/bundle/types.d.ts +1 -0
- package/dist/bundle/types.js +1 -0
- package/dist/chains/bsc/constants.js +1 -1
- package/dist/chains/bsc/four/approve-tokenmanager.d.ts +1 -26
- package/dist/chains/bsc/four/approve-tokenmanager.js +1 -113
- package/dist/chains/bsc/four/config.d.ts +5 -67
- package/dist/chains/bsc/four/config.js +2 -114
- package/dist/chains/bsc/four/core.d.ts +1 -4
- package/dist/chains/bsc/four/core.js +1 -592
- package/dist/chains/bsc/four/index.d.ts +6 -6
- package/dist/chains/bsc/four/index.js +6 -6
- package/dist/chains/bsc/four/internal.d.ts +2 -46
- package/dist/chains/bsc/four/internal.js +2 -239
- package/dist/chains/bsc/four/pancake-proxy.d.ts +1 -28
- package/dist/chains/bsc/four/pancake-proxy.js +1 -687
- package/dist/chains/bsc/four/private.d.ts +1 -27
- package/dist/chains/bsc/four/private.js +1 -477
- package/dist/chains/bsc/four/submit.d.ts +2 -315
- package/dist/chains/bsc/four/submit.js +2 -752
- package/dist/chains/bsc/four/swap-buy-first.d.ts +2 -55
- package/dist/chains/bsc/four/swap-buy-first.js +2 -507
- package/dist/chains/bsc/four/swap-internal.d.ts +1 -3
- package/dist/chains/bsc/four/swap-internal.js +1 -18
- package/dist/chains/bsc/four/swap.d.ts +2 -144
- package/dist/chains/bsc/four/swap.js +2 -766
- package/dist/chains/bsc/four/types.d.ts +1 -476
- package/dist/chains/bsc/four/utils-disperse.d.ts +1 -0
- package/dist/chains/bsc/four/utils-disperse.js +1 -0
- package/dist/chains/bsc/four/utils-pairwise.d.ts +1 -0
- package/dist/chains/bsc/four/utils-pairwise.js +1 -0
- package/dist/chains/bsc/four/utils-sweep.d.ts +1 -0
- package/dist/chains/bsc/four/utils-sweep.js +1 -0
- package/dist/chains/bsc/four/utils.d.ts +5 -18
- package/dist/chains/bsc/four/utils.js +5 -1552
- package/dist/chains/bsc/iro.d.ts +5 -0
- package/dist/chains/bsc/iro.js +4 -0
- package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +155 -0
- package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +80 -0
- package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +1 -91
- package/dist/chains/bsc/pancake/bundle-buy-first.js +99 -214
- package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +241 -0
- package/dist/chains/bsc/pancake/bundle-swap-helpers.js +565 -0
- package/dist/chains/bsc/pancake/bundle-swap.d.ts +1 -79
- package/dist/chains/bsc/pancake/bundle-swap.js +114 -726
- package/dist/chains/bsc/pancake/index.d.ts +4 -2
- package/dist/chains/bsc/pancake/index.js +1 -3
- package/dist/chains/bsc/platforms/iro/constants.js +1 -1
- package/dist/chains/bsc/platforms/iro/factory.d.ts +2 -2
- package/dist/chains/bsc/platforms/iro/factory.js +3 -1
- package/dist/chains/bsc/platforms/iro/index.d.ts +5 -5
- package/dist/chains/bsc/platforms/iro/index.js +3 -3
- package/dist/chains/bsc/platforms/iro/pool.js +31 -10
- package/dist/chains/bsc/platforms/iro/token.js +5 -2
- package/dist/chains/eni/batch-router/bundle-approve.js +4 -3
- package/dist/chains/eni/batch-router/transfer.js +57 -27
- package/dist/chains/eni/batch-router/utils.js +32 -6
- package/dist/chains/eni/bundler/sign.js +5 -6
- package/dist/chains/eni/bundler/submit.js +1 -4
- package/dist/chains/eni/constants.js +2 -2
- package/dist/chains/eni/flat-aliases.d.ts +10 -0
- package/dist/chains/eni/flat-aliases.js +8 -0
- package/dist/chains/eni/index.d.ts +2 -1
- package/dist/chains/eni/index.js +1 -0
- package/dist/chains/eni/platforms/daoaas/create.js +3 -3
- package/dist/chains/eni/platforms/daoaas/index.d.ts +3 -3
- package/dist/chains/eni/platforms/daoaas/index.js +3 -3
- package/dist/chains/eni/platforms/daoaas/meta.js +9 -6
- package/dist/chains/eni/platforms/daoaas/portal-direct.js +29 -45
- package/dist/chains/eni/platforms/daoaas/portal.js +10 -6
- package/dist/chains/eni/platforms/dswap/liquidity.js +59 -27
- package/dist/chains/eni/platforms/fair-launch/constants.js +1 -1
- package/dist/chains/eni/platforms/fair-launch/index.d.ts +2 -2
- package/dist/chains/eni/platforms/fair-launch/index.js +1 -1
- package/dist/chains/eni/platforms/fair-launch/launcher.js +88 -47
- package/dist/chains/eni/platforms/fair-launch/pool.js +5 -2
- package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
- package/dist/chains/eni/platforms/iro/constants.d.ts +1 -1
- package/dist/chains/eni/platforms/iro/constants.js +2 -2
- package/dist/chains/eni/platforms/iro/factory.d.ts +2 -2
- package/dist/chains/eni/platforms/iro/factory.js +3 -1
- package/dist/chains/eni/platforms/iro/index.d.ts +6 -6
- package/dist/chains/eni/platforms/iro/index.js +4 -4
- package/dist/chains/eni/platforms/iro/pool.js +90 -26
- package/dist/chains/eni/platforms/iro/token.js +108 -32
- package/dist/chains/eni/platforms/iro/whitelist.js +6 -18
- package/dist/chains/eni/submit.d.ts +43 -0
- package/dist/chains/eni/submit.js +287 -0
- package/dist/chains/index.d.ts +13 -0
- package/dist/chains/index.js +13 -0
- package/dist/chains/monad/constants.js +1 -1
- package/dist/chains/xlayer/constants.d.ts +5 -0
- package/dist/chains/xlayer/constants.js +1 -1
- package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +2 -26
- package/dist/chains/xlayer/eip7702/bundle-approve.js +11 -21
- package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +2 -6
- package/dist/chains/xlayer/eip7702/bundle-buy.js +13 -51
- package/dist/chains/xlayer/eip7702/bundle-create.js +104 -74
- package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +2 -6
- package/dist/chains/xlayer/eip7702/bundle-sell.js +30 -112
- package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +3 -65
- package/dist/chains/xlayer/eip7702/bundle-swap.js +52 -246
- package/dist/chains/xlayer/eip7702/constants.d.ts +11 -26
- package/dist/chains/xlayer/eip7702/constants.js +15 -68
- package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +13 -0
- package/dist/chains/xlayer/eip7702/flat-aliases.js +10 -0
- package/dist/chains/xlayer/eip7702/index.d.ts +28 -46
- package/dist/chains/xlayer/eip7702/index.js +28 -81
- package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +79 -0
- package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +1 -0
- package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +2 -203
- package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +64 -308
- package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +26 -0
- package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +58 -0
- package/dist/chains/xlayer/eip7702/types.d.ts +88 -0
- package/dist/chains/xlayer/eip7702/utils.d.ts +0 -3
- package/dist/chains/xlayer/eip7702/utils.js +23 -28
- package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +148 -0
- package/dist/chains/xlayer/eip7702/volume-helpers.js +48 -0
- package/dist/chains/xlayer/eip7702/volume.d.ts +6 -184
- package/dist/chains/xlayer/eip7702/volume.js +89 -164
- package/dist/chains/xlayer/eoa/constants.d.ts +1 -1
- package/dist/chains/xlayer/eoa/constants.js +2 -16
- package/dist/chains/xlayer/eoa/dex-helpers.d.ts +1 -1
- package/dist/chains/xlayer/eoa/dex-helpers.js +7 -37
- package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +126 -0
- package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +228 -0
- package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +1 -95
- package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +66 -299
- package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
- package/dist/chains/xlayer/eoa/eoa-wash-volume.js +18 -23
- package/dist/chains/xlayer/eoa/index.d.ts +10 -6
- package/dist/chains/xlayer/eoa/index.js +8 -23
- package/dist/chains/xlayer/eoa/portal-ops.js +7 -2
- package/dist/chains/xlayer/eoa/router-manager.js +5 -4
- package/dist/chains/xlayer/eoa/types.d.ts +2 -2
- package/dist/chains/xlayer/eoa/types.js +1 -3
- package/dist/chains/xlayer/index.d.ts +3 -2
- package/dist/chains/xlayer/index.js +4 -7
- package/dist/core/amount/split-by-weight.d.ts +5 -0
- package/dist/core/amount/split-by-weight.js +35 -0
- package/dist/{shared → core}/clients/blockrazor.d.ts +4 -8
- package/dist/{shared → core}/clients/blockrazor.js +43 -35
- package/dist/{shared → core}/clients/club48.d.ts +2 -2
- package/dist/{shared → core}/clients/club48.js +36 -30
- package/dist/{shared → core}/clients/emitservice.js +2 -0
- package/dist/{shared → core}/clients/four.d.ts +21 -6
- package/dist/{shared → core}/clients/four.js +29 -24
- package/dist/core/clients/index.d.ts +8 -0
- package/dist/core/clients/index.js +8 -0
- package/dist/{shared → core}/clients/merkle.d.ts +4 -3
- package/dist/{shared → core}/clients/merkle.js +30 -47
- package/dist/{shared → core}/constants/addresses.d.ts +27 -1
- package/dist/{shared → core}/constants/addresses.js +39 -2
- package/dist/{shared → core}/constants/chains.d.ts +1 -1
- package/dist/{shared → core}/constants/chains.js +1 -1
- package/dist/{shared → core}/constants/gas.d.ts +1 -1
- package/dist/{shared → core}/constants/gas.js +2 -6
- package/dist/{shared → core}/constants/index.d.ts +5 -2
- package/dist/{shared → core}/constants/index.js +3 -2
- package/dist/core/constants/quote.d.ts +30 -0
- package/dist/core/constants/quote.js +37 -0
- package/dist/core/dex/v3-path.d.ts +6 -0
- package/dist/core/dex/v3-path.js +35 -0
- package/dist/core/erc20/decimals.d.ts +7 -0
- package/dist/core/erc20/decimals.js +24 -0
- package/dist/{utils → core}/erc20.d.ts +7 -89
- package/dist/{utils → core}/erc20.js +99 -130
- package/dist/core/foundation.d.ts +15 -0
- package/dist/core/foundation.js +14 -0
- package/dist/core/gas/bundle-gas.d.ts +49 -0
- package/dist/core/gas/bundle-gas.js +93 -0
- package/dist/core/gas/profit-hop.d.ts +20 -0
- package/dist/core/gas/profit-hop.js +72 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.js +5 -0
- package/dist/core/legacy-types/errors.d.ts +27 -0
- package/dist/core/legacy-types/errors.js +34 -0
- package/dist/core/nonce/nonce-manager.d.ts +19 -0
- package/dist/core/nonce/nonce-manager.js +217 -0
- package/dist/core/normalize-unknown.d.ts +9 -0
- package/dist/core/normalize-unknown.js +29 -0
- package/dist/core/sdk-logger.d.ts +13 -0
- package/dist/core/sdk-logger.js +12 -0
- package/dist/core/shared-abis/common.d.ts +4 -0
- package/dist/core/shared-abis/common.js +4 -0
- package/dist/core/shared-abis/index.d.ts +5 -0
- package/dist/core/shared-abis/index.js +5 -0
- package/dist/core/tx/build-request.d.ts +17 -0
- package/dist/core/tx/build-request.js +25 -0
- package/dist/core/tx/sign-batch.d.ts +5 -0
- package/dist/core/tx/sign-batch.js +26 -0
- package/dist/core/tx/wallet-sign-patch.d.ts +1 -0
- package/dist/core/tx/wallet-sign-patch.js +18 -0
- package/dist/core/types/airdrop-sweep.d.ts +79 -0
- package/dist/core/types/airdrop-sweep.js +1 -0
- package/dist/core/types/erc20.d.ts +65 -0
- package/dist/core/types/erc20.js +1 -0
- package/dist/core/types/holders-maker.d.ts +64 -0
- package/dist/core/types/holders-maker.js +1 -0
- package/dist/core/types/index.d.ts +7 -0
- package/dist/core/types/index.js +1 -0
- package/dist/{utils → core/types}/lp-inspect.d.ts +4 -52
- package/dist/core/types/lp-inspect.js +1 -0
- package/dist/core/types/multicall.d.ts +5 -0
- package/dist/core/types/multicall.js +1 -0
- package/dist/core/types/private-sale.d.ts +35 -0
- package/dist/core/types/private-sale.js +1 -0
- package/dist/core/types/quote-helpers.d.ts +17 -0
- package/dist/core/types/quote-helpers.js +1 -0
- package/dist/core/types-erc20.d.ts +1 -0
- package/dist/core/types-erc20.js +1 -0
- package/dist/core/wallet/generate.d.ts +5 -0
- package/dist/core/wallet/generate.js +8 -0
- package/dist/domains/dex/direct-router-helpers.d.ts +269 -0
- package/dist/domains/dex/direct-router-helpers.js +536 -0
- package/dist/domains/dex/direct-router.d.ts +28 -0
- package/dist/{dex → domains/dex}/direct-router.js +246 -674
- package/dist/domains/dex/types.d.ts +81 -0
- package/dist/domains/dex/types.js +1 -0
- package/dist/{shared → domains}/flap/abi.js +1 -1
- package/dist/{shared → domains}/flap/constants.d.ts +1 -2
- package/dist/{shared → domains}/flap/constants.js +3 -4
- package/dist/{shared → domains}/flap/curve.js +3 -0
- package/dist/{shared → domains}/flap/errors.d.ts +1 -4
- package/dist/{shared → domains}/flap/errors.js +20 -1
- package/dist/domains/flap/index.d.ts +7 -0
- package/dist/domains/flap/index.js +5 -0
- package/dist/{shared → domains}/flap/meta.d.ts +22 -18
- package/dist/{shared → domains}/flap/meta.js +32 -24
- package/dist/{shared/flap/index.d.ts → domains/flap/module.d.ts} +4 -5
- package/dist/{shared/flap/index.js → domains/flap/module.js} +4 -5
- package/dist/{shared → domains}/flap/permit.js +10 -3
- package/dist/{shared → domains}/flap/pinata.d.ts +22 -6
- package/dist/{shared → domains}/flap/pinata.js +21 -26
- package/dist/domains/flap/portal-bundle-merkle/config.d.ts +10 -0
- package/dist/domains/flap/portal-bundle-merkle/config.js +13 -0
- package/dist/domains/flap/portal-bundle-merkle/core-helpers.d.ts +32 -0
- package/dist/domains/flap/portal-bundle-merkle/core-helpers.js +83 -0
- package/dist/{shared → domains}/flap/portal-bundle-merkle/core.d.ts +0 -4
- package/dist/{shared → domains}/flap/portal-bundle-merkle/core.js +168 -175
- package/dist/{shared → domains}/flap/portal-bundle-merkle/create-to-dex.d.ts +17 -4
- package/dist/{shared → domains}/flap/portal-bundle-merkle/create-to-dex.js +97 -118
- package/dist/{shared → domains}/flap/portal-bundle-merkle/curve-to-dex.js +105 -123
- package/dist/domains/flap/portal-bundle-merkle/index.d.ts +18 -0
- package/dist/{shared → domains}/flap/portal-bundle-merkle/index.js +4 -7
- package/dist/{shared → domains}/flap/portal-bundle-merkle/pancake-proxy.js +73 -70
- package/dist/{shared → domains}/flap/portal-bundle-merkle/private.js +63 -116
- package/dist/domains/flap/portal-bundle-merkle/swap-batch.d.ts +8 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-batch.js +227 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +125 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-buy-first-helpers.js +113 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-buy-first.d.ts +2 -0
- package/dist/{shared → domains}/flap/portal-bundle-merkle/swap-buy-first.js +69 -288
- package/dist/domains/flap/portal-bundle-merkle/swap-cross.d.ts +9 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-cross.js +139 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-helpers.d.ts +149 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-helpers.js +259 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-planning.d.ts +70 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-planning.js +182 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-quick-batch.d.ts +16 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-quick-batch.js +327 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-single.d.ts +2 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-single.js +184 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-types.d.ts +101 -0
- package/dist/domains/flap/portal-bundle-merkle/swap-types.js +1 -0
- package/dist/domains/flap/portal-bundle-merkle/swap.d.ts +8 -0
- package/dist/domains/flap/portal-bundle-merkle/swap.js +7 -0
- package/dist/{shared → domains}/flap/portal-bundle-merkle/types.d.ts +88 -12
- package/dist/domains/flap/portal-bundle-merkle/types.js +1 -0
- package/dist/domains/flap/portal-bundle-merkle/utils.d.ts +10 -0
- package/dist/{shared → domains}/flap/portal-bundle-merkle/utils.js +145 -265
- package/dist/{shared → domains}/flap/portal-bundle.d.ts +2 -2
- package/dist/{shared → domains}/flap/portal-bundle.js +84 -79
- package/dist/domains/flap/portal-create-token.d.ts +81 -0
- package/dist/domains/flap/portal-create-token.js +255 -0
- package/dist/{shared → domains}/flap/portal.d.ts +1 -2
- package/dist/{shared → domains}/flap/portal.js +36 -28
- package/dist/{shared → domains}/flap/vanity.d.ts +6 -6
- package/dist/{shared → domains}/flap/vanity.js +15 -21
- package/dist/{shared → domains}/flap/vault.d.ts +25 -93
- package/dist/{shared → domains}/flap/vault.js +77 -127
- package/dist/{flows → domains/flows}/create.d.ts +2 -1
- package/dist/{flows → domains/flows}/create.js +8 -8
- package/dist/domains/flows/index.d.ts +9 -0
- package/dist/domains/flows/index.js +9 -0
- package/dist/{contracts → domains/four/contracts}/helper3.d.ts +20 -5
- package/dist/{contracts → domains/four/contracts}/helper3.js +56 -20
- package/dist/domains/four/contracts/tm-bundle-helpers.d.ts +88 -0
- package/dist/domains/four/contracts/tm-bundle-helpers.js +73 -0
- package/dist/{contracts → domains/four/contracts}/tm-bundle.d.ts +4 -52
- package/dist/{contracts → domains/four/contracts}/tm-bundle.js +122 -189
- package/dist/{contracts → domains/four/contracts}/tm.d.ts +10 -8
- package/dist/{contracts → domains/four/contracts}/tm.js +39 -35
- package/dist/{contracts → domains/four/contracts}/tm1.js +9 -4
- package/dist/{contracts → domains/four/contracts}/tm2.js +10 -5
- package/dist/domains/four/index.d.ts +7 -0
- package/dist/domains/four/index.js +7 -0
- package/dist/{shared → domains}/four/tax-token.d.ts +1 -1
- package/dist/{shared → domains}/four/tax-token.js +31 -10
- package/dist/domains/holders/holders-maker-helpers.d.ts +9 -0
- package/dist/domains/holders/holders-maker-helpers.js +9 -0
- package/dist/domains/holders/holders-maker.d.ts +18 -0
- package/dist/domains/holders/holders-maker.js +324 -0
- package/dist/domains/holders/index.d.ts +1 -0
- package/dist/domains/holders/index.js +1 -0
- package/dist/domains/holders/internal/addresses.d.ts +12 -0
- package/dist/domains/holders/internal/addresses.js +15 -0
- package/dist/domains/holders/internal/buy-tx.d.ts +44 -0
- package/dist/domains/holders/internal/buy-tx.js +278 -0
- package/dist/domains/holders/internal/constants.d.ts +6 -0
- package/dist/domains/holders/internal/constants.js +7 -0
- package/dist/domains/holders/internal/disperse.d.ts +18 -0
- package/dist/domains/holders/internal/disperse.js +90 -0
- package/dist/domains/holders/internal/routing.d.ts +4 -0
- package/dist/domains/holders/internal/routing.js +45 -0
- package/dist/domains/holders/internal/transfer-tx.d.ts +4 -0
- package/dist/domains/holders/internal/transfer-tx.js +67 -0
- package/dist/domains/holders/types.d.ts +1 -0
- package/dist/domains/holders/types.js +1 -0
- package/dist/domains/lp-inspect/index.d.ts +1 -0
- package/dist/domains/lp-inspect/index.js +1 -0
- package/dist/domains/lp-inspect/lp-inspect-helpers.d.ts +9 -0
- package/dist/domains/lp-inspect/lp-inspect-helpers.js +109 -0
- package/dist/domains/lp-inspect/lp-inspect.d.ts +40 -0
- package/dist/{utils → domains/lp-inspect}/lp-inspect.js +78 -293
- package/dist/domains/lp-inspect/types.d.ts +1 -0
- package/dist/domains/lp-inspect/types.js +1 -0
- package/dist/domains/merkle/index.d.ts +12 -0
- package/dist/domains/merkle/index.js +11 -0
- package/dist/domains/private-sale/index.d.ts +1 -0
- package/dist/domains/private-sale/index.js +1 -0
- package/dist/domains/private-sale/private-sale.d.ts +34 -0
- package/dist/{utils → domains/private-sale}/private-sale.js +5 -16
- package/dist/domains/private-sale/types.d.ts +1 -0
- package/dist/domains/private-sale/types.js +1 -0
- package/dist/domains/quote/index.d.ts +1 -0
- package/dist/domains/quote/index.js +1 -0
- package/dist/{utils → domains/quote}/quote-helpers.d.ts +4 -45
- package/dist/{utils → domains/quote}/quote-helpers.js +17 -74
- package/dist/domains/quote/types.d.ts +1 -0
- package/dist/domains/quote/types.js +1 -0
- package/dist/domains/vanity/index.d.ts +5 -0
- package/dist/domains/vanity/index.js +5 -0
- package/dist/exports/root-bundle-and-tooling.d.ts +27 -0
- package/dist/exports/root-bundle-and-tooling.js +30 -0
- package/dist/exports/root-eni-and-bsc-iro.d.ts +26 -0
- package/dist/exports/root-eni-and-bsc-iro.js +66 -0
- package/dist/exports/root-foundations.d.ts +35 -0
- package/dist/exports/root-foundations.js +70 -0
- package/dist/exports/root-swap-dex-and-xlayer.d.ts +30 -0
- package/dist/exports/root-swap-dex-and-xlayer.js +78 -0
- package/dist/index.d.ts +17 -88
- package/dist/index.js +17 -218
- package/dist/utils/airdrop-sweep.d.ts +4 -76
- package/dist/utils/airdrop-sweep.js +42 -55
- package/dist/utils/bundle-helpers.d.ts +9 -243
- package/dist/utils/bundle-helpers.js +10 -584
- package/dist/utils/constants.d.ts +5 -61
- package/dist/utils/constants.js +5 -80
- package/dist/utils/contract-factory.d.ts +2 -4
- package/dist/utils/contract-factory.js +25 -18
- package/dist/utils/errors.d.ts +12 -1
- package/dist/utils/errors.js +60 -1
- package/dist/utils/hop-chains.d.ts +35 -0
- package/dist/utils/hop-chains.js +215 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/mpcExclusive.d.ts +2 -5
- package/dist/utils/mpcExclusive.js +4 -3
- package/dist/utils/provider-factory.d.ts +4 -0
- package/dist/utils/provider-factory.js +10 -0
- package/dist/utils/stealth-transfer.d.ts +2 -28
- package/dist/utils/stealth-transfer.js +41 -21
- package/dist/utils/swap-helpers.d.ts +2 -15
- package/dist/utils/swap-helpers.js +7 -12
- package/dist/utils/types/airdrop-sweep.d.ts +1 -0
- package/dist/utils/types/airdrop-sweep.js +1 -0
- package/dist/utils/types/contract-factory.d.ts +1 -0
- package/dist/utils/types/contract-factory.js +1 -0
- package/dist/utils/types/errors.d.ts +1 -0
- package/dist/utils/types/errors.js +1 -0
- package/dist/utils/types/hop-chains.d.ts +8 -0
- package/dist/utils/types/hop-chains.js +1 -0
- package/dist/utils/types/index.d.ts +13 -0
- package/dist/utils/types/index.js +1 -0
- package/dist/utils/types/mpc-exclusive.d.ts +5 -0
- package/dist/utils/types/mpc-exclusive.js +1 -0
- package/dist/utils/types/stealth-transfer.d.ts +44 -0
- package/dist/utils/types/stealth-transfer.js +1 -0
- package/dist/utils/types/wallet.d.ts +25 -0
- package/dist/utils/types/wallet.js +1 -0
- package/dist/utils/wallet.d.ts +4 -25
- package/dist/utils/wallet.js +27 -22
- package/package.json +96 -2
- package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +0 -26
- package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +0 -113
- package/dist/contracts/tm-bundle-merkle/config.d.ts +0 -70
- package/dist/contracts/tm-bundle-merkle/config.js +0 -114
- package/dist/contracts/tm-bundle-merkle/index.d.ts +0 -15
- package/dist/contracts/tm-bundle-merkle/index.js +0 -29
- package/dist/contracts/tm-bundle-merkle/internal.d.ts +0 -48
- package/dist/contracts/tm-bundle-merkle/internal.js +0 -240
- package/dist/contracts/tm-bundle-merkle/swap.d.ts +0 -146
- package/dist/contracts/tm-bundle-merkle/utils.d.ts +0 -20
- package/dist/contracts/tm-bundle-merkle/utils.js +0 -1503
- package/dist/dex/direct-router.d.ts +0 -150
- package/dist/shared/abis/TaxToken.json +0 -105
- package/dist/shared/abis/TokenManager2.json +0 -60
- package/dist/shared/flap/graduated-dex.d.ts +0 -1
- package/dist/shared/flap/graduated-dex.js +0 -1
- package/dist/shared/flap/launch-v6.d.ts +0 -132
- package/dist/shared/flap/launch-v6.js +0 -137
- package/dist/shared/flap/portal-bundle-merkle/config.d.ts +0 -79
- package/dist/shared/flap/portal-bundle-merkle/config.js +0 -133
- package/dist/shared/flap/portal-bundle-merkle/index.d.ts +0 -14
- package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +0 -65
- package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +0 -201
- package/dist/shared/flap/portal-bundle-merkle/swap.js +0 -1359
- package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +0 -89
- package/dist/shared/flap/portal-create-token.d.ts +0 -63
- package/dist/shared/flap/portal-create-token.js +0 -258
- package/dist/shared/four/index.d.ts +0 -7
- package/dist/shared/four/index.js +0 -22
- package/dist/shared/index.d.ts +0 -10
- package/dist/shared/index.js +0 -10
- package/dist/utils/holders-maker.d.ts +0 -154
- package/dist/utils/holders-maker.js +0 -945
- package/dist/utils/pcs-infinity-cl.d.ts +0 -65
- package/dist/utils/pcs-infinity-cl.js +0 -426
- package/dist/utils/private-sale.d.ts +0 -90
- /package/dist/{shared/abis → abis/contracts}/TokenManager.json +0 -0
- /package/dist/{shared/abis → abis/contracts}/TokenManagerHelper3.json +0 -0
- /package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/swap-internal.d.ts +0 -0
- /package/dist/{shared/flap/portal-bundle-merkle/types.js → bundle/four-meme/types/buy-first.js} +0 -0
- /package/dist/{contracts/tm-bundle-merkle → bundle/four-meme}/types.js +0 -0
- /package/dist/{shared → core}/clients/emitservice.d.ts +0 -0
- /package/dist/{shared → core}/constants/profit.d.ts +0 -0
- /package/dist/{shared → core}/constants/profit.js +0 -0
- /package/dist/{dex → domains/dex}/index.d.ts +0 -0
- /package/dist/{dex → domains/dex}/index.js +0 -0
- /package/dist/{shared → domains}/flap/abi.d.ts +0 -0
- /package/dist/{shared → domains}/flap/curve.d.ts +0 -0
- /package/dist/{shared → domains}/flap/ipfs.d.ts +0 -0
- /package/dist/{shared → domains}/flap/ipfs.js +0 -0
- /package/dist/{shared → domains}/flap/permit.d.ts +0 -0
- /package/dist/{shared → domains}/flap/portal-bundle-merkle/curve-to-dex.d.ts +0 -0
- /package/dist/{shared → domains}/flap/portal-bundle-merkle/pancake-proxy.d.ts +0 -0
- /package/dist/{shared → domains}/flap/portal-bundle-merkle/private.d.ts +0 -0
- /package/dist/{contracts → domains/four/contracts}/tm1.d.ts +0 -0
- /package/dist/{contracts → domains/four/contracts}/tm2.d.ts +0 -0
package/dist/index.js
CHANGED
|
@@ -1,218 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export *
|
|
9
|
-
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
GAS_LIMITS, GAS_CONFIG, calculateGasLimit, getTransferGasLimit,
|
|
19
|
-
// 合约地址
|
|
20
|
-
ADDRESSES, getMulticall3Address, getFlapPortalAddress, isZeroAddress, isNativeToken, ENI_SPENDERS, getEniSpenders,
|
|
21
|
-
// 利润配置
|
|
22
|
-
getProfitRecipient, getAllProfitRecipients, getProfitRateBps, calculateProfitAmount, calculateProfitHopGasCost, getTransferFeePerAddress, TRANSFER_FEE_PER_ADDRESS, } from './shared/constants/index.js';
|
|
23
|
-
export { buildProfitHopTransactions, PROFIT_HOP_COUNT, } from './utils/bundle-helpers.js';
|
|
24
|
-
// ============================================================================
|
|
25
|
-
// 公共常量(向后兼容别名)
|
|
26
|
-
// ============================================================================
|
|
27
|
-
export { CHAIN, DEFAULT_DEADLINE_MINUTES, } from './utils/constants.js';
|
|
28
|
-
export { isExclusiveOnChain, isExclusiveOffChain } from './utils/mpcExclusive.js';
|
|
29
|
-
export {
|
|
30
|
-
// Four.meme V1 授权
|
|
31
|
-
ensureSellApprovalV1, checkSellApprovalV1,
|
|
32
|
-
// Four.meme V2 授权
|
|
33
|
-
ensureSellApprovalV2, checkSellApprovalV2,
|
|
34
|
-
// Four.meme 通用授权(默认 V2)
|
|
35
|
-
ensureSellApproval, checkSellApproval,
|
|
36
|
-
// Flap Protocol 授权
|
|
37
|
-
ensureFlapSellApproval, checkFlapSellApproval, ensureFlapSellApprovalBatch, checkFlapSellApprovalBatch,
|
|
38
|
-
// ✅ 智能路由授权方法(自动选择 spender,适用于 Flap、Four、V2、V3)
|
|
39
|
-
checkAllowance, approveToken, checkAllowanceBatch, approveTokenBatch,
|
|
40
|
-
// ✅ 底层授权方法(手动指定 spender,适用于任意合约)
|
|
41
|
-
checkAllowanceRaw, approveTokenRaw, checkAllowanceBatchRaw, approveTokenBatchRaw } from './utils/erc20.js';
|
|
42
|
-
export { parseFourError } from './utils/errors.js';
|
|
43
|
-
export { getTokenManagerV1, getTokenManagerV2, getTokenManagerHelper3, getTokenManagerV1Writer, getTokenManagerV2Writer, getTokenManagerHelper3Writer, getTokenManagerAddress } from './utils/contract-factory.js';
|
|
44
|
-
export { FourClient, buildLoginMessage } from './shared/clients/four.js';
|
|
45
|
-
export { createTokenOnChain, tryBuy, trySell, buyTokenWithFunds, sellToken, tradeBuy, tradeSell } from './contracts/tm.js';
|
|
46
|
-
export { TM1 } from './contracts/tm1.js';
|
|
47
|
-
export { TM2 } from './contracts/tm2.js';
|
|
48
|
-
export { Helper3, Helper3Writer } from './contracts/helper3.js';
|
|
49
|
-
export { CDPV2 } from './shared/flap/curve.js';
|
|
50
|
-
export { FlapPortal, FlapPortalWriter, validateTaxDistribution, TokenStatus, TokenVersion, FeeType, DexThreshType, MigratorType, V3LPFeeProfile, lpFeeProfileToV3Fee, DEXId } from './shared/flap/portal.js';
|
|
51
|
-
export { getFlapGraduatedDexMetrics, buildFlapInfinityPoolKey, computeInfinityPoolId, isInfinityCLPoolManagerAddress, isFlapInfinityCLGraduated, resolvePortalQuoteInputToken, PCS_INFINITY_CL_POOL_MANAGER_BSC, PCS_INFINITY_VAULT_BSC, FLAP_INFINITY_HOOKS_BSC, } from './shared/flap/graduated-dex.js';
|
|
52
|
-
export { uploadTokenMeta } from './shared/flap/ipfs.js';
|
|
53
|
-
export { buildPermitPiggybackAuto } from './shared/flap/permit.js';
|
|
54
|
-
export { predictVanityTokenAddressByChain, findSaltEndingByChain } from './shared/flap/vanity.js';
|
|
55
|
-
export { FLAP_DEFAULT_FEE_RATES, FLAP_IPFS_API_URL, FLAP_VANITY_SUFFIX, FLAP_DEX_THRESHOLDS, FLAP_TOTAL_SUPPLY, ZERO_ADDRESS, CHAIN_TAX_SUPPORT, getVanitySuffix, isChainSupportTax } from './shared/flap/constants.js';
|
|
56
|
-
export { parseFlapError, getFlapErrorMessage, getFlapErrorMessageEn } from './shared/flap/errors.js';
|
|
57
|
-
export { getFlapMetaByAddress, getFlapMetasByAddresses } from './shared/flap/meta.js';
|
|
58
|
-
export { createTokenFlow } from './flows/create.js';
|
|
59
|
-
export { Club48Client, sendBatchPrivateTransactions, sendBackrunBundle } from './shared/clients/club48.js';
|
|
60
|
-
export { MerkleClient, createMerkleClient } from './shared/clients/merkle.js';
|
|
61
|
-
export { BlockRazorClient, createBlockRazorClient, BLOCKRAZOR_BUILDER_EOA } from './shared/clients/blockrazor.js';
|
|
62
|
-
export { EmitServiceClient, submitToEmitServiceBlockRazor, } from './shared/clients/emitservice.js';
|
|
63
|
-
export { NonceManager, getOptimizedGasPrice, estimateGasWithSafety, estimateGasBatch, buildTransaction, signTransactionsBatch, signTransactionsBatchMultiWallet, validateSignedTransactions, getDeadline, encodeV3Path, decodeV3Path, getGasLimit, getGasPriceConfig, getTxType, getChainId, } from './utils/bundle-helpers.js';
|
|
64
|
-
export { createTokenWithBundleBuy as fourCreateTokenWithBundleBuy, batchBuyWithBundle as fourBatchBuyWithBundle, batchSellWithBundle as fourBatchSellWithBundle } from './contracts/tm-bundle.js';
|
|
65
|
-
export { createTokenWithBundleBuy as flapCreateTokenWithBundleBuy, batchBuyWithBundle as flapBatchBuyWithBundle, batchSellWithBundle as flapBatchSellWithBundle } from './shared/flap/portal-bundle.js';
|
|
66
|
-
export { fourPrivateBuy, fourPrivateSell, fourBatchPrivateBuy, fourBatchPrivateSell } from './contracts/tm-bundle.js';
|
|
67
|
-
export { flapPrivateBuy, flapPrivateSell, flapBatchPrivateBuy, flapBatchPrivateSell } from './shared/flap/portal-bundle.js';
|
|
68
|
-
export { createTokenWithBundleBuyMerkle as flapCreateTokenWithBundleBuyMerkle, batchBuyWithBundleMerkle as flapBatchBuyWithBundleMerkle, batchSellWithBundleMerkle as flapBatchSellWithBundleMerkle, flapPrivateBuyMerkle, flapPrivateSellMerkle, flapBatchPrivateBuyMerkle, flapBatchPrivateSellMerkle, pancakeProxyBatchBuyMerkle, pancakeProxyBatchSellMerkle, approvePancakeProxy, approvePancakeProxyBatch, flapDisperseWithBundleMerkle, flapSweepWithBundleMerkle } from './shared/flap/portal-bundle-merkle/index.js';
|
|
69
|
-
export { createTokenWithBundleBuyMerkle as fourCreateTokenWithBundleBuyMerkle, batchBuyWithBundleMerkle as fourBatchBuyWithBundleMerkle, batchSellWithBundleMerkle as fourBatchSellWithBundleMerkle, fourPrivateBuyMerkle, fourPrivateSellMerkle, fourBatchPrivateBuyMerkle, fourBatchPrivateSellMerkle, disperseWithBundleMerkle, sweepWithBundleMerkle, pairwiseTransferWithBundleMerkle, fourPancakeProxyBatchBuyMerkle, fourPancakeProxyBatchSellMerkle, approveFourPancakeProxy, approveFourPancakeProxyBatch, approveFourTokenManagerBatch, submitBundleToMerkle, submitMultipleBundles, submitMultipleBundlesParallel, submitBundleToBlockRazor, submitMultipleBundlesToBlockRazor, submitMultipleBundlesToBlockRazorParallel } from './chains/bsc/four/index.js';
|
|
70
|
-
// ✅ Four.meme TaxToken 工具(税币识别/查询/领取奖励)
|
|
71
|
-
export { isTaxToken as fourIsTaxToken, isAntiSniperFeeMode as fourIsAntiSniperFeeMode, getCreatorType as fourGetCreatorType, getTaxTokenInfo as fourGetTaxTokenInfo, getClaimableFee as fourGetClaimableFee, getClaimedFee as fourGetClaimedFee, getUserRewardInfo as fourGetUserRewardInfo, buildClaimFeeTx as fourBuildClaimFeeTx, buildBatchClaimFeeTxs as fourBuildBatchClaimFeeTxs, validateFourTokenTaxInfo, TAX_TOKEN_ABI, TransferMode as FourTransferMode, } from './shared/four/index.js';
|
|
72
|
-
export { PinataClient } from './shared/flap/pinata.js';
|
|
73
|
-
export { pinFileToIPFSWithJWT, pinImageByPath, pinFileToIPFSWithJWTWeb, pinDataURLWithJWTWeb, dataURLToBlob } from './shared/flap/pinata.js';
|
|
74
|
-
export { generateWallets } from './utils/wallet.js';
|
|
75
|
-
export { getTokenBalancesWithMulticall } from './utils/wallet.js';
|
|
76
|
-
export { validatePrivateKeys } from './utils/wallet.js';
|
|
77
|
-
export { stealthTransfer } from './utils/stealth-transfer.js';
|
|
78
|
-
// ✅ 刷持有人(一键完成:生成钱包 → 分发资金 → 批量买入)
|
|
79
|
-
export { holdersMaker, estimateHoldersMakerCost, } from './utils/holders-maker.js';
|
|
80
|
-
// ✅ 私募转账签名(带贿赂和利润提取)
|
|
81
|
-
export { privateSaleMerkle, batchPrivateSaleMerkle, } from './utils/private-sale.js';
|
|
82
|
-
export { inspectTokenLP, getFactoryFromRouter, registerDYORSwap, registerDex, getChainConfig, } from './utils/lp-inspect.js';
|
|
83
|
-
export { disperseWithBundle, sweepWithBundle } from './utils/airdrop-sweep.js';
|
|
84
|
-
// ============================================================
|
|
85
|
-
// 捆绑换手功能(Bundle Swap)
|
|
86
|
-
// ============================================================
|
|
87
|
-
// Four内盘换手
|
|
88
|
-
export { fourBundleSwapMerkle, fourBatchSwapMerkle, fourQuickBatchSwapMerkle } from './chains/bsc/four/swap.js';
|
|
89
|
-
// Flap内盘换手
|
|
90
|
-
export { flapBundleSwapMerkle, flapBatchSwapMerkle, flapQuickBatchSwapMerkle, flapCrossSwapMerkle } from './shared/flap/portal-bundle-merkle/swap.js';
|
|
91
|
-
// PancakeSwap V2/V3通用换手
|
|
92
|
-
export { pancakeBundleSwapMerkle, pancakeBatchSwapMerkle, pancakeQuickBatchSwapMerkle, pancakeCrossSwapMerkle } from './chains/bsc/pancake/bundle-swap.js';
|
|
93
|
-
// 先买后卖(Buy-First)入口
|
|
94
|
-
export { fourBundleBuyFirstMerkle } from './chains/bsc/four/swap-buy-first.js';
|
|
95
|
-
export { flapBundleBuyFirstMerkle } from './shared/flap/portal-bundle-merkle/swap-buy-first.js';
|
|
96
|
-
export { pancakeBundleBuyFirstMerkle } from './chains/bsc/pancake/bundle-buy-first.js';
|
|
97
|
-
// ✅ 内盘买到外盘(Bonding Curve → DEX)- 已存在代币
|
|
98
|
-
export { flapBundleCurveToDex } from './shared/flap/portal-bundle-merkle/curve-to-dex.js';
|
|
99
|
-
// ✅ 发币 + 一键买到外盘(Create → Curve → DEX)- 新代币
|
|
100
|
-
export { flapBundleCreateToDex } from './shared/flap/portal-bundle-merkle/create-to-dex.js';
|
|
101
|
-
// ✅ Tax Vault 金库模块(基于 VaultPortal + VaultFactory 规范)
|
|
102
|
-
export { NONE_EXTENSION_ID, VAULT_TYPE_LABELS, VAULT_TYPE_CATEGORIES, VAULT_FACTORY_ADDRESSES, VAULT_PORTAL_ADDRESSES, VAULT_PORTAL_ABI, VAULT_EXTRA_CONFIG, FLAP_GUARDIAN_ADDRESSES, VAULT_FACTORY_ABI, VAULT_FACTORY_V2_ABI, VAULT_BASE_ABI, VAULT_BASE_V2_ABI, encodeVaultData, buildVaultParams, buildVaultExtensionParams, buildNewTokenV6WithVaultParams, getVaultLaunchVanityOptions, TOKEN_TAXED_V3_VERSION, getVaultFactoryAddress, getVaultPortalAddress, queryVaultDataSchema, queryVaultUISchema, queryVaultDescription, validateVaultFactory, getVaultInfo, isValidContract, } from './shared/flap/vault.js';
|
|
103
|
-
export { buildNewTokenV6Params, normalizeTaxV2Fields, NEW_TOKEN_V6_ABI, getTaxV3LaunchVanityOptions, getV3PermitLaunchVanityOptions, } from './shared/flap/launch-v6.js';
|
|
104
|
-
export { populateCreateTokenTransaction, normalizeTaxLaunchConfig, resolveCreateTokenLaunchFlags, MAGIC_DIVIDEND_SELF, } from './shared/flap/portal-create-token.js';
|
|
105
|
-
// ✅ 硬编码利润配置(统一管理)- 从 shared/constants 导出
|
|
106
|
-
export { PROFIT_CONFIG } from './shared/constants/index.js';
|
|
107
|
-
// ✅ V2/V3 报价工具(统一管理)
|
|
108
|
-
export { quoteV2, quoteV3, quote, getTokenToNativeQuote, getNativeToTokenQuote, getWrappedNativeAddress, // ✅ 来自 quote-helpers,与 shared/constants 同名但实现可能不同
|
|
109
|
-
getStableCoins, V3_FEE_TIERS, // ✅ 来自 quote-helpers
|
|
110
|
-
QUOTE_CONFIG, } from './utils/quote-helpers.js';
|
|
111
|
-
// ✅ Monad 等不支持 Bundle 的链:逐笔 RPC 广播方法(服务器端使用)
|
|
112
|
-
export { submitDirectToRpc, submitDirectToRpcSequential, submitDirectToRpcSequentialNoWait, submitDirectToRpcParallel, submitDirectToRpcSmart, submitDirectToRpcSmart as xlayerBundleSubmit } from './chains/bsc/four/submit.js';
|
|
113
|
-
// ✅ ENI Bundle 提交
|
|
114
|
-
export { submitBundleToEni, submitEniParallelThenProfit, } from './contracts/tm-bundle-merkle/submit.js';
|
|
115
|
-
// ============================================================
|
|
116
|
-
// ✅ DEX 直接交易(不走代理合约)
|
|
117
|
-
// ============================================================
|
|
118
|
-
export {
|
|
119
|
-
// V2 直接交易
|
|
120
|
-
directV2BatchBuy, directV2BatchSell,
|
|
121
|
-
// V3 直接交易
|
|
122
|
-
directV3BatchBuy, directV3BatchSell,
|
|
123
|
-
// 辅助函数
|
|
124
|
-
getRouterAddress,
|
|
125
|
-
// 常量
|
|
126
|
-
DIRECT_ROUTERS, } from './dex/index.js';
|
|
127
|
-
// ============================================================
|
|
128
|
-
// ✅ XLayer SDK(EOA 模式 + EIP-7702)
|
|
129
|
-
// ============================================================
|
|
130
|
-
export * as XLayer from './chains/xlayer/eoa/index.js';
|
|
131
|
-
export {
|
|
132
|
-
// Portal 操作
|
|
133
|
-
createPortalQuery as xlayerCreatePortalQuery, PortalQuery as XLayerPortalQuery, encodeBuyCall as xlayerEncodeBuyCall, encodeSellCall as xlayerEncodeSellCall, encodeApproveCall as xlayerEncodeApproveCall,
|
|
134
|
-
// 工具函数
|
|
135
|
-
parseOkb as xlayerParseOkb, formatOkb as xlayerFormatOkb,
|
|
136
|
-
// 常量
|
|
137
|
-
XLAYER_CHAIN_ID, FLAP_PORTAL as XLAYER_FLAP_PORTAL, ENTRYPOINT_V06 as XLAYER_ENTRYPOINT, SIMPLE_ACCOUNT_FACTORY as XLAYER_FACTORY, PARTICLE_BUNDLER_URL as XLAYER_BUNDLER_URL, WOKB as XLAYER_WOKB, POTATOSWAP_V2_ROUTER as XLAYER_POTATOSWAP_ROUTER,
|
|
138
|
-
// ✅ EOA 刷量
|
|
139
|
-
signEoaWashBuyTransactions as xlayerSignEoaWashBuyTransactions, signEoaWashSellTransactions as xlayerSignEoaWashSellTransactions, signEoaWashVolumeTransactions as xlayerSignEoaWashVolumeTransactions,
|
|
140
|
-
// ✅ XLayer EOA 模式换手(推荐使用)
|
|
141
|
-
xlayerQuickBatchSwapMerkle, xlayerCrossSwapMerkle, xlayerPureCrossSwapMerkle, } from './chains/xlayer/eoa/index.js';
|
|
142
|
-
// ============================================================
|
|
143
|
-
// ✅ XLayer EIP-7702 Bundle 模式 (新版 API - EOA 使用智能合约能力)
|
|
144
|
-
// ============================================================
|
|
145
|
-
export * as XLayerEIP7702 from './chains/xlayer/eip7702/index.js';
|
|
146
|
-
// EIP-7702 批量操作(注意使用 eip7702 前缀避免与 AA 模式冲突)
|
|
147
|
-
export { bundleBuy as xlayerEip7702BundleBuy, bundleSell as xlayerEip7702BundleSell, bundleApprove as xlayerEip7702BundleApprove, bundleApproveMultiSpenders as xlayerEip7702BundleApproveMultiSpenders, bundleSwap as xlayerEip7702BundleSwap, bundleBatchSwap as xlayerEip7702BundleBatchSwap, bundleMultiSwap as xlayerEip7702BundleMultiSwap,
|
|
148
|
-
// 转账功能
|
|
149
|
-
disperse as xlayerEip7702Disperse, sweep as xlayerEip7702Sweep, pairwiseTransfer as xlayerEip7702PairwiseTransfer,
|
|
150
|
-
// 向后兼容
|
|
151
|
-
disperseWithHops as xlayerEip7702DisperseWithHops, sweepWithHops as xlayerEip7702SweepWithHops,
|
|
152
|
-
// 刷量
|
|
153
|
-
washVolume as xlayerEip7702WashVolume, bundleVolume as xlayerEip7702BundleVolume, singleRoundVolume as xlayerEip7702SingleRoundVolume, makeVolume as xlayerEip7702MakeVolume, makeVolumeWithSwap as xlayerEip7702MakeVolumeWithSwap,
|
|
154
|
-
// 工具函数
|
|
155
|
-
checkApprovalStatus as xlayerEip7702CheckApprovalStatus, getProfitRecipient as xlayerEip7702GetProfitRecipient, calculateProfitAmount as xlayerEip7702CalculateProfitAmount, calculateProfitAmountByUserType as xlayerEip7702CalculateProfitAmountByUserType, calculateProfitAmountByTxCount as xlayerEip7702CalculateProfitAmountByTxCount, getProfitRateBps as xlayerEip7702GetProfitRateBps, getProfitRateBpsDouble as xlayerEip7702GetProfitRateBpsDouble, buildEIP7702Transaction as xlayerEip7702BuildTransaction, signAuthorization as xlayerEip7702SignAuthorization, signAuthorizationsBatch as xlayerEip7702SignAuthorizationsBatch,
|
|
156
|
-
// 常量
|
|
157
|
-
UNIFIED_DELEGATE_ADDRESS as XLAYER_EIP7702_DELEGATE_ADDRESS, MULTICALL3_ADDRESS as XLAYER_EIP7702_MULTICALL3, PROFIT_CONFIG as XLAYER_EIP7702_PROFIT_CONFIG, WOKB_ADDRESS as XLAYER_EIP7702_WOKB_ADDRESS, POTATOSWAP_V2_ROUTER as XLAYER_EIP7702_V2_ROUTER, POTATOSWAP_V3_ROUTER as XLAYER_EIP7702_V3_ROUTER, DYORSWAP_ROUTER as XLAYER_EIP7702_DYORSWAP_ROUTER, FLAP_PORTAL_ADDRESS as XLAYER_EIP7702_FLAP_PORTAL,
|
|
158
|
-
// 代币创建与发射
|
|
159
|
-
bundleCreateBuy as xlayerEip7702BundleCreateBuy, bundleCreateToDex as xlayerEip7702BundleCreateToDex, bundleGraduateBuy as xlayerEip7702BundleGraduateBuy, } from './chains/xlayer/eip7702/index.js';
|
|
160
|
-
// ============================================================
|
|
161
|
-
// ✅ ENI SDK(Phase 1 Direct + Phase 2 BatchRouter)
|
|
162
|
-
// ============================================================
|
|
163
|
-
export * as ENI from './chains/eni/index.js';
|
|
164
|
-
export * as EniBatchRouter from './chains/eni/batch-router/index.js';
|
|
165
|
-
export {
|
|
166
|
-
// DAOaaS Portal 查询
|
|
167
|
-
DaoaasPortalQuery as EniPortalQuery, createPortalQuery as eniCreatePortalQuery, encodeBuyCall as eniEncodeBuyCall, encodeSellCall as eniEncodeSellCall, encodeCreateCall as eniEncodeCreateCall, applySlippage as eniApplySlippage, formatEgas as eniFormatEgas, parseEgas as eniParseEgas,
|
|
168
|
-
// Phase 1 Direct 模式交易
|
|
169
|
-
directBuy as eniDirectBuy, directSell as eniDirectSell, directBatchBuy as eniDirectBatchBuy, directBatchSell as eniDirectBatchSell, directBuyForSubmit as eniDirectBuyForSubmit, directSellForSubmit as eniDirectSellForSubmit, directBatchBuyForSubmit as eniDirectBatchBuyForSubmit, directBatchSellForSubmit as eniDirectBatchSellForSubmit, directQuickSwap as eniDirectQuickSwap, directQuickSwapForSubmit as eniDirectQuickSwapForSubmit, buildProfitTransfer as eniBuildProfitTransfer,
|
|
170
|
-
// 代币创建
|
|
171
|
-
createToken as eniCreateToken, createTokenForSubmit as eniCreateTokenForSubmit,
|
|
172
|
-
// 毕业状态
|
|
173
|
-
getGraduationInfo as eniGetGraduationInfo, batchGetGraduationInfo as eniBatchGetGraduationInfo,
|
|
174
|
-
// 代币元数据
|
|
175
|
-
getTokenMeta as eniGetTokenMeta, getFairLaunchTokenMeta as eniGetFairLaunchTokenMeta, getTokenMetasBatch as eniGetTokenMetasBatch,
|
|
176
|
-
// 枚举/常量
|
|
177
|
-
DaoaasTokenStatus as EniDaoaasTokenStatus, ENI_CHAIN_ID, ENI_RPC_URL, DAOAAS_PORTAL as ENI_DAOAAS_PORTAL, DSWAP_V2_ROUTER as ENI_DSWAP_V2_ROUTER, DSWAP_V2_FACTORY as ENI_DSWAP_V2_FACTORY, DSWAP_V2_PAIR_ABI as ENI_DSWAP_V2_PAIR_ABI, WEGAS as ENI_WEGAS, } from './chains/eni/index.js';
|
|
178
|
-
// ENI Fair Launch (公平发射 5 种模式)
|
|
179
|
-
export { TokenLaunchType as EniTokenLaunchType, FairLauncherQuery as EniFairLauncherQuery, launchToken as eniLaunchToken, launchTokenForSubmit as eniLaunchTokenForSubmit, setTokenTradeStartTime as eniSetTokenTradeStartTime, encodeLaunchTokenCall as eniEncodeLaunchTokenCall, standardPreset as eniStandardPreset, liquidityProvidingPreset as eniLiquidityProvidingPreset, dividendPreset as eniDividendPreset, dividendBuybackPreset as eniDividendBuybackPreset, deflationaryPreset as eniDeflationaryPreset, validateLaunchParams as eniValidateLaunchParams, detectLaunchType as eniDetectLaunchType, } from './chains/eni/index.js';
|
|
180
|
-
// ENI Fair Launch Pool (认购买入)
|
|
181
|
-
export { FairPoolQuery as EniFairPoolQuery, claimFromPool as eniClaimFromPool, claimFromPoolForSubmit as eniClaimFromPoolForSubmit, batchClaimForSubmit as eniBatchClaimForSubmit, } from './chains/eni/index.js';
|
|
182
|
-
// ENI BatchRouter Phase 2 (原子化批量操作)
|
|
183
|
-
export {
|
|
184
|
-
// 批量买卖
|
|
185
|
-
batchBuyPortal as eniBatchBuyPortal, batchBuyV2 as eniBatchBuyV2, batchSellPortal as eniBatchSellPortal, batchSellV2 as eniBatchSellV2,
|
|
186
|
-
// 原子换手
|
|
187
|
-
atomicSwapPortal as eniAtomicSwapPortal, batchSwapPortal as eniBatchSwapPortal, atomicSwapV2 as eniAtomicSwapV2, batchSwapV2 as eniBatchSwapV2,
|
|
188
|
-
// 批量授权
|
|
189
|
-
batchApprove as eniBatchApprove,
|
|
190
|
-
// 刷量
|
|
191
|
-
washVolume as eniWashVolume, washVolumeV2 as eniWashVolumeV2,
|
|
192
|
-
// 分发 / 归集
|
|
193
|
-
batchTransferEgas as eniBatchTransferEgas, batchTransferToken as eniBatchTransferToken, batchSweepToken as eniBatchSweepToken, batchSweepEgas as eniBatchSweepEgas, eniDisperseForSubmit, eniSweepForSubmit,
|
|
194
|
-
// 工具
|
|
195
|
-
validateBatchParams as eniValidateBatchParams, encodeBatchBuy as eniEncodeBatchBuy, encodeBatchSell as eniEncodeBatchSell, encodeAtomicSwap as eniEncodeAtomicSwap, encodeBatchSwap as eniEncodeBatchSwap, encodeAtomicSwapV2 as eniEncodeAtomicSwapV2, encodeBatchSwapV2 as eniEncodeBatchSwapV2, encodeBatchTransfer as eniEncodeBatchTransfer, encodeBatchSweepToken as eniEncodeBatchSweepToken, buildBatchRouterTx as eniBuildBatchRouterTx, estimateGas as eniEstimateGas,
|
|
196
|
-
// 常量
|
|
197
|
-
BATCH_ROUTER_ADDRESS as ENI_BATCH_ROUTER_ADDRESS, BATCH_ROUTER_ABI as ENI_BATCH_ROUTER_ABI, MAX_BATCH_SIZE as ENI_MAX_BATCH_SIZE, } from './chains/eni/batch-router/index.js';
|
|
198
|
-
// ENI DSWAP V2 流动性管理
|
|
199
|
-
export { getLPPairInfo as eniGetLPPairInfo, batchGetLPPairInfo as eniBatchGetLPPairInfo, getPairAddress as eniGetPairAddress, addLiquidityETHForSubmit as eniAddLiquidityETHForSubmit, removeLiquidityETHForSubmit as eniRemoveLiquidityETHForSubmit, addLiquidityForSubmit as eniAddLiquidityForSubmit, removeLiquidityForSubmit as eniRemoveLiquidityForSubmit, } from './chains/eni/index.js';
|
|
200
|
-
// ENI IRO (Initial Rights Offering)
|
|
201
|
-
export { EniIroFactoryQuery, eniIroEncodeCreateProjectCall, eniIroCreateProject, eniIroParseCreateProjectEvent, EniIroTokenQuery, eniIroSubscribe, eniIroPledge, eniIroBatchSubscribe, eniIroBatchSubscribeForSubmit, EniIroPoolQuery, eniIroPoolRemovePledge, eniIroPoolExtract, eniIroPoolTransferAwards, eniIroBatchExtract, ENI_IRO_FACTORY_ADDRESS, ENI_IRO_OWNER_ADDRESS, ENI_IRO_SELL_FEE_CONTRACT, ENI_IROSWAP_V2_ROUTER, ENI_IROSWAP_V2_FACTORY, ENI_IRO_FACTORY_ABI, ENI_IRO_TOKEN_ABI, ENI_IRO_POOL_ABI, ENI_IRO_PLATFORM_URL, setEniIroApiBase, eniIroApiCreateProject, eniIroApiUploadImage, eniIroGetTokenWhiteList, eniIroAddTokenWhiteListForSubmit, eniIroBatchAddTokenWhiteListForSubmit, eniIroRemoveTokenWhiteListForSubmit, ENI_IRO_OWNER_WHITELIST_ABI, } from './chains/eni/index.js';
|
|
202
|
-
// ✅ ENI Bundler — EIP-712 元交易多签名者原子执行
|
|
203
|
-
export * as EniBundler from './chains/eni/bundler/index.js';
|
|
204
|
-
export { signOperation as eniBundlerSignOp, signTokenPull as eniBundlerSignTokenPull, signOperationsBatch as eniBundlerSignOpsBatch, getBundlerNonce as eniBundlerGetNonce, buildExecuteBatch as eniBundlerBuildExecuteBatch, buildPullAndExecute as eniBundlerBuildPullAndExecute, ENI_BUNDLER_ADDRESS, } from './chains/eni/bundler/index.js';
|
|
205
|
-
// ============================================================
|
|
206
|
-
// ✅ BSC IRO 发币平台
|
|
207
|
-
// ============================================================
|
|
208
|
-
export {
|
|
209
|
-
// Factory
|
|
210
|
-
IroFactoryQuery as BscIroFactoryQuery, iroCreateProject as bscIroCreateProject, iroEncodeCreateProjectCall as bscIroEncodeCreateProjectCall, iroParseCreateProjectEvent as bscIroParseCreateProjectEvent,
|
|
211
|
-
// Token
|
|
212
|
-
IroTokenQuery as BscIroTokenQuery, iroSubscribe as bscIroSubscribe, iroPledge as bscIroPledge, iroBatchSubscribe as bscIroBatchSubscribe, iroBatchSubscribeForSubmit as bscIroBatchSubscribeForSubmit,
|
|
213
|
-
// Pool
|
|
214
|
-
IroPoolQuery as BscIroPoolQuery, iroPoolRemovePledge as bscIroPoolRemovePledge, iroPoolExtract as bscIroPoolExtract, iroPoolTransferAwards as bscIroPoolTransferAwards, iroBatchExtract as bscIroBatchExtract,
|
|
215
|
-
// 常量
|
|
216
|
-
IRO_FACTORY_ADDRESS as BSC_IRO_FACTORY_ADDRESS, IRO_FACTORY_ABI as BSC_IRO_FACTORY_ABI, IRO_TOKEN_ABI as BSC_IRO_TOKEN_ABI, IRO_POOL_ABI as BSC_IRO_POOL_ABI,
|
|
217
|
-
// API (IRO 平台后端)
|
|
218
|
-
IRO_PLATFORM_URL as BSC_IRO_PLATFORM_URL, IRO_TESTNET_PLATFORM_URL as BSC_IRO_TESTNET_PLATFORM_URL, setIroApiBase as setBscIroApiBase, setIroTestApiBase as setBscIroTestApiBase, iroApiCreateProject as bscIroApiCreateProject, iroApiUploadImage as bscIroApiUploadImage, } from './chains/bsc/index.js';
|
|
1
|
+
/**
|
|
2
|
+
* SDK 公共 API 聚合入口(3.0 · 不推荐作默认消费入口)
|
|
3
|
+
*
|
|
4
|
+
* - **实现**:`core/` · `domains/*` · `chains/` · `bundle/` · 瘦 `utils/`
|
|
5
|
+
* - **扁平再导出**:`exports/root-*.ts`
|
|
6
|
+
* - **具名 facade**:见 `package.json#exports` / docs/PUBLIC_API.md §2
|
|
7
|
+
*/
|
|
8
|
+
export * from './exports/root-foundations.js';
|
|
9
|
+
export * from './exports/root-bundle-and-tooling.js';
|
|
10
|
+
export * from './exports/root-swap-dex-and-xlayer.js';
|
|
11
|
+
export * from './exports/root-eni-and-bsc-iro.js';
|
|
12
|
+
/** 横向基础:错误收口、Logger、共享类型、Nonce/Gas/Tx 工具 */
|
|
13
|
+
export * as foundation from './core/foundation.js';
|
|
14
|
+
/** Bundle 共享核心:internal、submit、config-helpers、four-meme 实现 */
|
|
15
|
+
export * as bundleCore from './bundle/index.js';
|
|
16
|
+
/** 高层业务流程 */
|
|
17
|
+
export * as flows from './domains/flows/index.js';
|
|
@@ -1,80 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export type BundleSubmitResult = {
|
|
4
|
-
bundleUuid: string;
|
|
5
|
-
signedTxs: string[];
|
|
6
|
-
};
|
|
7
|
-
/** ✅ 签名结果(精简版 - 仅返回签名交易) */
|
|
8
|
-
export type SignedTransactionsResult = {
|
|
9
|
-
signedTransactions: string[];
|
|
10
|
-
};
|
|
11
|
-
/** ✅ 分散参数(完整版 - 包含 Bundle 提交) */
|
|
12
|
-
export type DisperseParams = {
|
|
13
|
-
rpcUrl: string;
|
|
14
|
-
chainId: number;
|
|
15
|
-
fromPrivateKey: string;
|
|
16
|
-
recipients: string[];
|
|
17
|
-
amount?: string;
|
|
18
|
-
amounts?: string[];
|
|
19
|
-
tokenAddress?: string;
|
|
20
|
-
bundleEndpoint?: string;
|
|
21
|
-
gasPriceGwei?: string;
|
|
22
|
-
transferGasLimit?: bigint;
|
|
23
|
-
nativeGasLimit?: bigint;
|
|
24
|
-
blockOffset?: number;
|
|
25
|
-
spMode?: SoulPointSignatureMode;
|
|
26
|
-
spPrivateKey?: string;
|
|
27
|
-
spVMode?: VNormalizationMode;
|
|
28
|
-
};
|
|
29
|
-
/** ✅ 分散参数(精简版 - 仅签名) */
|
|
30
|
-
export type DisperseSignParams = {
|
|
31
|
-
rpcUrl: string;
|
|
32
|
-
chainId: number;
|
|
33
|
-
fromPrivateKey: string;
|
|
34
|
-
recipients: string[];
|
|
35
|
-
amount?: string;
|
|
36
|
-
amounts?: string[];
|
|
37
|
-
tokenAddress?: string;
|
|
38
|
-
gasPriceGwei?: string;
|
|
39
|
-
transferGasLimit?: bigint;
|
|
40
|
-
nativeGasLimit?: bigint;
|
|
41
|
-
};
|
|
42
|
-
export declare function disperseWithBundle(params: DisperseSignParams): Promise<SignedTransactionsResult>;
|
|
43
|
-
/** ✅ 归集参数(完整版 - 包含 Bundle 提交) */
|
|
44
|
-
export type SweepParams = {
|
|
45
|
-
rpcUrl: string;
|
|
46
|
-
chainId: number;
|
|
47
|
-
sourcePrivateKeys: string[];
|
|
48
|
-
target: string;
|
|
49
|
-
ratioPct?: number;
|
|
50
|
-
amount?: string;
|
|
51
|
-
tokenAddress?: string;
|
|
52
|
-
bundleEndpoint?: string;
|
|
53
|
-
gasPriceGwei?: string;
|
|
54
|
-
transferGasLimit?: bigint;
|
|
55
|
-
nativeGasLimit?: bigint;
|
|
56
|
-
blockOffset?: number;
|
|
57
|
-
skipIfInsufficient?: boolean;
|
|
58
|
-
spMode?: SoulPointSignatureMode;
|
|
59
|
-
spPrivateKey?: string;
|
|
60
|
-
spVMode?: VNormalizationMode;
|
|
61
|
-
};
|
|
62
|
-
/** ✅ 归集参数(精简版 - 仅签名) */
|
|
63
|
-
export type SweepSignParams = {
|
|
64
|
-
rpcUrl: string;
|
|
65
|
-
chainId: number;
|
|
66
|
-
sourcePrivateKeys: string[];
|
|
67
|
-
target: string;
|
|
68
|
-
ratioPct?: number;
|
|
69
|
-
amount?: string;
|
|
70
|
-
tokenAddress?: string;
|
|
71
|
-
gasPriceGwei?: string;
|
|
72
|
-
transferGasLimit?: bigint;
|
|
73
|
-
nativeGasLimit?: bigint;
|
|
74
|
-
skipIfInsufficient?: boolean;
|
|
75
|
-
};
|
|
1
|
+
import type { AirdropDisperseSignParams, SignedTransactionsResult, AirdropSweepSignParams } from './types/airdrop-sweep.js';
|
|
2
|
+
export declare function disperseWithBundle(params: AirdropDisperseSignParams): Promise<SignedTransactionsResult>;
|
|
76
3
|
/**
|
|
77
4
|
* 归集(仅签名版本 - 不提交 Bundle)
|
|
78
5
|
* ✅ 精简版:只负责签名交易,不提交
|
|
79
6
|
*/
|
|
80
|
-
export declare function sweepWithBundle(params:
|
|
7
|
+
export declare function sweepWithBundle(params: AirdropSweepSignParams): Promise<SignedTransactionsResult>;
|
|
8
|
+
export type { BundleSubmitResult, SignedTransactionsResult, AirdropDisperseParams, AirdropDisperseSignParams, AirdropSweepParams, AirdropSweepSignParams, DisperseParams, DisperseSignParams, SweepParams, SweepSignParams, } from './types/airdrop-sweep.js';
|
|
@@ -1,34 +1,15 @@
|
|
|
1
1
|
import { ethers, JsonRpcProvider } from 'ethers';
|
|
2
|
-
import { GAS_LIMITS } from '../
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
if (!Number.isFinite(d) || d < 0 || d > 36)
|
|
8
|
-
return 18;
|
|
9
|
-
return d;
|
|
10
|
-
}
|
|
11
|
-
catch {
|
|
12
|
-
return 18;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* 分散(仅签名版本 - 不提交 Bundle)
|
|
17
|
-
* ✅ 精简版:只负责签名交易,不提交
|
|
18
|
-
*/
|
|
19
|
-
/** ENI Chain ID — EIP-1559 (type 2) */
|
|
20
|
-
const ENI_CHAIN_ID = 173;
|
|
21
|
-
function getTxType(chainId) {
|
|
22
|
-
return chainId === ENI_CHAIN_ID ? 2 : 0;
|
|
23
|
-
}
|
|
24
|
-
function buildGasFields(txType, gasPrice) {
|
|
25
|
-
if (txType === 2) {
|
|
26
|
-
return { type: 2, maxFeePerGas: gasPrice, maxPriorityFeePerGas: gasPrice / 10n || 1n };
|
|
27
|
-
}
|
|
28
|
-
return { type: 0, gasPrice };
|
|
2
|
+
import { GAS_LIMITS, isEniChain } from '../core/constants/index.js';
|
|
3
|
+
import { buildGasFields } from '../core/gas/bundle-gas.js';
|
|
4
|
+
import { getErc20Decimals } from '../core/erc20/decimals.js';
|
|
5
|
+
function getTxTypeForChain(chainId) {
|
|
6
|
+
return isEniChain(chainId) ? 2 : 0;
|
|
29
7
|
}
|
|
8
|
+
// ==========================================
|
|
9
|
+
// 通用:原生/代币 一键分散 & 一键归集(Bundle)
|
|
10
|
+
// ==========================================
|
|
30
11
|
export async function disperseWithBundle(params) {
|
|
31
|
-
const { rpcUrl, chainId, fromPrivateKey, recipients, amount, amounts, tokenAddress, gasPriceGwei, transferGasLimit = GAS_LIMITS.ERC20_TRANSFER, nativeGasLimit = GAS_LIMITS.BRIBE } = params;
|
|
12
|
+
const { rpcUrl, chainId, fromPrivateKey, recipients, amount, amounts, tokenAddress, gasPriceGwei, transferGasLimit = GAS_LIMITS.ERC20_TRANSFER, nativeGasLimit = GAS_LIMITS.BRIBE, } = params;
|
|
32
13
|
if (!recipients || recipients.length === 0) {
|
|
33
14
|
return { signedTransactions: [] };
|
|
34
15
|
}
|
|
@@ -36,22 +17,22 @@ export async function disperseWithBundle(params) {
|
|
|
36
17
|
const wallet = new ethers.Wallet(fromPrivateKey, provider);
|
|
37
18
|
const gasPrice = gasPriceGwei && gasPriceGwei.trim().length > 0
|
|
38
19
|
? ethers.parseUnits(gasPriceGwei, 'gwei')
|
|
39
|
-
: (await provider.getFeeData()).gasPrice ?? ethers.parseUnits('1', 'gwei');
|
|
20
|
+
: ((await provider.getFeeData()).gasPrice ?? ethers.parseUnits('1', 'gwei'));
|
|
40
21
|
// 规范化 amounts:优先使用数组;否则将单值扩展为数组
|
|
41
22
|
const useAmountsArray = Array.isArray(amounts) && amounts.length > 0;
|
|
42
23
|
const effAmounts = useAmountsArray
|
|
43
24
|
? amounts
|
|
44
|
-
:
|
|
25
|
+
: typeof amount === 'string' && amount.trim().length > 0
|
|
45
26
|
? new Array(recipients.length).fill(amount)
|
|
46
|
-
: []
|
|
27
|
+
: [];
|
|
47
28
|
if (effAmounts.length !== recipients.length) {
|
|
48
29
|
throw new Error('recipients and amounts length mismatch');
|
|
49
30
|
}
|
|
50
|
-
|
|
31
|
+
const isNative = !tokenAddress || tokenAddress.trim().length === 0;
|
|
51
32
|
const signedTxs = [];
|
|
52
33
|
if (isNative) {
|
|
53
34
|
const baseNonce = await provider.getTransactionCount(wallet.address, 'pending');
|
|
54
|
-
const txType =
|
|
35
|
+
const txType = getTxTypeForChain(chainId);
|
|
55
36
|
const signedTxList = await Promise.all(recipients.map(async (to, i) => {
|
|
56
37
|
const amountWei = ethers.parseEther(effAmounts[i]);
|
|
57
38
|
return wallet.signTransaction({
|
|
@@ -69,10 +50,10 @@ export async function disperseWithBundle(params) {
|
|
|
69
50
|
// ✅ 并行获取 decimals 和 nonce
|
|
70
51
|
const [decimals, baseNonce] = await Promise.all([
|
|
71
52
|
getErc20Decimals(provider, tokenAddress),
|
|
72
|
-
provider.getTransactionCount(wallet.address, 'pending')
|
|
53
|
+
provider.getTransactionCount(wallet.address, 'pending'),
|
|
73
54
|
]);
|
|
74
55
|
const iface = new ethers.Interface(['function transfer(address,uint256) returns (bool)']);
|
|
75
|
-
const txType =
|
|
56
|
+
const txType = getTxTypeForChain(chainId);
|
|
76
57
|
const signedTxList = await Promise.all(recipients.map(async (to, i) => {
|
|
77
58
|
const amountWei = ethers.parseUnits(effAmounts[i], decimals);
|
|
78
59
|
const data = iface.encodeFunctionData('transfer', [to, amountWei]);
|
|
@@ -96,15 +77,15 @@ export async function disperseWithBundle(params) {
|
|
|
96
77
|
* ✅ 精简版:只负责签名交易,不提交
|
|
97
78
|
*/
|
|
98
79
|
export async function sweepWithBundle(params) {
|
|
99
|
-
const { rpcUrl, chainId, sourcePrivateKeys, target, ratioPct, amount, tokenAddress, gasPriceGwei, transferGasLimit = GAS_LIMITS.ERC20_TRANSFER, nativeGasLimit = GAS_LIMITS.BRIBE, skipIfInsufficient = true } = params;
|
|
80
|
+
const { rpcUrl, chainId, sourcePrivateKeys, target, ratioPct, amount, tokenAddress, gasPriceGwei, transferGasLimit = GAS_LIMITS.ERC20_TRANSFER, nativeGasLimit = GAS_LIMITS.BRIBE, skipIfInsufficient = true, } = params;
|
|
100
81
|
if (!sourcePrivateKeys || sourcePrivateKeys.length === 0) {
|
|
101
82
|
return { signedTransactions: [] };
|
|
102
83
|
}
|
|
103
84
|
const provider = new JsonRpcProvider(rpcUrl, chainId);
|
|
104
85
|
const gasPrice = gasPriceGwei && gasPriceGwei.trim().length > 0
|
|
105
86
|
? ethers.parseUnits(gasPriceGwei, 'gwei')
|
|
106
|
-
: (await provider.getFeeData()).gasPrice ?? ethers.parseUnits('1', 'gwei');
|
|
107
|
-
|
|
87
|
+
: ((await provider.getFeeData()).gasPrice ?? ethers.parseUnits('1', 'gwei'));
|
|
88
|
+
const isNative = !tokenAddress || tokenAddress.trim().length === 0;
|
|
108
89
|
const signedTxs = [];
|
|
109
90
|
const clampRatio = (n) => {
|
|
110
91
|
if (typeof n !== 'number' || !Number.isFinite(n))
|
|
@@ -118,18 +99,18 @@ export async function sweepWithBundle(params) {
|
|
|
118
99
|
const ratio = clampRatio(ratioPct);
|
|
119
100
|
if (isNative) {
|
|
120
101
|
// ✅ 并行处理所有源钱包
|
|
121
|
-
const wallets = sourcePrivateKeys.map(pk => new ethers.Wallet(pk, provider));
|
|
102
|
+
const wallets = sourcePrivateKeys.map((pk) => new ethers.Wallet(pk, provider));
|
|
122
103
|
const gasCost = nativeGasLimit * gasPrice;
|
|
123
104
|
// 并行获取所有余额和 nonce
|
|
124
105
|
const [balances, nonces] = await Promise.all([
|
|
125
|
-
Promise.all(wallets.map(w => provider.getBalance(w.address).catch(() => 0n))),
|
|
126
|
-
Promise.all(wallets.map(w => provider.getTransactionCount(w.address, 'pending')))
|
|
106
|
+
Promise.all(wallets.map((w) => provider.getBalance(w.address).catch(() => 0n))),
|
|
107
|
+
Promise.all(wallets.map((w) => provider.getTransactionCount(w.address, 'pending'))),
|
|
127
108
|
]);
|
|
128
109
|
// 计算每个钱包的发送金额
|
|
129
|
-
const sendAmounts = balances.map(bal => {
|
|
110
|
+
const sendAmounts = balances.map((bal) => {
|
|
130
111
|
if (ratio !== undefined) {
|
|
131
112
|
const want = (bal * BigInt(ratio)) / 100n;
|
|
132
|
-
const maxSendable = bal > gasCost ?
|
|
113
|
+
const maxSendable = bal > gasCost ? bal - gasCost : 0n;
|
|
133
114
|
return want > maxSendable ? maxSendable : want;
|
|
134
115
|
}
|
|
135
116
|
else if (amount && amount.trim().length > 0) {
|
|
@@ -140,9 +121,9 @@ export async function sweepWithBundle(params) {
|
|
|
140
121
|
}
|
|
141
122
|
return 0n;
|
|
142
123
|
});
|
|
143
|
-
const txType =
|
|
144
|
-
const validIndices = sendAmounts.map((amt, i) => amt > 0n ? i : -1).filter(i => i >= 0);
|
|
145
|
-
const signedTxList = await Promise.all(validIndices.map(i => wallets[i].signTransaction({
|
|
124
|
+
const txType = getTxTypeForChain(chainId);
|
|
125
|
+
const validIndices = sendAmounts.map((amt, i) => (amt > 0n ? i : -1)).filter((i) => i >= 0);
|
|
126
|
+
const signedTxList = await Promise.all(validIndices.map((i) => wallets[i].signTransaction({
|
|
146
127
|
to: target,
|
|
147
128
|
value: sendAmounts[i],
|
|
148
129
|
nonce: nonces[i],
|
|
@@ -153,8 +134,11 @@ export async function sweepWithBundle(params) {
|
|
|
153
134
|
signedTxs.push(...signedTxList);
|
|
154
135
|
}
|
|
155
136
|
else {
|
|
156
|
-
const wallets = sourcePrivateKeys.map(pk => new ethers.Wallet(pk, provider));
|
|
157
|
-
const iface = new ethers.Interface([
|
|
137
|
+
const wallets = sourcePrivateKeys.map((pk) => new ethers.Wallet(pk, provider));
|
|
138
|
+
const iface = new ethers.Interface([
|
|
139
|
+
'function balanceOf(address) view returns (uint256)',
|
|
140
|
+
'function transfer(address,uint256) returns (bool)',
|
|
141
|
+
]);
|
|
158
142
|
// ✅ 并行获取 decimals、所有代币余额和 nonce
|
|
159
143
|
const [decimals, balanceResults, nonces] = await Promise.all([
|
|
160
144
|
getErc20Decimals(provider, tokenAddress),
|
|
@@ -162,17 +146,18 @@ export async function sweepWithBundle(params) {
|
|
|
162
146
|
try {
|
|
163
147
|
const balData = iface.encodeFunctionData('balanceOf', [w.address]);
|
|
164
148
|
const balRaw = await provider.call({ to: tokenAddress, data: balData });
|
|
165
|
-
const
|
|
149
|
+
const decoded = iface.decodeFunctionResult('balanceOf', balRaw);
|
|
150
|
+
const bal = decoded[0];
|
|
166
151
|
return bal;
|
|
167
152
|
}
|
|
168
153
|
catch {
|
|
169
154
|
return 0n;
|
|
170
155
|
}
|
|
171
156
|
})),
|
|
172
|
-
Promise.all(wallets.map(w => provider.getTransactionCount(w.address, 'pending')))
|
|
157
|
+
Promise.all(wallets.map((w) => provider.getTransactionCount(w.address, 'pending'))),
|
|
173
158
|
]);
|
|
174
159
|
// 计算每个钱包的发送金额
|
|
175
|
-
const sendAmounts = balanceResults.map(bal => {
|
|
160
|
+
const sendAmounts = balanceResults.map((bal) => {
|
|
176
161
|
if (ratio !== undefined) {
|
|
177
162
|
return (bal * BigInt(ratio)) / 100n;
|
|
178
163
|
}
|
|
@@ -184,15 +169,17 @@ export async function sweepWithBundle(params) {
|
|
|
184
169
|
return 0n;
|
|
185
170
|
});
|
|
186
171
|
// 过滤余额不足的钱包
|
|
187
|
-
const validIndices = sendAmounts
|
|
172
|
+
const validIndices = sendAmounts
|
|
173
|
+
.map((amt, i) => {
|
|
188
174
|
if (amt <= 0n)
|
|
189
175
|
return -1;
|
|
190
176
|
if (skipIfInsufficient && balanceResults[i] < amt)
|
|
191
177
|
return -1;
|
|
192
178
|
return i;
|
|
193
|
-
})
|
|
194
|
-
|
|
195
|
-
const
|
|
179
|
+
})
|
|
180
|
+
.filter((i) => i >= 0);
|
|
181
|
+
const txType = getTxTypeForChain(chainId);
|
|
182
|
+
const signedTxList = await Promise.all(validIndices.map((i) => {
|
|
196
183
|
const data = iface.encodeFunctionData('transfer', [target, sendAmounts[i]]);
|
|
197
184
|
return wallets[i].signTransaction({
|
|
198
185
|
to: tokenAddress,
|