four-flap-meme-sdk 1.9.36 → 1.9.38

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.
@@ -11,7 +11,7 @@ export declare const IROSWAP_V2_FACTORY: "0x637D87a4165C5fF8f6cdDa8EC8cA394b1f0C
11
11
  export declare const USDT_BSC: "0x55d398326f99059fF775485246999027B3197955";
12
12
  export declare const IRO_FACTORY_ABI: readonly ["function createProject(uint256 _projectID, uint256 _totalSupply, uint256 _initPrice, string memory _symbol, uint256[2] memory softAndHardCap, address coinAddr, uint256 pledgeDays, tuple(address account, uint256 quota)[] memory _addressList) returns (address pool)", "function projectIDToken(uint256) view returns (address)", "function getPool(address token) view returns (address poolAddress)", "function allToken(uint256) view returns (address token)", "function allTokensLength() view returns (uint256)", "function tokenInfo(address token) view returns (string name, uint256 totalSupply, uint256 initPrice, address creator, uint256 softCap, uint256 hardCap, bool isWhitelisted, uint256 pledgeDays)", "event CreateProject(uint256 indexed projectID, address indexed token, address indexed pool, address TKAAddr, uint256 len)"];
13
13
  export declare const IRO_TOKEN_ABI: readonly ["function name() view returns (string)", "function symbol() view returns (string)", "function decimals() view returns (uint8)", "function totalSupply() view returns (uint256)", "function balanceOf(address account) view returns (uint256)", "function allowance(address owner, address spender) view returns (uint256)", "function approve(address spender, uint256 amount) returns (bool)", "function transfer(address to, uint256 amount) returns (bool)", "function transferFrom(address from, address to, uint256 amount) returns (bool)", "function subscribe(address _user, uint256 amount) payable", "function pledge(address _user, uint256 amount) payable", "function price() view returns (uint256)", "function creator() view returns (address)", "function isOpen() view returns (bool)", "function isWhitelisted() view returns (bool)", "function isWXOC() view returns (bool)", "function tradingLimit() view returns (uint256)", "function totalCreatorFee() view returns (uint256)", "function POOL() view returns (address)", "function TKA() view returns (address)", "function getTokenPrice() view returns (uint256 pairToken, uint256 pairTKA, uint256 newPrice)", "function dayProduce(uint256 day) view returns (bool)"];
14
- export declare const IRO_POOL_ABI: readonly ["function pledge(address _user, uint256 amount, uint256 share) external", "function removePledge() external", "function extract(uint256 amount) external", "function transferAwards(address[] recipients, uint256[] TKAAmounts) external", "function token() view returns (address)", "function totalShare() view returns (uint256)", "function produceNum() view returns (uint256)", "function produceLpNum() view returns (uint256)", "function produceLimit() view returns (uint256)", "function lastAddProduce() view returns (uint256)", "function getDeposit(address account) view returns (uint256)", "function getUserPledgeLpForUsdt(address _user) view returns (uint256 lpForUsdt)", "function getLPValueForUSDTValue(uint256 targetTKAValue) view returns (uint256 valueInTKA)", "function increaseRateMap(uint256) view returns (bool status, uint256 rate)"];
14
+ export declare const IRO_POOL_ABI: readonly ["function pledge(address _user, uint256 amount, uint256 share) external", "function removePledge() external", "function extract(uint256 amount) external", "function transferAwards(address[] recipients, uint256[] TKAAmounts) external", "function token() view returns (address)", "function totalShare() view returns (uint256)", "function produceNum() view returns (uint256)", "function produceLpNum() view returns (uint256)", "function produceLimit() view returns (uint256)", "function lastAddProduce() view returns (uint256)", "function getDeposit(address account) view returns (uint256)", "function getUserPledgeLpForUsdt(address _user) view returns (uint256 lpForUsdt)", "function getLPValueForUSDTValue(uint256 targetTKAValue) view returns (uint256 valueInTKA)", "function increaseRateMap(uint256) view returns (bool status, uint256 rate)", "function totalSupply() view returns (uint256)", "function balanceOf(address) view returns (uint256)", "function lastPrice() view returns (uint256)", "function userAward(address) view returns (uint256)", "function getUserStake(address) view returns (uint256)", "function ownerAddr() view returns (address)", "function isInitialized() view returns (bool)"];
15
15
  /** 默认 Gas Limit — createProject */
16
16
  export declare const CREATE_PROJECT_GAS_LIMIT = 5000000n;
17
17
  /** 默认 Gas Limit — subscribe / pledge (内含 addLiquidity + swap) */
@@ -78,6 +78,13 @@ export const IRO_POOL_ABI = [
78
78
  'function getUserPledgeLpForUsdt(address _user) view returns (uint256 lpForUsdt)',
79
79
  'function getLPValueForUSDTValue(uint256 targetTKAValue) view returns (uint256 valueInTKA)',
80
80
  'function increaseRateMap(uint256) view returns (bool status, uint256 rate)',
81
+ 'function totalSupply() view returns (uint256)',
82
+ 'function balanceOf(address) view returns (uint256)',
83
+ 'function lastPrice() view returns (uint256)',
84
+ 'function userAward(address) view returns (uint256)',
85
+ 'function getUserStake(address) view returns (uint256)',
86
+ 'function ownerAddr() view returns (address)',
87
+ 'function isInitialized() view returns (bool)',
81
88
  ];
82
89
  // ============================================================================
83
90
  // 通用常量
@@ -38,6 +38,13 @@ export declare class IroPoolQuery {
38
38
  status: boolean;
39
39
  rate: bigint;
40
40
  }>;
41
+ totalSupply(): Promise<bigint>;
42
+ balanceOf(account: string): Promise<bigint>;
43
+ lastPrice(): Promise<bigint>;
44
+ userAward(account: string): Promise<bigint>;
45
+ getUserStake(account: string): Promise<bigint>;
46
+ ownerAddr(): Promise<string>;
47
+ isInitialized(): Promise<boolean>;
41
48
  get providerInstance(): JsonRpcProvider;
42
49
  }
43
50
  /**
@@ -62,6 +62,13 @@ export class IroPoolQuery {
62
62
  const raw = await this.pool.increaseRateMap(index);
63
63
  return { status: raw[0], rate: BigInt(raw[1]) };
64
64
  }
65
+ async totalSupply() { return this.pool.totalSupply(); }
66
+ async balanceOf(account) { return this.pool.balanceOf(account); }
67
+ async lastPrice() { return this.pool.lastPrice(); }
68
+ async userAward(account) { return this.pool.userAward(account); }
69
+ async getUserStake(account) { return this.pool.getUserStake(account); }
70
+ async ownerAddr() { return this.pool.ownerAddr(); }
71
+ async isInitialized() { return this.pool.isInitialized(); }
65
72
  get providerInstance() {
66
73
  return this.provider;
67
74
  }
@@ -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';
@@ -18,7 +18,7 @@ export declare const ENI_IROSWAP_V2_FACTORY: "0xdE4360F6Cd386FD70Db1386F92013817
18
18
  export declare const ENI_USDT: "0xDC1a8A35b0BaA3229b13f348ED708a2fd50b5e3a";
19
19
  export declare const IRO_FACTORY_ABI: readonly ["function createProject(uint256 _projectID, uint256 _totalSupply, uint256 _initPrice, string memory _symbol, uint256[2] memory softAndHardCap, address coinAddr, uint256 pledgeDays, tuple(address account, uint256 quota)[] memory _addressList) returns (address pool)", "function projectIDToken(uint256) view returns (address)", "function getPool(address token) view returns (address poolAddress)", "function allToken(uint256) view returns (address token)", "function allTokensLength() view returns (uint256)", "function tokenInfo(address token) view returns (string name, uint256 totalSupply, uint256 initPrice, address creator, uint256 softCap, uint256 hardCap, bool isWhitelisted, uint256 pledgeDays)", "event CreateProject(uint256 indexed projectID, address indexed token, address indexed pool, address TKAAddr, uint256 len)"];
20
20
  export declare const IRO_TOKEN_ABI: readonly ["function name() view returns (string)", "function symbol() view returns (string)", "function decimals() view returns (uint8)", "function totalSupply() view returns (uint256)", "function balanceOf(address account) view returns (uint256)", "function allowance(address owner, address spender) view returns (uint256)", "function approve(address spender, uint256 amount) returns (bool)", "function transfer(address to, uint256 amount) returns (bool)", "function transferFrom(address from, address to, uint256 amount) returns (bool)", "function subscribe(address _user, uint256 amount) payable", "function pledge(address _user, uint256 amount) payable", "function price() view returns (uint256)", "function creator() view returns (address)", "function isOpen() view returns (bool)", "function isWhitelisted() view returns (bool)", "function isWXOC() view returns (bool)", "function tradingLimit() view returns (uint256)", "function totalCreatorFee() view returns (uint256)", "function POOL() view returns (address)", "function TKA() view returns (address)", "function getTokenPrice() view returns (uint256 pairToken, uint256 pairTKA, uint256 newPrice)", "function dayProduce(uint256 day) view returns (bool)"];
21
- export declare const IRO_POOL_ABI: readonly ["function pledge(address _user, uint256 amount, uint256 share) external", "function removePledge() external", "function extract(uint256 amount) external", "function transferAwards(address[] recipients, uint256[] TKAAmounts) external", "function token() view returns (address)", "function totalShare() view returns (uint256)", "function produceNum() view returns (uint256)", "function produceLpNum() view returns (uint256)", "function produceLimit() view returns (uint256)", "function lastAddProduce() view returns (uint256)", "function getDeposit(address account) view returns (uint256)", "function getUserPledgeLpForUsdt(address _user) view returns (uint256 lpForUsdt)", "function getLPValueForUSDTValue(uint256 targetTKAValue) view returns (uint256 valueInTKA)", "function increaseRateMap(uint256) view returns (bool status, uint256 rate)"];
21
+ export declare const IRO_POOL_ABI: readonly ["function pledge(address _user, uint256 amount, uint256 share) external", "function removePledge() external", "function extract(uint256 amount) external", "function transferAwards(address[] recipients, uint256[] TKAAmounts) external", "function token() view returns (address)", "function totalShare() view returns (uint256)", "function produceNum() view returns (uint256)", "function produceLpNum() view returns (uint256)", "function produceLimit() view returns (uint256)", "function lastAddProduce() view returns (uint256)", "function getDeposit(address account) view returns (uint256)", "function getUserPledgeLpForUsdt(address _user) view returns (uint256 lpForUsdt)", "function getLPValueForUSDTValue(uint256 targetTKAValue) view returns (uint256 valueInTKA)", "function increaseRateMap(uint256) view returns (bool status, uint256 rate)", "function totalSupply() view returns (uint256)", "function balanceOf(address) view returns (uint256)", "function lastPrice() view returns (uint256)", "function userAward(address) view returns (uint256)", "function getUserStake(address) view returns (uint256)", "function ownerAddr() view returns (address)", "function isInitialized() view returns (bool)"];
22
22
  export declare const CREATE_PROJECT_GAS_LIMIT = 8000000n;
23
23
  export declare const SUBSCRIBE_GAS_LIMIT = 3000000n;
24
24
  export declare const POOL_OPERATION_GAS_LIMIT = 300000n;
@@ -78,6 +78,13 @@ export const IRO_POOL_ABI = [
78
78
  'function getUserPledgeLpForUsdt(address _user) view returns (uint256 lpForUsdt)',
79
79
  'function getLPValueForUSDTValue(uint256 targetTKAValue) view returns (uint256 valueInTKA)',
80
80
  'function increaseRateMap(uint256) view returns (bool status, uint256 rate)',
81
+ 'function totalSupply() view returns (uint256)',
82
+ 'function balanceOf(address) view returns (uint256)',
83
+ 'function lastPrice() view returns (uint256)',
84
+ 'function userAward(address) view returns (uint256)',
85
+ 'function getUserStake(address) view returns (uint256)',
86
+ 'function ownerAddr() view returns (address)',
87
+ 'function isInitialized() view returns (bool)',
81
88
  ];
82
89
  // ============================================================================
83
90
  // Gas Limits
@@ -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';
@@ -23,6 +23,13 @@ export declare class IroPoolQuery {
23
23
  status: boolean;
24
24
  rate: bigint;
25
25
  }>;
26
+ totalSupply(): Promise<bigint>;
27
+ balanceOf(account: string): Promise<bigint>;
28
+ lastPrice(): Promise<bigint>;
29
+ userAward(account: string): Promise<bigint>;
30
+ getUserStake(account: string): Promise<bigint>;
31
+ ownerAddr(): Promise<string>;
32
+ isInitialized(): Promise<boolean>;
26
33
  get providerInstance(): JsonRpcProvider;
27
34
  }
28
35
  export declare function poolRemovePledge(params: IroPoolRemovePledgeParams): Promise<IroTxResult>;
@@ -29,6 +29,13 @@ export class IroPoolQuery {
29
29
  const raw = await this.pool.increaseRateMap(index);
30
30
  return { status: raw[0], rate: BigInt(raw[1]) };
31
31
  }
32
+ async totalSupply() { return this.pool.totalSupply(); }
33
+ async balanceOf(account) { return this.pool.balanceOf(account); }
34
+ async lastPrice() { return this.pool.lastPrice(); }
35
+ async userAward(account) { return this.pool.userAward(account); }
36
+ async getUserStake(account) { return this.pool.getUserStake(account); }
37
+ async ownerAddr() { return this.pool.ownerAddr(); }
38
+ async isInitialized() { return this.pool.isInitialized(); }
32
39
  get providerInstance() { return this.provider; }
33
40
  }
34
41
  // ============================================================================
@@ -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';
@@ -98,7 +98,7 @@ export const TRANSFER_FEE_PER_ADDRESS = {
98
98
  143: 1000000000000000n, // Monad: 0.001 MON
99
99
  8453: 1000000000000000n, // Base: 0.001 ETH
100
100
  2818: 1000000000000000n, // Morph: 0.001 ETH
101
- 173: 1000000000000000n, // ENI: 0.001 EGAS
101
+ 173: 100000000000000000n, // ENI: 0.1 EGAS
102
102
  };
103
103
  /**
104
104
  * 获取每个地址的转账费用(原生代币 wei)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "four-flap-meme-sdk",
3
- "version": "1.9.36",
3
+ "version": "1.9.38",
4
4
  "description": "SDK for Flap bonding curve and four.meme TokenManager",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",