@whetstone-research/doppler-sdk 0.0.22 → 0.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -0
- package/dist/DopplerSDK.js +25 -24
- package/dist/DopplerSDK.mjs +24 -23
- package/dist/abis/bytecodes/derc20.js +2 -2
- package/dist/abis/bytecodes/derc20.mjs +1 -1
- package/dist/abis/bytecodes/derc2080.js +2 -2
- package/dist/abis/bytecodes/derc2080.mjs +1 -1
- package/dist/abis/bytecodes/doppler.js +2 -2
- package/dist/abis/bytecodes/doppler.mjs +1 -1
- package/dist/abis/bytecodes/dopplerDN404.js +2 -2
- package/dist/abis/bytecodes/dopplerDN404.mjs +1 -1
- package/dist/abis/bytecodes/stateView.js +2 -2
- package/dist/abis/bytecodes/stateView.mjs +1 -1
- package/dist/abis/bytecodes.js +10 -10
- package/dist/abis/bytecodes.mjs +5 -5
- package/dist/abis/index.js +10 -10
- package/dist/abis/index.mjs +5 -5
- package/dist/addresses.d.mts +2 -0
- package/dist/addresses.d.ts +2 -0
- package/dist/addresses.js +7 -7
- package/dist/addresses.mjs +2 -2
- package/dist/builders/DynamicAuctionBuilder.d.mts +2 -0
- package/dist/builders/DynamicAuctionBuilder.d.ts +2 -0
- package/dist/builders/DynamicAuctionBuilder.js +16 -15
- package/dist/builders/DynamicAuctionBuilder.mjs +15 -14
- package/dist/builders/MulticurveBuilder.js +16 -15
- package/dist/builders/MulticurveBuilder.mjs +15 -14
- package/dist/builders/StaticAuctionBuilder.js +16 -15
- package/dist/builders/StaticAuctionBuilder.mjs +15 -14
- package/dist/builders/index.js +24 -23
- package/dist/builders/index.mjs +17 -16
- package/dist/builders/shared.d.mts +1 -1
- package/dist/builders/shared.d.ts +1 -1
- package/dist/builders/shared.js +17 -16
- package/dist/builders/shared.mjs +13 -12
- package/dist/{chunk-AZOBEWP3.mjs → chunk-3NMGCQJ4.mjs} +2 -2
- package/dist/chunk-3NMGCQJ4.mjs.map +1 -0
- package/dist/{chunk-OGYWNJGI.js → chunk-5TQOT6CW.js} +2 -2
- package/dist/chunk-5TQOT6CW.js.map +1 -0
- package/dist/{chunk-QQEOKYEX.js → chunk-6UHDSD42.js} +206 -28
- package/dist/chunk-6UHDSD42.js.map +1 -0
- package/dist/{chunk-5VV7STYK.js → chunk-7CAAI5DL.js} +101 -99
- package/dist/chunk-7CAAI5DL.js.map +1 -0
- package/dist/{chunk-KITPRKQ4.mjs → chunk-7P2SPZC7.mjs} +189 -11
- package/dist/chunk-7P2SPZC7.mjs.map +1 -0
- package/dist/chunk-7ZUV6WPX.mjs +3 -0
- package/dist/{chunk-5TL5V6UX.mjs.map → chunk-7ZUV6WPX.mjs.map} +1 -1
- package/dist/{chunk-HJ4AS5DZ.mjs → chunk-C6MH7HYT.mjs} +11 -11
- package/dist/{chunk-HJ4AS5DZ.mjs.map → chunk-C6MH7HYT.mjs.map} +1 -1
- package/dist/{chunk-D7PCIMWU.mjs → chunk-CATH4QRQ.mjs} +3 -3
- package/dist/{chunk-D7PCIMWU.mjs.map → chunk-CATH4QRQ.mjs.map} +1 -1
- package/dist/{chunk-MT34O3YL.js → chunk-CMNJZKTM.js} +24 -24
- package/dist/{chunk-MT34O3YL.js.map → chunk-CMNJZKTM.js.map} +1 -1
- package/dist/chunk-DNB3T5P2.js +269 -0
- package/dist/chunk-DNB3T5P2.js.map +1 -0
- package/dist/chunk-DSYPZETD.js +4 -0
- package/dist/{chunk-WTS75RUC.js.map → chunk-DSYPZETD.js.map} +1 -1
- package/dist/{chunk-3XYDN2XB.js → chunk-EH3V2BJF.js} +12 -12
- package/dist/chunk-EH3V2BJF.js.map +1 -0
- package/dist/{chunk-CS6FVODR.mjs → chunk-EIXUJANI.mjs} +5 -5
- package/dist/chunk-EIXUJANI.mjs.map +1 -0
- package/dist/{chunk-RWVNXU7Z.mjs → chunk-FFV6DMPA.mjs} +3 -3
- package/dist/{chunk-RWVNXU7Z.mjs.map → chunk-FFV6DMPA.mjs.map} +1 -1
- package/dist/{chunk-ZRNPHFP3.mjs → chunk-FLFYAWSS.mjs} +3 -3
- package/dist/{chunk-ZRNPHFP3.mjs.map → chunk-FLFYAWSS.mjs.map} +1 -1
- package/dist/{chunk-N33R22A2.js → chunk-FNUBKONK.js} +2 -2
- package/dist/{chunk-N33R22A2.js.map → chunk-FNUBKONK.js.map} +1 -1
- package/dist/{chunk-5WYXNWNH.js → chunk-FTRCBE3J.js} +11 -11
- package/dist/{chunk-5WYXNWNH.js.map → chunk-FTRCBE3J.js.map} +1 -1
- package/dist/{chunk-WKKOBMXR.js → chunk-FZ4FIWCR.js} +5 -5
- package/dist/{chunk-WKKOBMXR.js.map → chunk-FZ4FIWCR.js.map} +1 -1
- package/dist/chunk-GDODJJ7D.mjs +36 -0
- package/dist/chunk-GDODJJ7D.mjs.map +1 -0
- package/dist/{chunk-MQNSJCAW.mjs → chunk-GSBQIVME.mjs} +2 -2
- package/dist/{chunk-MQNSJCAW.mjs.map → chunk-GSBQIVME.mjs.map} +1 -1
- package/dist/{chunk-AZH2P4JK.mjs → chunk-GSTY3GO7.mjs} +3 -3
- package/dist/{chunk-AZH2P4JK.mjs.map → chunk-GSTY3GO7.mjs.map} +1 -1
- package/dist/{chunk-INLXNN7P.js → chunk-H7WPK5CR.js} +4 -4
- package/dist/{chunk-INLXNN7P.js.map → chunk-H7WPK5CR.js.map} +1 -1
- package/dist/{chunk-SAX7P3MH.js → chunk-HJFVRV47.js} +2 -2
- package/dist/{chunk-SAX7P3MH.js.map → chunk-HJFVRV47.js.map} +1 -1
- package/dist/{chunk-FVTTG72Z.mjs → chunk-HL7ZAAD4.mjs} +19 -7
- package/dist/chunk-HL7ZAAD4.mjs.map +1 -0
- package/dist/{chunk-2ZM4JVFC.js → chunk-J62YDWIK.js} +2 -2
- package/dist/chunk-J62YDWIK.js.map +1 -0
- package/dist/{chunk-CUB4F546.js → chunk-JB5XXPLL.js} +25 -13
- package/dist/chunk-JB5XXPLL.js.map +1 -0
- package/dist/{chunk-WDSV4O6T.mjs → chunk-OHA5KJ2M.mjs} +2 -2
- package/dist/chunk-OHA5KJ2M.mjs.map +1 -0
- package/dist/{chunk-COOVGAOE.js → chunk-OX5CESVM.js} +13 -13
- package/dist/chunk-OX5CESVM.js.map +1 -0
- package/dist/{chunk-VGOEXLQ2.js → chunk-QAPQGDWK.js} +2 -2
- package/dist/chunk-QAPQGDWK.js.map +1 -0
- package/dist/{chunk-OF7BIKXV.js → chunk-QRTABC4Z.js} +2 -2
- package/dist/chunk-QRTABC4Z.js.map +1 -0
- package/dist/{chunk-O3RH43H3.mjs → chunk-RI6SDMER.mjs} +3 -3
- package/dist/{chunk-O3RH43H3.mjs.map → chunk-RI6SDMER.mjs.map} +1 -1
- package/dist/{chunk-ADAAU4F5.mjs → chunk-RIIVW6TQ.mjs} +5 -3
- package/dist/chunk-RIIVW6TQ.mjs.map +1 -0
- package/dist/{chunk-VK5HAWX6.mjs → chunk-SWWLOD7Q.mjs} +2 -2
- package/dist/chunk-SWWLOD7Q.mjs.map +1 -0
- package/dist/{chunk-3L4DLMOK.js → chunk-TIGHBA37.js} +5 -5
- package/dist/{chunk-3L4DLMOK.js.map → chunk-TIGHBA37.js.map} +1 -1
- package/dist/{chunk-M2EMKIP5.mjs → chunk-TLEVIIUE.mjs} +3 -3
- package/dist/chunk-TLEVIIUE.mjs.map +1 -0
- package/dist/{chunk-LPA32BIK.mjs → chunk-U3GOWK6J.mjs} +2 -2
- package/dist/chunk-U3GOWK6J.mjs.map +1 -0
- package/dist/{chunk-YWK6YH6M.mjs → chunk-VCX6FG3E.mjs} +5 -5
- package/dist/{chunk-YWK6YH6M.mjs.map → chunk-VCX6FG3E.mjs.map} +1 -1
- package/dist/{chunk-64ZQRKG3.mjs → chunk-VYSOAGRU.mjs} +2 -2
- package/dist/chunk-VYSOAGRU.mjs.map +1 -0
- package/dist/chunk-WJBJARLJ.js +38 -0
- package/dist/chunk-WJBJARLJ.js.map +1 -0
- package/dist/{chunk-OROTK4OT.js → chunk-WNUB3UTT.js} +12 -12
- package/dist/chunk-WNUB3UTT.js.map +1 -0
- package/dist/{chunk-SMTHFPBA.js → chunk-XMFOZYNI.js} +2 -2
- package/dist/chunk-XMFOZYNI.js.map +1 -0
- package/dist/chunk-XRYLHTVV.mjs +267 -0
- package/dist/chunk-XRYLHTVV.mjs.map +1 -0
- package/dist/{chunk-S4IZ5ATO.js → chunk-XT3BAM4H.js} +5 -5
- package/dist/{chunk-S4IZ5ATO.js.map → chunk-XT3BAM4H.js.map} +1 -1
- package/dist/{chunk-VGCXJRUV.mjs → chunk-YBK6EBA5.mjs} +10 -10
- package/dist/chunk-YBK6EBA5.mjs.map +1 -0
- package/dist/{chunk-ZDTJ3BPS.js → chunk-YFEPTSI2.js} +11 -11
- package/dist/{chunk-ZDTJ3BPS.js.map → chunk-YFEPTSI2.js.map} +1 -1
- package/dist/{chunk-HH7HQ4HC.mjs → chunk-ZEDJUNC6.mjs} +2 -2
- package/dist/{chunk-HH7HQ4HC.mjs.map → chunk-ZEDJUNC6.mjs.map} +1 -1
- package/dist/deployments.generated.d.mts +39 -19
- package/dist/deployments.generated.d.ts +39 -19
- package/dist/deployments.generated.js +2 -2
- package/dist/deployments.generated.mjs +1 -1
- package/dist/entities/DopplerFactory.js +14 -13
- package/dist/entities/DopplerFactory.mjs +13 -12
- package/dist/entities/auction/DynamicAuction.js +9 -9
- package/dist/entities/auction/DynamicAuction.mjs +8 -8
- package/dist/entities/auction/MulticurvePool.js +10 -10
- package/dist/entities/auction/MulticurvePool.mjs +9 -9
- package/dist/entities/auction/StaticAuction.js +9 -9
- package/dist/entities/auction/StaticAuction.mjs +8 -8
- package/dist/entities/auction/index.js +17 -17
- package/dist/entities/auction/index.mjs +11 -11
- package/dist/entities/quoter/Quoter.js +9 -9
- package/dist/entities/quoter/Quoter.mjs +8 -8
- package/dist/entities/quoter/index.js +9 -9
- package/dist/entities/quoter/index.mjs +8 -8
- package/dist/entities/token/derc20/Derc20.js +5 -5
- package/dist/entities/token/derc20/Derc20.mjs +5 -5
- package/dist/entities/token/derc20/index.js +5 -5
- package/dist/entities/token/derc20/index.mjs +5 -5
- package/dist/entities/token/index.js +6 -6
- package/dist/entities/token/index.mjs +6 -6
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +71 -66
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +24 -23
- package/dist/index.mjs.map +1 -1
- package/dist/types.d.mts +30 -2
- package/dist/types.d.ts +30 -2
- package/dist/types.js +8 -8
- package/dist/types.mjs +3 -3
- package/dist/utils/airlock.js +7 -7
- package/dist/utils/airlock.mjs +3 -3
- package/dist/utils/dopplerHookMigrator.d.mts +11 -0
- package/dist/utils/dopplerHookMigrator.d.ts +11 -0
- package/dist/utils/dopplerHookMigrator.js +12 -0
- package/dist/utils/dopplerHookMigrator.js.map +1 -0
- package/dist/utils/dopplerHookMigrator.mjs +3 -0
- package/dist/utils/dopplerHookMigrator.mjs.map +1 -0
- package/dist/utils/index.d.mts +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +36 -31
- package/dist/utils/index.mjs +12 -11
- package/dist/utils/marketCapHelpers.js +13 -13
- package/dist/utils/marketCapHelpers.mjs +1 -1
- package/dist/utils/tokenAddressMiner.js +7 -7
- package/dist/utils/tokenAddressMiner.mjs +6 -6
- package/package.json +1 -1
- package/dist/chunk-2ZM4JVFC.js.map +0 -1
- package/dist/chunk-3XYDN2XB.js.map +0 -1
- package/dist/chunk-5TL5V6UX.mjs +0 -3
- package/dist/chunk-5VV7STYK.js.map +0 -1
- package/dist/chunk-64ZQRKG3.mjs.map +0 -1
- package/dist/chunk-ADAAU4F5.mjs.map +0 -1
- package/dist/chunk-AZOBEWP3.mjs.map +0 -1
- package/dist/chunk-COOVGAOE.js.map +0 -1
- package/dist/chunk-CS6FVODR.mjs.map +0 -1
- package/dist/chunk-CUB4F546.js.map +0 -1
- package/dist/chunk-FVTTG72Z.mjs.map +0 -1
- package/dist/chunk-KITPRKQ4.mjs.map +0 -1
- package/dist/chunk-LPA32BIK.mjs.map +0 -1
- package/dist/chunk-M2EMKIP5.mjs.map +0 -1
- package/dist/chunk-OF7BIKXV.js.map +0 -1
- package/dist/chunk-OGYWNJGI.js.map +0 -1
- package/dist/chunk-OROTK4OT.js.map +0 -1
- package/dist/chunk-QFQXHDC7.mjs +0 -247
- package/dist/chunk-QFQXHDC7.mjs.map +0 -1
- package/dist/chunk-QQEOKYEX.js.map +0 -1
- package/dist/chunk-RLUMYHPI.js +0 -249
- package/dist/chunk-RLUMYHPI.js.map +0 -1
- package/dist/chunk-SMTHFPBA.js.map +0 -1
- package/dist/chunk-VGCXJRUV.mjs.map +0 -1
- package/dist/chunk-VGOEXLQ2.js.map +0 -1
- package/dist/chunk-VK5HAWX6.mjs.map +0 -1
- package/dist/chunk-WDSV4O6T.mjs.map +0 -1
- package/dist/chunk-WTS75RUC.js +0 -4
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkUPVKABAV_js = require('./chunk-UPVKABAV.js');
|
|
4
|
+
var chunkWJBJARLJ_js = require('./chunk-WJBJARLJ.js');
|
|
4
5
|
var chunk6H6X3VTZ_js = require('./chunk-6H6X3VTZ.js');
|
|
5
6
|
var chunk4VWQNNNW_js = require('./chunk-4VWQNNNW.js');
|
|
6
7
|
var chunk6BQY5EPB_js = require('./chunk-6BQY5EPB.js');
|
|
7
|
-
var
|
|
8
|
+
var chunk7CAAI5DL_js = require('./chunk-7CAAI5DL.js');
|
|
8
9
|
var chunk3MVW6UIW_js = require('./chunk-3MVW6UIW.js');
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
10
|
+
var chunkQRTABC4Z_js = require('./chunk-QRTABC4Z.js');
|
|
11
|
+
var chunkJ62YDWIK_js = require('./chunk-J62YDWIK.js');
|
|
12
|
+
var chunkXMFOZYNI_js = require('./chunk-XMFOZYNI.js');
|
|
13
|
+
var chunkQAPQGDWK_js = require('./chunk-QAPQGDWK.js');
|
|
13
14
|
var viem = require('viem');
|
|
14
15
|
|
|
15
16
|
var MAX_UINT128 = (1n << 128n) - 1n;
|
|
17
|
+
var MAX_PROCEEDS_SPLIT_SHARE = chunk6BQY5EPB_js.WAD / 2n;
|
|
16
18
|
var TOKEN_FACTORY_80_ADDRESS = "0xf0b5141dd9096254b2ca624dff26024f46087229";
|
|
17
19
|
var DopplerFactory = class {
|
|
18
20
|
constructor(publicClient, walletClient, chainId) {
|
|
@@ -32,7 +34,7 @@ var DopplerFactory = class {
|
|
|
32
34
|
}
|
|
33
35
|
async encodeCreateStaticAuctionParams(params) {
|
|
34
36
|
this.validateStaticAuctionParams(params);
|
|
35
|
-
const addresses =
|
|
37
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
36
38
|
const hasBeneficiaries = params.pool.beneficiaries && params.pool.beneficiaries.length > 0;
|
|
37
39
|
let poolInitializerData;
|
|
38
40
|
if (hasBeneficiaries) {
|
|
@@ -101,7 +103,10 @@ var DopplerFactory = class {
|
|
|
101
103
|
]
|
|
102
104
|
);
|
|
103
105
|
}
|
|
104
|
-
const liquidityMigratorData = this.encodeMigrationData(params.migration
|
|
106
|
+
const liquidityMigratorData = this.encodeMigrationData(params.migration, {
|
|
107
|
+
numeraire: params.sale.numeraire,
|
|
108
|
+
overrides: params.modules
|
|
109
|
+
});
|
|
105
110
|
let tokenFactoryData;
|
|
106
111
|
if (this.isDoppler404Token(params.token)) {
|
|
107
112
|
const token404 = params.token;
|
|
@@ -253,7 +258,7 @@ var DopplerFactory = class {
|
|
|
253
258
|
*/
|
|
254
259
|
async simulateCreateStaticAuction(params) {
|
|
255
260
|
const createParams = await this.encodeCreateStaticAuctionParams(params);
|
|
256
|
-
const addresses =
|
|
261
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
257
262
|
const airlockAddress = params.modules?.airlock ?? addresses.airlock;
|
|
258
263
|
const { request, result } = await this.publicClient.simulateContract({
|
|
259
264
|
address: airlockAddress,
|
|
@@ -287,7 +292,7 @@ var DopplerFactory = class {
|
|
|
287
292
|
*/
|
|
288
293
|
async createStaticAuction(params, options) {
|
|
289
294
|
const createParams = options?._createParams ?? (await this.simulateCreateStaticAuction(params)).createParams;
|
|
290
|
-
const addresses =
|
|
295
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
291
296
|
if (!this.walletClient) {
|
|
292
297
|
throw new Error("Wallet client required for write operations");
|
|
293
298
|
}
|
|
@@ -450,7 +455,7 @@ var DopplerFactory = class {
|
|
|
450
455
|
}
|
|
451
456
|
async encodeCreateDynamicAuctionParams(params) {
|
|
452
457
|
this.validateDynamicAuctionParams(params);
|
|
453
|
-
const addresses =
|
|
458
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
454
459
|
const gamma = params.auction.gamma ?? chunkUPVKABAV_js.computeOptimalGamma(
|
|
455
460
|
params.auction.startTick,
|
|
456
461
|
params.auction.endTick,
|
|
@@ -555,7 +560,10 @@ var DopplerFactory = class {
|
|
|
555
560
|
poolInitializerData: dopplerData,
|
|
556
561
|
tokenVariant: this.isDoppler404Token(params.token) ? "doppler404" : "standard"
|
|
557
562
|
});
|
|
558
|
-
const liquidityMigratorData = this.encodeMigrationData(params.migration
|
|
563
|
+
const liquidityMigratorData = this.encodeMigrationData(params.migration, {
|
|
564
|
+
numeraire: params.sale.numeraire,
|
|
565
|
+
overrides: params.modules
|
|
566
|
+
});
|
|
559
567
|
const governanceFactoryData = (() => {
|
|
560
568
|
if (params.governance.type === "noOp") {
|
|
561
569
|
return "0x";
|
|
@@ -634,7 +642,7 @@ var DopplerFactory = class {
|
|
|
634
642
|
* @returns The address of the created hook and token
|
|
635
643
|
*/
|
|
636
644
|
async createDynamicAuction(params, options) {
|
|
637
|
-
const addresses =
|
|
645
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
638
646
|
let createParams;
|
|
639
647
|
if (options?._createParams) {
|
|
640
648
|
createParams = options._createParams;
|
|
@@ -708,7 +716,7 @@ var DopplerFactory = class {
|
|
|
708
716
|
*/
|
|
709
717
|
async simulateCreateDynamicAuction(params) {
|
|
710
718
|
const { createParams } = await this.encodeCreateDynamicAuctionParams(params);
|
|
711
|
-
const addresses =
|
|
719
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
712
720
|
const airlockAddress = params.modules?.airlock ?? addresses.airlock;
|
|
713
721
|
const { request, result } = await this.publicClient.simulateContract({
|
|
714
722
|
address: airlockAddress,
|
|
@@ -771,7 +779,7 @@ var DopplerFactory = class {
|
|
|
771
779
|
* Encode migration data based on the MigrationConfig
|
|
772
780
|
* This replaces the manual encoding methods from the old SDKs
|
|
773
781
|
*/
|
|
774
|
-
encodeMigrationData(config) {
|
|
782
|
+
encodeMigrationData(config, options) {
|
|
775
783
|
if (this.customMigrationEncoder) {
|
|
776
784
|
return this.customMigrationEncoder(config);
|
|
777
785
|
}
|
|
@@ -815,6 +823,77 @@ var DopplerFactory = class {
|
|
|
815
823
|
beneficiaryData
|
|
816
824
|
]
|
|
817
825
|
);
|
|
826
|
+
case "dopplerHook": {
|
|
827
|
+
const dopplerHookConfig = config;
|
|
828
|
+
if (dopplerHookConfig.hook && dopplerHookConfig.rehype) {
|
|
829
|
+
throw new Error(
|
|
830
|
+
"dopplerHook migration cannot set both hook and rehype config. Use exactly one hook mode."
|
|
831
|
+
);
|
|
832
|
+
}
|
|
833
|
+
const beneficiaries = [...dopplerHookConfig.beneficiaries].sort(
|
|
834
|
+
(a, b) => {
|
|
835
|
+
const addrA = a.beneficiary.toLowerCase();
|
|
836
|
+
const addrB = b.beneficiary.toLowerCase();
|
|
837
|
+
return addrA < addrB ? -1 : addrA > addrB ? 1 : 0;
|
|
838
|
+
}
|
|
839
|
+
);
|
|
840
|
+
let dopplerHookAddress = chunk6BQY5EPB_js.ZERO_ADDRESS;
|
|
841
|
+
let onInitializationCalldata = "0x";
|
|
842
|
+
if (dopplerHookConfig.hook) {
|
|
843
|
+
dopplerHookAddress = dopplerHookConfig.hook.hookAddress;
|
|
844
|
+
onInitializationCalldata = dopplerHookConfig.hook.onInitializationCalldata ?? "0x";
|
|
845
|
+
} else if (dopplerHookConfig.rehype) {
|
|
846
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
847
|
+
const resolvedRehypeHookAddress = dopplerHookConfig.rehype.hookAddress ?? options?.overrides?.rehypeDopplerHookMigrator ?? addresses.rehypeDopplerHookMigrator;
|
|
848
|
+
if (!resolvedRehypeHookAddress) {
|
|
849
|
+
throw new Error(
|
|
850
|
+
"RehypeDopplerHookMigrator address not configured on this chain. Provide migration.rehype.hookAddress or override modules.rehypeDopplerHookMigrator."
|
|
851
|
+
);
|
|
852
|
+
}
|
|
853
|
+
if (!options?.numeraire) {
|
|
854
|
+
throw new Error(
|
|
855
|
+
"numeraire is required to encode rehype dopplerHook migration data"
|
|
856
|
+
);
|
|
857
|
+
}
|
|
858
|
+
dopplerHookAddress = resolvedRehypeHookAddress;
|
|
859
|
+
onInitializationCalldata = chunkWJBJARLJ_js.encodeRehypeDopplerHookMigratorCalldata({
|
|
860
|
+
numeraire: options.numeraire,
|
|
861
|
+
config: dopplerHookConfig.rehype
|
|
862
|
+
});
|
|
863
|
+
}
|
|
864
|
+
const proceedsRecipient = dopplerHookConfig.proceedsSplit?.recipient ?? chunk6BQY5EPB_js.ZERO_ADDRESS;
|
|
865
|
+
const proceedsShare = dopplerHookConfig.proceedsSplit?.share ?? 0n;
|
|
866
|
+
return viem.encodeAbiParameters(
|
|
867
|
+
[
|
|
868
|
+
{ type: "uint24" },
|
|
869
|
+
{ type: "bool" },
|
|
870
|
+
{ type: "int24" },
|
|
871
|
+
{ type: "uint32" },
|
|
872
|
+
{
|
|
873
|
+
type: "tuple[]",
|
|
874
|
+
components: [
|
|
875
|
+
{ type: "address", name: "beneficiary" },
|
|
876
|
+
{ type: "uint96", name: "shares" }
|
|
877
|
+
]
|
|
878
|
+
},
|
|
879
|
+
{ type: "address" },
|
|
880
|
+
{ type: "bytes" },
|
|
881
|
+
{ type: "address" },
|
|
882
|
+
{ type: "uint256" }
|
|
883
|
+
],
|
|
884
|
+
[
|
|
885
|
+
dopplerHookConfig.fee,
|
|
886
|
+
dopplerHookConfig.useDynamicFee ?? false,
|
|
887
|
+
dopplerHookConfig.tickSpacing,
|
|
888
|
+
dopplerHookConfig.lockDuration,
|
|
889
|
+
beneficiaries,
|
|
890
|
+
dopplerHookAddress,
|
|
891
|
+
onInitializationCalldata,
|
|
892
|
+
proceedsRecipient,
|
|
893
|
+
proceedsShare
|
|
894
|
+
]
|
|
895
|
+
);
|
|
896
|
+
}
|
|
818
897
|
default:
|
|
819
898
|
throw new Error("Unknown migration type");
|
|
820
899
|
}
|
|
@@ -988,7 +1067,7 @@ var DopplerFactory = class {
|
|
|
988
1067
|
params.pool.curves,
|
|
989
1068
|
params.pool.tickSpacing
|
|
990
1069
|
);
|
|
991
|
-
const addresses =
|
|
1070
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
992
1071
|
const sortedBeneficiaries = (params.pool.beneficiaries ?? []).slice().sort(
|
|
993
1072
|
(a, b) => {
|
|
994
1073
|
const aAddr = a.beneficiary.toLowerCase();
|
|
@@ -1311,7 +1390,10 @@ var DopplerFactory = class {
|
|
|
1311
1390
|
);
|
|
1312
1391
|
}
|
|
1313
1392
|
} else {
|
|
1314
|
-
liquidityMigratorData = this.encodeMigrationData(params.migration
|
|
1393
|
+
liquidityMigratorData = this.encodeMigrationData(params.migration, {
|
|
1394
|
+
numeraire: params.sale.numeraire,
|
|
1395
|
+
overrides: params.modules
|
|
1396
|
+
});
|
|
1315
1397
|
resolvedMigrator = this.getMigratorAddress(
|
|
1316
1398
|
params.migration,
|
|
1317
1399
|
params.modules
|
|
@@ -1367,7 +1449,7 @@ var DopplerFactory = class {
|
|
|
1367
1449
|
return createParams;
|
|
1368
1450
|
}
|
|
1369
1451
|
async simulateCreateMulticurve(params) {
|
|
1370
|
-
const addresses =
|
|
1452
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
1371
1453
|
const createParams = this.encodeCreateMulticurveParams(params);
|
|
1372
1454
|
const airlockAddress = params.modules?.airlock ?? addresses.airlock;
|
|
1373
1455
|
const { request, result } = await this.publicClient.simulateContract({
|
|
@@ -1398,7 +1480,7 @@ var DopplerFactory = class {
|
|
|
1398
1480
|
};
|
|
1399
1481
|
}
|
|
1400
1482
|
async createMulticurve(params, options) {
|
|
1401
|
-
const addresses =
|
|
1483
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
1402
1484
|
if (!this.walletClient)
|
|
1403
1485
|
throw new Error("Wallet client required for write operations");
|
|
1404
1486
|
const createParams = options?._createParams ?? (await this.simulateCreateMulticurve(params)).createParams;
|
|
@@ -1572,6 +1654,11 @@ var DopplerFactory = class {
|
|
|
1572
1654
|
}
|
|
1573
1655
|
}
|
|
1574
1656
|
}
|
|
1657
|
+
if (params.migration.type === "dopplerHook") {
|
|
1658
|
+
throw new Error(
|
|
1659
|
+
"dopplerHook migration is only supported for dynamic auctions"
|
|
1660
|
+
);
|
|
1661
|
+
}
|
|
1575
1662
|
if (params.migration.type === "uniswapV4" && params.migration.streamableFees) {
|
|
1576
1663
|
const beneficiaries = params.migration.streamableFees.beneficiaries;
|
|
1577
1664
|
if (beneficiaries.length === 0) {
|
|
@@ -1667,6 +1754,83 @@ var DopplerFactory = class {
|
|
|
1667
1754
|
);
|
|
1668
1755
|
}
|
|
1669
1756
|
}
|
|
1757
|
+
if (params.migration.type === "dopplerHook") {
|
|
1758
|
+
const migration = params.migration;
|
|
1759
|
+
if (!Number.isInteger(migration.fee) || migration.fee < 0) {
|
|
1760
|
+
throw new Error(
|
|
1761
|
+
"DopplerHook migration fee must be a non-negative integer"
|
|
1762
|
+
);
|
|
1763
|
+
}
|
|
1764
|
+
if (migration.fee > 15e4) {
|
|
1765
|
+
throw new Error("DopplerHook migration fee must be <= 150000 (15%)");
|
|
1766
|
+
}
|
|
1767
|
+
if (!Number.isInteger(migration.tickSpacing) || migration.tickSpacing <= 0) {
|
|
1768
|
+
throw new Error(
|
|
1769
|
+
"DopplerHook migration tickSpacing must be a positive integer"
|
|
1770
|
+
);
|
|
1771
|
+
}
|
|
1772
|
+
if (migration.beneficiaries.length === 0) {
|
|
1773
|
+
throw new Error(
|
|
1774
|
+
"At least one beneficiary is required for dopplerHook migration"
|
|
1775
|
+
);
|
|
1776
|
+
}
|
|
1777
|
+
const totalShares = migration.beneficiaries.reduce(
|
|
1778
|
+
(sum, b) => sum + b.shares,
|
|
1779
|
+
0n
|
|
1780
|
+
);
|
|
1781
|
+
if (totalShares !== chunk6BQY5EPB_js.WAD) {
|
|
1782
|
+
throw new Error(
|
|
1783
|
+
`Beneficiary shares must sum to ${chunk6BQY5EPB_js.WAD} (100%), but got ${totalShares}`
|
|
1784
|
+
);
|
|
1785
|
+
}
|
|
1786
|
+
const lockDuration = Number(migration.lockDuration);
|
|
1787
|
+
if (!Number.isInteger(lockDuration) || lockDuration < 0) {
|
|
1788
|
+
throw new Error(
|
|
1789
|
+
"DopplerHook migration lockDuration must be a non-negative integer number of seconds"
|
|
1790
|
+
);
|
|
1791
|
+
}
|
|
1792
|
+
if (lockDuration > 4294967295) {
|
|
1793
|
+
throw new Error(
|
|
1794
|
+
"DopplerHook migration lockDuration must fit within uint32"
|
|
1795
|
+
);
|
|
1796
|
+
}
|
|
1797
|
+
if (migration.hook && migration.rehype) {
|
|
1798
|
+
throw new Error(
|
|
1799
|
+
"dopplerHook migration cannot set both hook and rehype config. Use exactly one hook mode."
|
|
1800
|
+
);
|
|
1801
|
+
}
|
|
1802
|
+
if (migration.rehype) {
|
|
1803
|
+
if (!Number.isInteger(migration.rehype.customFee) || migration.rehype.customFee < 0) {
|
|
1804
|
+
throw new Error("Rehype customFee must be a non-negative integer");
|
|
1805
|
+
}
|
|
1806
|
+
if (migration.rehype.customFee > 1e6) {
|
|
1807
|
+
throw new Error("Rehype customFee must be <= 1000000 (100%)");
|
|
1808
|
+
}
|
|
1809
|
+
const rehypeDistributionTotal = migration.rehype.assetBuybackPercentWad + migration.rehype.numeraireBuybackPercentWad + migration.rehype.beneficiaryPercentWad + migration.rehype.lpPercentWad;
|
|
1810
|
+
if (rehypeDistributionTotal !== chunk6BQY5EPB_js.WAD) {
|
|
1811
|
+
throw new Error(
|
|
1812
|
+
`DopplerHook fee distribution must sum to ${chunk6BQY5EPB_js.WAD} (100%), but got ${rehypeDistributionTotal}`
|
|
1813
|
+
);
|
|
1814
|
+
}
|
|
1815
|
+
}
|
|
1816
|
+
if (migration.proceedsSplit) {
|
|
1817
|
+
if (migration.proceedsSplit.recipient === chunk6BQY5EPB_js.ZERO_ADDRESS) {
|
|
1818
|
+
throw new Error(
|
|
1819
|
+
"DopplerHook proceeds split recipient cannot be zero address"
|
|
1820
|
+
);
|
|
1821
|
+
}
|
|
1822
|
+
if (migration.proceedsSplit.share < 0n) {
|
|
1823
|
+
throw new Error(
|
|
1824
|
+
"DopplerHook proceeds split share cannot be negative"
|
|
1825
|
+
);
|
|
1826
|
+
}
|
|
1827
|
+
if (migration.proceedsSplit.share > MAX_PROCEEDS_SPLIT_SHARE) {
|
|
1828
|
+
throw new Error(
|
|
1829
|
+
`DopplerHook proceeds split share cannot exceed ${MAX_PROCEEDS_SPLIT_SHARE}`
|
|
1830
|
+
);
|
|
1831
|
+
}
|
|
1832
|
+
}
|
|
1833
|
+
}
|
|
1670
1834
|
}
|
|
1671
1835
|
/**
|
|
1672
1836
|
* Validate multicurve auction parameters
|
|
@@ -1724,6 +1888,11 @@ var DopplerFactory = class {
|
|
|
1724
1888
|
}
|
|
1725
1889
|
}
|
|
1726
1890
|
}
|
|
1891
|
+
if (params.migration.type === "dopplerHook") {
|
|
1892
|
+
throw new Error(
|
|
1893
|
+
"dopplerHook migration is only supported for dynamic auctions"
|
|
1894
|
+
);
|
|
1895
|
+
}
|
|
1727
1896
|
if (params.migration.type === "uniswapV4" && params.migration.streamableFees) {
|
|
1728
1897
|
const beneficiaries = params.migration.streamableFees.beneficiaries;
|
|
1729
1898
|
if (beneficiaries.length === 0) {
|
|
@@ -1743,14 +1912,14 @@ var DopplerFactory = class {
|
|
|
1743
1912
|
* Get the airlock contract address for the current chain
|
|
1744
1913
|
*/
|
|
1745
1914
|
getAirlockAddress() {
|
|
1746
|
-
const addresses =
|
|
1915
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
1747
1916
|
return addresses.airlock;
|
|
1748
1917
|
}
|
|
1749
1918
|
/**
|
|
1750
1919
|
* Get the appropriate initializer address based on auction type
|
|
1751
1920
|
*/
|
|
1752
1921
|
getInitializerAddress(isStatic) {
|
|
1753
|
-
const addresses =
|
|
1922
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
1754
1923
|
return isStatic ? addresses.v3Initializer : addresses.v4Initializer;
|
|
1755
1924
|
}
|
|
1756
1925
|
/**
|
|
@@ -1758,7 +1927,7 @@ var DopplerFactory = class {
|
|
|
1758
1927
|
* Used to perform atomic create + swap ("bundle") flows for static auctions
|
|
1759
1928
|
*/
|
|
1760
1929
|
getBundlerAddress() {
|
|
1761
|
-
const addresses =
|
|
1930
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
1762
1931
|
const addr = addresses.bundler;
|
|
1763
1932
|
if (!addr || addr === viem.zeroAddress) {
|
|
1764
1933
|
throw new Error("Bundler address not configured for this chain");
|
|
@@ -1770,7 +1939,7 @@ var DopplerFactory = class {
|
|
|
1770
1939
|
* Allows override via ModuleAddressOverrides when provided in params.
|
|
1771
1940
|
*/
|
|
1772
1941
|
getMigratorAddress(config, overrides) {
|
|
1773
|
-
const addresses =
|
|
1942
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
1774
1943
|
switch (config.type) {
|
|
1775
1944
|
case "uniswapV2":
|
|
1776
1945
|
return overrides?.v2Migrator ?? addresses.v2Migrator;
|
|
@@ -1783,6 +1952,15 @@ var DopplerFactory = class {
|
|
|
1783
1952
|
}
|
|
1784
1953
|
return v4Address;
|
|
1785
1954
|
}
|
|
1955
|
+
case "dopplerHook": {
|
|
1956
|
+
const dopplerHookMigratorAddress = overrides?.dopplerHookMigrator ?? addresses.dopplerHookMigrator;
|
|
1957
|
+
if (!dopplerHookMigratorAddress || dopplerHookMigratorAddress === chunk6BQY5EPB_js.ZERO_ADDRESS) {
|
|
1958
|
+
throw new Error(
|
|
1959
|
+
"DopplerHookMigrator not configured on this chain. Provide override via modules.dopplerHookMigrator or use a different migration type."
|
|
1960
|
+
);
|
|
1961
|
+
}
|
|
1962
|
+
return dopplerHookMigratorAddress;
|
|
1963
|
+
}
|
|
1786
1964
|
case "noOp": {
|
|
1787
1965
|
const noOpAddress = overrides?.noOpMigrator ?? addresses.noOpMigrator;
|
|
1788
1966
|
if (!noOpAddress) {
|
|
@@ -2095,7 +2273,7 @@ var DopplerFactory = class {
|
|
|
2095
2273
|
const hookInitHash = viem.keccak256(
|
|
2096
2274
|
viem.encodePacked(
|
|
2097
2275
|
["bytes", "bytes"],
|
|
2098
|
-
[
|
|
2276
|
+
[chunkXMFOZYNI_js.doppler_default, hookInitHashData]
|
|
2099
2277
|
)
|
|
2100
2278
|
);
|
|
2101
2279
|
const tokenFactoryData = params.tokenVariant === "doppler404" ? (() => {
|
|
@@ -2158,7 +2336,7 @@ var DopplerFactory = class {
|
|
|
2158
2336
|
tokenInitHash = viem.keccak256(
|
|
2159
2337
|
viem.encodePacked(
|
|
2160
2338
|
["bytes", "bytes"],
|
|
2161
|
-
[
|
|
2339
|
+
[chunkQAPQGDWK_js.dopplerDN404_default, initHashData]
|
|
2162
2340
|
)
|
|
2163
2341
|
);
|
|
2164
2342
|
} else {
|
|
@@ -2199,7 +2377,7 @@ var DopplerFactory = class {
|
|
|
2199
2377
|
]
|
|
2200
2378
|
);
|
|
2201
2379
|
const isTokenFactory80 = params.tokenFactory.toLowerCase() === TOKEN_FACTORY_80_ADDRESS;
|
|
2202
|
-
const bytecode = isTokenFactory80 ?
|
|
2380
|
+
const bytecode = isTokenFactory80 ? chunkJ62YDWIK_js.derc2080_default : params.customDerc20Bytecode ?? chunkQRTABC4Z_js.derc20_default;
|
|
2203
2381
|
tokenInitHash = viem.keccak256(
|
|
2204
2382
|
viem.encodePacked(["bytes", "bytes"], [bytecode, initHashData])
|
|
2205
2383
|
);
|
|
@@ -2341,7 +2519,7 @@ var DopplerFactory = class {
|
|
|
2341
2519
|
* Compute the V4 poolId for a multicurve pool by reading the hook address from the initializer
|
|
2342
2520
|
*/
|
|
2343
2521
|
async computeMulticurvePoolId(params, tokenAddress) {
|
|
2344
|
-
const addresses =
|
|
2522
|
+
const addresses = chunk7CAAI5DL_js.getAddresses(this.chainId);
|
|
2345
2523
|
const initializerMode = this.resolveMulticurveInitializerMode(params);
|
|
2346
2524
|
let hookAddress;
|
|
2347
2525
|
if (initializerMode.type === "rehype") {
|
|
@@ -2403,5 +2581,5 @@ var DopplerFactory = class {
|
|
|
2403
2581
|
var MULTICURVE_BUNDLER_SELECTORS = ["0xe2e9faa1", "0x07087b06"];
|
|
2404
2582
|
|
|
2405
2583
|
exports.DopplerFactory = DopplerFactory;
|
|
2406
|
-
//# sourceMappingURL=chunk-
|
|
2407
|
-
//# sourceMappingURL=chunk-
|
|
2584
|
+
//# sourceMappingURL=chunk-6UHDSD42.js.map
|
|
2585
|
+
//# sourceMappingURL=chunk-6UHDSD42.js.map
|