four-flap-meme-sdk 2.2.0 → 2.2.2
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.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 +4 -4
- 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 +4 -8
- 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.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 +97 -26
- 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 +301 -58
- 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 +158 -83
- 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 +85 -20
- package/dist/index.js +215 -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 +252 -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 +5 -5
- package/dist/shared/clients/four.js +17 -21
- 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 +3 -2
- 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 +3 -3
- package/dist/shared/flap/index.js +3 -3
- package/dist/shared/flap/meta.d.ts +18 -16
- package/dist/shared/flap/meta.js +17 -12
- package/dist/shared/flap/permit.js +2 -5
- package/dist/shared/flap/pinata.d.ts +4 -11
- package/dist/shared/flap/pinata.js +16 -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 +172 -92
- package/dist/shared/flap/portal-bundle-merkle/create-to-dex.js +99 -106
- 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 +7 -73
- 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 -1
- package/dist/shared/flap/portal.js +25 -32
- package/dist/shared/flap/vanity.d.ts +5 -1
- package/dist/shared/flap/vanity.js +17 -6
- package/dist/shared/flap/vault.d.ts +124 -17
- package/dist/shared/flap/vault.js +148 -67
- 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 +54 -40
- 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 +10 -5
- package/dist/utils/wallet.d.ts +25 -2
- package/dist/utils/wallet.js +8 -9
- package/package.json +4 -159
- 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 -260
- 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 -34
- 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 -39
- 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 -180
- 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
|
@@ -197,10 +197,10 @@ export function validateLaunchParams(params) {
|
|
|
197
197
|
// 模式检测(从参数推断类型)
|
|
198
198
|
// ============================================================================
|
|
199
199
|
export function detectLaunchType(params) {
|
|
200
|
-
const hasMarketing = params.marketingRates.length > 0 && params.marketingRates.some(
|
|
200
|
+
const hasMarketing = params.marketingRates.length > 0 && params.marketingRates.some(r => r > 0n);
|
|
201
201
|
const hasBuyback = params.buybackRate > 0n;
|
|
202
202
|
const hasLpAdd = params.lpAddRate > 0n;
|
|
203
|
-
const isBurn = hasMarketing && params.marketingAddrs.every(
|
|
203
|
+
const isBurn = hasMarketing && params.marketingAddrs.every(a => a.toLowerCase() === DEAD_ADDRESS.toLowerCase());
|
|
204
204
|
if (isBurn)
|
|
205
205
|
return TokenLaunchType.Deflationary;
|
|
206
206
|
if (hasBuyback && hasMarketing)
|
|
@@ -5,14 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Contract, Interface, Wallet, JsonRpcProvider } from 'ethers';
|
|
7
7
|
import { ENI_CHAIN_ID, ENI_RPC_URL } from '../../constants.js';
|
|
8
|
-
import { ENI_IRO_FACTORY_ADDRESS, IRO_FACTORY_ABI, CREATE_PROJECT_GAS_LIMIT } from './constants.js';
|
|
8
|
+
import { ENI_IRO_FACTORY_ADDRESS, IRO_FACTORY_ABI, CREATE_PROJECT_GAS_LIMIT, } from './constants.js';
|
|
9
9
|
const factoryIface = new Interface(IRO_FACTORY_ABI);
|
|
10
10
|
// ============================================================================
|
|
11
11
|
// 只读查询
|
|
12
12
|
// ============================================================================
|
|
13
13
|
export class IroFactoryQuery {
|
|
14
|
-
provider;
|
|
15
|
-
factory;
|
|
16
14
|
constructor(config = {}) {
|
|
17
15
|
const rpcUrl = config.rpcUrl ?? ENI_RPC_URL;
|
|
18
16
|
const chainId = config.chainId ?? ENI_CHAIN_ID;
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export type { WhiteListQuota, IroCreateProjectParams, IroFactoryTokenInfo, IroSubscribeParams, IroPledgeParams, IroTokenPrice, IroPoolRemovePledgeParams, IroPoolExtractParams, IroPoolTransferAwardsParams, IroTokenInfo, IroTxResult, IroCreateProjectResult, IroQueryConfig, IroCreateParams, } from './types.js';
|
|
10
10
|
export { ENI_IRO_FACTORY_ADDRESS, ENI_IRO_OWNER_ADDRESS, ENI_IRO_SELL_FEE_CONTRACT, ENI_IROSWAP_V2_ROUTER, ENI_IROSWAP_V2_FACTORY, ENI_USDT, IRO_FACTORY_ABI, IRO_TOKEN_ABI, IRO_POOL_ABI, CREATE_PROJECT_GAS_LIMIT, SUBSCRIBE_GAS_LIMIT, POOL_OPERATION_GAS_LIMIT, } from './constants.js';
|
|
11
|
-
export { IroFactoryQuery, encodeCreateProjectCall, createProject, parseCreateProjectEvent } from './factory.js';
|
|
12
|
-
export { IroTokenQuery, subscribe, pledge, batchSubscribe, batchSubscribeForSubmit } from './token.js';
|
|
13
|
-
export type { IroBatchSubscribeForSubmitParams, IroBatchSubscribeForSubmitResult } from './token.js';
|
|
14
|
-
export { IroPoolQuery, poolRemovePledge, poolExtract, poolTransferAwards, batchExtract } from './pool.js';
|
|
15
|
-
export { ENI_IRO_PLATFORM_URL, setIroApiBase, iroApiCreateProject, iroApiUploadImage } from './api.js';
|
|
16
|
-
export type { IroApiCreateProjectRequest, IroApiCreateProjectResponse, IroApiUploadImageResponse } from './api.js';
|
|
11
|
+
export { IroFactoryQuery, encodeCreateProjectCall, createProject, parseCreateProjectEvent, } from './factory.js';
|
|
12
|
+
export { IroTokenQuery, subscribe, pledge, batchSubscribe, batchSubscribeForSubmit, } from './token.js';
|
|
13
|
+
export type { IroBatchSubscribeForSubmitParams, IroBatchSubscribeForSubmitResult, } from './token.js';
|
|
14
|
+
export { IroPoolQuery, poolRemovePledge, poolExtract, poolTransferAwards, batchExtract, } from './pool.js';
|
|
15
|
+
export { ENI_IRO_PLATFORM_URL, setIroApiBase, iroApiCreateProject, iroApiUploadImage, } from './api.js';
|
|
16
|
+
export type { IroApiCreateProjectRequest, IroApiCreateProjectResponse, IroApiUploadImageResponse, } from './api.js';
|
|
17
17
|
export { IRO_OWNER_WHITELIST_ABI, WHITELIST_GAS_LIMIT, BATCH_WHITELIST_GAS_LIMIT, getTokenWhiteList, addTokenWhiteListForSubmit, batchAddTokenWhiteListForSubmit, removeTokenWhiteListForSubmit, } from './whitelist.js';
|
|
18
18
|
export type { WhitelistManageConfig, AddWhitelistParams, BatchAddWhitelistParams, RemoveWhitelistParams, GetWhitelistParams, } from './whitelist.js';
|
|
@@ -13,19 +13,19 @@ export { ENI_IRO_FACTORY_ADDRESS, ENI_IRO_OWNER_ADDRESS, ENI_IRO_SELL_FEE_CONTRA
|
|
|
13
13
|
// ============================================================================
|
|
14
14
|
// Factory
|
|
15
15
|
// ============================================================================
|
|
16
|
-
export { IroFactoryQuery, encodeCreateProjectCall, createProject, parseCreateProjectEvent } from './factory.js';
|
|
16
|
+
export { IroFactoryQuery, encodeCreateProjectCall, createProject, parseCreateProjectEvent, } from './factory.js';
|
|
17
17
|
// ============================================================================
|
|
18
18
|
// Token
|
|
19
19
|
// ============================================================================
|
|
20
|
-
export { IroTokenQuery, subscribe, pledge, batchSubscribe, batchSubscribeForSubmit } from './token.js';
|
|
20
|
+
export { IroTokenQuery, subscribe, pledge, batchSubscribe, batchSubscribeForSubmit, } from './token.js';
|
|
21
21
|
// ============================================================================
|
|
22
22
|
// Pool
|
|
23
23
|
// ============================================================================
|
|
24
|
-
export { IroPoolQuery, poolRemovePledge, poolExtract, poolTransferAwards, batchExtract } from './pool.js';
|
|
24
|
+
export { IroPoolQuery, poolRemovePledge, poolExtract, poolTransferAwards, batchExtract, } from './pool.js';
|
|
25
25
|
// ============================================================================
|
|
26
26
|
// API
|
|
27
27
|
// ============================================================================
|
|
28
|
-
export { ENI_IRO_PLATFORM_URL, setIroApiBase, iroApiCreateProject, iroApiUploadImage } from './api.js';
|
|
28
|
+
export { ENI_IRO_PLATFORM_URL, setIroApiBase, iroApiCreateProject, iroApiUploadImage, } from './api.js';
|
|
29
29
|
// ============================================================================
|
|
30
30
|
// Whitelist Management (IROOwner)
|
|
31
31
|
// ============================================================================
|
|
@@ -11,79 +11,38 @@ const poolIface = new Interface(IRO_POOL_ABI);
|
|
|
11
11
|
// 查询
|
|
12
12
|
// ============================================================================
|
|
13
13
|
export class IroPoolQuery {
|
|
14
|
-
provider;
|
|
15
|
-
pool;
|
|
16
|
-
poolAddress;
|
|
17
14
|
constructor(poolAddress, rpcUrl, chainId) {
|
|
18
15
|
this.poolAddress = poolAddress;
|
|
19
16
|
this.provider = new JsonRpcProvider(rpcUrl ?? ENI_RPC_URL, chainId ?? ENI_CHAIN_ID, { staticNetwork: true });
|
|
20
17
|
this.pool = new Contract(poolAddress, IRO_POOL_ABI, this.provider);
|
|
21
18
|
}
|
|
22
|
-
async token() {
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
async
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
async
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
async produceLpNum() {
|
|
32
|
-
return this.pool.produceLpNum();
|
|
33
|
-
}
|
|
34
|
-
async produceLimit() {
|
|
35
|
-
return this.pool.produceLimit();
|
|
36
|
-
}
|
|
37
|
-
async lastAddProduce() {
|
|
38
|
-
return this.pool.lastAddProduce();
|
|
39
|
-
}
|
|
40
|
-
async getDeposit(account) {
|
|
41
|
-
return this.pool.getDeposit(account);
|
|
42
|
-
}
|
|
43
|
-
async getUserPledgeLpForUsdt(user) {
|
|
44
|
-
return this.pool.getUserPledgeLpForUsdt(user);
|
|
45
|
-
}
|
|
46
|
-
async getLPValueForUSDTValue(targetTKAValue) {
|
|
47
|
-
return this.pool.getLPValueForUSDTValue(targetTKAValue);
|
|
48
|
-
}
|
|
19
|
+
async token() { return this.pool.token(); }
|
|
20
|
+
async totalShare() { return this.pool.totalShare(); }
|
|
21
|
+
async produceNum() { return this.pool.produceNum(); }
|
|
22
|
+
async produceLpNum() { return this.pool.produceLpNum(); }
|
|
23
|
+
async produceLimit() { return this.pool.produceLimit(); }
|
|
24
|
+
async lastAddProduce() { return this.pool.lastAddProduce(); }
|
|
25
|
+
async getDeposit(account) { return this.pool.getDeposit(account); }
|
|
26
|
+
async getUserPledgeLpForUsdt(user) { return this.pool.getUserPledgeLpForUsdt(user); }
|
|
27
|
+
async getLPValueForUSDTValue(targetTKAValue) { return this.pool.getLPValueForUSDTValue(targetTKAValue); }
|
|
49
28
|
async increaseRateMap(index) {
|
|
50
29
|
const raw = await this.pool.increaseRateMap(index);
|
|
51
30
|
return { status: raw[0], rate: BigInt(raw[1]) };
|
|
52
31
|
}
|
|
53
|
-
async totalSupply() {
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
async balanceOf(account) {
|
|
57
|
-
return this.pool.balanceOf(account);
|
|
58
|
-
}
|
|
59
|
-
async lastPrice() {
|
|
60
|
-
return this.pool.lastPrice();
|
|
61
|
-
}
|
|
32
|
+
async totalSupply() { return this.pool.totalSupply(); }
|
|
33
|
+
async balanceOf(account) { return this.pool.balanceOf(account); }
|
|
34
|
+
async lastPrice() { return this.pool.lastPrice(); }
|
|
62
35
|
async userAward(account) {
|
|
63
36
|
const raw = await this.pool.userAward(account);
|
|
64
37
|
return {
|
|
65
|
-
deposit: BigInt(raw[0]),
|
|
66
|
-
|
|
67
|
-
share: BigInt(raw[2]),
|
|
68
|
-
lastTimestamp: BigInt(raw[3]),
|
|
69
|
-
totalDeposit: BigInt(raw[4]),
|
|
70
|
-
totalInviteReward: BigInt(raw[5]),
|
|
71
|
-
lastInviteReward: BigInt(raw[6]),
|
|
72
|
-
pledgeNum: BigInt(raw[7]),
|
|
38
|
+
deposit: BigInt(raw[0]), debt: BigInt(raw[1]), share: BigInt(raw[2]), lastTimestamp: BigInt(raw[3]),
|
|
39
|
+
totalDeposit: BigInt(raw[4]), totalInviteReward: BigInt(raw[5]), lastInviteReward: BigInt(raw[6]), pledgeNum: BigInt(raw[7]),
|
|
73
40
|
};
|
|
74
41
|
}
|
|
75
|
-
async getUserStake(account) {
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
return this.pool.ownerAddr();
|
|
80
|
-
}
|
|
81
|
-
async isInitialized() {
|
|
82
|
-
return this.pool.isInitialized();
|
|
83
|
-
}
|
|
84
|
-
get providerInstance() {
|
|
85
|
-
return this.provider;
|
|
86
|
-
}
|
|
42
|
+
async getUserStake(account) { return this.pool.getUserStake(account); }
|
|
43
|
+
async ownerAddr() { return this.pool.ownerAddr(); }
|
|
44
|
+
async isInitialized() { return this.pool.isInitialized(); }
|
|
45
|
+
get providerInstance() { return this.provider; }
|
|
87
46
|
}
|
|
88
47
|
// ============================================================================
|
|
89
48
|
// 写入操作 — EIP-1559
|
|
@@ -98,14 +57,8 @@ export async function poolRemovePledge(params) {
|
|
|
98
57
|
const maxFeePerGas = gasPrice ?? feeData.maxFeePerGas ?? feeData.gasPrice ?? 1000000000n;
|
|
99
58
|
const maxPriorityFeePerGas = feeData.maxPriorityFeePerGas ?? 0n;
|
|
100
59
|
const signedTx = await wallet.signTransaction({
|
|
101
|
-
to: poolAddress,
|
|
102
|
-
|
|
103
|
-
nonce,
|
|
104
|
-
chainId,
|
|
105
|
-
type: 2,
|
|
106
|
-
maxFeePerGas,
|
|
107
|
-
maxPriorityFeePerGas,
|
|
108
|
-
gasLimit: POOL_OPERATION_GAS_LIMIT,
|
|
60
|
+
to: poolAddress, data: calldata, nonce, chainId,
|
|
61
|
+
type: 2, maxFeePerGas, maxPriorityFeePerGas, gasLimit: POOL_OPERATION_GAS_LIMIT,
|
|
109
62
|
});
|
|
110
63
|
return { signedTx, from: wallet.address, nonce };
|
|
111
64
|
}
|
|
@@ -119,19 +72,13 @@ export async function poolExtract(params) {
|
|
|
119
72
|
const maxFeePerGas = gasPrice ?? feeData.maxFeePerGas ?? feeData.gasPrice ?? 1000000000n;
|
|
120
73
|
const maxPriorityFeePerGas = feeData.maxPriorityFeePerGas ?? 0n;
|
|
121
74
|
const signedTx = await wallet.signTransaction({
|
|
122
|
-
to: poolAddress,
|
|
123
|
-
|
|
124
|
-
nonce,
|
|
125
|
-
chainId,
|
|
126
|
-
type: 2,
|
|
127
|
-
maxFeePerGas,
|
|
128
|
-
maxPriorityFeePerGas,
|
|
129
|
-
gasLimit: POOL_OPERATION_GAS_LIMIT,
|
|
75
|
+
to: poolAddress, data: calldata, nonce, chainId,
|
|
76
|
+
type: 2, maxFeePerGas, maxPriorityFeePerGas, gasLimit: POOL_OPERATION_GAS_LIMIT,
|
|
130
77
|
});
|
|
131
78
|
return { signedTx, from: wallet.address, nonce };
|
|
132
79
|
}
|
|
133
80
|
export async function poolTransferAwards(params) {
|
|
134
|
-
const { rpcUrl = ENI_RPC_URL, chainId = ENI_CHAIN_ID, privateKey, poolAddress, recipients, amounts, gasPrice
|
|
81
|
+
const { rpcUrl = ENI_RPC_URL, chainId = ENI_CHAIN_ID, privateKey, poolAddress, recipients, amounts, gasPrice } = params;
|
|
135
82
|
const provider = new JsonRpcProvider(rpcUrl, chainId, { staticNetwork: true });
|
|
136
83
|
const wallet = new Wallet(privateKey, provider);
|
|
137
84
|
const calldata = poolIface.encodeFunctionData('transferAwards', [recipients, amounts]);
|
|
@@ -140,14 +87,8 @@ export async function poolTransferAwards(params) {
|
|
|
140
87
|
const maxFeePerGas = gasPrice ?? feeData.maxFeePerGas ?? feeData.gasPrice ?? 1000000000n;
|
|
141
88
|
const maxPriorityFeePerGas = feeData.maxPriorityFeePerGas ?? 0n;
|
|
142
89
|
const signedTx = await wallet.signTransaction({
|
|
143
|
-
to: poolAddress,
|
|
144
|
-
|
|
145
|
-
nonce,
|
|
146
|
-
chainId,
|
|
147
|
-
type: 2,
|
|
148
|
-
maxFeePerGas,
|
|
149
|
-
maxPriorityFeePerGas,
|
|
150
|
-
gasLimit: POOL_OPERATION_GAS_LIMIT,
|
|
90
|
+
to: poolAddress, data: calldata, nonce, chainId,
|
|
91
|
+
type: 2, maxFeePerGas, maxPriorityFeePerGas, gasLimit: POOL_OPERATION_GAS_LIMIT,
|
|
151
92
|
});
|
|
152
93
|
return { signedTx, from: wallet.address, nonce };
|
|
153
94
|
}
|
|
@@ -157,12 +98,7 @@ export async function batchExtract(params) {
|
|
|
157
98
|
const results = [];
|
|
158
99
|
for (const w of wallets) {
|
|
159
100
|
const result = await poolExtract({
|
|
160
|
-
rpcUrl,
|
|
161
|
-
chainId,
|
|
162
|
-
privateKey: w.privateKey,
|
|
163
|
-
poolAddress,
|
|
164
|
-
amount: w.amount,
|
|
165
|
-
gasPrice,
|
|
101
|
+
rpcUrl, chainId, privateKey: w.privateKey, poolAddress, amount: w.amount, gasPrice,
|
|
166
102
|
});
|
|
167
103
|
signedTransactions.push(result.signedTx);
|
|
168
104
|
results.push(result);
|
|
@@ -13,59 +13,26 @@ const tokenIface = new Interface(IRO_TOKEN_ABI);
|
|
|
13
13
|
// 查询
|
|
14
14
|
// ============================================================================
|
|
15
15
|
export class IroTokenQuery {
|
|
16
|
-
provider;
|
|
17
|
-
token;
|
|
18
|
-
tokenAddress;
|
|
19
16
|
constructor(tokenAddress, rpcUrl, chainId) {
|
|
20
17
|
this.tokenAddress = tokenAddress;
|
|
21
18
|
this.provider = new JsonRpcProvider(rpcUrl ?? ENI_RPC_URL, chainId ?? ENI_CHAIN_ID, { staticNetwork: true });
|
|
22
19
|
this.token = new Contract(tokenAddress, IRO_TOKEN_ABI, this.provider);
|
|
23
20
|
}
|
|
24
|
-
async name() {
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
async
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
async
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
async
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
async
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
async allowance(owner, spender) {
|
|
40
|
-
return this.token.allowance(owner, spender);
|
|
41
|
-
}
|
|
42
|
-
async price() {
|
|
43
|
-
return this.token.price();
|
|
44
|
-
}
|
|
45
|
-
async creator() {
|
|
46
|
-
return this.token.creator();
|
|
47
|
-
}
|
|
48
|
-
async isOpen() {
|
|
49
|
-
return this.token.isOpen();
|
|
50
|
-
}
|
|
51
|
-
async isWhitelisted() {
|
|
52
|
-
return this.token.isWhitelisted();
|
|
53
|
-
}
|
|
54
|
-
async isWXOC() {
|
|
55
|
-
return this.token.isWXOC();
|
|
56
|
-
}
|
|
57
|
-
async tradingLimit() {
|
|
58
|
-
return this.token.tradingLimit();
|
|
59
|
-
}
|
|
60
|
-
async totalCreatorFee() {
|
|
61
|
-
return this.token.totalCreatorFee();
|
|
62
|
-
}
|
|
63
|
-
async pool() {
|
|
64
|
-
return this.token.POOL();
|
|
65
|
-
}
|
|
66
|
-
async tka() {
|
|
67
|
-
return this.token.TKA();
|
|
68
|
-
}
|
|
21
|
+
async name() { return this.token.name(); }
|
|
22
|
+
async symbol() { return this.token.symbol(); }
|
|
23
|
+
async decimals() { return Number(await this.token.decimals()); }
|
|
24
|
+
async totalSupply() { return this.token.totalSupply(); }
|
|
25
|
+
async balanceOf(account) { return this.token.balanceOf(account); }
|
|
26
|
+
async allowance(owner, spender) { return this.token.allowance(owner, spender); }
|
|
27
|
+
async price() { return this.token.price(); }
|
|
28
|
+
async creator() { return this.token.creator(); }
|
|
29
|
+
async isOpen() { return this.token.isOpen(); }
|
|
30
|
+
async isWhitelisted() { return this.token.isWhitelisted(); }
|
|
31
|
+
async isWXOC() { return this.token.isWXOC(); }
|
|
32
|
+
async tradingLimit() { return this.token.tradingLimit(); }
|
|
33
|
+
async totalCreatorFee() { return this.token.totalCreatorFee(); }
|
|
34
|
+
async pool() { return this.token.POOL(); }
|
|
35
|
+
async tka() { return this.token.TKA(); }
|
|
69
36
|
async getTokenPrice() {
|
|
70
37
|
const raw = await this.token.getTokenPrice();
|
|
71
38
|
return {
|
|
@@ -79,32 +46,16 @@ export class IroTokenQuery {
|
|
|
79
46
|
}
|
|
80
47
|
async getTokenInfo() {
|
|
81
48
|
const [name, symbol, decimals, totalSupply, poolAddress, isOpen, priceVal, creatorAddr, tkaAddr] = await Promise.all([
|
|
82
|
-
this.name(),
|
|
83
|
-
this.
|
|
84
|
-
this.decimals(),
|
|
85
|
-
this.totalSupply(),
|
|
86
|
-
this.pool(),
|
|
87
|
-
this.isOpen(),
|
|
88
|
-
this.price(),
|
|
89
|
-
this.creator(),
|
|
90
|
-
this.tka(),
|
|
49
|
+
this.name(), this.symbol(), this.decimals(), this.totalSupply(),
|
|
50
|
+
this.pool(), this.isOpen(), this.price(), this.creator(), this.tka(),
|
|
91
51
|
]);
|
|
92
52
|
return {
|
|
93
|
-
name,
|
|
94
|
-
symbol,
|
|
95
|
-
decimals,
|
|
96
|
-
totalSupply,
|
|
53
|
+
name, symbol, decimals, totalSupply,
|
|
97
54
|
tokenAddress: this.tokenAddress,
|
|
98
|
-
poolAddress,
|
|
99
|
-
isOpen,
|
|
100
|
-
price: priceVal,
|
|
101
|
-
creator: creatorAddr,
|
|
102
|
-
tka: tkaAddr,
|
|
55
|
+
poolAddress, isOpen, price: priceVal, creator: creatorAddr, tka: tkaAddr,
|
|
103
56
|
};
|
|
104
57
|
}
|
|
105
|
-
get providerInstance() {
|
|
106
|
-
return this.provider;
|
|
107
|
-
}
|
|
58
|
+
get providerInstance() { return this.provider; }
|
|
108
59
|
}
|
|
109
60
|
// ============================================================================
|
|
110
61
|
// 写入操作 — EIP-1559
|
|
@@ -119,15 +70,8 @@ export async function subscribe(params) {
|
|
|
119
70
|
const maxFeePerGas = gasPrice ?? feeData.maxFeePerGas ?? feeData.gasPrice ?? 1000000000n;
|
|
120
71
|
const maxPriorityFeePerGas = feeData.maxPriorityFeePerGas ?? 0n;
|
|
121
72
|
const signedTx = await wallet.signTransaction({
|
|
122
|
-
to: tokenAddress,
|
|
123
|
-
|
|
124
|
-
value: value ?? 0n,
|
|
125
|
-
nonce,
|
|
126
|
-
chainId,
|
|
127
|
-
type: 2,
|
|
128
|
-
maxFeePerGas,
|
|
129
|
-
maxPriorityFeePerGas,
|
|
130
|
-
gasLimit: subscribeGasLimit ?? SUBSCRIBE_GAS_LIMIT,
|
|
73
|
+
to: tokenAddress, data: calldata, value: value ?? 0n, nonce, chainId,
|
|
74
|
+
type: 2, maxFeePerGas, maxPriorityFeePerGas, gasLimit: subscribeGasLimit ?? SUBSCRIBE_GAS_LIMIT,
|
|
131
75
|
});
|
|
132
76
|
return { signedTx, from: wallet.address, nonce };
|
|
133
77
|
}
|
|
@@ -141,15 +85,8 @@ export async function pledge(params) {
|
|
|
141
85
|
const maxFeePerGas = gasPrice ?? feeData.maxFeePerGas ?? feeData.gasPrice ?? 1000000000n;
|
|
142
86
|
const maxPriorityFeePerGas = feeData.maxPriorityFeePerGas ?? 0n;
|
|
143
87
|
const signedTx = await wallet.signTransaction({
|
|
144
|
-
to: tokenAddress,
|
|
145
|
-
|
|
146
|
-
value: value ?? 0n,
|
|
147
|
-
nonce,
|
|
148
|
-
chainId,
|
|
149
|
-
type: 2,
|
|
150
|
-
maxFeePerGas,
|
|
151
|
-
maxPriorityFeePerGas,
|
|
152
|
-
gasLimit: subscribeGasLimit ?? SUBSCRIBE_GAS_LIMIT,
|
|
88
|
+
to: tokenAddress, data: calldata, value: value ?? 0n, nonce, chainId,
|
|
89
|
+
type: 2, maxFeePerGas, maxPriorityFeePerGas, gasLimit: subscribeGasLimit ?? SUBSCRIBE_GAS_LIMIT,
|
|
153
90
|
});
|
|
154
91
|
return { signedTx, from: wallet.address, nonce };
|
|
155
92
|
}
|
|
@@ -162,14 +99,8 @@ export async function batchSubscribe(params) {
|
|
|
162
99
|
const results = [];
|
|
163
100
|
for (const sub of subscribers) {
|
|
164
101
|
const result = await subscribe({
|
|
165
|
-
rpcUrl,
|
|
166
|
-
|
|
167
|
-
privateKey: sub.privateKey,
|
|
168
|
-
tokenAddress,
|
|
169
|
-
user: sub.user,
|
|
170
|
-
amount: sub.amount,
|
|
171
|
-
value: sub.value,
|
|
172
|
-
gasPrice: resolvedGasPrice,
|
|
102
|
+
rpcUrl, chainId, privateKey: sub.privateKey, tokenAddress,
|
|
103
|
+
user: sub.user, amount: sub.amount, value: sub.value, gasPrice: resolvedGasPrice,
|
|
173
104
|
});
|
|
174
105
|
signedTransactions.push(result.signedTx);
|
|
175
106
|
results.push(result);
|
|
@@ -177,7 +108,7 @@ export async function batchSubscribe(params) {
|
|
|
177
108
|
return { signedTransactions, results };
|
|
178
109
|
}
|
|
179
110
|
export async function batchSubscribeForSubmit(params) {
|
|
180
|
-
const { rpcUrl = ENI_RPC_URL, chainId = ENI_CHAIN_ID, tokenAddress, subscribers, approvalTxs = [], gasPrice, subscribeGasLimit
|
|
111
|
+
const { rpcUrl = ENI_RPC_URL, chainId = ENI_CHAIN_ID, tokenAddress, subscribers, approvalTxs = [], gasPrice, subscribeGasLimit } = params;
|
|
181
112
|
if (subscribers.length === 0) {
|
|
182
113
|
return { signedTransactions: [...approvalTxs], subscribeResults: [], profitAmount: 0n };
|
|
183
114
|
}
|
|
@@ -186,23 +117,16 @@ export async function batchSubscribeForSubmit(params) {
|
|
|
186
117
|
const maxFeePerGas = gasPrice ?? feeData.maxFeePerGas ?? feeData.gasPrice ?? 1000000000n;
|
|
187
118
|
const maxPriorityFeePerGas = feeData.maxPriorityFeePerGas ?? 0n;
|
|
188
119
|
const resolvedGasLimit = subscribeGasLimit ?? SUBSCRIBE_GAS_LIMIT;
|
|
189
|
-
const wallets = subscribers.map(
|
|
190
|
-
const nonces = await Promise.all(wallets.map(
|
|
120
|
+
const wallets = subscribers.map(sub => new Wallet(sub.privateKey, provider));
|
|
121
|
+
const nonces = await Promise.all(wallets.map(w => w.getNonce()));
|
|
191
122
|
const subscribeTxs = [];
|
|
192
123
|
const subscribeResults = [];
|
|
193
124
|
for (let i = 0; i < subscribers.length; i++) {
|
|
194
125
|
const sub = subscribers[i];
|
|
195
126
|
const calldata = tokenIface.encodeFunctionData('subscribe', [sub.user, sub.amount]);
|
|
196
127
|
const signedTx = await wallets[i].signTransaction({
|
|
197
|
-
to: tokenAddress,
|
|
198
|
-
|
|
199
|
-
value: sub.value ?? 0n,
|
|
200
|
-
nonce: nonces[i],
|
|
201
|
-
chainId,
|
|
202
|
-
type: 2,
|
|
203
|
-
maxFeePerGas,
|
|
204
|
-
maxPriorityFeePerGas,
|
|
205
|
-
gasLimit: resolvedGasLimit,
|
|
128
|
+
to: tokenAddress, data: calldata, value: sub.value ?? 0n, nonce: nonces[i], chainId,
|
|
129
|
+
type: 2, maxFeePerGas, maxPriorityFeePerGas, gasLimit: resolvedGasLimit,
|
|
206
130
|
});
|
|
207
131
|
subscribeTxs.push(signedTx);
|
|
208
132
|
subscribeResults.push({ signedTx, from: wallets[i].address, nonce: nonces[i] });
|
|
@@ -25,7 +25,7 @@ export async function getTokenWhiteList(params) {
|
|
|
25
25
|
const provider = new JsonRpcProvider(params.rpcUrl || ENI_RPC, params.chainId || ENI_CHAIN_ID);
|
|
26
26
|
const contract = new Contract(params.iroOwnerAddress, IRO_OWNER_WHITELIST_ABI, provider);
|
|
27
27
|
const addresses = await contract.getTokenWhiteList(params.tokenAddress);
|
|
28
|
-
return addresses.map(
|
|
28
|
+
return addresses.map(a => ethers.getAddress(a));
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
31
|
* 添加单个白名单地址 (返回签名交易)
|
|
@@ -34,7 +34,11 @@ export async function addTokenWhiteListForSubmit(params) {
|
|
|
34
34
|
const provider = new JsonRpcProvider(params.rpcUrl || ENI_RPC, params.chainId || ENI_CHAIN_ID);
|
|
35
35
|
const wallet = new Wallet(params.privateKey, provider);
|
|
36
36
|
const iface = new ethers.Interface(IRO_OWNER_WHITELIST_ABI);
|
|
37
|
-
const data = iface.encodeFunctionData('addTokenWhiteList', [
|
|
37
|
+
const data = iface.encodeFunctionData('addTokenWhiteList', [
|
|
38
|
+
params.tokenAddress,
|
|
39
|
+
params.addr,
|
|
40
|
+
params.quota,
|
|
41
|
+
]);
|
|
38
42
|
const feeData = await provider.getFeeData();
|
|
39
43
|
const nonce = await provider.getTransactionCount(wallet.address, 'pending');
|
|
40
44
|
const tx = await wallet.signTransaction({
|
|
@@ -55,12 +59,17 @@ export async function addTokenWhiteListForSubmit(params) {
|
|
|
55
59
|
export async function batchAddTokenWhiteListForSubmit(params) {
|
|
56
60
|
const provider = new JsonRpcProvider(params.rpcUrl || ENI_RPC, params.chainId || ENI_CHAIN_ID);
|
|
57
61
|
const wallet = new Wallet(params.privateKey, provider);
|
|
58
|
-
const tuples = params.entries.map(
|
|
62
|
+
const tuples = params.entries.map(e => ({ account: e.addr, quota: e.quota }));
|
|
59
63
|
const iface = new ethers.Interface(IRO_OWNER_WHITELIST_ABI);
|
|
60
|
-
const data = iface.encodeFunctionData('batchAddTokenWhiteList', [
|
|
64
|
+
const data = iface.encodeFunctionData('batchAddTokenWhiteList', [
|
|
65
|
+
params.tokenAddress,
|
|
66
|
+
tuples,
|
|
67
|
+
]);
|
|
61
68
|
const feeData = await provider.getFeeData();
|
|
62
69
|
const nonce = await provider.getTransactionCount(wallet.address, 'pending');
|
|
63
|
-
const gasLimit = params.entries.length > 5
|
|
70
|
+
const gasLimit = params.entries.length > 5
|
|
71
|
+
? BATCH_WHITELIST_GAS_LIMIT * 2n
|
|
72
|
+
: BATCH_WHITELIST_GAS_LIMIT;
|
|
64
73
|
const tx = await wallet.signTransaction({
|
|
65
74
|
to: params.iroOwnerAddress,
|
|
66
75
|
data,
|
|
@@ -80,7 +89,10 @@ export async function removeTokenWhiteListForSubmit(params) {
|
|
|
80
89
|
const provider = new JsonRpcProvider(params.rpcUrl || ENI_RPC, params.chainId || ENI_CHAIN_ID);
|
|
81
90
|
const wallet = new Wallet(params.privateKey, provider);
|
|
82
91
|
const iface = new ethers.Interface(IRO_OWNER_WHITELIST_ABI);
|
|
83
|
-
const data = iface.encodeFunctionData('removeTokenWhiteList', [
|
|
92
|
+
const data = iface.encodeFunctionData('removeTokenWhiteList', [
|
|
93
|
+
params.tokenAddress,
|
|
94
|
+
params.addr,
|
|
95
|
+
]);
|
|
84
96
|
const feeData = await provider.getFeeData();
|
|
85
97
|
const nonce = await provider.getTransactionCount(wallet.address, 'pending');
|
|
86
98
|
const tx = await wallet.signTransaction({
|
package/dist/chains/index.d.ts
CHANGED
|
@@ -7,16 +7,3 @@ export * as bsc from './bsc/index.js';
|
|
|
7
7
|
export * as xlayer from './xlayer/index.js';
|
|
8
8
|
export * as monad from './monad/index.js';
|
|
9
9
|
export * as eni from './eni/index.js';
|
|
10
|
-
/**
|
|
11
|
-
* 与包根 `export * as chains` 一致的命名空间(`chains.bsc` / `chains.eni` …)
|
|
12
|
-
*/
|
|
13
|
-
import * as bscNs from './bsc/index.js';
|
|
14
|
-
import * as xlayerNs from './xlayer/index.js';
|
|
15
|
-
import * as monadNs from './monad/index.js';
|
|
16
|
-
import * as eniNs from './eni/index.js';
|
|
17
|
-
export declare const chains: {
|
|
18
|
-
readonly bsc: typeof bscNs;
|
|
19
|
-
readonly xlayer: typeof xlayerNs;
|
|
20
|
-
readonly monad: typeof monadNs;
|
|
21
|
-
readonly eni: typeof eniNs;
|
|
22
|
-
};
|
package/dist/chains/index.js
CHANGED
|
@@ -11,16 +11,3 @@ export * as xlayer from './xlayer/index.js';
|
|
|
11
11
|
export * as monad from './monad/index.js';
|
|
12
12
|
// ENI 链
|
|
13
13
|
export * as eni from './eni/index.js';
|
|
14
|
-
/**
|
|
15
|
-
* 与包根 `export * as chains` 一致的命名空间(`chains.bsc` / `chains.eni` …)
|
|
16
|
-
*/
|
|
17
|
-
import * as bscNs from './bsc/index.js';
|
|
18
|
-
import * as xlayerNs from './xlayer/index.js';
|
|
19
|
-
import * as monadNs from './monad/index.js';
|
|
20
|
-
import * as eniNs from './eni/index.js';
|
|
21
|
-
export const chains = {
|
|
22
|
-
bsc: bscNs,
|
|
23
|
-
xlayer: xlayerNs,
|
|
24
|
-
monad: monadNs,
|
|
25
|
-
eni: eniNs,
|
|
26
|
-
};
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* 在 EIP-7702 中,通过 delegate 调用时 msg.sender 是 EOA 本身
|
|
8
8
|
* 需要使用 executeApprove 函数
|
|
9
9
|
*/
|
|
10
|
-
import type { BundleApproveParams, BundleApproveResult,
|
|
10
|
+
import type { BundleApproveParams, BundleApproveResult, EIP7702Config } from './types.js';
|
|
11
11
|
/**
|
|
12
12
|
* 批量授权 - 生成签名后的交易
|
|
13
13
|
*
|
|
@@ -15,7 +15,31 @@ import type { BundleApproveParams, BundleApproveResult, BundleApproveMultiSpende
|
|
|
15
15
|
* @returns 签名后的交易和元数据
|
|
16
16
|
*/
|
|
17
17
|
export declare function bundleApprove(params: BundleApproveParams): Promise<BundleApproveResult>;
|
|
18
|
-
export
|
|
18
|
+
export interface BundleApproveMultiSpendersParams {
|
|
19
|
+
/** 主钱包(发起交易,支付 gas) */
|
|
20
|
+
mainPrivateKey: string;
|
|
21
|
+
/** 需要授权的钱包私钥列表 */
|
|
22
|
+
privateKeys: string[];
|
|
23
|
+
/** 代币地址 */
|
|
24
|
+
tokenAddress: string;
|
|
25
|
+
/** 授权给的地址列表(多个 spender) */
|
|
26
|
+
spenderAddresses: string[];
|
|
27
|
+
/** 授权金额(可选,默认 MaxUint256) */
|
|
28
|
+
amount?: bigint;
|
|
29
|
+
/** 配置 */
|
|
30
|
+
config?: EIP7702Config;
|
|
31
|
+
}
|
|
32
|
+
export interface BundleApproveMultiSpendersResult {
|
|
33
|
+
/** 签名后的交易 */
|
|
34
|
+
signedTransaction: string;
|
|
35
|
+
/** 元数据 */
|
|
36
|
+
metadata: {
|
|
37
|
+
walletCount: number;
|
|
38
|
+
tokenAddress: string;
|
|
39
|
+
spenderAddresses: string[];
|
|
40
|
+
totalApproveCalls: number;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
19
43
|
/**
|
|
20
44
|
* 多 spender 批量授权 - 生成签名后的交易
|
|
21
45
|
*
|