four-flap-meme-sdk 2.2.8 → 2.2.11
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 +87 -20
- package/dist/index.js +217 -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 +254 -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 -4
- package/dist/shared/flap/index.js +5 -4
- package/dist/shared/flap/launch-v6.d.ts +127 -0
- package/dist/shared/flap/launch-v6.js +123 -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 +151 -142
- 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 +86 -86
- 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-create-token.d.ts +19 -37
- package/dist/shared/flap/portal-create-token.js +124 -121
- package/dist/shared/flap/portal.d.ts +2 -1
- package/dist/shared/flap/portal.js +28 -36
- package/dist/shared/flap/vanity.d.ts +6 -6
- package/dist/shared/flap/vanity.js +21 -15
- 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/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
|
@@ -8,7 +8,7 @@ const PORTAL_ABI = [
|
|
|
8
8
|
'function newTokenV2((string name,string symbol,string meta,uint8 dexThresh,bytes32 salt,uint16 taxRate,uint8 migratorType,address quoteToken,uint256 quoteAmt,address beneficiary,bytes permitData)) external payable returns (address)',
|
|
9
9
|
'function swapExactInputBuy((address inputToken,address outputToken,uint256 inputAmount,uint256 minOutputAmount,bytes permitData)) external payable returns (uint256)',
|
|
10
10
|
'function swapExactInputSell((address inputToken,address outputToken,uint256 inputAmount,uint256 minOutputAmount,bytes permitData)) external returns (uint256)',
|
|
11
|
-
'function quoteExactInput((address inputToken,address outputToken,uint256 inputAmount)) external returns (uint256)'
|
|
11
|
+
'function quoteExactInput((address inputToken,address outputToken,uint256 inputAmount)) external returns (uint256)'
|
|
12
12
|
];
|
|
13
13
|
/**
|
|
14
14
|
* Flap Protocol Bundle 交易方法
|
|
@@ -18,20 +18,20 @@ const PORTAL_ABI = [
|
|
|
18
18
|
const ERRORS = {
|
|
19
19
|
NO_PRIVATE_KEY: {
|
|
20
20
|
en: 'At least 1 private key (creator) is required',
|
|
21
|
-
zh: '至少需要 1 个私钥(创建者)'
|
|
21
|
+
zh: '至少需要 1 个私钥(创建者)'
|
|
22
22
|
},
|
|
23
23
|
AMOUNT_MISMATCH: {
|
|
24
24
|
en: (buyCount, buyerCount) => `Buy amount count (${buyCount}) must equal buyer count (${buyerCount})`,
|
|
25
|
-
zh: (buyCount, buyerCount) => `购买金额数量(${buyCount})必须等于买家数量(${buyerCount})
|
|
25
|
+
zh: (buyCount, buyerCount) => `购买金额数量(${buyCount})必须等于买家数量(${buyerCount})`
|
|
26
26
|
},
|
|
27
27
|
KEY_AMOUNT_MISMATCH: {
|
|
28
28
|
en: 'Private key count and amount count must match',
|
|
29
|
-
zh: '私钥和购买金额数量必须一致'
|
|
29
|
+
zh: '私钥和购买金额数量必须一致'
|
|
30
30
|
},
|
|
31
31
|
SELL_KEY_AMOUNT_MISMATCH: {
|
|
32
32
|
en: 'Private key count and sell amount count must match',
|
|
33
|
-
zh: '私钥和卖出数量必须一致'
|
|
34
|
-
}
|
|
33
|
+
zh: '私钥和卖出数量必须一致'
|
|
34
|
+
}
|
|
35
35
|
};
|
|
36
36
|
// 获取错误信息(根据环境语言)
|
|
37
37
|
function getErrorMessage(key, ...args) {
|
|
@@ -56,11 +56,28 @@ async function estimateGasWithMultiplier(provider, txRequest, multiplier) {
|
|
|
56
56
|
function getTxType(config) {
|
|
57
57
|
return config.txType ?? 0; // 默认 Legacy (type 0),适用于 48.club/BSC
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* 构建完整的交易请求(包含 gas 估算和交易类型)
|
|
61
|
+
*/
|
|
62
|
+
async function buildTxRequest(provider, unsigned, from, nonce, gasPrice, config, value) {
|
|
63
|
+
const gasLimit = await estimateGasWithMultiplier(provider, { ...unsigned, from, value }, config.gasLimitMultiplier);
|
|
64
|
+
return {
|
|
65
|
+
...unsigned,
|
|
66
|
+
from,
|
|
67
|
+
nonce,
|
|
68
|
+
gasLimit,
|
|
69
|
+
gasPrice,
|
|
70
|
+
chainId: 56,
|
|
71
|
+
type: getTxType(config)
|
|
72
|
+
};
|
|
73
|
+
}
|
|
59
74
|
/**
|
|
60
75
|
* Flap Protocol: 创建代币 + 捆绑购买
|
|
61
76
|
*/
|
|
62
77
|
export async function createTokenWithBundleBuy(params) {
|
|
63
|
-
const { chain, privateKeys, buyAmounts, tokenInfo, tokenAddress, config } = params;
|
|
78
|
+
const { chain, privateKeys, buyAmounts, tokenInfo, quoteToken, tokenAddress, config } = params;
|
|
79
|
+
// 默认使用 BNB (0地址)
|
|
80
|
+
const quoteTokenAddress = quoteToken || '0x0000000000000000000000000000000000000000';
|
|
64
81
|
if (privateKeys.length === 0) {
|
|
65
82
|
throw new Error(getErrorMessage('NO_PRIVATE_KEY'));
|
|
66
83
|
}
|
|
@@ -71,7 +88,7 @@ export async function createTokenWithBundleBuy(params) {
|
|
|
71
88
|
const devWallet = new Wallet(privateKeys[0], provider);
|
|
72
89
|
const club48 = new Club48Client({
|
|
73
90
|
endpoint: config.club48Endpoint,
|
|
74
|
-
explorerEndpoint: config.club48ExplorerEndpoint
|
|
91
|
+
explorerEndpoint: config.club48ExplorerEndpoint
|
|
75
92
|
});
|
|
76
93
|
const blockOffset = config.bundleBlockOffset ?? 100;
|
|
77
94
|
// 1. 构建交易(为重复地址分配顺序 nonce)
|
|
@@ -105,7 +122,7 @@ export async function createTokenWithBundleBuy(params) {
|
|
|
105
122
|
quoteToken: params.quoteToken || '0x0000000000000000000000000000000000000000',
|
|
106
123
|
quoteAmt: 0n,
|
|
107
124
|
beneficiary: new Wallet(privateKeys[0]).address,
|
|
108
|
-
permitData: '0x'
|
|
125
|
+
permitData: '0x'
|
|
109
126
|
});
|
|
110
127
|
// 估算 gas 并应用用户配置的安全余量
|
|
111
128
|
const createGasLimit = await estimateGasWithMultiplier(provider, { ...createTxUnsigned, from: devWallet.address }, config.gasLimitMultiplier);
|
|
@@ -116,7 +133,7 @@ export async function createTokenWithBundleBuy(params) {
|
|
|
116
133
|
gasLimit: createGasLimit,
|
|
117
134
|
gasPrice: gasPrice,
|
|
118
135
|
chainId: 56, // BSC
|
|
119
|
-
type: getTxType(config)
|
|
136
|
+
type: getTxType(config) // 用户可配置:0=Legacy(默认),2=EIP-1559
|
|
120
137
|
};
|
|
121
138
|
const signedCreateTx = await devWallet.signTransaction(createTxRequest);
|
|
122
139
|
signedTxs.push(signedCreateTx);
|
|
@@ -129,7 +146,7 @@ export async function createTokenWithBundleBuy(params) {
|
|
|
129
146
|
gasLimit: GAS_LIMITS.BRIBE,
|
|
130
147
|
chainId: 56,
|
|
131
148
|
type: 0, // Legacy transaction
|
|
132
|
-
nonce: await getNextNonce(devWallet)
|
|
149
|
+
nonce: await getNextNonce(devWallet)
|
|
133
150
|
});
|
|
134
151
|
signedTxs.push(tipTx);
|
|
135
152
|
}
|
|
@@ -146,7 +163,7 @@ export async function createTokenWithBundleBuy(params) {
|
|
|
146
163
|
const exactOut = await quote.quoteExactInput.staticCall({
|
|
147
164
|
inputToken: '0x0000000000000000000000000000000000000000',
|
|
148
165
|
outputToken: tokenAddress,
|
|
149
|
-
inputAmount: amountIn
|
|
166
|
+
inputAmount: amountIn
|
|
150
167
|
});
|
|
151
168
|
const keep = BigInt(10000 - slippageBps);
|
|
152
169
|
minAmountOut = (exactOut * keep) / 10000n;
|
|
@@ -176,7 +193,7 @@ export async function createTokenWithBundleBuy(params) {
|
|
|
176
193
|
gasLimit: buyGasLimit,
|
|
177
194
|
gasPrice: gasPrice,
|
|
178
195
|
chainId: 56, // BSC
|
|
179
|
-
type: getTxType(config)
|
|
196
|
+
type: getTxType(config) // 用户可配置
|
|
180
197
|
};
|
|
181
198
|
const signedBuyTx = await buyerWallet.signTransaction(buyTxRequest);
|
|
182
199
|
signedTxs.push(signedBuyTx);
|
|
@@ -186,11 +203,11 @@ export async function createTokenWithBundleBuy(params) {
|
|
|
186
203
|
const bundleUuid = await club48.sendBundle({
|
|
187
204
|
txs: signedTxs,
|
|
188
205
|
maxBlockNumber: (await provider.getBlockNumber()) + blockOffset,
|
|
189
|
-
noMerge: config.noMerge
|
|
206
|
+
noMerge: config.noMerge
|
|
190
207
|
}, {
|
|
191
208
|
spMode: params.config.spMode ?? 'timestampPersonalSign',
|
|
192
209
|
spPrivateKey: params.config.spPrivateKey || privateKeys[0],
|
|
193
|
-
spVMode: params.config.spVMode
|
|
210
|
+
spVMode: params.config.spVMode
|
|
194
211
|
});
|
|
195
212
|
// 3. 等待完成
|
|
196
213
|
const status = await club48.waitForBundle(bundleUuid, params.config.waitTimeoutMs ?? 60000);
|
|
@@ -199,7 +216,7 @@ export async function createTokenWithBundleBuy(params) {
|
|
|
199
216
|
tokenAddress,
|
|
200
217
|
status,
|
|
201
218
|
createTx: signedCreateTx,
|
|
202
|
-
buyTxs
|
|
219
|
+
buyTxs
|
|
203
220
|
};
|
|
204
221
|
}
|
|
205
222
|
/**
|
|
@@ -213,7 +230,7 @@ export async function batchBuyWithBundle(params) {
|
|
|
213
230
|
const provider = new JsonRpcProvider(config.rpcUrl);
|
|
214
231
|
const club48 = new Club48Client({
|
|
215
232
|
endpoint: config.club48Endpoint,
|
|
216
|
-
explorerEndpoint: config.club48ExplorerEndpoint
|
|
233
|
+
explorerEndpoint: config.club48ExplorerEndpoint
|
|
217
234
|
});
|
|
218
235
|
const blockOffset = config.bundleBlockOffset ?? 100;
|
|
219
236
|
const portalAddr = FLAP_PORTAL_ADDRESSES[chain];
|
|
@@ -242,7 +259,7 @@ export async function batchBuyWithBundle(params) {
|
|
|
242
259
|
gasLimit: GAS_LIMITS.BRIBE,
|
|
243
260
|
chainId: 56,
|
|
244
261
|
type: 0, // Legacy transaction
|
|
245
|
-
nonce: await getNextNonce(tipWallet)
|
|
262
|
+
nonce: await getNextNonce(tipWallet)
|
|
246
263
|
});
|
|
247
264
|
signedTxs.unshift(tipTx);
|
|
248
265
|
}
|
|
@@ -257,7 +274,7 @@ export async function batchBuyWithBundle(params) {
|
|
|
257
274
|
const exactOut = await quote.quoteExactInput.staticCall({
|
|
258
275
|
inputToken: '0x0000000000000000000000000000000000000000',
|
|
259
276
|
outputToken: tokenAddress,
|
|
260
|
-
inputAmount: amountIn
|
|
277
|
+
inputAmount: amountIn
|
|
261
278
|
});
|
|
262
279
|
const keep = BigInt(10000 - slippageBps);
|
|
263
280
|
minAmountOut = (exactOut * keep) / 10000n;
|
|
@@ -275,7 +292,7 @@ export async function batchBuyWithBundle(params) {
|
|
|
275
292
|
const estimatedGas = await provider.estimateGas({
|
|
276
293
|
...buyTxUnsigned,
|
|
277
294
|
from: buyerWallet.address,
|
|
278
|
-
value: amountIn
|
|
295
|
+
value: amountIn
|
|
279
296
|
});
|
|
280
297
|
const gasLimit = (estimatedGas * 120n) / 100n;
|
|
281
298
|
const buyTxRequest = {
|
|
@@ -285,7 +302,7 @@ export async function batchBuyWithBundle(params) {
|
|
|
285
302
|
gasLimit: gasLimit,
|
|
286
303
|
gasPrice: gasPrice,
|
|
287
304
|
chainId: 56, // BSC
|
|
288
|
-
type: 0
|
|
305
|
+
type: 0 // Legacy transaction
|
|
289
306
|
};
|
|
290
307
|
const signedBuyTx = await buyerWallet.signTransaction(buyTxRequest);
|
|
291
308
|
signedTxs.push(signedBuyTx);
|
|
@@ -293,11 +310,11 @@ export async function batchBuyWithBundle(params) {
|
|
|
293
310
|
const bundleUuid = await club48.sendBundle({
|
|
294
311
|
txs: signedTxs,
|
|
295
312
|
maxBlockNumber: (await provider.getBlockNumber()) + blockOffset,
|
|
296
|
-
noMerge: config.noMerge
|
|
313
|
+
noMerge: config.noMerge
|
|
297
314
|
}, {
|
|
298
315
|
spMode: params.config.spMode ?? 'timestampPersonalSign',
|
|
299
316
|
spPrivateKey: params.config.spPrivateKey || privateKeys[0],
|
|
300
|
-
spVMode: params.config.spVMode
|
|
317
|
+
spVMode: params.config.spVMode
|
|
301
318
|
});
|
|
302
319
|
const status = await club48.waitForBundle(bundleUuid);
|
|
303
320
|
return { bundleUuid, status, buyTxs: signedTxs };
|
|
@@ -313,7 +330,7 @@ export async function batchSellWithBundle(params) {
|
|
|
313
330
|
const provider = new JsonRpcProvider(config.rpcUrl);
|
|
314
331
|
const club48 = new Club48Client({
|
|
315
332
|
endpoint: config.club48Endpoint,
|
|
316
|
-
explorerEndpoint: config.club48ExplorerEndpoint
|
|
333
|
+
explorerEndpoint: config.club48ExplorerEndpoint
|
|
317
334
|
});
|
|
318
335
|
const blockOffset = config.bundleBlockOffset ?? 100;
|
|
319
336
|
const portalAddr = FLAP_PORTAL_ADDRESSES[chain];
|
|
@@ -342,7 +359,7 @@ export async function batchSellWithBundle(params) {
|
|
|
342
359
|
gasLimit: GAS_LIMITS.BRIBE,
|
|
343
360
|
chainId: 56,
|
|
344
361
|
type: 0, // Legacy transaction
|
|
345
|
-
nonce: await getNextNonce(tipWallet)
|
|
362
|
+
nonce: await getNextNonce(tipWallet)
|
|
346
363
|
});
|
|
347
364
|
signedTxs.unshift(tipTx);
|
|
348
365
|
}
|
|
@@ -361,7 +378,7 @@ export async function batchSellWithBundle(params) {
|
|
|
361
378
|
// 估算 gas 并添加 20% 安全余量
|
|
362
379
|
const estimatedGas = await provider.estimateGas({
|
|
363
380
|
...sellTxUnsigned,
|
|
364
|
-
from: sellerWallet.address
|
|
381
|
+
from: sellerWallet.address
|
|
365
382
|
});
|
|
366
383
|
const gasLimit = (estimatedGas * 120n) / 100n;
|
|
367
384
|
const sellTxRequest = {
|
|
@@ -371,7 +388,7 @@ export async function batchSellWithBundle(params) {
|
|
|
371
388
|
gasLimit: gasLimit,
|
|
372
389
|
gasPrice: gasPrice,
|
|
373
390
|
chainId: 56, // BSC
|
|
374
|
-
type: 0
|
|
391
|
+
type: 0 // Legacy transaction
|
|
375
392
|
};
|
|
376
393
|
const signedSellTx = await sellerWallet.signTransaction(sellTxRequest);
|
|
377
394
|
signedTxs.push(signedSellTx);
|
|
@@ -379,17 +396,17 @@ export async function batchSellWithBundle(params) {
|
|
|
379
396
|
const bundleUuid = await club48.sendBundle({
|
|
380
397
|
txs: signedTxs,
|
|
381
398
|
maxBlockNumber: (await provider.getBlockNumber()) + blockOffset,
|
|
382
|
-
noMerge: config.noMerge
|
|
399
|
+
noMerge: config.noMerge
|
|
383
400
|
}, {
|
|
384
401
|
spMode: params.config.spMode ?? 'timestampPersonalSign',
|
|
385
402
|
spPrivateKey: params.config.spPrivateKey || privateKeys[0],
|
|
386
|
-
spVMode: params.config.spVMode
|
|
403
|
+
spVMode: params.config.spVMode
|
|
387
404
|
});
|
|
388
405
|
const status = await club48.waitForBundle(bundleUuid);
|
|
389
406
|
return { bundleUuid, status, sellTxs: signedTxs };
|
|
390
407
|
}
|
|
391
408
|
export async function flapPrivateBuy(params) {
|
|
392
|
-
const { chain, privateKey, tokenAddress, amountIn, config, spPrivateKey } = params;
|
|
409
|
+
const { chain, privateKey, tokenAddress, amountIn, to, config, spPrivateKey } = params;
|
|
393
410
|
const provider = new JsonRpcProvider(config.rpcUrl);
|
|
394
411
|
const wallet = new Wallet(privateKey, provider);
|
|
395
412
|
const club48 = new Club48Client({ endpoint: config.club48Endpoint, explorerEndpoint: config.club48ExplorerEndpoint });
|
|
@@ -409,7 +426,7 @@ export async function flapPrivateBuy(params) {
|
|
|
409
426
|
const estimatedGas = await provider.estimateGas({
|
|
410
427
|
...unsigned,
|
|
411
428
|
from: wallet.address,
|
|
412
|
-
value: amountWei
|
|
429
|
+
value: amountWei
|
|
413
430
|
});
|
|
414
431
|
const gasLimit = (estimatedGas * 120n) / 100n;
|
|
415
432
|
const req = {
|
|
@@ -419,7 +436,7 @@ export async function flapPrivateBuy(params) {
|
|
|
419
436
|
gasLimit: gasLimit,
|
|
420
437
|
gasPrice,
|
|
421
438
|
chainId: 56,
|
|
422
|
-
type: 0
|
|
439
|
+
type: 0 // Legacy transaction
|
|
423
440
|
};
|
|
424
441
|
const signed = await wallet.signTransaction(req);
|
|
425
442
|
if (spPrivateKey)
|
|
@@ -446,7 +463,7 @@ export async function flapPrivateSell(params) {
|
|
|
446
463
|
// 估算 gas 并添加 20% 安全余量
|
|
447
464
|
const estimatedGas = await provider.estimateGas({
|
|
448
465
|
...unsigned,
|
|
449
|
-
from: wallet.address
|
|
466
|
+
from: wallet.address
|
|
450
467
|
});
|
|
451
468
|
const gasLimit = (estimatedGas * 120n) / 100n;
|
|
452
469
|
const req = {
|
|
@@ -456,7 +473,7 @@ export async function flapPrivateSell(params) {
|
|
|
456
473
|
gasLimit: gasLimit,
|
|
457
474
|
gasPrice,
|
|
458
475
|
chainId: 56,
|
|
459
|
-
type: 0
|
|
476
|
+
type: 0 // Legacy transaction
|
|
460
477
|
};
|
|
461
478
|
const signed = await wallet.signTransaction(req);
|
|
462
479
|
if (spPrivateKey)
|
|
@@ -499,21 +516,13 @@ export async function flapBatchPrivateBuy(params) {
|
|
|
499
516
|
// 估算 gas 并添加 20% 安全余量
|
|
500
517
|
const estimatedGas = await provider.estimateGas({ ...unsigned, from: w.address, value: amountWei });
|
|
501
518
|
const gasLimit = (estimatedGas * 120n) / 100n;
|
|
502
|
-
const req = {
|
|
503
|
-
...unsigned,
|
|
504
|
-
from: w.address,
|
|
505
|
-
nonce: await getNextNonce(w),
|
|
506
|
-
gasLimit,
|
|
507
|
-
gasPrice,
|
|
508
|
-
chainId: 56,
|
|
509
|
-
type: 0,
|
|
510
|
-
};
|
|
519
|
+
const req = { ...unsigned, from: w.address, nonce: await getNextNonce(w), gasLimit, gasPrice, chainId: 56, type: 0 };
|
|
511
520
|
signedTxs.push(await w.signTransaction(req));
|
|
512
521
|
}
|
|
513
522
|
return await sendBatchPrivateTransactions(signedTxs, spPrivateKey, config.club48Endpoint || 'https://puissant-bsc.48.club');
|
|
514
523
|
}
|
|
515
524
|
export async function flapBatchPrivateSell(params) {
|
|
516
|
-
const { chain, privateKeys, amounts, tokenAddress, config, minEthEach } = params;
|
|
525
|
+
const { chain, privateKeys, amounts, tokenAddress, config, spPrivateKey, minEthEach } = params;
|
|
517
526
|
if (privateKeys.length !== amounts.length)
|
|
518
527
|
throw new Error('privateKeys and amounts length mismatch');
|
|
519
528
|
const provider = new JsonRpcProvider(config.rpcUrl);
|
|
@@ -549,15 +558,7 @@ export async function flapBatchPrivateSell(params) {
|
|
|
549
558
|
// 估算 gas 并添加 20% 安全余量
|
|
550
559
|
const estimatedGas = await provider.estimateGas({ ...unsigned, from: w.address });
|
|
551
560
|
const gasLimit = (estimatedGas * 120n) / 100n;
|
|
552
|
-
const req = {
|
|
553
|
-
...unsigned,
|
|
554
|
-
from: w.address,
|
|
555
|
-
nonce: await getNextNonce(w),
|
|
556
|
-
gasLimit,
|
|
557
|
-
gasPrice,
|
|
558
|
-
chainId: 56,
|
|
559
|
-
type: 0,
|
|
560
|
-
};
|
|
561
|
+
const req = { ...unsigned, from: w.address, nonce: await getNextNonce(w), gasLimit, gasPrice, chainId: 56, type: 0 };
|
|
561
562
|
signedTxs.push(await w.signTransaction(req));
|
|
562
563
|
}
|
|
563
564
|
// 使用 bundle 通道提交(统一与捆绑买保持一致)
|
|
@@ -565,12 +566,12 @@ export async function flapBatchPrivateSell(params) {
|
|
|
565
566
|
const bundleUuid = await club48.sendBundle({
|
|
566
567
|
txs: signedTxs,
|
|
567
568
|
maxBlockNumber: (await provider.getBlockNumber()) + blockOffset,
|
|
568
|
-
noMerge: config.noMerge
|
|
569
|
+
noMerge: config.noMerge
|
|
569
570
|
}, {
|
|
570
571
|
// 若传入 sp 配置,则用于生成 48SP 签名提升打包优先级(与批量买一致)
|
|
571
572
|
spMode: params.config.spMode ?? 'timestampPersonalSign',
|
|
572
573
|
spPrivateKey: params.config.spPrivateKey || 'https://puissant-bsc.48.club',
|
|
573
|
-
spVMode: params.config.spVMode
|
|
574
|
+
spVMode: params.config.spVMode
|
|
574
575
|
});
|
|
575
576
|
try {
|
|
576
577
|
const status = await club48.waitForBundle(bundleUuid);
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Portal 发币交易构建(newTokenV6 / newTokenV7 / VaultPortal)
|
|
3
|
-
*
|
|
4
|
-
* 对齐 Flap 官方文档:
|
|
5
|
-
* - newTokenV6:TOKEN_V2_PERMIT / TOKEN_TAXED_V3
|
|
6
|
-
* - newTokenV7:TOKEN_V3_PERMIT(BSC 标准 V3 / PCS Infinity CL,与 Flap 官网一致)
|
|
7
|
-
* - newTokenV4:已弃用(Portal 侧 FeatureDisabled,勿再使用)
|
|
8
|
-
* - VaultPortal.newTaxTokenWithVault:带金库的税币(legacy 参数结构)
|
|
3
|
+
* @see https://docs.flap.sh/flap/developers/token-launcher-developers/launch-token-through-portal
|
|
9
4
|
*/
|
|
10
5
|
import { Contract, type Wallet } from 'ethers';
|
|
11
6
|
import { type TaxVaultConfig } from './vault.js';
|
|
12
|
-
|
|
7
|
+
import type { TaxV2Config } from './portal-bundle-merkle/types.js';
|
|
13
8
|
export declare const MAGIC_DIVIDEND_SELF = "0xfEEDFEEDfeEDFEedFEEdFEEDFeEdfEEdFeEdFEEd";
|
|
14
9
|
export type NormalizedTaxLaunchConfig = {
|
|
15
10
|
taxDuration: number;
|
|
@@ -39,43 +34,30 @@ export type PopulateCreateTokenParams = {
|
|
|
39
34
|
dexThresh?: number;
|
|
40
35
|
salt?: string;
|
|
41
36
|
migratorType?: number;
|
|
42
|
-
/** legacy 单税率(bps),无 buy/sell 时作为对称税率 */
|
|
43
37
|
taxRate?: number;
|
|
38
|
+
buyTaxRate?: number;
|
|
39
|
+
sellTaxRate?: number;
|
|
44
40
|
dexId?: number;
|
|
45
41
|
lpFeeProfile?: number;
|
|
46
42
|
extensionID?: string;
|
|
47
43
|
extensionData?: string;
|
|
48
|
-
/** 标准 V3
|
|
44
|
+
/** 标准 V3 池 → newTokenV7 + TOKEN_V3_PERMIT(与 Flap 官网一致) */
|
|
49
45
|
useV7Portal?: boolean;
|
|
50
|
-
/** @deprecated 使用 useV7Portal */
|
|
51
|
-
useV4Portal?: boolean;
|
|
52
|
-
/** @deprecated 已合并到 useV7Portal */
|
|
53
|
-
useClInfinityLaunch?: boolean;
|
|
54
|
-
/** 高级税币 / 税币 V3 配置 */
|
|
55
46
|
taxConfig?: NormalizedTaxLaunchConfig;
|
|
56
|
-
/** 创建时内嵌买入(Flap 文档方式 A:quoteAmt + msg.value) */
|
|
57
47
|
initialQuoteAmt?: bigint;
|
|
58
48
|
};
|
|
59
|
-
/**
|
|
60
|
-
export declare function
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
distribution?: {
|
|
74
|
-
mktBps: number;
|
|
75
|
-
deflationBps: number;
|
|
76
|
-
dividendBps: number;
|
|
77
|
-
lpBps: number;
|
|
78
|
-
minimumShareBalance?: number;
|
|
79
|
-
};
|
|
80
|
-
}, fallbackTaxRate?: number): NormalizedTaxLaunchConfig | undefined;
|
|
49
|
+
/** bundle 发币路径:标准 V3(dexId/lpFeeProfile)→ newTokenV7,税币/金库 → V6 */
|
|
50
|
+
export declare function resolveCreateTokenLaunchFlags(params: {
|
|
51
|
+
taxRate?: number;
|
|
52
|
+
taxV2Config?: TaxV2Config;
|
|
53
|
+
lpFeeProfile?: number;
|
|
54
|
+
dexId?: number;
|
|
55
|
+
migratorType?: number;
|
|
56
|
+
extensionID?: string;
|
|
57
|
+
}): {
|
|
58
|
+
normalizedTax: NormalizedTaxLaunchConfig | undefined;
|
|
59
|
+
useV7Portal: boolean;
|
|
60
|
+
};
|
|
61
|
+
/** 将 TaxV2Config(含 distribution)归一化;金库发射在税率为 0 时仍返回配置 */
|
|
62
|
+
export declare function normalizeTaxLaunchConfig(input?: TaxV2Config, fallbackTaxRate?: number): NormalizedTaxLaunchConfig | undefined;
|
|
81
63
|
export declare function populateCreateTokenTransaction(params: PopulateCreateTokenParams): Promise<import("ethers").ContractTransaction>;
|