@whetstone-research/doppler-sdk 0.0.1-alpha.8 → 0.0.1
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/LICENSE +21 -0
- package/README.md +726 -25
- package/dist/DopplerSDK.d.mts +45 -7
- package/dist/DopplerSDK.d.ts +45 -7
- package/dist/DopplerSDK.js +35 -12
- package/dist/DopplerSDK.mjs +34 -11
- package/dist/abis/bytecodes.d.mts +3 -2
- package/dist/abis/bytecodes.d.ts +3 -2
- package/dist/abis/bytecodes.js +9 -6
- package/dist/abis/bytecodes.mjs +1 -2
- package/dist/abis/index.d.mts +1507 -129
- package/dist/abis/index.d.ts +1507 -129
- package/dist/abis/index.js +43 -20
- package/dist/abis/index.mjs +2 -3
- package/dist/addresses.d.mts +16 -3
- package/dist/addresses.d.ts +16 -3
- package/dist/addresses.js +13 -5
- package/dist/addresses.mjs +2 -2
- package/dist/builders/DynamicAuctionBuilder.d.mts +119 -0
- package/dist/builders/DynamicAuctionBuilder.d.ts +119 -0
- package/dist/builders/DynamicAuctionBuilder.js +29 -0
- package/dist/builders/DynamicAuctionBuilder.js.map +1 -0
- package/dist/builders/DynamicAuctionBuilder.mjs +20 -0
- package/dist/builders/DynamicAuctionBuilder.mjs.map +1 -0
- package/dist/builders/MulticurveBuilder.d.mts +132 -0
- package/dist/builders/MulticurveBuilder.d.ts +132 -0
- package/dist/builders/MulticurveBuilder.js +29 -0
- package/dist/builders/MulticurveBuilder.js.map +1 -0
- package/dist/builders/MulticurveBuilder.mjs +20 -0
- package/dist/builders/MulticurveBuilder.mjs.map +1 -0
- package/dist/builders/StaticAuctionBuilder.d.mts +124 -0
- package/dist/builders/StaticAuctionBuilder.d.ts +124 -0
- package/dist/builders/StaticAuctionBuilder.js +29 -0
- package/dist/builders/StaticAuctionBuilder.js.map +1 -0
- package/dist/builders/StaticAuctionBuilder.mjs +20 -0
- package/dist/builders/StaticAuctionBuilder.mjs.map +1 -0
- package/dist/builders/index.d.mts +8 -0
- package/dist/builders/index.d.ts +8 -0
- package/dist/builders/index.js +56 -0
- package/dist/builders/index.js.map +1 -0
- package/dist/builders/index.mjs +23 -0
- package/dist/builders/index.mjs.map +1 -0
- package/dist/builders/shared.d.mts +116 -0
- package/dist/builders/shared.d.ts +116 -0
- package/dist/builders/shared.js +39 -0
- package/dist/builders/shared.js.map +1 -0
- package/dist/builders/shared.mjs +18 -0
- package/dist/builders/shared.mjs.map +1 -0
- package/dist/builders.d.mts +8 -131
- package/dist/builders.d.ts +8 -131
- package/dist/builders.js +44 -5
- package/dist/builders.mjs +22 -3
- package/dist/chunk-3PNCB4W5.js +4 -0
- package/dist/{chunk-KRN3ROUE.js.map → chunk-3PNCB4W5.js.map} +1 -1
- package/dist/chunk-3RK7LRAA.js +282 -0
- package/dist/chunk-3RK7LRAA.js.map +1 -0
- package/dist/chunk-4HM3ERBU.js +13 -0
- package/dist/chunk-4HM3ERBU.js.map +1 -0
- package/dist/{chunk-7W72MFJO.mjs → chunk-4TROGENW.mjs} +5 -4
- package/dist/chunk-4TROGENW.mjs.map +1 -0
- package/dist/chunk-5TL5V6UX.mjs +3 -0
- package/dist/{chunk-AZLFJNTG.mjs.map → chunk-5TL5V6UX.mjs.map} +1 -1
- package/dist/chunk-64AWG57M.mjs +192 -0
- package/dist/chunk-64AWG57M.mjs.map +1 -0
- package/dist/chunk-6KWCHTK3.js +166 -0
- package/dist/chunk-6KWCHTK3.js.map +1 -0
- package/dist/chunk-6OOWOPCX.js +1708 -0
- package/dist/chunk-6OOWOPCX.js.map +1 -0
- package/dist/chunk-7BBRPWQJ.js +257 -0
- package/dist/chunk-7BBRPWQJ.js.map +1 -0
- package/dist/{chunk-FVTIDXYK.mjs → chunk-AKSEBAR7.mjs} +29 -19
- package/dist/chunk-AKSEBAR7.mjs.map +1 -0
- package/dist/chunk-AS64GWBX.js +204 -0
- package/dist/chunk-AS64GWBX.js.map +1 -0
- package/dist/chunk-AULFBXM5.mjs +331 -0
- package/dist/chunk-AULFBXM5.mjs.map +1 -0
- package/dist/chunk-AW3WR2D3.mjs +238 -0
- package/dist/chunk-AW3WR2D3.mjs.map +1 -0
- package/dist/chunk-BIQQ53O2.js +45 -0
- package/dist/chunk-BIQQ53O2.js.map +1 -0
- package/dist/chunk-C6MPV3CY.js +260 -0
- package/dist/chunk-C6MPV3CY.js.map +1 -0
- package/dist/{chunk-AYPP5JEQ.mjs → chunk-CLEQO6GU.mjs} +5 -5
- package/dist/chunk-CLEQO6GU.mjs.map +1 -0
- package/dist/chunk-CVHPLURA.js +147 -0
- package/dist/chunk-CVHPLURA.js.map +1 -0
- package/dist/chunk-D2RBCFNW.mjs +130 -0
- package/dist/chunk-D2RBCFNW.mjs.map +1 -0
- package/dist/chunk-ECD4FV3A.mjs +11 -0
- package/dist/chunk-ECD4FV3A.mjs.map +1 -0
- package/dist/chunk-EDJBZPMW.mjs +255 -0
- package/dist/chunk-EDJBZPMW.mjs.map +1 -0
- package/dist/chunk-FPAI4QYW.mjs +145 -0
- package/dist/chunk-FPAI4QYW.mjs.map +1 -0
- package/dist/chunk-HM25ZMO3.js +18 -0
- package/dist/chunk-HM25ZMO3.js.map +1 -0
- package/dist/chunk-IHC6UYKK.js +4 -0
- package/dist/{chunk-DRBRT57F.js.map → chunk-IHC6UYKK.js.map} +1 -1
- package/dist/{chunk-DMAHXBA5.mjs → chunk-J5BFFL3X.mjs} +87 -47
- package/dist/chunk-J5BFFL3X.mjs.map +1 -0
- package/dist/chunk-JIKAD4YL.js +4 -0
- package/dist/{chunk-KEXKKQVW.js.map → chunk-JIKAD4YL.js.map} +1 -1
- package/dist/{chunk-EFAPDN4J.js → chunk-JWEXGALU.js} +730 -33
- package/dist/chunk-JWEXGALU.js.map +1 -0
- package/dist/{chunk-4K5GBNQV.mjs → chunk-KDT76YQE.mjs} +52 -13
- package/dist/chunk-KDT76YQE.mjs.map +1 -0
- package/dist/chunk-LMQLMMEX.js +317 -0
- package/dist/chunk-LMQLMMEX.js.map +1 -0
- package/dist/{chunk-TOMVBPNZ.js → chunk-LS4TK6SX.js} +9 -4
- package/dist/chunk-LS4TK6SX.js.map +1 -0
- package/dist/chunk-M4WMHD3X.mjs +40 -0
- package/dist/chunk-M4WMHD3X.mjs.map +1 -0
- package/dist/chunk-MCOK3UFR.mjs +280 -0
- package/dist/chunk-MCOK3UFR.mjs.map +1 -0
- package/dist/chunk-MGQSQCFG.js +176 -0
- package/dist/chunk-MGQSQCFG.js.map +1 -0
- package/dist/chunk-MKE3BUL3.mjs +3 -0
- package/dist/{chunk-CYDWEPFL.mjs.map → chunk-MKE3BUL3.mjs.map} +1 -1
- package/dist/chunk-MNJ5OYPE.mjs +17 -0
- package/dist/chunk-MNJ5OYPE.mjs.map +1 -0
- package/dist/chunk-MNXD45J7.mjs +164 -0
- package/dist/chunk-MNXD45J7.mjs.map +1 -0
- package/dist/chunk-NGDPQC5E.js +333 -0
- package/dist/chunk-NGDPQC5E.js.map +1 -0
- package/dist/chunk-NNNCVFOH.mjs +16 -0
- package/dist/chunk-NNNCVFOH.mjs.map +1 -0
- package/dist/chunk-NZ4BJ2IC.mjs +315 -0
- package/dist/chunk-NZ4BJ2IC.mjs.map +1 -0
- package/dist/chunk-OKNM7ODQ.js +29 -0
- package/dist/chunk-OKNM7ODQ.js.map +1 -0
- package/dist/{chunk-DCFHANLR.mjs → chunk-OTG75GVH.mjs} +725 -34
- package/dist/chunk-OTG75GVH.mjs.map +1 -0
- package/dist/chunk-OZ6DGBRL.mjs +25 -0
- package/dist/chunk-OZ6DGBRL.mjs.map +1 -0
- package/dist/chunk-P25HBGP5.mjs +3 -0
- package/dist/chunk-P25HBGP5.mjs.map +1 -0
- package/dist/{chunk-XG7K4R56.js → chunk-P7KLEPVI.js} +52 -12
- package/dist/chunk-P7KLEPVI.js.map +1 -0
- package/dist/{chunk-OPKQMN46.mjs → chunk-PAPXGPJB.mjs} +9 -4
- package/dist/chunk-PAPXGPJB.mjs.map +1 -0
- package/dist/chunk-PCNXJAU5.js +19 -0
- package/dist/chunk-PCNXJAU5.js.map +1 -0
- package/dist/{chunk-5IT5OXQ5.js → chunk-PD6HWEMG.js} +40 -30
- package/dist/chunk-PD6HWEMG.js.map +1 -0
- package/dist/{chunk-ER42VG7H.js → chunk-PH2KXREH.js} +20 -3
- package/dist/chunk-PH2KXREH.js.map +1 -0
- package/dist/chunk-Q5ERW5ZW.mjs +107 -0
- package/dist/chunk-Q5ERW5ZW.mjs.map +1 -0
- package/dist/chunk-Q7YNBSVH.js +28 -0
- package/dist/chunk-Q7YNBSVH.js.map +1 -0
- package/dist/{chunk-T644D54P.mjs → chunk-QKO2FZGN.mjs} +16 -4
- package/dist/chunk-QKO2FZGN.mjs.map +1 -0
- package/dist/{chunk-CIRZKWLL.js → chunk-RVFSRYI5.js} +5 -3
- package/dist/chunk-RVFSRYI5.js.map +1 -0
- package/dist/{chunk-KPBCG4X2.js → chunk-RW37KJ77.js} +11 -11
- package/dist/chunk-RW37KJ77.js.map +1 -0
- package/dist/chunk-SD7BHT2F.mjs +3 -0
- package/dist/chunk-SD7BHT2F.mjs.map +1 -0
- package/dist/chunk-SP5M57BG.mjs +258 -0
- package/dist/chunk-SP5M57BG.mjs.map +1 -0
- package/dist/chunk-TKSHYEYA.mjs +1706 -0
- package/dist/chunk-TKSHYEYA.mjs.map +1 -0
- package/dist/chunk-WTS75RUC.js +4 -0
- package/dist/chunk-WTS75RUC.js.map +1 -0
- package/dist/{chunk-ZRDU6CIB.js → chunk-XRPIGMA2.js} +108 -68
- package/dist/chunk-XRPIGMA2.js.map +1 -0
- package/dist/chunk-XTKSM4QE.js +132 -0
- package/dist/chunk-XTKSM4QE.js.map +1 -0
- package/dist/chunk-XUE3CIJ5.mjs +174 -0
- package/dist/chunk-XUE3CIJ5.mjs.map +1 -0
- package/dist/chunk-YYUOLM6U.js +244 -0
- package/dist/chunk-YYUOLM6U.js.map +1 -0
- package/dist/chunk-ZH44DHVR.mjs +26 -0
- package/dist/chunk-ZH44DHVR.mjs.map +1 -0
- package/dist/chunk-ZPHOOG72.js +112 -0
- package/dist/chunk-ZPHOOG72.js.map +1 -0
- package/dist/constants.d.mts +7 -2
- package/dist/constants.d.ts +7 -2
- package/dist/constants.js +57 -38
- package/dist/constants.mjs +1 -2
- package/dist/deployments.generated.d.mts +2 -0
- package/dist/deployments.generated.d.ts +2 -0
- package/dist/deployments.generated.js +12 -0
- package/dist/deployments.generated.js.map +1 -0
- package/dist/deployments.generated.mjs +3 -0
- package/dist/deployments.generated.mjs.map +1 -0
- package/dist/entities/DopplerFactory.d.mts +139 -11
- package/dist/entities/DopplerFactory.d.ts +139 -11
- package/dist/entities/DopplerFactory.js +17 -7
- package/dist/entities/DopplerFactory.mjs +16 -6
- package/dist/entities/auction/DynamicAuction.d.mts +19 -4
- package/dist/entities/auction/DynamicAuction.d.ts +19 -4
- package/dist/entities/auction/DynamicAuction.js +6 -6
- package/dist/entities/auction/DynamicAuction.mjs +5 -5
- package/dist/entities/auction/MulticurvePool.d.mts +55 -0
- package/dist/entities/auction/MulticurvePool.d.ts +55 -0
- package/dist/entities/auction/MulticurvePool.js +18 -0
- package/dist/entities/auction/MulticurvePool.js.map +1 -0
- package/dist/entities/auction/MulticurvePool.mjs +9 -0
- package/dist/entities/auction/MulticurvePool.mjs.map +1 -0
- package/dist/entities/auction/StaticAuction.d.mts +6 -3
- package/dist/entities/auction/StaticAuction.d.ts +6 -3
- package/dist/entities/auction/StaticAuction.js +6 -6
- package/dist/entities/auction/StaticAuction.mjs +5 -5
- package/dist/entities/auction/index.d.mts +3 -0
- package/dist/entities/auction/index.d.ts +3 -0
- package/dist/entities/auction/index.js +16 -9
- package/dist/entities/auction/index.mjs +10 -7
- package/dist/entities/quoter/Quoter.d.mts +44 -2
- package/dist/entities/quoter/Quoter.d.ts +44 -2
- package/dist/entities/quoter/Quoter.js +6 -6
- package/dist/entities/quoter/Quoter.mjs +5 -5
- package/dist/entities/quoter/index.d.mts +3 -0
- package/dist/entities/quoter/index.d.ts +3 -0
- package/dist/entities/quoter/index.js +6 -6
- package/dist/entities/quoter/index.mjs +5 -5
- package/dist/entities/token/derc20/Derc20.d.mts +33 -7
- package/dist/entities/token/derc20/Derc20.d.ts +33 -7
- package/dist/entities/token/derc20/Derc20.js +4 -5
- package/dist/entities/token/derc20/Derc20.mjs +3 -4
- package/dist/entities/token/derc20/index.d.mts +3 -0
- package/dist/entities/token/derc20/index.d.ts +3 -0
- package/dist/entities/token/derc20/index.js +4 -5
- package/dist/entities/token/derc20/index.mjs +3 -4
- package/dist/entities/token/eth/Eth.d.mts +7 -3
- package/dist/entities/token/eth/Eth.d.ts +7 -3
- package/dist/entities/token/eth/Eth.js +2 -3
- package/dist/entities/token/eth/Eth.mjs +1 -2
- package/dist/entities/token/eth/index.d.mts +3 -0
- package/dist/entities/token/eth/index.d.ts +3 -0
- package/dist/entities/token/eth/index.js +2 -3
- package/dist/entities/token/eth/index.mjs +1 -2
- package/dist/entities/token/index.d.mts +3 -0
- package/dist/entities/token/index.d.ts +3 -0
- package/dist/entities/token/index.js +6 -7
- package/dist/entities/token/index.mjs +4 -5
- package/dist/index.d.mts +18 -6
- package/dist/index.d.ts +18 -6
- package/dist/index.js +305 -140
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +32 -19
- package/dist/index.mjs.map +1 -1
- package/dist/types.d.mts +260 -22
- package/dist/types.d.ts +260 -22
- package/dist/types.js +12 -3
- package/dist/types.mjs +3 -2
- package/dist/utils/airlock.d.mts +11 -0
- package/dist/utils/airlock.d.ts +11 -0
- package/dist/utils/airlock.js +26 -0
- package/dist/utils/airlock.js.map +1 -0
- package/dist/utils/airlock.mjs +5 -0
- package/dist/utils/airlock.mjs.map +1 -0
- package/dist/utils/balanceDelta.d.mts +10 -0
- package/dist/utils/balanceDelta.d.ts +10 -0
- package/dist/utils/balanceDelta.js +12 -0
- package/dist/utils/balanceDelta.js.map +1 -0
- package/dist/utils/balanceDelta.mjs +3 -0
- package/dist/utils/balanceDelta.mjs.map +1 -0
- package/dist/utils/computeOptimalGamma.d.mts +7 -0
- package/dist/utils/computeOptimalGamma.d.ts +7 -0
- package/dist/utils/computeOptimalGamma.js +12 -0
- package/dist/utils/computeOptimalGamma.js.map +1 -0
- package/dist/utils/computeOptimalGamma.mjs +3 -0
- package/dist/utils/computeOptimalGamma.mjs.map +1 -0
- package/dist/utils/index.d.mts +11 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.js +114 -24
- package/dist/utils/index.mjs +14 -4
- package/dist/utils/isToken0Expected.d.mts +13 -0
- package/dist/utils/isToken0Expected.d.ts +13 -0
- package/dist/utils/isToken0Expected.js +12 -0
- package/dist/utils/isToken0Expected.js.map +1 -0
- package/dist/utils/isToken0Expected.mjs +3 -0
- package/dist/utils/isToken0Expected.mjs.map +1 -0
- package/dist/utils/marketCapHelpers.d.mts +309 -0
- package/dist/utils/marketCapHelpers.d.ts +309 -0
- package/dist/utils/marketCapHelpers.js +54 -0
- package/dist/utils/marketCapHelpers.js.map +1 -0
- package/dist/utils/marketCapHelpers.mjs +5 -0
- package/dist/utils/marketCapHelpers.mjs.map +1 -0
- package/dist/utils/poolKey.d.mts +17 -0
- package/dist/utils/poolKey.d.ts +17 -0
- package/dist/utils/poolKey.js +12 -0
- package/dist/utils/poolKey.js.map +1 -0
- package/dist/utils/poolKey.mjs +3 -0
- package/dist/utils/poolKey.mjs.map +1 -0
- package/dist/utils/priceHelpers.d.mts +3 -3
- package/dist/utils/priceHelpers.d.ts +3 -3
- package/dist/utils/priceHelpers.js +10 -11
- package/dist/utils/priceHelpers.mjs +2 -3
- package/dist/utils/tickMath.d.mts +8 -1
- package/dist/utils/tickMath.d.ts +8 -1
- package/dist/utils/tickMath.js +17 -14
- package/dist/utils/tickMath.mjs +1 -2
- package/dist/utils/tokenAddressMiner.d.mts +30 -0
- package/dist/utils/tokenAddressMiner.d.ts +30 -0
- package/dist/utils/tokenAddressMiner.js +14 -0
- package/dist/utils/tokenAddressMiner.js.map +1 -0
- package/dist/utils/tokenAddressMiner.mjs +5 -0
- package/dist/utils/tokenAddressMiner.mjs.map +1 -0
- package/package.json +14 -11
- package/dist/__tests__/mocks/addresses.d.mts +0 -46
- package/dist/__tests__/mocks/addresses.d.ts +0 -46
- package/dist/__tests__/mocks/addresses.js +0 -53
- package/dist/__tests__/mocks/addresses.js.map +0 -1
- package/dist/__tests__/mocks/addresses.mjs +0 -44
- package/dist/__tests__/mocks/addresses.mjs.map +0 -1
- package/dist/__tests__/mocks/clients.d.mts +0 -22
- package/dist/__tests__/mocks/clients.d.ts +0 -22
- package/dist/__tests__/mocks/clients.js +0 -17036
- package/dist/__tests__/mocks/clients.js.map +0 -1
- package/dist/__tests__/mocks/clients.mjs +0 -17032
- package/dist/__tests__/mocks/clients.mjs.map +0 -1
- package/dist/chunk-2N5JZSZ4.js +0 -14
- package/dist/chunk-2N5JZSZ4.js.map +0 -1
- package/dist/chunk-3OZRDL3O.js +0 -162
- package/dist/chunk-3OZRDL3O.js.map +0 -1
- package/dist/chunk-4K5GBNQV.mjs.map +0 -1
- package/dist/chunk-5IT5OXQ5.js.map +0 -1
- package/dist/chunk-7F5IXZLH.js +0 -308
- package/dist/chunk-7F5IXZLH.js.map +0 -1
- package/dist/chunk-7VP5VR7J.js +0 -82
- package/dist/chunk-7VP5VR7J.js.map +0 -1
- package/dist/chunk-7W72MFJO.mjs.map +0 -1
- package/dist/chunk-AYPP5JEQ.mjs.map +0 -1
- package/dist/chunk-AZLFJNTG.mjs +0 -3
- package/dist/chunk-CIRZKWLL.js.map +0 -1
- package/dist/chunk-CYDWEPFL.mjs +0 -3
- package/dist/chunk-DCFHANLR.mjs.map +0 -1
- package/dist/chunk-DMAHXBA5.mjs.map +0 -1
- package/dist/chunk-DRBRT57F.js +0 -4
- package/dist/chunk-EFAPDN4J.js.map +0 -1
- package/dist/chunk-ER42VG7H.js.map +0 -1
- package/dist/chunk-FVTIDXYK.mjs.map +0 -1
- package/dist/chunk-IHBIBFZK.mjs +0 -12
- package/dist/chunk-IHBIBFZK.mjs.map +0 -1
- package/dist/chunk-IXSKPEHB.mjs +0 -160
- package/dist/chunk-IXSKPEHB.mjs.map +0 -1
- package/dist/chunk-KEXKKQVW.js +0 -42
- package/dist/chunk-KFD6U3LQ.mjs +0 -305
- package/dist/chunk-KFD6U3LQ.mjs.map +0 -1
- package/dist/chunk-KPBCG4X2.js.map +0 -1
- package/dist/chunk-KRN3ROUE.js +0 -4
- package/dist/chunk-KT7U37XS.mjs +0 -207
- package/dist/chunk-KT7U37XS.mjs.map +0 -1
- package/dist/chunk-LOROXNH3.mjs +0 -37
- package/dist/chunk-LOROXNH3.mjs.map +0 -1
- package/dist/chunk-O6GYIJ6X.mjs +0 -80
- package/dist/chunk-O6GYIJ6X.mjs.map +0 -1
- package/dist/chunk-OPKQMN46.mjs.map +0 -1
- package/dist/chunk-RIMM47JL.mjs +0 -176
- package/dist/chunk-RIMM47JL.mjs.map +0 -1
- package/dist/chunk-SUOMK3CU.js +0 -872
- package/dist/chunk-SUOMK3CU.js.map +0 -1
- package/dist/chunk-T644D54P.mjs.map +0 -1
- package/dist/chunk-TOMVBPNZ.js.map +0 -1
- package/dist/chunk-XEMZQHTX.mjs +0 -870
- package/dist/chunk-XEMZQHTX.mjs.map +0 -1
- package/dist/chunk-XG7K4R56.js.map +0 -1
- package/dist/chunk-XQ2VMR26.js +0 -180
- package/dist/chunk-XQ2VMR26.js.map +0 -1
- package/dist/chunk-ZAIP54LX.js +0 -209
- package/dist/chunk-ZAIP54LX.js.map +0 -1
- package/dist/chunk-ZRDU6CIB.js.map +0 -1
- package/dist/magic-string.es-CBLXTCZP.js +0 -1304
- package/dist/magic-string.es-CBLXTCZP.js.map +0 -1
- package/dist/magic-string.es-QHA47FSB.mjs +0 -1298
- package/dist/magic-string.es-QHA47FSB.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/entities/token/derc20/Derc20.ts"],"names":["derc20Abi"],"mappings":"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","file":"chunk-ZAIP54LX.js","sourcesContent":["import { type Address, type PublicClient, type WalletClient } from 'viem'\nimport { derc20Abi } from '../../../abis'\n\n/**\n * A class providing read and write access to a DERC20 token contract.\n * Enables querying standard ERC20 token properties along with custom vesting\n * and minting-related state information.\n */\nexport class Derc20 {\n private publicClient: PublicClient\n private walletClient?: WalletClient\n private address: Address\n \n constructor(publicClient: PublicClient, walletClient: WalletClient | undefined, address: Address) {\n this.publicClient = publicClient\n this.walletClient = walletClient\n this.address = address\n }\n \n /** Get the human-readable name of the token */\n async getName(): Promise<string> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'name',\n })\n }\n \n /** Get the symbol/ticker of the token */\n async getSymbol(): Promise<string> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'symbol',\n })\n }\n \n /** Get the number of decimals used for token divisions */\n async getDecimals(): Promise<number> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'decimals',\n })\n }\n \n /** Get the token URI for the token */\n async getTokenURI(): Promise<string> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'tokenURI',\n })\n }\n \n /**\n * Get the allowance granted by an owner to a spender\n * @param owner - The address that granted the allowance\n * @param spender - The address that can spend the tokens\n */\n async getAllowance(owner: Address, spender: Address): Promise<bigint> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'allowance',\n args: [owner, spender],\n })\n }\n \n /**\n * Get the token balance of a specific account\n * @param account - Address to check balance for\n */\n async getBalanceOf(account: Address): Promise<bigint> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'balanceOf',\n args: [account],\n })\n }\n \n /** Get the total supply of tokens in circulation */\n async getTotalSupply(): Promise<bigint> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'totalSupply',\n })\n }\n \n /** Get the duration (in seconds) of the vesting period */\n async getVestingDuration(): Promise<bigint> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'vestingDuration',\n })\n }\n \n /** Get the timestamp when vesting begins */\n async getVestingStart(): Promise<bigint> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'vestingStart',\n })\n }\n \n /** Get the total amount of tokens allocated for vesting */\n async getVestedTotalAmount(): Promise<bigint> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'vestedTotalAmount',\n })\n }\n \n /** Get the amount of vested tokens available for a specific address */\n async getAvailableVestedAmount(account: Address): Promise<bigint> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'computeAvailableVestedAmount',\n args: [account],\n })\n }\n \n /** Get the current annual mint rate in tokens per year */\n async getYearlyMintRate(): Promise<bigint> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'yearlyMintRate',\n })\n }\n \n /** Get the pool address for the token */\n async getPool(): Promise<Address> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'pool',\n })\n }\n \n /** Check if the liquidity pool is unlocked */\n async getIsPoolUnlocked(): Promise<boolean> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'isPoolUnlocked',\n })\n }\n \n /** Get the timestamp when token minting begins */\n async getCurrentYearStart(): Promise<bigint> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'currentYearStart',\n })\n }\n \n /** Get the timestamp of the last mint */\n async getLastMintTimestamp(): Promise<bigint> {\n return await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'lastMintTimestamp',\n })\n }\n \n /**\n * Get detailed vesting information for a specific account\n * @param account - Address to retrieve vesting data for\n * @returns Object containing totalAmount and releasedAmount\n */\n async getVestingData(account: Address): Promise<{\n totalAmount: bigint\n releasedAmount: bigint\n }> {\n const result = await this.publicClient.readContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'getVestingDataOf',\n args: [account],\n })\n \n return {\n totalAmount: result[0],\n releasedAmount: result[1],\n }\n }\n \n // Write methods (require wallet client)\n \n /**\n * Approve a spender to transfer tokens on behalf of the owner\n * @param spender - Address that will be able to spend the tokens\n * @param value - Amount of tokens to approve\n * @returns Transaction hash\n */\n async approve(spender: Address, value: bigint): Promise<`0x${string}`> {\n if (!this.walletClient) {\n throw new Error('Wallet client required for write operations')\n }\n \n const { request } = await this.publicClient.simulateContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'approve',\n args: [spender, value],\n account: this.walletClient.account,\n })\n \n return await this.walletClient.writeContract(request)\n }\n \n /**\n * Release vested tokens to the caller\n * @param amount - Amount of vested tokens to release\n * @returns Transaction hash\n */\n async release(amount: bigint): Promise<`0x${string}`> {\n if (!this.walletClient) {\n throw new Error('Wallet client required for write operations')\n }\n \n const { request } = await this.publicClient.simulateContract({\n address: this.address,\n abi: derc20Abi,\n functionName: 'release',\n args: [amount],\n account: this.walletClient.account,\n })\n \n return await this.walletClient.writeContract(request)\n }\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/entities/auction/DynamicAuction.ts"],"names":["dopplerHookAbi","getAddresses","airlockAbi","encodeAbiParameters","keccak256"],"mappings":"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","file":"chunk-ZRDU6CIB.js","sourcesContent":["import { type Address, type PublicClient, encodePacked, keccak256, encodeAbiParameters } from 'viem'\nimport type { HookInfo } from '../../types'\nimport { dopplerHookAbi, airlockAbi } from '../../abis'\nimport { getAddresses } from '../../addresses'\n\n/**\n * DynamicAuction class for interacting with dynamic auctions (Uniswap V4 hook based)\n * \n * Dynamic auctions use a Uniswap V4 hook to create a gradual Dutch auction\n * where the price moves dynamically over time according to set parameters.\n */\nexport class DynamicAuction {\n private client: PublicClient\n private hookAddress: Address\n \n constructor(client: PublicClient, hookAddress: Address) {\n this.client = client\n this.hookAddress = hookAddress\n }\n \n /**\n * Get the hook address\n */\n getAddress(): Address {\n return this.hookAddress\n }\n \n /**\n * Get current hook information\n */\n async getHookInfo(): Promise<HookInfo> {\n // Fetch all hook data in parallel\n const [\n state,\n earlyExit,\n insufficientProceeds,\n poolKey,\n startingTime,\n endingTime,\n epochLength,\n minimumProceeds,\n maximumProceeds,\n numTokensToSell,\n ] = await Promise.all([\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'state',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'earlyExit',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'insufficientProceeds',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'poolKey',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'startingTime',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'endingTime',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'epochLength',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'minimumProceeds',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'maximumProceeds',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'numTokensToSell',\n }),\n ])\n \n // Calculate current epoch\n const currentTime = BigInt(Math.floor(Date.now() / 1000))\n const elapsedTime = currentTime > startingTime ? currentTime - startingTime : BigInt(0)\n const currentEpoch = epochLength > 0n ? Number(elapsedTime / epochLength) : 0\n \n // Determine token addresses from poolKey\n const isToken0 = poolKey.currency0 !== '0x0000000000000000000000000000000000000000'\n const tokenAddress = isToken0 ? poolKey.currency0 : poolKey.currency1\n const numeraireAddress = isToken0 ? poolKey.currency1 : poolKey.currency0\n \n // Compute pool ID\n const poolId = this.computePoolId(poolKey)\n \n return {\n hookAddress: this.hookAddress,\n tokenAddress,\n numeraireAddress,\n poolId,\n currentEpoch,\n totalProceeds: state.totalProceeds,\n totalTokensSold: state.totalTokensSold,\n earlyExit,\n insufficientProceeds,\n startingTime,\n endingTime,\n epochLength,\n minimumProceeds,\n maximumProceeds,\n }\n }\n \n /**\n * Get the token address for this auction\n */\n async getTokenAddress(): Promise<Address> {\n const poolKey = await this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'poolKey',\n })\n \n const isToken0 = await this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'isToken0',\n })\n \n return isToken0 ? poolKey.currency0 : poolKey.currency1\n }\n \n /**\n * Get the pool ID for this auction\n */\n async getPoolId(): Promise<string> {\n const poolKey = await this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'poolKey',\n })\n \n return this.computePoolId(poolKey)\n }\n \n /**\n * Check if the auction has graduated (ready for migration)\n */\n async hasGraduated(): Promise<boolean> {\n const tokenAddress = await this.getTokenAddress()\n const chainId = await this.client.getChainId()\n const addresses = getAddresses(chainId)\n \n const assetData = await this.client.readContract({\n address: addresses.airlock,\n abi: airlockAbi,\n functionName: 'getAssetData',\n args: [tokenAddress],\n })\n \n // The getAssetData returns: [numeraire, timelock, governance, liquidityMigrator, poolInitializer, pool, migrationPool, numTokensToSell, totalSupply, integrator]\n // Check if the asset is graduated (liquidityMigrator is set to address(0))\n return assetData[3] === '0x0000000000000000000000000000000000000000'\n }\n \n /**\n * Get the current epoch\n */\n async getCurrentEpoch(): Promise<number> {\n const [startingTime, epochLength] = await Promise.all([\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'startingTime',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'epochLength',\n }),\n ])\n \n const currentTime = BigInt(Math.floor(Date.now() / 1000))\n const elapsedTime = currentTime > startingTime ? currentTime - startingTime : BigInt(0)\n \n return Number(elapsedTime / epochLength)\n }\n \n /**\n * Get the current price in the auction\n * Returns the current tick based on the epoch and gamma parameters\n */\n async getCurrentPrice(): Promise<bigint> {\n const [\n state,\n startingTick,\n endingTick,\n gamma,\n startingTime,\n epochLength,\n ] = await Promise.all([\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'state',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'startingTick',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'endingTick',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'gamma',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'startingTime',\n }),\n this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'epochLength',\n }),\n ])\n \n // Calculate current epoch\n const currentTime = BigInt(Math.floor(Date.now() / 1000))\n const elapsedTime = currentTime > startingTime ? currentTime - startingTime : BigInt(0)\n const currentEpoch = epochLength > 0n ? Number(elapsedTime / epochLength) : 0\n \n // Calculate current tick based on the auction progression\n // The tick moves from startingTick towards endingTick based on epochs and gamma\n const direction = endingTick > startingTick ? 1 : -1\n const tickMovement = Math.floor(currentEpoch * gamma * direction)\n const currentTick = Math.floor(startingTick + tickMovement)\n \n // Convert tick to price\n // price = 1.0001^tick\n // For simplicity, returning the tick as bigint for now\n // In production, you'd convert this to actual price using TickMath\n return BigInt(currentTick)\n }\n \n /**\n * Get total proceeds collected so far\n */\n async getTotalProceeds(): Promise<bigint> {\n const state = await this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'state',\n })\n \n return state.totalProceeds\n }\n \n /**\n * Check if the auction ended early due to max proceeds\n */\n async hasEndedEarly(): Promise<boolean> {\n return await this.client.readContract({\n address: this.hookAddress,\n abi: dopplerHookAbi,\n functionName: 'earlyExit',\n })\n }\n \n /**\n * Compute V4 pool ID from pool key components\n */\n private computePoolId(poolKey: {\n currency0: Address\n currency1: Address \n fee: number\n tickSpacing: number\n hooks: Address\n }): string {\n // V4 pools are identified by the hash of their PoolKey\n const encoded = encodeAbiParameters(\n [\n { type: 'address' },\n { type: 'address' },\n { type: 'uint24' },\n { type: 'int24' },\n { type: 'address' }\n ],\n [\n poolKey.currency0,\n poolKey.currency1,\n poolKey.fee,\n poolKey.tickSpacing,\n poolKey.hooks\n ]\n )\n return keccak256(encoded)\n }\n}"]}
|