@paraswap/dex-lib 4.1.14 → 4.1.15-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/.vscode/launch.json +53 -0
- package/.vscode/settings.json +2 -0
- package/.vscode/tasks.json +15 -0
- package/build/abi/AaveV1_lending_pool.json +27 -0
- package/build/abi/inception/inception-ineth-pool.json +1062 -0
- package/build/abi/inception/inception-ratio-feed.json +329 -0
- package/build/abi/inception/inception-vault.json +991 -0
- package/build/abi/platypus/asset.json +490 -0
- package/build/abi/platypus/avax-pool.json +820 -0
- package/build/abi/platypus/oracle.json +119 -0
- package/build/abi/platypus/pool.json +677 -0
- package/build/abi/smardex/all/smardex-router.json +648 -0
- package/build/abi/smardex/layer-1/smardex-factory.json +242 -0
- package/build/abi/smardex/layer-1/smardex-pool.json +506 -0
- package/build/abi/smardex/layer-2/smardex-factory.json +185 -0
- package/build/abi/smardex/layer-2/smardex-pool.json +578 -0
- package/build/abi/swaap-v1/pool.json +1346 -0
- package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
- package/build/abi/uniswap-v4/quoter.abi.json +461 -0
- package/build/abi/uniswap-v4/router.abi.json +230 -0
- package/build/abi/usual-m-smart-m/usualM.abi.json +483 -0
- package/build/abi/wombat/pool.json +1289 -0
- package/build/dex/aave-v1/aave-v1.d.ts +34 -0
- package/build/dex/aave-v1/aave-v1.js +181 -0
- package/build/dex/aave-v1/aave-v1.js.map +1 -0
- package/build/dex/aave-v1/config.d.ts +11 -0
- package/build/dex/aave-v1/config.js +20 -0
- package/build/dex/aave-v1/config.js.map +1 -0
- package/build/dex/aave-v1/tokens-mainnet.json +134 -0
- package/build/dex/aave-v1/tokens.d.ts +3 -0
- package/build/dex/aave-v1/tokens.js +50 -0
- package/build/dex/aave-v1/tokens.js.map +1 -0
- package/build/dex/aave-v1/types.d.ts +12 -0
- package/build/dex/aave-v1/types.js +3 -0
- package/build/dex/aave-v1/types.js.map +1 -0
- package/build/dex/aave-v2/tokens-avalanche.json +44 -0
- package/build/dex/aave-v2/tokens-mainnet.json +188 -0
- package/build/dex/aave-v2/tokens-polygon.json +44 -0
- package/build/dex/bProtocol.d.ts +18 -0
- package/build/dex/bProtocol.js +39 -0
- package/build/dex/bProtocol.js.map +1 -0
- package/build/dex/balancer-v3/abi/balancerBatchRouter.d.ts +729 -0
- package/build/dex/balancer-v3/abi/balancerBatchRouter.js +732 -0
- package/build/dex/balancer-v3/abi/balancerBatchRouter.js.map +1 -0
- package/build/dex/balancer-v3/abi/balancerRouter.d.ts +1406 -0
- package/build/dex/balancer-v3/abi/balancerRouter.js +1175 -0
- package/build/dex/balancer-v3/abi/balancerRouter.js.map +1 -0
- package/build/dex/balancer-v3/abi/vaultExtension.V3.d.ts +2081 -0
- package/build/dex/balancer-v3/abi/vaultExtension.V3.js +1851 -0
- package/build/dex/balancer-v3/abi/vaultExtension.V3.js.map +1 -0
- package/build/dex/balancer-v3/balancer-v3-sepolia-pools.d.ts +34 -0
- package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js +406 -0
- package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js.map +1 -0
- package/build/dex/balancer-v3/gyroECLPPool.d.ts +11 -0
- package/build/dex/balancer-v3/gyroECLPPool.js +6 -0
- package/build/dex/balancer-v3/gyroECLPPool.js.map +1 -0
- package/build/dex/balancer-v3/utils.d.ts +2 -0
- package/build/dex/balancer-v3/utils.js +11 -0
- package/build/dex/balancer-v3/utils.js.map +1 -0
- package/build/dex/bancor.d.ts +26 -0
- package/build/dex/bancor.js +58 -0
- package/build/dex/bancor.js.map +1 -0
- package/build/dex/compound.d.ts +18 -0
- package/build/dex/compound.js +46 -0
- package/build/dex/compound.js.map +1 -0
- package/build/dex/curve-v2.d.ts +58 -0
- package/build/dex/curve-v2.js +180 -0
- package/build/dex/curve-v2.js.map +1 -0
- package/build/dex/dodo-v1.d.ts +33 -0
- package/build/dex/dodo-v1.js +63 -0
- package/build/dex/dodo-v1.js.map +1 -0
- package/build/dex/erc4626/scripts/validate-state.d.ts +0 -0
- package/build/dex/erc4626/scripts/validate-state.js +146 -0
- package/build/dex/erc4626/scripts/validate-state.js.map +1 -0
- package/build/dex/inception/config.d.ts +4 -0
- package/build/dex/inception/config.js +109 -0
- package/build/dex/inception/config.js.map +1 -0
- package/build/dex/inception/inception-event-pool.d.ts +16 -0
- package/build/dex/inception/inception-event-pool.js +49 -0
- package/build/dex/inception/inception-event-pool.js.map +1 -0
- package/build/dex/inception/inception.d.ts +43 -0
- package/build/dex/inception/inception.js +180 -0
- package/build/dex/inception/inception.js.map +1 -0
- package/build/dex/inception/tokens.d.ts +9 -0
- package/build/dex/inception/tokens.js +28 -0
- package/build/dex/inception/tokens.js.map +1 -0
- package/build/dex/inception/types.d.ts +22 -0
- package/build/dex/inception/types.js +3 -0
- package/build/dex/inception/types.js.map +1 -0
- package/build/dex/inception/utils.d.ts +7 -0
- package/build/dex/inception/utils.js +58 -0
- package/build/dex/inception/utils.js.map +1 -0
- package/build/dex/lido.d.ts +19 -0
- package/build/dex/lido.js +42 -0
- package/build/dex/lido.js.map +1 -0
- package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
- package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
- package/build/dex/maker-psm/scripts/validate-state.js +185 -0
- package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
- package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
- package/build/dex/maverick-v2/maverick-v2-pool.js +2 -2
- package/build/dex/maverick-v2/maverick-v2-pool.js.map +1 -1
- package/build/dex/onebit.d.ts +25 -0
- package/build/dex/onebit.js +42 -0
- package/build/dex/onebit.js.map +1 -0
- package/build/dex/platypus/asset.d.ts +14 -0
- package/build/dex/platypus/asset.js +97 -0
- package/build/dex/platypus/asset.js.map +1 -0
- package/build/dex/platypus/config.d.ts +11 -0
- package/build/dex/platypus/config.js +69 -0
- package/build/dex/platypus/config.js.map +1 -0
- package/build/dex/platypus/platypus.d.ts +63 -0
- package/build/dex/platypus/platypus.js +487 -0
- package/build/dex/platypus/platypus.js.map +1 -0
- package/build/dex/platypus/pool-avax.d.ts +8 -0
- package/build/dex/platypus/pool-avax.js +54 -0
- package/build/dex/platypus/pool-avax.js.map +1 -0
- package/build/dex/platypus/pool-base.d.ts +19 -0
- package/build/dex/platypus/pool-base.js +86 -0
- package/build/dex/platypus/pool-base.js.map +1 -0
- package/build/dex/platypus/pool-pure.d.ts +8 -0
- package/build/dex/platypus/pool-pure.js +37 -0
- package/build/dex/platypus/pool-pure.js.map +1 -0
- package/build/dex/platypus/pool-subscriber.d.ts +14 -0
- package/build/dex/platypus/pool-subscriber.js +167 -0
- package/build/dex/platypus/pool-subscriber.js.map +1 -0
- package/build/dex/platypus/pool.d.ts +8 -0
- package/build/dex/platypus/pool.js +58 -0
- package/build/dex/platypus/pool.js.map +1 -0
- package/build/dex/platypus/types.d.ts +92 -0
- package/build/dex/platypus/types.js +10 -0
- package/build/dex/platypus/types.js.map +1 -0
- package/build/dex/quickswap/spiritswap-v3.d.ts +6 -0
- package/build/dex/quickswap/spiritswap-v3.js +19 -0
- package/build/dex/quickswap/spiritswap-v3.js.map +1 -0
- package/build/dex/smardex/config.d.ts +4 -0
- package/build/dex/smardex/config.js +64 -0
- package/build/dex/smardex/config.js.map +1 -0
- package/build/dex/smardex/constants.d.ts +18 -0
- package/build/dex/smardex/constants.js +33 -0
- package/build/dex/smardex/constants.js.map +1 -0
- package/build/dex/smardex/sdk/constants.d.ts +6 -0
- package/build/dex/smardex/sdk/constants.js +13 -0
- package/build/dex/smardex/sdk/constants.js.map +1 -0
- package/build/dex/smardex/sdk/core.d.ts +113 -0
- package/build/dex/smardex/sdk/core.js +499 -0
- package/build/dex/smardex/sdk/core.js.map +1 -0
- package/build/dex/smardex/sdk/errors.d.ts +15 -0
- package/build/dex/smardex/sdk/errors.js +22 -0
- package/build/dex/smardex/sdk/errors.js.map +1 -0
- package/build/dex/smardex/sdk/types.d.ts +62 -0
- package/build/dex/smardex/sdk/types.js +3 -0
- package/build/dex/smardex/sdk/types.js.map +1 -0
- package/build/dex/smardex/sdk/utils.d.ts +44 -0
- package/build/dex/smardex/sdk/utils.js +133 -0
- package/build/dex/smardex/sdk/utils.js.map +1 -0
- package/build/dex/smardex/smardex-event-pool.d.ts +28 -0
- package/build/dex/smardex/smardex-event-pool.js +119 -0
- package/build/dex/smardex/smardex-event-pool.js.map +1 -0
- package/build/dex/smardex/smardex.d.ts +65 -0
- package/build/dex/smardex/smardex.js +519 -0
- package/build/dex/smardex/smardex.js.map +1 -0
- package/build/dex/smardex/types.d.ts +55 -0
- package/build/dex/smardex/types.js +3 -0
- package/build/dex/smardex/types.js.map +1 -0
- package/build/dex/smoothy.d.ts +26 -0
- package/build/dex/smoothy.js +48 -0
- package/build/dex/smoothy.js.map +1 -0
- package/build/dex/solidly/forks-override/cone.d.ts +22 -0
- package/build/dex/solidly/forks-override/cone.js +53 -0
- package/build/dex/solidly/forks-override/cone.js.map +1 -0
- package/build/dex/solidly/forks-override/solisnek.d.ts +8 -0
- package/build/dex/solidly/forks-override/solisnek.js +15 -0
- package/build/dex/solidly/forks-override/solisnek.js.map +1 -0
- package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
- package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
- package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
- package/build/dex/stable-pool.d.ts +28 -0
- package/build/dex/stable-pool.js +55 -0
- package/build/dex/stable-pool.js.map +1 -0
- package/build/dex/swaap-v1/config.d.ts +17 -0
- package/build/dex/swaap-v1/config.js +56 -0
- package/build/dex/swaap-v1/config.js.map +1 -0
- package/build/dex/swaap-v1/constants.d.ts +6 -0
- package/build/dex/swaap-v1/constants.js +17 -0
- package/build/dex/swaap-v1/constants.js.map +1 -0
- package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +25 -0
- package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +62 -0
- package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +1 -0
- package/build/dex/swaap-v1/libraries/Const.d.ts +18 -0
- package/build/dex/swaap-v1/libraries/Const.js +26 -0
- package/build/dex/swaap-v1/libraries/Const.js.map +1 -0
- package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +77 -0
- package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +316 -0
- package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +1 -0
- package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +75 -0
- package/build/dex/swaap-v1/libraries/LogExpMath.js +418 -0
- package/build/dex/swaap-v1/libraries/LogExpMath.js.map +1 -0
- package/build/dex/swaap-v1/libraries/MathMMM.d.ts +185 -0
- package/build/dex/swaap-v1/libraries/MathMMM.js +453 -0
- package/build/dex/swaap-v1/libraries/MathMMM.js.map +1 -0
- package/build/dex/swaap-v1/libraries/Num.d.ts +31 -0
- package/build/dex/swaap-v1/libraries/Num.js +167 -0
- package/build/dex/swaap-v1/libraries/Num.js.map +1 -0
- package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +23 -0
- package/build/dex/swaap-v1/libraries/PoolQuotations.js +131 -0
- package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +1 -0
- package/build/dex/swaap-v1/libraries/Struct.d.ts +56 -0
- package/build/dex/swaap-v1/libraries/Struct.js +3 -0
- package/build/dex/swaap-v1/libraries/Struct.js.map +1 -0
- package/build/dex/swaap-v1/swaap-v1-pool.d.ts +45 -0
- package/build/dex/swaap-v1/swaap-v1-pool.js +656 -0
- package/build/dex/swaap-v1/swaap-v1-pool.js.map +1 -0
- package/build/dex/swaap-v1/swaap-v1.d.ts +62 -0
- package/build/dex/swaap-v1/swaap-v1.js +383 -0
- package/build/dex/swaap-v1/swaap-v1.js.map +1 -0
- package/build/dex/swaap-v1/types.d.ts +106 -0
- package/build/dex/swaap-v1/types.js +9 -0
- package/build/dex/swaap-v1/types.js.map +1 -0
- package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.d.ts +7 -0
- package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js +20 -0
- package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js.map +1 -0
- package/build/dex/trader-joe-v2.1.d.ts +43 -0
- package/build/dex/trader-joe-v2.1.js +79 -0
- package/build/dex/trader-joe-v2.1.js.map +1 -0
- package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
- package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
- package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
- package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
- package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
- package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
- package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +4 -0
- package/build/dex/uniswap-v3/uniswap-v3-pricing.js +43 -0
- package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +1 -0
- package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +1 -0
- package/build/dex/uniswap-v3/uniswap-v3-worker.js +10 -0
- package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +1 -0
- package/build/dex/uniswap-v4/config.d.ts +3 -0
- package/build/dex/uniswap-v4/config.js +15 -0
- package/build/dex/uniswap-v4/config.js.map +1 -0
- package/build/dex/uniswap-v4/encoder.d.ts +16 -0
- package/build/dex/uniswap-v4/encoder.js +94 -0
- package/build/dex/uniswap-v4/encoder.js.map +1 -0
- package/build/dex/uniswap-v4/types.d.ts +30 -0
- package/build/dex/uniswap-v4/types.js +3 -0
- package/build/dex/uniswap-v4/types.js.map +1 -0
- package/build/dex/uniswap-v4/uniswap-v4.d.ts +38 -0
- package/build/dex/uniswap-v4/uniswap-v4.js +187 -0
- package/build/dex/uniswap-v4/uniswap-v4.js.map +1 -0
- package/build/dex/usual/usual-m-smart-m.d.ts +17 -0
- package/build/dex/usual/usual-m-smart-m.js +50 -0
- package/build/dex/usual/usual-m-smart-m.js.map +1 -0
- package/build/dex/usual-m-smart-m/config.d.ts +3 -0
- package/build/dex/usual-m-smart-m/config.js +13 -0
- package/build/dex/usual-m-smart-m/config.js.map +1 -0
- package/build/dex/usual-m-smart-m/types.d.ts +7 -0
- package/build/dex/usual-m-smart-m/types.js +3 -0
- package/build/dex/usual-m-smart-m/types.js.map +1 -0
- package/build/dex/usual-m-smart-m/usual-m-smart-m.d.ts +35 -0
- package/build/dex/usual-m-smart-m/usual-m-smart-m.js +161 -0
- package/build/dex/usual-m-smart-m/usual-m-smart-m.js.map +1 -0
- package/build/dex/usual-m-usd0/config.d.ts +3 -0
- package/build/dex/usual-m-usd0/config.js +14 -0
- package/build/dex/usual-m-usd0/config.js.map +1 -0
- package/build/dex/usual-m-usd0/types.d.ts +8 -0
- package/build/dex/usual-m-usd0/types.js +3 -0
- package/build/dex/usual-m-usd0/types.js.map +1 -0
- package/build/dex/usual-m-usd0/usual-m-usd0.d.ts +35 -0
- package/build/dex/usual-m-usd0/usual-m-usd0.js +159 -0
- package/build/dex/usual-m-usd0/usual-m-usd0.js.map +1 -0
- package/build/dex/zerox/index.d.ts +1 -1
- package/build/dex/zerox/index.js.map +1 -1
- package/package.json +1 -1
- package/src/dex/maverick-v2/maverick-v2-pool.ts +2 -2
- package/.idea/codeStyles/Project.xml +0 -59
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/inspectionProfiles/Project_Default.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/paraswap-dex-lib.iml +0 -12
- package/.idea/prettier.xml +0 -7
- package/.idea/vcs.xml +0 -6
- package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +0 -94
- package/build/dex/uniswap-v3/uniswap-v3-new.js +0 -923
- package/build/dex/uniswap-v3/uniswap-v3-new.js.map +0 -1
- package/scripts/get-uniswap-v3-dexes.ts +0 -64
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Smoothy = void 0;
|
|
7
|
+
const abi_1 = require("@ethersproject/abi");
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
const simple_exchange_1 = require("./simple-exchange");
|
|
10
|
+
const Smoothy_json_1 = __importDefault(require("../abi/Smoothy.json"));
|
|
11
|
+
var SmoothyFunctions;
|
|
12
|
+
(function (SmoothyFunctions) {
|
|
13
|
+
SmoothyFunctions["swap"] = "swap";
|
|
14
|
+
})(SmoothyFunctions || (SmoothyFunctions = {}));
|
|
15
|
+
class Smoothy extends simple_exchange_1.SimpleExchange {
|
|
16
|
+
constructor(dexHelper) {
|
|
17
|
+
super(dexHelper, 'smoothy');
|
|
18
|
+
this.minConversionRate = '1';
|
|
19
|
+
this.exchangeRouterInterface = new abi_1.Interface(Smoothy_json_1.default);
|
|
20
|
+
}
|
|
21
|
+
getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
|
|
22
|
+
if (side === constants_1.SwapSide.BUY)
|
|
23
|
+
throw new Error(`Buy not supported`);
|
|
24
|
+
const { i, j } = data;
|
|
25
|
+
const payload = this.abiCoder.encodeParameter({
|
|
26
|
+
ParentStruct: {
|
|
27
|
+
i: 'int128',
|
|
28
|
+
j: 'int128',
|
|
29
|
+
},
|
|
30
|
+
}, { i, j });
|
|
31
|
+
return {
|
|
32
|
+
targetExchange: data.exchange,
|
|
33
|
+
payload,
|
|
34
|
+
networkFee: '0',
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
|
|
38
|
+
if (side === constants_1.SwapSide.BUY)
|
|
39
|
+
throw new Error(`Buy not supported`);
|
|
40
|
+
const { exchange, i, j } = data;
|
|
41
|
+
const swapFunctionParams = [i, j, srcAmount, destAmount];
|
|
42
|
+
const swapData = this.exchangeRouterInterface.encodeFunctionData(SmoothyFunctions.swap, swapFunctionParams);
|
|
43
|
+
return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, exchange);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.Smoothy = Smoothy;
|
|
47
|
+
Smoothy.dexKeys = ['smoothy'];
|
|
48
|
+
//# sourceMappingURL=smoothy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smoothy.js","sourceRoot":"","sources":["../../src/dex/smoothy.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA+C;AAE/C,4CAAwC;AAQxC,uDAAmD;AACnD,uEAA6C;AAiB7C,IAAK,gBAEJ;AAFD,WAAK,gBAAgB;IACnB,iCAAa,CAAA;AACf,CAAC,EAFI,gBAAgB,KAAhB,gBAAgB,QAEpB;AAED,MAAa,OACX,SAAQ,gCAAc;IAOtB,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAH9B,sBAAiB,GAAG,GAAG,CAAC;QAItB,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAAC,sBAAU,CAAC,CAAC;IAC3D,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAiB,EACjB,IAAc;QAEd,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3C;YACE,YAAY,EAAE;gBACZ,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,QAAQ;aACZ;SACF,EACD,EAAE,CAAC,EAAE,CAAC,EAAE,CACT,CAAC;QACF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAiB,EACjB,IAAc;QAEd,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;QAChC,MAAM,kBAAkB,GAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,gBAAgB,CAAC,IAAI,EACrB,kBAAkB,CACnB,CAAC;QAEF,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,CACT,CAAC;IACJ,CAAC;;AAjEH,0BAkEC;AA9DQ,eAAO,GAAG,CAAC,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Solidly } from '../solidly';
|
|
2
|
+
import { SolidlyPair } from '../types';
|
|
3
|
+
import { Network } from '../../../constants';
|
|
4
|
+
import { IDexHelper } from '../../../dex-helper';
|
|
5
|
+
export declare class Cone extends Solidly {
|
|
6
|
+
protected network: Network;
|
|
7
|
+
protected dexHelper: IDexHelper;
|
|
8
|
+
feeFactor: number;
|
|
9
|
+
static dexKeysWithNetwork: {
|
|
10
|
+
key: string;
|
|
11
|
+
networks: Network[];
|
|
12
|
+
}[];
|
|
13
|
+
constructor(network: Network, dexKey: string, dexHelper: IDexHelper);
|
|
14
|
+
private callDecoder;
|
|
15
|
+
protected getFeesMultiCallData(pair: SolidlyPair): {
|
|
16
|
+
callEntry: {
|
|
17
|
+
target: string;
|
|
18
|
+
callData: string;
|
|
19
|
+
};
|
|
20
|
+
callDecoder: (values: any[]) => number;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Cone = void 0;
|
|
7
|
+
const solidly_1 = require("../solidly");
|
|
8
|
+
const abi_1 = require("@ethersproject/abi");
|
|
9
|
+
const config_1 = require("../config");
|
|
10
|
+
const utils_1 = require("../../../utils");
|
|
11
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
12
|
+
const swapFeeFunctionName = 'swapFee';
|
|
13
|
+
const ConePairABI = [
|
|
14
|
+
{
|
|
15
|
+
inputs: [],
|
|
16
|
+
name: swapFeeFunctionName,
|
|
17
|
+
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
|
|
18
|
+
stateMutability: 'view',
|
|
19
|
+
type: 'function',
|
|
20
|
+
},
|
|
21
|
+
];
|
|
22
|
+
const conePairIface = new abi_1.Interface(ConePairABI);
|
|
23
|
+
class Cone extends solidly_1.Solidly {
|
|
24
|
+
constructor(network, dexKey, dexHelper) {
|
|
25
|
+
super(network, dexKey, dexHelper, true);
|
|
26
|
+
this.network = network;
|
|
27
|
+
this.dexHelper = dexHelper;
|
|
28
|
+
this.feeFactor = 1e4;
|
|
29
|
+
}
|
|
30
|
+
callDecoder(values) {
|
|
31
|
+
const fees = parseInt(conePairIface
|
|
32
|
+
.decodeFunctionResult(swapFeeFunctionName, values)[0]
|
|
33
|
+
.toString());
|
|
34
|
+
if (!fees)
|
|
35
|
+
return 0;
|
|
36
|
+
// noinspection UnnecessaryLocalVariableJS
|
|
37
|
+
const feeCode = Math.ceil(this.feeFactor / fees);
|
|
38
|
+
return feeCode;
|
|
39
|
+
}
|
|
40
|
+
getFeesMultiCallData(pair) {
|
|
41
|
+
const callEntry = {
|
|
42
|
+
target: pair.exchange,
|
|
43
|
+
callData: conePairIface.encodeFunctionData(swapFeeFunctionName, []),
|
|
44
|
+
};
|
|
45
|
+
return {
|
|
46
|
+
callEntry,
|
|
47
|
+
callDecoder: this.callDecoder.bind(this),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.Cone = Cone;
|
|
52
|
+
Cone.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(lodash_1.default.pick(config_1.SolidlyConfig, ['Cone']));
|
|
53
|
+
//# sourceMappingURL=cone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cone.js","sourceRoot":"","sources":["../../../../src/dex/solidly/forks-override/cone.ts"],"names":[],"mappings":";;;;;;AAAA,wCAAqC;AAIrC,4CAA+C;AAC/C,sCAA0C;AAC1C,0CAAuD;AACvD,oDAAuB;AAEvB,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAEtC,MAAM,WAAW,GAAG;IAClB;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACF,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,eAAS,CAAC,WAAW,CAAC,CAAC;AAEjD,MAAa,IAAK,SAAQ,iBAAO;IAM/B,YACY,OAAgB,EAC1B,MAAc,EACJ,SAAqB;QAE/B,KAAK,CACH,OAAO,EACP,MAAM,EACN,SAAS,EACT,IAAI,CACL,CAAC;QATQ,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAY;QARjC,cAAS,GAAG,GAAG,CAAC;IAgBhB,CAAC;IAEO,WAAW,CAAC,MAAa;QAC/B,MAAM,IAAI,GAAG,QAAQ,CACnB,aAAa;aACV,oBAAoB,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aACpD,QAAQ,EAAE,CACd,CAAC;QACF,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC;QAEpB,0CAA0C;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,oBAAoB,CAAC,IAAiB;QAC9C,MAAM,SAAS,GAAG;YAChB,MAAM,EAAE,IAAI,CAAC,QAAS;YACtB,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,EAAE,CAAC;SACpE,CAAC;QAEF,OAAO;YACL,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;SACzC,CAAC;IACJ,CAAC;;AA1CH,oBA2CC;AAxCe,uBAAkB,GAC9B,IAAA,6BAAqB,EAAC,gBAAC,CAAC,IAAI,CAAC,sBAAa,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SoliSnek = void 0;
|
|
7
|
+
const velodrome_1 = require("./velodrome");
|
|
8
|
+
const utils_1 = require("../../../utils");
|
|
9
|
+
const config_1 = require("../config");
|
|
10
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
11
|
+
class SoliSnek extends velodrome_1.Velodrome {
|
|
12
|
+
}
|
|
13
|
+
exports.SoliSnek = SoliSnek;
|
|
14
|
+
SoliSnek.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(lodash_1.default.pick(config_1.SolidlyConfig, ['SoliSnek']));
|
|
15
|
+
//# sourceMappingURL=solisnek.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solisnek.js","sourceRoot":"","sources":["../../../../src/dex/solidly/forks-override/solisnek.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAwC;AAExC,0CAAuD;AACvD,sCAA0C;AAC1C,oDAAuB;AAEvB,MAAa,QAAS,SAAQ,qBAAS;;AAAvC,4BAGC;AAFe,2BAAkB,GAC9B,IAAA,6BAAqB,EAAC,gBAAC,CAAC,IAAI,CAAC,sBAAa,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/* eslint-disable no-console */
|
|
7
|
+
const dotenv_1 = __importDefault(require("dotenv"));
|
|
8
|
+
dotenv_1.default.config();
|
|
9
|
+
const constants_1 = require("../../../constants");
|
|
10
|
+
const dex_helper_1 = require("../../../dex-helper");
|
|
11
|
+
const config_1 = require("./../config");
|
|
12
|
+
const solidly_v3_1 = require("../solidly-v3");
|
|
13
|
+
const dex = 'SolidlyV3';
|
|
14
|
+
const factory = config_1.SolidlyV3Config[dex][constants_1.Network.MAINNET].factory;
|
|
15
|
+
const blockHeaders = {};
|
|
16
|
+
async function checkForPoolEvents(startBlockNumber, endBlockNumber) {
|
|
17
|
+
const network = constants_1.Network.MAINNET;
|
|
18
|
+
const dexHelper = new dex_helper_1.DummyDexHelper(network);
|
|
19
|
+
const solidlyV3 = new solidly_v3_1.SolidlyV3(network, dex, dexHelper);
|
|
20
|
+
await solidlyV3.initializePricing(startBlockNumber);
|
|
21
|
+
const logsToDispatch = await dexHelper.provider.getLogs({
|
|
22
|
+
fromBlock: startBlockNumber,
|
|
23
|
+
toBlock: endBlockNumber,
|
|
24
|
+
address: factory,
|
|
25
|
+
});
|
|
26
|
+
const logsByBlockNumber = {};
|
|
27
|
+
for (let log of logsToDispatch) {
|
|
28
|
+
if (!logsByBlockNumber[log.blockNumber]) {
|
|
29
|
+
logsByBlockNumber[log.blockNumber] = [];
|
|
30
|
+
}
|
|
31
|
+
logsByBlockNumber[log.blockNumber].push(log);
|
|
32
|
+
}
|
|
33
|
+
const sortedBlocks = Object.keys(logsByBlockNumber)
|
|
34
|
+
.map(Number)
|
|
35
|
+
.sort((a, b) => Number(a) - Number(b));
|
|
36
|
+
for (let blockNumber of sortedBlocks) {
|
|
37
|
+
if (!blockHeaders[blockNumber]) {
|
|
38
|
+
blockHeaders[blockNumber] = await dexHelper.web3Provider.eth.getBlock(blockNumber);
|
|
39
|
+
}
|
|
40
|
+
await solidlyV3.factory?.update(logsByBlockNumber[blockNumber], {
|
|
41
|
+
[blockNumber]: blockHeaders[blockNumber],
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
async function main() {
|
|
47
|
+
// event for https://etherscan.io/tx/0x2bef7c17f3f775525f076aeb20567ee25eb820e92aa8422fbfe4bed652fd2bd3
|
|
48
|
+
checkForPoolEvents(18758010, 18758019);
|
|
49
|
+
}
|
|
50
|
+
main()
|
|
51
|
+
.then(() => console.log('Done'))
|
|
52
|
+
.catch(e => console.error(e));
|
|
53
|
+
//# sourceMappingURL=check-event-pool-event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-event-pool-event.js","sourceRoot":"","sources":["../../../../src/dex/solidly-v3/scripts/check-event-pool-event.ts"],"names":[],"mappings":";;;;;AAAA,+BAA+B;AAC/B,oDAA4B;AAC5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAIhB,kDAA6C;AAC7C,oDAAqD;AACrD,wCAA8C;AAC9C,8CAA0C;AAE1C,MAAM,GAAG,GAAG,WAAW,CAAC;AACxB,MAAM,OAAO,GAAG,wBAAe,CAAC,GAAG,CAAC,CAAC,mBAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;AAC9D,MAAM,YAAY,GAAgC,EAAE,CAAC;AAErD,KAAK,UAAU,kBAAkB,CAC/B,gBAAwB,EACxB,cAAsB;IAEtB,MAAM,OAAO,GAAG,mBAAO,CAAC,OAAO,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,2BAAc,CAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,SAAS,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAEpD,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtD,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAA0B,EAAE,CAAC;IACpD,KAAK,IAAI,GAAG,IAAI,cAAc,EAAE;QAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YACvC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SACzC;QACD,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC9C;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;SAChD,GAAG,CAAC,MAAM,CAAC;SACX,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzC,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE;QACpC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;YAC9B,YAAY,CAAC,WAAW,CAAC,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CACnE,WAAW,CACZ,CAAC;SACH;QAED,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;YAC9D,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC;SACzC,CAAC,CAAC;KACJ;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,uGAAuG;IACvG,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,IAAI,EAAE;KACH,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KAC/B,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Interface } from '@ethersproject/abi';
|
|
2
|
+
import { SwapSide } from '../constants';
|
|
3
|
+
import { AdapterExchangeParam, NumberAsString, SimpleExchangeParam } from '../types';
|
|
4
|
+
import { IDexTxBuilder } from './idex';
|
|
5
|
+
import { SimpleExchange } from './simple-exchange';
|
|
6
|
+
import { IDexHelper } from '../dex-helper';
|
|
7
|
+
declare type StablePoolData = {
|
|
8
|
+
exchange: string;
|
|
9
|
+
i: string;
|
|
10
|
+
j: string;
|
|
11
|
+
deadline: string;
|
|
12
|
+
};
|
|
13
|
+
declare type StablePoolParam = [
|
|
14
|
+
i: NumberAsString,
|
|
15
|
+
j: NumberAsString,
|
|
16
|
+
dx: NumberAsString,
|
|
17
|
+
min_dy: NumberAsString,
|
|
18
|
+
deadline?: string
|
|
19
|
+
];
|
|
20
|
+
export declare class StablePool extends SimpleExchange implements IDexTxBuilder<StablePoolData, StablePoolParam> {
|
|
21
|
+
static dexKeys: string[];
|
|
22
|
+
exchangeRouterInterface: Interface;
|
|
23
|
+
minConversionRate: string;
|
|
24
|
+
constructor(dexHelper: IDexHelper);
|
|
25
|
+
getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: StablePoolData, side: SwapSide): AdapterExchangeParam;
|
|
26
|
+
getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: StablePoolData, side: SwapSide): Promise<SimpleExchangeParam>;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.StablePool = void 0;
|
|
7
|
+
const abi_1 = require("@ethersproject/abi");
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
const simple_exchange_1 = require("./simple-exchange");
|
|
10
|
+
const StablePool_json_1 = __importDefault(require("../abi/StablePool.json"));
|
|
11
|
+
var StabePoolFunctions;
|
|
12
|
+
(function (StabePoolFunctions) {
|
|
13
|
+
StabePoolFunctions["swap"] = "swap";
|
|
14
|
+
})(StabePoolFunctions || (StabePoolFunctions = {}));
|
|
15
|
+
class StablePool extends simple_exchange_1.SimpleExchange {
|
|
16
|
+
constructor(dexHelper) {
|
|
17
|
+
super(dexHelper, 'stablePool');
|
|
18
|
+
this.minConversionRate = '1';
|
|
19
|
+
this.exchangeRouterInterface = new abi_1.Interface(StablePool_json_1.default);
|
|
20
|
+
}
|
|
21
|
+
getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
|
|
22
|
+
if (side === constants_1.SwapSide.BUY)
|
|
23
|
+
throw new Error(`Buy not supported`);
|
|
24
|
+
const { i, j, deadline } = data;
|
|
25
|
+
const payload = this.abiCoder.encodeParameter({
|
|
26
|
+
ParentStruct: {
|
|
27
|
+
i: 'int128',
|
|
28
|
+
j: 'int128',
|
|
29
|
+
deadline: 'uint256',
|
|
30
|
+
},
|
|
31
|
+
}, { i, j, deadline });
|
|
32
|
+
return {
|
|
33
|
+
targetExchange: data.exchange,
|
|
34
|
+
payload,
|
|
35
|
+
networkFee: '0',
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
|
|
39
|
+
if (side === constants_1.SwapSide.BUY)
|
|
40
|
+
throw new Error(`Buy not supported`);
|
|
41
|
+
const { exchange, i, j, deadline } = data;
|
|
42
|
+
const swapFunctionParams = [
|
|
43
|
+
i,
|
|
44
|
+
j,
|
|
45
|
+
srcAmount,
|
|
46
|
+
this.minConversionRate,
|
|
47
|
+
deadline,
|
|
48
|
+
];
|
|
49
|
+
const swapData = this.exchangeRouterInterface.encodeFunctionData(StabePoolFunctions.swap, swapFunctionParams);
|
|
50
|
+
return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, exchange);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.StablePool = StablePool;
|
|
54
|
+
StablePool.dexKeys = ['nerve', 'ironv2', 'snowball', 'axial'];
|
|
55
|
+
//# sourceMappingURL=stable-pool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stable-pool.js","sourceRoot":"","sources":["../../src/dex/stable-pool.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA+C;AAE/C,4CAAwC;AAQxC,uDAAmD;AACnD,6EAAmD;AAmBnD,IAAK,kBAEJ;AAFD,WAAK,kBAAkB;IACrB,mCAAa,CAAA;AACf,CAAC,EAFI,kBAAkB,KAAlB,kBAAkB,QAEtB;AAED,MAAa,UACX,SAAQ,gCAAc;IAOtB,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAHjC,sBAAiB,GAAG,GAAG,CAAC;QAItB,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAAC,yBAAa,CAAC,CAAC;IAC9D,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAoB,EACpB,IAAc;QAEd,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3C;YACE,YAAY,EAAE;gBACZ,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,QAAQ;gBACX,QAAQ,EAAE,SAAS;aACpB;SACF,EACD,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CACnB,CAAC;QACF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAoB,EACpB,IAAc;QAEd,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1C,MAAM,kBAAkB,GAAoB;YAC1C,CAAC;YACD,CAAC;YACD,SAAS;YACT,IAAI,CAAC,iBAAiB;YACtB,QAAQ;SACT,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,kBAAkB,CAAC,IAAI,EACvB,kBAAkB,CACnB,CAAC;QAEF,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,CACT,CAAC;IACJ,CAAC;;AAxEH,gCAyEC;AArEQ,kBAAO,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DexParams } from './types';
|
|
2
|
+
import { DexConfigMap } from '../../types';
|
|
3
|
+
export declare const MAX_GAS_COST_ESTIMATION: number;
|
|
4
|
+
export declare const SUBGRAPH_TIMEOUT: number;
|
|
5
|
+
export declare const MAX_POOL_CNT = 1000;
|
|
6
|
+
export declare const POOL_CACHE_TTL: number;
|
|
7
|
+
export declare const RECCURING_POOL_FETCH_INTERVAL_MS: number;
|
|
8
|
+
export declare const SwaapV1Config: DexConfigMap<DexParams>;
|
|
9
|
+
export declare const Adapters: {
|
|
10
|
+
[chainId: number]: {
|
|
11
|
+
[side: string]: {
|
|
12
|
+
name: string;
|
|
13
|
+
index: number;
|
|
14
|
+
}[] | null;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export declare const SUBGRAPH_FETCH_ALL_POOOLS_RQ = "query ($count: Int) {\n pools: pools(first: $count, orderBy: liquidity, orderDirection: desc, where: {finalized: true}) {\n id\n tokens {\n address\n decimals\n oracleInitialState {\n proxy\n price: fixedPointPrice\n decimals\n }\n }\n liquidityUSD: liquidity\n swapFee\n dynamicCoverageFeesZ\n dynamicCoverageFeesHorizon\n priceStatisticsLookbackInSec\n priceStatisticsLookbackInRound\n priceStatisticsLookbackStepInRound\n maxPriceUnpegRatio\n }\n}";
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SUBGRAPH_FETCH_ALL_POOOLS_RQ = exports.Adapters = exports.SwaapV1Config = exports.RECCURING_POOL_FETCH_INTERVAL_MS = exports.POOL_CACHE_TTL = exports.MAX_POOL_CNT = exports.SUBGRAPH_TIMEOUT = exports.MAX_GAS_COST_ESTIMATION = void 0;
|
|
4
|
+
const constants_1 = require("../../constants");
|
|
5
|
+
exports.MAX_GAS_COST_ESTIMATION = 375 * 1000;
|
|
6
|
+
exports.SUBGRAPH_TIMEOUT = 1000 * 10;
|
|
7
|
+
exports.MAX_POOL_CNT = 1000;
|
|
8
|
+
exports.POOL_CACHE_TTL = 60 * 60; // 1hr
|
|
9
|
+
exports.RECCURING_POOL_FETCH_INTERVAL_MS = 12 * 3600 * 1000; // 12h (in ms)
|
|
10
|
+
exports.SwaapV1Config = {
|
|
11
|
+
SwaapV1: {
|
|
12
|
+
[constants_1.Network.POLYGON]: {
|
|
13
|
+
subgraphURL: 'https://api.thegraph.com/subgraphs/name/swaap-labs/swaapv1',
|
|
14
|
+
exchangeProxy: '0x718cc95685a0b0af73c2c8534243039a28687037',
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
exports.Adapters = {
|
|
19
|
+
[constants_1.Network.POLYGON]: {
|
|
20
|
+
[constants_1.SwapSide.SELL]: [
|
|
21
|
+
{
|
|
22
|
+
name: 'PolygonAdapter02',
|
|
23
|
+
index: 6,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
[constants_1.SwapSide.BUY]: [
|
|
27
|
+
{
|
|
28
|
+
name: 'PolygonBuyAdapter',
|
|
29
|
+
index: 4,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
exports.SUBGRAPH_FETCH_ALL_POOOLS_RQ = `query ($count: Int) {
|
|
35
|
+
pools: pools(first: $count, orderBy: liquidity, orderDirection: desc, where: {finalized: true}) {
|
|
36
|
+
id
|
|
37
|
+
tokens {
|
|
38
|
+
address
|
|
39
|
+
decimals
|
|
40
|
+
oracleInitialState {
|
|
41
|
+
proxy
|
|
42
|
+
price: fixedPointPrice
|
|
43
|
+
decimals
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
liquidityUSD: liquidity
|
|
47
|
+
swapFee
|
|
48
|
+
dynamicCoverageFeesZ
|
|
49
|
+
dynamicCoverageFeesHorizon
|
|
50
|
+
priceStatisticsLookbackInSec
|
|
51
|
+
priceStatisticsLookbackInRound
|
|
52
|
+
priceStatisticsLookbackStepInRound
|
|
53
|
+
maxPriceUnpegRatio
|
|
54
|
+
}
|
|
55
|
+
}`;
|
|
56
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/swaap-v1/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,uBAAuB,GAAG,GAAG,GAAG,IAAI,CAAC;AACrC,QAAA,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7B,QAAA,YAAY,GAAG,IAAI,CAAC;AACpB,QAAA,cAAc,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM;AAChC,QAAA,gCAAgC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,cAAc;AAEnE,QAAA,aAAa,GAA4B;IACpD,OAAO,EAAE;QACP,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,4DAA4D;YACzE,aAAa,EAAE,4CAA4C;SAC5D;KACF;CACF,CAAC;AAEW,QAAA,QAAQ,GAIjB;IACF,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE;YACf;gBACE,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,CAAC;aACT;SACF;QACD,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE;YACd;gBACE,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,CAAC;aACT;SACF;KACF;CACF,CAAC;AAEW,QAAA,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;EAqB1C,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BigNumber } from '@0x/utils';
|
|
2
|
+
import { SwaapV1PoolParameters, SwaapV1PoolLiquidities, SwaapV1PoolOracles } from './types';
|
|
3
|
+
export declare const defaultParametersState: SwaapV1PoolParameters;
|
|
4
|
+
export declare const defaultLiquiditiesState: SwaapV1PoolLiquidities;
|
|
5
|
+
export declare const defaultOraclesState: SwaapV1PoolOracles;
|
|
6
|
+
export declare const protocolPrecision: BigNumber;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.protocolPrecision = exports.defaultOraclesState = exports.defaultLiquiditiesState = exports.defaultParametersState = void 0;
|
|
4
|
+
const utils_1 = require("@0x/utils");
|
|
5
|
+
exports.defaultParametersState = {
|
|
6
|
+
swapFee: BigInt(10 ** 12),
|
|
7
|
+
priceStatisticsLookbackInRound: 5,
|
|
8
|
+
priceStatisticsLookbackStepInRound: 4,
|
|
9
|
+
dynamicCoverageFeesZ: BigInt(6),
|
|
10
|
+
dynamicCoverageFeesHorizon: BigInt(5),
|
|
11
|
+
priceStatisticsLookbackInSec: BigInt(3600),
|
|
12
|
+
maxPriceUnpegRatio: BigInt(1025000000000000000),
|
|
13
|
+
};
|
|
14
|
+
exports.defaultLiquiditiesState = {};
|
|
15
|
+
exports.defaultOraclesState = {};
|
|
16
|
+
exports.protocolPrecision = new utils_1.BigNumber(10).pow(new utils_1.BigNumber(18));
|
|
17
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/swaap-v1/constants.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AAOzB,QAAA,sBAAsB,GAA0B;IAC3D,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;IACzB,8BAA8B,EAAE,CAAC;IACjC,kCAAkC,EAAE,CAAC;IACrC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/B,0BAA0B,EAAE,MAAM,CAAC,CAAC,CAAC;IACrC,4BAA4B,EAAE,MAAM,CAAC,IAAI,CAAC;IAC1C,kBAAkB,EAAE,MAAM,CAAC,mBAAmB,CAAC;CAChD,CAAC;AAEW,QAAA,uBAAuB,GAA2B,EAAE,CAAC;AAErD,QAAA,mBAAmB,GAAuB,EAAE,CAAC;AAE7C,QAAA,iBAAiB,GAAG,IAAI,iBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,iBAAS,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as Struct from './Struct';
|
|
2
|
+
import { ChainLinkData } from '../types';
|
|
3
|
+
export declare class ChainlinkUtils {
|
|
4
|
+
static getLatestRound(latestRoundId: number, historicalPrices: ChainLinkData, currentTimestamp: bigint): Struct.LatestRound;
|
|
5
|
+
/**
|
|
6
|
+
* @notice Retrieves historical data from round id.
|
|
7
|
+
* @dev Special cases:
|
|
8
|
+
* - if retrieved price is negative --> fails
|
|
9
|
+
* - if no data can be found --> returns (0,0)
|
|
10
|
+
* @param oracle The price feed oracle
|
|
11
|
+
* @param _roundId The the round of interest ID
|
|
12
|
+
* @return The round price
|
|
13
|
+
* @return The round timestamp
|
|
14
|
+
*/
|
|
15
|
+
static getRoundData(_roundId: number, historicalPrices: ChainLinkData): [bigint, bigint];
|
|
16
|
+
/**
|
|
17
|
+
* @notice Computes the price of token 2 in terms of token 1
|
|
18
|
+
* @param price_1 The latest price data for token 1
|
|
19
|
+
* @param decimals_1 The sum of the decimals of token 1 its oracle
|
|
20
|
+
* @param price_2 The latest price data for token 2
|
|
21
|
+
* @param decimals_2 The sum of the decimals of token 2 its oracle
|
|
22
|
+
* @return The last price of token 2 divded by the last price of token 1
|
|
23
|
+
*/
|
|
24
|
+
static getTokenRelativePrice(price_1: bigint, decimals_1: bigint, price_2: bigint, decimals_2: bigint): bigint;
|
|
25
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChainlinkUtils = void 0;
|
|
4
|
+
const Const_1 = require("./Const");
|
|
5
|
+
const Num_1 = require("./Num");
|
|
6
|
+
const _require = (b, message) => {
|
|
7
|
+
if (!b)
|
|
8
|
+
throw new Error(message);
|
|
9
|
+
};
|
|
10
|
+
class ChainlinkUtils {
|
|
11
|
+
static getLatestRound(latestRoundId, historicalPrices, currentTimestamp) {
|
|
12
|
+
let latestRoundData = historicalPrices[latestRoundId];
|
|
13
|
+
let latestPrice = latestRoundData.answer;
|
|
14
|
+
let latestTimestamp = latestRoundData.timestamp;
|
|
15
|
+
_require(currentTimestamp - latestTimestamp <= Const_1.Const.ORACLE_TIMEOUT, 'Err.EXCEEDED_ORACLE_TIMEOUT');
|
|
16
|
+
_require(latestPrice > 0, 'Err.NON_POSITIVE_PRICE');
|
|
17
|
+
return {
|
|
18
|
+
roundId: latestRoundId,
|
|
19
|
+
price: latestPrice,
|
|
20
|
+
timestamp: latestTimestamp,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @notice Retrieves historical data from round id.
|
|
25
|
+
* @dev Special cases:
|
|
26
|
+
* - if retrieved price is negative --> fails
|
|
27
|
+
* - if no data can be found --> returns (0,0)
|
|
28
|
+
* @param oracle The price feed oracle
|
|
29
|
+
* @param _roundId The the round of interest ID
|
|
30
|
+
* @return The round price
|
|
31
|
+
* @return The round timestamp
|
|
32
|
+
*/
|
|
33
|
+
static getRoundData(_roundId, historicalPrices) {
|
|
34
|
+
let data = historicalPrices[_roundId];
|
|
35
|
+
_require(data != undefined, 'Err.UNAVAILABLE_HISTORICAL_PRICE');
|
|
36
|
+
_require(data.answer >= 0, 'Err.NEGATIVE_PRICE');
|
|
37
|
+
return [data.answer, data.timestamp];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @notice Computes the price of token 2 in terms of token 1
|
|
41
|
+
* @param price_1 The latest price data for token 1
|
|
42
|
+
* @param decimals_1 The sum of the decimals of token 1 its oracle
|
|
43
|
+
* @param price_2 The latest price data for token 2
|
|
44
|
+
* @param decimals_2 The sum of the decimals of token 2 its oracle
|
|
45
|
+
* @return The last price of token 2 divded by the last price of token 1
|
|
46
|
+
*/
|
|
47
|
+
static getTokenRelativePrice(price_1, decimals_1, price_2, decimals_2) {
|
|
48
|
+
// we consider tokens price to be > 0
|
|
49
|
+
if (decimals_1 > decimals_2) {
|
|
50
|
+
return Num_1.Num.div(Num_1.Num.mul(price_2, 10n ** (decimals_1 - decimals_2) * Const_1.Const.ONE), price_1);
|
|
51
|
+
}
|
|
52
|
+
else if (decimals_1 < decimals_2) {
|
|
53
|
+
return Num_1.Num.div(Num_1.Num.div(price_2, price_1), 10n ** (decimals_2 - decimals_1) * Const_1.Const.ONE);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// decimals_1 == decimals_2
|
|
57
|
+
return Num_1.Num.div(price_2, price_1);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.ChainlinkUtils = ChainlinkUtils;
|
|
62
|
+
//# sourceMappingURL=ChainlinkUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChainlinkUtils.js","sourceRoot":"","sources":["../../../../src/dex/swaap-v1/libraries/ChainlinkUtils.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,+BAA4B;AAI5B,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAE,OAAe,EAAE,EAAE;IAC/C,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAa,cAAc;IACzB,MAAM,CAAC,cAAc,CACnB,aAAqB,EACrB,gBAA+B,EAC/B,gBAAwB;QAExB,IAAI,eAAe,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAEtD,IAAI,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC;QACzC,IAAI,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC;QAEhD,QAAQ,CACN,gBAAgB,GAAG,eAAe,IAAI,aAAK,CAAC,cAAc,EAC1D,6BAA6B,CAC9B,CAAC;QACF,QAAQ,CAAC,WAAW,GAAG,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAEpD,OAAO;YACL,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,eAAe;SAC3B,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,YAAY,CACjB,QAAgB,EAChB,gBAA+B;QAE/B,IAAI,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAEtC,QAAQ,CAAC,IAAI,IAAI,SAAS,EAAE,kCAAkC,CAAC,CAAC;QAChE,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAEjD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,qBAAqB,CAC1B,OAAe,EACf,UAAkB,EAClB,OAAe,EACf,UAAkB;QAElB,qCAAqC;QACrC,IAAI,UAAU,GAAG,UAAU,EAAE;YAC3B,OAAO,SAAG,CAAC,GAAG,CACZ,SAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,aAAK,CAAC,GAAG,CAAC,EAC9D,OAAO,CACR,CAAC;SACH;aAAM,IAAI,UAAU,GAAG,UAAU,EAAE;YAClC,OAAO,SAAG,CAAC,GAAG,CACZ,SAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,EACzB,GAAG,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,aAAK,CAAC,GAAG,CAC7C,CAAC;SACH;aAAM;YACL,2BAA2B;YAC3B,OAAO,SAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SAClC;IACH,CAAC;CAmEF;AA9ID,wCA8IC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare class Const {
|
|
2
|
+
static ONE: bigint;
|
|
3
|
+
static MIN_POW_BASE: bigint;
|
|
4
|
+
static MAX_POW_BASE: bigint;
|
|
5
|
+
static POW_PRECISION: bigint;
|
|
6
|
+
static ORACLE_TIMEOUT: bigint;
|
|
7
|
+
static MIN_FEE: bigint;
|
|
8
|
+
static EXIT_FEE: bigint;
|
|
9
|
+
static BASE_Z: bigint;
|
|
10
|
+
static BASE_HORIZON: bigint;
|
|
11
|
+
static BASE_LOOKBACK_IN_ROUND: number;
|
|
12
|
+
static BASE_LOOKBACK_IN_SEC: bigint;
|
|
13
|
+
static LOOKBACK_STEP_IN_ROUND: number;
|
|
14
|
+
static MAX_IN_RATIO: bigint;
|
|
15
|
+
static MAX_OUT_RATIO: bigint;
|
|
16
|
+
static FALLBACK_SPREAD: bigint;
|
|
17
|
+
static BASE_MAX_PRICE_UNPEG_RATIO: bigint;
|
|
18
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Const = void 0;
|
|
5
|
+
const bigint_constants_1 = require("../../../bigint-constants");
|
|
6
|
+
class Const {
|
|
7
|
+
}
|
|
8
|
+
exports.Const = Const;
|
|
9
|
+
_a = Const;
|
|
10
|
+
Const.ONE = bigint_constants_1.BI_POWS[18];
|
|
11
|
+
Const.MIN_POW_BASE = 1n;
|
|
12
|
+
Const.MAX_POW_BASE = 2n * _a.ONE - 1n;
|
|
13
|
+
Const.POW_PRECISION = _a.ONE / 10n ** 10n;
|
|
14
|
+
Const.ORACLE_TIMEOUT = 2n * 60n;
|
|
15
|
+
Const.MIN_FEE = _a.ONE / 10n ** 6n;
|
|
16
|
+
Const.EXIT_FEE = 0n;
|
|
17
|
+
Const.BASE_Z = 6n * _a.ONE;
|
|
18
|
+
Const.BASE_HORIZON = 5n * _a.ONE;
|
|
19
|
+
Const.BASE_LOOKBACK_IN_ROUND = 5;
|
|
20
|
+
Const.BASE_LOOKBACK_IN_SEC = 3600n;
|
|
21
|
+
Const.LOOKBACK_STEP_IN_ROUND = 4;
|
|
22
|
+
Const.MAX_IN_RATIO = _a.ONE / 2n;
|
|
23
|
+
Const.MAX_OUT_RATIO = _a.ONE / 3n + 1n;
|
|
24
|
+
Const.FALLBACK_SPREAD = (3n * _a.ONE) / 1000n;
|
|
25
|
+
Const.BASE_MAX_PRICE_UNPEG_RATIO = _a.ONE + _a.ONE / 40n;
|
|
26
|
+
//# sourceMappingURL=Const.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Const.js","sourceRoot":"","sources":["../../../../src/dex/swaap-v1/libraries/Const.ts"],"names":[],"mappings":";;;;AAAA,gEAAoD;AAEpD,MAAa,KAAK;;AAAlB,sBA0BC;;AAzBQ,SAAG,GAAG,0BAAO,CAAC,EAAE,CAAC,CAAC;AAElB,kBAAY,GAAG,EAAE,CAAC;AAClB,kBAAY,GAAG,EAAE,GAAG,EAAI,CAAC,GAAG,GAAG,EAAE,CAAC;AAElC,mBAAa,GAAG,EAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC;AAEtC,oBAAc,GAAG,EAAE,GAAG,GAAG,CAAC;AAE1B,aAAO,GAAG,EAAI,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;AAC/B,cAAQ,GAAG,EAAE,CAAC;AAEd,YAAM,GAAG,EAAE,GAAG,EAAI,CAAC,GAAG,CAAC;AACvB,kBAAY,GAAG,EAAE,GAAG,EAAI,CAAC,GAAG,CAAC;AAE7B,4BAAsB,GAAG,CAAC,CAAC;AAC3B,0BAAoB,GAAG,KAAK,CAAC;AAC7B,4BAAsB,GAAG,CAAC,CAAC;AAE3B,kBAAY,GAAG,EAAI,CAAC,GAAG,GAAG,EAAE,CAAC;AAC7B,mBAAa,GAAG,EAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;AAEnC,qBAAe,GAAG,CAAC,EAAE,GAAG,EAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE1C,gCAA0B,GAAG,EAAI,CAAC,GAAG,GAAG,EAAI,CAAC,GAAG,GAAG,GAAG,CAAC"}
|