@whetstone-research/doppler-sdk 0.0.24 → 1.0.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.
- package/README.md +69 -0
- package/dist/chunk-3LTCKCJC.js +319 -0
- package/dist/chunk-3LTCKCJC.js.map +1 -0
- package/dist/chunk-PZ5AY32C.js +9 -0
- package/dist/{chunk-4XN6DQBW.js.map → chunk-PZ5AY32C.js.map} +1 -1
- package/dist/chunk-RO6R66OM.js +974 -0
- package/dist/chunk-RO6R66OM.js.map +1 -0
- package/dist/evm/index.d.ts +8533 -0
- package/dist/evm/index.js +15055 -0
- package/dist/evm/index.js.map +1 -0
- package/dist/oracle-BSvZ6pxp.d.ts +820 -0
- package/dist/pda-RVIHNLRP.js +4 -0
- package/dist/pda-RVIHNLRP.js.map +1 -0
- package/dist/solana/index.d.ts +2495 -0
- package/dist/solana/index.js +2209 -0
- package/dist/solana/index.js.map +1 -0
- package/dist/solana/react/index.d.ts +1046 -0
- package/dist/solana/react/index.js +1436 -0
- package/dist/solana/react/index.js.map +1 -0
- package/package.json +36 -20
- package/dist/DopplerSDK.d.mts +0 -106
- package/dist/DopplerSDK.d.ts +0 -106
- package/dist/DopplerSDK.js +0 -53
- package/dist/DopplerSDK.js.map +0 -1
- package/dist/DopplerSDK.mjs +0 -44
- package/dist/DopplerSDK.mjs.map +0 -1
- package/dist/abis/bytecodes/derc20.d.mts +0 -3
- package/dist/abis/bytecodes/derc20.d.ts +0 -3
- package/dist/abis/bytecodes/derc20.js +0 -9
- package/dist/abis/bytecodes/derc20.js.map +0 -1
- package/dist/abis/bytecodes/derc20.mjs +0 -3
- package/dist/abis/bytecodes/derc20.mjs.map +0 -1
- package/dist/abis/bytecodes/derc2080.d.mts +0 -3
- package/dist/abis/bytecodes/derc2080.d.ts +0 -3
- package/dist/abis/bytecodes/derc2080.js +0 -9
- package/dist/abis/bytecodes/derc2080.js.map +0 -1
- package/dist/abis/bytecodes/derc2080.mjs +0 -3
- package/dist/abis/bytecodes/derc2080.mjs.map +0 -1
- package/dist/abis/bytecodes/doppler.d.mts +0 -3
- package/dist/abis/bytecodes/doppler.d.ts +0 -3
- package/dist/abis/bytecodes/doppler.js +0 -9
- package/dist/abis/bytecodes/doppler.js.map +0 -1
- package/dist/abis/bytecodes/doppler.mjs +0 -3
- package/dist/abis/bytecodes/doppler.mjs.map +0 -1
- package/dist/abis/bytecodes/dopplerDN404.d.mts +0 -3
- package/dist/abis/bytecodes/dopplerDN404.d.ts +0 -3
- package/dist/abis/bytecodes/dopplerDN404.js +0 -9
- package/dist/abis/bytecodes/dopplerDN404.js.map +0 -1
- package/dist/abis/bytecodes/dopplerDN404.mjs +0 -3
- package/dist/abis/bytecodes/dopplerDN404.mjs.map +0 -1
- package/dist/abis/bytecodes/stateView.d.mts +0 -3
- package/dist/abis/bytecodes/stateView.d.ts +0 -3
- package/dist/abis/bytecodes/stateView.js +0 -9
- package/dist/abis/bytecodes/stateView.js.map +0 -1
- package/dist/abis/bytecodes/stateView.mjs +0 -3
- package/dist/abis/bytecodes/stateView.mjs.map +0 -1
- package/dist/abis/bytecodes.d.mts +0 -5
- package/dist/abis/bytecodes.d.ts +0 -5
- package/dist/abis/bytecodes.js +0 -33
- package/dist/abis/bytecodes.js.map +0 -1
- package/dist/abis/bytecodes.mjs +0 -8
- package/dist/abis/bytecodes.mjs.map +0 -1
- package/dist/abis/index.d.mts +0 -3871
- package/dist/abis/index.d.ts +0 -3871
- package/dist/abis/index.js +0 -130
- package/dist/abis/index.js.map +0 -1
- package/dist/abis/index.mjs +0 -9
- package/dist/abis/index.mjs.map +0 -1
- package/dist/addresses.d.mts +0 -69
- package/dist/addresses.d.ts +0 -69
- package/dist/addresses.js +0 -29
- package/dist/addresses.js.map +0 -1
- package/dist/addresses.mjs +0 -4
- package/dist/addresses.mjs.map +0 -1
- package/dist/builders/DynamicAuctionBuilder.d.mts +0 -138
- package/dist/builders/DynamicAuctionBuilder.d.ts +0 -138
- package/dist/builders/DynamicAuctionBuilder.js +0 -35
- package/dist/builders/DynamicAuctionBuilder.js.map +0 -1
- package/dist/builders/DynamicAuctionBuilder.mjs +0 -26
- package/dist/builders/DynamicAuctionBuilder.mjs.map +0 -1
- package/dist/builders/MulticurveBuilder.d.mts +0 -196
- package/dist/builders/MulticurveBuilder.d.ts +0 -196
- package/dist/builders/MulticurveBuilder.js +0 -35
- package/dist/builders/MulticurveBuilder.js.map +0 -1
- package/dist/builders/MulticurveBuilder.mjs +0 -26
- package/dist/builders/MulticurveBuilder.mjs.map +0 -1
- package/dist/builders/StaticAuctionBuilder.d.mts +0 -131
- package/dist/builders/StaticAuctionBuilder.d.ts +0 -131
- package/dist/builders/StaticAuctionBuilder.js +0 -35
- package/dist/builders/StaticAuctionBuilder.js.map +0 -1
- package/dist/builders/StaticAuctionBuilder.mjs +0 -26
- package/dist/builders/StaticAuctionBuilder.mjs.map +0 -1
- package/dist/builders/index.d.mts +0 -8
- package/dist/builders/index.d.ts +0 -8
- package/dist/builders/index.js +0 -62
- package/dist/builders/index.js.map +0 -1
- package/dist/builders/index.mjs +0 -29
- package/dist/builders/index.mjs.map +0 -1
- package/dist/builders/shared.d.mts +0 -115
- package/dist/builders/shared.d.ts +0 -115
- package/dist/builders/shared.js +0 -46
- package/dist/builders/shared.js.map +0 -1
- package/dist/builders/shared.mjs +0 -25
- package/dist/builders/shared.mjs.map +0 -1
- package/dist/chunk-25GEBO3B.mjs +0 -219
- package/dist/chunk-25GEBO3B.mjs.map +0 -1
- package/dist/chunk-2A3B3NVB.js +0 -737
- package/dist/chunk-2A3B3NVB.js.map +0 -1
- package/dist/chunk-3NMGCQJ4.mjs +0 -6
- package/dist/chunk-3NMGCQJ4.mjs.map +0 -1
- package/dist/chunk-44CYUEPG.js +0 -377
- package/dist/chunk-44CYUEPG.js.map +0 -1
- package/dist/chunk-4VWQNNNW.js +0 -233
- package/dist/chunk-4VWQNNNW.js.map +0 -1
- package/dist/chunk-4XN6DQBW.js +0 -4
- package/dist/chunk-5GQJRNFL.mjs +0 -40
- package/dist/chunk-5GQJRNFL.mjs.map +0 -1
- package/dist/chunk-5JHXBDZD.js +0 -265
- package/dist/chunk-5JHXBDZD.js.map +0 -1
- package/dist/chunk-5TQOT6CW.js +0 -8
- package/dist/chunk-5TQOT6CW.js.map +0 -1
- package/dist/chunk-65CESA3J.js +0 -46
- package/dist/chunk-65CESA3J.js.map +0 -1
- package/dist/chunk-6BQY5EPB.js +0 -144
- package/dist/chunk-6BQY5EPB.js.map +0 -1
- package/dist/chunk-6H6X3VTZ.js +0 -18
- package/dist/chunk-6H6X3VTZ.js.map +0 -1
- package/dist/chunk-7A4DBBXA.js +0 -311
- package/dist/chunk-7A4DBBXA.js.map +0 -1
- package/dist/chunk-7M57PU6V.js +0 -28
- package/dist/chunk-7M57PU6V.js.map +0 -1
- package/dist/chunk-7ZUV6WPX.mjs +0 -3
- package/dist/chunk-7ZUV6WPX.mjs.map +0 -1
- package/dist/chunk-A2CJYRRQ.js +0 -330
- package/dist/chunk-A2CJYRRQ.js.map +0 -1
- package/dist/chunk-ABT6AT7C.mjs +0 -16
- package/dist/chunk-ABT6AT7C.mjs.map +0 -1
- package/dist/chunk-BK3S6SVR.js +0 -2707
- package/dist/chunk-BK3S6SVR.js.map +0 -1
- package/dist/chunk-BQZTELUX.js +0 -45
- package/dist/chunk-BQZTELUX.js.map +0 -1
- package/dist/chunk-CFAAYL5M.mjs +0 -26
- package/dist/chunk-CFAAYL5M.mjs.map +0 -1
- package/dist/chunk-CFXXUZJY.js +0 -275
- package/dist/chunk-CFXXUZJY.js.map +0 -1
- package/dist/chunk-CWTGQAOG.mjs +0 -72
- package/dist/chunk-CWTGQAOG.mjs.map +0 -1
- package/dist/chunk-DCWF3EMP.js +0 -171
- package/dist/chunk-DCWF3EMP.js.map +0 -1
- package/dist/chunk-DOUF6NON.mjs +0 -3
- package/dist/chunk-DOUF6NON.mjs.map +0 -1
- package/dist/chunk-DQJXCZU2.mjs +0 -318
- package/dist/chunk-DQJXCZU2.mjs.map +0 -1
- package/dist/chunk-DSYPZETD.js +0 -4
- package/dist/chunk-DSYPZETD.js.map +0 -1
- package/dist/chunk-F2BYG63D.mjs +0 -145
- package/dist/chunk-F2BYG63D.mjs.map +0 -1
- package/dist/chunk-FNUBKONK.js +0 -291
- package/dist/chunk-FNUBKONK.js.map +0 -1
- package/dist/chunk-FOESYJP3.mjs +0 -3
- package/dist/chunk-FOESYJP3.mjs.map +0 -1
- package/dist/chunk-FXTGIKQG.mjs +0 -3
- package/dist/chunk-FXTGIKQG.mjs.map +0 -1
- package/dist/chunk-GSBQIVME.mjs +0 -278
- package/dist/chunk-GSBQIVME.mjs.map +0 -1
- package/dist/chunk-H3B54PFV.mjs +0 -17
- package/dist/chunk-H3B54PFV.mjs.map +0 -1
- package/dist/chunk-HJFVRV47.js +0 -120
- package/dist/chunk-HJFVRV47.js.map +0 -1
- package/dist/chunk-IIM2CSDQ.js +0 -147
- package/dist/chunk-IIM2CSDQ.js.map +0 -1
- package/dist/chunk-IUTIHSLH.mjs +0 -295
- package/dist/chunk-IUTIHSLH.mjs.map +0 -1
- package/dist/chunk-IUZ3BBQP.mjs +0 -117
- package/dist/chunk-IUZ3BBQP.mjs.map +0 -1
- package/dist/chunk-IWJOPXYN.mjs +0 -96
- package/dist/chunk-IWJOPXYN.mjs.map +0 -1
- package/dist/chunk-IX4V4UGW.mjs +0 -141
- package/dist/chunk-IX4V4UGW.mjs.map +0 -1
- package/dist/chunk-J62YDWIK.js +0 -8
- package/dist/chunk-J62YDWIK.js.map +0 -1
- package/dist/chunk-JIKAD4YL.js +0 -4
- package/dist/chunk-JIKAD4YL.js.map +0 -1
- package/dist/chunk-JLUOFAE4.mjs +0 -2531
- package/dist/chunk-JLUOFAE4.mjs.map +0 -1
- package/dist/chunk-KAZQJ24E.mjs +0 -59
- package/dist/chunk-KAZQJ24E.mjs.map +0 -1
- package/dist/chunk-KHUE77HC.js +0 -81
- package/dist/chunk-KHUE77HC.js.map +0 -1
- package/dist/chunk-KOAC3BBP.mjs +0 -11
- package/dist/chunk-KOAC3BBP.mjs.map +0 -1
- package/dist/chunk-LW3CYA27.mjs +0 -2705
- package/dist/chunk-LW3CYA27.mjs.map +0 -1
- package/dist/chunk-MEA2C5YX.js +0 -143
- package/dist/chunk-MEA2C5YX.js.map +0 -1
- package/dist/chunk-MU56HCUI.js +0 -2556
- package/dist/chunk-MU56HCUI.js.map +0 -1
- package/dist/chunk-OCIY7QEJ.mjs +0 -169
- package/dist/chunk-OCIY7QEJ.mjs.map +0 -1
- package/dist/chunk-OHA5KJ2M.mjs +0 -6
- package/dist/chunk-OHA5KJ2M.mjs.map +0 -1
- package/dist/chunk-P25HBGP5.mjs +0 -3
- package/dist/chunk-P25HBGP5.mjs.map +0 -1
- package/dist/chunk-P563HTVU.js +0 -164
- package/dist/chunk-P563HTVU.js.map +0 -1
- package/dist/chunk-P7CHGWY7.js +0 -4
- package/dist/chunk-P7CHGWY7.js.map +0 -1
- package/dist/chunk-PGYTMRP3.js +0 -277
- package/dist/chunk-PGYTMRP3.js.map +0 -1
- package/dist/chunk-QAPQGDWK.js +0 -8
- package/dist/chunk-QAPQGDWK.js.map +0 -1
- package/dist/chunk-QHBKRUBY.mjs +0 -328
- package/dist/chunk-QHBKRUBY.mjs.map +0 -1
- package/dist/chunk-QOYI7WCH.js +0 -120
- package/dist/chunk-QOYI7WCH.js.map +0 -1
- package/dist/chunk-QRTABC4Z.js +0 -8
- package/dist/chunk-QRTABC4Z.js.map +0 -1
- package/dist/chunk-QSQGLWNY.mjs +0 -3
- package/dist/chunk-QSQGLWNY.mjs.map +0 -1
- package/dist/chunk-QUBD6HUZ.mjs +0 -735
- package/dist/chunk-QUBD6HUZ.mjs.map +0 -1
- package/dist/chunk-RDTIXP6S.mjs +0 -263
- package/dist/chunk-RDTIXP6S.mjs.map +0 -1
- package/dist/chunk-RLOZWHRR.js +0 -320
- package/dist/chunk-RLOZWHRR.js.map +0 -1
- package/dist/chunk-RV64M4Q6.mjs +0 -3
- package/dist/chunk-RV64M4Q6.mjs.map +0 -1
- package/dist/chunk-SWWLOD7Q.mjs +0 -6
- package/dist/chunk-SWWLOD7Q.mjs.map +0 -1
- package/dist/chunk-T3UA4MJL.js +0 -4
- package/dist/chunk-T3UA4MJL.js.map +0 -1
- package/dist/chunk-TEWAXP5C.mjs +0 -162
- package/dist/chunk-TEWAXP5C.mjs.map +0 -1
- package/dist/chunk-THEIRDGE.mjs +0 -273
- package/dist/chunk-THEIRDGE.mjs.map +0 -1
- package/dist/chunk-U3GOWK6J.mjs +0 -6
- package/dist/chunk-U3GOWK6J.mjs.map +0 -1
- package/dist/chunk-UPVKABAV.js +0 -19
- package/dist/chunk-UPVKABAV.js.map +0 -1
- package/dist/chunk-VEIVYUYF.js +0 -4
- package/dist/chunk-VEIVYUYF.js.map +0 -1
- package/dist/chunk-VKSD3KXF.mjs +0 -275
- package/dist/chunk-VKSD3KXF.mjs.map +0 -1
- package/dist/chunk-VYSOAGRU.mjs +0 -6
- package/dist/chunk-VYSOAGRU.mjs.map +0 -1
- package/dist/chunk-WDC53TM7.mjs +0 -305
- package/dist/chunk-WDC53TM7.mjs.map +0 -1
- package/dist/chunk-WKWP42TD.mjs +0 -39
- package/dist/chunk-WKWP42TD.mjs.map +0 -1
- package/dist/chunk-WNUB3UTT.js +0 -241
- package/dist/chunk-WNUB3UTT.js.map +0 -1
- package/dist/chunk-WNWK2QMU.mjs +0 -375
- package/dist/chunk-WNWK2QMU.mjs.map +0 -1
- package/dist/chunk-WQHTNL5L.js +0 -4
- package/dist/chunk-WQHTNL5L.js.map +0 -1
- package/dist/chunk-WZF5XNBC.js +0 -297
- package/dist/chunk-WZF5XNBC.js.map +0 -1
- package/dist/chunk-X3UMAHOJ.js +0 -4
- package/dist/chunk-X3UMAHOJ.js.map +0 -1
- package/dist/chunk-XMFOZYNI.js +0 -8
- package/dist/chunk-XMFOZYNI.js.map +0 -1
- package/dist/chunk-XNMXN5SZ.mjs +0 -3
- package/dist/chunk-XNMXN5SZ.mjs.map +0 -1
- package/dist/chunk-XSJTASPK.js +0 -13
- package/dist/chunk-XSJTASPK.js.map +0 -1
- package/dist/chunk-YBK6EBA5.mjs +0 -239
- package/dist/chunk-YBK6EBA5.mjs.map +0 -1
- package/dist/chunk-YYLD3AJ7.js +0 -61
- package/dist/chunk-YYLD3AJ7.js.map +0 -1
- package/dist/chunk-ZEDJUNC6.mjs +0 -115
- package/dist/chunk-ZEDJUNC6.mjs.map +0 -1
- package/dist/constants.d.mts +0 -91
- package/dist/constants.d.ts +0 -91
- package/dist/constants.js +0 -196
- package/dist/constants.js.map +0 -1
- package/dist/constants.mjs +0 -3
- package/dist/constants.mjs.map +0 -1
- package/dist/deployments.generated.d.mts +0 -275
- package/dist/deployments.generated.d.ts +0 -275
- package/dist/deployments.generated.js +0 -12
- package/dist/deployments.generated.js.map +0 -1
- package/dist/deployments.generated.mjs +0 -3
- package/dist/deployments.generated.mjs.map +0 -1
- package/dist/entities/DopplerFactory.d.mts +0 -272
- package/dist/entities/DopplerFactory.d.ts +0 -272
- package/dist/entities/DopplerFactory.js +0 -34
- package/dist/entities/DopplerFactory.js.map +0 -1
- package/dist/entities/DopplerFactory.mjs +0 -25
- package/dist/entities/DopplerFactory.mjs.map +0 -1
- package/dist/entities/auction/DynamicAuction.d.mts +0 -72
- package/dist/entities/auction/DynamicAuction.d.ts +0 -72
- package/dist/entities/auction/DynamicAuction.js +0 -21
- package/dist/entities/auction/DynamicAuction.js.map +0 -1
- package/dist/entities/auction/DynamicAuction.mjs +0 -12
- package/dist/entities/auction/DynamicAuction.mjs.map +0 -1
- package/dist/entities/auction/MulticurvePool.d.mts +0 -78
- package/dist/entities/auction/MulticurvePool.d.ts +0 -78
- package/dist/entities/auction/MulticurvePool.js +0 -24
- package/dist/entities/auction/MulticurvePool.js.map +0 -1
- package/dist/entities/auction/MulticurvePool.mjs +0 -15
- package/dist/entities/auction/MulticurvePool.mjs.map +0 -1
- package/dist/entities/auction/RehypeDopplerHook.d.mts +0 -57
- package/dist/entities/auction/RehypeDopplerHook.d.ts +0 -57
- package/dist/entities/auction/RehypeDopplerHook.js +0 -34
- package/dist/entities/auction/RehypeDopplerHook.js.map +0 -1
- package/dist/entities/auction/RehypeDopplerHook.mjs +0 -25
- package/dist/entities/auction/RehypeDopplerHook.mjs.map +0 -1
- package/dist/entities/auction/RehypeDopplerHookMigrator.d.mts +0 -48
- package/dist/entities/auction/RehypeDopplerHookMigrator.d.ts +0 -48
- package/dist/entities/auction/RehypeDopplerHookMigrator.js +0 -34
- package/dist/entities/auction/RehypeDopplerHookMigrator.js.map +0 -1
- package/dist/entities/auction/RehypeDopplerHookMigrator.mjs +0 -25
- package/dist/entities/auction/RehypeDopplerHookMigrator.mjs.map +0 -1
- package/dist/entities/auction/StaticAuction.d.mts +0 -44
- package/dist/entities/auction/StaticAuction.d.ts +0 -44
- package/dist/entities/auction/StaticAuction.js +0 -21
- package/dist/entities/auction/StaticAuction.js.map +0 -1
- package/dist/entities/auction/StaticAuction.mjs +0 -12
- package/dist/entities/auction/StaticAuction.mjs.map +0 -1
- package/dist/entities/auction/index.d.mts +0 -9
- package/dist/entities/auction/index.d.ts +0 -9
- package/dist/entities/auction/index.js +0 -55
- package/dist/entities/auction/index.js.map +0 -1
- package/dist/entities/auction/index.mjs +0 -30
- package/dist/entities/auction/index.mjs.map +0 -1
- package/dist/entities/quoter/Quoter.d.mts +0 -150
- package/dist/entities/quoter/Quoter.d.ts +0 -150
- package/dist/entities/quoter/Quoter.js +0 -21
- package/dist/entities/quoter/Quoter.js.map +0 -1
- package/dist/entities/quoter/Quoter.mjs +0 -12
- package/dist/entities/quoter/Quoter.mjs.map +0 -1
- package/dist/entities/quoter/index.d.mts +0 -5
- package/dist/entities/quoter/index.d.ts +0 -5
- package/dist/entities/quoter/index.js +0 -22
- package/dist/entities/quoter/index.js.map +0 -1
- package/dist/entities/quoter/index.mjs +0 -13
- package/dist/entities/quoter/index.mjs.map +0 -1
- package/dist/entities/token/derc20/Derc20.d.mts +0 -102
- package/dist/entities/token/derc20/Derc20.d.ts +0 -102
- package/dist/entities/token/derc20/Derc20.js +0 -19
- package/dist/entities/token/derc20/Derc20.js.map +0 -1
- package/dist/entities/token/derc20/Derc20.mjs +0 -10
- package/dist/entities/token/derc20/Derc20.mjs.map +0 -1
- package/dist/entities/token/derc20/index.d.mts +0 -5
- package/dist/entities/token/derc20/index.d.ts +0 -5
- package/dist/entities/token/derc20/index.js +0 -20
- package/dist/entities/token/derc20/index.js.map +0 -1
- package/dist/entities/token/derc20/index.mjs +0 -11
- package/dist/entities/token/derc20/index.mjs.map +0 -1
- package/dist/entities/token/eth/Eth.d.mts +0 -54
- package/dist/entities/token/eth/Eth.d.ts +0 -54
- package/dist/entities/token/eth/Eth.js +0 -12
- package/dist/entities/token/eth/Eth.js.map +0 -1
- package/dist/entities/token/eth/Eth.mjs +0 -3
- package/dist/entities/token/eth/Eth.mjs.map +0 -1
- package/dist/entities/token/eth/index.d.mts +0 -5
- package/dist/entities/token/eth/index.d.ts +0 -5
- package/dist/entities/token/eth/index.js +0 -13
- package/dist/entities/token/eth/index.js.map +0 -1
- package/dist/entities/token/eth/index.mjs +0 -4
- package/dist/entities/token/eth/index.mjs.map +0 -1
- package/dist/entities/token/index.d.mts +0 -6
- package/dist/entities/token/index.d.ts +0 -6
- package/dist/entities/token/index.js +0 -27
- package/dist/entities/token/index.js.map +0 -1
- package/dist/entities/token/index.mjs +0 -14
- package/dist/entities/token/index.mjs.map +0 -1
- package/dist/index.d.mts +0 -39
- package/dist/index.d.ts +0 -39
- package/dist/index.js +0 -587
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -49
- package/dist/index.mjs.map +0 -1
- package/dist/types.d.mts +0 -662
- package/dist/types.d.ts +0 -662
- package/dist/types.js +0 -34
- package/dist/types.js.map +0 -1
- package/dist/types.mjs +0 -5
- package/dist/types.mjs.map +0 -1
- package/dist/utils/airlock.d.mts +0 -11
- package/dist/utils/airlock.d.ts +0 -11
- package/dist/utils/airlock.js +0 -26
- package/dist/utils/airlock.js.map +0 -1
- package/dist/utils/airlock.mjs +0 -5
- package/dist/utils/airlock.mjs.map +0 -1
- package/dist/utils/balanceDelta.d.mts +0 -10
- package/dist/utils/balanceDelta.d.ts +0 -10
- package/dist/utils/balanceDelta.js +0 -12
- package/dist/utils/balanceDelta.js.map +0 -1
- package/dist/utils/balanceDelta.mjs +0 -3
- package/dist/utils/balanceDelta.mjs.map +0 -1
- package/dist/utils/computeOptimalGamma.d.mts +0 -7
- package/dist/utils/computeOptimalGamma.d.ts +0 -7
- package/dist/utils/computeOptimalGamma.js +0 -12
- package/dist/utils/computeOptimalGamma.js.map +0 -1
- package/dist/utils/computeOptimalGamma.mjs +0 -3
- package/dist/utils/computeOptimalGamma.mjs.map +0 -1
- package/dist/utils/dopplerHookMigrator.d.mts +0 -18
- package/dist/utils/dopplerHookMigrator.d.ts +0 -18
- package/dist/utils/dopplerHookMigrator.js +0 -20
- package/dist/utils/dopplerHookMigrator.js.map +0 -1
- package/dist/utils/dopplerHookMigrator.mjs +0 -7
- package/dist/utils/dopplerHookMigrator.mjs.map +0 -1
- package/dist/utils/index.d.mts +0 -14
- package/dist/utils/index.d.ts +0 -14
- package/dist/utils/index.js +0 -197
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/index.mjs +0 -24
- package/dist/utils/index.mjs.map +0 -1
- package/dist/utils/isToken0Expected.d.mts +0 -13
- package/dist/utils/isToken0Expected.d.ts +0 -13
- package/dist/utils/isToken0Expected.js +0 -12
- package/dist/utils/isToken0Expected.js.map +0 -1
- package/dist/utils/isToken0Expected.mjs +0 -3
- package/dist/utils/isToken0Expected.mjs.map +0 -1
- package/dist/utils/marketCapHelpers.d.mts +0 -259
- package/dist/utils/marketCapHelpers.d.ts +0 -259
- package/dist/utils/marketCapHelpers.js +0 -58
- package/dist/utils/marketCapHelpers.js.map +0 -1
- package/dist/utils/marketCapHelpers.mjs +0 -5
- package/dist/utils/marketCapHelpers.mjs.map +0 -1
- package/dist/utils/poolKey.d.mts +0 -17
- package/dist/utils/poolKey.d.ts +0 -17
- package/dist/utils/poolKey.js +0 -12
- package/dist/utils/poolKey.js.map +0 -1
- package/dist/utils/poolKey.mjs +0 -3
- package/dist/utils/poolKey.mjs.map +0 -1
- package/dist/utils/priceHelpers.d.mts +0 -86
- package/dist/utils/priceHelpers.d.ts +0 -86
- package/dist/utils/priceHelpers.js +0 -41
- package/dist/utils/priceHelpers.js.map +0 -1
- package/dist/utils/priceHelpers.mjs +0 -4
- package/dist/utils/priceHelpers.mjs.map +0 -1
- package/dist/utils/tickMath.d.mts +0 -72
- package/dist/utils/tickMath.d.ts +0 -72
- package/dist/utils/tickMath.js +0 -60
- package/dist/utils/tickMath.js.map +0 -1
- package/dist/utils/tickMath.mjs +0 -3
- package/dist/utils/tickMath.mjs.map +0 -1
- package/dist/utils/tokenAddressMiner.d.mts +0 -37
- package/dist/utils/tokenAddressMiner.d.ts +0 -37
- package/dist/utils/tokenAddressMiner.js +0 -19
- package/dist/utils/tokenAddressMiner.js.map +0 -1
- package/dist/utils/tokenAddressMiner.mjs +0 -10
- package/dist/utils/tokenAddressMiner.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/abis/index.ts"],"names":[],"mappings":"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","file":"chunk-MU56HCUI.js","sourcesContent":["// Core contract ABIs needed for static and dynamic auctions\n\nexport const airlockAbi = [\n {\n type: 'constructor',\n inputs: [{ name: 'owner_', type: 'address', internalType: 'address' }],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n name: 'collectIntegratorFees',\n inputs: [\n { name: 'to', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n { name: 'amount', type: 'uint256', internalType: 'uint256' },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'collectProtocolFees',\n inputs: [\n { name: 'to', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n { name: 'amount', type: 'uint256', internalType: 'uint256' },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'create',\n inputs: [\n {\n name: 'createData',\n type: 'tuple',\n internalType: 'struct CreateParams',\n components: [\n { name: 'initialSupply', type: 'uint256', internalType: 'uint256' },\n { name: 'numTokensToSell', type: 'uint256', internalType: 'uint256' },\n { name: 'numeraire', type: 'address', internalType: 'address' },\n {\n name: 'tokenFactory',\n type: 'address',\n internalType: 'contract ITokenFactory',\n },\n { name: 'tokenFactoryData', type: 'bytes', internalType: 'bytes' },\n {\n name: 'governanceFactory',\n type: 'address',\n internalType: 'contract IGovernanceFactory',\n },\n {\n name: 'governanceFactoryData',\n type: 'bytes',\n internalType: 'bytes',\n },\n {\n name: 'poolInitializer',\n type: 'address',\n internalType: 'contract IPoolInitializer',\n },\n { name: 'poolInitializerData', type: 'bytes', internalType: 'bytes' },\n {\n name: 'liquidityMigrator',\n type: 'address',\n internalType: 'contract ILiquidityMigrator',\n },\n {\n name: 'liquidityMigratorData',\n type: 'bytes',\n internalType: 'bytes',\n },\n { name: 'integrator', type: 'address', internalType: 'address' },\n { name: 'salt', type: 'bytes32', internalType: 'bytes32' },\n ],\n },\n ],\n outputs: [\n { name: 'asset', type: 'address', internalType: 'address' },\n { name: 'pool', type: 'address', internalType: 'address' },\n { name: 'governance', type: 'address', internalType: 'address' },\n { name: 'timelock', type: 'address', internalType: 'address' },\n { name: 'migrationPool', type: 'address', internalType: 'address' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'getAssetData',\n inputs: [{ name: 'asset', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'numeraire', type: 'address', internalType: 'address' },\n { name: 'timelock', type: 'address', internalType: 'address' },\n { name: 'governance', type: 'address', internalType: 'address' },\n {\n name: 'liquidityMigrator',\n type: 'address',\n internalType: 'contract ILiquidityMigrator',\n },\n {\n name: 'poolInitializer',\n type: 'address',\n internalType: 'contract IPoolInitializer',\n },\n { name: 'pool', type: 'address', internalType: 'address' },\n { name: 'migrationPool', type: 'address', internalType: 'address' },\n { name: 'numTokensToSell', type: 'uint256', internalType: 'uint256' },\n { name: 'totalSupply', type: 'uint256', internalType: 'uint256' },\n { name: 'integrator', type: 'address', internalType: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getModuleState',\n inputs: [{ name: 'module', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'state', type: 'uint8', internalType: 'enum ModuleState' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'integratorFees',\n inputs: [\n { name: 'integrator', type: 'address', internalType: 'address' },\n { name: 'token', type: 'address', internalType: 'address' },\n ],\n outputs: [{ name: 'amount', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'migrate',\n inputs: [{ name: 'asset', type: 'address', internalType: 'address' }],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'owner',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'protocolFees',\n inputs: [{ name: 'token', type: 'address', internalType: 'address' }],\n outputs: [{ name: 'amount', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'renounceOwnership',\n inputs: [],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'setModuleState',\n inputs: [\n { name: 'modules', type: 'address[]', internalType: 'address[]' },\n { name: 'states', type: 'uint8[]', internalType: 'enum ModuleState[]' },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'transferOwnership',\n inputs: [{ name: 'newOwner', type: 'address', internalType: 'address' }],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n name: 'Collect',\n inputs: [\n { name: 'to', type: 'address', indexed: true, internalType: 'address' },\n {\n name: 'token',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'amount',\n type: 'uint256',\n indexed: false,\n internalType: 'uint256',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'Create',\n inputs: [\n {\n name: 'asset',\n type: 'address',\n indexed: false,\n internalType: 'address',\n },\n {\n name: 'numeraire',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'initializer',\n type: 'address',\n indexed: false,\n internalType: 'address',\n },\n {\n name: 'poolOrHook',\n type: 'address',\n indexed: false,\n internalType: 'address',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'Migrate',\n inputs: [\n {\n name: 'asset',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n { name: 'pool', type: 'address', indexed: true, internalType: 'address' },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'OwnershipTransferred',\n inputs: [\n {\n name: 'previousOwner',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'newOwner',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'SetModuleState',\n inputs: [\n {\n name: 'module',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'state',\n type: 'uint8',\n indexed: true,\n internalType: 'enum ModuleState',\n },\n ],\n anonymous: false,\n },\n { type: 'error', name: 'ArrayLengthsMismatch', inputs: [] },\n {\n type: 'error',\n name: 'OwnableInvalidOwner',\n inputs: [{ name: 'owner', type: 'address', internalType: 'address' }],\n },\n {\n type: 'error',\n name: 'OwnableUnauthorizedAccount',\n inputs: [{ name: 'account', type: 'address', internalType: 'address' }],\n },\n {\n type: 'error',\n name: 'WrongModuleState',\n inputs: [\n { name: 'module', type: 'address', internalType: 'address' },\n { name: 'expected', type: 'uint8', internalType: 'enum ModuleState' },\n { name: 'actual', type: 'uint8', internalType: 'enum ModuleState' },\n ],\n },\n // Pool initializer errors (included for better error decoding when calls bubble up)\n {\n type: 'error',\n name: 'InvalidTickRange',\n inputs: [\n { name: 'tick', type: 'int24', internalType: 'int24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n ],\n },\n {\n type: 'error',\n name: 'InvalidTickRangeMisordered',\n inputs: [\n { name: 'tickLower', type: 'int24', internalType: 'int24' },\n { name: 'tickUpper', type: 'int24', internalType: 'int24' },\n ],\n },\n {\n type: 'error',\n name: 'InvalidFee',\n inputs: [{ name: 'fee', type: 'uint24', internalType: 'uint24' }],\n },\n {\n type: 'error',\n name: 'CannotMigrateInsufficientTick',\n inputs: [\n { name: 'targetTick', type: 'int24', internalType: 'int24' },\n { name: 'currentTick', type: 'int24', internalType: 'int24' },\n ],\n },\n { type: 'error', name: 'CannotMintZeroLiquidity', inputs: [] },\n {\n type: 'error',\n name: 'MaxShareToBeSoldExceeded',\n inputs: [\n { name: 'value', type: 'uint256', internalType: 'uint256' },\n { name: 'limit', type: 'uint256', internalType: 'uint256' },\n ],\n },\n { type: 'error', name: 'PoolAlreadyExited', inputs: [] },\n { type: 'error', name: 'PoolAlreadyInitialized', inputs: [] },\n { type: 'error', name: 'PoolLocked', inputs: [] },\n { type: 'error', name: 'SenderNotAirlock', inputs: [] },\n { type: 'error', name: 'UnorderedBeneficiaries', inputs: [] },\n { type: 'error', name: 'InvalidShares', inputs: [] },\n { type: 'error', name: 'InvalidTotalShares', inputs: [] },\n { type: 'error', name: 'InvalidProtocolOwnerShares', inputs: [] },\n { type: 'error', name: 'InvalidProtocolOwnerBeneficiary', inputs: [] },\n] as const;\n\nexport const uniswapV3InitializerAbi = [\n {\n type: 'function',\n name: 'encodePoolInitializerData',\n inputs: [\n {\n name: 'params',\n type: 'tuple',\n components: [\n { name: 'numTokensToSell', type: 'uint256' },\n { name: 'startTick', type: 'int24' },\n { name: 'endTick', type: 'int24' },\n { name: 'fee', type: 'uint24' },\n ],\n },\n ],\n outputs: [{ name: '', type: 'bytes' }],\n stateMutability: 'pure',\n },\n] as const;\n\nexport const v2MigratorAbi = [\n {\n type: 'function',\n name: 'encodeLiquidityMigratorData',\n inputs: [],\n outputs: [{ name: '', type: 'bytes' }],\n stateMutability: 'pure',\n },\n] as const;\n\nexport const v3MigratorAbi = [\n {\n type: 'function',\n name: 'encodeLiquidityMigratorData',\n inputs: [\n { name: 'fee', type: 'uint24' },\n { name: 'tickSpacing', type: 'int24' },\n ],\n outputs: [{ name: '', type: 'bytes' }],\n stateMutability: 'pure',\n },\n] as const;\n\nexport const v4MigratorAbi = [\n {\n type: 'function',\n name: 'encodeLiquidityMigratorData',\n inputs: [\n { name: 'fee', type: 'uint24' },\n { name: 'tickSpacing', type: 'int24' },\n { name: 'lockDuration', type: 'uint256' },\n { name: 'beneficiaries', type: 'address[]' },\n { name: 'percentages', type: 'uint256[]' },\n ],\n outputs: [{ name: '', type: 'bytes' }],\n stateMutability: 'pure',\n },\n // V4 Migrator errors\n { type: 'error', name: 'TickOutOfRange', inputs: [] },\n { type: 'error', name: 'ZeroLiquidity', inputs: [] },\n] as const;\n\nexport const uniswapV3PoolAbi = [\n {\n type: 'function',\n name: 'slot0',\n inputs: [],\n outputs: [\n { name: 'sqrtPriceX96', type: 'uint160' },\n { name: 'tick', type: 'int24' },\n { name: 'observationIndex', type: 'uint16' },\n { name: 'observationCardinality', type: 'uint16' },\n { name: 'observationCardinalityNext', type: 'uint16' },\n { name: 'feeProtocol', type: 'uint8' },\n { name: 'unlocked', type: 'bool' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'liquidity',\n inputs: [],\n outputs: [{ name: '', type: 'uint128' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'token0',\n inputs: [],\n outputs: [{ name: '', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'token1',\n inputs: [],\n outputs: [{ name: '', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'fee',\n inputs: [],\n outputs: [{ name: '', type: 'uint24' }],\n stateMutability: 'view',\n },\n] as const;\n\nexport const derc20Abi = [\n {\n type: 'function',\n name: 'allowance',\n inputs: [\n { name: 'owner', type: 'address', internalType: 'address' },\n { name: 'spender', type: 'address', internalType: 'address' },\n ],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'approve',\n inputs: [\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'value', type: 'uint256', internalType: 'uint256' },\n ],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'nonpayable',\n },\n // OpenZeppelin Votes (governance) — delegation + queries\n {\n type: 'function',\n name: 'delegate',\n inputs: [{ name: 'delegatee', type: 'address', internalType: 'address' }],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'delegateBySig',\n inputs: [\n { name: 'delegatee', type: 'address', internalType: 'address' },\n { name: 'nonce', type: 'uint256', internalType: 'uint256' },\n { name: 'expiry', type: 'uint256', internalType: 'uint256' },\n { name: 'v', type: 'uint8', internalType: 'uint8' },\n { name: 'r', type: 'bytes32', internalType: 'bytes32' },\n { name: 's', type: 'bytes32', internalType: 'bytes32' },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'delegates',\n inputs: [{ name: 'account', type: 'address', internalType: 'address' }],\n outputs: [{ name: '', type: 'address', internalType: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getVotes',\n inputs: [{ name: 'account', type: 'address', internalType: 'address' }],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getPastVotes',\n inputs: [\n { name: 'account', type: 'address', internalType: 'address' },\n { name: 'timepoint', type: 'uint256', internalType: 'uint256' },\n ],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getPastTotalSupply',\n inputs: [{ name: 'timepoint', type: 'uint256', internalType: 'uint256' }],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'nonces',\n inputs: [{ name: 'owner', type: 'address', internalType: 'address' }],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'DOMAIN_SEPARATOR',\n inputs: [],\n outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'balanceOf',\n inputs: [{ name: 'account', type: 'address', internalType: 'address' }],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'computeAvailableVestedAmount',\n inputs: [{ name: 'account', type: 'address', internalType: 'address' }],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'currentYearStart',\n inputs: [],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'decimals',\n inputs: [],\n outputs: [{ name: '', type: 'uint8', internalType: 'uint8' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getVestingDataOf',\n inputs: [{ name: 'account', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'totalAmount', type: 'uint256', internalType: 'uint256' },\n { name: 'releasedAmount', type: 'uint256', internalType: 'uint256' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'isPoolUnlocked',\n inputs: [],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'lastMintTimestamp',\n inputs: [],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'name',\n inputs: [],\n outputs: [{ name: '', type: 'string', internalType: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'pool',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'release',\n inputs: [],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'symbol',\n inputs: [],\n outputs: [{ name: '', type: 'string', internalType: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'tokenURI',\n inputs: [],\n outputs: [{ name: '', type: 'string', internalType: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'totalSupply',\n inputs: [],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'transfer',\n inputs: [\n { name: 'to', type: 'address', internalType: 'address' },\n { name: 'value', type: 'uint256', internalType: 'uint256' },\n ],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'transferFrom',\n inputs: [\n { name: 'from', type: 'address', internalType: 'address' },\n { name: 'to', type: 'address', internalType: 'address' },\n { name: 'value', type: 'uint256', internalType: 'uint256' },\n ],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'vestedTotalAmount',\n inputs: [],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'vestingDuration',\n inputs: [],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'vestingStart',\n inputs: [],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'yearlyMintRate',\n inputs: [],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n // DERC20 errors\n { type: 'error', name: 'MintingNotStartedYet', inputs: [] },\n { type: 'error', name: 'ExceedsYearlyMintCap', inputs: [] },\n { type: 'error', name: 'NoMintableAmount', inputs: [] },\n { type: 'error', name: 'PoolLocked', inputs: [] },\n { type: 'error', name: 'ArrayLengthsMismatch', inputs: [] },\n { type: 'error', name: 'ReleaseAmountInvalid', inputs: [] },\n {\n type: 'error',\n name: 'MaxPreMintPerAddressExceeded',\n inputs: [\n { name: 'amount', type: 'uint256', internalType: 'uint256' },\n { name: 'limit', type: 'uint256', internalType: 'uint256' },\n ],\n },\n {\n type: 'error',\n name: 'MaxTotalPreMintExceeded',\n inputs: [\n { name: 'amount', type: 'uint256', internalType: 'uint256' },\n { name: 'limit', type: 'uint256', internalType: 'uint256' },\n ],\n },\n {\n type: 'error',\n name: 'MaxTotalVestedExceeded',\n inputs: [\n { name: 'amount', type: 'uint256', internalType: 'uint256' },\n { name: 'limit', type: 'uint256', internalType: 'uint256' },\n ],\n },\n { type: 'error', name: 'VestingNotStartedYet', inputs: [] },\n {\n type: 'error',\n name: 'MaxYearlyMintRateExceeded',\n inputs: [\n { name: 'amount', type: 'uint256', internalType: 'uint256' },\n { name: 'limit', type: 'uint256', internalType: 'uint256' },\n ],\n },\n] as const;\n\nexport const uniswapV4InitializerAbi = [\n {\n type: 'function',\n name: 'encodePoolInitializerData',\n inputs: [\n {\n name: 'params',\n type: 'tuple',\n components: [\n { name: 'minimumProceeds', type: 'uint256' },\n { name: 'maximumProceeds', type: 'uint256' },\n { name: 'startingTime', type: 'uint256' },\n { name: 'endingTime', type: 'uint256' },\n { name: 'startingTick', type: 'int24' },\n { name: 'endingTick', type: 'int24' },\n { name: 'epochLength', type: 'uint256' },\n { name: 'gamma', type: 'int24' },\n { name: 'isToken0', type: 'bool' },\n { name: 'numPDSlugs', type: 'uint256' },\n { name: 'fee', type: 'uint24' },\n { name: 'tickSpacing', type: 'int24' },\n ],\n },\n ],\n outputs: [{ name: '', type: 'bytes' }],\n stateMutability: 'pure',\n },\n] as const;\n\nexport const dopplerHookAbi = [\n {\n type: 'function',\n name: 'state',\n inputs: [],\n outputs: [\n { name: 'lastEpoch', type: 'uint40' },\n { name: 'tickAccumulator', type: 'int256' },\n { name: 'totalTokensSold', type: 'uint256' },\n { name: 'totalProceeds', type: 'uint256' },\n { name: 'totalTokensSoldLastEpoch', type: 'uint256' },\n // BalanceDelta is encoded as a single int256 in the compiled ABI.\n { name: 'feesAccrued', type: 'int256' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'earlyExit',\n inputs: [],\n outputs: [{ name: '', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'insufficientProceeds',\n inputs: [],\n outputs: [{ name: '', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'poolKey',\n inputs: [],\n outputs: [\n { name: 'currency0', type: 'address' },\n { name: 'currency1', type: 'address' },\n { name: 'fee', type: 'uint24' },\n { name: 'tickSpacing', type: 'int24' },\n { name: 'hooks', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'startingTime',\n inputs: [],\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'endingTime',\n inputs: [],\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'epochLength',\n inputs: [],\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'minimumProceeds',\n inputs: [],\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'maximumProceeds',\n inputs: [],\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'numTokensToSell',\n inputs: [],\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'startingTick',\n inputs: [],\n outputs: [{ name: '', type: 'int24' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'endingTick',\n inputs: [],\n outputs: [{ name: '', type: 'int24' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'gamma',\n inputs: [],\n outputs: [{ name: '', type: 'int24' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'isToken0',\n inputs: [],\n outputs: [{ name: '', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'numPDSlugs',\n inputs: [],\n outputs: [{ name: '', type: 'uint256' }],\n stateMutability: 'view',\n },\n // Doppler Hook errors\n { type: 'error', name: 'InvalidGamma', inputs: [] },\n { type: 'error', name: 'InvalidTimeRange', inputs: [] },\n { type: 'error', name: 'CannotAddLiquidity', inputs: [] },\n { type: 'error', name: 'CannotSwapBeforeStartTime', inputs: [] },\n { type: 'error', name: 'SwapBelowRange', inputs: [] },\n { type: 'error', name: 'InvalidStartTime', inputs: [] },\n { type: 'error', name: 'InvalidTickRange', inputs: [] },\n { type: 'error', name: 'InvalidTickSpacing', inputs: [] },\n { type: 'error', name: 'InvalidEpochLength', inputs: [] },\n { type: 'error', name: 'InvalidProceedLimits', inputs: [] },\n { type: 'error', name: 'InvalidNumPDSlugs', inputs: [] },\n {\n type: 'error',\n name: 'InvalidSwapAfterMaturitySufficientProceeds',\n inputs: [],\n },\n {\n type: 'error',\n name: 'InvalidSwapAfterMaturityInsufficientProceeds',\n inputs: [],\n },\n { type: 'error', name: 'MaximumProceedsReached', inputs: [] },\n { type: 'error', name: 'SenderNotPoolManager', inputs: [] },\n { type: 'error', name: 'AlreadyInitialized', inputs: [] },\n { type: 'error', name: 'SenderNotInitializer', inputs: [] },\n { type: 'error', name: 'CannotMigrate', inputs: [] },\n { type: 'error', name: 'CannotDonate', inputs: [] },\n] as const;\n\nexport const quoterV2Abi = [\n {\n inputs: [\n { internalType: 'address', name: '_factory', type: 'address' },\n { internalType: 'address', name: '_WETH9', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n inputs: [],\n name: 'WETH9',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'factory',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'bytes', name: 'path', type: 'bytes' },\n { internalType: 'uint256', name: 'amountIn', type: 'uint256' },\n ],\n name: 'quoteExactInput',\n outputs: [\n { internalType: 'uint256', name: 'amountOut', type: 'uint256' },\n {\n internalType: 'uint160[]',\n name: 'sqrtPriceX96AfterList',\n type: 'uint160[]',\n },\n {\n internalType: 'uint32[]',\n name: 'initializedTicksCrossedList',\n type: 'uint32[]',\n },\n { internalType: 'uint256', name: 'gasEstimate', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { internalType: 'address', name: 'tokenIn', type: 'address' },\n { internalType: 'address', name: 'tokenOut', type: 'address' },\n { internalType: 'uint256', name: 'amountIn', type: 'uint256' },\n { internalType: 'uint24', name: 'fee', type: 'uint24' },\n {\n internalType: 'uint160',\n name: 'sqrtPriceLimitX96',\n type: 'uint160',\n },\n ],\n internalType: 'struct IQuoterV2.QuoteExactInputSingleParams',\n name: 'params',\n type: 'tuple',\n },\n ],\n name: 'quoteExactInputSingle',\n outputs: [\n { internalType: 'uint256', name: 'amountOut', type: 'uint256' },\n { internalType: 'uint160', name: 'sqrtPriceX96After', type: 'uint160' },\n {\n internalType: 'uint32',\n name: 'initializedTicksCrossed',\n type: 'uint32',\n },\n { internalType: 'uint256', name: 'gasEstimate', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'bytes', name: 'path', type: 'bytes' },\n { internalType: 'uint256', name: 'amountOut', type: 'uint256' },\n ],\n name: 'quoteExactOutput',\n outputs: [\n { internalType: 'uint256', name: 'amountIn', type: 'uint256' },\n {\n internalType: 'uint160[]',\n name: 'sqrtPriceX96AfterList',\n type: 'uint160[]',\n },\n {\n internalType: 'uint32[]',\n name: 'initializedTicksCrossedList',\n type: 'uint32[]',\n },\n { internalType: 'uint256', name: 'gasEstimate', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { internalType: 'address', name: 'tokenIn', type: 'address' },\n { internalType: 'address', name: 'tokenOut', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint24', name: 'fee', type: 'uint24' },\n {\n internalType: 'uint160',\n name: 'sqrtPriceLimitX96',\n type: 'uint160',\n },\n ],\n internalType: 'struct IQuoterV2.QuoteExactOutputSingleParams',\n name: 'params',\n type: 'tuple',\n },\n ],\n name: 'quoteExactOutputSingle',\n outputs: [\n { internalType: 'uint256', name: 'amountIn', type: 'uint256' },\n { internalType: 'uint160', name: 'sqrtPriceX96After', type: 'uint160' },\n {\n internalType: 'uint32',\n name: 'initializedTicksCrossed',\n type: 'uint32',\n },\n { internalType: 'uint256', name: 'gasEstimate', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'int256', name: 'amount0Delta', type: 'int256' },\n { internalType: 'int256', name: 'amount1Delta', type: 'int256' },\n { internalType: 'bytes', name: '_data', type: 'bytes' },\n ],\n name: 'uniswapV3SwapCallback',\n outputs: [],\n stateMutability: 'view',\n type: 'function',\n },\n] as const;\n\nexport const uniswapV2Router02Abi = [\n {\n inputs: [\n { internalType: 'uint256', name: 'amountIn', type: 'uint256' },\n { internalType: 'address[]', name: 'path', type: 'address[]' },\n ],\n name: 'getAmountsOut',\n outputs: [\n { internalType: 'uint256[]', name: 'amounts', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'amountOut', type: 'uint256' },\n { internalType: 'address[]', name: 'path', type: 'address[]' },\n ],\n name: 'getAmountsIn',\n outputs: [\n { internalType: 'uint256[]', name: 'amounts', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n] as const;\n\nexport const v4QuoterAbi = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_poolManager',\n type: 'address',\n internalType: 'contract IPoolManager',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'quoteExactInputSingle',\n inputs: [\n {\n name: 'params',\n type: 'tuple',\n internalType: 'struct IV4Quoter.QuoteExactSingleParams',\n components: [\n {\n name: 'poolKey',\n type: 'tuple',\n internalType: 'struct PoolKey',\n components: [\n { name: 'currency0', type: 'address', internalType: 'Currency' },\n { name: 'currency1', type: 'address', internalType: 'Currency' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n {\n name: 'hooks',\n type: 'address',\n internalType: 'contract IHooks',\n },\n ],\n },\n { name: 'zeroForOne', type: 'bool', internalType: 'bool' },\n { name: 'exactAmount', type: 'uint128', internalType: 'uint128' },\n { name: 'hookData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [\n { name: 'amountOut', type: 'uint256', internalType: 'uint256' },\n { name: 'gasEstimate', type: 'uint256', internalType: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'quoteExactOutputSingle',\n inputs: [\n {\n name: 'params',\n type: 'tuple',\n internalType: 'struct IV4Quoter.QuoteExactSingleParams',\n components: [\n {\n name: 'poolKey',\n type: 'tuple',\n internalType: 'struct PoolKey',\n components: [\n { name: 'currency0', type: 'address', internalType: 'Currency' },\n { name: 'currency1', type: 'address', internalType: 'Currency' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n {\n name: 'hooks',\n type: 'address',\n internalType: 'contract IHooks',\n },\n ],\n },\n { name: 'zeroForOne', type: 'bool', internalType: 'bool' },\n { name: 'exactAmount', type: 'uint128', internalType: 'uint128' },\n { name: 'hookData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [\n { name: 'amountIn', type: 'uint256', internalType: 'uint256' },\n { name: 'gasEstimate', type: 'uint256', internalType: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'poolManager',\n inputs: [],\n outputs: [\n { name: '', type: 'address', internalType: 'contract IPoolManager' },\n ],\n stateMutability: 'view',\n },\n] as const;\n\nexport const lockableUniswapV3InitializerAbi = [\n {\n type: 'constructor',\n inputs: [\n { name: 'airlock_', type: 'address', internalType: 'address' },\n {\n name: 'factory_',\n type: 'address',\n internalType: 'contract IUniswapV3Factory',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'airlock',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'contract Airlock' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'collectFees',\n inputs: [{ name: 'pool', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'fees0ToDistribute', type: 'uint256', internalType: 'uint256' },\n { name: 'fees1ToDistribute', type: 'uint256', internalType: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'exitLiquidity',\n inputs: [{ name: 'pool', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'sqrtPriceX96', type: 'uint160', internalType: 'uint160' },\n { name: 'token0', type: 'address', internalType: 'address' },\n { name: 'fees0', type: 'uint128', internalType: 'uint128' },\n { name: 'balance0', type: 'uint128', internalType: 'uint128' },\n { name: 'token1', type: 'address', internalType: 'address' },\n { name: 'fees1', type: 'uint128', internalType: 'uint128' },\n { name: 'balance1', type: 'uint128', internalType: 'uint128' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'factory',\n inputs: [],\n outputs: [\n { name: '', type: 'address', internalType: 'contract IUniswapV3Factory' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getState',\n inputs: [{ name: 'pool', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'asset', type: 'address', internalType: 'address' },\n { name: 'numeraire', type: 'address', internalType: 'address' },\n { name: 'tickLower', type: 'int24', internalType: 'int24' },\n { name: 'tickUpper', type: 'int24', internalType: 'int24' },\n { name: 'maxShareToBeSold', type: 'uint256', internalType: 'uint256' },\n {\n name: 'totalTokensOnBondingCurve',\n type: 'uint256',\n internalType: 'uint256',\n },\n { name: 'status', type: 'uint8', internalType: 'enum PoolStatus' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'initialize',\n inputs: [\n { name: 'asset', type: 'address', internalType: 'address' },\n { name: 'numeraire', type: 'address', internalType: 'address' },\n {\n name: 'totalTokensOnBondingCurve',\n type: 'uint256',\n internalType: 'uint256',\n },\n { name: '', type: 'bytes32', internalType: 'bytes32' },\n { name: 'data', type: 'bytes', internalType: 'bytes' },\n ],\n outputs: [{ name: 'pool', type: 'address', internalType: 'address' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'uniswapV3MintCallback',\n inputs: [\n { name: 'amount0Owed', type: 'uint256', internalType: 'uint256' },\n { name: 'amount1Owed', type: 'uint256', internalType: 'uint256' },\n { name: 'data', type: 'bytes', internalType: 'bytes' },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'encodePoolInitializerData',\n inputs: [\n {\n name: 'params',\n type: 'tuple',\n components: [\n { name: 'fee', type: 'uint24' },\n { name: 'tickLower', type: 'int24' },\n { name: 'tickUpper', type: 'int24' },\n { name: 'numPositions', type: 'uint16' },\n { name: 'maxShareToBeSold', type: 'uint256' },\n {\n name: 'beneficiaries',\n type: 'tuple[]',\n components: [\n { name: 'beneficiary', type: 'address' },\n { name: 'shares', type: 'uint96' },\n ],\n },\n ],\n },\n ],\n outputs: [{ name: '', type: 'bytes' }],\n stateMutability: 'pure',\n },\n {\n type: 'event',\n name: 'Collect',\n inputs: [\n { name: 'pool', type: 'address', indexed: true, internalType: 'address' },\n {\n name: 'beneficiary',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'fees0',\n type: 'uint256',\n indexed: false,\n internalType: 'uint256',\n },\n {\n name: 'fees1',\n type: 'uint256',\n indexed: false,\n internalType: 'uint256',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'Create',\n inputs: [\n {\n name: 'poolOrHook',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'asset',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'numeraire',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'Lock',\n inputs: [\n { name: 'pool', type: 'address', indexed: true, internalType: 'address' },\n {\n name: 'beneficiaries',\n type: 'tuple[]',\n indexed: false,\n internalType: 'struct BeneficiaryData[]',\n components: [\n { name: 'beneficiary', type: 'address', internalType: 'address' },\n { name: 'shares', type: 'uint96', internalType: 'uint96' },\n ],\n },\n ],\n anonymous: false,\n },\n {\n type: 'error',\n name: 'CannotMigrateInsufficientTick',\n inputs: [\n { name: 'targetTick', type: 'int24', internalType: 'int24' },\n { name: 'currentTick', type: 'int24', internalType: 'int24' },\n ],\n },\n { type: 'error', name: 'CannotMintZeroLiquidity', inputs: [] },\n {\n type: 'error',\n name: 'InvalidFee',\n inputs: [{ name: 'fee', type: 'uint24', internalType: 'uint24' }],\n },\n {\n type: 'error',\n name: 'InvalidTickRange',\n inputs: [\n { name: 'tick', type: 'int24', internalType: 'int24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n ],\n },\n {\n type: 'error',\n name: 'InvalidTickRangeMisordered',\n inputs: [\n { name: 'tickLower', type: 'int24', internalType: 'int24' },\n { name: 'tickUpper', type: 'int24', internalType: 'int24' },\n ],\n },\n {\n type: 'error',\n name: 'MaxShareToBeSoldExceeded',\n inputs: [\n { name: 'value', type: 'uint256', internalType: 'uint256' },\n { name: 'limit', type: 'uint256', internalType: 'uint256' },\n ],\n },\n { type: 'error', name: 'OnlyPool', inputs: [] },\n { type: 'error', name: 'PoolAlreadyExited', inputs: [] },\n { type: 'error', name: 'PoolAlreadyInitialized', inputs: [] },\n { type: 'error', name: 'PoolLocked', inputs: [] },\n { type: 'error', name: 'SenderNotAirlock', inputs: [] },\n { type: 'error', name: 'UnorderedBeneficiaries', inputs: [] },\n { type: 'error', name: 'InvalidShares', inputs: [] },\n { type: 'error', name: 'InvalidTotalShares', inputs: [] },\n { type: 'error', name: 'InvalidProtocolOwnerShares', inputs: [] },\n { type: 'error', name: 'InvalidProtocolOwnerBeneficiary', inputs: [] },\n] as const;\n\nexport const v4MulticurveInitializerAbi = [\n {\n type: 'function',\n name: 'airlock',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'contract Airlock' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'HOOK',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'contract IHooks' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'collectFees',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [\n { name: 'fees0', type: 'uint128', internalType: 'uint128' },\n { name: 'fees1', type: 'uint128', internalType: 'uint128' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'getState',\n inputs: [{ name: 'asset', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'numeraire', type: 'address', internalType: 'address' },\n { name: 'status', type: 'uint8', internalType: 'enum PoolStatus' },\n {\n name: 'poolKey',\n type: 'tuple',\n internalType: 'struct PoolKey',\n components: [\n { name: 'currency0', type: 'address', internalType: 'Currency' },\n { name: 'currency1', type: 'address', internalType: 'Currency' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n { name: 'hooks', type: 'address', internalType: 'contract IHooks' },\n ],\n },\n { name: 'farTick', type: 'int24', internalType: 'int24' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n name: 'Collect',\n inputs: [\n { name: 'pool', type: 'address', indexed: true, internalType: 'address' },\n {\n name: 'beneficiary',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'fees0',\n type: 'uint256',\n indexed: false,\n internalType: 'uint256',\n },\n {\n name: 'fees1',\n type: 'uint256',\n indexed: false,\n internalType: 'uint256',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'Create',\n inputs: [\n {\n name: 'poolOrHook',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'asset',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n {\n name: 'numeraire',\n type: 'address',\n indexed: true,\n internalType: 'address',\n },\n ],\n anonymous: false,\n },\n {\n type: 'event',\n name: 'Lock',\n inputs: [\n { name: 'pool', type: 'address', indexed: true, internalType: 'address' },\n {\n name: 'beneficiaries',\n type: 'tuple[]',\n indexed: false,\n internalType: 'struct BeneficiaryData[]',\n components: [\n { name: 'beneficiary', type: 'address', internalType: 'address' },\n { name: 'shares', type: 'uint96', internalType: 'uint96' },\n ],\n },\n ],\n anonymous: false,\n },\n { type: 'error', name: 'PoolLocked', inputs: [] },\n { type: 'error', name: 'PoolNotLocked', inputs: [] },\n { type: 'error', name: 'PoolAlreadyInitialized', inputs: [] },\n { type: 'error', name: 'PoolAlreadyExited', inputs: [] },\n {\n type: 'error',\n name: 'CannotMigrateInsufficientTick',\n inputs: [\n { name: 'targetTick', type: 'int24', internalType: 'int24' },\n { name: 'currentTick', type: 'int24', internalType: 'int24' },\n ],\n },\n { type: 'error', name: 'SenderNotAirlock', inputs: [] },\n { type: 'error', name: 'UnorderedBeneficiaries', inputs: [] },\n { type: 'error', name: 'InvalidShares', inputs: [] },\n { type: 'error', name: 'InvalidTotalShares', inputs: [] },\n { type: 'error', name: 'InvalidProtocolOwnerShares', inputs: [] },\n { type: 'error', name: 'InvalidProtocolOwnerBeneficiary', inputs: [] },\n] as const;\n\nexport const dopplerHookInitializerAbi = [\n {\n type: 'function',\n name: 'airlock',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'contract Airlock' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'collectFees',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [\n { name: 'fees0', type: 'uint128', internalType: 'uint128' },\n { name: 'fees1', type: 'uint128', internalType: 'uint128' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'getState',\n inputs: [{ name: 'asset', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'numeraire', type: 'address', internalType: 'address' },\n {\n name: 'totalTokensOnBondingCurve',\n type: 'uint256',\n internalType: 'uint256',\n },\n { name: 'dopplerHook', type: 'address', internalType: 'address' },\n {\n name: 'graduationDopplerHookCalldata',\n type: 'bytes',\n internalType: 'bytes',\n },\n { name: 'status', type: 'uint8', internalType: 'enum PoolStatus' },\n {\n name: 'poolKey',\n type: 'tuple',\n internalType: 'struct PoolKey',\n components: [\n { name: 'currency0', type: 'address', internalType: 'Currency' },\n { name: 'currency1', type: 'address', internalType: 'Currency' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n { name: 'hooks', type: 'address', internalType: 'contract IHooks' },\n ],\n },\n { name: 'farTick', type: 'int24', internalType: 'int24' },\n ],\n stateMutability: 'view',\n },\n] as const;\n\nexport const decayMulticurveInitializerHookAbi = [\n {\n type: 'function',\n name: 'getFeeScheduleOf',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [\n { name: 'startingTime', type: 'uint32', internalType: 'uint32' },\n { name: 'startFee', type: 'uint24', internalType: 'uint24' },\n { name: 'endFee', type: 'uint24', internalType: 'uint24' },\n { name: 'lastFee', type: 'uint24', internalType: 'uint24' },\n { name: 'durationSeconds', type: 'uint32', internalType: 'uint32' },\n ],\n stateMutability: 'view',\n },\n] as const;\n\nexport const streamableFeesLockerAbi = [\n {\n type: 'function',\n name: 'collectFees',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [\n { name: 'fees0', type: 'uint128', internalType: 'uint128' },\n { name: 'fees1', type: 'uint128', internalType: 'uint128' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'streams',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [\n {\n name: 'poolKey',\n type: 'tuple',\n internalType: 'struct PoolKey',\n components: [\n { name: 'currency0', type: 'address', internalType: 'Currency' },\n { name: 'currency1', type: 'address', internalType: 'Currency' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n { name: 'hooks', type: 'address', internalType: 'contract IHooks' },\n ],\n },\n { name: 'recipient', type: 'address', internalType: 'address' },\n { name: 'startDate', type: 'uint32', internalType: 'uint32' },\n { name: 'lockDuration', type: 'uint32', internalType: 'uint32' },\n { name: 'isUnlocked', type: 'bool', internalType: 'bool' },\n {\n name: 'beneficiaries',\n type: 'tuple[]',\n internalType: 'struct BeneficiaryData[]',\n components: [\n { name: 'beneficiary', type: 'address', internalType: 'address' },\n { name: 'shares', type: 'uint96', internalType: 'uint96' },\n ],\n },\n {\n name: 'positions',\n type: 'tuple[]',\n internalType: 'struct Position[]',\n components: [\n { name: 'tickLower', type: 'int24', internalType: 'int24' },\n { name: 'tickUpper', type: 'int24', internalType: 'int24' },\n { name: 'liquidity', type: 'uint128', internalType: 'uint128' },\n { name: 'salt', type: 'bytes32', internalType: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n // StreamableFeesLocker errors\n { type: 'error', name: 'NonPositionManager', inputs: [] },\n { type: 'error', name: 'NotApprovedMigrator', inputs: [] },\n { type: 'error', name: 'PositionNotFound', inputs: [] },\n { type: 'error', name: 'PositionAlreadyUnlocked', inputs: [] },\n { type: 'error', name: 'InvalidBeneficiary', inputs: [] },\n] as const;\n\nexport const v4MulticurveMigratorAbi = [\n {\n type: 'function',\n name: 'getAssetData',\n inputs: [\n { name: 'token0', type: 'address', internalType: 'address' },\n { name: 'token1', type: 'address', internalType: 'address' },\n ],\n outputs: [\n { name: 'isToken0', type: 'bool', internalType: 'bool' },\n {\n name: 'poolKey',\n type: 'tuple',\n internalType: 'struct PoolKey',\n components: [\n { name: 'currency0', type: 'address', internalType: 'Currency' },\n { name: 'currency1', type: 'address', internalType: 'Currency' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n { name: 'hooks', type: 'address', internalType: 'contract IHooks' },\n ],\n },\n { name: 'lockDuration', type: 'uint32', internalType: 'uint32' },\n {\n name: 'curves',\n type: 'tuple[]',\n internalType: 'struct Curve[]',\n components: [\n { name: 'tickLower', type: 'int24', internalType: 'int24' },\n { name: 'tickUpper', type: 'int24', internalType: 'int24' },\n { name: 'numPositions', type: 'uint16', internalType: 'uint16' },\n { name: 'shares', type: 'uint256', internalType: 'uint256' },\n ],\n },\n {\n name: 'beneficiaries',\n type: 'tuple[]',\n internalType: 'struct BeneficiaryData[]',\n components: [\n { name: 'beneficiary', type: 'address', internalType: 'address' },\n { name: 'shares', type: 'uint96', internalType: 'uint96' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'locker',\n inputs: [],\n outputs: [\n {\n name: '',\n type: 'address',\n internalType: 'contract StreamableFeesLockerV2',\n },\n ],\n stateMutability: 'view',\n },\n // V4 Multicurve Migrator errors\n { type: 'error', name: 'PoolNotInitialized', inputs: [] },\n] as const;\n\nexport const dopplerLensAbi = [\n {\n type: 'function',\n name: 'quoteDopplerLensData',\n inputs: [\n {\n name: 'params',\n type: 'tuple',\n internalType: 'struct IV4Quoter.QuoteExactSingleParams',\n components: [\n {\n name: 'poolKey',\n type: 'tuple',\n internalType: 'struct PoolKey',\n components: [\n { name: 'currency0', type: 'address', internalType: 'Currency' },\n { name: 'currency1', type: 'address', internalType: 'Currency' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n {\n name: 'hooks',\n type: 'address',\n internalType: 'contract IHooks',\n },\n ],\n },\n { name: 'zeroForOne', type: 'bool', internalType: 'bool' },\n { name: 'exactAmount', type: 'uint128', internalType: 'uint128' },\n { name: 'hookData', type: 'bytes', internalType: 'bytes' },\n ],\n },\n ],\n outputs: [\n {\n name: 'returnData',\n type: 'tuple',\n internalType: 'struct DopplerLensReturnData',\n components: [\n { name: 'sqrtPriceX96', type: 'uint160', internalType: 'uint160' },\n { name: 'amount0', type: 'uint256', internalType: 'uint256' },\n { name: 'amount1', type: 'uint256', internalType: 'uint256' },\n { name: 'tick', type: 'int24', internalType: 'int24' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n] as const;\n\n// Minimal Bundler ABI used for atomic create + swap flows (\"bundle\")\n// Matches the V3 Bundler contract interface used in prior SDKs\nexport const bundlerAbi = [\n {\n type: 'function',\n name: 'bundle',\n inputs: [\n {\n name: 'createData',\n type: 'tuple',\n internalType: 'struct CreateParams',\n components: [\n { name: 'initialSupply', type: 'uint256', internalType: 'uint256' },\n { name: 'numTokensToSell', type: 'uint256', internalType: 'uint256' },\n { name: 'numeraire', type: 'address', internalType: 'address' },\n {\n name: 'tokenFactory',\n type: 'address',\n internalType: 'contract ITokenFactory',\n },\n { name: 'tokenFactoryData', type: 'bytes', internalType: 'bytes' },\n {\n name: 'governanceFactory',\n type: 'address',\n internalType: 'contract IGovernanceFactory',\n },\n {\n name: 'governanceFactoryData',\n type: 'bytes',\n internalType: 'bytes',\n },\n {\n name: 'poolInitializer',\n type: 'address',\n internalType: 'contract IPoolInitializer',\n },\n { name: 'poolInitializerData', type: 'bytes', internalType: 'bytes' },\n {\n name: 'liquidityMigrator',\n type: 'address',\n internalType: 'contract ILiquidityMigrator',\n },\n {\n name: 'liquidityMigratorData',\n type: 'bytes',\n internalType: 'bytes',\n },\n { name: 'integrator', type: 'address', internalType: 'address' },\n { name: 'salt', type: 'bytes32', internalType: 'bytes32' },\n ],\n },\n { name: 'commands', type: 'bytes', internalType: 'bytes' },\n { name: 'inputs', type: 'bytes[]', internalType: 'bytes[]' },\n ],\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'simulateBundleExactIn',\n inputs: [\n {\n name: 'createData',\n type: 'tuple',\n internalType: 'struct CreateParams',\n components: [\n { name: 'initialSupply', type: 'uint256', internalType: 'uint256' },\n { name: 'numTokensToSell', type: 'uint256', internalType: 'uint256' },\n { name: 'numeraire', type: 'address', internalType: 'address' },\n {\n name: 'tokenFactory',\n type: 'address',\n internalType: 'contract ITokenFactory',\n },\n { name: 'tokenFactoryData', type: 'bytes', internalType: 'bytes' },\n {\n name: 'governanceFactory',\n type: 'address',\n internalType: 'contract IGovernanceFactory',\n },\n {\n name: 'governanceFactoryData',\n type: 'bytes',\n internalType: 'bytes',\n },\n {\n name: 'poolInitializer',\n type: 'address',\n internalType: 'contract IPoolInitializer',\n },\n { name: 'poolInitializerData', type: 'bytes', internalType: 'bytes' },\n {\n name: 'liquidityMigrator',\n type: 'address',\n internalType: 'contract ILiquidityMigrator',\n },\n {\n name: 'liquidityMigratorData',\n type: 'bytes',\n internalType: 'bytes',\n },\n { name: 'integrator', type: 'address', internalType: 'address' },\n { name: 'salt', type: 'bytes32', internalType: 'bytes32' },\n ],\n },\n {\n name: 'params',\n type: 'tuple',\n internalType: 'struct IQuoterV2.QuoteExactInputSingleParams',\n components: [\n { name: 'tokenIn', type: 'address', internalType: 'address' },\n { name: 'tokenOut', type: 'address', internalType: 'address' },\n { name: 'amountIn', type: 'uint256', internalType: 'uint256' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n {\n name: 'sqrtPriceLimitX96',\n type: 'uint160',\n internalType: 'uint160',\n },\n ],\n },\n ],\n outputs: [{ name: 'amountOut', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'simulateBundleExactOut',\n inputs: [\n {\n name: 'createData',\n type: 'tuple',\n internalType: 'struct CreateParams',\n components: [\n { name: 'initialSupply', type: 'uint256', internalType: 'uint256' },\n { name: 'numTokensToSell', type: 'uint256', internalType: 'uint256' },\n { name: 'numeraire', type: 'address', internalType: 'address' },\n {\n name: 'tokenFactory',\n type: 'address',\n internalType: 'contract ITokenFactory',\n },\n { name: 'tokenFactoryData', type: 'bytes', internalType: 'bytes' },\n {\n name: 'governanceFactory',\n type: 'address',\n internalType: 'contract IGovernanceFactory',\n },\n {\n name: 'governanceFactoryData',\n type: 'bytes',\n internalType: 'bytes',\n },\n {\n name: 'poolInitializer',\n type: 'address',\n internalType: 'contract IPoolInitializer',\n },\n { name: 'poolInitializerData', type: 'bytes', internalType: 'bytes' },\n {\n name: 'liquidityMigrator',\n type: 'address',\n internalType: 'contract ILiquidityMigrator',\n },\n {\n name: 'liquidityMigratorData',\n type: 'bytes',\n internalType: 'bytes',\n },\n { name: 'integrator', type: 'address', internalType: 'address' },\n { name: 'salt', type: 'bytes32', internalType: 'bytes32' },\n ],\n },\n {\n name: 'params',\n type: 'tuple',\n internalType: 'struct IQuoterV2.QuoteExactOutputSingleParams',\n components: [\n { name: 'tokenIn', type: 'address', internalType: 'address' },\n { name: 'tokenOut', type: 'address', internalType: 'address' },\n { name: 'amount', type: 'uint256', internalType: 'uint256' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n {\n name: 'sqrtPriceLimitX96',\n type: 'uint160',\n internalType: 'uint160',\n },\n ],\n },\n ],\n outputs: [{ name: 'amountIn', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'simulateMulticurveBundleExactOut',\n inputs: [\n {\n name: 'createData',\n type: 'tuple',\n internalType: 'struct CreateParams',\n components: [\n { name: 'initialSupply', type: 'uint256', internalType: 'uint256' },\n { name: 'numTokensToSell', type: 'uint256', internalType: 'uint256' },\n { name: 'numeraire', type: 'address', internalType: 'address' },\n {\n name: 'tokenFactory',\n type: 'address',\n internalType: 'contract ITokenFactory',\n },\n { name: 'tokenFactoryData', type: 'bytes', internalType: 'bytes' },\n {\n name: 'governanceFactory',\n type: 'address',\n internalType: 'contract IGovernanceFactory',\n },\n {\n name: 'governanceFactoryData',\n type: 'bytes',\n internalType: 'bytes',\n },\n {\n name: 'poolInitializer',\n type: 'address',\n internalType: 'contract IPoolInitializer',\n },\n { name: 'poolInitializerData', type: 'bytes', internalType: 'bytes' },\n {\n name: 'liquidityMigrator',\n type: 'address',\n internalType: 'contract ILiquidityMigrator',\n },\n {\n name: 'liquidityMigratorData',\n type: 'bytes',\n internalType: 'bytes',\n },\n { name: 'integrator', type: 'address', internalType: 'address' },\n { name: 'salt', type: 'bytes32', internalType: 'bytes32' },\n ],\n },\n { name: 'exactAmountOut', type: 'uint128', internalType: 'uint128' },\n { name: 'hookData', type: 'bytes', internalType: 'bytes' },\n ],\n outputs: [\n { name: 'asset', type: 'address', internalType: 'address' },\n {\n name: 'poolKey',\n type: 'tuple',\n internalType: 'struct PoolKey',\n components: [\n { name: 'currency0', type: 'address', internalType: 'Currency' },\n { name: 'currency1', type: 'address', internalType: 'Currency' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n { name: 'hooks', type: 'address', internalType: 'contract IHooks' },\n ],\n },\n { name: 'amountIn', type: 'uint256', internalType: 'uint256' },\n { name: 'gasEstimate', type: 'uint256', internalType: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'simulateMulticurveBundleExactIn',\n inputs: [\n {\n name: 'createData',\n type: 'tuple',\n internalType: 'struct CreateParams',\n components: [\n { name: 'initialSupply', type: 'uint256', internalType: 'uint256' },\n { name: 'numTokensToSell', type: 'uint256', internalType: 'uint256' },\n { name: 'numeraire', type: 'address', internalType: 'address' },\n {\n name: 'tokenFactory',\n type: 'address',\n internalType: 'contract ITokenFactory',\n },\n { name: 'tokenFactoryData', type: 'bytes', internalType: 'bytes' },\n {\n name: 'governanceFactory',\n type: 'address',\n internalType: 'contract IGovernanceFactory',\n },\n {\n name: 'governanceFactoryData',\n type: 'bytes',\n internalType: 'bytes',\n },\n {\n name: 'poolInitializer',\n type: 'address',\n internalType: 'contract IPoolInitializer',\n },\n { name: 'poolInitializerData', type: 'bytes', internalType: 'bytes' },\n {\n name: 'liquidityMigrator',\n type: 'address',\n internalType: 'contract ILiquidityMigrator',\n },\n {\n name: 'liquidityMigratorData',\n type: 'bytes',\n internalType: 'bytes',\n },\n { name: 'integrator', type: 'address', internalType: 'address' },\n { name: 'salt', type: 'bytes32', internalType: 'bytes32' },\n ],\n },\n { name: 'exactAmountIn', type: 'uint128', internalType: 'uint128' },\n { name: 'hookData', type: 'bytes', internalType: 'bytes' },\n ],\n outputs: [\n { name: 'asset', type: 'address', internalType: 'address' },\n {\n name: 'poolKey',\n type: 'tuple',\n internalType: 'struct PoolKey',\n components: [\n { name: 'currency0', type: 'address', internalType: 'Currency' },\n { name: 'currency1', type: 'address', internalType: 'Currency' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n { name: 'hooks', type: 'address', internalType: 'contract IHooks' },\n ],\n },\n { name: 'amountOut', type: 'uint256', internalType: 'uint256' },\n { name: 'gasEstimate', type: 'uint256', internalType: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'error', name: 'InvalidAddresses', inputs: [] },\n { type: 'error', name: 'InvalidBundleData', inputs: [] },\n { type: 'error', name: 'InvalidOutputToken', inputs: [] },\n] as const;\n\nexport const poolManagerAbi = [\n {\n type: 'function',\n name: 'swap',\n inputs: [\n {\n name: 'key',\n type: 'tuple',\n internalType: 'struct PoolKey',\n components: [\n { name: 'currency0', type: 'address', internalType: 'Currency' },\n { name: 'currency1', type: 'address', internalType: 'Currency' },\n { name: 'fee', type: 'uint24', internalType: 'uint24' },\n { name: 'tickSpacing', type: 'int24', internalType: 'int24' },\n { name: 'hooks', type: 'address', internalType: 'contract IHooks' },\n ],\n },\n {\n name: 'params',\n type: 'tuple',\n internalType: 'struct IPoolManager.SwapParams',\n components: [\n { name: 'zeroForOne', type: 'bool', internalType: 'bool' },\n { name: 'amountSpecified', type: 'int256', internalType: 'int256' },\n {\n name: 'sqrtPriceLimitX96',\n type: 'uint160',\n internalType: 'uint160',\n },\n ],\n },\n { name: 'hookData', type: 'bytes', internalType: 'bytes' },\n ],\n outputs: [\n { name: 'swapDelta', type: 'int256', internalType: 'BalanceDelta' },\n ],\n stateMutability: 'nonpayable',\n },\n] as const;\n\nexport const weth9Abi = [\n {\n type: 'function',\n name: 'deposit',\n inputs: [],\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n name: 'withdraw',\n inputs: [{ name: 'wad', type: 'uint256', internalType: 'uint256' }],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'approve',\n inputs: [\n { name: 'spender', type: 'address', internalType: 'address' },\n { name: 'amount', type: 'uint256', internalType: 'uint256' },\n ],\n outputs: [{ name: '', type: 'bool', internalType: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'balanceOf',\n inputs: [{ name: 'owner', type: 'address', internalType: 'address' }],\n outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }],\n stateMutability: 'view',\n },\n] as const;\n\nexport const rehypeDopplerHookAbi = [\n {\n type: 'function',\n name: 'INITIALIZER',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'claimAirlockOwnerFees',\n inputs: [{ name: 'asset', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'fees0', type: 'uint128', internalType: 'uint128' },\n { name: 'fees1', type: 'uint128', internalType: 'uint128' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'collectFees',\n inputs: [{ name: 'asset', type: 'address', internalType: 'address' }],\n outputs: [{ name: 'fees', type: 'int256', internalType: 'BalanceDelta' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'getFeeDistributionInfo',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [\n {\n name: 'assetFeesToAssetBuybackWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'assetFeesToNumeraireBuybackWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'assetFeesToBeneficiaryWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n { name: 'assetFeesToLpWad', type: 'uint256', internalType: 'uint256' },\n {\n name: 'numeraireFeesToAssetBuybackWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'numeraireFeesToNumeraireBuybackWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'numeraireFeesToBeneficiaryWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'numeraireFeesToLpWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getFeeRoutingMode',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [{ name: '', type: 'uint8', internalType: 'enum FeeRoutingMode' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getFeeSchedule',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [\n { name: 'startingTime', type: 'uint32', internalType: 'uint32' },\n { name: 'startFee', type: 'uint24', internalType: 'uint24' },\n { name: 'endFee', type: 'uint24', internalType: 'uint24' },\n { name: 'lastFee', type: 'uint24', internalType: 'uint24' },\n { name: 'durationSeconds', type: 'uint32', internalType: 'uint32' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getHookFees',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [\n { name: 'fees0', type: 'uint128', internalType: 'uint128' },\n { name: 'fees1', type: 'uint128', internalType: 'uint128' },\n { name: 'beneficiaryFees0', type: 'uint128', internalType: 'uint128' },\n { name: 'beneficiaryFees1', type: 'uint128', internalType: 'uint128' },\n { name: 'airlockOwnerFees0', type: 'uint128', internalType: 'uint128' },\n { name: 'airlockOwnerFees1', type: 'uint128', internalType: 'uint128' },\n { name: 'customFee', type: 'uint24', internalType: 'uint24' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getPoolInfo',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [\n { name: 'asset', type: 'address', internalType: 'address' },\n { name: 'numeraire', type: 'address', internalType: 'address' },\n { name: 'buybackDst', type: 'address', internalType: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getPosition',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [\n { name: 'tickLower', type: 'int24', internalType: 'int24' },\n { name: 'tickUpper', type: 'int24', internalType: 'int24' },\n { name: 'liquidity', type: 'uint128', internalType: 'uint128' },\n { name: 'salt', type: 'bytes32', internalType: 'bytes32' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'poolManager',\n inputs: [],\n outputs: [\n { name: '', type: 'address', internalType: 'contract IPoolManager' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'quoter',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'contract Quoter' }],\n stateMutability: 'view',\n },\n { type: 'error', name: 'FeeDistributionMustAddUpToWAD', inputs: [] },\n { type: 'error', name: 'SenderNotAirlockOwner', inputs: [] },\n { type: 'error', name: 'SenderNotInitializer', inputs: [] },\n] as const;\n\nexport const rehypeDopplerHookMigratorAbi = [\n {\n type: 'function',\n name: 'MIGRATOR',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'claimAirlockOwnerFees',\n inputs: [{ name: 'asset', type: 'address', internalType: 'address' }],\n outputs: [\n { name: 'fees0', type: 'uint128', internalType: 'uint128' },\n { name: 'fees1', type: 'uint128', internalType: 'uint128' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'collectFees',\n inputs: [{ name: 'asset', type: 'address', internalType: 'address' }],\n outputs: [{ name: 'fees', type: 'int256', internalType: 'BalanceDelta' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n name: 'getFeeDistributionInfo',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [\n {\n name: 'assetFeesToAssetBuybackWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'assetFeesToNumeraireBuybackWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'assetFeesToBeneficiaryWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n { name: 'assetFeesToLpWad', type: 'uint256', internalType: 'uint256' },\n {\n name: 'numeraireFeesToAssetBuybackWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'numeraireFeesToNumeraireBuybackWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'numeraireFeesToBeneficiaryWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'numeraireFeesToLpWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getFeeRoutingMode',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [{ name: '', type: 'uint8', internalType: 'enum FeeRoutingMode' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getHookFees',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [\n { name: 'fees0', type: 'uint128', internalType: 'uint128' },\n { name: 'fees1', type: 'uint128', internalType: 'uint128' },\n { name: 'beneficiaryFees0', type: 'uint128', internalType: 'uint128' },\n { name: 'beneficiaryFees1', type: 'uint128', internalType: 'uint128' },\n { name: 'airlockOwnerFees0', type: 'uint128', internalType: 'uint128' },\n { name: 'airlockOwnerFees1', type: 'uint128', internalType: 'uint128' },\n { name: 'customFee', type: 'uint24', internalType: 'uint24' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getPoolInfo',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [\n { name: 'asset', type: 'address', internalType: 'address' },\n { name: 'numeraire', type: 'address', internalType: 'address' },\n { name: 'buybackDst', type: 'address', internalType: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'getPosition',\n inputs: [{ name: 'poolId', type: 'bytes32', internalType: 'PoolId' }],\n outputs: [\n { name: 'tickLower', type: 'int24', internalType: 'int24' },\n { name: 'tickUpper', type: 'int24', internalType: 'int24' },\n { name: 'liquidity', type: 'uint128', internalType: 'uint128' },\n { name: 'salt', type: 'bytes32', internalType: 'bytes32' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'poolManager',\n inputs: [],\n outputs: [\n { name: '', type: 'address', internalType: 'contract IPoolManager' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'quoter',\n inputs: [],\n outputs: [{ name: '', type: 'address', internalType: 'contract Quoter' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n name: 'setFeeDistribution',\n inputs: [\n { name: 'poolId', type: 'bytes32', internalType: 'PoolId' },\n {\n name: 'assetFeesToAssetBuybackWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'assetFeesToNumeraireBuybackWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'assetFeesToBeneficiaryWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n { name: 'assetFeesToLpWad', type: 'uint256', internalType: 'uint256' },\n {\n name: 'numeraireFeesToAssetBuybackWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'numeraireFeesToNumeraireBuybackWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'numeraireFeesToBeneficiaryWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'numeraireFeesToLpWad',\n type: 'uint256',\n internalType: 'uint256',\n },\n ],\n outputs: [],\n stateMutability: 'nonpayable',\n },\n { type: 'error', name: 'FeeDistributionMustAddUpToWAD', inputs: [] },\n { type: 'error', name: 'SenderNotAirlockOwner', inputs: [] },\n { type: 'error', name: 'SenderNotAuthorized', inputs: [] },\n] as const;\n\n// Export bytecodes for CREATE2 address calculation\nexport {\n DERC20Bytecode,\n DERC2080Bytecode,\n DopplerBytecode,\n DopplerDN404Bytecode,\n StateViewBytecode,\n} from './bytecodes';\n"]}
|
package/dist/chunk-OCIY7QEJ.mjs
DELETED
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import { decodeBalanceDelta } from './chunk-KOAC3BBP.mjs';
|
|
2
|
-
import { rehypeDopplerHookMigratorAbi } from './chunk-JLUOFAE4.mjs';
|
|
3
|
-
|
|
4
|
-
// src/entities/auction/RehypeDopplerHookMigrator.ts
|
|
5
|
-
var RehypeDopplerHookMigrator = class {
|
|
6
|
-
get rpc() {
|
|
7
|
-
return this.client;
|
|
8
|
-
}
|
|
9
|
-
constructor(client, walletClient, hookAddress) {
|
|
10
|
-
this.client = client;
|
|
11
|
-
this.walletClient = walletClient;
|
|
12
|
-
this.hookAddress = hookAddress;
|
|
13
|
-
}
|
|
14
|
-
getAddress() {
|
|
15
|
-
return this.hookAddress;
|
|
16
|
-
}
|
|
17
|
-
async collectFees(asset) {
|
|
18
|
-
if (!this.walletClient) {
|
|
19
|
-
throw new Error("Wallet client required to collect rehype fees");
|
|
20
|
-
}
|
|
21
|
-
const { request, result } = await this.rpc.simulateContract({
|
|
22
|
-
address: this.hookAddress,
|
|
23
|
-
abi: rehypeDopplerHookMigratorAbi,
|
|
24
|
-
functionName: "collectFees",
|
|
25
|
-
args: [asset],
|
|
26
|
-
account: this.walletClient.account
|
|
27
|
-
});
|
|
28
|
-
const hash = await this.walletClient.writeContract(request);
|
|
29
|
-
await this.rpc.waitForTransactionReceipt({ hash, confirmations: 1 });
|
|
30
|
-
const decoded = decodeBalanceDelta(result);
|
|
31
|
-
return {
|
|
32
|
-
amount0: decoded.amount0,
|
|
33
|
-
amount1: decoded.amount1,
|
|
34
|
-
transactionHash: hash
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
async claimAirlockOwnerFees(asset) {
|
|
38
|
-
if (!this.walletClient) {
|
|
39
|
-
throw new Error("Wallet client required to claim rehype owner fees");
|
|
40
|
-
}
|
|
41
|
-
const { request, result } = await this.rpc.simulateContract({
|
|
42
|
-
address: this.hookAddress,
|
|
43
|
-
abi: rehypeDopplerHookMigratorAbi,
|
|
44
|
-
functionName: "claimAirlockOwnerFees",
|
|
45
|
-
args: [asset],
|
|
46
|
-
account: this.walletClient.account
|
|
47
|
-
});
|
|
48
|
-
const hash = await this.walletClient.writeContract(request);
|
|
49
|
-
await this.rpc.waitForTransactionReceipt({ hash, confirmations: 1 });
|
|
50
|
-
const [fees0, fees1] = result;
|
|
51
|
-
return { fees0, fees1, transactionHash: hash };
|
|
52
|
-
}
|
|
53
|
-
async setFeeDistribution(poolId, feeDistributionInfo) {
|
|
54
|
-
if (!this.walletClient) {
|
|
55
|
-
throw new Error("Wallet client required to set rehype fee distribution");
|
|
56
|
-
}
|
|
57
|
-
const { request } = await this.rpc.simulateContract({
|
|
58
|
-
address: this.hookAddress,
|
|
59
|
-
abi: rehypeDopplerHookMigratorAbi,
|
|
60
|
-
functionName: "setFeeDistribution",
|
|
61
|
-
args: [
|
|
62
|
-
poolId,
|
|
63
|
-
feeDistributionInfo.assetFeesToAssetBuybackWad,
|
|
64
|
-
feeDistributionInfo.assetFeesToNumeraireBuybackWad,
|
|
65
|
-
feeDistributionInfo.assetFeesToBeneficiaryWad,
|
|
66
|
-
feeDistributionInfo.assetFeesToLpWad,
|
|
67
|
-
feeDistributionInfo.numeraireFeesToAssetBuybackWad,
|
|
68
|
-
feeDistributionInfo.numeraireFeesToNumeraireBuybackWad,
|
|
69
|
-
feeDistributionInfo.numeraireFeesToBeneficiaryWad,
|
|
70
|
-
feeDistributionInfo.numeraireFeesToLpWad
|
|
71
|
-
],
|
|
72
|
-
account: this.walletClient.account
|
|
73
|
-
});
|
|
74
|
-
const hash = await this.walletClient.writeContract(request);
|
|
75
|
-
await this.rpc.waitForTransactionReceipt({ hash, confirmations: 1 });
|
|
76
|
-
return hash;
|
|
77
|
-
}
|
|
78
|
-
async getFeeDistributionInfo(poolId) {
|
|
79
|
-
const result = await this.rpc.readContract({
|
|
80
|
-
address: this.hookAddress,
|
|
81
|
-
abi: rehypeDopplerHookMigratorAbi,
|
|
82
|
-
functionName: "getFeeDistributionInfo",
|
|
83
|
-
args: [poolId]
|
|
84
|
-
});
|
|
85
|
-
const info = result;
|
|
86
|
-
return {
|
|
87
|
-
assetFeesToAssetBuybackWad: BigInt(
|
|
88
|
-
info.assetFeesToAssetBuybackWad ?? info[0]
|
|
89
|
-
),
|
|
90
|
-
assetFeesToNumeraireBuybackWad: BigInt(
|
|
91
|
-
info.assetFeesToNumeraireBuybackWad ?? info[1]
|
|
92
|
-
),
|
|
93
|
-
assetFeesToBeneficiaryWad: BigInt(
|
|
94
|
-
info.assetFeesToBeneficiaryWad ?? info[2]
|
|
95
|
-
),
|
|
96
|
-
assetFeesToLpWad: BigInt(info.assetFeesToLpWad ?? info[3]),
|
|
97
|
-
numeraireFeesToAssetBuybackWad: BigInt(
|
|
98
|
-
info.numeraireFeesToAssetBuybackWad ?? info[4]
|
|
99
|
-
),
|
|
100
|
-
numeraireFeesToNumeraireBuybackWad: BigInt(
|
|
101
|
-
info.numeraireFeesToNumeraireBuybackWad ?? info[5]
|
|
102
|
-
),
|
|
103
|
-
numeraireFeesToBeneficiaryWad: BigInt(
|
|
104
|
-
info.numeraireFeesToBeneficiaryWad ?? info[6]
|
|
105
|
-
),
|
|
106
|
-
numeraireFeesToLpWad: BigInt(info.numeraireFeesToLpWad ?? info[7])
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
async getFeeRoutingMode(poolId) {
|
|
110
|
-
const mode = await this.rpc.readContract({
|
|
111
|
-
address: this.hookAddress,
|
|
112
|
-
abi: rehypeDopplerHookMigratorAbi,
|
|
113
|
-
functionName: "getFeeRoutingMode",
|
|
114
|
-
args: [poolId]
|
|
115
|
-
});
|
|
116
|
-
return Number(mode);
|
|
117
|
-
}
|
|
118
|
-
async getHookFees(poolId) {
|
|
119
|
-
const result = await this.rpc.readContract({
|
|
120
|
-
address: this.hookAddress,
|
|
121
|
-
abi: rehypeDopplerHookMigratorAbi,
|
|
122
|
-
functionName: "getHookFees",
|
|
123
|
-
args: [poolId]
|
|
124
|
-
});
|
|
125
|
-
const fees = result;
|
|
126
|
-
return {
|
|
127
|
-
fees0: BigInt(fees.fees0 ?? fees[0] ?? 0),
|
|
128
|
-
fees1: BigInt(fees.fees1 ?? fees[1] ?? 0),
|
|
129
|
-
beneficiaryFees0: BigInt(fees.beneficiaryFees0 ?? fees[2] ?? 0),
|
|
130
|
-
beneficiaryFees1: BigInt(fees.beneficiaryFees1 ?? fees[3] ?? 0),
|
|
131
|
-
airlockOwnerFees0: BigInt(fees.airlockOwnerFees0 ?? fees[4] ?? 0),
|
|
132
|
-
airlockOwnerFees1: BigInt(fees.airlockOwnerFees1 ?? fees[5] ?? 0),
|
|
133
|
-
customFee: Number(fees.customFee ?? fees[6] ?? 0)
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
async getPoolInfo(poolId) {
|
|
137
|
-
const result = await this.rpc.readContract({
|
|
138
|
-
address: this.hookAddress,
|
|
139
|
-
abi: rehypeDopplerHookMigratorAbi,
|
|
140
|
-
functionName: "getPoolInfo",
|
|
141
|
-
args: [poolId]
|
|
142
|
-
});
|
|
143
|
-
const info = result;
|
|
144
|
-
return {
|
|
145
|
-
asset: info.asset ?? info[0],
|
|
146
|
-
numeraire: info.numeraire ?? info[1],
|
|
147
|
-
buybackDst: info.buybackDst ?? info[2]
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
async getPosition(poolId) {
|
|
151
|
-
const result = await this.rpc.readContract({
|
|
152
|
-
address: this.hookAddress,
|
|
153
|
-
abi: rehypeDopplerHookMigratorAbi,
|
|
154
|
-
functionName: "getPosition",
|
|
155
|
-
args: [poolId]
|
|
156
|
-
});
|
|
157
|
-
const position = result;
|
|
158
|
-
return {
|
|
159
|
-
tickLower: Number(position.tickLower ?? position[0] ?? 0),
|
|
160
|
-
tickUpper: Number(position.tickUpper ?? position[1] ?? 0),
|
|
161
|
-
liquidity: BigInt(position.liquidity ?? position[2] ?? 0),
|
|
162
|
-
salt: position.salt ?? position[3]
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
export { RehypeDopplerHookMigrator };
|
|
168
|
-
//# sourceMappingURL=chunk-OCIY7QEJ.mjs.map
|
|
169
|
-
//# sourceMappingURL=chunk-OCIY7QEJ.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/entities/auction/RehypeDopplerHookMigrator.ts"],"names":[],"mappings":"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","file":"chunk-OCIY7QEJ.mjs","sourcesContent":["import type { Address, Hash, Hex, PublicClient, WalletClient } from 'viem';\nimport type {\n RehypeFeeDistributionInfo,\n SupportedPublicClient,\n} from '../../types';\nimport { rehypeDopplerHookMigratorAbi } from '../../abis';\nimport { decodeBalanceDelta } from '../../utils';\n\nexport class RehypeDopplerHookMigrator {\n private client: SupportedPublicClient;\n private walletClient?: WalletClient;\n private hookAddress: Address;\n private get rpc(): PublicClient {\n return this.client as PublicClient;\n }\n\n constructor(\n client: SupportedPublicClient,\n walletClient: WalletClient | undefined,\n hookAddress: Address,\n ) {\n this.client = client;\n this.walletClient = walletClient;\n this.hookAddress = hookAddress;\n }\n\n getAddress(): Address {\n return this.hookAddress;\n }\n\n async collectFees(asset: Address): Promise<{\n amount0: bigint;\n amount1: bigint;\n transactionHash: Hash;\n }> {\n if (!this.walletClient) {\n throw new Error('Wallet client required to collect rehype fees');\n }\n\n const { request, result } = await this.rpc.simulateContract({\n address: this.hookAddress,\n abi: rehypeDopplerHookMigratorAbi,\n functionName: 'collectFees',\n args: [asset],\n account: this.walletClient.account,\n });\n\n const hash = await this.walletClient.writeContract(request);\n await this.rpc.waitForTransactionReceipt({ hash, confirmations: 1 });\n\n const decoded = decodeBalanceDelta(result as bigint);\n return {\n amount0: decoded.amount0,\n amount1: decoded.amount1,\n transactionHash: hash,\n };\n }\n\n async claimAirlockOwnerFees(asset: Address): Promise<{\n fees0: bigint;\n fees1: bigint;\n transactionHash: Hash;\n }> {\n if (!this.walletClient) {\n throw new Error('Wallet client required to claim rehype owner fees');\n }\n\n const { request, result } = await this.rpc.simulateContract({\n address: this.hookAddress,\n abi: rehypeDopplerHookMigratorAbi,\n functionName: 'claimAirlockOwnerFees',\n args: [asset],\n account: this.walletClient.account,\n });\n\n const hash = await this.walletClient.writeContract(request);\n await this.rpc.waitForTransactionReceipt({ hash, confirmations: 1 });\n\n const [fees0, fees1] = result as readonly [bigint, bigint];\n return { fees0, fees1, transactionHash: hash };\n }\n\n async setFeeDistribution(\n poolId: Hex,\n feeDistributionInfo: RehypeFeeDistributionInfo,\n ): Promise<Hash> {\n if (!this.walletClient) {\n throw new Error('Wallet client required to set rehype fee distribution');\n }\n\n const { request } = await this.rpc.simulateContract({\n address: this.hookAddress,\n abi: rehypeDopplerHookMigratorAbi,\n functionName: 'setFeeDistribution',\n args: [\n poolId,\n feeDistributionInfo.assetFeesToAssetBuybackWad,\n feeDistributionInfo.assetFeesToNumeraireBuybackWad,\n feeDistributionInfo.assetFeesToBeneficiaryWad,\n feeDistributionInfo.assetFeesToLpWad,\n feeDistributionInfo.numeraireFeesToAssetBuybackWad,\n feeDistributionInfo.numeraireFeesToNumeraireBuybackWad,\n feeDistributionInfo.numeraireFeesToBeneficiaryWad,\n feeDistributionInfo.numeraireFeesToLpWad,\n ],\n account: this.walletClient.account,\n });\n\n const hash = await this.walletClient.writeContract(request);\n await this.rpc.waitForTransactionReceipt({ hash, confirmations: 1 });\n return hash;\n }\n\n async getFeeDistributionInfo(\n poolId: Hex,\n ): Promise<RehypeFeeDistributionInfo> {\n const result = await this.rpc.readContract({\n address: this.hookAddress,\n abi: rehypeDopplerHookMigratorAbi,\n functionName: 'getFeeDistributionInfo',\n args: [poolId],\n });\n\n const info = result as any;\n return {\n assetFeesToAssetBuybackWad: BigInt(\n info.assetFeesToAssetBuybackWad ?? info[0],\n ),\n assetFeesToNumeraireBuybackWad: BigInt(\n info.assetFeesToNumeraireBuybackWad ?? info[1],\n ),\n assetFeesToBeneficiaryWad: BigInt(\n info.assetFeesToBeneficiaryWad ?? info[2],\n ),\n assetFeesToLpWad: BigInt(info.assetFeesToLpWad ?? info[3]),\n numeraireFeesToAssetBuybackWad: BigInt(\n info.numeraireFeesToAssetBuybackWad ?? info[4],\n ),\n numeraireFeesToNumeraireBuybackWad: BigInt(\n info.numeraireFeesToNumeraireBuybackWad ?? info[5],\n ),\n numeraireFeesToBeneficiaryWad: BigInt(\n info.numeraireFeesToBeneficiaryWad ?? info[6],\n ),\n numeraireFeesToLpWad: BigInt(info.numeraireFeesToLpWad ?? info[7]),\n };\n }\n\n async getFeeRoutingMode(poolId: Hex): Promise<number> {\n const mode = await this.rpc.readContract({\n address: this.hookAddress,\n abi: rehypeDopplerHookMigratorAbi,\n functionName: 'getFeeRoutingMode',\n args: [poolId],\n });\n return Number(mode);\n }\n\n async getHookFees(poolId: Hex): Promise<{\n fees0: bigint;\n fees1: bigint;\n beneficiaryFees0: bigint;\n beneficiaryFees1: bigint;\n airlockOwnerFees0: bigint;\n airlockOwnerFees1: bigint;\n customFee: number;\n }> {\n const result = await this.rpc.readContract({\n address: this.hookAddress,\n abi: rehypeDopplerHookMigratorAbi,\n functionName: 'getHookFees',\n args: [poolId],\n });\n\n const fees = result as any;\n return {\n fees0: BigInt(fees.fees0 ?? fees[0] ?? 0),\n fees1: BigInt(fees.fees1 ?? fees[1] ?? 0),\n beneficiaryFees0: BigInt(fees.beneficiaryFees0 ?? fees[2] ?? 0),\n beneficiaryFees1: BigInt(fees.beneficiaryFees1 ?? fees[3] ?? 0),\n airlockOwnerFees0: BigInt(fees.airlockOwnerFees0 ?? fees[4] ?? 0),\n airlockOwnerFees1: BigInt(fees.airlockOwnerFees1 ?? fees[5] ?? 0),\n customFee: Number(fees.customFee ?? fees[6] ?? 0),\n };\n }\n\n async getPoolInfo(poolId: Hex): Promise<{\n asset: Address;\n numeraire: Address;\n buybackDst: Address;\n }> {\n const result = await this.rpc.readContract({\n address: this.hookAddress,\n abi: rehypeDopplerHookMigratorAbi,\n functionName: 'getPoolInfo',\n args: [poolId],\n });\n\n const info = result as any;\n return {\n asset: (info.asset ?? info[0]) as Address,\n numeraire: (info.numeraire ?? info[1]) as Address,\n buybackDst: (info.buybackDst ?? info[2]) as Address,\n };\n }\n\n async getPosition(poolId: Hex): Promise<{\n tickLower: number;\n tickUpper: number;\n liquidity: bigint;\n salt: Hex;\n }> {\n const result = await this.rpc.readContract({\n address: this.hookAddress,\n abi: rehypeDopplerHookMigratorAbi,\n functionName: 'getPosition',\n args: [poolId],\n });\n\n const position = result as any;\n return {\n tickLower: Number(position.tickLower ?? position[0] ?? 0),\n tickUpper: Number(position.tickUpper ?? position[1] ?? 0),\n liquidity: BigInt(position.liquidity ?? position[2] ?? 0),\n salt: (position.salt ?? position[3]) as Hex,\n };\n }\n}\n"]}
|