four-flap-meme-sdk 1.9.35 → 1.9.37

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.
@@ -18,5 +18,5 @@ export { FairPoolQuery, claimFromPool, claimFromPoolForSubmit, batchClaimForSubm
18
18
  export type { PoolOverview, PoolClaimParams, PoolClaimResult, } from './platforms/fair-launch/index.js';
19
19
  export { getLPPairInfo, batchGetLPPairInfo, getPairAddress, addLiquidityETHForSubmit, removeLiquidityETHForSubmit, addLiquidityForSubmit, removeLiquidityForSubmit, } from './platforms/dswap/index.js';
20
20
  export type { LPPairInfo, GetLPInfoParams, BatchGetLPInfoParams, AddLiquidityETHParams, RemoveLiquidityETHParams, AddLiquidityParams, RemoveLiquidityParams, LiquidityTxResult, LiquidityForSubmitResult, } from './platforms/dswap/index.js';
21
- export { IroFactoryQuery as EniIroFactoryQuery, encodeCreateProjectCall as eniIroEncodeCreateProjectCall, createProject as eniIroCreateProject, parseCreateProjectEvent as eniIroParseCreateProjectEvent, IroTokenQuery as EniIroTokenQuery, subscribe as eniIroSubscribe, pledge as eniIroPledge, batchSubscribe as eniIroBatchSubscribe, batchSubscribeForSubmit as eniIroBatchSubscribeForSubmit, IroPoolQuery as EniIroPoolQuery, poolRemovePledge as eniIroPoolRemovePledge, poolExtract as eniIroPoolExtract, poolTransferAwards as eniIroPoolTransferAwards, batchExtract as eniIroBatchExtract, ENI_IRO_FACTORY_ADDRESS, ENI_IRO_OWNER_ADDRESS, ENI_IRO_SELL_FEE_CONTRACT, ENI_IROSWAP_V2_ROUTER, ENI_IROSWAP_V2_FACTORY, IRO_FACTORY_ABI as ENI_IRO_FACTORY_ABI, IRO_TOKEN_ABI as ENI_IRO_TOKEN_ABI, IRO_POOL_ABI as ENI_IRO_POOL_ABI, CREATE_PROJECT_GAS_LIMIT as ENI_CREATE_PROJECT_GAS_LIMIT, ENI_IRO_PLATFORM_URL, setIroApiBase as setEniIroApiBase, iroApiCreateProject as eniIroApiCreateProject, iroApiUploadImage as eniIroApiUploadImage, } from './platforms/iro/index.js';
22
- export type { WhiteListQuota as EniWhiteListQuota, IroCreateProjectParams as EniIroCreateProjectParams, IroSubscribeParams as EniIroSubscribeParams, IroPledgeParams as EniIroPledgeParams, IroTokenInfo as EniIroTokenInfo, IroTxResult as EniIroTxResult, IroCreateProjectResult as EniIroCreateProjectResult, IroQueryConfig as EniIroQueryConfig, IroCreateParams as EniIroCreateParams, IroBatchSubscribeForSubmitParams as EniIroBatchSubscribeForSubmitParams, IroBatchSubscribeForSubmitResult as EniIroBatchSubscribeForSubmitResult, } from './platforms/iro/index.js';
21
+ export { IroFactoryQuery as EniIroFactoryQuery, encodeCreateProjectCall as eniIroEncodeCreateProjectCall, createProject as eniIroCreateProject, parseCreateProjectEvent as eniIroParseCreateProjectEvent, IroTokenQuery as EniIroTokenQuery, subscribe as eniIroSubscribe, pledge as eniIroPledge, batchSubscribe as eniIroBatchSubscribe, batchSubscribeForSubmit as eniIroBatchSubscribeForSubmit, IroPoolQuery as EniIroPoolQuery, poolRemovePledge as eniIroPoolRemovePledge, poolExtract as eniIroPoolExtract, poolTransferAwards as eniIroPoolTransferAwards, batchExtract as eniIroBatchExtract, ENI_IRO_FACTORY_ADDRESS, ENI_IRO_OWNER_ADDRESS, ENI_IRO_SELL_FEE_CONTRACT, ENI_IROSWAP_V2_ROUTER, ENI_IROSWAP_V2_FACTORY, IRO_FACTORY_ABI as ENI_IRO_FACTORY_ABI, IRO_TOKEN_ABI as ENI_IRO_TOKEN_ABI, IRO_POOL_ABI as ENI_IRO_POOL_ABI, CREATE_PROJECT_GAS_LIMIT as ENI_CREATE_PROJECT_GAS_LIMIT, ENI_IRO_PLATFORM_URL, setIroApiBase as setEniIroApiBase, iroApiCreateProject as eniIroApiCreateProject, iroApiUploadImage as eniIroApiUploadImage, getTokenWhiteList as eniIroGetTokenWhiteList, addTokenWhiteListForSubmit as eniIroAddTokenWhiteListForSubmit, batchAddTokenWhiteListForSubmit as eniIroBatchAddTokenWhiteListForSubmit, removeTokenWhiteListForSubmit as eniIroRemoveTokenWhiteListForSubmit, IRO_OWNER_WHITELIST_ABI as ENI_IRO_OWNER_WHITELIST_ABI, } from './platforms/iro/index.js';
22
+ export type { WhiteListQuota as EniWhiteListQuota, IroCreateProjectParams as EniIroCreateProjectParams, IroSubscribeParams as EniIroSubscribeParams, IroPledgeParams as EniIroPledgeParams, IroTokenInfo as EniIroTokenInfo, IroTxResult as EniIroTxResult, IroCreateProjectResult as EniIroCreateProjectResult, IroQueryConfig as EniIroQueryConfig, IroCreateParams as EniIroCreateParams, IroBatchSubscribeForSubmitParams as EniIroBatchSubscribeForSubmitParams, IroBatchSubscribeForSubmitResult as EniIroBatchSubscribeForSubmitResult, WhitelistManageConfig as EniWhitelistManageConfig, AddWhitelistParams as EniAddWhitelistParams, BatchAddWhitelistParams as EniBatchAddWhitelistParams, RemoveWhitelistParams as EniRemoveWhitelistParams, GetWhitelistParams as EniGetWhitelistParams, } from './platforms/iro/index.js';
@@ -30,4 +30,4 @@ export { getLPPairInfo, batchGetLPPairInfo, getPairAddress, addLiquidityETHForSu
30
30
  // ============================================================================
31
31
  // 快捷导出 - IRO (Initial Rights Offering)
32
32
  // ============================================================================
33
- export { IroFactoryQuery as EniIroFactoryQuery, encodeCreateProjectCall as eniIroEncodeCreateProjectCall, createProject as eniIroCreateProject, parseCreateProjectEvent as eniIroParseCreateProjectEvent, IroTokenQuery as EniIroTokenQuery, subscribe as eniIroSubscribe, pledge as eniIroPledge, batchSubscribe as eniIroBatchSubscribe, batchSubscribeForSubmit as eniIroBatchSubscribeForSubmit, IroPoolQuery as EniIroPoolQuery, poolRemovePledge as eniIroPoolRemovePledge, poolExtract as eniIroPoolExtract, poolTransferAwards as eniIroPoolTransferAwards, batchExtract as eniIroBatchExtract, ENI_IRO_FACTORY_ADDRESS, ENI_IRO_OWNER_ADDRESS, ENI_IRO_SELL_FEE_CONTRACT, ENI_IROSWAP_V2_ROUTER, ENI_IROSWAP_V2_FACTORY, IRO_FACTORY_ABI as ENI_IRO_FACTORY_ABI, IRO_TOKEN_ABI as ENI_IRO_TOKEN_ABI, IRO_POOL_ABI as ENI_IRO_POOL_ABI, CREATE_PROJECT_GAS_LIMIT as ENI_CREATE_PROJECT_GAS_LIMIT, ENI_IRO_PLATFORM_URL, setIroApiBase as setEniIroApiBase, iroApiCreateProject as eniIroApiCreateProject, iroApiUploadImage as eniIroApiUploadImage, } from './platforms/iro/index.js';
33
+ export { IroFactoryQuery as EniIroFactoryQuery, encodeCreateProjectCall as eniIroEncodeCreateProjectCall, createProject as eniIroCreateProject, parseCreateProjectEvent as eniIroParseCreateProjectEvent, IroTokenQuery as EniIroTokenQuery, subscribe as eniIroSubscribe, pledge as eniIroPledge, batchSubscribe as eniIroBatchSubscribe, batchSubscribeForSubmit as eniIroBatchSubscribeForSubmit, IroPoolQuery as EniIroPoolQuery, poolRemovePledge as eniIroPoolRemovePledge, poolExtract as eniIroPoolExtract, poolTransferAwards as eniIroPoolTransferAwards, batchExtract as eniIroBatchExtract, ENI_IRO_FACTORY_ADDRESS, ENI_IRO_OWNER_ADDRESS, ENI_IRO_SELL_FEE_CONTRACT, ENI_IROSWAP_V2_ROUTER, ENI_IROSWAP_V2_FACTORY, IRO_FACTORY_ABI as ENI_IRO_FACTORY_ABI, IRO_TOKEN_ABI as ENI_IRO_TOKEN_ABI, IRO_POOL_ABI as ENI_IRO_POOL_ABI, CREATE_PROJECT_GAS_LIMIT as ENI_CREATE_PROJECT_GAS_LIMIT, ENI_IRO_PLATFORM_URL, setIroApiBase as setEniIroApiBase, iroApiCreateProject as eniIroApiCreateProject, iroApiUploadImage as eniIroApiUploadImage, getTokenWhiteList as eniIroGetTokenWhiteList, addTokenWhiteListForSubmit as eniIroAddTokenWhiteListForSubmit, batchAddTokenWhiteListForSubmit as eniIroBatchAddTokenWhiteListForSubmit, removeTokenWhiteListForSubmit as eniIroRemoveTokenWhiteListForSubmit, IRO_OWNER_WHITELIST_ABI as ENI_IRO_OWNER_WHITELIST_ABI, } from './platforms/iro/index.js';
@@ -14,3 +14,5 @@ export type { IroBatchSubscribeForSubmitParams, IroBatchSubscribeForSubmitResult
14
14
  export { IroPoolQuery, poolRemovePledge, poolExtract, poolTransferAwards, batchExtract, } from './pool.js';
15
15
  export { ENI_IRO_PLATFORM_URL, setIroApiBase, iroApiCreateProject, iroApiUploadImage, } from './api.js';
16
16
  export type { IroApiCreateProjectRequest, IroApiCreateProjectResponse, IroApiUploadImageResponse, } from './api.js';
17
+ export { IRO_OWNER_WHITELIST_ABI, WHITELIST_GAS_LIMIT, BATCH_WHITELIST_GAS_LIMIT, getTokenWhiteList, addTokenWhiteListForSubmit, batchAddTokenWhiteListForSubmit, removeTokenWhiteListForSubmit, } from './whitelist.js';
18
+ export type { WhitelistManageConfig, AddWhitelistParams, BatchAddWhitelistParams, RemoveWhitelistParams, GetWhitelistParams, } from './whitelist.js';
@@ -26,3 +26,7 @@ export { IroPoolQuery, poolRemovePledge, poolExtract, poolTransferAwards, batchE
26
26
  // API
27
27
  // ============================================================================
28
28
  export { ENI_IRO_PLATFORM_URL, setIroApiBase, iroApiCreateProject, iroApiUploadImage, } from './api.js';
29
+ // ============================================================================
30
+ // Whitelist Management (IROOwner)
31
+ // ============================================================================
32
+ export { IRO_OWNER_WHITELIST_ABI, WHITELIST_GAS_LIMIT, BATCH_WHITELIST_GAS_LIMIT, getTokenWhiteList, addTokenWhiteListForSubmit, batchAddTokenWhiteListForSubmit, removeTokenWhiteListForSubmit, } from './whitelist.js';
@@ -0,0 +1,53 @@
1
+ /**
2
+ * ENI IRO 白名单管理
3
+ *
4
+ * 通过 IROOwner 合约管理已创建项目的白名单:
5
+ * - getTokenWhiteList: 查询代币白名单地址列表
6
+ * - addTokenWhiteList: 添加单个白名单
7
+ * - batchAddTokenWhiteList: 批量添加白名单
8
+ * - removeTokenWhiteList: 移除白名单地址
9
+ */
10
+ import type { WhiteListQuota } from './types.js';
11
+ export declare const IRO_OWNER_WHITELIST_ABI: readonly ["function getTokenWhiteList(address token) view returns (address[])", "function addTokenWhiteList(address token, address addr, uint256 quota)", "function batchAddTokenWhiteList(address token, tuple(address account, uint256 quota)[] list)", "function removeTokenWhiteList(address token, address addr)"];
12
+ export declare const WHITELIST_GAS_LIMIT = 500000n;
13
+ export declare const BATCH_WHITELIST_GAS_LIMIT = 2000000n;
14
+ export interface WhitelistManageConfig {
15
+ rpcUrl?: string;
16
+ chainId?: number;
17
+ iroOwnerAddress: string;
18
+ }
19
+ export interface AddWhitelistParams extends WhitelistManageConfig {
20
+ privateKey: string;
21
+ tokenAddress: string;
22
+ addr: string;
23
+ quota: bigint;
24
+ }
25
+ export interface BatchAddWhitelistParams extends WhitelistManageConfig {
26
+ privateKey: string;
27
+ tokenAddress: string;
28
+ entries: WhiteListQuota[];
29
+ }
30
+ export interface RemoveWhitelistParams extends WhitelistManageConfig {
31
+ privateKey: string;
32
+ tokenAddress: string;
33
+ addr: string;
34
+ }
35
+ export interface GetWhitelistParams extends WhitelistManageConfig {
36
+ tokenAddress: string;
37
+ }
38
+ /**
39
+ * 查询代币白名单地址列表
40
+ */
41
+ export declare function getTokenWhiteList(params: GetWhitelistParams): Promise<string[]>;
42
+ /**
43
+ * 添加单个白名单地址 (返回签名交易)
44
+ */
45
+ export declare function addTokenWhiteListForSubmit(params: AddWhitelistParams): Promise<string>;
46
+ /**
47
+ * 批量添加白名单 (返回签名交易)
48
+ */
49
+ export declare function batchAddTokenWhiteListForSubmit(params: BatchAddWhitelistParams): Promise<string>;
50
+ /**
51
+ * 移除白名单地址 (返回签名交易)
52
+ */
53
+ export declare function removeTokenWhiteListForSubmit(params: RemoveWhitelistParams): Promise<string>;
@@ -0,0 +1,109 @@
1
+ /**
2
+ * ENI IRO 白名单管理
3
+ *
4
+ * 通过 IROOwner 合约管理已创建项目的白名单:
5
+ * - getTokenWhiteList: 查询代币白名单地址列表
6
+ * - addTokenWhiteList: 添加单个白名单
7
+ * - batchAddTokenWhiteList: 批量添加白名单
8
+ * - removeTokenWhiteList: 移除白名单地址
9
+ */
10
+ import { ethers, Contract, Wallet, JsonRpcProvider } from 'ethers';
11
+ const ENI_RPC = 'https://rpc.eniac.network';
12
+ const ENI_CHAIN_ID = 173;
13
+ export const IRO_OWNER_WHITELIST_ABI = [
14
+ 'function getTokenWhiteList(address token) view returns (address[])',
15
+ 'function addTokenWhiteList(address token, address addr, uint256 quota)',
16
+ 'function batchAddTokenWhiteList(address token, tuple(address account, uint256 quota)[] list)',
17
+ 'function removeTokenWhiteList(address token, address addr)',
18
+ ];
19
+ export const WHITELIST_GAS_LIMIT = 500000n;
20
+ export const BATCH_WHITELIST_GAS_LIMIT = 2000000n;
21
+ /**
22
+ * 查询代币白名单地址列表
23
+ */
24
+ export async function getTokenWhiteList(params) {
25
+ const provider = new JsonRpcProvider(params.rpcUrl || ENI_RPC, params.chainId || ENI_CHAIN_ID);
26
+ const contract = new Contract(params.iroOwnerAddress, IRO_OWNER_WHITELIST_ABI, provider);
27
+ const addresses = await contract.getTokenWhiteList(params.tokenAddress);
28
+ return addresses.map(a => ethers.getAddress(a));
29
+ }
30
+ /**
31
+ * 添加单个白名单地址 (返回签名交易)
32
+ */
33
+ export async function addTokenWhiteListForSubmit(params) {
34
+ const provider = new JsonRpcProvider(params.rpcUrl || ENI_RPC, params.chainId || ENI_CHAIN_ID);
35
+ const wallet = new Wallet(params.privateKey, provider);
36
+ const iface = new ethers.Interface(IRO_OWNER_WHITELIST_ABI);
37
+ const data = iface.encodeFunctionData('addTokenWhiteList', [
38
+ params.tokenAddress,
39
+ params.addr,
40
+ params.quota,
41
+ ]);
42
+ const feeData = await provider.getFeeData();
43
+ const nonce = await provider.getTransactionCount(wallet.address, 'pending');
44
+ const tx = await wallet.signTransaction({
45
+ to: params.iroOwnerAddress,
46
+ data,
47
+ nonce,
48
+ chainId: params.chainId || ENI_CHAIN_ID,
49
+ type: 2,
50
+ maxFeePerGas: feeData.maxFeePerGas * 2n,
51
+ maxPriorityFeePerGas: feeData.maxPriorityFeePerGas || 1000000000n,
52
+ gasLimit: WHITELIST_GAS_LIMIT,
53
+ });
54
+ return tx;
55
+ }
56
+ /**
57
+ * 批量添加白名单 (返回签名交易)
58
+ */
59
+ export async function batchAddTokenWhiteListForSubmit(params) {
60
+ const provider = new JsonRpcProvider(params.rpcUrl || ENI_RPC, params.chainId || ENI_CHAIN_ID);
61
+ const wallet = new Wallet(params.privateKey, provider);
62
+ const tuples = params.entries.map(e => ({ account: e.addr, quota: e.quota }));
63
+ const iface = new ethers.Interface(IRO_OWNER_WHITELIST_ABI);
64
+ const data = iface.encodeFunctionData('batchAddTokenWhiteList', [
65
+ params.tokenAddress,
66
+ tuples,
67
+ ]);
68
+ const feeData = await provider.getFeeData();
69
+ const nonce = await provider.getTransactionCount(wallet.address, 'pending');
70
+ const gasLimit = params.entries.length > 5
71
+ ? BATCH_WHITELIST_GAS_LIMIT * 2n
72
+ : BATCH_WHITELIST_GAS_LIMIT;
73
+ const tx = await wallet.signTransaction({
74
+ to: params.iroOwnerAddress,
75
+ data,
76
+ nonce,
77
+ chainId: params.chainId || ENI_CHAIN_ID,
78
+ type: 2,
79
+ maxFeePerGas: feeData.maxFeePerGas * 2n,
80
+ maxPriorityFeePerGas: feeData.maxPriorityFeePerGas || 1000000000n,
81
+ gasLimit,
82
+ });
83
+ return tx;
84
+ }
85
+ /**
86
+ * 移除白名单地址 (返回签名交易)
87
+ */
88
+ export async function removeTokenWhiteListForSubmit(params) {
89
+ const provider = new JsonRpcProvider(params.rpcUrl || ENI_RPC, params.chainId || ENI_CHAIN_ID);
90
+ const wallet = new Wallet(params.privateKey, provider);
91
+ const iface = new ethers.Interface(IRO_OWNER_WHITELIST_ABI);
92
+ const data = iface.encodeFunctionData('removeTokenWhiteList', [
93
+ params.tokenAddress,
94
+ params.addr,
95
+ ]);
96
+ const feeData = await provider.getFeeData();
97
+ const nonce = await provider.getTransactionCount(wallet.address, 'pending');
98
+ const tx = await wallet.signTransaction({
99
+ to: params.iroOwnerAddress,
100
+ data,
101
+ nonce,
102
+ chainId: params.chainId || ENI_CHAIN_ID,
103
+ type: 2,
104
+ maxFeePerGas: feeData.maxFeePerGas * 2n,
105
+ maxPriorityFeePerGas: feeData.maxPriorityFeePerGas || 1000000000n,
106
+ gasLimit: WHITELIST_GAS_LIMIT,
107
+ });
108
+ return tx;
109
+ }
package/dist/index.d.ts CHANGED
@@ -76,8 +76,8 @@ export { batchBuyPortal as eniBatchBuyPortal, batchBuyV2 as eniBatchBuyV2, batch
76
76
  export type { BatchRouterConfig as EniBatchRouterConfig, BatchBuyParams as EniBatchBuyParams, BatchBuyResult as EniBatchBuyResult, BatchSellParams as EniBatchSellParams, BatchSellResult as EniBatchSellResult, AtomicSwapParams as EniAtomicSwapParams, AtomicSwapResult as EniAtomicSwapResult, BatchApproveParams as EniBatchApproveParams, BatchApproveResult as EniBatchApproveResult, BatchTransferParams as EniBatchTransferParams, BatchTransferResult as EniBatchTransferResult, WashVolumeParams as EniWashVolumeParams, WashVolumeResult as EniWashVolumeResult, BatchSweepTokenParams as EniBatchSweepTokenParams, BatchSweepTokenResult as EniBatchSweepTokenResult, BatchSweepEgasParams as EniBatchSweepEgasParams, BatchTransferTokenParams as EniBatchTransferTokenParams, EniDisperseParams, EniDisperseResult, EniSweepParams, EniSweepResult, } from './chains/eni/batch-router/index.js';
77
77
  export { getLPPairInfo as eniGetLPPairInfo, batchGetLPPairInfo as eniBatchGetLPPairInfo, getPairAddress as eniGetPairAddress, addLiquidityETHForSubmit as eniAddLiquidityETHForSubmit, removeLiquidityETHForSubmit as eniRemoveLiquidityETHForSubmit, addLiquidityForSubmit as eniAddLiquidityForSubmit, removeLiquidityForSubmit as eniRemoveLiquidityForSubmit, } from './chains/eni/index.js';
78
78
  export type { LPPairInfo as EniLPPairInfo, GetLPInfoParams as EniGetLPInfoParams, AddLiquidityETHParams as EniAddLiquidityETHParams, RemoveLiquidityETHParams as EniRemoveLiquidityETHParams, AddLiquidityParams as EniAddLiquidityParams, RemoveLiquidityParams as EniRemoveLiquidityParams, LiquidityForSubmitResult as EniLiquidityForSubmitResult, } from './chains/eni/index.js';
79
- export { EniIroFactoryQuery, eniIroEncodeCreateProjectCall, eniIroCreateProject, eniIroParseCreateProjectEvent, EniIroTokenQuery, eniIroSubscribe, eniIroPledge, eniIroBatchSubscribe, eniIroBatchSubscribeForSubmit, EniIroPoolQuery, eniIroPoolRemovePledge, eniIroPoolExtract, eniIroPoolTransferAwards, eniIroBatchExtract, ENI_IRO_FACTORY_ADDRESS, ENI_IRO_OWNER_ADDRESS, ENI_IRO_SELL_FEE_CONTRACT, ENI_IROSWAP_V2_ROUTER, ENI_IROSWAP_V2_FACTORY, ENI_IRO_FACTORY_ABI, ENI_IRO_TOKEN_ABI, ENI_IRO_POOL_ABI, ENI_IRO_PLATFORM_URL, setEniIroApiBase, eniIroApiCreateProject, eniIroApiUploadImage, } from './chains/eni/index.js';
80
- export type { EniIroCreateProjectParams, EniIroSubscribeParams, EniIroPledgeParams, EniIroTokenInfo, EniIroTxResult, EniIroCreateProjectResult, EniIroQueryConfig, EniIroCreateParams, EniIroBatchSubscribeForSubmitParams, EniIroBatchSubscribeForSubmitResult, } from './chains/eni/index.js';
79
+ export { EniIroFactoryQuery, eniIroEncodeCreateProjectCall, eniIroCreateProject, eniIroParseCreateProjectEvent, EniIroTokenQuery, eniIroSubscribe, eniIroPledge, eniIroBatchSubscribe, eniIroBatchSubscribeForSubmit, EniIroPoolQuery, eniIroPoolRemovePledge, eniIroPoolExtract, eniIroPoolTransferAwards, eniIroBatchExtract, ENI_IRO_FACTORY_ADDRESS, ENI_IRO_OWNER_ADDRESS, ENI_IRO_SELL_FEE_CONTRACT, ENI_IROSWAP_V2_ROUTER, ENI_IROSWAP_V2_FACTORY, ENI_IRO_FACTORY_ABI, ENI_IRO_TOKEN_ABI, ENI_IRO_POOL_ABI, ENI_IRO_PLATFORM_URL, setEniIroApiBase, eniIroApiCreateProject, eniIroApiUploadImage, eniIroGetTokenWhiteList, eniIroAddTokenWhiteListForSubmit, eniIroBatchAddTokenWhiteListForSubmit, eniIroRemoveTokenWhiteListForSubmit, ENI_IRO_OWNER_WHITELIST_ABI, } from './chains/eni/index.js';
80
+ export type { EniIroCreateProjectParams, EniIroSubscribeParams, EniIroPledgeParams, EniIroTokenInfo, EniIroTxResult, EniIroCreateProjectResult, EniIroQueryConfig, EniIroCreateParams, EniIroBatchSubscribeForSubmitParams, EniIroBatchSubscribeForSubmitResult, EniWhitelistManageConfig, EniAddWhitelistParams, EniBatchAddWhitelistParams, EniRemoveWhitelistParams, EniGetWhitelistParams, } from './chains/eni/index.js';
81
81
  export * as EniBundler from './chains/eni/bundler/index.js';
82
82
  export { signOperation as eniBundlerSignOp, signTokenPull as eniBundlerSignTokenPull, signOperationsBatch as eniBundlerSignOpsBatch, getBundlerNonce as eniBundlerGetNonce, buildExecuteBatch as eniBundlerBuildExecuteBatch, buildPullAndExecute as eniBundlerBuildPullAndExecute, ENI_BUNDLER_ADDRESS, } from './chains/eni/bundler/index.js';
83
83
  export type { SignedOpParams as EniBundlerSignedOp, TokenPullParams as EniBundlerTokenPull, SignOpInput as EniBundlerSignOpInput, BundleSubmitResult as EniBundlerSubmitResult, } from './chains/eni/bundler/index.js';
package/dist/index.js CHANGED
@@ -195,7 +195,7 @@ BATCH_ROUTER_ADDRESS as ENI_BATCH_ROUTER_ADDRESS, BATCH_ROUTER_ABI as ENI_BATCH_
195
195
  // ENI DSWAP V2 流动性管理
196
196
  export { getLPPairInfo as eniGetLPPairInfo, batchGetLPPairInfo as eniBatchGetLPPairInfo, getPairAddress as eniGetPairAddress, addLiquidityETHForSubmit as eniAddLiquidityETHForSubmit, removeLiquidityETHForSubmit as eniRemoveLiquidityETHForSubmit, addLiquidityForSubmit as eniAddLiquidityForSubmit, removeLiquidityForSubmit as eniRemoveLiquidityForSubmit, } from './chains/eni/index.js';
197
197
  // ENI IRO (Initial Rights Offering)
198
- export { EniIroFactoryQuery, eniIroEncodeCreateProjectCall, eniIroCreateProject, eniIroParseCreateProjectEvent, EniIroTokenQuery, eniIroSubscribe, eniIroPledge, eniIroBatchSubscribe, eniIroBatchSubscribeForSubmit, EniIroPoolQuery, eniIroPoolRemovePledge, eniIroPoolExtract, eniIroPoolTransferAwards, eniIroBatchExtract, ENI_IRO_FACTORY_ADDRESS, ENI_IRO_OWNER_ADDRESS, ENI_IRO_SELL_FEE_CONTRACT, ENI_IROSWAP_V2_ROUTER, ENI_IROSWAP_V2_FACTORY, ENI_IRO_FACTORY_ABI, ENI_IRO_TOKEN_ABI, ENI_IRO_POOL_ABI, ENI_IRO_PLATFORM_URL, setEniIroApiBase, eniIroApiCreateProject, eniIroApiUploadImage, } from './chains/eni/index.js';
198
+ export { EniIroFactoryQuery, eniIroEncodeCreateProjectCall, eniIroCreateProject, eniIroParseCreateProjectEvent, EniIroTokenQuery, eniIroSubscribe, eniIroPledge, eniIroBatchSubscribe, eniIroBatchSubscribeForSubmit, EniIroPoolQuery, eniIroPoolRemovePledge, eniIroPoolExtract, eniIroPoolTransferAwards, eniIroBatchExtract, ENI_IRO_FACTORY_ADDRESS, ENI_IRO_OWNER_ADDRESS, ENI_IRO_SELL_FEE_CONTRACT, ENI_IROSWAP_V2_ROUTER, ENI_IROSWAP_V2_FACTORY, ENI_IRO_FACTORY_ABI, ENI_IRO_TOKEN_ABI, ENI_IRO_POOL_ABI, ENI_IRO_PLATFORM_URL, setEniIroApiBase, eniIroApiCreateProject, eniIroApiUploadImage, eniIroGetTokenWhiteList, eniIroAddTokenWhiteListForSubmit, eniIroBatchAddTokenWhiteListForSubmit, eniIroRemoveTokenWhiteListForSubmit, ENI_IRO_OWNER_WHITELIST_ABI, } from './chains/eni/index.js';
199
199
  // ✅ ENI Bundler — EIP-712 元交易多签名者原子执行
200
200
  export * as EniBundler from './chains/eni/bundler/index.js';
201
201
  export { signOperation as eniBundlerSignOp, signTokenPull as eniBundlerSignTokenPull, signOperationsBatch as eniBundlerSignOpsBatch, getBundlerNonce as eniBundlerGetNonce, buildExecuteBatch as eniBundlerBuildExecuteBatch, buildPullAndExecute as eniBundlerBuildPullAndExecute, ENI_BUNDLER_ADDRESS, } from './chains/eni/bundler/index.js';
@@ -242,7 +242,7 @@ function getBaseTokenAddress(baseToken, chain, customAddress) {
242
242
  function getRouterAddress(tradeType, chain, v2RouterOverride) {
243
243
  if (chain === 'ENI') {
244
244
  switch (tradeType) {
245
- case 'v2': return ENI_V2_ROUTER_ADDRESS;
245
+ case 'v2': return v2RouterOverride || ENI_V2_ROUTER_ADDRESS;
246
246
  case 'daoaas': return ENI_DAOAAS_PORTAL_ADDRESS;
247
247
  default: throw new Error(`ENI 链不支持交易类型: ${tradeType},仅支持 daoaas/v2`);
248
248
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "four-flap-meme-sdk",
3
- "version": "1.9.35",
3
+ "version": "1.9.37",
4
4
  "description": "SDK for Flap bonding curve and four.meme TokenManager",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",