four-flap-meme-sdk 2.2.7 → 2.2.10
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/README.en.md +6 -41
- package/README.md +0 -31
- package/README.zh-CN.md +6 -41
- package/dist/chains/bsc/four/approve-tokenmanager.d.ts +26 -1
- package/dist/chains/bsc/four/approve-tokenmanager.js +113 -1
- package/dist/chains/bsc/four/config.d.ts +67 -5
- package/dist/chains/bsc/four/config.js +114 -2
- package/dist/chains/bsc/four/core.d.ts +4 -1
- package/dist/chains/bsc/four/core.js +592 -1
- 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 +46 -2
- package/dist/chains/bsc/four/internal.js +239 -2
- package/dist/chains/bsc/four/pancake-proxy.d.ts +28 -1
- package/dist/chains/bsc/four/pancake-proxy.js +687 -1
- package/dist/chains/bsc/four/private.d.ts +27 -1
- package/dist/chains/bsc/four/private.js +477 -1
- package/dist/chains/bsc/four/submit.d.ts +315 -2
- package/dist/chains/bsc/four/submit.js +752 -2
- package/dist/chains/bsc/four/swap-buy-first.d.ts +55 -2
- package/dist/chains/bsc/four/swap-buy-first.js +507 -2
- package/dist/chains/bsc/four/swap-internal.d.ts +3 -1
- package/dist/chains/bsc/four/swap-internal.js +18 -1
- package/dist/chains/bsc/four/swap.d.ts +144 -2
- package/dist/chains/bsc/four/swap.js +766 -2
- package/dist/chains/bsc/four/types.d.ts +476 -1
- package/dist/chains/bsc/four/utils.d.ts +18 -5
- package/dist/chains/bsc/four/utils.js +1552 -5
- package/dist/chains/bsc/pancake/bundle-buy-first.d.ts +91 -1
- package/dist/chains/bsc/pancake/bundle-buy-first.js +212 -97
- package/dist/chains/bsc/pancake/bundle-swap.d.ts +79 -1
- package/dist/chains/bsc/pancake/bundle-swap.js +726 -114
- package/dist/chains/bsc/pancake/index.d.ts +2 -4
- package/dist/chains/bsc/pancake/index.js +3 -1
- package/dist/chains/bsc/platforms/iro/factory.d.ts +2 -2
- package/dist/chains/bsc/platforms/iro/factory.js +1 -3
- 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 +10 -31
- package/dist/chains/bsc/platforms/iro/token.js +1 -4
- package/dist/chains/eni/batch-router/bundle-approve.js +3 -4
- package/dist/chains/eni/batch-router/transfer.js +25 -55
- package/dist/chains/eni/batch-router/utils.js +6 -32
- package/dist/chains/eni/bundler/sign.js +6 -5
- package/dist/chains/eni/bundler/submit.js +4 -1
- package/dist/chains/eni/constants.js +1 -1
- package/dist/chains/eni/index.d.ts +1 -2
- package/dist/chains/eni/index.js +0 -1
- package/dist/chains/eni/platforms/daoaas/create.js +2 -2
- 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 +6 -9
- package/dist/chains/eni/platforms/daoaas/portal-direct.js +44 -28
- package/dist/chains/eni/platforms/daoaas/portal.js +6 -10
- package/dist/chains/eni/platforms/dswap/liquidity.js +26 -58
- 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 +46 -87
- package/dist/chains/eni/platforms/fair-launch/pool.js +1 -4
- package/dist/chains/eni/platforms/fair-launch/presets.js +2 -2
- package/dist/chains/eni/platforms/iro/factory.d.ts +2 -2
- package/dist/chains/eni/platforms/iro/factory.js +1 -3
- 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 +26 -90
- package/dist/chains/eni/platforms/iro/token.js +31 -107
- package/dist/chains/eni/platforms/iro/whitelist.js +18 -6
- package/dist/chains/index.d.ts +0 -13
- package/dist/chains/index.js +0 -13
- package/dist/chains/xlayer/eip7702/bundle-approve.d.ts +26 -2
- package/dist/chains/xlayer/eip7702/bundle-approve.js +21 -11
- package/dist/chains/xlayer/eip7702/bundle-buy.d.ts +6 -2
- package/dist/chains/xlayer/eip7702/bundle-buy.js +51 -13
- package/dist/chains/xlayer/eip7702/bundle-create.js +59 -93
- package/dist/chains/xlayer/eip7702/bundle-sell.d.ts +6 -2
- package/dist/chains/xlayer/eip7702/bundle-sell.js +111 -29
- package/dist/chains/xlayer/eip7702/bundle-swap.d.ts +65 -3
- package/dist/chains/xlayer/eip7702/bundle-swap.js +245 -51
- package/dist/chains/xlayer/eip7702/constants.d.ts +16 -1
- package/dist/chains/xlayer/eip7702/constants.js +21 -3
- package/dist/chains/xlayer/eip7702/index.d.ts +46 -28
- package/dist/chains/xlayer/eip7702/index.js +81 -28
- package/dist/chains/xlayer/eip7702/multi-hop-transfer.d.ts +203 -2
- package/dist/chains/xlayer/eip7702/multi-hop-transfer.js +307 -63
- package/dist/chains/xlayer/eip7702/types.d.ts +0 -88
- package/dist/chains/xlayer/eip7702/utils.d.ts +3 -0
- package/dist/chains/xlayer/eip7702/utils.js +28 -23
- package/dist/chains/xlayer/eip7702/volume.d.ts +184 -6
- package/dist/chains/xlayer/eip7702/volume.js +164 -89
- package/dist/chains/xlayer/eoa/constants.js +1 -1
- package/dist/chains/xlayer/eoa/dex-helpers.js +5 -5
- package/dist/chains/xlayer/eoa/eoa-bundle-swap.d.ts +95 -1
- package/dist/chains/xlayer/eoa/eoa-bundle-swap.js +299 -66
- package/dist/chains/xlayer/eoa/eoa-wash-volume.d.ts +1 -1
- package/dist/chains/xlayer/eoa/eoa-wash-volume.js +23 -18
- package/dist/chains/xlayer/eoa/index.d.ts +6 -10
- package/dist/chains/xlayer/eoa/index.js +23 -8
- package/dist/chains/xlayer/eoa/portal-ops.js +2 -7
- package/dist/chains/xlayer/eoa/router-manager.js +3 -3
- package/dist/chains/xlayer/eoa/types.d.ts +2 -2
- package/dist/chains/xlayer/eoa/types.js +3 -1
- package/dist/chains/xlayer/index.d.ts +2 -3
- package/dist/chains/xlayer/index.js +7 -4
- package/dist/contracts/helper3.d.ts +5 -20
- package/dist/contracts/helper3.js +20 -56
- package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.d.ts +26 -1
- package/dist/contracts/tm-bundle-merkle/approve-tokenmanager.js +113 -1
- package/dist/contracts/tm-bundle-merkle/config.d.ts +67 -5
- package/dist/contracts/tm-bundle-merkle/config.js +114 -2
- package/dist/contracts/tm-bundle-merkle/core.d.ts +4 -1
- package/dist/contracts/tm-bundle-merkle/core.js +591 -1
- package/dist/contracts/tm-bundle-merkle/index.d.ts +5 -5
- package/dist/contracts/tm-bundle-merkle/index.js +5 -5
- package/dist/contracts/tm-bundle-merkle/internal.d.ts +46 -2
- package/dist/contracts/tm-bundle-merkle/internal.js +238 -2
- package/dist/contracts/tm-bundle-merkle/pancake-proxy.d.ts +28 -1
- package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +686 -1
- package/dist/contracts/tm-bundle-merkle/private.d.ts +27 -1
- package/dist/contracts/tm-bundle-merkle/private.js +476 -1
- package/dist/contracts/tm-bundle-merkle/submit.d.ts +314 -3
- package/dist/contracts/tm-bundle-merkle/submit.js +928 -3
- package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +55 -2
- package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +506 -2
- package/dist/contracts/tm-bundle-merkle/swap-internal.d.ts +3 -1
- package/dist/contracts/tm-bundle-merkle/swap-internal.js +18 -1
- package/dist/contracts/tm-bundle-merkle/swap.d.ts +144 -2
- package/dist/contracts/tm-bundle-merkle/swap.js +764 -2
- package/dist/contracts/tm-bundle-merkle/types.d.ts +476 -1
- package/dist/contracts/tm-bundle-merkle/utils.d.ts +18 -6
- package/dist/contracts/tm-bundle-merkle/utils.js +1501 -6
- package/dist/contracts/tm-bundle.d.ts +51 -3
- package/dist/contracts/tm-bundle.js +177 -108
- package/dist/contracts/tm.d.ts +2 -3
- package/dist/contracts/tm.js +32 -37
- package/dist/contracts/tm1.js +4 -9
- package/dist/contracts/tm2.js +4 -9
- package/dist/dex/direct-router.d.ts +125 -3
- package/dist/dex/direct-router.js +666 -237
- package/dist/flows/create.d.ts +1 -2
- package/dist/flows/create.js +6 -6
- package/dist/index.d.ts +86 -20
- package/dist/index.js +216 -20
- package/dist/shared/abis/TaxToken.json +105 -0
- package/dist/shared/abis/TokenManager2.json +60 -0
- package/dist/shared/abis/common.d.ts +83 -2
- package/dist/shared/abis/common.js +253 -2
- package/dist/shared/abis/index.d.ts +6 -5
- package/dist/shared/abis/index.js +7 -5
- package/dist/shared/clients/blockrazor.js +25 -39
- package/dist/shared/clients/club48.d.ts +2 -2
- package/dist/shared/clients/club48.js +29 -34
- package/dist/shared/clients/emitservice.js +0 -2
- package/dist/shared/clients/four.d.ts +6 -21
- package/dist/shared/clients/four.js +24 -29
- package/dist/shared/clients/merkle.js +34 -27
- package/dist/shared/constants/addresses.d.ts +1 -1
- package/dist/shared/constants/addresses.js +2 -11
- package/dist/shared/constants/chains.d.ts +1 -1
- package/dist/shared/constants/chains.js +1 -1
- package/dist/shared/constants/gas.d.ts +1 -1
- package/dist/shared/constants/gas.js +6 -2
- package/dist/shared/constants/index.d.ts +0 -3
- package/dist/shared/constants/index.js +0 -1
- package/dist/shared/flap/abi.js +1 -1
- package/dist/shared/flap/constants.d.ts +2 -1
- package/dist/shared/flap/constants.js +4 -3
- package/dist/shared/flap/curve.js +0 -3
- package/dist/shared/flap/errors.d.ts +4 -1
- package/dist/shared/flap/errors.js +1 -20
- package/dist/shared/flap/index.d.ts +5 -5
- package/dist/shared/flap/index.js +5 -5
- package/dist/shared/flap/launch-v6.d.ts +117 -0
- package/dist/shared/flap/launch-v6.js +111 -0
- package/dist/shared/flap/meta.d.ts +18 -22
- package/dist/shared/flap/meta.js +17 -12
- package/dist/shared/flap/permit.js +2 -5
- package/dist/shared/flap/pinata.d.ts +6 -22
- package/dist/shared/flap/pinata.js +26 -21
- package/dist/shared/flap/portal-bundle-merkle/config.d.ts +72 -3
- package/dist/shared/flap/portal-bundle-merkle/config.js +124 -4
- package/dist/shared/flap/portal-bundle-merkle/core.d.ts +4 -0
- package/dist/shared/flap/portal-bundle-merkle/core.js +267 -164
- package/dist/shared/flap/portal-bundle-merkle/create-to-dex.d.ts +4 -17
- package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +195 -107
- package/dist/shared/flap/portal-bundle-merkle/curve-to-dex.js +92 -100
- package/dist/shared/flap/portal-bundle-merkle/index.d.ts +7 -11
- package/dist/shared/flap/portal-bundle-merkle/index.js +7 -4
- package/dist/shared/flap/portal-bundle-merkle/pancake-proxy.js +68 -71
- package/dist/shared/flap/portal-bundle-merkle/private.js +114 -61
- package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.d.ts +64 -1
- package/dist/shared/flap/portal-bundle-merkle/swap-buy-first.js +247 -66
- package/dist/shared/flap/portal-bundle-merkle/swap.d.ts +71 -2
- package/dist/shared/flap/portal-bundle-merkle/swap.js +410 -103
- package/dist/shared/flap/portal-bundle-merkle/types.d.ts +12 -88
- package/dist/shared/flap/portal-bundle-merkle/utils.d.ts +80 -1
- package/dist/shared/flap/portal-bundle-merkle/utils.js +265 -145
- package/dist/shared/flap/portal-bundle.js +56 -55
- package/dist/shared/flap/portal.d.ts +3 -14
- package/dist/shared/flap/portal.js +26 -49
- package/dist/shared/flap/vanity.d.ts +5 -4
- package/dist/shared/flap/vanity.js +20 -13
- package/dist/shared/flap/vault.d.ts +93 -25
- package/dist/shared/flap/vault.js +126 -75
- package/dist/shared/four/tax-token.d.ts +1 -1
- package/dist/shared/four/tax-token.js +7 -27
- package/dist/shared/index.d.ts +0 -6
- package/dist/shared/index.js +0 -4
- package/dist/utils/airdrop-sweep.d.ts +76 -4
- package/dist/utils/airdrop-sweep.js +55 -42
- package/dist/utils/bundle-helpers.d.ts +243 -9
- package/dist/utils/bundle-helpers.js +584 -10
- package/dist/utils/constants.d.ts +61 -5
- package/dist/utils/constants.js +80 -5
- package/dist/utils/contract-factory.d.ts +4 -2
- package/dist/utils/contract-factory.js +18 -25
- package/dist/utils/erc20.d.ts +89 -7
- package/dist/utils/erc20.js +125 -94
- package/dist/utils/errors.d.ts +1 -12
- package/dist/utils/errors.js +1 -60
- package/dist/utils/holders-maker.d.ts +138 -2
- package/dist/utils/holders-maker.js +661 -26
- package/dist/utils/lp-inspect.d.ts +112 -2
- package/dist/utils/lp-inspect.js +223 -73
- package/dist/utils/mpcExclusive.d.ts +5 -2
- package/dist/utils/mpcExclusive.js +3 -4
- package/dist/utils/private-sale.d.ts +58 -2
- package/dist/utils/private-sale.js +15 -4
- package/dist/utils/provider-factory.d.ts +0 -4
- package/dist/utils/provider-factory.js +0 -10
- package/dist/utils/quote-helpers.d.ts +45 -4
- package/dist/utils/quote-helpers.js +74 -17
- package/dist/utils/stealth-transfer.d.ts +28 -2
- package/dist/utils/stealth-transfer.js +15 -31
- package/dist/utils/swap-helpers.d.ts +15 -2
- package/dist/utils/swap-helpers.js +11 -6
- package/dist/utils/wallet.d.ts +25 -2
- package/dist/utils/wallet.js +10 -13
- package/package.json +4 -160
- package/dist/__tests__/subpath-exports.test.d.ts +0 -1
- package/dist/__tests__/subpath-exports.test.js +0 -64
- package/dist/abis/common.d.ts +0 -85
- package/dist/abis/common.js +0 -264
- package/dist/abis/contracts/TaxToken.json +0 -969
- package/dist/abis/contracts/TokenManager2.json +0 -136
- package/dist/abis/contracts/index.d.ts +0 -5
- package/dist/abis/contracts/index.js +0 -5
- package/dist/abis/flap/index.d.ts +0 -3
- package/dist/abis/flap/index.js +0 -3
- package/dist/abis/flap/portal-events.d.ts +0 -6
- package/dist/abis/flap/portal-events.js +0 -17
- package/dist/abis/flap/portal.d.ts +0 -6
- package/dist/abis/flap/portal.js +0 -37
- package/dist/abis/flap/vault.d.ts +0 -171
- package/dist/abis/flap/vault.js +0 -91
- package/dist/abis/index.d.ts +0 -8
- package/dist/abis/index.js +0 -11
- package/dist/bundle-core/__tests__/config-helpers.test.d.ts +0 -1
- package/dist/bundle-core/__tests__/config-helpers.test.js +0 -28
- package/dist/bundle-core/__tests__/facade-parity.test.d.ts +0 -1
- package/dist/bundle-core/__tests__/facade-parity.test.js +0 -33
- package/dist/bundle-core/__tests__/sign-context-helpers.test.d.ts +0 -1
- package/dist/bundle-core/__tests__/sign-context-helpers.test.js +0 -60
- package/dist/bundle-core/__tests__/sign-fixture.test.d.ts +0 -1
- package/dist/bundle-core/__tests__/sign-fixture.test.js +0 -220
- package/dist/bundle-core/__tests__/sign-fixtures.d.ts +0 -10
- package/dist/bundle-core/__tests__/sign-fixtures.js +0 -16
- package/dist/bundle-core/config-helpers.d.ts +0 -36
- package/dist/bundle-core/config-helpers.js +0 -57
- package/dist/bundle-core/errors.d.ts +0 -50
- package/dist/bundle-core/errors.js +0 -35
- package/dist/bundle-core/four-meme/approve-tokenmanager.d.ts +0 -7
- package/dist/bundle-core/four-meme/approve-tokenmanager.js +0 -99
- package/dist/bundle-core/four-meme/core-helpers.d.ts +0 -8
- package/dist/bundle-core/four-meme/core-helpers.js +0 -40
- package/dist/bundle-core/four-meme/core.d.ts +0 -4
- package/dist/bundle-core/four-meme/core.js +0 -515
- package/dist/bundle-core/four-meme/pancake-proxy.d.ts +0 -28
- package/dist/bundle-core/four-meme/pancake-proxy.js +0 -679
- package/dist/bundle-core/four-meme/private.d.ts +0 -27
- package/dist/bundle-core/four-meme/private.js +0 -465
- package/dist/bundle-core/four-meme/sign-context-helpers.d.ts +0 -2
- package/dist/bundle-core/four-meme/sign-context-helpers.js +0 -2
- package/dist/bundle-core/four-meme/swap-buy-first.d.ts +0 -8
- package/dist/bundle-core/four-meme/swap-buy-first.js +0 -493
- package/dist/bundle-core/four-meme/swap-hop-helpers.d.ts +0 -6
- package/dist/bundle-core/four-meme/swap-hop-helpers.js +0 -63
- package/dist/bundle-core/four-meme/swap-internal.d.ts +0 -3
- package/dist/bundle-core/four-meme/swap-internal.js +0 -18
- package/dist/bundle-core/four-meme/swap-sign-helpers.d.ts +0 -27
- package/dist/bundle-core/four-meme/swap-sign-helpers.js +0 -105
- package/dist/bundle-core/four-meme/swap.d.ts +0 -17
- package/dist/bundle-core/four-meme/swap.js +0 -505
- package/dist/bundle-core/four-meme/types/buy-first.d.ts +0 -50
- package/dist/bundle-core/four-meme/types/buy-first.js +0 -1
- package/dist/bundle-core/four-meme/types/core-flow.d.ts +0 -63
- package/dist/bundle-core/four-meme/types/core-flow.js +0 -1
- package/dist/bundle-core/four-meme/types/index.d.ts +0 -600
- package/dist/bundle-core/four-meme/types/index.js +0 -1
- package/dist/bundle-core/four-meme/types/swap-internal.d.ts +0 -19
- package/dist/bundle-core/four-meme/types/swap-internal.js +0 -1
- package/dist/bundle-core/four-meme/types.d.ts +0 -1
- package/dist/bundle-core/four-meme/types.js +0 -1
- package/dist/bundle-core/four-meme/utils-disperse.d.ts +0 -7
- package/dist/bundle-core/four-meme/utils-disperse.js +0 -396
- package/dist/bundle-core/four-meme/utils-pairwise.d.ts +0 -8
- package/dist/bundle-core/four-meme/utils-pairwise.js +0 -328
- package/dist/bundle-core/four-meme/utils-sweep.d.ts +0 -8
- package/dist/bundle-core/four-meme/utils-sweep.js +0 -744
- package/dist/bundle-core/index.d.ts +0 -8
- package/dist/bundle-core/index.js +0 -8
- package/dist/bundle-core/internal.d.ts +0 -21
- package/dist/bundle-core/internal.js +0 -182
- package/dist/bundle-core/sign-context-helpers.d.ts +0 -25
- package/dist/bundle-core/sign-context-helpers.js +0 -67
- package/dist/bundle-core/submit.d.ts +0 -293
- package/dist/bundle-core/submit.js +0 -727
- package/dist/bundle-core/types/index.d.ts +0 -8
- package/dist/bundle-core/types/index.js +0 -1
- package/dist/bundle-core/types.d.ts +0 -1
- package/dist/bundle-core/types.js +0 -1
- package/dist/chains/bsc/four/utils-disperse.d.ts +0 -1
- package/dist/chains/bsc/four/utils-disperse.js +0 -1
- package/dist/chains/bsc/four/utils-pairwise.d.ts +0 -1
- package/dist/chains/bsc/four/utils-pairwise.js +0 -1
- package/dist/chains/bsc/four/utils-sweep.d.ts +0 -1
- package/dist/chains/bsc/four/utils-sweep.js +0 -1
- package/dist/chains/bsc/iro.d.ts +0 -5
- package/dist/chains/bsc/iro.js +0 -4
- package/dist/chains/bsc/pancake/bundle-buy-first-helpers.d.ts +0 -159
- package/dist/chains/bsc/pancake/bundle-buy-first-helpers.js +0 -117
- package/dist/chains/bsc/pancake/bundle-swap-helpers.d.ts +0 -241
- package/dist/chains/bsc/pancake/bundle-swap-helpers.js +0 -565
- package/dist/chains/eni/flat-aliases.d.ts +0 -10
- package/dist/chains/eni/flat-aliases.js +0 -8
- package/dist/chains/eni/submit.d.ts +0 -43
- package/dist/chains/eni/submit.js +0 -286
- package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +0 -13
- package/dist/chains/xlayer/eip7702/flat-aliases.js +0 -10
- package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.d.ts +0 -79
- package/dist/chains/xlayer/eip7702/multi-hop-transfer-helpers.js +0 -1
- package/dist/chains/xlayer/eip7702/transfer-context-helpers.d.ts +0 -26
- package/dist/chains/xlayer/eip7702/transfer-context-helpers.js +0 -57
- package/dist/chains/xlayer/eip7702/volume-helpers.d.ts +0 -148
- package/dist/chains/xlayer/eip7702/volume-helpers.js +0 -48
- package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.d.ts +0 -126
- package/dist/chains/xlayer/eoa/eoa-bundle-swap-helpers.js +0 -228
- package/dist/contracts/tm-bundle-helpers.d.ts +0 -88
- package/dist/contracts/tm-bundle-helpers.js +0 -72
- package/dist/contracts/tm-bundle-merkle/utils-disperse.d.ts +0 -1
- package/dist/contracts/tm-bundle-merkle/utils-disperse.js +0 -1
- package/dist/contracts/tm-bundle-merkle/utils-pairwise.d.ts +0 -1
- package/dist/contracts/tm-bundle-merkle/utils-pairwise.js +0 -1
- package/dist/contracts/tm-bundle-merkle/utils-sweep.d.ts +0 -1
- package/dist/contracts/tm-bundle-merkle/utils-sweep.js +0 -1
- package/dist/dex/direct-router-helpers.d.ts +0 -264
- package/dist/dex/direct-router-helpers.js +0 -539
- package/dist/dex/types.d.ts +0 -81
- package/dist/dex/types.js +0 -1
- package/dist/exports/root-bundle-and-tooling.d.ts +0 -27
- package/dist/exports/root-bundle-and-tooling.js +0 -30
- package/dist/exports/root-eni-and-bsc-iro.d.ts +0 -26
- package/dist/exports/root-eni-and-bsc-iro.js +0 -66
- package/dist/exports/root-foundations.d.ts +0 -35
- package/dist/exports/root-foundations.js +0 -70
- package/dist/exports/root-swap-dex-and-xlayer.d.ts +0 -30
- package/dist/exports/root-swap-dex-and-xlayer.js +0 -78
- package/dist/flap/index.d.ts +0 -10
- package/dist/flap/index.js +0 -8
- package/dist/flows/index.d.ts +0 -1
- package/dist/flows/index.js +0 -1
- package/dist/merkle/index.d.ts +0 -12
- package/dist/merkle/index.js +0 -11
- package/dist/shared/clients/index.d.ts +0 -8
- package/dist/shared/clients/index.js +0 -8
- package/dist/shared/constants/quote.d.ts +0 -30
- package/dist/shared/constants/quote.js +0 -37
- package/dist/shared/flap/portal-bundle-merkle/core-helpers.d.ts +0 -32
- package/dist/shared/flap/portal-bundle-merkle/core-helpers.js +0 -83
- package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.d.ts +0 -125
- package/dist/shared/flap/portal-bundle-merkle/swap-buy-first-helpers.js +0 -113
- package/dist/shared/flap/portal-bundle-merkle/swap-helpers.d.ts +0 -149
- package/dist/shared/flap/portal-bundle-merkle/swap-helpers.js +0 -259
- package/dist/shared/flap/portal-create-token.d.ts +0 -79
- package/dist/shared/flap/portal-create-token.js +0 -261
- package/dist/shared/foundation/dex/v3-path.d.ts +0 -6
- package/dist/shared/foundation/dex/v3-path.js +0 -35
- package/dist/shared/foundation/gas/bundle-gas.d.ts +0 -49
- package/dist/shared/foundation/gas/bundle-gas.js +0 -93
- package/dist/shared/foundation/gas/profit-hop.d.ts +0 -20
- package/dist/shared/foundation/gas/profit-hop.js +0 -72
- package/dist/shared/foundation/index.d.ts +0 -13
- package/dist/shared/foundation/index.js +0 -12
- package/dist/shared/foundation/nonce/nonce-manager.d.ts +0 -17
- package/dist/shared/foundation/nonce/nonce-manager.js +0 -183
- package/dist/shared/foundation/normalize-unknown.d.ts +0 -9
- package/dist/shared/foundation/normalize-unknown.js +0 -29
- package/dist/shared/foundation/sdk-logger.d.ts +0 -13
- package/dist/shared/foundation/sdk-logger.js +0 -12
- package/dist/shared/foundation/tx/build-request.d.ts +0 -17
- package/dist/shared/foundation/tx/build-request.js +0 -25
- package/dist/shared/foundation/tx/sign-batch.d.ts +0 -5
- package/dist/shared/foundation/tx/sign-batch.js +0 -26
- package/dist/shared/foundation/tx/wallet-sign-patch.d.ts +0 -1
- package/dist/shared/foundation/tx/wallet-sign-patch.js +0 -18
- package/dist/shared/foundation/types/airdrop-sweep.d.ts +0 -79
- package/dist/shared/foundation/types/airdrop-sweep.js +0 -1
- package/dist/shared/foundation/types/erc20.d.ts +0 -65
- package/dist/shared/foundation/types/erc20.js +0 -1
- package/dist/shared/foundation/types/holders-maker.d.ts +0 -64
- package/dist/shared/foundation/types/holders-maker.js +0 -1
- package/dist/shared/foundation/types/index.d.ts +0 -7
- package/dist/shared/foundation/types/index.js +0 -1
- package/dist/shared/foundation/types/lp-inspect.d.ts +0 -102
- package/dist/shared/foundation/types/lp-inspect.js +0 -1
- package/dist/shared/foundation/types/multicall.d.ts +0 -5
- package/dist/shared/foundation/types/multicall.js +0 -1
- package/dist/shared/foundation/types/private-sale.d.ts +0 -35
- package/dist/shared/foundation/types/private-sale.js +0 -1
- package/dist/shared/foundation/types/quote-helpers.d.ts +0 -17
- package/dist/shared/foundation/types/quote-helpers.js +0 -1
- package/dist/types/errors.d.ts +0 -27
- package/dist/types/errors.js +0 -34
- package/dist/utils/holders-maker/addresses.d.ts +0 -12
- package/dist/utils/holders-maker/addresses.js +0 -15
- package/dist/utils/holders-maker/buy-tx.d.ts +0 -44
- package/dist/utils/holders-maker/buy-tx.js +0 -278
- package/dist/utils/holders-maker/constants.d.ts +0 -6
- package/dist/utils/holders-maker/constants.js +0 -7
- package/dist/utils/holders-maker/disperse.d.ts +0 -18
- package/dist/utils/holders-maker/disperse.js +0 -90
- package/dist/utils/holders-maker/routing.d.ts +0 -4
- package/dist/utils/holders-maker/routing.js +0 -45
- package/dist/utils/holders-maker/transfer-tx.d.ts +0 -4
- package/dist/utils/holders-maker/transfer-tx.js +0 -67
- package/dist/utils/holders-maker-helpers.d.ts +0 -9
- package/dist/utils/holders-maker-helpers.js +0 -9
- package/dist/utils/hop-chains.d.ts +0 -35
- package/dist/utils/hop-chains.js +0 -215
- package/dist/utils/lp-inspect-helpers.d.ts +0 -9
- package/dist/utils/lp-inspect-helpers.js +0 -109
- package/dist/utils/types/airdrop-sweep.d.ts +0 -1
- package/dist/utils/types/airdrop-sweep.js +0 -1
- package/dist/utils/types/contract-factory.d.ts +0 -1
- package/dist/utils/types/contract-factory.js +0 -1
- package/dist/utils/types/erc20.d.ts +0 -1
- package/dist/utils/types/erc20.js +0 -1
- package/dist/utils/types/errors.d.ts +0 -1
- package/dist/utils/types/errors.js +0 -1
- package/dist/utils/types/holders-maker.d.ts +0 -1
- package/dist/utils/types/holders-maker.js +0 -1
- package/dist/utils/types/hop-chains.d.ts +0 -8
- package/dist/utils/types/hop-chains.js +0 -1
- package/dist/utils/types/index.d.ts +0 -13
- package/dist/utils/types/index.js +0 -1
- package/dist/utils/types/lp-inspect.d.ts +0 -1
- package/dist/utils/types/lp-inspect.js +0 -1
- package/dist/utils/types/mpc-exclusive.d.ts +0 -5
- package/dist/utils/types/mpc-exclusive.js +0 -1
- package/dist/utils/types/private-sale.d.ts +0 -1
- package/dist/utils/types/private-sale.js +0 -1
- package/dist/utils/types/quote-helpers.d.ts +0 -1
- package/dist/utils/types/quote-helpers.js +0 -1
- package/dist/utils/types/stealth-transfer.d.ts +0 -44
- package/dist/utils/types/stealth-transfer.js +0 -1
- package/dist/utils/types/wallet.d.ts +0 -25
- package/dist/utils/types/wallet.js +0 -1
- package/dist/vanity/index.d.ts +0 -5
- package/dist/vanity/index.js +0 -5
- package/src/abis/contracts/TaxToken.json +0 -969
- package/src/abis/contracts/TokenManager.json +0 -836
- package/src/abis/contracts/TokenManager2.json +0 -136
- package/src/abis/contracts/TokenManagerHelper3.json +0 -993
- /package/dist/{abis/contracts → shared/abis}/TokenManager.json +0 -0
- /package/dist/{abis/contracts → shared/abis}/TokenManagerHelper3.json +0 -0
|
@@ -53,8 +53,6 @@ export interface BundleBuyParams {
|
|
|
53
53
|
routerAddress?: string;
|
|
54
54
|
/** V3 费率(可选,默认 2500,仅 V3 使用) */
|
|
55
55
|
fee?: number;
|
|
56
|
-
/** 用户类型(影响利润率) */
|
|
57
|
-
userType?: UserType;
|
|
58
56
|
/** 配置 */
|
|
59
57
|
config?: EIP7702Config;
|
|
60
58
|
}
|
|
@@ -89,8 +87,6 @@ export interface BundleSellParams {
|
|
|
89
87
|
routerAddress?: string;
|
|
90
88
|
/** V3 费率(可选,默认 2500,仅 V3 使用) */
|
|
91
89
|
fee?: number;
|
|
92
|
-
/** 用户类型(影响利润率) */
|
|
93
|
-
userType?: UserType;
|
|
94
90
|
/** 配置 */
|
|
95
91
|
config?: EIP7702Config;
|
|
96
92
|
}
|
|
@@ -160,14 +156,6 @@ export interface BundleSwapParams {
|
|
|
160
156
|
routerAddress?: string;
|
|
161
157
|
/** V3 费率(可选,默认 2500,仅 V3 使用) */
|
|
162
158
|
fee?: number;
|
|
163
|
-
/** 用户类型(影响利润率) */
|
|
164
|
-
userType?: UserType;
|
|
165
|
-
/**
|
|
166
|
-
* 是否使用资金利用率模式(默认 false)
|
|
167
|
-
* - false(普通模式): 卖家卖出 OKB 留在卖家账户,买家用自己预存的 OKB 买入
|
|
168
|
-
* - true(资金利用率模式): 卖家卖出的 OKB 通过多跳转账给买家,买家用收到的 OKB 买入
|
|
169
|
-
*/
|
|
170
|
-
useFundUtilization?: boolean;
|
|
171
159
|
/** 配置 */
|
|
172
160
|
config?: EIP7702Config;
|
|
173
161
|
}
|
|
@@ -192,14 +180,6 @@ export interface BundleBatchSwapParams {
|
|
|
192
180
|
routerAddress?: string;
|
|
193
181
|
/** V3 费率(可选,默认 2500,仅 V3 使用) */
|
|
194
182
|
fee?: number;
|
|
195
|
-
/** 用户类型(影响利润率) */
|
|
196
|
-
userType?: UserType;
|
|
197
|
-
/**
|
|
198
|
-
* 是否使用资金利用率模式(默认 false)
|
|
199
|
-
* - false(普通模式): 卖家卖出 OKB 留在卖家账户,买家用自己预存的 OKB 买入
|
|
200
|
-
* - true(资金利用率模式): 卖家卖出的 OKB 通过多跳转账给买家,买家用收到的 OKB 买入
|
|
201
|
-
*/
|
|
202
|
-
useFundUtilization?: boolean;
|
|
203
183
|
/** 配置 */
|
|
204
184
|
config?: EIP7702Config;
|
|
205
185
|
}
|
|
@@ -462,74 +442,6 @@ export interface BundleCreateToDexResult {
|
|
|
462
442
|
profitAmount: string;
|
|
463
443
|
};
|
|
464
444
|
}
|
|
465
|
-
export interface BundleMultiSwapParams {
|
|
466
|
-
/** Payer 钱包私钥(支付 Gas 费) */
|
|
467
|
-
mainPrivateKey: string;
|
|
468
|
-
/** 卖出钱包私钥列表 */
|
|
469
|
-
sellerPrivateKeys: string[];
|
|
470
|
-
/** 买入钱包私钥列表 */
|
|
471
|
-
buyerPrivateKeys: string[];
|
|
472
|
-
/** 买入总金额 (OKB) */
|
|
473
|
-
totalBuyAmount: string;
|
|
474
|
-
/** 代币地址 */
|
|
475
|
-
tokenAddress: string;
|
|
476
|
-
/** 代币精度 */
|
|
477
|
-
tokenDecimals?: number;
|
|
478
|
-
/** 卖出百分比(1-100,默认 100) */
|
|
479
|
-
sellPercent?: number;
|
|
480
|
-
/** 交易类型:FLAP 内盘 / V2 / V3(默认 V3) */
|
|
481
|
-
tradeType?: TradeType;
|
|
482
|
-
/** 路由地址(可选,根据 tradeType 自动选择) */
|
|
483
|
-
routerAddress?: string;
|
|
484
|
-
/** V3 费率(可选,默认 2500,仅 V3 使用) */
|
|
485
|
-
fee?: number;
|
|
486
|
-
/** 用户类型(影响利润率) */
|
|
487
|
-
userType?: UserType;
|
|
488
|
-
/** 配置 */
|
|
489
|
-
config?: EIP7702Config;
|
|
490
|
-
}
|
|
491
|
-
export interface BundleMultiSwapResult {
|
|
492
|
-
/** 签名后的交易 */
|
|
493
|
-
signedTransaction: string;
|
|
494
|
-
/** 元数据 */
|
|
495
|
-
metadata: {
|
|
496
|
-
payerAddress: string;
|
|
497
|
-
sellerAddresses: string[];
|
|
498
|
-
buyerAddresses: string[];
|
|
499
|
-
sellerCount: number;
|
|
500
|
-
buyerCount: number;
|
|
501
|
-
totalBuyAmount: string;
|
|
502
|
-
totalSellAmount: string;
|
|
503
|
-
profitAmount: string;
|
|
504
|
-
profitRecipient: string;
|
|
505
|
-
userType: string;
|
|
506
|
-
};
|
|
507
|
-
}
|
|
508
|
-
export interface BundleApproveMultiSpendersParams {
|
|
509
|
-
/** 主钱包(发起交易,支付 gas) */
|
|
510
|
-
mainPrivateKey: string;
|
|
511
|
-
/** 需要授权的钱包私钥列表 */
|
|
512
|
-
privateKeys: string[];
|
|
513
|
-
/** 代币地址 */
|
|
514
|
-
tokenAddress: string;
|
|
515
|
-
/** 授权给的地址列表(多个 spender) */
|
|
516
|
-
spenderAddresses: string[];
|
|
517
|
-
/** 授权金额(可选,默认 MaxUint256) */
|
|
518
|
-
amount?: bigint;
|
|
519
|
-
/** 配置 */
|
|
520
|
-
config?: EIP7702Config;
|
|
521
|
-
}
|
|
522
|
-
export interface BundleApproveMultiSpendersResult {
|
|
523
|
-
/** 签名后的交易 */
|
|
524
|
-
signedTransaction: string;
|
|
525
|
-
/** 元数据 */
|
|
526
|
-
metadata: {
|
|
527
|
-
walletCount: number;
|
|
528
|
-
tokenAddress: string;
|
|
529
|
-
spenderAddresses: string[];
|
|
530
|
-
totalApproveCalls: number;
|
|
531
|
-
};
|
|
532
|
-
}
|
|
533
445
|
export type AmountMode = 'average' | 'random' | 'custom';
|
|
534
446
|
export interface BundleGraduateBuyParams {
|
|
535
447
|
/** 代币地址 */
|
|
@@ -62,6 +62,9 @@ export type UserType = 'v0' | 'v1' | 'default';
|
|
|
62
62
|
export declare function getProfitRateBps(userType?: UserType): number;
|
|
63
63
|
/**
|
|
64
64
|
* 根据用户类型获取利润率(双边/换手模式)
|
|
65
|
+
* - v0: 4 bps = 0.04%
|
|
66
|
+
* - v1: 5 bps = 0.05%
|
|
67
|
+
* - default: 4 bps = 0.04%
|
|
65
68
|
*/
|
|
66
69
|
export declare function getProfitRateBpsDouble(userType?: UserType): number;
|
|
67
70
|
/**
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* EIP-7702 XLayer 工具函数
|
|
3
3
|
*/
|
|
4
|
-
import { ethers, Wallet } from 'ethers';
|
|
5
|
-
import { createXLayerProvider } from '../../../utils/provider-factory.js';
|
|
4
|
+
import { ethers, Wallet, JsonRpcProvider } from 'ethers';
|
|
6
5
|
import * as rlp from '@ethereumjs/rlp';
|
|
7
|
-
import { XLAYER_CHAIN_ID, XLAYER_RPC_URL, MULTICALL3_ADDRESS, GAS_ESTIMATE, EIP7702_TX_TYPE, EIP7702_AUTH_PREFIX, MULTICALL3_ABI, DEFAULT_DEADLINE_MINUTES, } from './constants.js';
|
|
8
|
-
import { getProfitRateBps as getSharedProfitRateBps, getProfitRecipient as pickRandomProfitRecipient, } from '../../../shared/constants/index.js';
|
|
6
|
+
import { XLAYER_CHAIN_ID, XLAYER_RPC_URL, MULTICALL3_ADDRESS, GAS_ESTIMATE, EIP7702_TX_TYPE, EIP7702_AUTH_PREFIX, MULTICALL3_ABI, PROFIT_CONFIG, DEFAULT_DEADLINE_MINUTES, } from './constants.js';
|
|
9
7
|
// ========================================
|
|
10
8
|
// 字节转换工具
|
|
11
9
|
// ========================================
|
|
@@ -43,7 +41,7 @@ const providerCache = new Map();
|
|
|
43
41
|
export function getCachedProvider(rpcUrl = XLAYER_RPC_URL) {
|
|
44
42
|
let provider = providerCache.get(rpcUrl);
|
|
45
43
|
if (!provider) {
|
|
46
|
-
provider =
|
|
44
|
+
provider = new JsonRpcProvider(rpcUrl, { chainId: XLAYER_CHAIN_ID, name: 'xlayer' });
|
|
47
45
|
providerCache.set(rpcUrl, provider);
|
|
48
46
|
}
|
|
49
47
|
return provider;
|
|
@@ -222,7 +220,11 @@ export function generateRandomWallets(count) {
|
|
|
222
220
|
// EIP-7702 授权签名
|
|
223
221
|
// ========================================
|
|
224
222
|
export async function signAuthorization(wallet, delegateAddress, nonce, chainId = XLAYER_CHAIN_ID) {
|
|
225
|
-
const authData = [
|
|
223
|
+
const authData = [
|
|
224
|
+
bigintToBytes(BigInt(chainId)),
|
|
225
|
+
addressToBytes(delegateAddress),
|
|
226
|
+
bigintToBytes(nonce),
|
|
227
|
+
];
|
|
226
228
|
const rlpEncoded = rlp.encode(authData);
|
|
227
229
|
const toSign = new Uint8Array(1 + rlpEncoded.length);
|
|
228
230
|
toSign[0] = EIP7702_AUTH_PREFIX;
|
|
@@ -251,7 +253,7 @@ export async function signAuthorizationWithNonce(wallet, delegateAddress, provid
|
|
|
251
253
|
*/
|
|
252
254
|
export async function signAuthorizationsBatch(wallets, delegateAddress, provider, mainWalletIndex) {
|
|
253
255
|
// 并行获取所有钱包的 nonce
|
|
254
|
-
const nonces = await Promise.all(wallets.map(
|
|
256
|
+
const nonces = await Promise.all(wallets.map(w => provider.getTransactionCount(w.address, 'pending')));
|
|
255
257
|
// 并行签署所有授权(签名是同步 CPU 操作,但包装成 Promise 以保持一致性)
|
|
256
258
|
return Promise.all(wallets.map((wallet, i) => {
|
|
257
259
|
const isMainWallet = mainWalletIndex !== undefined && i === mainWalletIndex;
|
|
@@ -293,7 +295,7 @@ export function signAuthorizationsWithNonces(wallets, nonces, delegateAddress, m
|
|
|
293
295
|
* 批量获取多个地址的 nonce - 并行
|
|
294
296
|
*/
|
|
295
297
|
export async function batchGetNonces(addresses, provider) {
|
|
296
|
-
return Promise.all(addresses.map(
|
|
298
|
+
return Promise.all(addresses.map(addr => provider.getTransactionCount(addr, 'pending')));
|
|
297
299
|
}
|
|
298
300
|
// ========================================
|
|
299
301
|
// EIP-7702 交易构建
|
|
@@ -312,14 +314,14 @@ export async function buildEIP7702Transaction(mainWallet, authorizations, calls,
|
|
|
312
314
|
const maxFeePerGas = feeData.maxFeePerGas || ethers.parseUnits('50', 'gwei');
|
|
313
315
|
const multicall3 = new ethers.Interface(MULTICALL3_ABI);
|
|
314
316
|
const callData = multicall3.encodeFunctionData('aggregate3Value', [
|
|
315
|
-
calls.map(
|
|
317
|
+
calls.map(c => ({
|
|
316
318
|
target: c.target,
|
|
317
319
|
allowFailure: c.allowFailure,
|
|
318
320
|
value: c.value,
|
|
319
321
|
callData: c.callData,
|
|
320
|
-
}))
|
|
322
|
+
}))
|
|
321
323
|
]);
|
|
322
|
-
const authList = authorizations.map(
|
|
324
|
+
const authList = authorizations.map(auth => [
|
|
323
325
|
bigintToBytes(auth.chainId),
|
|
324
326
|
addressToBytes(auth.address),
|
|
325
327
|
bigintToBytes(auth.nonce),
|
|
@@ -370,14 +372,14 @@ export function buildEIP7702TransactionSync(mainWallet, authorizations, calls, t
|
|
|
370
372
|
const maxFeePerGas = feeData.maxFeePerGas || ethers.parseUnits('50', 'gwei');
|
|
371
373
|
const multicall3 = new ethers.Interface(MULTICALL3_ABI);
|
|
372
374
|
const callData = multicall3.encodeFunctionData('aggregate3Value', [
|
|
373
|
-
calls.map(
|
|
375
|
+
calls.map(c => ({
|
|
374
376
|
target: c.target,
|
|
375
377
|
allowFailure: c.allowFailure,
|
|
376
378
|
value: c.value,
|
|
377
379
|
callData: c.callData,
|
|
378
|
-
}))
|
|
380
|
+
}))
|
|
379
381
|
]);
|
|
380
|
-
const authList = authorizations.map(
|
|
382
|
+
const authList = authorizations.map(auth => [
|
|
381
383
|
bigintToBytes(auth.chainId),
|
|
382
384
|
addressToBytes(auth.address),
|
|
383
385
|
bigintToBytes(auth.nonce),
|
|
@@ -425,26 +427,29 @@ export function buildEIP7702TransactionSync(mainWallet, authorizations, calls, t
|
|
|
425
427
|
*/
|
|
426
428
|
export function getProfitRateBps(userType) {
|
|
427
429
|
if (userType === 'v0')
|
|
428
|
-
return
|
|
430
|
+
return PROFIT_CONFIG.RATE_BPS_V0;
|
|
429
431
|
if (userType === 'v1')
|
|
430
|
-
return
|
|
431
|
-
return
|
|
432
|
+
return PROFIT_CONFIG.RATE_BPS_V1;
|
|
433
|
+
return PROFIT_CONFIG.RATE_BPS_V0; // 默认使用 v0 费率
|
|
432
434
|
}
|
|
433
435
|
/**
|
|
434
436
|
* 根据用户类型获取利润率(双边/换手模式)
|
|
437
|
+
* - v0: 4 bps = 0.04%
|
|
438
|
+
* - v1: 5 bps = 0.05%
|
|
439
|
+
* - default: 4 bps = 0.04%
|
|
435
440
|
*/
|
|
436
441
|
export function getProfitRateBpsDouble(userType) {
|
|
437
442
|
if (userType === 'v0')
|
|
438
|
-
return
|
|
443
|
+
return PROFIT_CONFIG.RATE_BPS_V0_DOUBLE;
|
|
439
444
|
if (userType === 'v1')
|
|
440
|
-
return
|
|
441
|
-
return
|
|
445
|
+
return PROFIT_CONFIG.RATE_BPS_V1_DOUBLE;
|
|
446
|
+
return PROFIT_CONFIG.RATE_BPS_V0_DOUBLE; // 默认使用 v0 费率
|
|
442
447
|
}
|
|
443
448
|
/**
|
|
444
449
|
* 计算利润金额(旧版兼容)
|
|
445
450
|
*/
|
|
446
451
|
export function calculateProfitAmount(totalFlowWei, isSwapMode = false) {
|
|
447
|
-
const rateBps =
|
|
452
|
+
const rateBps = isSwapMode ? PROFIT_CONFIG.RATE_BPS_SWAP : PROFIT_CONFIG.RATE_BPS;
|
|
448
453
|
return (totalFlowWei * BigInt(rateBps)) / 10000n;
|
|
449
454
|
}
|
|
450
455
|
/**
|
|
@@ -473,7 +478,7 @@ export function calculateProfitAmountByTxCount(totalFlowWei, txCount, userType)
|
|
|
473
478
|
return (totalFlowWei * BigInt(totalRateBps)) / 10000n;
|
|
474
479
|
}
|
|
475
480
|
export function getProfitRecipient(config) {
|
|
476
|
-
return config?.profitRecipient ??
|
|
481
|
+
return config?.profitRecipient ?? PROFIT_CONFIG.RECIPIENT;
|
|
477
482
|
}
|
|
478
483
|
// ========================================
|
|
479
484
|
// 时间工具
|
|
@@ -482,5 +487,5 @@ export function getDeadline(minutes = DEFAULT_DEADLINE_MINUTES) {
|
|
|
482
487
|
return Math.floor(Date.now() / 1000) + minutes * 60;
|
|
483
488
|
}
|
|
484
489
|
export function delay(ms) {
|
|
485
|
-
return new Promise(
|
|
490
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
486
491
|
}
|
|
@@ -1,14 +1,156 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* EIP-7702 XLayer 刷量功能
|
|
3
|
+
*
|
|
4
|
+
* 支持两种模式:
|
|
5
|
+
* 1. 无币模式 (Wash): 单钱包买入+卖出,不需要预先持有代币
|
|
6
|
+
* 2. 捆绑模式 (Bundle): 多钱包批量买入 + 批量卖出
|
|
7
|
+
*
|
|
8
|
+
* 支持池子类型:
|
|
9
|
+
* - FLAP: 内盘 (Flap Portal)
|
|
10
|
+
* - V2: PotatoSwap V2 外盘
|
|
11
|
+
* - V3: PotatoSwap V3 外盘
|
|
12
|
+
*
|
|
13
|
+
* 只生成签名,由调用方决定如何提交
|
|
14
|
+
*/
|
|
15
|
+
import type { EIP7702Config, TradeType, GeneratedWallet } from './types.js';
|
|
16
|
+
import { type UserType } from './utils.js';
|
|
17
|
+
export type VolumeMode = 'wash' | 'bundle';
|
|
18
|
+
export type PoolType = 'FLAP' | 'V2' | 'V3';
|
|
19
|
+
export interface VolumeProgress {
|
|
20
|
+
currentRound: number;
|
|
21
|
+
totalRounds: number;
|
|
22
|
+
status: 'pending' | 'running' | 'completed' | 'failed';
|
|
23
|
+
message?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface WashVolumeParams {
|
|
26
|
+
/** Payer 钱包私钥(支付 Gas 费) */
|
|
27
|
+
mainPrivateKey: string;
|
|
28
|
+
/** 钱包私钥列表(每个钱包独立执行买入+卖出) */
|
|
29
|
+
privateKeys: string[];
|
|
30
|
+
/** 代币地址 */
|
|
31
|
+
tokenAddress: string;
|
|
32
|
+
/** 代币精度 */
|
|
33
|
+
tokenDecimals?: number;
|
|
34
|
+
/** 每个钱包的买入金额 (OKB) */
|
|
35
|
+
buyAmountPerWallet: string;
|
|
36
|
+
/** 卖出百分比(1-100) */
|
|
37
|
+
sellPercent?: number;
|
|
38
|
+
/** 池子类型 */
|
|
39
|
+
poolType?: PoolType;
|
|
40
|
+
/** 路由地址(V2/V3 模式) */
|
|
41
|
+
routerAddress?: string;
|
|
42
|
+
/** V3 费率 */
|
|
43
|
+
fee?: number;
|
|
44
|
+
/** 用户类型(影响利润率) */
|
|
45
|
+
userType?: UserType;
|
|
46
|
+
/** EIP-7702 配置 */
|
|
47
|
+
config?: EIP7702Config;
|
|
48
|
+
}
|
|
49
|
+
export interface WashVolumeResult {
|
|
50
|
+
signedTransaction: string;
|
|
51
|
+
metadata: {
|
|
52
|
+
walletCount: number;
|
|
53
|
+
buyAmountPerWallet: string;
|
|
54
|
+
totalBuyAmount: string;
|
|
55
|
+
sellPercent: number;
|
|
56
|
+
poolType: PoolType;
|
|
57
|
+
profitAmount: string;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* 无币刷量 - 每个钱包执行买入+卖出
|
|
62
|
+
*
|
|
63
|
+
* 核心逻辑:[利润刮取] + [钱包1买入] + [钱包1卖出] + [钱包2买入] + [钱包2卖出] + ...
|
|
64
|
+
*
|
|
65
|
+
* 特点:
|
|
66
|
+
* - 钱包不需要预先持有代币
|
|
67
|
+
* - 每个钱包在同一笔交易中完成买入和卖出
|
|
68
|
+
* - 利润从主钱包统一支付
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* const result = await washVolume({
|
|
72
|
+
* privateKeys: ['0x...', '0x...'],
|
|
73
|
+
* tokenAddress: '0x...',
|
|
74
|
+
* buyAmountPerWallet: '0.01',
|
|
75
|
+
* sellPercent: 100,
|
|
76
|
+
* poolType: 'V3',
|
|
77
|
+
* });
|
|
78
|
+
*/
|
|
4
79
|
export declare function washVolume(params: WashVolumeParams): Promise<WashVolumeResult>;
|
|
80
|
+
export interface BundleVolumeParams {
|
|
81
|
+
/** Payer 钱包私钥(支付 Gas 费) */
|
|
82
|
+
mainPrivateKey: string;
|
|
83
|
+
/** 买入钱包私钥列表 */
|
|
84
|
+
buyerPrivateKeys: string[];
|
|
85
|
+
/** 每个买家的买入金额 (OKB) */
|
|
86
|
+
buyAmounts: string[];
|
|
87
|
+
/** 卖出钱包私钥列表 */
|
|
88
|
+
sellerPrivateKeys: string[];
|
|
89
|
+
/** 每个卖家的卖出数量(代币)或百分比 */
|
|
90
|
+
sellAmounts?: string[];
|
|
91
|
+
/** 卖出百分比(当 sellAmounts 未提供时使用) */
|
|
92
|
+
sellPercent?: number;
|
|
93
|
+
/** 代币地址 */
|
|
94
|
+
tokenAddress: string;
|
|
95
|
+
/** 代币精度 */
|
|
96
|
+
tokenDecimals?: number;
|
|
97
|
+
/** 池子类型 */
|
|
98
|
+
poolType?: PoolType;
|
|
99
|
+
/** 路由地址 */
|
|
100
|
+
routerAddress?: string;
|
|
101
|
+
/** V3 费率 */
|
|
102
|
+
fee?: number;
|
|
103
|
+
/** 用户类型(影响利润率) */
|
|
104
|
+
userType?: UserType;
|
|
105
|
+
/** EIP-7702 配置 */
|
|
106
|
+
config?: EIP7702Config;
|
|
107
|
+
}
|
|
108
|
+
export interface BundleVolumeResult {
|
|
109
|
+
signedTransaction: string;
|
|
110
|
+
metadata: {
|
|
111
|
+
buyerCount: number;
|
|
112
|
+
sellerCount: number;
|
|
113
|
+
totalBuyAmount: string;
|
|
114
|
+
totalSellAmount: string;
|
|
115
|
+
poolType: PoolType;
|
|
116
|
+
profitAmount: string;
|
|
117
|
+
};
|
|
118
|
+
}
|
|
5
119
|
/**
|
|
6
120
|
* 捆绑刷量 - 多钱包批量买入 + 批量卖出
|
|
7
121
|
*
|
|
8
122
|
* 核心逻辑:[利润刮取] + [买入Ops...] + [卖出Ops...]
|
|
123
|
+
*
|
|
124
|
+
* 特点:
|
|
125
|
+
* - 买入和卖出可以使用不同的钱包
|
|
126
|
+
* - 所有操作在一笔交易中原子执行
|
|
127
|
+
* - 卖出钱包需要预先持有代币
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* const result = await bundleVolume({
|
|
131
|
+
* buyerPrivateKeys: ['0x...', '0x...'],
|
|
132
|
+
* buyAmounts: ['0.01', '0.02'],
|
|
133
|
+
* sellerPrivateKeys: ['0x...'],
|
|
134
|
+
* sellPercent: 100,
|
|
135
|
+
* tokenAddress: '0x...',
|
|
136
|
+
* poolType: 'FLAP',
|
|
137
|
+
* });
|
|
9
138
|
*/
|
|
10
139
|
export declare function bundleVolume(params: BundleVolumeParams): Promise<BundleVolumeResult>;
|
|
11
|
-
|
|
140
|
+
export interface SingleRoundVolumeResult {
|
|
141
|
+
buySignedTransaction: string;
|
|
142
|
+
sellSignedTransaction: string;
|
|
143
|
+
metadata: {
|
|
144
|
+
buyAmount: string;
|
|
145
|
+
sellPercent: number;
|
|
146
|
+
walletCount: number;
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* 生成单轮刷量签名(买入 + 卖出分开)
|
|
151
|
+
*
|
|
152
|
+
* 注意:买入和卖出是两笔独立交易
|
|
153
|
+
*/
|
|
12
154
|
export declare function singleRoundVolume(params: {
|
|
13
155
|
privateKeys: string[];
|
|
14
156
|
tokenAddress: string;
|
|
@@ -20,9 +162,45 @@ export declare function singleRoundVolume(params: {
|
|
|
20
162
|
fee?: number;
|
|
21
163
|
config?: EIP7702Config;
|
|
22
164
|
}): Promise<SingleRoundVolumeResult>;
|
|
23
|
-
|
|
165
|
+
export interface MakeVolumeParams {
|
|
166
|
+
privateKeys: string[];
|
|
167
|
+
tokenAddress: string;
|
|
168
|
+
tokenDecimals?: number;
|
|
169
|
+
buyAmountPerRound: string;
|
|
170
|
+
rounds: number;
|
|
171
|
+
tradeType?: TradeType;
|
|
172
|
+
routerAddress?: string;
|
|
173
|
+
fee?: number;
|
|
174
|
+
onProgress?: (progress: VolumeProgress) => void;
|
|
175
|
+
config?: EIP7702Config;
|
|
176
|
+
}
|
|
177
|
+
export interface MakeVolumeSignResult {
|
|
178
|
+
rounds: SingleRoundVolumeResult[];
|
|
179
|
+
metadata: {
|
|
180
|
+
totalRounds: number;
|
|
181
|
+
totalBuyAmount: string;
|
|
182
|
+
walletCount: number;
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* 生成多轮刷量签名
|
|
187
|
+
*
|
|
188
|
+
* 注意:由于 nonce 问题,只能预生成第一轮
|
|
189
|
+
* 后续轮次需要在前一轮交易确认后才能生成
|
|
190
|
+
*/
|
|
24
191
|
export declare function makeVolume(params: MakeVolumeParams): Promise<MakeVolumeSignResult>;
|
|
25
|
-
|
|
192
|
+
export interface SwapVolumeSignResult {
|
|
193
|
+
signedTransaction: string;
|
|
194
|
+
hopWallets: GeneratedWallet[];
|
|
195
|
+
metadata: {
|
|
196
|
+
sellerAddress: string;
|
|
197
|
+
buyerAddress: string;
|
|
198
|
+
sellAmount: string;
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* 生成换手刷量签名
|
|
203
|
+
*/
|
|
26
204
|
export declare function makeVolumeWithSwap(params: {
|
|
27
205
|
sellerPrivateKey: string;
|
|
28
206
|
buyerPrivateKey: string;
|