curvance 4.0.3 → 4.1.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 +595 -59
- package/dist/chains/arbitrum.d.ts.map +1 -1
- package/dist/chains/arbitrum.js +4 -2
- package/dist/chains/arbitrum.js.map +1 -1
- package/dist/chains/index.d.ts +4 -0
- package/dist/chains/index.d.ts.map +1 -1
- package/dist/chains/index.js +15 -0
- package/dist/chains/index.js.map +1 -1
- package/dist/chains/monad.d.ts.map +1 -1
- package/dist/chains/monad.js +4 -2
- package/dist/chains/monad.js.map +1 -1
- package/dist/chains/rpc.d.ts +57 -0
- package/dist/chains/rpc.d.ts.map +1 -0
- package/dist/chains/rpc.js +47 -0
- package/dist/chains/rpc.js.map +1 -0
- package/dist/classes/Api.d.ts +4 -3
- package/dist/classes/Api.d.ts.map +1 -1
- package/dist/classes/Api.js +7 -7
- package/dist/classes/Api.js.map +1 -1
- package/dist/classes/BorrowableCToken.d.ts +3 -2
- package/dist/classes/BorrowableCToken.d.ts.map +1 -1
- package/dist/classes/BorrowableCToken.js +6 -5
- package/dist/classes/BorrowableCToken.js.map +1 -1
- package/dist/classes/CToken.d.ts +11 -3
- package/dist/classes/CToken.d.ts.map +1 -1
- package/dist/classes/CToken.js +168 -116
- package/dist/classes/CToken.js.map +1 -1
- package/dist/classes/Calldata.d.ts +2 -2
- package/dist/classes/Calldata.d.ts.map +1 -1
- package/dist/classes/Calldata.js +2 -2
- package/dist/classes/Calldata.js.map +1 -1
- package/dist/classes/DexAggregators/IDexAgg.d.ts +2 -2
- package/dist/classes/DexAggregators/IDexAgg.d.ts.map +1 -1
- package/dist/classes/DexAggregators/Kuru.d.ts +2 -2
- package/dist/classes/DexAggregators/Kuru.d.ts.map +1 -1
- package/dist/classes/DexAggregators/Kuru.js +3 -4
- package/dist/classes/DexAggregators/Kuru.js.map +1 -1
- package/dist/classes/DexAggregators/KyberSwap.d.ts +2 -2
- package/dist/classes/DexAggregators/KyberSwap.d.ts.map +1 -1
- package/dist/classes/DexAggregators/KyberSwap.js +88 -9
- package/dist/classes/DexAggregators/KyberSwap.js.map +1 -1
- package/dist/classes/DexAggregators/MultiDexAgg.d.ts +2 -2
- package/dist/classes/DexAggregators/MultiDexAgg.d.ts.map +1 -1
- package/dist/classes/DexAggregators/MultiDexAgg.js +3 -3
- package/dist/classes/DexAggregators/MultiDexAgg.js.map +1 -1
- package/dist/classes/ERC20.d.ts +5 -3
- package/dist/classes/ERC20.d.ts.map +1 -1
- package/dist/classes/ERC20.js +20 -14
- package/dist/classes/ERC20.js.map +1 -1
- package/dist/classes/ERC4626.d.ts.map +1 -1
- package/dist/classes/ERC4626.js +3 -1
- package/dist/classes/ERC4626.js.map +1 -1
- package/dist/classes/Market.d.ts +13 -4
- package/dist/classes/Market.d.ts.map +1 -1
- package/dist/classes/Market.js +86 -28
- package/dist/classes/Market.js.map +1 -1
- package/dist/classes/NativeToken.d.ts +6 -3
- package/dist/classes/NativeToken.d.ts.map +1 -1
- package/dist/classes/NativeToken.js +11 -16
- package/dist/classes/NativeToken.js.map +1 -1
- package/dist/classes/OptimizerReader.d.ts +3 -3
- package/dist/classes/OptimizerReader.d.ts.map +1 -1
- package/dist/classes/OptimizerReader.js +1 -1
- package/dist/classes/OptimizerReader.js.map +1 -1
- package/dist/classes/OracleManager.d.ts +3 -3
- package/dist/classes/OracleManager.d.ts.map +1 -1
- package/dist/classes/OracleManager.js +1 -1
- package/dist/classes/OracleManager.js.map +1 -1
- package/dist/classes/PositionManager.d.ts +2 -2
- package/dist/classes/PositionManager.d.ts.map +1 -1
- package/dist/classes/PositionManager.js +4 -4
- package/dist/classes/PositionManager.js.map +1 -1
- package/dist/classes/ProtocolReader.d.ts +18 -4
- package/dist/classes/ProtocolReader.d.ts.map +1 -1
- package/dist/classes/ProtocolReader.js +177 -55
- package/dist/classes/ProtocolReader.js.map +1 -1
- package/dist/classes/Redstone.d.ts.map +1 -1
- package/dist/classes/Redstone.js +1 -2
- package/dist/classes/Redstone.js.map +1 -1
- package/dist/classes/Zapper.d.ts +4 -2
- package/dist/classes/Zapper.d.ts.map +1 -1
- package/dist/classes/Zapper.js +16 -14
- package/dist/classes/Zapper.js.map +1 -1
- package/dist/classes/index.d.ts +1 -1
- package/dist/classes/index.d.ts.map +1 -1
- package/dist/classes/index.js +6 -1
- package/dist/classes/index.js.map +1 -1
- package/dist/contracts/monad-mainnet.json +1 -1
- package/dist/feePolicy.d.ts +27 -1
- package/dist/feePolicy.d.ts.map +1 -1
- package/dist/feePolicy.js +10 -2
- package/dist/feePolicy.js.map +1 -1
- package/dist/helpers.d.ts +3 -1
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +34 -4
- package/dist/helpers.js.map +1 -1
- package/dist/integrations/snapshot.d.ts.map +1 -1
- package/dist/integrations/snapshot.js +4 -18
- package/dist/integrations/snapshot.js.map +1 -1
- package/dist/retry-provider.d.ts +81 -6
- package/dist/retry-provider.d.ts.map +1 -1
- package/dist/retry-provider.js +491 -37
- package/dist/retry-provider.js.map +1 -1
- package/dist/setup.d.ts +14 -3
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +56 -20
- package/dist/setup.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KyberSwap.js","sourceRoot":"","sources":["../../../src/classes/DexAggregators/KyberSwap.ts"],"names":[],"mappings":";;;;;;AAIA,uCAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"KyberSwap.js","sourceRoot":"","sources":["../../../src/classes/DexAggregators/KyberSwap.ts"],"names":[],"mappings":";;;;;;AAIA,uCAA0C;AAC1C,2CAAwD;AACxD,oCAAiC;AACjC,yEAAiD;AACjD,iDAAqF;AACrF,mCAAkC;AAGlC,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,uEAAuE;AACvE,2DAA2D;AAE3D;;;2DAG2D;AAC3D,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,kEAAkE;AAClE,MAAM,gBAAgB,GAClB,mDAAmD;IACnD,oEAAoE;IACpE,sEAAsE;IACtE,gEAAgE;IAChE,qCAAqC;IACrC,qCAAqC,CAAC;AAE1C;;;;;;;GAOG;AACH,SAAS,oBAAoB,CACzB,QAAgB,EAChB,MAAc,EACd,WAA+B;IAE/B,0DAA0D;IAC1D,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,EAAE,IAAI,CAAC,WAAW;QAAE,OAAO;IAErD,IAAI,CAAC;QACD,sDAAsD;QACtD,MAAM,OAAO,GAAG,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,iBAAQ,CAAC,eAAe,EAAE,CAAC;QACzC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAE5B,gEAAgE;QAChE,yBAAyB;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACX,4BAA4B,KAAK,OAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK;gBAC/D,YAAY,cAAc,OAAO,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK;gBACjE,6DAA6D,CAChE,CAAC;QACN,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACX,0BAA0B,IAAI,CAAC,YAAY,CAAC,MAAM,4BAA4B,CACjF,CAAC;QACN,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CACX,kCAAkC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;gBAC1D,YAAY,WAAW,EAAE,CAC5B,CAAC;QACN,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CACX,gCAAgC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,MAAM,EAAE,CAC3E,CAAC;QACN,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,+CAA+C;QAC/C,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,oBAAoB,CAAC;YAAE,MAAM,CAAC,CAAC;QACzD,yEAAyE;QACzE,2EAA2E;QAC3E,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC;AACL,CAAC;AAgDA,CAAC;AA0BF,MAAa,SAAS;IAClB,GAAG,CAAS;IACZ,GAAG,CAAU;IACb,MAAM,CAAU;IAChB,KAAK,CAAS;IACd,SAAS,GAAW,cAAc,CAAC;IAEnC,YACI,MAAe,4CAA4C,EAC3D,SAAkB,4CAA4C,EAC9D,QAAgB,eAAe,EAC/B,MAAc,sCAAsC;QAEpD,4FAA4F;QAC5F,IAAG,KAAK,IAAI,eAAe,EAAE,CAAC;YAC1B,KAAK,GAAG,OAAO,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,kBAAkB,CACpB,QAAgC,EAChC,QAAuB,IAAI,EAC3B,UAA0B,IAAI,EAC9B,OAAe,CAAC,EAChB,WAAmB,EAAE;QAErB,IAAI,UAAU,GAAe,EAAE,CAAC;QAEhC,IAAI,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAI,MAAM,MAAM,IAAI,mBAAW,EAAE,CAAC;YAC9B,KAAI,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/B,SAAS;gBACb,CAAC;gBACD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE9B,IAAG,KAAK,EAAE,CAAC;oBACP,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;oBACvC,IAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpG,SAAS;oBACb,CAAC;gBACL,CAAC;gBAED,UAAU,CAAC,IAAI,CAAC;oBACZ,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,KAAK,EAAE,OAAe,EAAE,QAAgB,EAAE,MAAkB,EAAE,QAAoB,EAAE,EAAE;wBACzF,MAAM,MAAM,GAAG,OAAO,IAAI,uBAAa,CAAC;wBACxC,MAAM,OAAO,GAAG,IAAI,aAAK,CAAC,QAAQ,EAAE,OAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;wBACpF,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBACzE,MAAM,aAAa,GAAG,IAAA,kBAAQ,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;wBACnD,MAAM,QAAQ,GAAG,IAAI,aAAK,CAAC,QAAQ,EAAE,QAAmB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;wBACtF,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,IAAI,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBAE5E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,yBAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACtH,OAAO;4BACH,UAAU,EAAE,OAAO,CAAC,OAAO;4BAC3B,UAAU,EAAE,OAAO,CAAC,GAAG;4BACvB,MAAM,EAAE,yBAAe,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;4BACrE,MAAM,EAAE,yBAAe,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC;4BACjE,KAAK,EAAE,OAAO,CAAC,GAAG;yBACrB,CAAA;oBACL,CAAC;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,oGAAoG;QACpG,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,OAAe,EAAE,QAAgB,EAAE,MAAc,EAAE,QAAgB,EAAE,MAAe,EAAE,WAAqB;QACzI,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACjG,MAAM,MAAM,GAAG;YACX,UAAU,EAAE,OAAO;YACnB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;YAC3B,WAAW,EAAE,QAAQ;YACrB,MAAM,EAAE,KAAK,CAAC,EAAE;YAChB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,yBAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YAC/D,IAAI,EAAE,KAAK,CAAC,QAAQ;SACf,CAAC;QAEV,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAAe,EAAE,QAAgB,EAAE,MAAc,EAAE,QAAgB,EAAE,MAAe,EAAE,WAAqB;QACtI,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACjG,OAAO,KAAK,CAAC,GAAG,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,OAAe,EAAE,QAAgB,EAAE,MAAc,EAAE,QAAgB,EAAE,MAAe,EAAE,WAAqB;QACnI,IAAA,gCAAmB,EAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YAC/B,OAAO;YACP,QAAQ;YACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC9B,CAAC,CAAC;QAEH,sEAAsE;QACtE,sEAAsE;QACtE,iCAAiC;QACjC,8EAA8E;QAC9E,IAAI,MAAM,IAAI,MAAM,GAAG,EAAE,IAAI,WAAW,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAA,6BAAgB,EAAC,GAAG,IAAI,CAAC,GAAG,kBAAkB,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE;YAC5F,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACL,aAAa,EAAE,IAAI,CAAC,SAAS;gBAC7B,cAAc,EAAE,kBAAkB;aACrC;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YACrB,IAAI,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;YACrE,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,EAA4B,CAAC;gBACnE,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC,OAAO,WAAW,IAAI,CAAC,IAAI,GAAG,CAAC;YACzE,CAAC;YAAC,MAAM,CAAC,CAAC,8CAA8C,CAAC,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,EAA4B,CAAC;QAEpE,MAAM,cAAc,GAAG,MAAM,IAAA,6BAAgB,EAAC,GAAG,IAAI,CAAC,GAAG,qBAAqB,EAAE;YAC5E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,aAAa,EAAE,IAAI,CAAC,SAAS;gBAC7B,cAAc,EAAE,kBAAkB;aACrC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY;gBACrC,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,MAAM;gBACjB,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC;gBACnC,QAAQ,EAAE,IAAI,CAAC,GAAG;aACrB,CAAC;SACL,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YACrB,IAAI,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;YACrE,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,EAA4B,CAAC;gBACnE,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC,OAAO,WAAW,IAAI,CAAC,IAAI,GAAG,CAAC;YACzE,CAAC;YAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,EAA4B,CAAC;QAEzE,MAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC;QAEzD,IAAG,UAAU,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,iDAAiD,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,uEAAuE;QACvE,wEAAwE;QACxE,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;QAEtE,OAAO;YACH,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,IAAa;YACvC,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,UAAU;SAClB,CAAA;IACL,CAAC;CACJ;AAjLD,8BAiLC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { address,
|
|
1
|
+
import { address, curvance_read_provider } from "../../types";
|
|
2
2
|
import { ZapToken } from "../CToken";
|
|
3
3
|
import { Swap } from "../Zapper";
|
|
4
4
|
import IDexAgg, { Quote } from "./IDexAgg";
|
|
@@ -34,7 +34,7 @@ export declare class MultiDexAgg implements IDexAgg {
|
|
|
34
34
|
* Returns available tokens from all aggregators, deduplicated by address.
|
|
35
35
|
* Primary aggregator's tokens take precedence on conflicts.
|
|
36
36
|
*/
|
|
37
|
-
getAvailableTokens(provider:
|
|
37
|
+
getAvailableTokens(provider: curvance_read_provider, query?: string | null, account?: address | null): Promise<ZapToken[]>;
|
|
38
38
|
/**
|
|
39
39
|
* Fans out quoteAction to all aggregators, filters outliers, returns best.
|
|
40
40
|
* Each aggregator is called exactly once.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiDexAgg.d.ts","sourceRoot":"","sources":["../../../src/classes/DexAggregators/MultiDexAgg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,
|
|
1
|
+
{"version":3,"file":"MultiDexAgg.d.ts","sourceRoot":"","sources":["../../../src/classes/DexAggregators/MultiDexAgg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,sBAAsB,EAAc,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,OAAO,EAAE,EAAE,KAAK,EAAa,MAAM,WAAW,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAC9B,4FAA4F;IAC5F,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAaD;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,YAAW,OAAO;IACvC,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAA8B;IAE5C,yFAAyF;IACzF,IAAI,GAAG,IAAI,OAAO,CAA6B;IAC/C,IAAI,MAAM,IAAI,OAAO,CAAgC;gBAEzC,WAAW,EAAE,OAAO,EAAE,EAAE,MAAM,GAAE,iBAAsB;IAalE;;;OAGG;IACG,kBAAkB,CACpB,QAAQ,EAAE,sBAAsB,EAChC,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,OAAO,GAAE,OAAO,GAAG,IAAW,GAC/B,OAAO,CAAC,QAAQ,EAAE,CAAC;IA0BtB;;;OAGG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IASvL;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAS5J;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;YAa1I,UAAU;YAuBV,gBAAgB;IAuB9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,SAAS;IA+CjB;;OAEG;IACH,OAAO,CAAC,eAAe;CAe1B"}
|
|
@@ -37,11 +37,11 @@ class MultiDexAgg {
|
|
|
37
37
|
* Returns available tokens from all aggregators, deduplicated by address.
|
|
38
38
|
* Primary aggregator's tokens take precedence on conflicts.
|
|
39
39
|
*/
|
|
40
|
-
async getAvailableTokens(provider, query = null) {
|
|
40
|
+
async getAvailableTokens(provider, query = null, account = null) {
|
|
41
41
|
if (this.aggregators.length === 1) {
|
|
42
|
-
return this.primary.getAvailableTokens(provider, query);
|
|
42
|
+
return this.primary.getAvailableTokens(provider, query, account);
|
|
43
43
|
}
|
|
44
|
-
const results = await Promise.allSettled(this.aggregators.map(agg => agg.getAvailableTokens(provider, query)));
|
|
44
|
+
const results = await Promise.allSettled(this.aggregators.map(agg => agg.getAvailableTokens(provider, query, account)));
|
|
45
45
|
const seen = new Set();
|
|
46
46
|
const tokens = [];
|
|
47
47
|
for (const result of results) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiDexAgg.js","sourceRoot":"","sources":["../../../src/classes/DexAggregators/MultiDexAgg.ts"],"names":[],"mappings":";;;AAuBA;;;;;;;;;;;;;GAaG;AACH,MAAa,WAAW;IACZ,WAAW,CAAY;IACvB,OAAO,CAAU;IACjB,MAAM,CAA8B;IAE5C,yFAAyF;IACzF,IAAI,GAAG,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,IAAI,MAAM,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAErD,YAAY,WAAsB,EAAE,SAA4B,EAAE;QAC9D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG;YACV,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,IAAI,EAAE;YAC7D,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,MAAM;SAClD,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"MultiDexAgg.js","sourceRoot":"","sources":["../../../src/classes/DexAggregators/MultiDexAgg.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/ERC20.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TransactionResponse } from "ethers";
|
|
2
2
|
import { Contract } from "ethers";
|
|
3
3
|
import { StaticMarketAsset } from "./ProtocolReader";
|
|
4
|
-
import { address,
|
|
4
|
+
import { address, curvance_read_provider, curvance_signer, TokenInput, USD } from "../types";
|
|
5
5
|
import Decimal from "decimal.js";
|
|
6
6
|
export interface IERC20 {
|
|
7
7
|
balanceOf(account: address): Promise<bigint>;
|
|
@@ -14,11 +14,13 @@ export interface IERC20 {
|
|
|
14
14
|
allowance(owner: address, spender: address): Promise<bigint>;
|
|
15
15
|
}
|
|
16
16
|
export declare class ERC20 {
|
|
17
|
-
provider:
|
|
17
|
+
provider: curvance_read_provider;
|
|
18
|
+
signer: curvance_signer | null;
|
|
18
19
|
address: address;
|
|
19
20
|
contract: Contract & IERC20;
|
|
20
21
|
cache: StaticMarketAsset | undefined;
|
|
21
|
-
|
|
22
|
+
protected oracleManagerAddress: address | undefined;
|
|
23
|
+
constructor(provider: curvance_read_provider, address: address, cache?: StaticMarketAsset | undefined, oracleManagerAddress?: address | undefined, signer?: curvance_signer | null);
|
|
22
24
|
get name(): string | undefined;
|
|
23
25
|
get symbol(): string | undefined;
|
|
24
26
|
get decimals(): bigint | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ERC20.d.ts","sourceRoot":"","sources":["../../src/classes/ERC20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ERC20.d.ts","sourceRoot":"","sources":["../../src/classes/ERC20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG7F,OAAO,OAAO,MAAM,YAAY,CAAC;AAGjC,MAAM,WAAW,MAAM;IACnB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxE,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAChE;AAYD,qBAAa,KAAK;IACd,QAAQ,EAAE,sBAAsB,CAAC;IACjC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5B,KAAK,EAAE,iBAAiB,GAAG,SAAS,CAAa;IACjD,SAAS,CAAC,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;gBAGhD,QAAQ,EAAE,sBAAsB,EAChC,OAAO,EAAE,OAAO,EAChB,KAAK,GAAE,iBAAiB,GAAG,SAAqB,EAChD,oBAAoB,GAAE,OAAO,GAAG,SAAqB,EACrD,MAAM,GAAE,eAAe,GAAG,IAA0B;IAUxD,IAAI,IAAI,uBAA+B;IACvC,IAAI,MAAM,uBAAiC;IAC3C,IAAI,QAAQ,uBAAmC;IAC/C,IAAI,WAAW,uBAAsC;IACrD,IAAI,KAAK,uBAAgC;IACzC,IAAI,OAAO,wBAAmG;IAC9G,IAAI,KAAK,wBAAgC;IAEnC,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5C,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IACtE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAQnE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU;IAMxC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAIvC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAMnD,SAAS;IAMT,WAAW;IAMX,aAAa;IAMb,gBAAgB;IAMhB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAI1C,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAC7E,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvF,OAAO,CAAC,QAAQ;CAMnB"}
|
package/dist/classes/ERC20.js
CHANGED
|
@@ -9,24 +9,29 @@ const setup_1 = require("../setup");
|
|
|
9
9
|
const OracleManager_1 = require("./OracleManager");
|
|
10
10
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
11
11
|
const FormatConverter_1 = __importDefault(require("./FormatConverter"));
|
|
12
|
+
const ERC20_ABI = [
|
|
13
|
+
"function balanceOf(address owner) view returns (uint256)",
|
|
14
|
+
"function transfer(address to, uint256 amount) returns (bool)",
|
|
15
|
+
"function approve(address spender, uint256 amount) returns (bool)",
|
|
16
|
+
"function name() view returns (string)",
|
|
17
|
+
"function symbol() view returns (string)",
|
|
18
|
+
"function decimals() view returns (uint8)",
|
|
19
|
+
"function allowance(address owner, address spender) view returns (uint256)",
|
|
20
|
+
];
|
|
12
21
|
class ERC20 {
|
|
13
22
|
provider;
|
|
23
|
+
signer;
|
|
14
24
|
address;
|
|
15
25
|
contract;
|
|
16
26
|
cache = undefined;
|
|
17
|
-
|
|
27
|
+
oracleManagerAddress;
|
|
28
|
+
constructor(provider, address, cache = undefined, oracleManagerAddress = undefined, signer = setup_1.setup_config.signer) {
|
|
18
29
|
this.provider = provider;
|
|
30
|
+
this.signer = signer;
|
|
19
31
|
this.address = address;
|
|
20
32
|
this.cache = cache;
|
|
21
|
-
this.
|
|
22
|
-
|
|
23
|
-
"function transfer(address to, uint256 amount) returns (bool)",
|
|
24
|
-
"function approve(address spender, uint256 amount) returns (bool)",
|
|
25
|
-
"function name() view returns (string)",
|
|
26
|
-
"function symbol() view returns (string)",
|
|
27
|
-
"function decimals() view returns (uint8)",
|
|
28
|
-
"function allowance(address owner, address spender) view returns (uint256)",
|
|
29
|
-
]);
|
|
33
|
+
this.oracleManagerAddress = oracleManagerAddress;
|
|
34
|
+
this.contract = (0, helpers_1.contractSetup)(provider, address, ERC20_ABI);
|
|
30
35
|
}
|
|
31
36
|
get name() { return this.cache?.name; }
|
|
32
37
|
get symbol() { return this.cache?.symbol; }
|
|
@@ -43,15 +48,15 @@ class ERC20 {
|
|
|
43
48
|
async transfer(to, amount) {
|
|
44
49
|
const decimals = this.decimals ?? await this.contract.decimals();
|
|
45
50
|
const tokens = (0, helpers_1.toBigInt)(amount, decimals);
|
|
46
|
-
return this.
|
|
51
|
+
return (0, helpers_1.contractSetup)((0, helpers_1.requireSigner)(this.signer), this.address, ERC20_ABI).transfer(to, tokens);
|
|
47
52
|
}
|
|
48
53
|
async rawTransfer(to, amount) {
|
|
49
|
-
return this.
|
|
54
|
+
return (0, helpers_1.contractSetup)((0, helpers_1.requireSigner)(this.signer), this.address, ERC20_ABI).transfer(to, amount);
|
|
50
55
|
}
|
|
51
56
|
async approve(spender, amount) {
|
|
52
57
|
const decimals = this.decimals ?? await this.fetchDecimals();
|
|
53
58
|
const tokens = amount == null ? helpers_1.UINT256_MAX : (0, helpers_1.toBigInt)(amount, decimals);
|
|
54
|
-
return this.
|
|
59
|
+
return (0, helpers_1.contractSetup)((0, helpers_1.requireSigner)(this.signer), this.address, ERC20_ABI).approve(spender, tokens);
|
|
55
60
|
}
|
|
56
61
|
async fetchName() {
|
|
57
62
|
const name = await this.contract.name();
|
|
@@ -77,7 +82,8 @@ class ERC20 {
|
|
|
77
82
|
return this.contract.allowance(owner, spender);
|
|
78
83
|
}
|
|
79
84
|
async getPrice(inTokenInput, inUSD = true, getLower = false) {
|
|
80
|
-
const
|
|
85
|
+
const oracleManagerAddress = this.oracleManagerAddress ?? setup_1.setup_config.contracts.OracleManager;
|
|
86
|
+
const oracle_manager = new OracleManager_1.OracleManager(oracleManagerAddress, this.provider);
|
|
81
87
|
const price = await oracle_manager.getPrice(this.address, inUSD, getLower);
|
|
82
88
|
return inTokenInput ? (0, decimal_js_1.default)(price).div(helpers_1.WAD) : price;
|
|
83
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ERC20.js","sourceRoot":"","sources":["../../src/classes/ERC20.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"ERC20.js","sourceRoot":"","sources":["../../src/classes/ERC20.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ERC4626.d.ts","sourceRoot":"","sources":["../../src/classes/ERC4626.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,MAAM,WAAW,QAAQ;IACrB,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACnD;AAED,qBAAa,OAAQ,SAAQ,KAAK;IAC9B,OAAO,CAAC,eAAe;IASjB,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;IACzC,UAAU,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ERC4626.d.ts","sourceRoot":"","sources":["../../src/classes/ERC4626.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,MAAM,WAAW,QAAQ;IACrB,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACnD;AAED,qBAAa,OAAQ,SAAQ,KAAK;IAC9B,OAAO,CAAC,eAAe;IASjB,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;IACzC,UAAU,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ5C,eAAe,CAAC,MAAM,EAAE,MAAM;IAI9B,eAAe,CAAC,MAAM,EAAE,MAAM;IAI9B,cAAc,CAAC,MAAM,EAAE,MAAM,GAAI,OAAO,CAAC,MAAM,CAAC;IAChD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,GAAI,OAAO,CAAC,MAAM,CAAC;IACrE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,GAAI,OAAO,CAAC,UAAU,CAAC;CAWjF"}
|
package/dist/classes/ERC4626.js
CHANGED
|
@@ -18,7 +18,9 @@ class ERC4626 extends ERC20_1.ERC20 {
|
|
|
18
18
|
}
|
|
19
19
|
async fetchAsset(asErc20) {
|
|
20
20
|
const vault_asset_address = await this.get4626Contract().asset();
|
|
21
|
-
return asErc20
|
|
21
|
+
return asErc20
|
|
22
|
+
? new ERC20_1.ERC20(this.provider, vault_asset_address, undefined, this.oracleManagerAddress, this.signer)
|
|
23
|
+
: vault_asset_address;
|
|
22
24
|
}
|
|
23
25
|
async convertToShares(assets) {
|
|
24
26
|
return this.get4626Contract().convertToShares(assets);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ERC4626.js","sourceRoot":"","sources":["../../src/classes/ERC4626.ts"],"names":[],"mappings":";;;;;;AAAA,wCAA2C;AAE3C,mCAAgC;AAChC,wEAAgD;AAShD,MAAa,OAAQ,SAAQ,aAAK;IACtB,eAAe;QACnB,OAAO,IAAA,uBAAa,EAAW,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;YACxD,yCAAyC;YACzC,0DAA0D;YAC1D,0DAA0D;YAC1D,yDAAyD;SAC5D,CAAC,CAAC;IACP,CAAC;IAID,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC7B,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,CAAC;QACjE,OAAO,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"ERC4626.js","sourceRoot":"","sources":["../../src/classes/ERC4626.ts"],"names":[],"mappings":";;;;;;AAAA,wCAA2C;AAE3C,mCAAgC;AAChC,wEAAgD;AAShD,MAAa,OAAQ,SAAQ,aAAK;IACtB,eAAe;QACnB,OAAO,IAAA,uBAAa,EAAW,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;YACxD,yCAAyC;YACzC,0DAA0D;YAC1D,0DAA0D;YAC1D,yDAAyD;SAC5D,CAAC,CAAC;IACP,CAAC;IAID,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC7B,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,CAAC;QACjE,OAAO,OAAO;YACV,CAAC,CAAC,IAAI,aAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,SAAS,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC;YAClG,CAAC,CAAC,mBAA8B,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc;QAChC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc;QAChC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAKD,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,eAAwB,KAAK;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAEnE,IAAG,YAAY,EAAE,CAAC;YACd,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvE,OAAO,yBAAe,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACJ,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;CACJ;AAxCD,0BAwCC"}
|
package/dist/classes/Market.d.ts
CHANGED
|
@@ -3,8 +3,9 @@ import { Contract } from "ethers";
|
|
|
3
3
|
import { DynamicMarketData, ProtocolReader, StaticMarketData, UserMarket } from "./ProtocolReader";
|
|
4
4
|
import { AccountSnapshot, CToken } from "./CToken";
|
|
5
5
|
import { Decimal } from "decimal.js";
|
|
6
|
-
import { address,
|
|
6
|
+
import { address, curvance_read_provider, curvance_signer, Percentage, TokenInput, USD } from "../types";
|
|
7
7
|
import { OracleManager } from "./OracleManager";
|
|
8
|
+
import { type SetupConfigSnapshot } from "../setup";
|
|
8
9
|
import { BorrowableCToken } from "./BorrowableCToken";
|
|
9
10
|
import { IncentiveResponse, Incentives, MilestoneResponse, Milestones } from "./Api";
|
|
10
11
|
export type MarketToken = CToken | BorrowableCToken;
|
|
@@ -46,12 +47,15 @@ export interface IMarket {
|
|
|
46
47
|
statusOf(account: address): Promise<StatusOf>;
|
|
47
48
|
}
|
|
48
49
|
export declare class Market {
|
|
49
|
-
provider:
|
|
50
|
+
provider: curvance_read_provider;
|
|
51
|
+
signer: curvance_signer | null;
|
|
52
|
+
account: address | null;
|
|
50
53
|
address: address;
|
|
51
54
|
contract: Contract & IMarket;
|
|
52
55
|
tokens: (CToken | BorrowableCToken)[];
|
|
53
56
|
oracle_manager: OracleManager;
|
|
54
57
|
reader: ProtocolReader;
|
|
58
|
+
setup: SetupConfigSnapshot;
|
|
55
59
|
cache: {
|
|
56
60
|
static: StaticMarketData;
|
|
57
61
|
dynamic: DynamicMarketData;
|
|
@@ -60,7 +64,8 @@ export declare class Market {
|
|
|
60
64
|
};
|
|
61
65
|
milestone: MilestoneResponse | null;
|
|
62
66
|
incentives: Array<IncentiveResponse>;
|
|
63
|
-
constructor(provider:
|
|
67
|
+
constructor(provider: curvance_read_provider, signer: curvance_signer | null, account: address | null, static_data: StaticMarketData, dynamic_data: DynamicMarketData, user_data: UserMarket, deploy_data: DeployData, oracle_manager: OracleManager, reader: ProtocolReader, setup: SetupConfigSnapshot);
|
|
68
|
+
private getAccountOrThrow;
|
|
64
69
|
/** @returns {string} - The name of the market at deployment. */
|
|
65
70
|
get name(): string;
|
|
66
71
|
/** @returns {Plugins} - The address of the market's plugins by deploy name. */
|
|
@@ -147,8 +152,12 @@ export declare class Market {
|
|
|
147
152
|
* @returns collateral, max debt, debt for the market
|
|
148
153
|
*/
|
|
149
154
|
getSnapshots(account: address): Promise<AccountSnapshot[]>;
|
|
155
|
+
hasUserActivity(): boolean;
|
|
156
|
+
applyState(dynamicData: DynamicMarketData, userData?: UserMarket): void;
|
|
150
157
|
reloadMarketData(): Promise<void>;
|
|
151
158
|
reloadUserData(account: address): Promise<void>;
|
|
159
|
+
static getActiveUserMarkets(markets: Market[]): Market[];
|
|
160
|
+
static reloadUserMarkets(markets: Market[], account: address): Promise<Market[]>;
|
|
152
161
|
/**
|
|
153
162
|
* Preview the impact of the user descision for their deposit/borrow/leverage
|
|
154
163
|
* @param user - Wallet address
|
|
@@ -253,6 +262,6 @@ export declare class Market {
|
|
|
253
262
|
* @param provider - The RPC provider
|
|
254
263
|
* @returns An array of Market instances setup with protocol reader data
|
|
255
264
|
*/
|
|
256
|
-
static getAll(reader: ProtocolReader, oracle_manager: OracleManager, provider?:
|
|
265
|
+
static getAll(reader: ProtocolReader, oracle_manager: OracleManager, provider?: curvance_read_provider, signer?: curvance_signer | null, account?: address | null, milestones?: Milestones, incentives?: Incentives, setup?: SetupConfigSnapshot): Promise<Market[]>;
|
|
257
266
|
}
|
|
258
267
|
//# sourceMappingURL=Market.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Market.d.ts","sourceRoot":"","sources":["../../src/classes/Market.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,UAAU,
|
|
1
|
+
{"version":3,"file":"Market.d.ts","sourceRoot":"","sources":["../../src/classes/Market.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/Market.js
CHANGED
|
@@ -15,19 +15,25 @@ const FormatConverter_1 = __importDefault(require("./FormatConverter"));
|
|
|
15
15
|
const Api_1 = require("./Api");
|
|
16
16
|
class Market {
|
|
17
17
|
provider;
|
|
18
|
+
signer;
|
|
19
|
+
account;
|
|
18
20
|
address;
|
|
19
21
|
contract;
|
|
20
22
|
tokens = [];
|
|
21
23
|
oracle_manager;
|
|
22
24
|
reader;
|
|
25
|
+
setup;
|
|
23
26
|
cache;
|
|
24
27
|
milestone = null;
|
|
25
28
|
incentives = [];
|
|
26
|
-
constructor(provider, static_data, dynamic_data, user_data, deploy_data, oracle_manager, reader) {
|
|
29
|
+
constructor(provider, signer, account, static_data, dynamic_data, user_data, deploy_data, oracle_manager, reader, setup) {
|
|
27
30
|
this.provider = provider;
|
|
31
|
+
this.signer = signer;
|
|
32
|
+
this.account = account;
|
|
28
33
|
this.address = static_data.address;
|
|
29
34
|
this.oracle_manager = oracle_manager;
|
|
30
35
|
this.reader = reader;
|
|
36
|
+
this.setup = setup;
|
|
31
37
|
this.contract = (0, helpers_1.contractSetup)(provider, this.address, MarketManagerIsolated_json_1.default);
|
|
32
38
|
this.cache = { static: static_data, dynamic: dynamic_data, user: user_data, deploy: deploy_data };
|
|
33
39
|
for (let i = 0; i < static_data.tokens.length; i++) {
|
|
@@ -48,6 +54,9 @@ class Market {
|
|
|
48
54
|
}
|
|
49
55
|
}
|
|
50
56
|
}
|
|
57
|
+
getAccountOrThrow() {
|
|
58
|
+
return (0, helpers_1.requireAccount)(this.account, this.signer);
|
|
59
|
+
}
|
|
51
60
|
/** @returns {string} - The name of the market at deployment. */
|
|
52
61
|
get name() { return this.cache.deploy.name; }
|
|
53
62
|
/** @returns {Plugins} - The address of the market's plugins by deploy name. */
|
|
@@ -246,22 +255,76 @@ class Market {
|
|
|
246
255
|
}
|
|
247
256
|
return snapshots;
|
|
248
257
|
}
|
|
258
|
+
hasUserActivity() {
|
|
259
|
+
return this.tokens.some((token) => token.cache.userAssetBalance > 0n ||
|
|
260
|
+
token.cache.userShareBalance > 0n ||
|
|
261
|
+
token.cache.userCollateral > 0n ||
|
|
262
|
+
token.cache.userDebt > 0n);
|
|
263
|
+
}
|
|
264
|
+
applyState(dynamicData, userData) {
|
|
265
|
+
this.cache.dynamic = dynamicData;
|
|
266
|
+
if (userData != undefined) {
|
|
267
|
+
this.cache.user = userData;
|
|
268
|
+
}
|
|
269
|
+
for (const token of this.tokens) {
|
|
270
|
+
const nextDynamic = dynamicData.tokens.find((t) => t.address == token.address);
|
|
271
|
+
const nextUser = userData?.tokens.find((t) => t.address == token.address);
|
|
272
|
+
token.cache = {
|
|
273
|
+
...token.cache,
|
|
274
|
+
...(nextDynamic ?? {}),
|
|
275
|
+
...(nextUser ?? {}),
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
}
|
|
249
279
|
async reloadMarketData() {
|
|
250
280
|
const dynamic_data = await this.reader.getDynamicMarketData();
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
token.cache = { ...token.cache, ...new_cache };
|
|
281
|
+
const dynamic = dynamic_data.find(m => m.address == this.address);
|
|
282
|
+
if (dynamic == undefined) {
|
|
283
|
+
throw new Error(`Could not find dynamic data for market ${this.address}.`);
|
|
255
284
|
}
|
|
285
|
+
this.applyState(dynamic);
|
|
256
286
|
}
|
|
257
287
|
async reloadUserData(account) {
|
|
258
|
-
const
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
288
|
+
const { dynamicMarkets, userMarkets } = await this.reader.getMarketStates([this.address], account);
|
|
289
|
+
const dynamic = dynamicMarkets[0];
|
|
290
|
+
const user = userMarkets[0];
|
|
291
|
+
if (dynamic == undefined || user == undefined) {
|
|
292
|
+
throw new Error(`Could not reload market state for ${this.address}.`);
|
|
293
|
+
}
|
|
294
|
+
this.applyState(dynamic, user);
|
|
295
|
+
}
|
|
296
|
+
static getActiveUserMarkets(markets) {
|
|
297
|
+
return markets.filter((market) => market.hasUserActivity());
|
|
298
|
+
}
|
|
299
|
+
static async reloadUserMarkets(markets, account) {
|
|
300
|
+
if (markets.length === 0) {
|
|
301
|
+
return [];
|
|
302
|
+
}
|
|
303
|
+
const groups = new Map();
|
|
304
|
+
for (const market of markets) {
|
|
305
|
+
const existing = groups.get(market.reader);
|
|
306
|
+
if (existing) {
|
|
307
|
+
existing.push(market);
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
groups.set(market.reader, [market]);
|
|
311
|
+
}
|
|
264
312
|
}
|
|
313
|
+
for (const [reader, groupedMarkets] of groups) {
|
|
314
|
+
const addresses = groupedMarkets.map((market) => market.address);
|
|
315
|
+
const { dynamicMarkets, userMarkets } = await reader.getMarketStates(addresses, account);
|
|
316
|
+
const dynamicByAddress = new Map(dynamicMarkets.map((market) => [market.address, market]));
|
|
317
|
+
const userByAddress = new Map(userMarkets.map((market) => [market.address, market]));
|
|
318
|
+
for (const market of groupedMarkets) {
|
|
319
|
+
const dynamic = dynamicByAddress.get(market.address);
|
|
320
|
+
const user = userByAddress.get(market.address);
|
|
321
|
+
if (dynamic == undefined || user == undefined) {
|
|
322
|
+
throw new Error(`Could not reload market state for ${market.address}.`);
|
|
323
|
+
}
|
|
324
|
+
market.applyState(dynamic, user);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
return markets;
|
|
265
328
|
}
|
|
266
329
|
/**
|
|
267
330
|
* Preview the impact of the user descision for their deposit/borrow/leverage
|
|
@@ -345,8 +408,7 @@ class Market {
|
|
|
345
408
|
* @returns a position health decimal or null if infinity
|
|
346
409
|
*/
|
|
347
410
|
async previewPositionHealth(deposit_ctoken = null, borrow_ctoken = null, isDeposit = false, collateral_amount = (0, decimal_js_1.Decimal)(0), isRepay = false, debt_amount = (0, decimal_js_1.Decimal)(0), bufferTime = 0n) {
|
|
348
|
-
const
|
|
349
|
-
const user = provider.address;
|
|
411
|
+
const user = this.getAccountOrThrow();
|
|
350
412
|
// Pass underlying asset amounts — NOT shares.
|
|
351
413
|
// The on-chain reader's _collateralValue calls previewDeposit(assets) internally,
|
|
352
414
|
// and _debtValue prices assets with the underlying token's oracle price.
|
|
@@ -374,8 +436,7 @@ class Market {
|
|
|
374
436
|
* @returns The new position health
|
|
375
437
|
*/
|
|
376
438
|
async previewPositionHealthRedeem(ctoken, amount) {
|
|
377
|
-
const
|
|
378
|
-
const user = provider.address;
|
|
439
|
+
const user = this.getAccountOrThrow();
|
|
379
440
|
const redeem_amount = ctoken.convertTokenInputToShares(amount);
|
|
380
441
|
const existing_collateral = ctoken.cache.userCollateral;
|
|
381
442
|
if (redeem_amount > existing_collateral) {
|
|
@@ -403,8 +464,7 @@ class Market {
|
|
|
403
464
|
* @returns The new position health
|
|
404
465
|
*/
|
|
405
466
|
async previewPositionHealthBorrow(token, amount) {
|
|
406
|
-
const
|
|
407
|
-
const user = provider.address;
|
|
467
|
+
const user = this.getAccountOrThrow();
|
|
408
468
|
const data = await this.reader.getPositionHealth(this.address, user, helpers_1.EMPTY_ADDRESS, token.address, false, 0n, false, FormatConverter_1.default.decimalToBigInt(amount, token.decimals), 0n);
|
|
409
469
|
if (data.errorCodeHit) {
|
|
410
470
|
throw new Error(`Error code hit when calculating position health preview. This usually means price is stale so we couldn't get a valid health value.`);
|
|
@@ -418,8 +478,7 @@ class Market {
|
|
|
418
478
|
* @returns The new position health
|
|
419
479
|
*/
|
|
420
480
|
async previewPositionHealthRepay(token, amount) {
|
|
421
|
-
const
|
|
422
|
-
const user = provider.address;
|
|
481
|
+
const user = this.getAccountOrThrow();
|
|
423
482
|
const data = await this.reader.getPositionHealth(this.address, user, helpers_1.EMPTY_ADDRESS, token.address, false, 0n, true, FormatConverter_1.default.decimalToBigInt(amount, token.decimals), 0n);
|
|
424
483
|
if (data.errorCodeHit) {
|
|
425
484
|
throw new Error(`Error code hit when calculating position health preview. This usually means price is stale so we couldn't get a valid health value.`);
|
|
@@ -455,12 +514,12 @@ class Market {
|
|
|
455
514
|
* @returns An object mapping market addresses to their cooldown expiration dates OR null if its not in cooldown
|
|
456
515
|
*/
|
|
457
516
|
async multiHoldExpiresAt(markets) {
|
|
458
|
-
const
|
|
517
|
+
const account = this.getAccountOrThrow();
|
|
459
518
|
if (markets.length == 0) {
|
|
460
519
|
throw new Error("You can't fetch expirations for no markets.");
|
|
461
520
|
}
|
|
462
521
|
const marketAddresses = markets.map(market => market.address);
|
|
463
|
-
const cooldownTimestamps = await this.reader.marketMultiCooldown(marketAddresses,
|
|
522
|
+
const cooldownTimestamps = await this.reader.marketMultiCooldown(marketAddresses, account);
|
|
464
523
|
let cooldowns = {};
|
|
465
524
|
for (let i = 0; i < markets.length; i++) {
|
|
466
525
|
const market = markets[i];
|
|
@@ -477,13 +536,12 @@ class Market {
|
|
|
477
536
|
* @param provider - The RPC provider
|
|
478
537
|
* @returns An array of Market instances setup with protocol reader data
|
|
479
538
|
*/
|
|
480
|
-
static async getAll(reader, oracle_manager, provider = setup_1.setup_config.
|
|
481
|
-
const
|
|
482
|
-
const
|
|
483
|
-
const deploy_keys = Object.keys(setup_1.setup_config.contracts.markets);
|
|
539
|
+
static async getAll(reader, oracle_manager, provider = setup_1.setup_config.readProvider, signer = setup_1.setup_config.signer, account = setup_1.setup_config.account, milestones = {}, incentives = {}, setup = setup_1.setup_config) {
|
|
540
|
+
const all_data = await reader.getAllMarketData(account);
|
|
541
|
+
const deploy_keys = Object.keys(setup.contracts.markets);
|
|
484
542
|
// Filter out USDC — DeFiLlama incorrectly returns YZM vault yield labeled as USDC
|
|
485
543
|
const [yields, merklLendOpps, merklBorrowOpps] = await Promise.all([
|
|
486
|
-
Api_1.Api.fetchNativeYields().then(y => y.filter(y => y.symbol.toUpperCase() !== 'USDC')),
|
|
544
|
+
Api_1.Api.fetchNativeYields(setup).then(y => y.filter(y => y.symbol.toUpperCase() !== 'USDC')),
|
|
487
545
|
(0, merkl_1.fetchMerklOpportunities)({ action: 'LEND' }).catch(() => []),
|
|
488
546
|
(0, merkl_1.fetchMerklOpportunities)({ action: 'BORROW' }).catch(() => []),
|
|
489
547
|
]);
|
|
@@ -495,7 +553,7 @@ class Market {
|
|
|
495
553
|
const market_address = staticData.address;
|
|
496
554
|
let deploy_data;
|
|
497
555
|
for (const obj_key of deploy_keys) {
|
|
498
|
-
const data =
|
|
556
|
+
const data = setup.contracts.markets[obj_key];
|
|
499
557
|
if (typeof data != 'object') {
|
|
500
558
|
continue;
|
|
501
559
|
}
|
|
@@ -523,7 +581,7 @@ class Market {
|
|
|
523
581
|
console.warn(`Could not find user market data for index: ${i}`);
|
|
524
582
|
continue;
|
|
525
583
|
}
|
|
526
|
-
const market = new Market(provider, staticData, dynamicData, userData, deploy_data, oracle_manager, reader);
|
|
584
|
+
const market = new Market(provider, signer, account, staticData, dynamicData, userData, deploy_data, oracle_manager, reader, setup);
|
|
527
585
|
if (milestones[market.address] != undefined) {
|
|
528
586
|
market.milestone = milestones[market.address];
|
|
529
587
|
}
|