@whetstone-research/doppler-sdk 0.0.18 → 0.0.19

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 (154) hide show
  1. package/README.md +46 -1
  2. package/dist/DopplerSDK.js +18 -18
  3. package/dist/DopplerSDK.mjs +17 -17
  4. package/dist/abis/index.d.mts +32 -1
  5. package/dist/abis/index.d.ts +32 -1
  6. package/dist/abis/index.js +26 -22
  7. package/dist/abis/index.mjs +1 -1
  8. package/dist/addresses.d.mts +1 -0
  9. package/dist/addresses.d.ts +1 -0
  10. package/dist/addresses.js +7 -7
  11. package/dist/addresses.mjs +2 -2
  12. package/dist/builders/DynamicAuctionBuilder.js +9 -9
  13. package/dist/builders/DynamicAuctionBuilder.mjs +8 -8
  14. package/dist/builders/MulticurveBuilder.d.mts +16 -0
  15. package/dist/builders/MulticurveBuilder.d.ts +16 -0
  16. package/dist/builders/MulticurveBuilder.js +9 -9
  17. package/dist/builders/MulticurveBuilder.mjs +8 -8
  18. package/dist/builders/StaticAuctionBuilder.js +9 -9
  19. package/dist/builders/StaticAuctionBuilder.mjs +8 -8
  20. package/dist/builders/index.js +17 -17
  21. package/dist/builders/index.mjs +10 -10
  22. package/dist/builders/shared.js +10 -10
  23. package/dist/builders/shared.mjs +6 -6
  24. package/dist/{chunk-LOVD3NCN.js → chunk-3MVW6UIW.js} +18 -2
  25. package/dist/chunk-3MVW6UIW.js.map +1 -0
  26. package/dist/{chunk-Y4IZVDJE.mjs → chunk-3NFSMMBF.mjs} +3 -3
  27. package/dist/{chunk-Y4IZVDJE.mjs.map → chunk-3NFSMMBF.mjs.map} +1 -1
  28. package/dist/{chunk-IJRI5LNK.mjs → chunk-4TAAZ6W3.mjs} +248 -51
  29. package/dist/chunk-4TAAZ6W3.mjs.map +1 -0
  30. package/dist/{chunk-4DUE547M.js → chunk-6BQY5EPB.js} +4 -2
  31. package/dist/chunk-6BQY5EPB.js.map +1 -0
  32. package/dist/{chunk-IEEK2PMP.mjs → chunk-6HFZ6XMV.mjs} +4 -4
  33. package/dist/{chunk-IEEK2PMP.mjs.map → chunk-6HFZ6XMV.mjs.map} +1 -1
  34. package/dist/{chunk-UGBCLUOX.js → chunk-7Z2UGWE7.js} +26 -26
  35. package/dist/{chunk-UGBCLUOX.js.map → chunk-7Z2UGWE7.js.map} +1 -1
  36. package/dist/{chunk-RAII4DRI.mjs → chunk-CYY5IATT.mjs} +8 -4
  37. package/dist/chunk-CYY5IATT.mjs.map +1 -0
  38. package/dist/{chunk-BZKX3J3R.mjs → chunk-E2NF4AQB.mjs} +18 -3
  39. package/dist/chunk-E2NF4AQB.mjs.map +1 -0
  40. package/dist/{chunk-DVQWWF23.js → chunk-E6ACC5S6.js} +24 -24
  41. package/dist/{chunk-DVQWWF23.js.map → chunk-E6ACC5S6.js.map} +1 -1
  42. package/dist/{chunk-WMOJQ6MS.mjs → chunk-FQ3PVXZU.mjs} +5 -5
  43. package/dist/{chunk-WMOJQ6MS.mjs.map → chunk-FQ3PVXZU.mjs.map} +1 -1
  44. package/dist/{chunk-226TXYRB.mjs → chunk-GCT3IZ3E.mjs} +12 -12
  45. package/dist/{chunk-226TXYRB.mjs.map → chunk-GCT3IZ3E.mjs.map} +1 -1
  46. package/dist/{chunk-FM5ASWDQ.mjs → chunk-H5SUGQ2C.mjs} +45 -7
  47. package/dist/chunk-H5SUGQ2C.mjs.map +1 -0
  48. package/dist/{chunk-PE47QUJV.mjs → chunk-HH7HQ4HC.mjs} +3 -3
  49. package/dist/{chunk-PE47QUJV.mjs.map → chunk-HH7HQ4HC.mjs.map} +1 -1
  50. package/dist/{chunk-LXUF7RNX.mjs → chunk-IWJOPXYN.mjs} +4 -3
  51. package/dist/chunk-IWJOPXYN.mjs.map +1 -0
  52. package/dist/{chunk-4BPFHO6W.js → chunk-K3TEDYUG.js} +20 -20
  53. package/dist/{chunk-4BPFHO6W.js.map → chunk-K3TEDYUG.js.map} +1 -1
  54. package/dist/{chunk-JCJVX42H.mjs → chunk-MH74WYVZ.mjs} +5 -5
  55. package/dist/{chunk-JCJVX42H.mjs.map → chunk-MH74WYVZ.mjs.map} +1 -1
  56. package/dist/{chunk-ZQA3VG53.mjs → chunk-N74ICDSX.mjs} +118 -20
  57. package/dist/chunk-N74ICDSX.mjs.map +1 -0
  58. package/dist/{chunk-2UUVAFXS.js → chunk-P4BT5GDO.js} +76 -72
  59. package/dist/chunk-P4BT5GDO.js.map +1 -0
  60. package/dist/{chunk-WM2YFSKT.mjs → chunk-QFQXHDC7.mjs} +11 -2
  61. package/dist/chunk-QFQXHDC7.mjs.map +1 -0
  62. package/dist/{chunk-RKJ2466C.mjs → chunk-QOGBOT2M.mjs} +3 -3
  63. package/dist/{chunk-RKJ2466C.mjs.map → chunk-QOGBOT2M.mjs.map} +1 -1
  64. package/dist/{chunk-JXNAHW6C.js → chunk-RLUMYHPI.js} +11 -2
  65. package/dist/chunk-RLUMYHPI.js.map +1 -0
  66. package/dist/{chunk-5FJCRKQ6.js → chunk-RXUJ4DUB.js} +28 -28
  67. package/dist/{chunk-5FJCRKQ6.js.map → chunk-RXUJ4DUB.js.map} +1 -1
  68. package/dist/{chunk-MGLI4N4B.js → chunk-SAX7P3MH.js} +22 -22
  69. package/dist/{chunk-MGLI4N4B.js.map → chunk-SAX7P3MH.js.map} +1 -1
  70. package/dist/{chunk-NVJNZ7XO.js → chunk-TJCMFITE.js} +27 -27
  71. package/dist/{chunk-NVJNZ7XO.js.map → chunk-TJCMFITE.js.map} +1 -1
  72. package/dist/{chunk-27TY7K5D.js → chunk-UIPSHVT4.js} +11 -11
  73. package/dist/{chunk-27TY7K5D.js.map → chunk-UIPSHVT4.js.map} +1 -1
  74. package/dist/{chunk-EKQKHXJN.mjs → chunk-UY4TVYEU.mjs} +3 -3
  75. package/dist/{chunk-EKQKHXJN.mjs.map → chunk-UY4TVYEU.mjs.map} +1 -1
  76. package/dist/{chunk-HVYUDMHH.js → chunk-UZTVXZP3.js} +16 -16
  77. package/dist/{chunk-HVYUDMHH.js.map → chunk-UZTVXZP3.js.map} +1 -1
  78. package/dist/{chunk-AG3E3XYB.mjs → chunk-V32Q2S3U.mjs} +4 -4
  79. package/dist/{chunk-AG3E3XYB.mjs.map → chunk-V32Q2S3U.mjs.map} +1 -1
  80. package/dist/{chunk-WGP4RHM7.js → chunk-V5GPJ6S2.js} +26 -26
  81. package/dist/{chunk-WGP4RHM7.js.map → chunk-V5GPJ6S2.js.map} +1 -1
  82. package/dist/{chunk-3Q2BALCB.js → chunk-WYRM5BAI.js} +344 -147
  83. package/dist/chunk-WYRM5BAI.js.map +1 -0
  84. package/dist/{chunk-IJEMEVGS.mjs → chunk-X7FRTHUL.mjs} +4 -4
  85. package/dist/{chunk-IJEMEVGS.mjs.map → chunk-X7FRTHUL.mjs.map} +1 -1
  86. package/dist/{chunk-IUXOT6OY.js → chunk-Y6VZD4C6.js} +53 -15
  87. package/dist/chunk-Y6VZD4C6.js.map +1 -0
  88. package/dist/{chunk-CXYA7OX6.js → chunk-YFJUIO2A.js} +132 -34
  89. package/dist/chunk-YFJUIO2A.js.map +1 -0
  90. package/dist/{chunk-AQKQRG7M.js → chunk-YKRDFXU3.js} +5 -5
  91. package/dist/{chunk-AQKQRG7M.js.map → chunk-YKRDFXU3.js.map} +1 -1
  92. package/dist/constants.d.mts +7 -1
  93. package/dist/constants.d.ts +7 -1
  94. package/dist/constants.js +51 -47
  95. package/dist/constants.mjs +1 -1
  96. package/dist/deployments.generated.d.mts +9 -0
  97. package/dist/deployments.generated.d.ts +9 -0
  98. package/dist/deployments.generated.js +2 -2
  99. package/dist/deployments.generated.mjs +1 -1
  100. package/dist/entities/DopplerFactory.d.mts +2 -0
  101. package/dist/entities/DopplerFactory.d.ts +2 -0
  102. package/dist/entities/DopplerFactory.js +7 -7
  103. package/dist/entities/DopplerFactory.mjs +6 -6
  104. package/dist/entities/auction/DynamicAuction.js +5 -5
  105. package/dist/entities/auction/DynamicAuction.mjs +4 -4
  106. package/dist/entities/auction/MulticurvePool.d.mts +9 -3
  107. package/dist/entities/auction/MulticurvePool.d.ts +9 -3
  108. package/dist/entities/auction/MulticurvePool.js +7 -6
  109. package/dist/entities/auction/MulticurvePool.mjs +6 -5
  110. package/dist/entities/auction/StaticAuction.js +5 -5
  111. package/dist/entities/auction/StaticAuction.mjs +4 -4
  112. package/dist/entities/auction/index.js +11 -10
  113. package/dist/entities/auction/index.mjs +8 -7
  114. package/dist/entities/quoter/Quoter.js +5 -5
  115. package/dist/entities/quoter/Quoter.mjs +4 -4
  116. package/dist/entities/quoter/index.js +5 -5
  117. package/dist/entities/quoter/index.mjs +4 -4
  118. package/dist/entities/token/derc20/Derc20.js +3 -3
  119. package/dist/entities/token/derc20/Derc20.mjs +2 -2
  120. package/dist/entities/token/derc20/index.js +3 -3
  121. package/dist/entities/token/derc20/index.mjs +2 -2
  122. package/dist/entities/token/index.js +3 -3
  123. package/dist/entities/token/index.mjs +2 -2
  124. package/dist/index.d.mts +3 -3
  125. package/dist/index.d.ts +3 -3
  126. package/dist/index.js +108 -100
  127. package/dist/index.js.map +1 -1
  128. package/dist/index.mjs +17 -17
  129. package/dist/index.mjs.map +1 -1
  130. package/dist/types.d.mts +32 -1
  131. package/dist/types.d.ts +32 -1
  132. package/dist/types.js +8 -8
  133. package/dist/types.mjs +3 -3
  134. package/dist/utils/airlock.js +7 -7
  135. package/dist/utils/airlock.mjs +3 -3
  136. package/dist/utils/index.js +8 -8
  137. package/dist/utils/index.mjs +4 -4
  138. package/dist/utils/tokenAddressMiner.js +1 -1
  139. package/dist/utils/tokenAddressMiner.mjs +1 -1
  140. package/package.json +1 -1
  141. package/dist/chunk-2UUVAFXS.js.map +0 -1
  142. package/dist/chunk-3Q2BALCB.js.map +0 -1
  143. package/dist/chunk-4DUE547M.js.map +0 -1
  144. package/dist/chunk-BZKX3J3R.mjs.map +0 -1
  145. package/dist/chunk-CXYA7OX6.js.map +0 -1
  146. package/dist/chunk-FM5ASWDQ.mjs.map +0 -1
  147. package/dist/chunk-IJRI5LNK.mjs.map +0 -1
  148. package/dist/chunk-IUXOT6OY.js.map +0 -1
  149. package/dist/chunk-JXNAHW6C.js.map +0 -1
  150. package/dist/chunk-LOVD3NCN.js.map +0 -1
  151. package/dist/chunk-LXUF7RNX.mjs.map +0 -1
  152. package/dist/chunk-RAII4DRI.mjs.map +0 -1
  153. package/dist/chunk-WM2YFSKT.mjs.map +0 -1
  154. package/dist/chunk-ZQA3VG53.mjs.map +0 -1
package/README.md CHANGED
@@ -188,7 +188,7 @@ console.log('Token address:', result.tokenAddress)
188
188
 
189
189
  ### Multicurve Auction (V4 Multicurve Initializer)
190
190
 
191
- Multicurve auctions use a Uniswap V4-style initializer that seeds liquidity across multiple curves in a single pool. This enables richer distributions and can be combined with any supported migration path (V2, V3, V4, or NoOp).
191
+ Multicurve auctions use a Uniswap V4-style initializer that seeds liquidity across multiple curves in a single pool. This enables richer distributions and can be combined with any supported migration path (V2, V3, V4, or NoOp). Multicurve initializer modes are modeled as a typed variant (`standard`, `scheduled`, `decay`, `rehype`) so new hook/initializer variations can be added without breaking existing integrations.
192
192
 
193
193
  **Standard Multicurve with Migration:**
194
194
  ```typescript
@@ -281,6 +281,42 @@ console.log('Token address:', scheduledResult.tokenAddress)
281
281
 
282
282
  Ensure the target chain has the scheduled multicurve initializer whitelisted. If you are targeting a custom deployment, override it via `.withV4ScheduledMulticurveInitializer('0x...')`.
283
283
 
284
+ **Decay Multicurve Launch (Dynamic Fee):**
285
+ ```typescript
286
+ import { MulticurveBuilder } from '@whetstone-research/doppler-sdk'
287
+ import { parseEther } from 'viem'
288
+ import { baseSepolia } from 'viem/chains'
289
+
290
+ const startTime = Math.floor(Date.now() / 1000) + 300
291
+
292
+ const decay = new MulticurveBuilder(baseSepolia.id)
293
+ .tokenConfig({ name: 'Decay Token', symbol: 'DMC', tokenURI: 'ipfs://decay.json' })
294
+ .saleConfig({ initialSupply: parseEther('1000000'), numTokensToSell: parseEther('900000'), numeraire: '0x4200000000000000000000000000000000000006' })
295
+ .poolConfig({
296
+ fee: 500, // terminal fee (0.05%)
297
+ tickSpacing: 10,
298
+ curves: [
299
+ { tickLower: 0, tickUpper: 220000, numPositions: 12, shares: parseEther('0.5') },
300
+ { tickLower: 20000, tickUpper: 220000, numPositions: 12, shares: parseEther('0.5') },
301
+ ],
302
+ })
303
+ .withDecay({
304
+ startTime,
305
+ startFee: 3000, // starts at 0.3%
306
+ durationSeconds: 3600, // decays to pool.fee over 1 hour
307
+ })
308
+ .withGovernance({ type: 'default' })
309
+ .withMigration({ type: 'uniswapV2' })
310
+ .withUserAddress('0x...')
311
+ .build()
312
+
313
+ const decayResult = await sdk.factory.createMulticurve(decay)
314
+ console.log('Pool address:', decayResult.poolAddress)
315
+ console.log('Token address:', decayResult.tokenAddress)
316
+ ```
317
+
318
+ For decay pools, `pool.fee` is always the terminal fee (`endFee`) of the schedule. `withDecay({ startTime })` is optional; if omitted, `startTime` defaults to `0`. The SDK supports `startFee` values up to `800_000` (80%) for anti-sniping configurations. Ensure your deployed decay initializer/hook also supports the same max start fee. Override the decay initializer module with `.withV4DecayMulticurveInitializer('0x...')` when targeting custom deployments.
319
+
284
320
  **Multicurve with Lockable Beneficiaries (NoOp Migration):**
285
321
 
286
322
  When you want fee revenue to flow to specific addresses without migrating liquidity after the auction, use lockable beneficiaries with NoOp migration:
@@ -464,6 +500,12 @@ console.log('Hook address:', state.poolKey.hooks);
464
500
  console.log('Far tick threshold:', state.farTick);
465
501
  console.log('Pool status:', state.status); // 0=Uninitialized, 1=Initialized, 2=Locked, 3=Exited
466
502
 
503
+ // For dynamic-fee multicurve pools, read the live decay fee schedule
504
+ const feeSchedule = await pool.getFeeSchedule();
505
+ if (feeSchedule) {
506
+ console.log('Fee schedule:', feeSchedule);
507
+ }
508
+
467
509
  // Collect and distribute fees to beneficiaries
468
510
  // This can be called by anyone, but only beneficiaries receive fees
469
511
  const { fees0, fees1, transactionHash } = await pool.collectFees();
@@ -495,6 +537,7 @@ The SDK handles the complexity of fee collection by:
495
537
  - Pools in "Locked" status (status = 2) use the multicurve initializer for collection
496
538
  - Pools in "Exited" status (status = 3) automatically stream fees through `StreamableFeesLockerV2`; the SDK
497
539
  resolves the locker address and stream data for you
540
+ - `getFeeSchedule()` returns decay schedule details only for dynamic-fee multicurve pools, otherwise `null`
498
541
  - Beneficiaries must be configured at pool creation time and cannot be changed
499
542
 
500
543
  **Common Use Cases:**
@@ -1071,6 +1114,8 @@ import type {
1071
1114
  CreateStaticAuctionParams,
1072
1115
  CreateDynamicAuctionParams,
1073
1116
  CreateMulticurveParams,
1117
+ MulticurveInitializerConfig,
1118
+ MulticurveDecayFeeSchedule,
1074
1119
  MigrationConfig,
1075
1120
  PoolInfo,
1076
1121
  HookInfo,
@@ -1,23 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var chunkWGP4RHM7_js = require('./chunk-WGP4RHM7.js');
3
+ var chunkV5GPJ6S2_js = require('./chunk-V5GPJ6S2.js');
4
4
  require('./chunk-3PNCB4W5.js');
5
5
  require('./chunk-P7CHGWY7.js');
6
- require('./chunk-4BPFHO6W.js');
6
+ require('./chunk-K3TEDYUG.js');
7
7
  require('./chunk-WQHTNL5L.js');
8
8
  require('./chunk-X3UMAHOJ.js');
9
- require('./chunk-5FJCRKQ6.js');
9
+ require('./chunk-RXUJ4DUB.js');
10
10
  require('./chunk-VEIVYUYF.js');
11
11
  require('./chunk-YYLD3AJ7.js');
12
- require('./chunk-UGBCLUOX.js');
13
- require('./chunk-IUXOT6OY.js');
14
- require('./chunk-HVYUDMHH.js');
12
+ require('./chunk-7Z2UGWE7.js');
13
+ require('./chunk-Y6VZD4C6.js');
14
+ require('./chunk-UZTVXZP3.js');
15
15
  require('./chunk-JIKAD4YL.js');
16
- require('./chunk-DVQWWF23.js');
17
- require('./chunk-CXYA7OX6.js');
18
- require('./chunk-NVJNZ7XO.js');
19
- require('./chunk-MGLI4N4B.js');
20
- require('./chunk-3Q2BALCB.js');
16
+ require('./chunk-E6ACC5S6.js');
17
+ require('./chunk-YFJUIO2A.js');
18
+ require('./chunk-TJCMFITE.js');
19
+ require('./chunk-SAX7P3MH.js');
20
+ require('./chunk-WYRM5BAI.js');
21
21
  require('./chunk-WTS75RUC.js');
22
22
  require('./chunk-UPVKABAV.js');
23
23
  require('./chunk-N33R22A2.js');
@@ -26,13 +26,13 @@ require('./chunk-7M57PU6V.js');
26
26
  require('./chunk-KHUE77HC.js');
27
27
  require('./chunk-4VWQNNNW.js');
28
28
  require('./chunk-OROTK4OT.js');
29
- require('./chunk-AQKQRG7M.js');
29
+ require('./chunk-YKRDFXU3.js');
30
30
  require('./chunk-XSJTASPK.js');
31
- require('./chunk-4DUE547M.js');
32
- require('./chunk-27TY7K5D.js');
33
- require('./chunk-2UUVAFXS.js');
34
- require('./chunk-JXNAHW6C.js');
35
- require('./chunk-LOVD3NCN.js');
31
+ require('./chunk-6BQY5EPB.js');
32
+ require('./chunk-UIPSHVT4.js');
33
+ require('./chunk-P4BT5GDO.js');
34
+ require('./chunk-RLUMYHPI.js');
35
+ require('./chunk-3MVW6UIW.js');
36
36
  require('./chunk-4XN6DQBW.js');
37
37
  require('./chunk-OF7BIKXV.js');
38
38
  require('./chunk-2ZM4JVFC.js');
@@ -44,7 +44,7 @@ require('./chunk-OGYWNJGI.js');
44
44
 
45
45
  Object.defineProperty(exports, "DopplerSDK", {
46
46
  enumerable: true,
47
- get: function () { return chunkWGP4RHM7_js.DopplerSDK; }
47
+ get: function () { return chunkV5GPJ6S2_js.DopplerSDK; }
48
48
  });
49
49
  //# sourceMappingURL=DopplerSDK.js.map
50
50
  //# sourceMappingURL=DopplerSDK.js.map
@@ -1,21 +1,21 @@
1
- export { DopplerSDK } from './chunk-226TXYRB.mjs';
1
+ export { DopplerSDK } from './chunk-GCT3IZ3E.mjs';
2
2
  import './chunk-SD7BHT2F.mjs';
3
3
  import './chunk-QSQGLWNY.mjs';
4
- import './chunk-IJEMEVGS.mjs';
4
+ import './chunk-X7FRTHUL.mjs';
5
5
  import './chunk-FOESYJP3.mjs';
6
6
  import './chunk-RV64M4Q6.mjs';
7
- import './chunk-RKJ2466C.mjs';
7
+ import './chunk-QOGBOT2M.mjs';
8
8
  import './chunk-XNMXN5SZ.mjs';
9
9
  import './chunk-KAZQJ24E.mjs';
10
- import './chunk-IEEK2PMP.mjs';
11
- import './chunk-FM5ASWDQ.mjs';
12
- import './chunk-AG3E3XYB.mjs';
10
+ import './chunk-6HFZ6XMV.mjs';
11
+ import './chunk-H5SUGQ2C.mjs';
12
+ import './chunk-V32Q2S3U.mjs';
13
13
  import './chunk-P25HBGP5.mjs';
14
- import './chunk-JCJVX42H.mjs';
15
- import './chunk-ZQA3VG53.mjs';
16
- import './chunk-WMOJQ6MS.mjs';
17
- import './chunk-PE47QUJV.mjs';
18
- import './chunk-IJRI5LNK.mjs';
14
+ import './chunk-MH74WYVZ.mjs';
15
+ import './chunk-N74ICDSX.mjs';
16
+ import './chunk-FQ3PVXZU.mjs';
17
+ import './chunk-HH7HQ4HC.mjs';
18
+ import './chunk-4TAAZ6W3.mjs';
19
19
  import './chunk-5TL5V6UX.mjs';
20
20
  import './chunk-H3B54PFV.mjs';
21
21
  import './chunk-MQNSJCAW.mjs';
@@ -24,13 +24,13 @@ import './chunk-CFAAYL5M.mjs';
24
24
  import './chunk-CWTGQAOG.mjs';
25
25
  import './chunk-25GEBO3B.mjs';
26
26
  import './chunk-VGCXJRUV.mjs';
27
- import './chunk-EKQKHXJN.mjs';
27
+ import './chunk-UY4TVYEU.mjs';
28
28
  import './chunk-KOAC3BBP.mjs';
29
- import './chunk-LXUF7RNX.mjs';
30
- import './chunk-Y4IZVDJE.mjs';
31
- import './chunk-RAII4DRI.mjs';
32
- import './chunk-WM2YFSKT.mjs';
33
- import './chunk-BZKX3J3R.mjs';
29
+ import './chunk-IWJOPXYN.mjs';
30
+ import './chunk-3NFSMMBF.mjs';
31
+ import './chunk-CYY5IATT.mjs';
32
+ import './chunk-QFQXHDC7.mjs';
33
+ import './chunk-E2NF4AQB.mjs';
34
34
  import './chunk-DOUF6NON.mjs';
35
35
  import './chunk-64ZQRKG3.mjs';
36
36
  import './chunk-LPA32BIK.mjs';
@@ -2362,6 +2362,37 @@ declare const v4MulticurveInitializerAbi: readonly [{
2362
2362
  readonly name: "InvalidProtocolOwnerBeneficiary";
2363
2363
  readonly inputs: readonly [];
2364
2364
  }];
2365
+ declare const decayMulticurveInitializerHookAbi: readonly [{
2366
+ readonly type: "function";
2367
+ readonly name: "getFeeScheduleOf";
2368
+ readonly inputs: readonly [{
2369
+ readonly name: "poolId";
2370
+ readonly type: "bytes32";
2371
+ readonly internalType: "PoolId";
2372
+ }];
2373
+ readonly outputs: readonly [{
2374
+ readonly name: "startingTime";
2375
+ readonly type: "uint32";
2376
+ readonly internalType: "uint32";
2377
+ }, {
2378
+ readonly name: "startFee";
2379
+ readonly type: "uint24";
2380
+ readonly internalType: "uint24";
2381
+ }, {
2382
+ readonly name: "endFee";
2383
+ readonly type: "uint24";
2384
+ readonly internalType: "uint24";
2385
+ }, {
2386
+ readonly name: "lastFee";
2387
+ readonly type: "uint24";
2388
+ readonly internalType: "uint24";
2389
+ }, {
2390
+ readonly name: "durationSeconds";
2391
+ readonly type: "uint32";
2392
+ readonly internalType: "uint32";
2393
+ }];
2394
+ readonly stateMutability: "view";
2395
+ }];
2365
2396
  declare const streamableFeesLockerAbi: readonly [{
2366
2397
  readonly type: "function";
2367
2398
  readonly name: "collectFees";
@@ -3426,4 +3457,4 @@ declare const rehypeDopplerHookAbi: readonly [{
3426
3457
  readonly inputs: readonly [];
3427
3458
  }];
3428
3459
 
3429
- export { airlockAbi, bundlerAbi, derc20Abi, dopplerHookAbi, dopplerLensAbi, lockableUniswapV3InitializerAbi, poolManagerAbi, quoterV2Abi, rehypeDopplerHookAbi, streamableFeesLockerAbi, uniswapV2Router02Abi, uniswapV3InitializerAbi, uniswapV3PoolAbi, uniswapV4InitializerAbi, v2MigratorAbi, v3MigratorAbi, v4MigratorAbi, v4MulticurveInitializerAbi, v4MulticurveMigratorAbi, v4QuoterAbi, weth9Abi };
3460
+ export { airlockAbi, bundlerAbi, decayMulticurveInitializerHookAbi, derc20Abi, dopplerHookAbi, dopplerLensAbi, lockableUniswapV3InitializerAbi, poolManagerAbi, quoterV2Abi, rehypeDopplerHookAbi, streamableFeesLockerAbi, uniswapV2Router02Abi, uniswapV3InitializerAbi, uniswapV3PoolAbi, uniswapV4InitializerAbi, v2MigratorAbi, v3MigratorAbi, v4MigratorAbi, v4MulticurveInitializerAbi, v4MulticurveMigratorAbi, v4QuoterAbi, weth9Abi };
@@ -2362,6 +2362,37 @@ declare const v4MulticurveInitializerAbi: readonly [{
2362
2362
  readonly name: "InvalidProtocolOwnerBeneficiary";
2363
2363
  readonly inputs: readonly [];
2364
2364
  }];
2365
+ declare const decayMulticurveInitializerHookAbi: readonly [{
2366
+ readonly type: "function";
2367
+ readonly name: "getFeeScheduleOf";
2368
+ readonly inputs: readonly [{
2369
+ readonly name: "poolId";
2370
+ readonly type: "bytes32";
2371
+ readonly internalType: "PoolId";
2372
+ }];
2373
+ readonly outputs: readonly [{
2374
+ readonly name: "startingTime";
2375
+ readonly type: "uint32";
2376
+ readonly internalType: "uint32";
2377
+ }, {
2378
+ readonly name: "startFee";
2379
+ readonly type: "uint24";
2380
+ readonly internalType: "uint24";
2381
+ }, {
2382
+ readonly name: "endFee";
2383
+ readonly type: "uint24";
2384
+ readonly internalType: "uint24";
2385
+ }, {
2386
+ readonly name: "lastFee";
2387
+ readonly type: "uint24";
2388
+ readonly internalType: "uint24";
2389
+ }, {
2390
+ readonly name: "durationSeconds";
2391
+ readonly type: "uint32";
2392
+ readonly internalType: "uint32";
2393
+ }];
2394
+ readonly stateMutability: "view";
2395
+ }];
2365
2396
  declare const streamableFeesLockerAbi: readonly [{
2366
2397
  readonly type: "function";
2367
2398
  readonly name: "collectFees";
@@ -3426,4 +3457,4 @@ declare const rehypeDopplerHookAbi: readonly [{
3426
3457
  readonly inputs: readonly [];
3427
3458
  }];
3428
3459
 
3429
- export { airlockAbi, bundlerAbi, derc20Abi, dopplerHookAbi, dopplerLensAbi, lockableUniswapV3InitializerAbi, poolManagerAbi, quoterV2Abi, rehypeDopplerHookAbi, streamableFeesLockerAbi, uniswapV2Router02Abi, uniswapV3InitializerAbi, uniswapV3PoolAbi, uniswapV4InitializerAbi, v2MigratorAbi, v3MigratorAbi, v4MigratorAbi, v4MulticurveInitializerAbi, v4MulticurveMigratorAbi, v4QuoterAbi, weth9Abi };
3460
+ export { airlockAbi, bundlerAbi, decayMulticurveInitializerHookAbi, derc20Abi, dopplerHookAbi, dopplerLensAbi, lockableUniswapV3InitializerAbi, poolManagerAbi, quoterV2Abi, rehypeDopplerHookAbi, streamableFeesLockerAbi, uniswapV2Router02Abi, uniswapV3InitializerAbi, uniswapV3PoolAbi, uniswapV4InitializerAbi, v2MigratorAbi, v3MigratorAbi, v4MigratorAbi, v4MulticurveInitializerAbi, v4MulticurveMigratorAbi, v4QuoterAbi, weth9Abi };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkLOVD3NCN_js = require('../chunk-LOVD3NCN.js');
3
+ var chunk3MVW6UIW_js = require('../chunk-3MVW6UIW.js');
4
4
  require('../chunk-4XN6DQBW.js');
5
5
  var chunkOF7BIKXV_js = require('../chunk-OF7BIKXV.js');
6
6
  var chunk2ZM4JVFC_js = require('../chunk-2ZM4JVFC.js');
@@ -12,87 +12,91 @@ var chunkOGYWNJGI_js = require('../chunk-OGYWNJGI.js');
12
12
 
13
13
  Object.defineProperty(exports, "airlockAbi", {
14
14
  enumerable: true,
15
- get: function () { return chunkLOVD3NCN_js.airlockAbi; }
15
+ get: function () { return chunk3MVW6UIW_js.airlockAbi; }
16
16
  });
17
17
  Object.defineProperty(exports, "bundlerAbi", {
18
18
  enumerable: true,
19
- get: function () { return chunkLOVD3NCN_js.bundlerAbi; }
19
+ get: function () { return chunk3MVW6UIW_js.bundlerAbi; }
20
+ });
21
+ Object.defineProperty(exports, "decayMulticurveInitializerHookAbi", {
22
+ enumerable: true,
23
+ get: function () { return chunk3MVW6UIW_js.decayMulticurveInitializerHookAbi; }
20
24
  });
21
25
  Object.defineProperty(exports, "derc20Abi", {
22
26
  enumerable: true,
23
- get: function () { return chunkLOVD3NCN_js.derc20Abi; }
27
+ get: function () { return chunk3MVW6UIW_js.derc20Abi; }
24
28
  });
25
29
  Object.defineProperty(exports, "dopplerHookAbi", {
26
30
  enumerable: true,
27
- get: function () { return chunkLOVD3NCN_js.dopplerHookAbi; }
31
+ get: function () { return chunk3MVW6UIW_js.dopplerHookAbi; }
28
32
  });
29
33
  Object.defineProperty(exports, "dopplerLensAbi", {
30
34
  enumerable: true,
31
- get: function () { return chunkLOVD3NCN_js.dopplerLensAbi; }
35
+ get: function () { return chunk3MVW6UIW_js.dopplerLensAbi; }
32
36
  });
33
37
  Object.defineProperty(exports, "lockableUniswapV3InitializerAbi", {
34
38
  enumerable: true,
35
- get: function () { return chunkLOVD3NCN_js.lockableUniswapV3InitializerAbi; }
39
+ get: function () { return chunk3MVW6UIW_js.lockableUniswapV3InitializerAbi; }
36
40
  });
37
41
  Object.defineProperty(exports, "poolManagerAbi", {
38
42
  enumerable: true,
39
- get: function () { return chunkLOVD3NCN_js.poolManagerAbi; }
43
+ get: function () { return chunk3MVW6UIW_js.poolManagerAbi; }
40
44
  });
41
45
  Object.defineProperty(exports, "quoterV2Abi", {
42
46
  enumerable: true,
43
- get: function () { return chunkLOVD3NCN_js.quoterV2Abi; }
47
+ get: function () { return chunk3MVW6UIW_js.quoterV2Abi; }
44
48
  });
45
49
  Object.defineProperty(exports, "rehypeDopplerHookAbi", {
46
50
  enumerable: true,
47
- get: function () { return chunkLOVD3NCN_js.rehypeDopplerHookAbi; }
51
+ get: function () { return chunk3MVW6UIW_js.rehypeDopplerHookAbi; }
48
52
  });
49
53
  Object.defineProperty(exports, "streamableFeesLockerAbi", {
50
54
  enumerable: true,
51
- get: function () { return chunkLOVD3NCN_js.streamableFeesLockerAbi; }
55
+ get: function () { return chunk3MVW6UIW_js.streamableFeesLockerAbi; }
52
56
  });
53
57
  Object.defineProperty(exports, "uniswapV2Router02Abi", {
54
58
  enumerable: true,
55
- get: function () { return chunkLOVD3NCN_js.uniswapV2Router02Abi; }
59
+ get: function () { return chunk3MVW6UIW_js.uniswapV2Router02Abi; }
56
60
  });
57
61
  Object.defineProperty(exports, "uniswapV3InitializerAbi", {
58
62
  enumerable: true,
59
- get: function () { return chunkLOVD3NCN_js.uniswapV3InitializerAbi; }
63
+ get: function () { return chunk3MVW6UIW_js.uniswapV3InitializerAbi; }
60
64
  });
61
65
  Object.defineProperty(exports, "uniswapV3PoolAbi", {
62
66
  enumerable: true,
63
- get: function () { return chunkLOVD3NCN_js.uniswapV3PoolAbi; }
67
+ get: function () { return chunk3MVW6UIW_js.uniswapV3PoolAbi; }
64
68
  });
65
69
  Object.defineProperty(exports, "uniswapV4InitializerAbi", {
66
70
  enumerable: true,
67
- get: function () { return chunkLOVD3NCN_js.uniswapV4InitializerAbi; }
71
+ get: function () { return chunk3MVW6UIW_js.uniswapV4InitializerAbi; }
68
72
  });
69
73
  Object.defineProperty(exports, "v2MigratorAbi", {
70
74
  enumerable: true,
71
- get: function () { return chunkLOVD3NCN_js.v2MigratorAbi; }
75
+ get: function () { return chunk3MVW6UIW_js.v2MigratorAbi; }
72
76
  });
73
77
  Object.defineProperty(exports, "v3MigratorAbi", {
74
78
  enumerable: true,
75
- get: function () { return chunkLOVD3NCN_js.v3MigratorAbi; }
79
+ get: function () { return chunk3MVW6UIW_js.v3MigratorAbi; }
76
80
  });
77
81
  Object.defineProperty(exports, "v4MigratorAbi", {
78
82
  enumerable: true,
79
- get: function () { return chunkLOVD3NCN_js.v4MigratorAbi; }
83
+ get: function () { return chunk3MVW6UIW_js.v4MigratorAbi; }
80
84
  });
81
85
  Object.defineProperty(exports, "v4MulticurveInitializerAbi", {
82
86
  enumerable: true,
83
- get: function () { return chunkLOVD3NCN_js.v4MulticurveInitializerAbi; }
87
+ get: function () { return chunk3MVW6UIW_js.v4MulticurveInitializerAbi; }
84
88
  });
85
89
  Object.defineProperty(exports, "v4MulticurveMigratorAbi", {
86
90
  enumerable: true,
87
- get: function () { return chunkLOVD3NCN_js.v4MulticurveMigratorAbi; }
91
+ get: function () { return chunk3MVW6UIW_js.v4MulticurveMigratorAbi; }
88
92
  });
89
93
  Object.defineProperty(exports, "v4QuoterAbi", {
90
94
  enumerable: true,
91
- get: function () { return chunkLOVD3NCN_js.v4QuoterAbi; }
95
+ get: function () { return chunk3MVW6UIW_js.v4QuoterAbi; }
92
96
  });
93
97
  Object.defineProperty(exports, "weth9Abi", {
94
98
  enumerable: true,
95
- get: function () { return chunkLOVD3NCN_js.weth9Abi; }
99
+ get: function () { return chunk3MVW6UIW_js.weth9Abi; }
96
100
  });
97
101
  Object.defineProperty(exports, "DERC20Bytecode", {
98
102
  enumerable: true,
@@ -1,4 +1,4 @@
1
- export { airlockAbi, bundlerAbi, derc20Abi, dopplerHookAbi, dopplerLensAbi, lockableUniswapV3InitializerAbi, poolManagerAbi, quoterV2Abi, rehypeDopplerHookAbi, streamableFeesLockerAbi, uniswapV2Router02Abi, uniswapV3InitializerAbi, uniswapV3PoolAbi, uniswapV4InitializerAbi, v2MigratorAbi, v3MigratorAbi, v4MigratorAbi, v4MulticurveInitializerAbi, v4MulticurveMigratorAbi, v4QuoterAbi, weth9Abi } from '../chunk-BZKX3J3R.mjs';
1
+ export { airlockAbi, bundlerAbi, decayMulticurveInitializerHookAbi, derc20Abi, dopplerHookAbi, dopplerLensAbi, lockableUniswapV3InitializerAbi, poolManagerAbi, quoterV2Abi, rehypeDopplerHookAbi, streamableFeesLockerAbi, uniswapV2Router02Abi, uniswapV3InitializerAbi, uniswapV3PoolAbi, uniswapV4InitializerAbi, v2MigratorAbi, v3MigratorAbi, v4MigratorAbi, v4MulticurveInitializerAbi, v4MulticurveMigratorAbi, v4QuoterAbi, weth9Abi } from '../chunk-E2NF4AQB.mjs';
2
2
  import '../chunk-DOUF6NON.mjs';
3
3
  export { derc20_default as DERC20Bytecode } from '../chunk-64ZQRKG3.mjs';
4
4
  export { derc2080_default as DERC2080Bytecode } from '../chunk-LPA32BIK.mjs';
@@ -21,6 +21,7 @@ interface ChainAddresses {
21
21
  v4Initializer: Address;
22
22
  v4MulticurveInitializer?: Address;
23
23
  v4ScheduledMulticurveInitializer?: Address;
24
+ v4DecayMulticurveInitializer?: Address;
24
25
  dopplerHookInitializer?: Address;
25
26
  rehypeDopplerHook?: Address;
26
27
  dopplerLens: Address;
@@ -21,6 +21,7 @@ interface ChainAddresses {
21
21
  v4Initializer: Address;
22
22
  v4MulticurveInitializer?: Address;
23
23
  v4ScheduledMulticurveInitializer?: Address;
24
+ v4DecayMulticurveInitializer?: Address;
24
25
  dopplerHookInitializer?: Address;
25
26
  rehypeDopplerHook?: Address;
26
27
  dopplerLens: Address;
package/dist/addresses.js CHANGED
@@ -1,29 +1,29 @@
1
1
  'use strict';
2
2
 
3
- var chunk2UUVAFXS_js = require('./chunk-2UUVAFXS.js');
4
- require('./chunk-JXNAHW6C.js');
3
+ var chunkP4BT5GDO_js = require('./chunk-P4BT5GDO.js');
4
+ require('./chunk-RLUMYHPI.js');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "ADDRESSES", {
9
9
  enumerable: true,
10
- get: function () { return chunk2UUVAFXS_js.ADDRESSES; }
10
+ get: function () { return chunkP4BT5GDO_js.ADDRESSES; }
11
11
  });
12
12
  Object.defineProperty(exports, "CHAIN_IDS", {
13
13
  enumerable: true,
14
- get: function () { return chunk2UUVAFXS_js.CHAIN_IDS; }
14
+ get: function () { return chunkP4BT5GDO_js.CHAIN_IDS; }
15
15
  });
16
16
  Object.defineProperty(exports, "SUPPORTED_CHAIN_IDS", {
17
17
  enumerable: true,
18
- get: function () { return chunk2UUVAFXS_js.SUPPORTED_CHAIN_IDS; }
18
+ get: function () { return chunkP4BT5GDO_js.SUPPORTED_CHAIN_IDS; }
19
19
  });
20
20
  Object.defineProperty(exports, "getAddresses", {
21
21
  enumerable: true,
22
- get: function () { return chunk2UUVAFXS_js.getAddresses; }
22
+ get: function () { return chunkP4BT5GDO_js.getAddresses; }
23
23
  });
24
24
  Object.defineProperty(exports, "isSupportedChainId", {
25
25
  enumerable: true,
26
- get: function () { return chunk2UUVAFXS_js.isSupportedChainId; }
26
+ get: function () { return chunkP4BT5GDO_js.isSupportedChainId; }
27
27
  });
28
28
  //# sourceMappingURL=addresses.js.map
29
29
  //# sourceMappingURL=addresses.js.map
@@ -1,4 +1,4 @@
1
- export { ADDRESSES, CHAIN_IDS, SUPPORTED_CHAIN_IDS, getAddresses, isSupportedChainId } from './chunk-RAII4DRI.mjs';
2
- import './chunk-WM2YFSKT.mjs';
1
+ export { ADDRESSES, CHAIN_IDS, SUPPORTED_CHAIN_IDS, getAddresses, isSupportedChainId } from './chunk-CYY5IATT.mjs';
2
+ import './chunk-QFQXHDC7.mjs';
3
3
  //# sourceMappingURL=addresses.mjs.map
4
4
  //# sourceMappingURL=addresses.mjs.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkDVQWWF23_js = require('../chunk-DVQWWF23.js');
4
- require('../chunk-MGLI4N4B.js');
3
+ var chunkE6ACC5S6_js = require('../chunk-E6ACC5S6.js');
4
+ require('../chunk-SAX7P3MH.js');
5
5
  require('../chunk-WTS75RUC.js');
6
6
  require('../chunk-UPVKABAV.js');
7
7
  require('../chunk-N33R22A2.js');
@@ -10,13 +10,13 @@ require('../chunk-7M57PU6V.js');
10
10
  require('../chunk-KHUE77HC.js');
11
11
  require('../chunk-4VWQNNNW.js');
12
12
  require('../chunk-OROTK4OT.js');
13
- require('../chunk-AQKQRG7M.js');
13
+ require('../chunk-YKRDFXU3.js');
14
14
  require('../chunk-XSJTASPK.js');
15
- require('../chunk-4DUE547M.js');
16
- require('../chunk-27TY7K5D.js');
17
- require('../chunk-2UUVAFXS.js');
18
- require('../chunk-JXNAHW6C.js');
19
- require('../chunk-LOVD3NCN.js');
15
+ require('../chunk-6BQY5EPB.js');
16
+ require('../chunk-UIPSHVT4.js');
17
+ require('../chunk-P4BT5GDO.js');
18
+ require('../chunk-RLUMYHPI.js');
19
+ require('../chunk-3MVW6UIW.js');
20
20
  require('../chunk-4XN6DQBW.js');
21
21
  require('../chunk-OF7BIKXV.js');
22
22
  require('../chunk-2ZM4JVFC.js');
@@ -28,7 +28,7 @@ require('../chunk-OGYWNJGI.js');
28
28
 
29
29
  Object.defineProperty(exports, "DynamicAuctionBuilder", {
30
30
  enumerable: true,
31
- get: function () { return chunkDVQWWF23_js.DynamicAuctionBuilder; }
31
+ get: function () { return chunkE6ACC5S6_js.DynamicAuctionBuilder; }
32
32
  });
33
33
  //# sourceMappingURL=DynamicAuctionBuilder.js.map
34
34
  //# sourceMappingURL=DynamicAuctionBuilder.js.map
@@ -1,5 +1,5 @@
1
- export { DynamicAuctionBuilder } from '../chunk-JCJVX42H.mjs';
2
- import '../chunk-PE47QUJV.mjs';
1
+ export { DynamicAuctionBuilder } from '../chunk-MH74WYVZ.mjs';
2
+ import '../chunk-HH7HQ4HC.mjs';
3
3
  import '../chunk-5TL5V6UX.mjs';
4
4
  import '../chunk-H3B54PFV.mjs';
5
5
  import '../chunk-MQNSJCAW.mjs';
@@ -8,13 +8,13 @@ import '../chunk-CFAAYL5M.mjs';
8
8
  import '../chunk-CWTGQAOG.mjs';
9
9
  import '../chunk-25GEBO3B.mjs';
10
10
  import '../chunk-VGCXJRUV.mjs';
11
- import '../chunk-EKQKHXJN.mjs';
11
+ import '../chunk-UY4TVYEU.mjs';
12
12
  import '../chunk-KOAC3BBP.mjs';
13
- import '../chunk-LXUF7RNX.mjs';
14
- import '../chunk-Y4IZVDJE.mjs';
15
- import '../chunk-RAII4DRI.mjs';
16
- import '../chunk-WM2YFSKT.mjs';
17
- import '../chunk-BZKX3J3R.mjs';
13
+ import '../chunk-IWJOPXYN.mjs';
14
+ import '../chunk-3NFSMMBF.mjs';
15
+ import '../chunk-CYY5IATT.mjs';
16
+ import '../chunk-QFQXHDC7.mjs';
17
+ import '../chunk-E2NF4AQB.mjs';
18
18
  import '../chunk-DOUF6NON.mjs';
19
19
  import '../chunk-64ZQRKG3.mjs';
20
20
  import '../chunk-LPA32BIK.mjs';
@@ -8,6 +8,7 @@ declare class MulticurveBuilder<C extends SupportedChainId> implements BaseAucti
8
8
  private token?;
9
9
  private sale?;
10
10
  private pool?;
11
+ private initializer?;
11
12
  private schedule?;
12
13
  private dopplerHook?;
13
14
  private vesting?;
@@ -143,6 +144,20 @@ declare class MulticurveBuilder<C extends SupportedChainId> implements BaseAucti
143
144
  recipients?: Address[];
144
145
  amounts?: bigint[];
145
146
  }): this;
147
+ private parseStartTimeSeconds;
148
+ private assertCanSetInitializer;
149
+ /**
150
+ * Configure decay multicurve initializer settings.
151
+ *
152
+ * The pool's terminal fee is always taken from `poolConfig().fee`.
153
+ * `startFee` must be greater than or equal to that terminal fee.
154
+ * `startTime` is optional and defaults to `0` when omitted.
155
+ */
156
+ withDecay(params?: {
157
+ startTime?: number | bigint | Date;
158
+ startFee: number;
159
+ durationSeconds: number | bigint;
160
+ }): this;
146
161
  withSchedule(params?: {
147
162
  startTime: number | bigint | Date;
148
163
  }): this;
@@ -156,6 +171,7 @@ declare class MulticurveBuilder<C extends SupportedChainId> implements BaseAucti
156
171
  withAirlock(address: Address): this;
157
172
  withV4MulticurveInitializer(address: Address): this;
158
173
  withV4ScheduledMulticurveInitializer(address: Address): this;
174
+ withV4DecayMulticurveInitializer(address: Address): this;
159
175
  withGovernanceFactory(address: Address): this;
160
176
  withV2Migrator(address: Address): this;
161
177
  withV4Migrator(address: Address): this;
@@ -8,6 +8,7 @@ declare class MulticurveBuilder<C extends SupportedChainId> implements BaseAucti
8
8
  private token?;
9
9
  private sale?;
10
10
  private pool?;
11
+ private initializer?;
11
12
  private schedule?;
12
13
  private dopplerHook?;
13
14
  private vesting?;
@@ -143,6 +144,20 @@ declare class MulticurveBuilder<C extends SupportedChainId> implements BaseAucti
143
144
  recipients?: Address[];
144
145
  amounts?: bigint[];
145
146
  }): this;
147
+ private parseStartTimeSeconds;
148
+ private assertCanSetInitializer;
149
+ /**
150
+ * Configure decay multicurve initializer settings.
151
+ *
152
+ * The pool's terminal fee is always taken from `poolConfig().fee`.
153
+ * `startFee` must be greater than or equal to that terminal fee.
154
+ * `startTime` is optional and defaults to `0` when omitted.
155
+ */
156
+ withDecay(params?: {
157
+ startTime?: number | bigint | Date;
158
+ startFee: number;
159
+ durationSeconds: number | bigint;
160
+ }): this;
146
161
  withSchedule(params?: {
147
162
  startTime: number | bigint | Date;
148
163
  }): this;
@@ -156,6 +171,7 @@ declare class MulticurveBuilder<C extends SupportedChainId> implements BaseAucti
156
171
  withAirlock(address: Address): this;
157
172
  withV4MulticurveInitializer(address: Address): this;
158
173
  withV4ScheduledMulticurveInitializer(address: Address): this;
174
+ withV4DecayMulticurveInitializer(address: Address): this;
159
175
  withGovernanceFactory(address: Address): this;
160
176
  withV2Migrator(address: Address): this;
161
177
  withV4Migrator(address: Address): this;