four-flap-meme-sdk 2.0.0 → 2.2.0

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.
Files changed (220) hide show
  1. package/dist/__tests__/subpath-exports.test.js +64 -0
  2. package/dist/chains/bsc/iro.d.ts +5 -0
  3. package/dist/chains/bsc/iro.js +4 -0
  4. package/dist/chains/eni/flat-aliases.d.ts +10 -0
  5. package/dist/chains/eni/flat-aliases.js +8 -0
  6. package/dist/chains/eni/index.d.ts +1 -0
  7. package/dist/chains/eni/index.js +1 -0
  8. package/dist/chains/index.d.ts +13 -0
  9. package/dist/chains/index.js +13 -0
  10. package/dist/chains/xlayer/eip7702/flat-aliases.d.ts +13 -0
  11. package/dist/chains/xlayer/eip7702/flat-aliases.js +10 -0
  12. package/dist/chains/xlayer/eip7702/index.d.ts +1 -0
  13. package/dist/chains/xlayer/eip7702/index.js +1 -0
  14. package/dist/chains/xlayer/index.d.ts +3 -2
  15. package/dist/chains/xlayer/index.js +4 -7
  16. package/dist/flap/index.d.ts +10 -0
  17. package/dist/flap/index.js +8 -0
  18. package/dist/merkle/index.d.ts +12 -0
  19. package/dist/merkle/index.js +11 -0
  20. package/dist/shared/constants/index.d.ts +2 -0
  21. package/dist/shared/index.d.ts +2 -0
  22. package/dist/vanity/index.d.ts +5 -0
  23. package/dist/vanity/index.js +5 -0
  24. package/package.json +93 -2
  25. package/dist/chains/bsc/four/disperse.d.ts +0 -12
  26. package/dist/chains/bsc/four/disperse.js +0 -470
  27. package/dist/chains/bsc/four/pairwise.d.ts +0 -7
  28. package/dist/chains/bsc/four/pairwise.js +0 -308
  29. package/dist/chains/bsc/four/submit/blockrazor.d.ts +0 -18
  30. package/dist/chains/bsc/four/submit/blockrazor.js +0 -86
  31. package/dist/chains/bsc/four/submit/direct.d.ts +0 -66
  32. package/dist/chains/bsc/four/submit/direct.js +0 -452
  33. package/dist/chains/bsc/four/submit/helpers.d.ts +0 -18
  34. package/dist/chains/bsc/four/submit/helpers.js +0 -57
  35. package/dist/chains/bsc/four/submit/index.d.ts +0 -12
  36. package/dist/chains/bsc/four/submit/index.js +0 -11
  37. package/dist/chains/bsc/four/submit/merkle.d.ts +0 -18
  38. package/dist/chains/bsc/four/submit/merkle.js +0 -74
  39. package/dist/chains/bsc/four/submit/types.d.ts +0 -143
  40. package/dist/chains/bsc/four/swap/index.d.ts +0 -32
  41. package/dist/chains/bsc/four/swap/index.js +0 -829
  42. package/dist/chains/bsc/four/swap/types.d.ts +0 -70
  43. package/dist/chains/bsc/four/swap/types.js +0 -1
  44. package/dist/chains/bsc/four/sweep.d.ts +0 -13
  45. package/dist/chains/bsc/four/sweep.js +0 -788
  46. package/dist/chains/bsc/four/utils/index.d.ts +0 -20
  47. package/dist/chains/bsc/four/utils/index.js +0 -1558
  48. package/dist/chains/bsc/four/utils/types.d.ts +0 -1
  49. package/dist/chains/bsc/four/utils/types.js +0 -1
  50. package/dist/chains/bsc/pancake/bundle-buy-first/index.d.ts +0 -8
  51. package/dist/chains/bsc/pancake/bundle-buy-first/index.js +0 -907
  52. package/dist/chains/bsc/pancake/bundle-buy-first/types.d.ts +0 -73
  53. package/dist/chains/bsc/pancake/bundle-buy-first/types.js +0 -1
  54. package/dist/chains/bsc/pancake/bundle-swap/helpers.d.ts +0 -102
  55. package/dist/chains/bsc/pancake/bundle-swap/helpers.js +0 -572
  56. package/dist/chains/bsc/pancake/bundle-swap/index.d.ts +0 -50
  57. package/dist/chains/bsc/pancake/bundle-swap/index.js +0 -1066
  58. package/dist/chains/bsc/pancake/bundle-swap/types.d.ts +0 -202
  59. package/dist/chains/bsc/pancake/bundle-swap/types.js +0 -3
  60. package/dist/chains/xlayer/eip7702/bundle-swap/index.d.ts +0 -72
  61. package/dist/chains/xlayer/eip7702/bundle-swap/index.js +0 -921
  62. package/dist/chains/xlayer/eip7702/bundle-swap/types.d.ts +0 -65
  63. package/dist/chains/xlayer/eip7702/bundle-swap/types.js +0 -1
  64. package/dist/chains/xlayer/eip7702/multi-hop-transfer/index.d.ts +0 -128
  65. package/dist/chains/xlayer/eip7702/multi-hop-transfer/index.js +0 -857
  66. package/dist/chains/xlayer/eip7702/multi-hop-transfer/types.d.ts +0 -85
  67. package/dist/chains/xlayer/eip7702/multi-hop-transfer/types.js +0 -1
  68. package/dist/chains/xlayer/eip7702/volume/index.d.ts +0 -96
  69. package/dist/chains/xlayer/eip7702/volume/index.js +0 -793
  70. package/dist/chains/xlayer/eip7702/volume/types.d.ts +0 -124
  71. package/dist/chains/xlayer/eip7702/volume/types.js +0 -1
  72. package/dist/chains/xlayer/eoa/types-core.d.ts +0 -363
  73. package/dist/chains/xlayer/eoa/types-core.js +0 -53
  74. package/dist/chains/xlayer/eoa/types-create.d.ts +0 -413
  75. package/dist/chains/xlayer/eoa/types-create.js +0 -9
  76. package/dist/chains/xlayer/eoa/types-volume.d.ts +0 -209
  77. package/dist/chains/xlayer/eoa/types-volume.js +0 -13
  78. package/dist/dex/direct-router/index.d.ts +0 -70
  79. package/dist/dex/direct-router/index.js +0 -1410
  80. package/dist/dex/direct-router/types.d.ts +0 -81
  81. package/dist/dex/direct-router/types.js +0 -1
  82. package/dist/shared/abis/TaxToken.json +0 -969
  83. package/dist/shared/abis/TokenManager.json +0 -836
  84. package/dist/shared/abis/TokenManager2.json +0 -136
  85. package/dist/shared/abis/TokenManagerHelper3.json +0 -993
  86. package/dist/shared/abis 2/TaxToken.json +0 -105
  87. package/dist/shared/abis 2/TokenManager.json +0 -836
  88. package/dist/shared/abis 2/TokenManager2.json +0 -60
  89. package/dist/shared/abis 2/TokenManagerHelper3.json +0 -993
  90. package/dist/shared/abis 2/common.d.ts +0 -85
  91. package/dist/shared/abis 2/common.js +0 -254
  92. package/dist/shared/abis 2/index.d.ts +0 -8
  93. package/dist/shared/abis 2/index.js +0 -8
  94. package/dist/shared/clients 2/blockrazor.d.ts +0 -314
  95. package/dist/shared/clients 2/blockrazor.js +0 -596
  96. package/dist/shared/clients 2/club48.d.ts +0 -154
  97. package/dist/shared/clients 2/club48.js +0 -331
  98. package/dist/shared/clients 2/emitservice.d.ts +0 -47
  99. package/dist/shared/clients 2/emitservice.js +0 -44
  100. package/dist/shared/clients 2/four.d.ts +0 -132
  101. package/dist/shared/clients 2/four.js +0 -281
  102. package/dist/shared/clients 2/merkle.d.ts +0 -210
  103. package/dist/shared/clients 2/merkle.js +0 -400
  104. package/dist/shared/flap/__tests__/curve.test.d.ts +0 -1
  105. package/dist/shared/flap/__tests__/curve.test.js +0 -85
  106. package/dist/shared/flap/portal/index.d.ts +0 -12
  107. package/dist/shared/flap/portal/index.js +0 -11
  108. package/dist/shared/flap/portal/portal.d.ts +0 -47
  109. package/dist/shared/flap/portal/portal.js +0 -218
  110. package/dist/shared/flap/portal/types.d.ts +0 -227
  111. package/dist/shared/flap/portal/types.js +0 -80
  112. package/dist/shared/flap/portal/writer.d.ts +0 -121
  113. package/dist/shared/flap/portal/writer.js +0 -265
  114. package/dist/shared/flap/portal-bundle-merkle/core/index.d.ts +0 -18
  115. package/dist/shared/flap/portal-bundle-merkle/core/index.js +0 -938
  116. package/dist/shared/flap/portal-bundle-merkle/core/types.d.ts +0 -1
  117. package/dist/shared/flap/portal-bundle-merkle/core/types.js +0 -1
  118. package/dist/shared/flap/portal-bundle-merkle/swap/index.d.ts +0 -42
  119. package/dist/shared/flap/portal-bundle-merkle/swap/index.js +0 -1448
  120. package/dist/shared/flap/portal-bundle-merkle/swap/types.d.ts +0 -84
  121. package/dist/shared/flap/portal-bundle-merkle/swap/types.js +0 -1
  122. package/dist/shared/flap/portal-bundle-merkle/utils/index.d.ts +0 -17
  123. package/dist/shared/flap/portal-bundle-merkle/utils/index.js +0 -1024
  124. package/dist/shared/flap/portal-bundle-merkle/utils/types.d.ts +0 -16
  125. package/dist/shared/flap/portal-bundle-merkle/utils/types.js +0 -1
  126. package/dist/shared/flap/portal-bundle-merkle/utils-helpers.d.ts +0 -100
  127. package/dist/shared/flap/portal-bundle-merkle/utils-helpers.js +0 -133
  128. package/dist/shared/flap 2/__tests__/curve.test.d.ts +0 -1
  129. package/dist/shared/flap 2/__tests__/curve.test.js +0 -85
  130. package/dist/shared/flap 2/abi.d.ts +0 -4
  131. package/dist/shared/flap 2/abi.js +0 -4
  132. package/dist/shared/flap 2/constants.d.ts +0 -128
  133. package/dist/shared/flap 2/constants.js +0 -143
  134. package/dist/shared/flap 2/curve.d.ts +0 -33
  135. package/dist/shared/flap 2/curve.js +0 -84
  136. package/dist/shared/flap 2/errors.d.ts +0 -37
  137. package/dist/shared/flap 2/errors.js +0 -114
  138. package/dist/shared/flap 2/index.d.ts +0 -22
  139. package/dist/shared/flap 2/index.js +0 -33
  140. package/dist/shared/flap 2/ipfs.d.ts +0 -21
  141. package/dist/shared/flap 2/ipfs.js +0 -38
  142. package/dist/shared/flap 2/meta.d.ts +0 -30
  143. package/dist/shared/flap 2/meta.js +0 -195
  144. package/dist/shared/flap 2/permit.d.ts +0 -16
  145. package/dist/shared/flap 2/permit.js +0 -67
  146. package/dist/shared/flap 2/pinata.d.ts +0 -40
  147. package/dist/shared/flap 2/pinata.js +0 -106
  148. package/dist/shared/flap 2/portal-bundle-merkle/config.d.ts +0 -79
  149. package/dist/shared/flap 2/portal-bundle-merkle/config.js +0 -133
  150. package/dist/shared/flap 2/portal-bundle-merkle/core.d.ts +0 -18
  151. package/dist/shared/flap 2/portal-bundle-merkle/core.js +0 -938
  152. package/dist/shared/flap 2/portal-bundle-merkle/create-to-dex.d.ts +0 -125
  153. package/dist/shared/flap 2/portal-bundle-merkle/create-to-dex.js +0 -665
  154. package/dist/shared/flap 2/portal-bundle-merkle/curve-to-dex.d.ts +0 -88
  155. package/dist/shared/flap 2/portal-bundle-merkle/curve-to-dex.js +0 -446
  156. package/dist/shared/flap 2/portal-bundle-merkle/index.d.ts +0 -14
  157. package/dist/shared/flap 2/portal-bundle-merkle/index.js +0 -26
  158. package/dist/shared/flap 2/portal-bundle-merkle/pancake-proxy.d.ts +0 -28
  159. package/dist/shared/flap 2/portal-bundle-merkle/pancake-proxy.js +0 -701
  160. package/dist/shared/flap 2/portal-bundle-merkle/private.d.ts +0 -17
  161. package/dist/shared/flap 2/portal-bundle-merkle/private.js +0 -549
  162. package/dist/shared/flap 2/portal-bundle-merkle/swap-buy-first.d.ts +0 -65
  163. package/dist/shared/flap 2/portal-bundle-merkle/swap-buy-first.js +0 -831
  164. package/dist/shared/flap 2/portal-bundle-merkle/swap.d.ts +0 -201
  165. package/dist/shared/flap 2/portal-bundle-merkle/swap.js +0 -1359
  166. package/dist/shared/flap 2/portal-bundle-merkle/types.d.ts +0 -358
  167. package/dist/shared/flap 2/portal-bundle-merkle/types.js +0 -1
  168. package/dist/shared/flap 2/portal-bundle-merkle/utils.d.ts +0 -89
  169. package/dist/shared/flap 2/portal-bundle-merkle/utils.js +0 -963
  170. package/dist/shared/flap 2/portal-bundle.d.ts +0 -119
  171. package/dist/shared/flap 2/portal-bundle.js +0 -584
  172. package/dist/shared/flap 2/portal.d.ts +0 -392
  173. package/dist/shared/flap 2/portal.js +0 -559
  174. package/dist/shared/flap 2/vanity.d.ts +0 -48
  175. package/dist/shared/flap 2/vanity.js +0 -110
  176. package/dist/shared/flap 2/vault.d.ts +0 -240
  177. package/dist/shared/flap 2/vault.js +0 -366
  178. package/dist/shared/four 2/index.d.ts +0 -7
  179. package/dist/shared/four 2/index.js +0 -22
  180. package/dist/shared/four 2/tax-token.d.ts +0 -176
  181. package/dist/shared/four 2/tax-token.js +0 -302
  182. package/dist/shared/index 2.js +0 -10
  183. package/dist/shared/index.d 2.ts +0 -10
  184. package/dist/types/distribute.d.ts +0 -72
  185. package/dist/types/distribute.js +0 -1
  186. package/dist/types 2/errors.d.ts +0 -27
  187. package/dist/types 2/errors.js +0 -34
  188. package/dist/utils/__tests__/errors.test.d.ts +0 -1
  189. package/dist/utils/__tests__/errors.test.js +0 -76
  190. package/dist/utils/airdrop-sweep-types.d.ts +0 -1
  191. package/dist/utils/airdrop-sweep-types.js +0 -1
  192. package/dist/utils/erc20/index.d.ts +0 -242
  193. package/dist/utils/erc20/index.js +0 -645
  194. package/dist/utils/erc20/types.d.ts +0 -77
  195. package/dist/utils/erc20/types.js +0 -1
  196. package/dist/utils/erc20-types.d.ts +0 -1
  197. package/dist/utils/erc20-types.js +0 -1
  198. package/dist/utils/holders-maker/helpers.d.ts +0 -43
  199. package/dist/utils/holders-maker/helpers.js +0 -371
  200. package/dist/utils/holders-maker/index.d.ts +0 -26
  201. package/dist/utils/holders-maker/index.js +0 -218
  202. package/dist/utils/holders-maker/types.d.ts +0 -72
  203. package/dist/utils/holders-maker/types.js +0 -4
  204. package/dist/utils/holders-maker-types.d.ts +0 -1
  205. package/dist/utils/holders-maker-types.js +0 -1
  206. package/dist/utils/lp-inspect/index.d.ts +0 -44
  207. package/dist/utils/lp-inspect/index.js +0 -937
  208. package/dist/utils/lp-inspect/types.d.ts +0 -100
  209. package/dist/utils/lp-inspect/types.js +0 -1
  210. package/dist/utils/lp-inspect-types.d.ts +0 -1
  211. package/dist/utils/lp-inspect-types.js +0 -1
  212. package/dist/utils/private-sale-types.d.ts +0 -1
  213. package/dist/utils/private-sale-types.js +0 -1
  214. package/dist/utils/quote-helpers/index.d.ts +0 -107
  215. package/dist/utils/quote-helpers/index.js +0 -346
  216. package/dist/utils/quote-helpers/types.d.ts +0 -16
  217. package/dist/utils/quote-helpers/types.js +0 -1
  218. package/dist/utils/quote-helpers-types.d.ts +0 -1
  219. package/dist/utils/quote-helpers-types.js +0 -1
  220. /package/dist/{chains/bsc/four/submit/types.js → __tests__/subpath-exports.test.d.ts} +0 -0
@@ -1,265 +0,0 @@
1
- import { Contract, JsonRpcProvider, Wallet } from 'ethers';
2
- import { PORTAL_ABI } from '../../../abis/flap/portal.js';
3
- import { FLAP_PORTAL_ADDRESSES } from '../constants.js';
4
- import { FlapPortal } from './portal.js';
5
- export class FlapPortalWriter extends FlapPortal {
6
- constructor(cfg, privateKey) {
7
- super(cfg);
8
- // 使用 ethers v6 创建钱包
9
- const provider = new JsonRpcProvider(cfg.rpcUrl);
10
- this.wallet = new Wallet(privateKey, provider);
11
- // 重新创建可写合约实例
12
- this.contract = new Contract(this.portal, PORTAL_ABI, this.wallet);
13
- }
14
- // 买入代币
15
- async buy(token, to, minAmount, msgValue) {
16
- const tx = await this.contract.buy(token, to, minAmount, { value: msgValue });
17
- return await tx.wait();
18
- }
19
- // 创建代币时同时买入
20
- // buyOnCreation 已从合约端移除,SDK 同步移除
21
- // 卖出代币
22
- async sell(token, amount, minEth) {
23
- const tx = await this.contract.sell(token, amount, minEth);
24
- return await tx.wait();
25
- }
26
- // 发送 swap 交易
27
- async swapExactInput(params, msgValue) {
28
- const tx = await this.contract.swapExactInput({
29
- inputToken: params.inputToken,
30
- outputToken: params.outputToken,
31
- inputAmount: params.inputAmount,
32
- minOutputAmount: params.minOutputAmount,
33
- permitData: params.permitData ?? '0x',
34
- }, { value: msgValue });
35
- return await tx.wait();
36
- }
37
- // 发送显式买入交易
38
- async swapExactInputBuy(params, msgValue) {
39
- const tx = await this.contract.swapExactInputBuy({
40
- inputToken: params.inputToken,
41
- outputToken: params.outputToken,
42
- inputAmount: params.inputAmount,
43
- minOutputAmount: params.minOutputAmount,
44
- permitData: params.permitData ?? '0x',
45
- }, { value: msgValue });
46
- return await tx.wait();
47
- }
48
- // 发送显式卖出交易
49
- async swapExactInputSell(params) {
50
- const tx = await this.contract.swapExactInputSell({
51
- inputToken: params.inputToken,
52
- outputToken: params.outputToken,
53
- inputAmount: params.inputAmount,
54
- minOutputAmount: params.minOutputAmount,
55
- permitData: params.permitData ?? '0x',
56
- });
57
- return await tx.wait();
58
- }
59
- // 发送 swap 交易(V3,支持扩展数据)
60
- async swapExactInputV3(params, msgValue) {
61
- const tx = await this.contract.swapExactInputV3({
62
- inputToken: params.inputToken,
63
- outputToken: params.outputToken,
64
- inputAmount: params.inputAmount,
65
- minOutputAmount: params.minOutputAmount,
66
- permitData: params.permitData ?? '0x',
67
- extensionData: params.extensionData ?? '0x',
68
- }, { value: msgValue });
69
- return await tx.wait();
70
- }
71
- async newTokenV2(args) {
72
- const tx = await this.contract.newTokenV2({
73
- name: args.name,
74
- symbol: args.symbol,
75
- meta: args.meta,
76
- dexThresh: args.dexThresh,
77
- salt: args.salt,
78
- taxRate: args.taxRate,
79
- migratorType: args.migratorType,
80
- quoteToken: args.quoteToken,
81
- quoteAmt: args.quoteAmt,
82
- beneficiary: args.beneficiary,
83
- permitData: args.permitData ?? '0x',
84
- }, { value: args.msgValue });
85
- return await tx.wait();
86
- }
87
- async newTokenV3(args) {
88
- const tx = await this.contract.newTokenV3({
89
- name: args.name,
90
- symbol: args.symbol,
91
- meta: args.meta,
92
- dexThresh: args.dexThresh,
93
- salt: args.salt,
94
- taxRate: args.taxRate,
95
- migratorType: args.migratorType,
96
- quoteToken: args.quoteToken,
97
- quoteAmt: args.quoteAmt,
98
- beneficiary: args.beneficiary,
99
- permitData: args.permitData ?? '0x',
100
- extensionID: args.extensionID,
101
- extensionData: args.extensionData ?? '0x',
102
- }, { value: args.msgValue });
103
- return await tx.wait();
104
- }
105
- /**
106
- * 创建代币 V4 版本
107
- * 相比 V3 新增了 DEX 选择和 LP 费率配置
108
- *
109
- * @param args 创建代币参数
110
- * @param args.dexId DEX ID,选择迁移到哪个 DEX(使用 DEXId 枚举)
111
- * @param args.lpFeeProfile LP 费率档位(使用 V3LPFeeProfile 枚举)
112
- *
113
- * @example
114
- * ```typescript
115
- * await portal.newTokenV4({
116
- * name: 'My Token',
117
- * symbol: 'MTK',
118
- * meta: 'bafkreicwlkpvrcqg4bbhyp2fnhdwbqos5ghka6gdjra3tdkgxxs74hqsze',
119
- * dexThresh: DexThreshType.FOUR_FIFTHS,
120
- * salt: '0x...',
121
- * taxRate: 0,
122
- * migratorType: MigratorType.V3_MIGRATOR,
123
- * quoteToken: '0x0000000000000000000000000000000000000000',
124
- * quoteAmt: 0n,
125
- * beneficiary: '0x...',
126
- * extensionID: '0x0000000000000000000000000000000000000000000000000000000000000000',
127
- * dexId: DEXId.DEX0,
128
- * lpFeeProfile: V3LPFeeProfile.LP_FEE_PROFILE_STANDARD,
129
- * msgValue: parseEther('0.01'),
130
- * });
131
- * ```
132
- *
133
- * @note BNB 链上使用 LP_FEE_PROFILE_LOW (0.01%) 需要白名单地址
134
- */
135
- async newTokenV4(args) {
136
- const tx = await this.contract.newTokenV4({
137
- name: args.name,
138
- symbol: args.symbol,
139
- meta: args.meta,
140
- dexThresh: args.dexThresh,
141
- salt: args.salt,
142
- taxRate: args.taxRate,
143
- migratorType: args.migratorType,
144
- quoteToken: args.quoteToken,
145
- quoteAmt: args.quoteAmt,
146
- beneficiary: args.beneficiary,
147
- permitData: args.permitData ?? '0x',
148
- extensionID: args.extensionID,
149
- extensionData: args.extensionData ?? '0x',
150
- dexId: args.dexId,
151
- lpFeeProfile: args.lpFeeProfile,
152
- }, { value: args.msgValue });
153
- return await tx.wait();
154
- }
155
- /**
156
- * 创建 Token V5(支持 Tax Token V2 高级税收分配)
157
- *
158
- * 当 taxRate > 0 时,支持以下税收分配:
159
- * - mktBps: 营销分配(发送到 beneficiary 地址)
160
- * - deflationBps: 通缩销毁(直接销毁)
161
- * - dividendBps: 持有者分红(发送到分红合约)
162
- * - lpBps: 流动性提供(LP 发送到 dead address)
163
- *
164
- * 注意:mktBps + deflationBps + dividendBps + lpBps 必须等于 10000 (100%)
165
- *
166
- * @example
167
- * ```typescript
168
- * // 创建一个 3% 税率的代币,税收分配:40% 营销,30% 销毁,20% 分红,10% 流动性
169
- * await portal.newTokenV5({
170
- * name: 'My Tax Token',
171
- * symbol: 'MTT',
172
- * meta: 'bafkrei...',
173
- * dexThresh: DexThreshType.FOUR_FIFTHS,
174
- * salt: '0x...',
175
- * taxRate: 300, // 3%
176
- * migratorType: MigratorType.V2_MIGRATOR, // 税代币必须使用 V2 迁移器
177
- * quoteToken: '0x0000000000000000000000000000000000000000',
178
- * quoteAmt: 0n,
179
- * beneficiary: '0x...',
180
- * extensionID: '0x0000000000000000000000000000000000000000000000000000000000000000',
181
- * dexId: DEXId.DEX0,
182
- * lpFeeProfile: V3LPFeeProfile.LP_FEE_PROFILE_STANDARD,
183
- * taxDuration: 365n * 24n * 60n * 60n, // 1 年
184
- * antiFarmerDuration: 60n * 60n, // 1 小时
185
- * mktBps: 4000, // 40%
186
- * deflationBps: 3000, // 30%
187
- * dividendBps: 2000, // 20%
188
- * lpBps: 1000, // 10%
189
- * minimumShareBalance: 10000n * 10n ** 18n, // 10K 代币
190
- * msgValue: parseEther('0.01'),
191
- * });
192
- * ```
193
- *
194
- * @note 税代币(taxRate > 0)必须使用 V2_MIGRATOR
195
- */
196
- async newTokenV5(args) {
197
- // 验证税收分配
198
- if (args.taxRate > 0) {
199
- const total = args.mktBps + args.deflationBps + args.dividendBps + args.lpBps;
200
- if (total !== 10000) {
201
- throw new Error(`税收分配总计必须为 10000 (100%),当前为 ${total}`);
202
- }
203
- if (args.dividendBps > 0 && args.minimumShareBalance < 10000n * 10n ** 18n) {
204
- throw new Error('启用分红时,最低持仓门槛必须至少为 10,000 个代币');
205
- }
206
- }
207
- const tx = await this.contract.newTokenV5({
208
- name: args.name,
209
- symbol: args.symbol,
210
- meta: args.meta,
211
- dexThresh: args.dexThresh,
212
- salt: args.salt,
213
- taxRate: args.taxRate,
214
- migratorType: args.migratorType,
215
- quoteToken: args.quoteToken,
216
- quoteAmt: args.quoteAmt,
217
- beneficiary: args.beneficiary,
218
- permitData: args.permitData ?? '0x',
219
- extensionID: args.extensionID,
220
- extensionData: args.extensionData ?? '0x',
221
- dexId: args.dexId,
222
- lpFeeProfile: args.lpFeeProfile,
223
- taxDuration: args.taxDuration,
224
- antiFarmerDuration: args.antiFarmerDuration,
225
- mktBps: args.mktBps,
226
- deflationBps: args.deflationBps,
227
- dividendBps: args.dividendBps,
228
- lpBps: args.lpBps,
229
- minimumShareBalance: args.minimumShareBalance,
230
- }, { value: args.msgValue });
231
- return await tx.wait();
232
- }
233
- // 受益人领取收益
234
- async claim(token) {
235
- const tx = await this.contract.claim(token);
236
- const receipt = await tx.wait();
237
- // 这里返回 hash,具体的 tokenAmount 和 ethAmount 需要从事件中解析
238
- return { txHash: receipt.hash, tokenAmount: 0n, ethAmount: 0n };
239
- }
240
- // 受益人委托领取收益
241
- async delegateClaim(token) {
242
- const tx = await this.contract.delegateClaim(token);
243
- const receipt = await tx.wait();
244
- return { txHash: receipt.hash, tokenAmount: 0n, ethAmount: 0n };
245
- }
246
- /**
247
- * 获取当前使用的 Portal 合约地址
248
- * 用于事件监听等场景
249
- */
250
- getContractAddress() {
251
- return this.portal;
252
- }
253
- }
254
- /**
255
- * 获取 Flap Portal 合约地址(内部使用)
256
- * 注意:此方法不对外导出,用户应使用 FlapPortal 实例而非直接获取地址
257
- * @internal
258
- */
259
- function getFlapPortalAddress(chain) {
260
- const address = FLAP_PORTAL_ADDRESSES[chain];
261
- if (!address) {
262
- throw new Error(`Flap Portal not deployed on ${chain}`);
263
- }
264
- return address;
265
- }
@@ -1,18 +0,0 @@
1
- import { FlapCreateWithBundleBuySignParams, FlapCreateWithBundleBuyMerkleResult, FlapBatchBuySignParams, FlapBatchBuyMerkleResult, FlapBatchSellSignParams, FlapBatchSellMerkleResult } from '../types.js';
2
- /**
3
- * Flap Protocol: 创建代币 + 捆绑购买(仅签名版本 - 不依赖 Merkle)
4
- * ✅ 精简版:只负责签名交易,不提交到 Merkle
5
- */
6
- export declare function createTokenWithBundleBuyMerkle(params: FlapCreateWithBundleBuySignParams): Promise<FlapCreateWithBundleBuyMerkleResult>;
7
- /**
8
- * Flap Protocol: 批量购买(仅签名版本 - 不依赖 Merkle)
9
- * ✅ 精简版:只负责签名交易,不提交到 Merkle
10
- * ✅ 支持 quoteToken:传入 USDC 等地址时使用该代币购买,否则使用原生代币
11
- */
12
- export declare function batchBuyWithBundleMerkle(params: FlapBatchBuySignParams): Promise<FlapBatchBuyMerkleResult>;
13
- /**
14
- * Flap Protocol: 批量卖出(仅签名版本 - 不依赖 Merkle)
15
- * ✅ 精简版:只负责签名交易,不提交到 Merkle
16
- * ✅ 支持 quoteToken:传入 USDC 等地址时卖出为该代币,否则卖出为原生代币
17
- */
18
- export declare function batchSellWithBundleMerkle(params: FlapBatchSellSignParams): Promise<FlapBatchSellMerkleResult>;