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
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
/** 零地址 */
|
|
6
6
|
export declare const ZERO_ADDRESS: "0x0000000000000000000000000000000000000000";
|
|
7
|
+
/** 32 字节零哈希(bytes32 零值) */
|
|
8
|
+
export declare const ZERO_BYTES32: "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
7
9
|
/** BlockRazor Builder EOA 地址(用于 BSC 链贿赂) */
|
|
8
10
|
export declare const BLOCKRAZOR_BUILDER_EOA: "0x1266C6bE60392A8Ff346E8d5ECCd3E69dD9c5F20";
|
|
9
11
|
export declare const ADDRESSES: {
|
|
@@ -46,12 +48,22 @@ export declare const ADDRESSES: {
|
|
|
46
48
|
readonly FlapTokenImpl: "0x12Dc83157Bf1cfCB8Db5952b3ba5bb56Cc38f8C9";
|
|
47
49
|
/** V2 Router (标准 Uniswap V2 风格) */
|
|
48
50
|
readonly PotatoSwapV2Router: "0x881fb2f98c13d521009464e7d1cbf16e1b394e8e";
|
|
51
|
+
/** V2 Factory */
|
|
52
|
+
readonly PotatoSwapV2Factory: "0x630DB8E822805c82Ca40a54daE02dd5aC31f7fcF";
|
|
49
53
|
/** SwapRouter02 (V3 风格) */
|
|
50
54
|
readonly PotatoSwapSwapRouter02: "0xB45D0149249488333E3F3f9F359807F4b810C1FC";
|
|
51
55
|
/** V3 Router */
|
|
52
56
|
readonly PotatoSwapV3Router: "0xBB069e9465BcabC4F488d21e793BDEf0F2d41D41";
|
|
53
57
|
/** V3 Factory */
|
|
54
58
|
readonly PotatoSwapV3Factory: "0xa1415fAe79c4B196d087F02b8aD5a622B8A827E5";
|
|
59
|
+
/** QuoterV2 */
|
|
60
|
+
readonly PotatoSwapQuoterV2: "0x5A6f3723346aF54a4D0693bfC1718D64d4915C3e";
|
|
61
|
+
/** DYORSwap V2 Factory */
|
|
62
|
+
readonly DyorSwapV2Factory: "0x2CcaDb1e437AA9cDc741574bDa154686B1F04C09";
|
|
63
|
+
/** DYORSwap Router */
|
|
64
|
+
readonly DyorSwapRouter: "0xfb001fbbace32f09cb6d3c449b935183de53ee96";
|
|
65
|
+
/** DYORSwap ETHBack Dividend 合约(refundETH 固定地址) */
|
|
66
|
+
readonly DyorSwapEthBackDividend: "0x2e61b0b4410f6fb941d47205191cbb8963d44bcc";
|
|
55
67
|
/** EntryPoint v0.6 合约地址 */
|
|
56
68
|
readonly EntryPointV06: "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789";
|
|
57
69
|
/** SimpleAccountFactory 合约地址 */
|
|
@@ -66,6 +78,16 @@ export declare const ADDRESSES: {
|
|
|
66
78
|
readonly TaxTokenImplementation: "0x1C8847736521f5cD725dFB8f33c7c610826e7C42";
|
|
67
79
|
readonly TaxTokenSplitterImplementation: "0x57Fed6832F12150a77D5952b49190d9447aCB5ee";
|
|
68
80
|
readonly PancakeProxy: "0x20B89e7e088db3e06e0893Ce23162E475b9d8c7c";
|
|
81
|
+
readonly USDC: "0x754704bc059f8c67012fed69bc8a327a5aafb603";
|
|
82
|
+
readonly PancakeV2Factory: "0x44c90b66eb4c4f814cea6aaf2ac71ca88fa77308";
|
|
83
|
+
readonly PancakeV3Factory: "0x40ce898c43df68c8c4229cd5ce21d3ce1f3ddcf1";
|
|
84
|
+
readonly UniswapV2Factory: "0x182a927119d56008d921126764bf884221b10f59";
|
|
85
|
+
readonly UniswapV3Factory: "0x204faca1764b154221e35c0d20abb3c525710498";
|
|
86
|
+
readonly UniswapV2Router: "0x4b2ab38dbf28d31d467aa8993f6c2585981d6804";
|
|
87
|
+
readonly UniswapV3Router: "0xd6145b2d3f379919e8cdeda7b97e37c4b2ca9c40";
|
|
88
|
+
readonly UniswapV3Quoter: "0x661e93cca42afacb172121ef892830ca3b70f08d";
|
|
89
|
+
readonly PancakeV2Router: "0xb1bc24c34e88f7d43d5923034e3a14b24daacff9";
|
|
90
|
+
readonly PancakeV3Router: "0x1b81d678ffb9c0263b24a97847620c99d213eb14";
|
|
69
91
|
readonly Multicall3: "0xca11bde05977b3631167028862be2a173976ca11";
|
|
70
92
|
};
|
|
71
93
|
readonly BASE: {
|
|
@@ -78,6 +100,10 @@ export declare const ADDRESSES: {
|
|
|
78
100
|
readonly UniswapV3Factory: "0x33128a8fC17869897dcE68Ed026d694621f6FDfD";
|
|
79
101
|
/** Uniswap V3 QuoterV2 */
|
|
80
102
|
readonly UniswapV3Quoter: "0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a";
|
|
103
|
+
/** PancakeSwap V2 Router */
|
|
104
|
+
readonly PancakeV2Router: "0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb";
|
|
105
|
+
/** PancakeSwap V3 Router */
|
|
106
|
+
readonly PancakeV3Router: "0x678Aa4bF4E210cf2166753e054d5b7c31cc7fa86";
|
|
81
107
|
readonly Multicall3: "0xcA11bde05977b3631167028862bE2a173976CA11";
|
|
82
108
|
};
|
|
83
109
|
readonly ARBITRUM_ONE: {
|
|
@@ -127,7 +153,7 @@ export declare const ENI_SPENDERS: {
|
|
|
127
153
|
*/
|
|
128
154
|
export declare function getEniSpenders(mode?: boolean | 'all'): string[];
|
|
129
155
|
export type ChainAddresses = keyof typeof ADDRESSES;
|
|
130
|
-
export type AddressKey<C extends ChainAddresses> = keyof typeof ADDRESSES[C];
|
|
156
|
+
export type AddressKey<C extends ChainAddresses> = keyof (typeof ADDRESSES)[C];
|
|
131
157
|
/**
|
|
132
158
|
* 获取指定链的合约地址
|
|
133
159
|
*/
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
// ============================================================================
|
|
8
8
|
/** 零地址 */
|
|
9
9
|
export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
|
|
10
|
+
/** 32 字节零哈希(bytes32 零值) */
|
|
11
|
+
export const ZERO_BYTES32 = '0x0000000000000000000000000000000000000000000000000000000000000000';
|
|
10
12
|
/** BlockRazor Builder EOA 地址(用于 BSC 链贿赂) */
|
|
11
13
|
export const BLOCKRAZOR_BUILDER_EOA = '0x1266C6bE60392A8Ff346E8d5ECCd3E69dD9c5F20';
|
|
12
14
|
// ============================================================================
|
|
@@ -71,12 +73,22 @@ export const ADDRESSES = {
|
|
|
71
73
|
// ---------- PotatoSwap DEX 合约 ----------
|
|
72
74
|
/** V2 Router (标准 Uniswap V2 风格) */
|
|
73
75
|
PotatoSwapV2Router: '0x881fb2f98c13d521009464e7d1cbf16e1b394e8e',
|
|
76
|
+
/** V2 Factory */
|
|
77
|
+
PotatoSwapV2Factory: '0x630DB8E822805c82Ca40a54daE02dd5aC31f7fcF',
|
|
74
78
|
/** SwapRouter02 (V3 风格) */
|
|
75
79
|
PotatoSwapSwapRouter02: '0xB45D0149249488333E3F3f9F359807F4b810C1FC',
|
|
76
80
|
/** V3 Router */
|
|
77
81
|
PotatoSwapV3Router: '0xBB069e9465BcabC4F488d21e793BDEf0F2d41D41',
|
|
78
82
|
/** V3 Factory */
|
|
79
83
|
PotatoSwapV3Factory: '0xa1415fAe79c4B196d087F02b8aD5a622B8A827E5',
|
|
84
|
+
/** QuoterV2 */
|
|
85
|
+
PotatoSwapQuoterV2: '0x5A6f3723346aF54a4D0693bfC1718D64d4915C3e',
|
|
86
|
+
/** DYORSwap V2 Factory */
|
|
87
|
+
DyorSwapV2Factory: '0x2CcaDb1e437AA9cDc741574bDa154686B1F04C09',
|
|
88
|
+
/** DYORSwap Router */
|
|
89
|
+
DyorSwapRouter: '0xfb001fbbace32f09cb6d3c449b935183de53ee96',
|
|
90
|
+
/** DYORSwap ETHBack Dividend 合约(refundETH 固定地址) */
|
|
91
|
+
DyorSwapEthBackDividend: '0x2e61b0b4410f6fb941d47205191cbb8963d44bcc',
|
|
80
92
|
// ---------- ERC-4337 合约 ----------
|
|
81
93
|
/** EntryPoint v0.6 合约地址 */
|
|
82
94
|
EntryPointV06: '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789',
|
|
@@ -99,6 +111,18 @@ export const ADDRESSES = {
|
|
|
99
111
|
TaxTokenSplitterImplementation: '0x57Fed6832F12150a77D5952b49190d9447aCB5ee',
|
|
100
112
|
// ---------- PancakeSwap Proxy ----------
|
|
101
113
|
PancakeProxy: '0x20B89e7e088db3e06e0893Ce23162E475b9d8c7c',
|
|
114
|
+
// ---------- 稳定币 ----------
|
|
115
|
+
USDC: '0x754704bc059f8c67012fed69bc8a327a5aafb603',
|
|
116
|
+
// ---------- DEX ----------
|
|
117
|
+
PancakeV2Factory: '0x44c90b66eb4c4f814cea6aaf2ac71ca88fa77308',
|
|
118
|
+
PancakeV3Factory: '0x40ce898c43df68c8c4229cd5ce21d3ce1f3ddcf1',
|
|
119
|
+
UniswapV2Factory: '0x182a927119d56008d921126764bf884221b10f59',
|
|
120
|
+
UniswapV3Factory: '0x204faca1764b154221e35c0d20abb3c525710498',
|
|
121
|
+
UniswapV2Router: '0x4b2ab38dbf28d31d467aa8993f6c2585981d6804',
|
|
122
|
+
UniswapV3Router: '0xd6145b2d3f379919e8cdeda7b97e37c4b2ca9c40',
|
|
123
|
+
UniswapV3Quoter: '0x661e93cca42afacb172121ef892830ca3b70f08d',
|
|
124
|
+
PancakeV2Router: '0xb1bc24c34e88f7d43d5923034e3a14b24daacff9',
|
|
125
|
+
PancakeV3Router: '0x1b81d678ffb9c0263b24a97847620c99d213eb14',
|
|
102
126
|
// ---------- 通用合约 ----------
|
|
103
127
|
Multicall3: '0xca11bde05977b3631167028862be2a173976ca11',
|
|
104
128
|
},
|
|
@@ -118,6 +142,10 @@ export const ADDRESSES = {
|
|
|
118
142
|
UniswapV3Factory: '0x33128a8fC17869897dcE68Ed026d694621f6FDfD',
|
|
119
143
|
/** Uniswap V3 QuoterV2 */
|
|
120
144
|
UniswapV3Quoter: '0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a',
|
|
145
|
+
/** PancakeSwap V2 Router */
|
|
146
|
+
PancakeV2Router: '0x8cFe327CEc66d1C090Dd72bd0FF11d690C33a2Eb',
|
|
147
|
+
/** PancakeSwap V3 Router */
|
|
148
|
+
PancakeV3Router: '0x678Aa4bF4E210cf2166753e054d5b7c31cc7fa86',
|
|
121
149
|
// ---------- 通用合约 ----------
|
|
122
150
|
Multicall3: '0xcA11bde05977b3631167028862bE2a173976CA11',
|
|
123
151
|
},
|
|
@@ -192,12 +220,21 @@ export const ENI_SPENDERS = {
|
|
|
192
220
|
*/
|
|
193
221
|
export function getEniSpenders(mode = false) {
|
|
194
222
|
if (mode === 'all' && ENI_SPENDERS.BATCH_ROUTER) {
|
|
195
|
-
return [
|
|
223
|
+
return [
|
|
224
|
+
ENI_SPENDERS.DIRECT.DAOAAS_PORTAL,
|
|
225
|
+
ENI_SPENDERS.DIRECT.DSWAP_V2_ROUTER,
|
|
226
|
+
ENI_SPENDERS.DIRECT.IROSWAP_V2_ROUTER,
|
|
227
|
+
ENI_SPENDERS.BATCH_ROUTER,
|
|
228
|
+
];
|
|
196
229
|
}
|
|
197
230
|
if (mode === true && ENI_SPENDERS.BATCH_ROUTER) {
|
|
198
231
|
return [ENI_SPENDERS.BATCH_ROUTER];
|
|
199
232
|
}
|
|
200
|
-
return [
|
|
233
|
+
return [
|
|
234
|
+
ENI_SPENDERS.DIRECT.DAOAAS_PORTAL,
|
|
235
|
+
ENI_SPENDERS.DIRECT.DSWAP_V2_ROUTER,
|
|
236
|
+
ENI_SPENDERS.DIRECT.IROSWAP_V2_ROUTER,
|
|
237
|
+
];
|
|
201
238
|
}
|
|
202
239
|
// ============================================================================
|
|
203
240
|
// 工具函数
|
|
@@ -107,7 +107,7 @@ export declare const CHAINS: {
|
|
|
107
107
|
};
|
|
108
108
|
export declare const CHAIN_ID_MAP: Record<string, number>;
|
|
109
109
|
export type ChainKey = keyof typeof CHAINS;
|
|
110
|
-
export type ChainConfig = typeof CHAINS[ChainKey];
|
|
110
|
+
export type ChainConfig = (typeof CHAINS)[ChainKey];
|
|
111
111
|
/**
|
|
112
112
|
* 根据 chainId 获取链配置
|
|
113
113
|
*/
|
|
@@ -132,7 +132,7 @@ export const CHAIN_ID_MAP = {
|
|
|
132
132
|
* 根据 chainId 获取链配置
|
|
133
133
|
*/
|
|
134
134
|
export function getChainById(chainId) {
|
|
135
|
-
return Object.values(CHAINS).find(c => c.chainId === chainId);
|
|
135
|
+
return Object.values(CHAINS).find((c) => c.chainId === chainId);
|
|
136
136
|
}
|
|
137
137
|
/**
|
|
138
138
|
* 根据 chainId 获取链名称
|
|
@@ -63,7 +63,7 @@ export declare const V3_FEE_TIERS: {
|
|
|
63
63
|
readonly HIGH: 10000;
|
|
64
64
|
};
|
|
65
65
|
export type GasLimitKey = keyof typeof GAS_LIMITS;
|
|
66
|
-
export type V3FeeTier = typeof V3_FEE_TIERS[keyof typeof V3_FEE_TIERS];
|
|
66
|
+
export type V3FeeTier = (typeof V3_FEE_TIERS)[keyof typeof V3_FEE_TIERS];
|
|
67
67
|
/**
|
|
68
68
|
* 根据链和交易类型计算 gas limit
|
|
69
69
|
*/
|
|
@@ -90,9 +90,7 @@ export function calculateGasLimit(chainId, isNative, hasHops = false, hopCount =
|
|
|
90
90
|
}
|
|
91
91
|
// 有多跳时,基础 gas + 每跳额外 gas
|
|
92
92
|
if (hasHops && hopCount > 0) {
|
|
93
|
-
const hopGas = isNative
|
|
94
|
-
? GAS_LIMITS.NATIVE_TRANSFER
|
|
95
|
-
: GAS_LIMITS.ERC20_TRANSFER;
|
|
93
|
+
const hopGas = isNative ? GAS_LIMITS.NATIVE_TRANSFER : GAS_LIMITS.ERC20_TRANSFER;
|
|
96
94
|
return GAS_LIMITS.TRADE + hopGas * BigInt(hopCount);
|
|
97
95
|
}
|
|
98
96
|
// 普通转账
|
|
@@ -108,9 +106,7 @@ export function calculateGasLimit(chainId, isNative, hasHops = false, hopCount =
|
|
|
108
106
|
*/
|
|
109
107
|
export function getTransferGasLimit(chainId, isNative) {
|
|
110
108
|
if (isNative) {
|
|
111
|
-
return chainId === CHAINS.XLAYER.chainId
|
|
112
|
-
? GAS_LIMITS.XLAYER_NATIVE_TRANSFER
|
|
113
|
-
: GAS_LIMITS.NATIVE_TRANSFER;
|
|
109
|
+
return chainId === CHAINS.XLAYER.chainId ? GAS_LIMITS.XLAYER_NATIVE_TRANSFER : GAS_LIMITS.NATIVE_TRANSFER;
|
|
114
110
|
}
|
|
115
111
|
return GAS_LIMITS.ERC20_TRANSFER;
|
|
116
112
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 统一常量导出
|
|
3
3
|
*
|
|
4
4
|
* 使用示例:
|
|
5
|
-
* import { CHAINS, GAS_LIMITS, ADDRESSES, PROFIT_CONFIG } from '
|
|
5
|
+
* import { CHAINS, GAS_LIMITS, ADDRESSES, PROFIT_CONFIG } from '../../core/constants/shared/constants';
|
|
6
6
|
*
|
|
7
7
|
* const chainId = CHAINS.BSC.chainId;
|
|
8
8
|
* const gasLimit = GAS_LIMITS.NATIVE_TRANSFER;
|
|
@@ -10,5 +10,8 @@
|
|
|
10
10
|
*/
|
|
11
11
|
export { CHAINS, CHAIN_ID_MAP, getChainById, getChainName, getDefaultRpcUrl, isKnownChain, isBscChain, isXLayerChain, isMonadChain, isEniChain, getConfirmationTimeout, type ChainKey, type ChainConfig, } from './chains.js';
|
|
12
12
|
export { GAS_LIMITS, GAS_CONFIG, V3_FEE_TIERS, calculateGasLimit, getTransferGasLimit, type GasLimitKey, type V3FeeTier, } from './gas.js';
|
|
13
|
-
export {
|
|
13
|
+
export { QUOTE_CONFIG, QUOTE_V3_FEE_TIERS, type QuoteConfigChain } from './quote.js';
|
|
14
|
+
/** Flap 链标识(与 `FlapPortal` 一致,供子路径 `./constants` 使用) */
|
|
15
|
+
export type { FlapChain } from '../../domains/flap/portal.js';
|
|
16
|
+
export { ZERO_ADDRESS, ZERO_BYTES32, BLOCKRAZOR_BUILDER_EOA, ADDRESSES, getAddress, getWrappedNativeAddress, getMulticall3Address, getFlapPortalAddress, isZeroAddress, isNativeToken, ENI_SPENDERS, getEniSpenders, type ChainAddresses, type AddressKey, } from './addresses.js';
|
|
14
17
|
export { PROFIT_CONFIG, getProfitRecipient, getAllProfitRecipients, getProfitRateBps, calculateProfitAmount, calculateProfitHopGasCost, type ProfitRateKey, TRANSFER_FEE_PER_ADDRESS, getTransferFeePerAddress, calculateTransferFee, } from './profit.js';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 统一常量导出
|
|
3
3
|
*
|
|
4
4
|
* 使用示例:
|
|
5
|
-
* import { CHAINS, GAS_LIMITS, ADDRESSES, PROFIT_CONFIG } from '
|
|
5
|
+
* import { CHAINS, GAS_LIMITS, ADDRESSES, PROFIT_CONFIG } from '../../core/constants/shared/constants';
|
|
6
6
|
*
|
|
7
7
|
* const chainId = CHAINS.BSC.chainId;
|
|
8
8
|
* const gasLimit = GAS_LIMITS.NATIVE_TRANSFER;
|
|
@@ -16,10 +16,11 @@ export { CHAINS, CHAIN_ID_MAP, getChainById, getChainName, getDefaultRpcUrl, isK
|
|
|
16
16
|
// Gas 常量
|
|
17
17
|
// ============================================================================
|
|
18
18
|
export { GAS_LIMITS, GAS_CONFIG, V3_FEE_TIERS, calculateGasLimit, getTransferGasLimit, } from './gas.js';
|
|
19
|
+
export { QUOTE_CONFIG, QUOTE_V3_FEE_TIERS } from './quote.js';
|
|
19
20
|
// ============================================================================
|
|
20
21
|
// 合约地址
|
|
21
22
|
// ============================================================================
|
|
22
|
-
export { ZERO_ADDRESS, BLOCKRAZOR_BUILDER_EOA, ADDRESSES, getAddress, getWrappedNativeAddress, getMulticall3Address, getFlapPortalAddress, isZeroAddress, isNativeToken, ENI_SPENDERS, getEniSpenders, } from './addresses.js';
|
|
23
|
+
export { ZERO_ADDRESS, ZERO_BYTES32, BLOCKRAZOR_BUILDER_EOA, ADDRESSES, getAddress, getWrappedNativeAddress, getMulticall3Address, getFlapPortalAddress, isZeroAddress, isNativeToken, ENI_SPENDERS, getEniSpenders, } from './addresses.js';
|
|
23
24
|
// ============================================================================
|
|
24
25
|
// 利润配置
|
|
25
26
|
// ============================================================================
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** DEX 报价链配置(V2 Router / V3 Quoter / 包装原生币 / 稳定币) */
|
|
2
|
+
export declare const QUOTE_CONFIG: {
|
|
3
|
+
readonly BSC: {
|
|
4
|
+
readonly v2Router: "0x10ED43C718714eb63d5aA57B78B54704E256024E";
|
|
5
|
+
readonly v3Quoter: "0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997";
|
|
6
|
+
readonly wrappedNative: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
|
|
7
|
+
readonly stableCoins: readonly ["0x55d398326f99059fF775485246999027B3197955", "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d", "0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56"];
|
|
8
|
+
};
|
|
9
|
+
readonly MONAD: {
|
|
10
|
+
readonly v2Router: "0xb1bc24c34e88f7d43d5923034e3a14b24daacff9";
|
|
11
|
+
readonly v3Quoter: "";
|
|
12
|
+
readonly wrappedNative: "0x3bd359c1119da7da1d913d1c4d2b7c461115433a";
|
|
13
|
+
readonly stableCoins: readonly [];
|
|
14
|
+
};
|
|
15
|
+
readonly XLAYER: {
|
|
16
|
+
readonly v2Router: "0x881fb2f98c13d521009464e7d1cbf16e1b394e8e";
|
|
17
|
+
readonly v3Quoter: "0x5A6f3723346aF54a4D0693bfC1718D64d4915C3e";
|
|
18
|
+
readonly wrappedNative: "0xe538905cf8410324e03a5a23c1c177a474d59b2b";
|
|
19
|
+
readonly stableCoins: readonly ["0x1E4a5963aBFD975d8c9021ce480b42188849D41d", "0x74b7f16337b8972027f6196a17a631ac6de26d22", "0x779ded0c9e1022225f8e0630b35a9b54be713736"];
|
|
20
|
+
};
|
|
21
|
+
readonly ENI: {
|
|
22
|
+
readonly v2Router: "0x97ed8be49d9a8b86247090aa41e908e76b8fcf22";
|
|
23
|
+
readonly v3Quoter: "";
|
|
24
|
+
readonly wrappedNative: "0x6d1e851446f4d004ae2a72f9afed85e8829a205e";
|
|
25
|
+
readonly stableCoins: readonly ["0xDC1a8A35b0BaA3229b13f348ED708a2fd50b5e3a", "0xaFF944b96c1BAEA587159ec446280E468B32ee15"];
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
/** V3 报价尝试费率列表(与 `gas.V3_FEE_TIERS` 命名对象区分) */
|
|
29
|
+
export declare const QUOTE_V3_FEE_TIERS: readonly [100, 500, 2500, 10000];
|
|
30
|
+
export type QuoteConfigChain = keyof typeof QUOTE_CONFIG;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** DEX 报价链配置(V2 Router / V3 Quoter / 包装原生币 / 稳定币) */
|
|
2
|
+
export const QUOTE_CONFIG = {
|
|
3
|
+
BSC: {
|
|
4
|
+
v2Router: '0x10ED43C718714eb63d5aA57B78B54704E256024E',
|
|
5
|
+
v3Quoter: '0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997',
|
|
6
|
+
wrappedNative: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
|
|
7
|
+
stableCoins: [
|
|
8
|
+
'0x55d398326f99059fF775485246999027B3197955',
|
|
9
|
+
'0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d',
|
|
10
|
+
'0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56',
|
|
11
|
+
],
|
|
12
|
+
},
|
|
13
|
+
MONAD: {
|
|
14
|
+
v2Router: '0xb1bc24c34e88f7d43d5923034e3a14b24daacff9',
|
|
15
|
+
v3Quoter: '',
|
|
16
|
+
wrappedNative: '0x3bd359c1119da7da1d913d1c4d2b7c461115433a',
|
|
17
|
+
stableCoins: [],
|
|
18
|
+
},
|
|
19
|
+
XLAYER: {
|
|
20
|
+
v2Router: '0x881fb2f98c13d521009464e7d1cbf16e1b394e8e',
|
|
21
|
+
v3Quoter: '0x5A6f3723346aF54a4D0693bfC1718D64d4915C3e',
|
|
22
|
+
wrappedNative: '0xe538905cf8410324e03a5a23c1c177a474d59b2b',
|
|
23
|
+
stableCoins: [
|
|
24
|
+
'0x1E4a5963aBFD975d8c9021ce480b42188849D41d',
|
|
25
|
+
'0x74b7f16337b8972027f6196a17a631ac6de26d22',
|
|
26
|
+
'0x779ded0c9e1022225f8e0630b35a9b54be713736',
|
|
27
|
+
],
|
|
28
|
+
},
|
|
29
|
+
ENI: {
|
|
30
|
+
v2Router: '0x97ed8be49d9a8b86247090aa41e908e76b8fcf22',
|
|
31
|
+
v3Quoter: '',
|
|
32
|
+
wrappedNative: '0x6d1e851446f4d004ae2a72f9afed85e8829a205e',
|
|
33
|
+
stableCoins: ['0xDC1a8A35b0BaA3229b13f348ED708a2fd50b5e3a', '0xaFF944b96c1BAEA587159ec446280E468B32ee15'],
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
/** V3 报价尝试费率列表(与 `gas.V3_FEE_TIERS` 命名对象区分) */
|
|
37
|
+
export const QUOTE_V3_FEE_TIERS = [100, 500, 2500, 10000];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { GAS_CONFIG } from '../constants/gas.js';
|
|
2
|
+
export function getDeadline(minutes = GAS_CONFIG.DEFAULT_DEADLINE_MINUTES) {
|
|
3
|
+
return Math.floor(Date.now() / 1000) + 60 * minutes;
|
|
4
|
+
}
|
|
5
|
+
export function encodeV3Path(tokens, fees) {
|
|
6
|
+
if (tokens.length < 2) {
|
|
7
|
+
throw new Error('V3 path 需要至少 2 个代币');
|
|
8
|
+
}
|
|
9
|
+
if (fees.length !== tokens.length - 1) {
|
|
10
|
+
throw new Error(`费率数量 (${fees.length}) 必须等于代币数量 - 1 (${tokens.length - 1})`);
|
|
11
|
+
}
|
|
12
|
+
let path = '0x';
|
|
13
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
14
|
+
path += tokens[i].slice(2).toLowerCase().padStart(40, '0');
|
|
15
|
+
if (i < fees.length) {
|
|
16
|
+
path += fees[i].toString(16).padStart(6, '0');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return path;
|
|
20
|
+
}
|
|
21
|
+
export function decodeV3Path(path) {
|
|
22
|
+
const cleanPath = path.startsWith('0x') ? path.slice(2) : path;
|
|
23
|
+
const tokens = [];
|
|
24
|
+
const fees = [];
|
|
25
|
+
let offset = 0;
|
|
26
|
+
while (offset < cleanPath.length) {
|
|
27
|
+
tokens.push('0x' + cleanPath.slice(offset, offset + 40));
|
|
28
|
+
offset += 40;
|
|
29
|
+
if (offset < cleanPath.length) {
|
|
30
|
+
fees.push(parseInt(cleanPath.slice(offset, offset + 6), 16));
|
|
31
|
+
offset += 6;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return { tokens, fees };
|
|
35
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { JsonRpcProvider } from 'ethers';
|
|
2
|
+
/**
|
|
3
|
+
* 获取 ERC20 代币精度(带缓存)
|
|
4
|
+
*/
|
|
5
|
+
export declare function getErc20Decimals(provider: JsonRpcProvider, token: string, chainId?: number): Promise<number>;
|
|
6
|
+
/** @deprecated 使用 getErc20Decimals */
|
|
7
|
+
export declare const getErc20DecimalsMerkle: typeof getErc20Decimals;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
const decimalsCache = new Map();
|
|
3
|
+
/**
|
|
4
|
+
* 获取 ERC20 代币精度(带缓存)
|
|
5
|
+
*/
|
|
6
|
+
export async function getErc20Decimals(provider, token, chainId) {
|
|
7
|
+
const resolvedChainId = chainId ?? Number((await provider.getNetwork()).chainId);
|
|
8
|
+
const key = `${resolvedChainId}_${token.toLowerCase()}`;
|
|
9
|
+
if (decimalsCache.has(key))
|
|
10
|
+
return decimalsCache.get(key);
|
|
11
|
+
try {
|
|
12
|
+
const erc20 = new ethers.Contract(token, ['function decimals() view returns (uint8)'], provider);
|
|
13
|
+
const d = await erc20.decimals();
|
|
14
|
+
if (!Number.isFinite(d) || d < 0 || d > 36)
|
|
15
|
+
return 18;
|
|
16
|
+
decimalsCache.set(key, d);
|
|
17
|
+
return d;
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return 18;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/** @deprecated 使用 getErc20Decimals */
|
|
24
|
+
export const getErc20DecimalsMerkle = getErc20Decimals;
|
|
@@ -1,44 +1,31 @@
|
|
|
1
1
|
import { JsonRpcProvider } from 'ethers';
|
|
2
|
-
import {
|
|
3
|
-
export type EnsureAllowanceResult
|
|
4
|
-
|
|
5
|
-
currentAllowance: bigint;
|
|
6
|
-
requiredAllowance: bigint;
|
|
7
|
-
txReceipt?: any;
|
|
8
|
-
};
|
|
9
|
-
export type EnsureAllowanceBatchItemResult = EnsureAllowanceResult & {
|
|
10
|
-
owner: string;
|
|
11
|
-
};
|
|
2
|
+
import type { EnsureAllowanceResult, EnsureAllowanceBatchItemResult, ApproveTokenBatchParams, ApproveTokenBatchRawParams, ApproveTokenBatchResult, ApproveTokenBatchSignResult } from './types-erc20.js';
|
|
3
|
+
export type { EnsureAllowanceResult, EnsureAllowanceBatchItemResult, ApproveTokenBatchParams, ApproveTokenBatchRawParams, ApproveTokenBatchResult, ApproveTokenBatchSignResult, } from './types-erc20.js';
|
|
4
|
+
type SellApprovalChain = 'BSC' | 'BASE' | 'ARBITRUM_ONE';
|
|
12
5
|
/**
|
|
13
6
|
* 检查代币授权状态 - Four.meme V1(只读,不发送交易)
|
|
14
|
-
* @returns 是否已授权足够的额度
|
|
15
7
|
*/
|
|
16
|
-
export declare function checkSellApprovalV1(chain:
|
|
8
|
+
export declare function checkSellApprovalV1(chain: SellApprovalChain, rpcUrl: string, token: string, owner: string, amount: bigint): Promise<{
|
|
17
9
|
isApproved: boolean;
|
|
18
10
|
currentAllowance: bigint;
|
|
19
11
|
requiredAllowance: bigint;
|
|
20
12
|
}>;
|
|
21
13
|
/**
|
|
22
14
|
* 确保代币已授权给 Four.meme V1 代理合约
|
|
23
|
-
* 用于 Four.meme V1 代币的卖出操作
|
|
24
|
-
* @returns 授权结果,包含是否已授权、当前额度、交易回执等信息
|
|
25
15
|
*/
|
|
26
|
-
export declare function ensureSellApprovalV1(chain:
|
|
16
|
+
export declare function ensureSellApprovalV1(chain: SellApprovalChain, rpcUrl: string, privateKey: string, token: string, owner: string, amount: bigint): Promise<EnsureAllowanceResult>;
|
|
27
17
|
/**
|
|
28
18
|
* 检查代币授权状态 - Four.meme V2(只读,不发送交易)
|
|
29
|
-
* @returns 是否已授权足够的额度
|
|
30
19
|
*/
|
|
31
|
-
export declare function checkSellApprovalV2(chain:
|
|
20
|
+
export declare function checkSellApprovalV2(chain: SellApprovalChain, rpcUrl: string, token: string, owner: string, amount: bigint): Promise<{
|
|
32
21
|
isApproved: boolean;
|
|
33
22
|
currentAllowance: bigint;
|
|
34
23
|
requiredAllowance: bigint;
|
|
35
24
|
}>;
|
|
36
25
|
/**
|
|
37
26
|
* 确保代币已授权给 Four.meme V2 代理合约
|
|
38
|
-
* 用于 Four.meme V2 代币的卖出操作
|
|
39
|
-
* @returns 授权结果,包含是否已授权、当前额度、交易回执等信息
|
|
40
27
|
*/
|
|
41
|
-
export declare function ensureSellApprovalV2(chain:
|
|
28
|
+
export declare function ensureSellApprovalV2(chain: SellApprovalChain, rpcUrl: string, privateKey: string, token: string, owner: string, amount: bigint): Promise<EnsureAllowanceResult>;
|
|
42
29
|
/**
|
|
43
30
|
* 检查代币授权状态 - Four.meme(通用,默认使用 V2)
|
|
44
31
|
* @deprecated 建议使用明确版本的方法:checkSellApprovalV1 或 checkSellApprovalV2
|
|
@@ -161,75 +148,6 @@ export declare function checkAllowanceBatch(chain: 'BSC' | 'BASE' | 'XLAYER' | '
|
|
|
161
148
|
* @returns 每个地址的授权额度数组
|
|
162
149
|
*/
|
|
163
150
|
export declare function checkAllowanceBatchRaw(rpcUrl: string, tokenAddress: string, ownerAddresses: string[], spenderAddress: string): Promise<bigint[]>;
|
|
164
|
-
export type ApproveTokenBatchParams = {
|
|
165
|
-
chain: 'BSC' | 'BASE' | 'XLAYER' | 'MORPH' | 'MONAD';
|
|
166
|
-
platform: 'flap' | 'four' | 'pancake-v2' | 'pancake-v3';
|
|
167
|
-
rpcUrl: string;
|
|
168
|
-
privateKeys: string[];
|
|
169
|
-
tokenAddress: string;
|
|
170
|
-
amounts: (bigint | 'max')[];
|
|
171
|
-
/** 是否只签名不提交(默认 false,直接发送交易) */
|
|
172
|
-
signOnly?: boolean;
|
|
173
|
-
/** Gas Price(可选,单位 Gwei,signOnly=true 时生效) */
|
|
174
|
-
gasPriceGwei?: number;
|
|
175
|
-
/** Gas Limit(可选,默认 100000,signOnly=true 时生效) */
|
|
176
|
-
gasLimit?: number;
|
|
177
|
-
/** 链ID(可选,默认56=BSC,signOnly=true 时生效) */
|
|
178
|
-
chainId?: number;
|
|
179
|
-
/** 跳过合约地址验证(可选,用于某些特殊场景) */
|
|
180
|
-
skipValidation?: boolean;
|
|
181
|
-
};
|
|
182
|
-
export type ApproveTokenBatchRawParams = {
|
|
183
|
-
rpcUrl: string;
|
|
184
|
-
privateKeys: string[];
|
|
185
|
-
tokenAddress: string;
|
|
186
|
-
spenderAddress: string;
|
|
187
|
-
amounts: (bigint | 'max')[];
|
|
188
|
-
/** 是否只签名不提交(默认 false,直接发送交易) */
|
|
189
|
-
signOnly?: boolean;
|
|
190
|
-
/** Gas Price(可选,单位 Gwei,signOnly=true 时生效) */
|
|
191
|
-
gasPriceGwei?: number;
|
|
192
|
-
/** Gas Limit(可选,默认 100000,signOnly=true 时生效) */
|
|
193
|
-
gasLimit?: number;
|
|
194
|
-
/** 链ID(可选,默认56=BSC,signOnly=true 时生效) */
|
|
195
|
-
chainId?: number;
|
|
196
|
-
/** 外部 NonceManager(可选,用于同一钱包签多笔交易时共享 nonce 状态) */
|
|
197
|
-
nonceManager?: NonceManager;
|
|
198
|
-
/** 跳过合约地址验证(可选,用于某些特殊场景,如 RPC 返回异常时) */
|
|
199
|
-
skipValidation?: boolean;
|
|
200
|
-
};
|
|
201
|
-
/** signOnly=false 时的返回结果(直接发送交易) */
|
|
202
|
-
export type ApproveTokenBatchResult = {
|
|
203
|
-
success: boolean;
|
|
204
|
-
approvedCount: number;
|
|
205
|
-
results: Array<{
|
|
206
|
-
owner: string;
|
|
207
|
-
alreadyApproved: boolean;
|
|
208
|
-
currentAllowance: bigint;
|
|
209
|
-
requiredAllowance: bigint;
|
|
210
|
-
txHash?: string;
|
|
211
|
-
error?: string;
|
|
212
|
-
}>;
|
|
213
|
-
};
|
|
214
|
-
/** signOnly=true 时的返回结果(仅签名) */
|
|
215
|
-
export type ApproveTokenBatchSignResult = {
|
|
216
|
-
/** 需要授权的签名交易数组(已过滤掉已授权的钱包) */
|
|
217
|
-
signedTransactions: string[];
|
|
218
|
-
/** 详细结果 */
|
|
219
|
-
results: Array<{
|
|
220
|
-
owner: string;
|
|
221
|
-
/** 是否已授权(无需发送交易) */
|
|
222
|
-
alreadyApproved: boolean;
|
|
223
|
-
currentAllowance: bigint;
|
|
224
|
-
requiredAllowance: bigint;
|
|
225
|
-
/** 签名交易(仅当 alreadyApproved=false 时有值) */
|
|
226
|
-
signedTx?: string;
|
|
227
|
-
}>;
|
|
228
|
-
/** 需要授权的钱包数量 */
|
|
229
|
-
needApproveCount: number;
|
|
230
|
-
/** 已授权的钱包数量 */
|
|
231
|
-
alreadyApprovedCount: number;
|
|
232
|
-
};
|
|
233
151
|
/**
|
|
234
152
|
* ✅ 智能路由:批量授权 ERC20 代币(自动选择 spender,自动检查,只在不足时才发送交易)
|
|
235
153
|
*
|