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
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { ethers, Wallet } from 'ethers';
|
|
2
|
-
import { NonceManager, getOptimizedGasPrice, buildProfitHopTransactions, PROFIT_HOP_COUNT } from '../../utils/bundle-helpers.js';
|
|
3
|
-
import { ADDRESSES, BLOCKRAZOR_BUILDER_EOA } from '../../
|
|
4
|
-
import { TM2_ABI } from '../../
|
|
5
|
-
import { getTxType, getGasPriceConfig, shouldExtractProfit, calculateProfit, calculateBatchProfit, getProfitRecipient, getBribeAmount } from '
|
|
6
|
-
import { trySell } from '
|
|
7
|
-
|
|
2
|
+
import { NonceManager, getOptimizedGasPrice, buildProfitHopTransactions, PROFIT_HOP_COUNT, } from '../../utils/bundle-helpers.js';
|
|
3
|
+
import { ADDRESSES, BLOCKRAZOR_BUILDER_EOA, CHAINS } from '../../core/constants/index.js';
|
|
4
|
+
import { TM2_ABI } from '../../abis/common.js';
|
|
5
|
+
import { getTxType, getGasPriceConfig, shouldExtractProfit, calculateProfit, calculateBatchProfit, getProfitRecipient, getBribeAmount, } from '../config-helpers.js';
|
|
6
|
+
import { trySell } from '../../domains/four/contracts/tm.js';
|
|
7
|
+
import { createSignProvider } from '../sign-context-helpers.js';
|
|
8
|
+
const CHAIN_ID = CHAINS.BSC.chainId;
|
|
8
9
|
const DEFAULT_GAS_LIMIT = 800000;
|
|
9
10
|
// ✅ TM2_ABI 从公共模块导入
|
|
10
11
|
// ✅ 本地 getGasLimit(FourAnyConfig 支持 bigint gasLimit)
|
|
@@ -23,21 +24,18 @@ function getGasLimit(config, defaultGas = DEFAULT_GAS_LIMIT) {
|
|
|
23
24
|
export async function fourPrivateBuyMerkle(params) {
|
|
24
25
|
const { privateKey, tokenAddress, funds, to, config } = params;
|
|
25
26
|
// ✅ 直接使用传入的 RPC URL 创建 provider(不依赖 Merkle)
|
|
26
|
-
const provider =
|
|
27
|
-
chainId: CHAIN_ID,
|
|
28
|
-
name: 'BSC'
|
|
29
|
-
});
|
|
27
|
+
const provider = createSignProvider(config.rpcUrl, CHAIN_ID, 'BSC');
|
|
30
28
|
const wallet = new Wallet(privateKey, provider);
|
|
31
29
|
const tmAddr = ADDRESSES.BSC.TokenManagerOriginal;
|
|
32
30
|
const txType = getTxType(config);
|
|
33
31
|
const gasLimit = getGasLimit(config);
|
|
34
32
|
const originalFundsWei = ethers.parseEther(funds);
|
|
35
33
|
// ✅ 利润提取配置(同步计算)
|
|
36
|
-
const extractProfit = shouldExtractProfit(
|
|
34
|
+
const extractProfit = shouldExtractProfit();
|
|
37
35
|
let profitWei = 0n;
|
|
38
36
|
let actualFundsWei = originalFundsWei;
|
|
39
37
|
if (extractProfit) {
|
|
40
|
-
const { profit, remaining } = calculateProfit(originalFundsWei
|
|
38
|
+
const { profit, remaining } = calculateProfit(originalFundsWei);
|
|
41
39
|
profitWei = profit;
|
|
42
40
|
actualFundsWei = remaining;
|
|
43
41
|
}
|
|
@@ -50,7 +48,9 @@ export async function fourPrivateBuyMerkle(params) {
|
|
|
50
48
|
const [gasPrice, baseNonce, unsigned] = await Promise.all([
|
|
51
49
|
getOptimizedGasPrice(provider, getGasPriceConfig(config)),
|
|
52
50
|
wallet.getNonce(),
|
|
53
|
-
tm2.buyTokenAMAP.populateTransaction(0n, tokenAddress, to ?? wallet.address, actualFundsWei, 0n, {
|
|
51
|
+
tm2.buyTokenAMAP.populateTransaction(0n, tokenAddress, to ?? wallet.address, actualFundsWei, 0n, {
|
|
52
|
+
value: actualFundsWei,
|
|
53
|
+
}),
|
|
54
54
|
]);
|
|
55
55
|
// ✅ 分配 nonces:贿赂 → 买入 → 利润
|
|
56
56
|
let nonceIdx = 0;
|
|
@@ -68,7 +68,7 @@ export async function fourPrivateBuyMerkle(params) {
|
|
|
68
68
|
gasPrice,
|
|
69
69
|
gasLimit: 21000n,
|
|
70
70
|
chainId: CHAIN_ID,
|
|
71
|
-
type: txType
|
|
71
|
+
type: txType,
|
|
72
72
|
}));
|
|
73
73
|
}
|
|
74
74
|
// 买入交易
|
|
@@ -80,7 +80,7 @@ export async function fourPrivateBuyMerkle(params) {
|
|
|
80
80
|
gasPrice,
|
|
81
81
|
chainId: CHAIN_ID,
|
|
82
82
|
type: txType,
|
|
83
|
-
value: actualFundsWei
|
|
83
|
+
value: actualFundsWei,
|
|
84
84
|
}));
|
|
85
85
|
// ✅ 并行签名完成后按顺序返回
|
|
86
86
|
const signedTxs = await Promise.all(signPromises);
|
|
@@ -96,14 +96,14 @@ export async function fourPrivateBuyMerkle(params) {
|
|
|
96
96
|
gasPrice,
|
|
97
97
|
chainId: CHAIN_ID,
|
|
98
98
|
txType,
|
|
99
|
-
startNonce: profitNonce
|
|
99
|
+
startNonce: profitNonce,
|
|
100
100
|
});
|
|
101
101
|
signedTxs.push(...profitHopResult.signedTransactions);
|
|
102
102
|
profitHopWallets = profitHopResult.hopWallets; // ✅ 收集利润多跳钱包
|
|
103
103
|
}
|
|
104
104
|
return {
|
|
105
105
|
signedTransactions: signedTxs,
|
|
106
|
-
profitHopWallets // ✅ 返回利润多跳钱包
|
|
106
|
+
profitHopWallets, // ✅ 返回利润多跳钱包
|
|
107
107
|
};
|
|
108
108
|
}
|
|
109
109
|
/**
|
|
@@ -115,10 +115,7 @@ export async function fourPrivateBuyMerkle(params) {
|
|
|
115
115
|
export async function fourPrivateSellMerkle(params) {
|
|
116
116
|
const { privateKey, tokenAddress, amount, minFunds, config } = params;
|
|
117
117
|
// ✅ 直接使用传入的 RPC URL 创建 provider(不依赖 Merkle)
|
|
118
|
-
const provider =
|
|
119
|
-
chainId: CHAIN_ID,
|
|
120
|
-
name: 'BSC'
|
|
121
|
-
});
|
|
118
|
+
const provider = createSignProvider(config.rpcUrl, CHAIN_ID, 'BSC');
|
|
122
119
|
const wallet = new Wallet(privateKey, provider);
|
|
123
120
|
const tmAddr = ADDRESSES.BSC.TokenManagerOriginal;
|
|
124
121
|
const txType = getTxType(config);
|
|
@@ -130,12 +127,12 @@ export async function fourPrivateSellMerkle(params) {
|
|
|
130
127
|
const [gasPrice, sellNonce, sellUnsigned] = await Promise.all([
|
|
131
128
|
getOptimizedGasPrice(provider, getGasPriceConfig(config)),
|
|
132
129
|
wallet.getNonce(),
|
|
133
|
-
tm2.sellToken.populateTransaction(0n, tokenAddress, amountWei, 0n) // ✅ 已移除滑点保护:minOut 固定为 0
|
|
130
|
+
tm2.sellToken.populateTransaction(0n, tokenAddress, amountWei, 0n), // ✅ 已移除滑点保护:minOut 固定为 0
|
|
134
131
|
]);
|
|
135
132
|
// ✅ 已移除授权检查(前端负责确保授权)
|
|
136
133
|
// ✅ 利润计算(同步)
|
|
137
|
-
const extractProfit = shouldExtractProfit(
|
|
138
|
-
const { profit } = extractProfit ? calculateProfit(minOut
|
|
134
|
+
const extractProfit = shouldExtractProfit();
|
|
135
|
+
const { profit } = extractProfit ? calculateProfit(minOut) : { profit: 0n };
|
|
139
136
|
// ✅ 获取贿赂金额
|
|
140
137
|
const bribeAmount = getBribeAmount(config);
|
|
141
138
|
const needBribeTx = bribeAmount > 0n;
|
|
@@ -156,7 +153,7 @@ export async function fourPrivateSellMerkle(params) {
|
|
|
156
153
|
gasPrice,
|
|
157
154
|
gasLimit: 21000n,
|
|
158
155
|
chainId: CHAIN_ID,
|
|
159
|
-
type: txType
|
|
156
|
+
type: txType,
|
|
160
157
|
}));
|
|
161
158
|
}
|
|
162
159
|
// 卖出交易
|
|
@@ -168,7 +165,7 @@ export async function fourPrivateSellMerkle(params) {
|
|
|
168
165
|
gasPrice,
|
|
169
166
|
chainId: CHAIN_ID,
|
|
170
167
|
type: txType,
|
|
171
|
-
value: 0n
|
|
168
|
+
value: 0n,
|
|
172
169
|
}));
|
|
173
170
|
// ✅ 并行签名完成后按顺序返回
|
|
174
171
|
const signedTxs = await Promise.all(signPromises);
|
|
@@ -184,14 +181,14 @@ export async function fourPrivateSellMerkle(params) {
|
|
|
184
181
|
gasPrice,
|
|
185
182
|
chainId: CHAIN_ID,
|
|
186
183
|
txType,
|
|
187
|
-
startNonce: profitNonce
|
|
184
|
+
startNonce: profitNonce,
|
|
188
185
|
});
|
|
189
186
|
signedTxs.push(...profitHopResult.signedTransactions);
|
|
190
187
|
profitHopWallets = profitHopResult.hopWallets; // ✅ 收集利润多跳钱包
|
|
191
188
|
}
|
|
192
189
|
return {
|
|
193
190
|
signedTransactions: signedTxs,
|
|
194
|
-
profitHopWallets // ✅ 返回利润多跳钱包
|
|
191
|
+
profitHopWallets, // ✅ 返回利润多跳钱包
|
|
195
192
|
};
|
|
196
193
|
}
|
|
197
194
|
/**
|
|
@@ -205,18 +202,15 @@ export async function fourBatchPrivateBuyMerkle(params) {
|
|
|
205
202
|
throw new Error('privateKeys and fundsList length mismatch');
|
|
206
203
|
}
|
|
207
204
|
// ✅ 直接使用传入的 RPC URL 创建 provider(不依赖 Merkle)
|
|
208
|
-
const provider =
|
|
209
|
-
chainId: CHAIN_ID,
|
|
210
|
-
name: 'BSC'
|
|
211
|
-
});
|
|
205
|
+
const provider = createSignProvider(config.rpcUrl, CHAIN_ID, 'BSC');
|
|
212
206
|
const tmAddr = ADDRESSES.BSC.TokenManagerOriginal;
|
|
213
207
|
const txType = getTxType(config);
|
|
214
208
|
const finalGasLimit = getGasLimit(config);
|
|
215
209
|
const wallets = privateKeys.map((k) => new Wallet(k, provider));
|
|
216
210
|
const originalAmountsWei = fundsList.map((a) => ethers.parseEther(a));
|
|
217
211
|
// ✅ 利润提取配置(同步计算)
|
|
218
|
-
const extractProfit = shouldExtractProfit(
|
|
219
|
-
const { totalProfit, remainingAmounts } = calculateBatchProfit(originalAmountsWei
|
|
212
|
+
const extractProfit = shouldExtractProfit();
|
|
213
|
+
const { totalProfit, remainingAmounts } = calculateBatchProfit(originalAmountsWei);
|
|
220
214
|
const actualAmountsWei = remainingAmounts;
|
|
221
215
|
// ✅ 获取贿赂金额
|
|
222
216
|
const bribeAmount = getBribeAmount(config);
|
|
@@ -238,16 +232,16 @@ export async function fourBatchPrivateBuyMerkle(params) {
|
|
|
238
232
|
// ✅ 优化:并行获取 gasPrice、nonces 和构建未签名交易
|
|
239
233
|
const [gasPrice, unsignedList, noncesResult] = await Promise.all([
|
|
240
234
|
getOptimizedGasPrice(provider, getGasPriceConfig(config)),
|
|
241
|
-
Promise.all(tm2Contracts.map((c, i) => c.buyTokenAMAP.populateTransaction(0n, tokenAddress, wallets[i].address, actualAmountsWei[i], 0n, {
|
|
235
|
+
Promise.all(tm2Contracts.map((c, i) => c.buyTokenAMAP.populateTransaction(0n, tokenAddress, wallets[i].address, actualAmountsWei[i], 0n, {
|
|
236
|
+
value: actualAmountsWei[i],
|
|
237
|
+
}))),
|
|
242
238
|
(async () => {
|
|
243
239
|
if (payerNonceCount > 1) {
|
|
244
240
|
// payer 需要多个连续 nonce
|
|
245
241
|
const payerNonces = await nonceManager.getNextNonceBatch(wallets[maxFundsIndex], payerNonceCount);
|
|
246
242
|
// 其他钱包各需要 1 个 nonce
|
|
247
243
|
const otherWallets = wallets.filter((_, i) => i !== maxFundsIndex);
|
|
248
|
-
const otherNonces = otherWallets.length > 0
|
|
249
|
-
? await nonceManager.getNextNoncesForWallets(otherWallets)
|
|
250
|
-
: [];
|
|
244
|
+
const otherNonces = otherWallets.length > 0 ? await nonceManager.getNextNoncesForWallets(otherWallets) : [];
|
|
251
245
|
// 组装最终的 nonces 数组(保持原顺序)
|
|
252
246
|
const nonces = [];
|
|
253
247
|
let otherIdx = 0;
|
|
@@ -269,7 +263,7 @@ export async function fourBatchPrivateBuyMerkle(params) {
|
|
|
269
263
|
const nonces = await nonceManager.getNextNoncesForWallets(wallets);
|
|
270
264
|
return { nonces, bribeNonce: undefined, profitNonce: undefined };
|
|
271
265
|
}
|
|
272
|
-
})()
|
|
266
|
+
})(),
|
|
273
267
|
]);
|
|
274
268
|
const { nonces, bribeNonce, profitNonce } = noncesResult;
|
|
275
269
|
// ✅ 贿赂交易放在首位(提高 BlockRazor 打包优先级)
|
|
@@ -282,7 +276,7 @@ export async function fourBatchPrivateBuyMerkle(params) {
|
|
|
282
276
|
gasPrice,
|
|
283
277
|
gasLimit: 21000n,
|
|
284
278
|
chainId: CHAIN_ID,
|
|
285
|
-
type: txType
|
|
279
|
+
type: txType,
|
|
286
280
|
});
|
|
287
281
|
signedTxs.push(bribeTx);
|
|
288
282
|
}
|
|
@@ -295,7 +289,7 @@ export async function fourBatchPrivateBuyMerkle(params) {
|
|
|
295
289
|
gasPrice,
|
|
296
290
|
chainId: CHAIN_ID,
|
|
297
291
|
type: txType,
|
|
298
|
-
value: actualAmountsWei[i]
|
|
292
|
+
value: actualAmountsWei[i],
|
|
299
293
|
})));
|
|
300
294
|
signedTxs.push(...signedList);
|
|
301
295
|
// ✅ 利润多跳转账(强制 2 跳中转)
|
|
@@ -310,7 +304,7 @@ export async function fourBatchPrivateBuyMerkle(params) {
|
|
|
310
304
|
gasPrice,
|
|
311
305
|
chainId: CHAIN_ID,
|
|
312
306
|
txType,
|
|
313
|
-
startNonce: profitNonce
|
|
307
|
+
startNonce: profitNonce,
|
|
314
308
|
});
|
|
315
309
|
signedTxs.push(...profitHopResult.signedTransactions);
|
|
316
310
|
profitHopWallets = profitHopResult.hopWallets; // ✅ 收集利润多跳钱包
|
|
@@ -318,7 +312,7 @@ export async function fourBatchPrivateBuyMerkle(params) {
|
|
|
318
312
|
nonceManager.clearTemp();
|
|
319
313
|
return {
|
|
320
314
|
signedTransactions: signedTxs,
|
|
321
|
-
profitHopWallets // ✅ 返回利润多跳钱包
|
|
315
|
+
profitHopWallets, // ✅ 返回利润多跳钱包
|
|
322
316
|
};
|
|
323
317
|
}
|
|
324
318
|
/**
|
|
@@ -333,10 +327,7 @@ export async function fourBatchPrivateSellMerkle(params) {
|
|
|
333
327
|
throw new Error('privateKeys and amounts length mismatch');
|
|
334
328
|
}
|
|
335
329
|
// ✅ 直接使用传入的 RPC URL 创建 provider(不依赖 Merkle)
|
|
336
|
-
const provider =
|
|
337
|
-
chainId: CHAIN_ID,
|
|
338
|
-
name: 'BSC'
|
|
339
|
-
});
|
|
330
|
+
const provider = createSignProvider(config.rpcUrl, CHAIN_ID, 'BSC');
|
|
340
331
|
const tmAddr = ADDRESSES.BSC.TokenManagerOriginal;
|
|
341
332
|
const txType = getTxType(config);
|
|
342
333
|
const sellGasLimit = getGasLimit(config);
|
|
@@ -350,7 +341,7 @@ export async function fourBatchPrivateSellMerkle(params) {
|
|
|
350
341
|
minFundsEach !== undefined
|
|
351
342
|
? Promise.resolve((() => {
|
|
352
343
|
const minOutWei = typeof minFundsEach === 'string' ? ethers.parseEther(minFundsEach) : minFundsEach;
|
|
353
|
-
return new Array(wallets.length).fill(minOutWei * 100n / 95n);
|
|
344
|
+
return new Array(wallets.length).fill((minOutWei * 100n) / 95n);
|
|
354
345
|
})())
|
|
355
346
|
: Promise.all(amountsWei.map(async (amount) => {
|
|
356
347
|
try {
|
|
@@ -360,19 +351,19 @@ export async function fourBatchPrivateSellMerkle(params) {
|
|
|
360
351
|
catch {
|
|
361
352
|
return 0n;
|
|
362
353
|
}
|
|
363
|
-
}))
|
|
354
|
+
})),
|
|
364
355
|
]);
|
|
365
356
|
// ✅ 已移除滑点保护:minOuts 固定为 0
|
|
366
357
|
const minOuts = new Array(wallets.length).fill(0n);
|
|
367
358
|
// ✅ 计算总利润和找出收益最高的钱包(同步计算)
|
|
368
|
-
const extractProfit = shouldExtractProfit(
|
|
359
|
+
const extractProfit = shouldExtractProfit();
|
|
369
360
|
let totalProfit = 0n;
|
|
370
361
|
let maxRevenueIndex = 0;
|
|
371
362
|
let maxRevenue = 0n;
|
|
372
363
|
if (extractProfit) {
|
|
373
364
|
for (let i = 0; i < wallets.length; i++) {
|
|
374
365
|
if (quotedOutputs[i] > 0n) {
|
|
375
|
-
const { profit } = calculateProfit(quotedOutputs[i]
|
|
366
|
+
const { profit } = calculateProfit(quotedOutputs[i]);
|
|
376
367
|
totalProfit += profit;
|
|
377
368
|
if (quotedOutputs[i] > maxRevenue) {
|
|
378
369
|
maxRevenue = quotedOutputs[i];
|
|
@@ -398,9 +389,7 @@ export async function fourBatchPrivateSellMerkle(params) {
|
|
|
398
389
|
const payerNonces = await nonceManager.getNextNonceBatch(wallets[maxRevenueIndex], payerNonceCount);
|
|
399
390
|
// 其他钱包各需要 1 个 nonce
|
|
400
391
|
const otherWallets = wallets.filter((_, i) => i !== maxRevenueIndex);
|
|
401
|
-
const otherNonces = otherWallets.length > 0
|
|
402
|
-
? await nonceManager.getNextNoncesForWallets(otherWallets)
|
|
403
|
-
: [];
|
|
392
|
+
const otherNonces = otherWallets.length > 0 ? await nonceManager.getNextNoncesForWallets(otherWallets) : [];
|
|
404
393
|
// 组装最终的 nonces 数组(保持原顺序)
|
|
405
394
|
const nonces = [];
|
|
406
395
|
let otherIdx = 0;
|
|
@@ -422,7 +411,7 @@ export async function fourBatchPrivateSellMerkle(params) {
|
|
|
422
411
|
const nonces = await nonceManager.getNextNoncesForWallets(wallets);
|
|
423
412
|
return { nonces, bribeNonce: undefined, profitNonce: undefined };
|
|
424
413
|
}
|
|
425
|
-
})()
|
|
414
|
+
})(),
|
|
426
415
|
]);
|
|
427
416
|
const { nonces, bribeNonce, profitNonce } = noncesResult;
|
|
428
417
|
// ✅ 贿赂交易放在首位(提高 BlockRazor 打包优先级)
|
|
@@ -435,7 +424,7 @@ export async function fourBatchPrivateSellMerkle(params) {
|
|
|
435
424
|
gasPrice,
|
|
436
425
|
gasLimit: 21000n,
|
|
437
426
|
chainId: CHAIN_ID,
|
|
438
|
-
type: txType
|
|
427
|
+
type: txType,
|
|
439
428
|
});
|
|
440
429
|
signedTxs.push(bribeTx);
|
|
441
430
|
}
|
|
@@ -448,7 +437,7 @@ export async function fourBatchPrivateSellMerkle(params) {
|
|
|
448
437
|
gasPrice,
|
|
449
438
|
chainId: CHAIN_ID,
|
|
450
439
|
type: txType,
|
|
451
|
-
value: 0n
|
|
440
|
+
value: 0n,
|
|
452
441
|
})));
|
|
453
442
|
signedTxs.push(...signedSells);
|
|
454
443
|
// ✅ 利润多跳转账(强制 2 跳中转)
|
|
@@ -463,7 +452,7 @@ export async function fourBatchPrivateSellMerkle(params) {
|
|
|
463
452
|
gasPrice,
|
|
464
453
|
chainId: CHAIN_ID,
|
|
465
454
|
txType,
|
|
466
|
-
startNonce: profitNonce
|
|
455
|
+
startNonce: profitNonce,
|
|
467
456
|
});
|
|
468
457
|
signedTxs.push(...profitHopResult.signedTransactions);
|
|
469
458
|
profitHopWallets = profitHopResult.hopWallets; // ✅ 收集利润多跳钱包
|
|
@@ -471,6 +460,6 @@ export async function fourBatchPrivateSellMerkle(params) {
|
|
|
471
460
|
nonceManager.clearTemp();
|
|
472
461
|
return {
|
|
473
462
|
signedTransactions: signedTxs,
|
|
474
|
-
profitHopWallets // ✅ 返回利润多跳钱包
|
|
463
|
+
profitHopWallets, // ✅ 返回利润多跳钱包
|
|
475
464
|
};
|
|
476
465
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/** @deprecated 实现见 bundle/sign-context-helpers.ts */
|
|
2
|
+
export { resolveChainName, createSignProvider, createSignWallet, resolveSignContext, normalizeItemsOrRecipientsAmounts, resolveProvidedHops, resolveHopCountInput, signBribeTransaction, type SignConfigInput, type HopItem, } from '../sign-context-helpers.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Four.meme 内盘捆绑换手(Merkle Bundle)- 先买后卖
|
|
3
|
+
*
|
|
4
|
+
* 功能:钱包B先买入代币 → 钱包A卖出相同数量 → 原子执行
|
|
5
|
+
*/
|
|
6
|
+
import type { FourBundleBuyFirstSignParams, FourBuyFirstResult } from './types.js';
|
|
7
|
+
export type { FourBuyFirstSignConfig, FourBuyFirstConfig, FourBundleBuyFirstSignParams, FourBundleBuyFirstParams, FourBuyFirstResult, } from './types.js';
|
|
8
|
+
export declare function fourBundleBuyFirstMerkle(params: FourBundleBuyFirstSignParams): Promise<FourBuyFirstResult>;
|