@kittycorn-labs/v4-sdk 1.1.29 → 2.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 +9 -0
- package/dist/{PositionManager.d.ts → cjs/src/PositionManager.d.ts} +169 -169
- package/dist/cjs/src/PositionManager.js +242 -0
- package/dist/cjs/src/PositionManager.js.map +1 -0
- package/dist/cjs/src/abis/IMulticall.json +23 -0
- package/dist/{actionConstants.d.ts → cjs/src/actionConstants.d.ts} +1 -1
- package/dist/cjs/src/actionConstants.js +6 -0
- package/dist/cjs/src/actionConstants.js.map +1 -0
- package/dist/{entities → cjs/src/entities}/index.d.ts +4 -4
- package/dist/cjs/src/entities/index.js +8 -0
- package/dist/cjs/src/entities/index.js.map +1 -0
- package/dist/{entities → cjs/src/entities}/pool.d.ts +103 -103
- package/dist/cjs/src/entities/pool.js +196 -0
- package/dist/cjs/src/entities/pool.js.map +1 -0
- package/dist/{entities → cjs/src/entities}/position.d.ts +144 -144
- package/dist/cjs/src/entities/position.js +273 -0
- package/dist/cjs/src/entities/position.js.map +1 -0
- package/dist/{entities → cjs/src/entities}/route.d.ts +28 -28
- package/dist/cjs/src/entities/route.js +89 -0
- package/dist/cjs/src/entities/route.js.map +1 -0
- package/dist/{entities → cjs/src/entities}/trade.d.ts +220 -220
- package/dist/cjs/src/entities/trade.js +441 -0
- package/dist/cjs/src/entities/trade.js.map +1 -0
- package/dist/{index.d.ts → cjs/src/index.d.ts} +4 -4
- package/dist/cjs/src/index.js +8 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/{internalConstants.d.ts → cjs/src/internalConstants.d.ts} +46 -46
- package/dist/cjs/src/internalConstants.js +69 -0
- package/dist/cjs/src/internalConstants.js.map +1 -0
- package/dist/{multicall.d.ts → cjs/src/multicall.d.ts} +10 -10
- package/dist/cjs/src/multicall.js +26 -0
- package/dist/cjs/src/multicall.js.map +1 -0
- package/dist/cjs/src/tokenize.d.ts +17 -0
- package/dist/cjs/src/tokenize.js +42 -0
- package/dist/cjs/src/tokenize.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/calldata.d.ts +20 -20
- package/dist/cjs/src/utils/calldata.js +20 -0
- package/dist/cjs/src/utils/calldata.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/currencyMap.d.ts +2 -2
- package/dist/cjs/src/utils/currencyMap.js +15 -0
- package/dist/cjs/src/utils/currencyMap.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/encodeRouteToPath.d.ts +10 -10
- package/dist/cjs/src/utils/encodeRouteToPath.js +26 -0
- package/dist/cjs/src/utils/encodeRouteToPath.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/hook.d.ts +45 -45
- package/dist/cjs/src/utils/hook.js +97 -0
- package/dist/cjs/src/utils/hook.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/index.d.ts +11 -11
- package/dist/cjs/src/utils/index.js +15 -0
- package/dist/cjs/src/utils/index.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/pathCurrency.d.ts +4 -4
- package/dist/cjs/src/utils/pathCurrency.js +27 -0
- package/dist/cjs/src/utils/pathCurrency.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/positionManagerAbi.d.ts +102 -102
- package/dist/cjs/src/utils/positionManagerAbi.js +1318 -0
- package/dist/cjs/src/utils/positionManagerAbi.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/priceTickConversions.d.ts +20 -20
- package/dist/cjs/src/utils/priceTickConversions.js +55 -0
- package/dist/cjs/src/utils/priceTickConversions.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/sortsBefore.d.ts +2 -2
- package/dist/cjs/src/utils/sortsBefore.js +12 -0
- package/dist/cjs/src/utils/sortsBefore.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/v4BaseActionsParser.d.ts +49 -45
- package/dist/cjs/src/utils/v4BaseActionsParser.js +193 -0
- package/dist/cjs/src/utils/v4BaseActionsParser.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/v4Planner.d.ts +71 -55
- package/dist/cjs/src/utils/v4Planner.js +267 -0
- package/dist/cjs/src/utils/v4Planner.js.map +1 -0
- package/dist/{utils → cjs/src/utils}/v4PositionPlanner.d.ts +13 -12
- package/dist/cjs/src/utils/v4PositionPlanner.js +61 -0
- package/dist/cjs/src/utils/v4PositionPlanner.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/src/PositionManager.d.ts +169 -0
- package/dist/esm/src/PositionManager.js +237 -0
- package/dist/esm/src/PositionManager.js.map +1 -0
- package/dist/esm/src/abis/IMulticall.json +23 -0
- package/dist/esm/src/actionConstants.d.ts +1 -0
- package/dist/esm/src/actionConstants.js +3 -0
- package/dist/esm/src/actionConstants.js.map +1 -0
- package/dist/esm/src/entities/index.d.ts +4 -0
- package/dist/esm/src/entities/index.js +5 -0
- package/dist/esm/src/entities/index.js.map +1 -0
- package/dist/esm/src/entities/pool.d.ts +103 -0
- package/dist/esm/src/entities/pool.js +191 -0
- package/dist/esm/src/entities/pool.js.map +1 -0
- package/dist/esm/src/entities/position.d.ts +144 -0
- package/dist/esm/src/entities/position.js +268 -0
- package/dist/esm/src/entities/position.js.map +1 -0
- package/dist/esm/src/entities/route.d.ts +28 -0
- package/dist/esm/src/entities/route.js +84 -0
- package/dist/esm/src/entities/route.js.map +1 -0
- package/dist/esm/src/entities/trade.d.ts +220 -0
- package/dist/esm/src/entities/trade.js +435 -0
- package/dist/esm/src/entities/trade.js.map +1 -0
- package/dist/esm/src/index.d.ts +4 -0
- package/dist/esm/src/index.js +5 -0
- package/dist/esm/src/index.js.map +1 -0
- package/dist/esm/src/internalConstants.d.ts +46 -0
- package/dist/esm/src/internalConstants.js +65 -0
- package/dist/esm/src/internalConstants.js.map +1 -0
- package/dist/esm/src/multicall.d.ts +10 -0
- package/dist/esm/src/multicall.js +21 -0
- package/dist/esm/src/multicall.js.map +1 -0
- package/dist/esm/src/tokenize.d.ts +17 -0
- package/dist/esm/src/tokenize.js +37 -0
- package/dist/esm/src/tokenize.js.map +1 -0
- package/dist/esm/src/utils/calldata.d.ts +20 -0
- package/dist/esm/src/utils/calldata.js +15 -0
- package/dist/esm/src/utils/calldata.js.map +1 -0
- package/dist/esm/src/utils/currencyMap.d.ts +2 -0
- package/dist/esm/src/utils/currencyMap.js +11 -0
- package/dist/esm/src/utils/currencyMap.js.map +1 -0
- package/dist/esm/src/utils/encodeRouteToPath.d.ts +10 -0
- package/dist/esm/src/utils/encodeRouteToPath.js +22 -0
- package/dist/esm/src/utils/encodeRouteToPath.js.map +1 -0
- package/dist/esm/src/utils/hook.d.ts +45 -0
- package/dist/esm/src/utils/hook.js +92 -0
- package/dist/esm/src/utils/hook.js.map +1 -0
- package/dist/esm/src/utils/index.d.ts +11 -0
- package/dist/esm/src/utils/index.js +12 -0
- package/dist/esm/src/utils/index.js.map +1 -0
- package/dist/esm/src/utils/pathCurrency.d.ts +4 -0
- package/dist/esm/src/utils/pathCurrency.js +22 -0
- package/dist/esm/src/utils/pathCurrency.js.map +1 -0
- package/dist/esm/src/utils/positionManagerAbi.d.ts +102 -0
- package/dist/esm/src/utils/positionManagerAbi.js +1315 -0
- package/dist/esm/src/utils/positionManagerAbi.js.map +1 -0
- package/dist/esm/src/utils/priceTickConversions.d.ts +20 -0
- package/dist/esm/src/utils/priceTickConversions.js +49 -0
- package/dist/esm/src/utils/priceTickConversions.js.map +1 -0
- package/dist/esm/src/utils/sortsBefore.d.ts +2 -0
- package/dist/esm/src/utils/sortsBefore.js +8 -0
- package/dist/esm/src/utils/sortsBefore.js.map +1 -0
- package/dist/esm/src/utils/v4BaseActionsParser.d.ts +49 -0
- package/dist/esm/src/utils/v4BaseActionsParser.js +189 -0
- package/dist/esm/src/utils/v4BaseActionsParser.js.map +1 -0
- package/dist/esm/src/utils/v4Planner.d.ts +71 -0
- package/dist/esm/src/utils/v4Planner.js +261 -0
- package/dist/esm/src/utils/v4Planner.js.map +1 -0
- package/dist/esm/src/utils/v4PositionPlanner.d.ts +13 -0
- package/dist/esm/src/utils/v4PositionPlanner.js +57 -0
- package/dist/esm/src/utils/v4PositionPlanner.js.map +1 -0
- package/dist/types/src/PositionManager.d.ts +170 -0
- package/dist/types/src/PositionManager.d.ts.map +1 -0
- package/dist/types/src/actionConstants.d.ts +2 -0
- package/dist/types/src/actionConstants.d.ts.map +1 -0
- package/dist/types/src/entities/index.d.ts +5 -0
- package/dist/types/src/entities/index.d.ts.map +1 -0
- package/dist/types/src/entities/pool.d.ts +104 -0
- package/dist/types/src/entities/pool.d.ts.map +1 -0
- package/dist/types/src/entities/position.d.ts +145 -0
- package/dist/types/src/entities/position.d.ts.map +1 -0
- package/dist/types/src/entities/route.d.ts +29 -0
- package/dist/types/src/entities/route.d.ts.map +1 -0
- package/dist/types/src/entities/trade.d.ts +221 -0
- package/dist/types/src/entities/trade.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +5 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/internalConstants.d.ts +47 -0
- package/dist/types/src/internalConstants.d.ts.map +1 -0
- package/dist/types/src/multicall.d.ts +11 -0
- package/dist/types/src/multicall.d.ts.map +1 -0
- package/dist/types/src/tokenize.d.ts +18 -0
- package/dist/types/src/tokenize.d.ts.map +1 -0
- package/dist/types/src/utils/calldata.d.ts +21 -0
- package/dist/types/src/utils/calldata.d.ts.map +1 -0
- package/dist/types/src/utils/currencyMap.d.ts +3 -0
- package/dist/types/src/utils/currencyMap.d.ts.map +1 -0
- package/dist/types/src/utils/encodeRouteToPath.d.ts +11 -0
- package/dist/types/src/utils/encodeRouteToPath.d.ts.map +1 -0
- package/dist/types/src/utils/hook.d.ts +46 -0
- package/dist/types/src/utils/hook.d.ts.map +1 -0
- package/dist/types/src/utils/index.d.ts +12 -0
- package/dist/types/src/utils/index.d.ts.map +1 -0
- package/dist/types/src/utils/pathCurrency.d.ts +5 -0
- package/dist/types/src/utils/pathCurrency.d.ts.map +1 -0
- package/dist/types/src/utils/positionManagerAbi.d.ts +103 -0
- package/dist/types/src/utils/positionManagerAbi.d.ts.map +1 -0
- package/dist/types/src/utils/priceTickConversions.d.ts +21 -0
- package/dist/types/src/utils/priceTickConversions.d.ts.map +1 -0
- package/dist/types/src/utils/sortsBefore.d.ts +3 -0
- package/dist/types/src/utils/sortsBefore.d.ts.map +1 -0
- package/dist/types/src/utils/v4BaseActionsParser.d.ts +50 -0
- package/dist/types/src/utils/v4BaseActionsParser.d.ts.map +1 -0
- package/dist/types/src/utils/v4Planner.d.ts +72 -0
- package/dist/types/src/utils/v4Planner.d.ts.map +1 -0
- package/dist/types/src/utils/v4PositionPlanner.d.ts +14 -0
- package/dist/types/src/utils/v4PositionPlanner.d.ts.map +1 -0
- package/package.json +28 -46
- package/dist/index.js +0 -8
- package/dist/tokenizeAddresses.d.ts +0 -25
- package/dist/v4-sdk.cjs.development.js +0 -3633
- package/dist/v4-sdk.cjs.development.js.map +0 -1
- package/dist/v4-sdk.cjs.production.min.js +0 -2
- package/dist/v4-sdk.cjs.production.min.js.map +0 -1
- package/dist/v4-sdk.esm.js +0 -3597
- package/dist/v4-sdk.esm.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trade.js","sourceRoot":"","sources":["../../../../src/entities/trade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAY,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAS,MAAM,0BAA0B,CAAA;AAC7H,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAE9D;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,CAAqC,EACrC,CAAqC;IAErC,0DAA0D;IAC1D,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAClF,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,CAAA;IACrF,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE;QAC1C,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE;YACxC,uDAAuD;YACvD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACtF,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACtF,OAAO,KAAK,GAAG,KAAK,CAAA;SACrB;QACD,mEAAmE;QACnE,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE;YACzC,OAAO,CAAC,CAAC,CAAA;SACV;aAAM;YACL,OAAO,CAAC,CAAA;SACT;KACF;SAAM;QACL,6DAA6D;QAC7D,IAAI,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE;YAC3C,OAAO,CAAC,CAAA;SACT;aAAM;YACL,OAAO,CAAC,CAAC,CAAA;SACV;KACF;AACH,CAAC;AASD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,KAAK;IAChB;;;;;;OAMG;IACH,IAAW,KAAK;QACd,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAA;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC5B,CAAC;IAuBD;;OAEG;IACH,IAAW,WAAW;QACpB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAC,YAAY,CAAA;SACzB;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAA;QACxD,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK;aACpC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC;aACrC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAA;QAEzF,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAA;QACxC,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAQD;;OAEG;IACH,IAAW,YAAY;QACrB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO,IAAI,CAAC,aAAa,CAAA;SAC1B;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAA;QAC1D,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK;aACrC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC;aACvC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAA;QAE1F,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAA;QAC1C,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAQD;;OAEG;IACH,IAAW,cAAc;;QACvB,OAAO,CACL,MAAA,IAAI,CAAC,eAAe,mCACpB,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,CAC/B,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAC3B,CAAC,CACH,CAAA;IACH,CAAC;IAQD;;OAEG;IACH,IAAW,WAAW;QACpB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAC,YAAY,CAAA;SACzB;QAED,IAAI,gBAAgB,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QAClF,KAAK,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;YAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;YAC/B,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;SACrE;QAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACzF,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;QAE/E,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,OAAO,CACzB,KAA6B,EAC7B,QAAgC;QAEhC,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,CAAA;IAChE,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAC1B,KAA6B,EAC7B,SAAkC;QAElC,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;IAClE,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,KAAK,CAAC,SAAS,CAC3B,KAA6B,EAC7B,MAAmG,EACnG,SAAqB;;QAErB,IAAI,WAAmC,CAAA;QACvC,IAAI,YAAqC,CAAA;QACzC,IAAI,SAAS,KAAK,SAAS,CAAC,WAAW,EAAE;YACvC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;YACvD,sDAAsD;YACtD,IAAI,WAAW,GAA6B,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAC1B;gBAAA,CAAC,WAAW,CAAC,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;aACzD;YACD,WAAW,GAAG,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;YACpG,YAAY,GAAG,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;SACjH;aAAM;YACL,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;YACzD,qDAAqD;YACrD,IAAI,WAAW,GAA6B,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YAC/G,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBAChD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAC1B;gBAAA,CAAC,WAAW,CAAC,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;gBAEvD,iGAAiG;gBACjG,+EAA+E;gBAC/E,sDAAsD;gBACtD,6CAA6C;gBAC7C,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChC,oCAAoC;oBACpC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;oBAEnE,IAAI,aAAa,EAAE;wBACjB,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,0CAAE,SAAS,CAAC,QAAQ,CAAA,EAAE;4BACnE,+CAA+C;4BAC/C,WAAW,GAAG,cAAc,CAAC,oBAAoB,CAC/C,IAAI,CAAC,SAAS,EAAE,kBAAkB;4BAClC,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,WAAW,CACxB,CAAA;yBACF;6BAAM,IACL,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;4BACnC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;4BAClB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EACtC;4BACA,+CAA+C;4BAC/C,WAAW,GAAG,cAAc,CAAC,oBAAoB,CAC/C,IAAI,CAAC,SAAS,EAAE,mBAAmB;4BACnC,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,WAAW,CACxB,CAAA;yBACF;qBACF;iBACF;aACF;YACD,WAAW,GAAG,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;YAC9G,YAAY,GAAG,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;SACvG;QAED,OAAO,IAAI,KAAK,CAAC;YACf,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;YAC9C,SAAS;SACV,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU,CAC5B,MAGG,EACH,SAAqB;QAErB,MAAM,KAAK,GAIL,MAAM,OAAO,CAAC,GAAG,CACrB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YAC7D,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACvB,CAAC,CAAC,CACH,CAAA;QAED,OAAO,IAAI,KAAK,CAAC;YACf,MAAM,EAAE,KAAK;YACb,SAAS;SACV,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,oBAAoB,CAIhC,oBAKD;QACC,OAAO,IAAI,KAAK,CAAC;YACf,GAAG,oBAAoB;YACvB,MAAM,EAAE;gBACN;oBACE,WAAW,EAAE,oBAAoB,CAAC,WAAW;oBAC7C,YAAY,EAAE,oBAAoB,CAAC,YAAY;oBAC/C,KAAK,EAAE,oBAAoB,CAAC,KAAK;iBAClC;aACF;SACF,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,sCAAsC,CAIlD,oBAOD;QACC,OAAO,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACH,YAAoB,EAClB,MAAM,EACN,SAAS,GAQV;QACC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAA;QACpD,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAA;QACtD,SAAS,CACP,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAC9D,sBAAsB,CACvB,CAAA;QACD,SAAS,CACP,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAChE,uBAAuB,CACxB,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,CAAA;QACjJ,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;QACnC,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE;YAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;gBAC9B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;oBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;aACvI;SACF;QAED,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;QAE1D,IAAI,CAAC,KAAK,GAAG,MAAM,CAAA;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,iBAA0B,EAAE,SAAS,GAAG,IAAI,CAAC,YAAY;QAC/E,SAAS,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAA;QAClE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,YAAY,EAAE;YAC7C,OAAO,SAAS,CAAA;SACjB;aAAM;YACL,MAAM,yBAAyB,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC;iBAChD,QAAQ,CAAC,iBAAiB,CAAC;iBAC3B,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAA;YACxC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC/E,CAAC,CAAC,yBAAyB;gBAC3B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAClB,OAAO,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;SACvE;IACH,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,iBAA0B,EAAE,QAAQ,GAAG,IAAI,CAAC,WAAW;QAC5E,SAAS,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAA;QAClE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,WAAW,EAAE;YAC5C,OAAO,QAAQ,CAAA;SAChB;aAAM;YACL,MAAM,wBAAwB,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAA;YAC9G,OAAO,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAA;SACjF;IACH,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,iBAA0B;QACnD,OAAO,IAAI,KAAK,CACd,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAC1B,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAChD,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAClD,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAClC,KAAa,EACb,gBAAwC,EACxC,WAAoB,EACpB,EAAE,aAAa,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,KAAuB,EAAE;IACzD,qBAAqB;IACrB,eAAuB,EAAE,EACzB,eAAyC,gBAAgB,EACzD,aAA8D,EAAE;QAEhE,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QACpC,SAAS,CAAC,OAAO,GAAG,CAAC,EAAE,UAAU,CAAC,CAAA;QAClC,SAAS,CAAC,gBAAgB,KAAK,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,mBAAmB,CAAC,CAAA;QAE5F,MAAM,QAAQ,GAAG,YAAY,CAAA;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACrB,kBAAkB;YAClB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAQ;YAEpG,IAAI,SAA2C,CAAA;YAC/C,IAAI;gBACF,CAAC;gBAAA,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;aACpD;YAAC,OAAO,KAAK,EAAE;gBACd,gBAAgB;gBAChB,IAAK,KAAa,CAAC,8BAA8B,EAAE;oBACjD,SAAQ;iBACT;gBACD,MAAM,KAAK,CAAA;aACZ;YACD,yFAAyF;YACzF,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;gBAC1C,YAAY,CACV,UAAU,EACV,MAAM,KAAK,CAAC,SAAS,CACnB,IAAI,KAAK,CAAC,CAAC,GAAG,YAAY,EAAE,IAAI,CAAC,EAAE,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,EAC1E,gBAAgB,EAChB,SAAS,CAAC,WAAW,CACtB,EACD,aAAa,EACb,eAAe,CAChB,CAAA;aACF;iBAAM,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1C,MAAM,sBAAsB,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;gBAEzF,+GAA+G;gBAC/G,MAAM,KAAK,CAAC,gBAAgB,CAC1B,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,EACX;oBACE,aAAa;oBACb,OAAO,EAAE,OAAO,GAAG,CAAC;iBACrB,EACD,CAAC,GAAG,YAAY,EAAE,IAAI,CAAC,EACvB,SAAS,EACT,UAAU,CACX,CAAA;aACF;SACF;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,MAAM,CAAC,KAAK,CAAC,iBAAiB,CACnC,KAAa,EACb,UAAkB,EAClB,iBAA0C,EAC1C,EAAE,aAAa,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,KAAuB,EAAE;IACzD,qBAAqB;IACrB,eAAuB,EAAE,EACzB,gBAA0C,iBAAiB,EAC3D,aAA+D,EAAE;QAEjE,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QACpC,SAAS,CAAC,OAAO,GAAG,CAAC,EAAE,UAAU,CAAC,CAAA;QAClC,SAAS,CAAC,iBAAiB,KAAK,aAAa,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,mBAAmB,CAAC,CAAA;QAE9F,MAAM,SAAS,GAAG,aAAa,CAAA;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACrB,kBAAkB;YAClB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAAE,SAAQ;YAEtG,IAAI,QAA0C,CAAA;YAC9C,IAAI;gBACF,CAAC;gBAAA,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;aACnD;YAAC,OAAO,KAAK,EAAE;gBACd,oCAAoC;gBACpC,IAAK,KAAa,CAAC,2BAA2B,EAAE;oBAC9C,SAAQ;iBACT;gBACD,MAAM,KAAK,CAAA;aACZ;YACD,wFAAwF;YACxF,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBACxC,YAAY,CACV,UAAU,EACV,MAAM,KAAK,CAAC,SAAS,CACnB,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,EAAE,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAC1E,iBAAiB,EACjB,SAAS,CAAC,YAAY,CACvB,EACD,aAAa,EACb,eAAe,CAChB,CAAA;aACF;iBAAM,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1C,MAAM,sBAAsB,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;gBAEzF,+GAA+G;gBAC/G,MAAM,KAAK,CAAC,iBAAiB,CAC3B,sBAAsB,EACtB,UAAU,EACV,iBAAiB,EACjB;oBACE,aAAa;oBACb,OAAO,EAAE,OAAO,GAAG,CAAC;iBACrB,EACD,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,EACvB,QAAQ,EACR,UAAU,CACX,CAAA;aACF;SACF;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,mBAAmB,CAAA;AAEjC,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import JSBI from 'jsbi';
|
|
2
|
+
export declare const ADDRESS_ZERO = "0x0000000000000000000000000000000000000000";
|
|
3
|
+
export declare const NEGATIVE_ONE: JSBI;
|
|
4
|
+
export declare const ZERO: JSBI;
|
|
5
|
+
export declare const ONE: JSBI;
|
|
6
|
+
export declare const ONE_ETHER: JSBI;
|
|
7
|
+
export declare const EMPTY_BYTES = "0x";
|
|
8
|
+
export declare const Q96: JSBI;
|
|
9
|
+
export declare const Q192: JSBI;
|
|
10
|
+
export declare const FEE_AMOUNT_LOW = 100;
|
|
11
|
+
export declare const FEE_AMOUNT_MEDIUM = 3000;
|
|
12
|
+
export declare const FEE_AMOUNT_HIGHEST = 10000;
|
|
13
|
+
export declare const TICK_SPACING_TEN = 10;
|
|
14
|
+
export declare const TICK_SPACING_SIXTY = 60;
|
|
15
|
+
export declare const MIN_SLIPPAGE_DECREASE = 0;
|
|
16
|
+
export declare const OPEN_DELTA: import("@ethersproject/bignumber").BigNumber;
|
|
17
|
+
export declare const SQRT_PRICE_1_1: JSBI;
|
|
18
|
+
export declare const EMPTY_HOOK = "0x0000000000000000000000000000000000000000";
|
|
19
|
+
export declare const NATIVE_NOT_SET = "NATIVE_NOT_SET";
|
|
20
|
+
export declare const ZERO_LIQUIDITY = "ZERO_LIQUIDITY";
|
|
21
|
+
export declare const NO_SQRT_PRICE = "NO_SQRT_PRICE";
|
|
22
|
+
export declare const CANNOT_BURN = "CANNOT_BURN";
|
|
23
|
+
/**
|
|
24
|
+
* Function fragments that exist on the PositionManager contract.
|
|
25
|
+
*/
|
|
26
|
+
export declare enum PositionFunctions {
|
|
27
|
+
INITIALIZE_POOL = "initializePool",
|
|
28
|
+
MODIFY_LIQUIDITIES = "modifyLiquidities",
|
|
29
|
+
PERMIT_BATCH = "0x002a3e3a",
|
|
30
|
+
ERC721PERMIT_PERMIT = "0x0f5730f1"
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The default factory enabled fee amounts, denominated in hundredths of bips.
|
|
34
|
+
*/
|
|
35
|
+
export declare enum FeeAmount {
|
|
36
|
+
LOWEST = 100,
|
|
37
|
+
LOW = 500,
|
|
38
|
+
MEDIUM = 3000,
|
|
39
|
+
HIGH = 10000
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The default factory tick spacings by fee amount.
|
|
43
|
+
*/
|
|
44
|
+
export declare const TICK_SPACINGS: {
|
|
45
|
+
[amount in FeeAmount]: number;
|
|
46
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import JSBI from 'jsbi';
|
|
2
|
+
import { AddressZero, Zero } from '@ethersproject/constants';
|
|
3
|
+
import { encodeSqrtRatioX96 } from '@kittycorn-labs/v3-sdk';
|
|
4
|
+
// constants used internally but not expected to be used externally
|
|
5
|
+
export const ADDRESS_ZERO = AddressZero;
|
|
6
|
+
export const NEGATIVE_ONE = JSBI.BigInt(-1);
|
|
7
|
+
export const ZERO = JSBI.BigInt(0);
|
|
8
|
+
export const ONE = JSBI.BigInt(1);
|
|
9
|
+
export const ONE_ETHER = JSBI.exponentiate(JSBI.BigInt(10), JSBI.BigInt(18));
|
|
10
|
+
export const EMPTY_BYTES = '0x';
|
|
11
|
+
// used in liquidity amount math
|
|
12
|
+
export const Q96 = JSBI.exponentiate(JSBI.BigInt(2), JSBI.BigInt(96));
|
|
13
|
+
export const Q192 = JSBI.exponentiate(Q96, JSBI.BigInt(2));
|
|
14
|
+
// pool setup
|
|
15
|
+
export const FEE_AMOUNT_LOW = 100;
|
|
16
|
+
export const FEE_AMOUNT_MEDIUM = 3000;
|
|
17
|
+
export const FEE_AMOUNT_HIGHEST = 10000;
|
|
18
|
+
export const TICK_SPACING_TEN = 10;
|
|
19
|
+
export const TICK_SPACING_SIXTY = 60;
|
|
20
|
+
// used in position manager math
|
|
21
|
+
export const MIN_SLIPPAGE_DECREASE = 0;
|
|
22
|
+
// used when unwrapping weth in positon manager
|
|
23
|
+
export const OPEN_DELTA = Zero;
|
|
24
|
+
// default prices
|
|
25
|
+
export const SQRT_PRICE_1_1 = encodeSqrtRatioX96(1, 1);
|
|
26
|
+
// default hook addresses
|
|
27
|
+
export const EMPTY_HOOK = '0x0000000000000000000000000000000000000000';
|
|
28
|
+
// error constants
|
|
29
|
+
export const NATIVE_NOT_SET = 'NATIVE_NOT_SET';
|
|
30
|
+
export const ZERO_LIQUIDITY = 'ZERO_LIQUIDITY';
|
|
31
|
+
export const NO_SQRT_PRICE = 'NO_SQRT_PRICE';
|
|
32
|
+
export const CANNOT_BURN = 'CANNOT_BURN';
|
|
33
|
+
/**
|
|
34
|
+
* Function fragments that exist on the PositionManager contract.
|
|
35
|
+
*/
|
|
36
|
+
export var PositionFunctions;
|
|
37
|
+
(function (PositionFunctions) {
|
|
38
|
+
PositionFunctions["INITIALIZE_POOL"] = "initializePool";
|
|
39
|
+
PositionFunctions["MODIFY_LIQUIDITIES"] = "modifyLiquidities";
|
|
40
|
+
// Inherited from PermitForwarder
|
|
41
|
+
PositionFunctions["PERMIT_BATCH"] = "0x002a3e3a";
|
|
42
|
+
// Inherited from ERC721Permit
|
|
43
|
+
PositionFunctions["ERC721PERMIT_PERMIT"] = "0x0f5730f1";
|
|
44
|
+
})(PositionFunctions || (PositionFunctions = {}));
|
|
45
|
+
/**
|
|
46
|
+
* The default factory enabled fee amounts, denominated in hundredths of bips.
|
|
47
|
+
*/
|
|
48
|
+
export var FeeAmount;
|
|
49
|
+
(function (FeeAmount) {
|
|
50
|
+
FeeAmount[FeeAmount["LOWEST"] = 100] = "LOWEST";
|
|
51
|
+
FeeAmount[FeeAmount["LOW"] = 500] = "LOW";
|
|
52
|
+
FeeAmount[FeeAmount["MEDIUM"] = 3000] = "MEDIUM";
|
|
53
|
+
FeeAmount[FeeAmount["HIGH"] = 10000] = "HIGH";
|
|
54
|
+
})(FeeAmount || (FeeAmount = {}));
|
|
55
|
+
/**
|
|
56
|
+
* The default factory tick spacings by fee amount.
|
|
57
|
+
*/
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
59
|
+
export const TICK_SPACINGS = {
|
|
60
|
+
[FeeAmount.LOWEST]: 1,
|
|
61
|
+
[FeeAmount.LOW]: 10,
|
|
62
|
+
[FeeAmount.MEDIUM]: 60,
|
|
63
|
+
[FeeAmount.HIGH]: 200,
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=internalConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internalConstants.js","sourceRoot":"","sources":["../../../src/internalConstants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Interface } from '@ethersproject/abi';
|
|
2
|
+
export declare abstract class Multicall {
|
|
3
|
+
static INTERFACE: Interface;
|
|
4
|
+
/**
|
|
5
|
+
* Cannot be constructed.
|
|
6
|
+
*/
|
|
7
|
+
private constructor();
|
|
8
|
+
static encodeMulticall(calldataList: string | string[]): string;
|
|
9
|
+
static decodeMulticall(encodedCalldata: string): string[];
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Interface } from '@ethersproject/abi';
|
|
2
|
+
import IMulticall from './abis/IMulticall.json' with { type: "json" };
|
|
3
|
+
export class Multicall {
|
|
4
|
+
/**
|
|
5
|
+
* Cannot be constructed.
|
|
6
|
+
*/
|
|
7
|
+
constructor() { }
|
|
8
|
+
static encodeMulticall(calldataList) {
|
|
9
|
+
if (!Array.isArray(calldataList)) {
|
|
10
|
+
calldataList = [calldataList];
|
|
11
|
+
}
|
|
12
|
+
return calldataList.length === 1
|
|
13
|
+
? calldataList[0]
|
|
14
|
+
: Multicall.INTERFACE.encodeFunctionData('multicall', [calldataList]);
|
|
15
|
+
}
|
|
16
|
+
static decodeMulticall(encodedCalldata) {
|
|
17
|
+
return Multicall.INTERFACE.decodeFunctionData('multicall', encodedCalldata)[0];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
Multicall.INTERFACE = new Interface(IMulticall.abi);
|
|
21
|
+
//# sourceMappingURL=multicall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multicall.js","sourceRoot":"","sources":["../../../src/multicall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAE/C,MAAM,OAAgB,SAAS;IAG7B;;OAEG;IACH,gBAAuB,CAAC;IAEjB,MAAM,CAAC,eAAe,CAAC,YAA+B;QAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAChC,YAAY,GAAG,CAAC,YAAY,CAAC,CAAA;SAC9B;QAED,OAAO,YAAY,CAAC,MAAM,KAAK,CAAC;YAC9B,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IACzE,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,eAAuB;QACnD,OAAO,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;IAChF,CAAC;;AAnBa,mBAAS,GAAc,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ChainId, Currency, Token } from '@kittycorn-labs/sdk-core';
|
|
2
|
+
import { Pool } from './entities/pool';
|
|
3
|
+
/** Current Kittycorn deployment. Legacy rebasing deployments are intentionally unsupported. */
|
|
4
|
+
export declare const KITTYCORN_BASE_SEPOLIA: {
|
|
5
|
+
chainId: ChainId;
|
|
6
|
+
bank: string;
|
|
7
|
+
router: string;
|
|
8
|
+
quoter: string;
|
|
9
|
+
tokens: {
|
|
10
|
+
underlying: Token;
|
|
11
|
+
tokenize: Token;
|
|
12
|
+
}[];
|
|
13
|
+
};
|
|
14
|
+
/** Conversion edges connect actual underlying/share currencies; they are not AMM liquidity. */
|
|
15
|
+
export declare function getTokenizePairs(chainId: number): [Currency, Currency, number, number, string][];
|
|
16
|
+
/** Recognize only registered conversion edges, never arbitrary pools containing a tToken. */
|
|
17
|
+
export declare function isTokenizeConversion(pool: Pool): boolean;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ChainId, Token } from '@kittycorn-labs/sdk-core';
|
|
2
|
+
/** Current Kittycorn deployment. Legacy rebasing deployments are intentionally unsupported. */
|
|
3
|
+
export const KITTYCORN_BASE_SEPOLIA = {
|
|
4
|
+
chainId: ChainId.BASE_SEPOLIA,
|
|
5
|
+
bank: '0xcc331eC1d6CF4542F9eB988B49249cfa163081dc',
|
|
6
|
+
router: '0x137a906E06EC20808c8F156F9024196427429220',
|
|
7
|
+
quoter: '0x9fEcb19a660d1d6d3aD7a33A7e9BeB01A9EE24aB',
|
|
8
|
+
tokens: [
|
|
9
|
+
{
|
|
10
|
+
underlying: new Token(84532, '0xba50Cd2A20f6DA35D788639E581bca8d0B5d4D5f', 6, 'USDC'),
|
|
11
|
+
tokenize: new Token(84532, '0x0B4104691a6a006F0134d507aAe6d35854BaD924', 6, 'tUSDC'),
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
underlying: new Token(84532, '0x0a215D8ba66387DCA84B284D18c3B4ec3de6E54a', 6, 'USDT'),
|
|
15
|
+
tokenize: new Token(84532, '0x94572cD65df8DAa3A8Da96277FfA2a22ee71b5dC', 6, 'tUSDT'),
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
underlying: new Token(84532, '0x4200000000000000000000000000000000000006', 18, 'WETH'),
|
|
19
|
+
tokenize: new Token(84532, '0xd09EDDa7a0495eAc6B921fb9408d2Ae55220EbC0', 18, 'tWETH'),
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
/** Conversion edges connect actual underlying/share currencies; they are not AMM liquidity. */
|
|
24
|
+
export function getTokenizePairs(chainId) {
|
|
25
|
+
if (chainId !== KITTYCORN_BASE_SEPOLIA.chainId)
|
|
26
|
+
return [];
|
|
27
|
+
const pairs = KITTYCORN_BASE_SEPOLIA.tokens.map((t) => [t.underlying, t.tokenize]);
|
|
28
|
+
return pairs.map(([a, b]) => [a, b, 0, 1, '0x0000000000000000000000000000000000000000']);
|
|
29
|
+
}
|
|
30
|
+
/** Recognize only registered conversion edges, never arbitrary pools containing a tToken. */
|
|
31
|
+
export function isTokenizeConversion(pool) {
|
|
32
|
+
return getTokenizePairs(pool.chainId).some(([a, b, fee, spacing, hooks]) => pool.fee === fee &&
|
|
33
|
+
pool.tickSpacing === spacing &&
|
|
34
|
+
pool.hooks.toLowerCase() === hooks &&
|
|
35
|
+
((pool.currency0.equals(a) && pool.currency1.equals(b)) || (pool.currency0.equals(b) && pool.currency1.equals(a))));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=tokenize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../../../src/tokenize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAGnE,+FAA+F;AAC/F,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC,YAAY;IAC7B,IAAI,EAAE,4CAA4C;IAClD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE;QACN;YACE,UAAU,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,4CAA4C,EAAE,CAAC,EAAE,MAAM,CAAC;YACrF,QAAQ,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,4CAA4C,EAAE,CAAC,EAAE,OAAO,CAAC;SACrF;QACD;YACE,UAAU,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,4CAA4C,EAAE,CAAC,EAAE,MAAM,CAAC;YACrF,QAAQ,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,4CAA4C,EAAE,CAAC,EAAE,OAAO,CAAC;SACrF;QACD;YACE,UAAU,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,4CAA4C,EAAE,EAAE,EAAE,MAAM,CAAC;YACtF,QAAQ,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,4CAA4C,EAAE,EAAE,EAAE,OAAO,CAAC;SACtF;KACF;CACF,CAAA;AAED,+FAA+F;AAC/F,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,OAAO,KAAK,sBAAsB,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACzD,MAAM,KAAK,GAA2B,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1G,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,4CAA4C,CAAC,CAAC,CAAA;AAC1F,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,oBAAoB,CAAC,IAAU;IAC7C,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CACxC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAC9B,IAAI,CAAC,GAAG,KAAK,GAAG;QAChB,IAAI,CAAC,WAAW,KAAK,OAAO;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK;QAClC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CACrH,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BigintIsh } from '@kittycorn-labs/sdk-core';
|
|
2
|
+
/**
|
|
3
|
+
* Generated method parameters for executing a call.
|
|
4
|
+
*/
|
|
5
|
+
export interface MethodParameters {
|
|
6
|
+
/**
|
|
7
|
+
* The hex encoded calldata to perform the given operation
|
|
8
|
+
*/
|
|
9
|
+
calldata: string;
|
|
10
|
+
/**
|
|
11
|
+
* The amount of ether (wei) to send in hex.
|
|
12
|
+
*/
|
|
13
|
+
value: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Converts a big int to a hex string
|
|
17
|
+
* @param bigintIsh
|
|
18
|
+
* @returns The hex encoded calldata
|
|
19
|
+
*/
|
|
20
|
+
export declare function toHex(bigintIsh: BigintIsh): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import JSBI from 'jsbi';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a big int to a hex string
|
|
4
|
+
* @param bigintIsh
|
|
5
|
+
* @returns The hex encoded calldata
|
|
6
|
+
*/
|
|
7
|
+
export function toHex(bigintIsh) {
|
|
8
|
+
const bigInt = JSBI.BigInt(bigintIsh);
|
|
9
|
+
let hex = bigInt.toString(16);
|
|
10
|
+
if (hex.length % 2 !== 0) {
|
|
11
|
+
hex = `0${hex}`;
|
|
12
|
+
}
|
|
13
|
+
return `0x${hex}`;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=calldata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calldata.js","sourceRoot":"","sources":["../../../../src/utils/calldata.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAA;AAgBvB;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,SAAoB;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACrC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC7B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;QACxB,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;KAChB;IACD,OAAO,KAAK,GAAG,EAAE,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ADDRESS_ZERO } from '../internalConstants.js';
|
|
2
|
+
// Uniswap v4 supports native pools. Those currencies are represented by the zero address.
|
|
3
|
+
// TODO: Figure out if this is how we should be handling weird edge case tokens like CELO/Polygon/etc..
|
|
4
|
+
// Does interface treat those like ERC20 tokens or NATIVE tokens?
|
|
5
|
+
export function toAddress(currency) {
|
|
6
|
+
if (currency.isNative)
|
|
7
|
+
return ADDRESS_ZERO;
|
|
8
|
+
else
|
|
9
|
+
return currency.wrapped.address;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=currencyMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currencyMap.js","sourceRoot":"","sources":["../../../../src/utils/currencyMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,0FAA0F;AAC1F,uGAAuG;AACvG,iEAAiE;AACjE,MAAM,UAAU,SAAS,CAAC,QAAkB;IAC1C,IAAI,QAAQ,CAAC,QAAQ;QAAE,OAAO,YAAY,CAAA;;QACrC,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAA;AACtC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Currency } from '@kittycorn-labs/sdk-core';
|
|
2
|
+
import { Route } from '../entities/route';
|
|
3
|
+
export type PathKey = {
|
|
4
|
+
intermediateCurrency: string;
|
|
5
|
+
fee: number;
|
|
6
|
+
tickSpacing: number;
|
|
7
|
+
hooks: string;
|
|
8
|
+
hookData: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const encodeRouteToPath: (route: Route<Currency, Currency>, exactOutput?: boolean) => PathKey[];
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ADDRESS_ZERO } from '../internalConstants.js';
|
|
2
|
+
export const encodeRouteToPath = (route, exactOutput) => {
|
|
3
|
+
// create a deep copy of pools so that we don't tamper with pool array on route
|
|
4
|
+
let pools = route.pools.map((p) => p);
|
|
5
|
+
if (exactOutput)
|
|
6
|
+
pools = pools.reverse();
|
|
7
|
+
let startingCurrency = exactOutput ? route.pathOutput : route.pathInput;
|
|
8
|
+
let pathKeys = [];
|
|
9
|
+
for (let pool of pools) {
|
|
10
|
+
const nextCurrency = startingCurrency.equals(pool.currency0) ? pool.currency1 : pool.currency0;
|
|
11
|
+
pathKeys.push({
|
|
12
|
+
intermediateCurrency: nextCurrency.isNative ? ADDRESS_ZERO : nextCurrency.address,
|
|
13
|
+
fee: pool.fee,
|
|
14
|
+
tickSpacing: pool.tickSpacing,
|
|
15
|
+
hooks: pool.hooks,
|
|
16
|
+
hookData: '0x',
|
|
17
|
+
});
|
|
18
|
+
startingCurrency = nextCurrency;
|
|
19
|
+
}
|
|
20
|
+
return exactOutput ? pathKeys.reverse() : pathKeys;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=encodeRouteToPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encodeRouteToPath.js","sourceRoot":"","sources":["../../../../src/utils/encodeRouteToPath.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAUnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAgC,EAAE,WAAqB,EAAa,EAAE;IACtG,+EAA+E;IAC/E,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IACrC,IAAI,WAAW;QAAE,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;IACxC,IAAI,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAA;IACvE,IAAI,QAAQ,GAAc,EAAE,CAAA;IAE5B,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;QACtB,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;QAE9F,QAAQ,CAAC,IAAI,CAAC;YACZ,oBAAoB,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO;YACjF,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;QAEF,gBAAgB,GAAG,YAAY,CAAA;KAChC;IAED,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;AACpD,CAAC,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export type HookPermissions = {
|
|
2
|
+
[key in HookOptions]: boolean;
|
|
3
|
+
};
|
|
4
|
+
export declare enum HookOptions {
|
|
5
|
+
AfterRemoveLiquidityReturnsDelta = "afterRemoveLiquidityReturnsDelta",
|
|
6
|
+
AfterAddLiquidityReturnsDelta = "afterAddLiquidityReturnsDelta",
|
|
7
|
+
AfterSwapReturnsDelta = "afterSwapReturnsDelta",
|
|
8
|
+
BeforeSwapReturnsDelta = "beforeSwapReturnsDelta",
|
|
9
|
+
AfterDonate = "afterDonate",
|
|
10
|
+
BeforeDonate = "beforeDonate",
|
|
11
|
+
AfterSwap = "afterSwap",
|
|
12
|
+
BeforeSwap = "beforeSwap",
|
|
13
|
+
AfterRemoveLiquidity = "afterRemoveLiquidity",
|
|
14
|
+
BeforeRemoveLiquidity = "beforeRemoveLiquidity",
|
|
15
|
+
AfterAddLiquidity = "afterAddLiquidity",
|
|
16
|
+
BeforeAddLiquidity = "beforeAddLiquidity",
|
|
17
|
+
AfterInitialize = "afterInitialize",
|
|
18
|
+
BeforeInitialize = "beforeInitialize"
|
|
19
|
+
}
|
|
20
|
+
export declare const hookFlagIndex: {
|
|
21
|
+
afterRemoveLiquidityReturnsDelta: number;
|
|
22
|
+
afterAddLiquidityReturnsDelta: number;
|
|
23
|
+
afterSwapReturnsDelta: number;
|
|
24
|
+
beforeSwapReturnsDelta: number;
|
|
25
|
+
afterDonate: number;
|
|
26
|
+
beforeDonate: number;
|
|
27
|
+
afterSwap: number;
|
|
28
|
+
beforeSwap: number;
|
|
29
|
+
afterRemoveLiquidity: number;
|
|
30
|
+
beforeRemoveLiquidity: number;
|
|
31
|
+
afterAddLiquidity: number;
|
|
32
|
+
beforeAddLiquidity: number;
|
|
33
|
+
afterInitialize: number;
|
|
34
|
+
beforeInitialize: number;
|
|
35
|
+
};
|
|
36
|
+
export declare class Hook {
|
|
37
|
+
static permissions(address: string): HookPermissions;
|
|
38
|
+
static hasPermission(address: string, hookOption: HookOptions): boolean;
|
|
39
|
+
static hasInitializePermissions(address: string): boolean;
|
|
40
|
+
static hasLiquidityPermissions(address: string): boolean;
|
|
41
|
+
static hasSwapPermissions(address: string): boolean;
|
|
42
|
+
static hasDonatePermissions(address: string): boolean;
|
|
43
|
+
private static _hasPermission;
|
|
44
|
+
private static _checkAddress;
|
|
45
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import invariant from 'tiny-invariant';
|
|
2
|
+
import { isAddress } from '@ethersproject/address';
|
|
3
|
+
export var HookOptions;
|
|
4
|
+
(function (HookOptions) {
|
|
5
|
+
HookOptions["AfterRemoveLiquidityReturnsDelta"] = "afterRemoveLiquidityReturnsDelta";
|
|
6
|
+
HookOptions["AfterAddLiquidityReturnsDelta"] = "afterAddLiquidityReturnsDelta";
|
|
7
|
+
HookOptions["AfterSwapReturnsDelta"] = "afterSwapReturnsDelta";
|
|
8
|
+
HookOptions["BeforeSwapReturnsDelta"] = "beforeSwapReturnsDelta";
|
|
9
|
+
HookOptions["AfterDonate"] = "afterDonate";
|
|
10
|
+
HookOptions["BeforeDonate"] = "beforeDonate";
|
|
11
|
+
HookOptions["AfterSwap"] = "afterSwap";
|
|
12
|
+
HookOptions["BeforeSwap"] = "beforeSwap";
|
|
13
|
+
HookOptions["AfterRemoveLiquidity"] = "afterRemoveLiquidity";
|
|
14
|
+
HookOptions["BeforeRemoveLiquidity"] = "beforeRemoveLiquidity";
|
|
15
|
+
HookOptions["AfterAddLiquidity"] = "afterAddLiquidity";
|
|
16
|
+
HookOptions["BeforeAddLiquidity"] = "beforeAddLiquidity";
|
|
17
|
+
HookOptions["AfterInitialize"] = "afterInitialize";
|
|
18
|
+
HookOptions["BeforeInitialize"] = "beforeInitialize";
|
|
19
|
+
})(HookOptions || (HookOptions = {}));
|
|
20
|
+
export const hookFlagIndex = {
|
|
21
|
+
[HookOptions.AfterRemoveLiquidityReturnsDelta]: 0,
|
|
22
|
+
[HookOptions.AfterAddLiquidityReturnsDelta]: 1,
|
|
23
|
+
[HookOptions.AfterSwapReturnsDelta]: 2,
|
|
24
|
+
[HookOptions.BeforeSwapReturnsDelta]: 3,
|
|
25
|
+
[HookOptions.AfterDonate]: 4,
|
|
26
|
+
[HookOptions.BeforeDonate]: 5,
|
|
27
|
+
[HookOptions.AfterSwap]: 6,
|
|
28
|
+
[HookOptions.BeforeSwap]: 7,
|
|
29
|
+
[HookOptions.AfterRemoveLiquidity]: 8,
|
|
30
|
+
[HookOptions.BeforeRemoveLiquidity]: 9,
|
|
31
|
+
[HookOptions.AfterAddLiquidity]: 10,
|
|
32
|
+
[HookOptions.BeforeAddLiquidity]: 11,
|
|
33
|
+
[HookOptions.AfterInitialize]: 12,
|
|
34
|
+
[HookOptions.BeforeInitialize]: 13,
|
|
35
|
+
};
|
|
36
|
+
export class Hook {
|
|
37
|
+
static permissions(address) {
|
|
38
|
+
this._checkAddress(address);
|
|
39
|
+
return {
|
|
40
|
+
beforeInitialize: this._hasPermission(address, HookOptions.BeforeInitialize),
|
|
41
|
+
afterInitialize: this._hasPermission(address, HookOptions.AfterInitialize),
|
|
42
|
+
beforeAddLiquidity: this._hasPermission(address, HookOptions.BeforeAddLiquidity),
|
|
43
|
+
afterAddLiquidity: this._hasPermission(address, HookOptions.AfterAddLiquidity),
|
|
44
|
+
beforeRemoveLiquidity: this._hasPermission(address, HookOptions.BeforeRemoveLiquidity),
|
|
45
|
+
afterRemoveLiquidity: this._hasPermission(address, HookOptions.AfterRemoveLiquidity),
|
|
46
|
+
beforeSwap: this._hasPermission(address, HookOptions.BeforeSwap),
|
|
47
|
+
afterSwap: this._hasPermission(address, HookOptions.AfterSwap),
|
|
48
|
+
beforeDonate: this._hasPermission(address, HookOptions.BeforeDonate),
|
|
49
|
+
afterDonate: this._hasPermission(address, HookOptions.AfterDonate),
|
|
50
|
+
beforeSwapReturnsDelta: this._hasPermission(address, HookOptions.BeforeSwapReturnsDelta),
|
|
51
|
+
afterSwapReturnsDelta: this._hasPermission(address, HookOptions.AfterSwapReturnsDelta),
|
|
52
|
+
afterAddLiquidityReturnsDelta: this._hasPermission(address, HookOptions.AfterAddLiquidityReturnsDelta),
|
|
53
|
+
afterRemoveLiquidityReturnsDelta: this._hasPermission(address, HookOptions.AfterRemoveLiquidityReturnsDelta),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
static hasPermission(address, hookOption) {
|
|
57
|
+
this._checkAddress(address);
|
|
58
|
+
return this._hasPermission(address, hookOption);
|
|
59
|
+
}
|
|
60
|
+
static hasInitializePermissions(address) {
|
|
61
|
+
this._checkAddress(address);
|
|
62
|
+
return (this._hasPermission(address, HookOptions.BeforeInitialize) ||
|
|
63
|
+
Hook._hasPermission(address, HookOptions.AfterInitialize));
|
|
64
|
+
}
|
|
65
|
+
static hasLiquidityPermissions(address) {
|
|
66
|
+
this._checkAddress(address);
|
|
67
|
+
// this implicitly encapsulates liquidity delta permissions
|
|
68
|
+
return (this._hasPermission(address, HookOptions.BeforeAddLiquidity) ||
|
|
69
|
+
Hook._hasPermission(address, HookOptions.AfterAddLiquidity) ||
|
|
70
|
+
Hook._hasPermission(address, HookOptions.BeforeRemoveLiquidity) ||
|
|
71
|
+
Hook._hasPermission(address, HookOptions.AfterRemoveLiquidity));
|
|
72
|
+
}
|
|
73
|
+
static hasSwapPermissions(address) {
|
|
74
|
+
this._checkAddress(address);
|
|
75
|
+
// this implicitly encapsulates swap delta permissions
|
|
76
|
+
return this._hasPermission(address, HookOptions.BeforeSwap) || Hook._hasPermission(address, HookOptions.AfterSwap);
|
|
77
|
+
}
|
|
78
|
+
static hasDonatePermissions(address) {
|
|
79
|
+
this._checkAddress(address);
|
|
80
|
+
return (this._hasPermission(address, HookOptions.BeforeDonate) || Hook._hasPermission(address, HookOptions.AfterDonate));
|
|
81
|
+
}
|
|
82
|
+
static _hasPermission(address, hookOption) {
|
|
83
|
+
// Use only the last 4 bytes (32 bits) to avoid JavaScript precision issues
|
|
84
|
+
// All hook flags are in bits 0-13, which fit comfortably in 32 bits
|
|
85
|
+
const last4Bytes = '0x' + address.slice(-8);
|
|
86
|
+
return !!(parseInt(last4Bytes, 16) & (1 << hookFlagIndex[hookOption]));
|
|
87
|
+
}
|
|
88
|
+
static _checkAddress(address) {
|
|
89
|
+
invariant(isAddress(address), 'invalid address');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../src/utils/hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './encodeRouteToPath';
|
|
2
|
+
export * from './v4Planner';
|
|
3
|
+
export * from './v4PositionPlanner';
|
|
4
|
+
export * from './calldata';
|
|
5
|
+
export * from './v4BaseActionsParser';
|
|
6
|
+
export * from './currencyMap';
|
|
7
|
+
export * from './encodeRouteToPath';
|
|
8
|
+
export * from './pathCurrency';
|
|
9
|
+
export * from './priceTickConversions';
|
|
10
|
+
export * from './sortsBefore';
|
|
11
|
+
export * from './hook';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './encodeRouteToPath.js';
|
|
2
|
+
export * from './v4Planner.js';
|
|
3
|
+
export * from './v4PositionPlanner.js';
|
|
4
|
+
export * from './calldata.js';
|
|
5
|
+
export * from './v4BaseActionsParser.js';
|
|
6
|
+
export * from './currencyMap.js';
|
|
7
|
+
export * from './encodeRouteToPath.js';
|
|
8
|
+
export * from './pathCurrency.js';
|
|
9
|
+
export * from './priceTickConversions.js';
|
|
10
|
+
export * from './sortsBefore.js';
|
|
11
|
+
export * from './hook.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Currency, CurrencyAmount } from '@kittycorn-labs/sdk-core';
|
|
2
|
+
import { Pool } from '../entities/pool';
|
|
3
|
+
export declare function amountWithPathCurrency(amount: CurrencyAmount<Currency>, pool: Pool): CurrencyAmount<Currency>;
|
|
4
|
+
export declare function getPathCurrency(currency: Currency, pool: Pool): Currency;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CurrencyAmount } from '@kittycorn-labs/sdk-core';
|
|
2
|
+
export function amountWithPathCurrency(amount, pool) {
|
|
3
|
+
return CurrencyAmount.fromFractionalAmount(getPathCurrency(amount.currency, pool), amount.numerator, amount.denominator);
|
|
4
|
+
}
|
|
5
|
+
export function getPathCurrency(currency, pool) {
|
|
6
|
+
if (pool.involvesCurrency(currency)) {
|
|
7
|
+
return currency;
|
|
8
|
+
}
|
|
9
|
+
else if (pool.involvesCurrency(currency.wrapped)) {
|
|
10
|
+
return currency.wrapped;
|
|
11
|
+
}
|
|
12
|
+
else if (pool.currency0.wrapped.equals(currency)) {
|
|
13
|
+
return pool.currency0;
|
|
14
|
+
}
|
|
15
|
+
else if (pool.currency1.wrapped.equals(currency)) {
|
|
16
|
+
return pool.currency1;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
throw new Error(`Expected currency ${currency.symbol} to be either ${pool.currency0.symbol} or ${pool.currency1.symbol}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=pathCurrency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pathCurrency.js","sourceRoot":"","sources":["../../../../src/utils/pathCurrency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAGnE,MAAM,UAAU,sBAAsB,CAAC,MAAgC,EAAE,IAAU;IACjF,OAAO,cAAc,CAAC,oBAAoB,CACxC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EACtC,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,CACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAkB,EAAE,IAAU;IAC5D,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;QACnC,OAAO,QAAQ,CAAA;KAChB;SAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAClD,OAAO,QAAQ,CAAC,OAAO,CAAA;KACxB;SAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAClD,OAAO,IAAI,CAAC,SAAS,CAAA;KACtB;SAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAClD,OAAO,IAAI,CAAC,SAAS,CAAA;KACtB;SAAM;QACL,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,CAAC,MAAM,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CACzG,CAAA;KACF;AACH,CAAC"}
|