@paraswap/dex-lib 3.8.26 → 3.8.27-lite-psm-return-amount-pos.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/.idea/codeStyles/Project.xml +59 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/paraswap-dex-lib.iml +12 -0
- package/.idea/vcs.xml +6 -0
- package/build/dex/lite-psm/lite-psm.js +3 -1
- package/build/dex/lite-psm/lite-psm.js.map +1 -1
- package/build/dex/zerox/index.d.ts +1 -1
- package/build/dex/zerox/index.js.map +1 -1
- package/package.json +3 -2
- package/src/dex/lite-psm/lite-psm.ts +4 -5
- package/.vscode/launch.json +0 -16
- package/.vscode/settings.json +0 -3
- package/build/abi/AaveV1_lending_pool.json +0 -27
- package/build/abi/Uncompressor.json +0 -250
- package/build/abi/integral/factory.json +0 -333
- package/build/abi/integral/oracle.json +0 -501
- package/build/abi/integral/pool.json +0 -1041
- package/build/abi/integral/relayer.json +0 -1536
- package/build/abi/platypus/asset.json +0 -490
- package/build/abi/platypus/avax-pool.json +0 -820
- package/build/abi/platypus/oracle.json +0 -119
- package/build/abi/platypus/pool.json +0 -677
- package/build/abi/smardex/all/smardex-router.json +0 -648
- package/build/abi/smardex/layer-1/smardex-factory.json +0 -242
- package/build/abi/smardex/layer-1/smardex-pool.json +0 -506
- package/build/abi/smardex/layer-2/smardex-factory.json +0 -185
- package/build/abi/smardex/layer-2/smardex-pool.json +0 -578
- package/build/abi/swaap-v1/pool.json +0 -1346
- package/build/dex/aave-v1/aave-v1.d.ts +0 -33
- package/build/dex/aave-v1/aave-v1.js +0 -158
- package/build/dex/aave-v1/aave-v1.js.map +0 -1
- package/build/dex/aave-v1/config.d.ts +0 -11
- package/build/dex/aave-v1/config.js +0 -20
- package/build/dex/aave-v1/config.js.map +0 -1
- package/build/dex/aave-v1/tokens-mainnet.json +0 -134
- package/build/dex/aave-v1/tokens.d.ts +0 -3
- package/build/dex/aave-v1/tokens.js +0 -50
- package/build/dex/aave-v1/tokens.js.map +0 -1
- package/build/dex/aave-v1/types.d.ts +0 -12
- package/build/dex/aave-v1/types.js +0 -3
- package/build/dex/aave-v1/types.js.map +0 -1
- package/build/dex/bProtocol.d.ts +0 -18
- package/build/dex/bProtocol.js +0 -39
- package/build/dex/bProtocol.js.map +0 -1
- package/build/dex/bancor.d.ts +0 -26
- package/build/dex/bancor.js +0 -58
- package/build/dex/bancor.js.map +0 -1
- package/build/dex/compound.d.ts +0 -18
- package/build/dex/compound.js +0 -46
- package/build/dex/compound.js.map +0 -1
- package/build/dex/curve-v2.d.ts +0 -58
- package/build/dex/curve-v2.js +0 -180
- package/build/dex/curve-v2.js.map +0 -1
- package/build/dex/dodo-v1.d.ts +0 -33
- package/build/dex/dodo-v1.js +0 -63
- package/build/dex/dodo-v1.js.map +0 -1
- package/build/dex/etherfi/etherfi.d.ts +0 -26
- package/build/dex/etherfi/etherfi.js +0 -96
- package/build/dex/etherfi/etherfi.js.map +0 -1
- package/build/dex/integral/config.d.ts +0 -4
- package/build/dex/integral/config.js +0 -20
- package/build/dex/integral/config.js.map +0 -1
- package/build/dex/integral/context.d.ts +0 -40
- package/build/dex/integral/context.js +0 -158
- package/build/dex/integral/context.js.map +0 -1
- package/build/dex/integral/helpers.d.ts +0 -17
- package/build/dex/integral/helpers.js +0 -157
- package/build/dex/integral/helpers.js.map +0 -1
- package/build/dex/integral/integral-factory.d.ts +0 -24
- package/build/dex/integral/integral-factory.js +0 -95
- package/build/dex/integral/integral-factory.js.map +0 -1
- package/build/dex/integral/integral-pool.d.ts +0 -50
- package/build/dex/integral/integral-pool.js +0 -149
- package/build/dex/integral/integral-pool.js.map +0 -1
- package/build/dex/integral/integral-pricing.d.ts +0 -18
- package/build/dex/integral/integral-pricing.js +0 -114
- package/build/dex/integral/integral-pricing.js.map +0 -1
- package/build/dex/integral/integral-relayer.d.ts +0 -42
- package/build/dex/integral/integral-relayer.js +0 -192
- package/build/dex/integral/integral-relayer.js.map +0 -1
- package/build/dex/integral/integral-token.d.ts +0 -27
- package/build/dex/integral/integral-token.js +0 -59
- package/build/dex/integral/integral-token.js.map +0 -1
- package/build/dex/integral/integral.d.ts +0 -41
- package/build/dex/integral/integral.js +0 -376
- package/build/dex/integral/integral.js.map +0 -1
- package/build/dex/integral/types.d.ts +0 -85
- package/build/dex/integral/types.js +0 -9
- package/build/dex/integral/types.js.map +0 -1
- package/build/dex/integral/utils-e2e.d.ts +0 -9
- package/build/dex/integral/utils-e2e.js +0 -131
- package/build/dex/integral/utils-e2e.js.map +0 -1
- package/build/dex/integral/utils.d.ts +0 -17
- package/build/dex/integral/utils.js +0 -94
- package/build/dex/integral/utils.js.map +0 -1
- package/build/dex/lido.d.ts +0 -19
- package/build/dex/lido.js +0 -42
- package/build/dex/lido.js.map +0 -1
- package/build/dex/onebit.d.ts +0 -25
- package/build/dex/onebit.js +0 -42
- package/build/dex/onebit.js.map +0 -1
- package/build/dex/platypus/asset.d.ts +0 -14
- package/build/dex/platypus/asset.js +0 -97
- package/build/dex/platypus/asset.js.map +0 -1
- package/build/dex/platypus/config.d.ts +0 -11
- package/build/dex/platypus/config.js +0 -69
- package/build/dex/platypus/config.js.map +0 -1
- package/build/dex/platypus/platypus.d.ts +0 -62
- package/build/dex/platypus/platypus.js +0 -442
- package/build/dex/platypus/platypus.js.map +0 -1
- package/build/dex/platypus/pool-avax.d.ts +0 -8
- package/build/dex/platypus/pool-avax.js +0 -54
- package/build/dex/platypus/pool-avax.js.map +0 -1
- package/build/dex/platypus/pool-base.d.ts +0 -19
- package/build/dex/platypus/pool-base.js +0 -86
- package/build/dex/platypus/pool-base.js.map +0 -1
- package/build/dex/platypus/pool-pure.d.ts +0 -8
- package/build/dex/platypus/pool-pure.js +0 -37
- package/build/dex/platypus/pool-pure.js.map +0 -1
- package/build/dex/platypus/pool-subscriber.d.ts +0 -14
- package/build/dex/platypus/pool-subscriber.js +0 -167
- package/build/dex/platypus/pool-subscriber.js.map +0 -1
- package/build/dex/platypus/pool.d.ts +0 -8
- package/build/dex/platypus/pool.js +0 -58
- package/build/dex/platypus/pool.js.map +0 -1
- package/build/dex/platypus/types.d.ts +0 -92
- package/build/dex/platypus/types.js +0 -10
- package/build/dex/platypus/types.js.map +0 -1
- package/build/dex/quickswap/spiritswap-v3.d.ts +0 -6
- package/build/dex/quickswap/spiritswap-v3.js +0 -19
- package/build/dex/quickswap/spiritswap-v3.js.map +0 -1
- package/build/dex/sdai/config.d.ts +0 -11
- package/build/dex/sdai/config.js +0 -21
- package/build/dex/sdai/config.js.map +0 -1
- package/build/dex/sdai/constants.d.ts +0 -2
- package/build/dex/sdai/constants.js +0 -6
- package/build/dex/sdai/constants.js.map +0 -1
- package/build/dex/sdai/scripts/validate-state.d.ts +0 -1
- package/build/dex/sdai/scripts/validate-state.js +0 -102
- package/build/dex/sdai/scripts/validate-state.js.map +0 -1
- package/build/dex/sdai/sdai-pool.d.ts +0 -16
- package/build/dex/sdai/sdai-pool.js +0 -85
- package/build/dex/sdai/sdai-pool.js.map +0 -1
- package/build/dex/sdai/sdai.d.ts +0 -51
- package/build/dex/sdai/sdai.js +0 -172
- package/build/dex/sdai/sdai.js.map +0 -1
- package/build/dex/sdai/types.d.ts +0 -21
- package/build/dex/sdai/types.js +0 -11
- package/build/dex/sdai/types.js.map +0 -1
- package/build/dex/sdai/utils.d.ts +0 -4
- package/build/dex/sdai/utils.js +0 -39
- package/build/dex/sdai/utils.js.map +0 -1
- package/build/dex/smardex/config.d.ts +0 -4
- package/build/dex/smardex/config.js +0 -64
- package/build/dex/smardex/config.js.map +0 -1
- package/build/dex/smardex/constants.d.ts +0 -18
- package/build/dex/smardex/constants.js +0 -33
- package/build/dex/smardex/constants.js.map +0 -1
- package/build/dex/smardex/sdk/constants.d.ts +0 -6
- package/build/dex/smardex/sdk/constants.js +0 -13
- package/build/dex/smardex/sdk/constants.js.map +0 -1
- package/build/dex/smardex/sdk/core.d.ts +0 -113
- package/build/dex/smardex/sdk/core.js +0 -499
- package/build/dex/smardex/sdk/core.js.map +0 -1
- package/build/dex/smardex/sdk/errors.d.ts +0 -15
- package/build/dex/smardex/sdk/errors.js +0 -22
- package/build/dex/smardex/sdk/errors.js.map +0 -1
- package/build/dex/smardex/sdk/types.d.ts +0 -62
- package/build/dex/smardex/sdk/types.js +0 -3
- package/build/dex/smardex/sdk/types.js.map +0 -1
- package/build/dex/smardex/sdk/utils.d.ts +0 -44
- package/build/dex/smardex/sdk/utils.js +0 -133
- package/build/dex/smardex/sdk/utils.js.map +0 -1
- package/build/dex/smardex/smardex-event-pool.d.ts +0 -28
- package/build/dex/smardex/smardex-event-pool.js +0 -119
- package/build/dex/smardex/smardex-event-pool.js.map +0 -1
- package/build/dex/smardex/smardex.d.ts +0 -65
- package/build/dex/smardex/smardex.js +0 -519
- package/build/dex/smardex/smardex.js.map +0 -1
- package/build/dex/smardex/types.d.ts +0 -55
- package/build/dex/smardex/types.js +0 -3
- package/build/dex/smardex/types.js.map +0 -1
- package/build/dex/smoothy.d.ts +0 -26
- package/build/dex/smoothy.js +0 -48
- package/build/dex/smoothy.js.map +0 -1
- package/build/dex/solidly/forks-override/cone.d.ts +0 -22
- package/build/dex/solidly/forks-override/cone.js +0 -53
- package/build/dex/solidly/forks-override/cone.js.map +0 -1
- package/build/dex/solidly/forks-override/solisnek.d.ts +0 -8
- package/build/dex/solidly/forks-override/solisnek.js +0 -15
- package/build/dex/solidly/forks-override/solisnek.js.map +0 -1
- package/build/dex/stable-pool.d.ts +0 -28
- package/build/dex/stable-pool.js +0 -62
- package/build/dex/stable-pool.js.map +0 -1
- package/build/dex/swaap-v1/config.d.ts +0 -17
- package/build/dex/swaap-v1/config.js +0 -56
- package/build/dex/swaap-v1/config.js.map +0 -1
- package/build/dex/swaap-v1/constants.d.ts +0 -6
- package/build/dex/swaap-v1/constants.js +0 -17
- package/build/dex/swaap-v1/constants.js.map +0 -1
- package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +0 -25
- package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +0 -62
- package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +0 -1
- package/build/dex/swaap-v1/libraries/Const.d.ts +0 -18
- package/build/dex/swaap-v1/libraries/Const.js +0 -26
- package/build/dex/swaap-v1/libraries/Const.js.map +0 -1
- package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +0 -77
- package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +0 -316
- package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +0 -1
- package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +0 -75
- package/build/dex/swaap-v1/libraries/LogExpMath.js +0 -418
- package/build/dex/swaap-v1/libraries/LogExpMath.js.map +0 -1
- package/build/dex/swaap-v1/libraries/MathMMM.d.ts +0 -185
- package/build/dex/swaap-v1/libraries/MathMMM.js +0 -453
- package/build/dex/swaap-v1/libraries/MathMMM.js.map +0 -1
- package/build/dex/swaap-v1/libraries/Num.d.ts +0 -31
- package/build/dex/swaap-v1/libraries/Num.js +0 -167
- package/build/dex/swaap-v1/libraries/Num.js.map +0 -1
- package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +0 -23
- package/build/dex/swaap-v1/libraries/PoolQuotations.js +0 -131
- package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +0 -1
- package/build/dex/swaap-v1/libraries/Struct.d.ts +0 -56
- package/build/dex/swaap-v1/libraries/Struct.js +0 -3
- package/build/dex/swaap-v1/libraries/Struct.js.map +0 -1
- package/build/dex/swaap-v1/swaap-v1-pool.d.ts +0 -45
- package/build/dex/swaap-v1/swaap-v1-pool.js +0 -656
- package/build/dex/swaap-v1/swaap-v1-pool.js.map +0 -1
- package/build/dex/swaap-v1/swaap-v1.d.ts +0 -61
- package/build/dex/swaap-v1/swaap-v1.js +0 -369
- package/build/dex/swaap-v1/swaap-v1.js.map +0 -1
- package/build/dex/swaap-v1/types.d.ts +0 -106
- package/build/dex/swaap-v1/types.js +0 -9
- package/build/dex/swaap-v1/types.js.map +0 -1
- package/build/dex/trader-joe-v2.1/optimizer.d.ts +0 -2
- package/build/dex/trader-joe-v2.1/optimizer.js +0 -44
- package/build/dex/trader-joe-v2.1/optimizer.js.map +0 -1
- package/build/dex/trader-joe-v2.1.d.ts +0 -43
- package/build/dex/trader-joe-v2.1.js +0 -79
- package/build/dex/trader-joe-v2.1.js.map +0 -1
- package/build/executor/compressor/Compressor.d.ts +0 -23
- package/build/executor/compressor/Compressor.js +0 -144
- package/build/executor/compressor/Compressor.js.map +0 -1
- package/build/executor/compressor/compress.d.ts +0 -17
- package/build/executor/compressor/compress.js +0 -187
- package/build/executor/compressor/compress.js.map +0 -1
- package/build/executor/compressor/compress_functions/addressSubstitution.d.ts +0 -6
- package/build/executor/compressor/compress_functions/addressSubstitution.js +0 -29
- package/build/executor/compressor/compress_functions/addressSubstitution.js.map +0 -1
- package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.d.ts +0 -10
- package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js +0 -40
- package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js.map +0 -1
- package/build/executor/compressor/compress_functions/byteSubstitution.d.ts +0 -11
- package/build/executor/compressor/compress_functions/byteSubstitution.js +0 -64
- package/build/executor/compressor/compress_functions/byteSubstitution.js.map +0 -1
- package/build/executor/compressor/compress_functions/ffSubstitution.d.ts +0 -7
- package/build/executor/compressor/compress_functions/ffSubstitution.js +0 -54
- package/build/executor/compressor/compress_functions/ffSubstitution.js.map +0 -1
- package/build/executor/compressor/compress_functions/findLongestAndSubstitute.d.ts +0 -8
- package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js +0 -67
- package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js.map +0 -1
- package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.d.ts +0 -8
- package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js +0 -61
- package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js.map +0 -1
- package/build/executor/compressor/compress_functions/reverseAddressSubstitution.d.ts +0 -6
- package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js +0 -37
- package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js.map +0 -1
- package/build/executor/compressor/compress_functions/searchUnusedBytes.d.ts +0 -9
- package/build/executor/compressor/compress_functions/searchUnusedBytes.js +0 -33
- package/build/executor/compressor/compress_functions/searchUnusedBytes.js.map +0 -1
- package/build/executor/compressor/fetchSaved.d.ts +0 -0
- package/build/executor/compressor/fetchSaved.js +0 -17
- package/build/executor/compressor/fetchSaved.js.map +0 -1
- package/build/executor/compressor/utils/computeCostL2.d.ts +0 -2
- package/build/executor/compressor/utils/computeCostL2.js +0 -14
- package/build/executor/compressor/utils/computeCostL2.js.map +0 -1
- package/build/executor/compressor/utils/findLongestDuplicatedString.d.ts +0 -2
- package/build/executor/compressor/utils/findLongestDuplicatedString.js +0 -30
- package/build/executor/compressor/utils/findLongestDuplicatedString.js.map +0 -1
- package/build/executor/compressor/utils/getAllIndexes.d.ts +0 -2
- package/build/executor/compressor/utils/getAllIndexes.js +0 -12
- package/build/executor/compressor/utils/getAllIndexes.js.map +0 -1
- package/build/executor/compressor/utils/getByteForAddress.d.ts +0 -2
- package/build/executor/compressor/utils/getByteForAddress.js +0 -14
- package/build/executor/compressor/utils/getByteForAddress.js.map +0 -1
- package/build/executor/compressor/utils/intTo2Bytes.d.ts +0 -2
- package/build/executor/compressor/utils/intTo2Bytes.js +0 -14
- package/build/executor/compressor/utils/intTo2Bytes.js.map +0 -1
- package/build/executor/compressor/utils/intTo3Bytes.d.ts +0 -2
- package/build/executor/compressor/utils/intTo3Bytes.js +0 -18
- package/build/executor/compressor/utils/intTo3Bytes.js.map +0 -1
- package/build/executor/compressor/utils/intToByte.d.ts +0 -2
- package/build/executor/compressor/utils/intToByte.js +0 -10
- package/build/executor/compressor/utils/intToByte.js.map +0 -1
|
@@ -1,131 +0,0 @@
|
|
|
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.getSavedState = exports.saveConfig = exports.getSavedConfig = exports.deepTypecast = exports.checkEventSubscriber = exports.updateEventSubscriber = void 0;
|
|
7
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
-
const fs_1 = __importDefault(require("fs"));
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const pathRoot = path_1.default.join(__dirname, './test-artifacts/');
|
|
11
|
-
const configPath = './configs.json';
|
|
12
|
-
const absConfigPath = path_1.default.join(pathRoot, configPath);
|
|
13
|
-
let configs = {};
|
|
14
|
-
if (fs_1.default.existsSync(absConfigPath))
|
|
15
|
-
configs = require(absConfigPath);
|
|
16
|
-
const statePath = './states.json';
|
|
17
|
-
const absStatePath = path_1.default.join(pathRoot, statePath);
|
|
18
|
-
let states = {};
|
|
19
|
-
if (fs_1.default.existsSync(absStatePath))
|
|
20
|
-
states = require(absStatePath);
|
|
21
|
-
const logPath = './logs.json';
|
|
22
|
-
const absLogPath = path_1.default.join(pathRoot, logPath);
|
|
23
|
-
let logs = {};
|
|
24
|
-
if (fs_1.default.existsSync(absLogPath))
|
|
25
|
-
logs = require(absLogPath);
|
|
26
|
-
const bigintify = (val) => BigInt(val);
|
|
27
|
-
const stringify = (val) => val.toString();
|
|
28
|
-
async function updateEventSubscriber(eventSubscriber, subscribedAddress, fetchState, blockNumber, cacheKey, provider) {
|
|
29
|
-
// Get state of the subscriber block before the event was released
|
|
30
|
-
let poolState = getSavedState(blockNumber - 1, cacheKey);
|
|
31
|
-
if (!poolState) {
|
|
32
|
-
poolState = await fetchState(blockNumber - 1);
|
|
33
|
-
saveState(blockNumber - 1, cacheKey, poolState);
|
|
34
|
-
}
|
|
35
|
-
// Set subscriber state before the event block
|
|
36
|
-
eventSubscriber.setState(poolState, blockNumber - 1);
|
|
37
|
-
eventSubscriber.isTracking = () => true;
|
|
38
|
-
// Get logs and blockHeader of the block when the event was emitted
|
|
39
|
-
let blockInfo = getSavedBlockInfo(blockNumber, cacheKey);
|
|
40
|
-
if (!blockInfo) {
|
|
41
|
-
const logs = (await Promise.all(subscribedAddress.map(address => provider.getLogs({
|
|
42
|
-
fromBlock: blockNumber,
|
|
43
|
-
toBlock: blockNumber,
|
|
44
|
-
address,
|
|
45
|
-
}))))
|
|
46
|
-
.flat()
|
|
47
|
-
.sort((a, b) => a.logIndex - b.logIndex);
|
|
48
|
-
blockInfo = {
|
|
49
|
-
logs,
|
|
50
|
-
blockHeaders: {
|
|
51
|
-
[blockNumber]: await provider.getBlock(blockNumber),
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
saveBlockInfo(blockNumber, cacheKey, blockInfo);
|
|
55
|
-
}
|
|
56
|
-
// Update subscriber with event logs
|
|
57
|
-
await eventSubscriber.update(blockInfo.logs, blockInfo.blockHeaders);
|
|
58
|
-
}
|
|
59
|
-
exports.updateEventSubscriber = updateEventSubscriber;
|
|
60
|
-
async function checkEventSubscriber(eventSubscriber, fetchState, blockNumber, cacheKey, stateCompare) {
|
|
61
|
-
// Get the expected state of the subscriber after the event
|
|
62
|
-
let expectedNewPoolState = getSavedState(blockNumber, cacheKey);
|
|
63
|
-
if (!expectedNewPoolState) {
|
|
64
|
-
expectedNewPoolState = await fetchState(blockNumber);
|
|
65
|
-
saveState(blockNumber, cacheKey, expectedNewPoolState);
|
|
66
|
-
}
|
|
67
|
-
// Get the updated state of the subscriber
|
|
68
|
-
const newPoolState = eventSubscriber.getState(blockNumber);
|
|
69
|
-
// Expect the updated state to be same as the expected state
|
|
70
|
-
if (stateCompare) {
|
|
71
|
-
expect(newPoolState).not.toBeNull();
|
|
72
|
-
stateCompare(newPoolState, expectedNewPoolState);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
expect(newPoolState).toEqual(expectedNewPoolState);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
exports.checkEventSubscriber = checkEventSubscriber;
|
|
79
|
-
function deepTypecast(obj, checker, caster) {
|
|
80
|
-
return lodash_1.default.forEach(obj, (val, key, obj) => {
|
|
81
|
-
obj[key] = checker(val)
|
|
82
|
-
? caster(val)
|
|
83
|
-
: lodash_1.default.isObject(val)
|
|
84
|
-
? deepTypecast(val, checker, caster)
|
|
85
|
-
: val;
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
exports.deepTypecast = deepTypecast;
|
|
89
|
-
function getSavedConfig(blockNumber, cacheKey) {
|
|
90
|
-
const _config = configs[`${cacheKey}_${blockNumber}`];
|
|
91
|
-
if (_config) {
|
|
92
|
-
const checker = (obj) => lodash_1.default.isString(obj) && obj.includes('bi@');
|
|
93
|
-
const caster = (obj) => bigintify(obj.slice(3));
|
|
94
|
-
return deepTypecast(lodash_1.default.cloneDeep(_config), checker, caster);
|
|
95
|
-
}
|
|
96
|
-
return undefined;
|
|
97
|
-
}
|
|
98
|
-
exports.getSavedConfig = getSavedConfig;
|
|
99
|
-
function saveConfig(blockNumber, cacheKey, config) {
|
|
100
|
-
const checker = (obj) => typeof obj === 'bigint';
|
|
101
|
-
const caster = (obj) => 'bi@'.concat(stringify(obj));
|
|
102
|
-
const _config = deepTypecast(lodash_1.default.cloneDeep(config), checker, caster);
|
|
103
|
-
configs[`${cacheKey}_${blockNumber}`] = _config;
|
|
104
|
-
fs_1.default.writeFileSync(absConfigPath, JSON.stringify(configs, null, 2));
|
|
105
|
-
}
|
|
106
|
-
exports.saveConfig = saveConfig;
|
|
107
|
-
function getSavedState(blockNumber, cacheKey) {
|
|
108
|
-
const _state = states[`${cacheKey}_${blockNumber}`];
|
|
109
|
-
if (_state) {
|
|
110
|
-
const checker = (obj) => lodash_1.default.isString(obj) && obj.includes('bi@');
|
|
111
|
-
const caster = (obj) => bigintify(obj.slice(3));
|
|
112
|
-
return deepTypecast(lodash_1.default.cloneDeep(_state), checker, caster);
|
|
113
|
-
}
|
|
114
|
-
return undefined;
|
|
115
|
-
}
|
|
116
|
-
exports.getSavedState = getSavedState;
|
|
117
|
-
function saveState(blockNumber, cacheKey, state) {
|
|
118
|
-
const checker = (obj) => typeof obj === 'bigint';
|
|
119
|
-
const caster = (obj) => 'bi@'.concat(stringify(obj));
|
|
120
|
-
const _state = deepTypecast(lodash_1.default.cloneDeep(state), checker, caster);
|
|
121
|
-
states[`${cacheKey}_${blockNumber}`] = _state;
|
|
122
|
-
fs_1.default.writeFileSync(absStatePath, JSON.stringify(states, null, 2));
|
|
123
|
-
}
|
|
124
|
-
function getSavedBlockInfo(blockNumber, cacheKey) {
|
|
125
|
-
return logs[`${cacheKey}_${blockNumber}`];
|
|
126
|
-
}
|
|
127
|
-
function saveBlockInfo(blockNumber, cacheKey, blockInfo) {
|
|
128
|
-
logs[`${cacheKey}_${blockNumber}`] = blockInfo;
|
|
129
|
-
fs_1.default.writeFileSync(absLogPath, JSON.stringify(logs, null, 2));
|
|
130
|
-
}
|
|
131
|
-
//# sourceMappingURL=utils-e2e.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils-e2e.js","sourceRoot":"","sources":["../../../src/dex/integral/utils-e2e.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { BytesLike } from 'ethers';
|
|
2
|
-
import { MultiResult } from '../../lib/multi-wrapper';
|
|
3
|
-
import { Address } from '@paraswap/core';
|
|
4
|
-
import { PoolState as UniswapPoolState } from '../uniswap-v3/types';
|
|
5
|
-
import { IntegralContext } from './context';
|
|
6
|
-
import { PoolStates, RelayerPoolState } from './types';
|
|
7
|
-
export declare function ceil_div(a: bigint, b: bigint): bigint;
|
|
8
|
-
export declare const uint32ToNumber: (result: MultiResult<BytesLike> | BytesLike) => number;
|
|
9
|
-
export declare function sortTokens(srcAddress: Address, destAddress: Address): string[];
|
|
10
|
-
export declare function getDecimalsConverter(decimals0: number, decimals1: number, inverted: boolean): bigint;
|
|
11
|
-
export declare function getPrice(states: PoolStates, inverted: boolean): bigint;
|
|
12
|
-
export declare function getSpotPrice(pricing: UniswapPoolState, decimalsConverter: bigint): bigint;
|
|
13
|
-
export declare function getAveragePrice(relayer: RelayerPoolState, pricing: UniswapPoolState, decimalsConverter: bigint): bigint;
|
|
14
|
-
export declare function getTickCumulatives(poolState: UniswapPoolState, secondsAgos: bigint[]): bigint[];
|
|
15
|
-
export declare function isInverted(tokenIn: Address, tokenOut: Address): boolean;
|
|
16
|
-
export declare function getPoolIdentifier(dexKey: string, srcAddress: Address, destAddress: Address): string;
|
|
17
|
-
export declare function getPoolBackReferencedFrom(context: IntegralContext, poolAddress: Address): [string, import("./types").IntegralPool] | undefined;
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPoolBackReferencedFrom = exports.getPoolIdentifier = exports.isInverted = exports.getTickCumulatives = exports.getAveragePrice = exports.getSpotPrice = exports.getPrice = exports.getDecimalsConverter = exports.sortTokens = exports.uint32ToNumber = exports.ceil_div = void 0;
|
|
4
|
-
const decoders_1 = require("../../lib/decoders");
|
|
5
|
-
const utils_1 = require("../../utils");
|
|
6
|
-
const FullMath_1 = require("../uniswap-v3/contract-math/FullMath");
|
|
7
|
-
const Oracle_1 = require("../uniswap-v3/contract-math/Oracle");
|
|
8
|
-
const TickMath_1 = require("../uniswap-v3/contract-math/TickMath");
|
|
9
|
-
function ceil_div(a, b) {
|
|
10
|
-
const c = a / b;
|
|
11
|
-
if (a != b * c) {
|
|
12
|
-
return c + 1n;
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
return c;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
exports.ceil_div = ceil_div;
|
|
19
|
-
const uint32ToNumber = (result) => {
|
|
20
|
-
return (0, decoders_1.generalDecoder)(result, ['uint32'], 0, value => parseInt(value[0].toString(), 10));
|
|
21
|
-
};
|
|
22
|
-
exports.uint32ToNumber = uint32ToNumber;
|
|
23
|
-
function sortTokens(srcAddress, destAddress) {
|
|
24
|
-
return [srcAddress, destAddress].sort((a, b) => (a < b ? -1 : 1));
|
|
25
|
-
}
|
|
26
|
-
exports.sortTokens = sortTokens;
|
|
27
|
-
function getDecimalsConverter(decimals0, decimals1, inverted) {
|
|
28
|
-
return (10n **
|
|
29
|
-
(18n + BigInt(inverted ? decimals1 - decimals0 : decimals0 - decimals1)));
|
|
30
|
-
}
|
|
31
|
-
exports.getDecimalsConverter = getDecimalsConverter;
|
|
32
|
-
function getPrice(states, inverted) {
|
|
33
|
-
const { base, pricing, relayer } = states;
|
|
34
|
-
const decimalsConverter = getDecimalsConverter(base.decimals0, base.decimals1, false);
|
|
35
|
-
const spotPrice = getSpotPrice(pricing, decimalsConverter);
|
|
36
|
-
const averagePrice = getAveragePrice(relayer, pricing, decimalsConverter);
|
|
37
|
-
if (inverted) {
|
|
38
|
-
return 10n ** 36n / (spotPrice > averagePrice ? spotPrice : averagePrice);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
return spotPrice < averagePrice ? spotPrice : averagePrice;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
exports.getPrice = getPrice;
|
|
45
|
-
function getSpotPrice(pricing, decimalsConverter) {
|
|
46
|
-
const sqrtPriceX96 = pricing.slot0.sqrtPriceX96;
|
|
47
|
-
const priceX128 = FullMath_1.FullMath.mulDiv(sqrtPriceX96, sqrtPriceX96, 2n ** 64n);
|
|
48
|
-
return FullMath_1.FullMath.mulDiv(priceX128, decimalsConverter, 2n ** 128n);
|
|
49
|
-
}
|
|
50
|
-
exports.getSpotPrice = getSpotPrice;
|
|
51
|
-
function getAveragePrice(relayer, pricing, decimalsConverter) {
|
|
52
|
-
(0, utils_1._require)(relayer.twapInterval > 0, 'Twap Interval not set');
|
|
53
|
-
const secondsAgo = BigInt(relayer.twapInterval);
|
|
54
|
-
const secondsAgos = [secondsAgo, 0n];
|
|
55
|
-
const tickCumulatives = getTickCumulatives(pricing, secondsAgos);
|
|
56
|
-
const delta = tickCumulatives[1] - tickCumulatives[0];
|
|
57
|
-
let arithmeticMeanTick = delta / secondsAgo;
|
|
58
|
-
if (delta < 0 && delta % secondsAgo != 0n) {
|
|
59
|
-
--arithmeticMeanTick;
|
|
60
|
-
}
|
|
61
|
-
const sqrtRatioX96 = TickMath_1.TickMath.getSqrtRatioAtTick(arithmeticMeanTick);
|
|
62
|
-
const ratioX128 = FullMath_1.FullMath.mulDiv(sqrtRatioX96, sqrtRatioX96, 2n ** 64n);
|
|
63
|
-
return FullMath_1.FullMath.mulDiv(ratioX128, decimalsConverter, 2n ** 128n);
|
|
64
|
-
}
|
|
65
|
-
exports.getAveragePrice = getAveragePrice;
|
|
66
|
-
function getTickCumulatives(poolState, secondsAgos) {
|
|
67
|
-
const { tickCumulatives } = secondsAgos.reduce((memo, secondsAgo, i) => {
|
|
68
|
-
[memo.tickCumulatives[i], memo.secondsPerLiquidityCumulativeX128s[i]] =
|
|
69
|
-
Oracle_1.Oracle.observeSingle(poolState, BigInt.asUintN(32, poolState.blockTimestamp), secondsAgo, poolState.slot0.tick, poolState.slot0.observationIndex, poolState.liquidity, poolState.slot0.observationCardinality);
|
|
70
|
-
return memo;
|
|
71
|
-
}, {
|
|
72
|
-
tickCumulatives: Array(secondsAgos.length),
|
|
73
|
-
secondsPerLiquidityCumulativeX128s: Array(secondsAgos.length),
|
|
74
|
-
});
|
|
75
|
-
return tickCumulatives;
|
|
76
|
-
}
|
|
77
|
-
exports.getTickCumulatives = getTickCumulatives;
|
|
78
|
-
function isInverted(tokenIn, tokenOut) {
|
|
79
|
-
const [, token1] = tokenIn.toLowerCase() < tokenOut.toLowerCase()
|
|
80
|
-
? [tokenIn, tokenOut]
|
|
81
|
-
: [tokenOut, tokenIn];
|
|
82
|
-
return tokenIn === token1;
|
|
83
|
-
}
|
|
84
|
-
exports.isInverted = isInverted;
|
|
85
|
-
function getPoolIdentifier(dexKey, srcAddress, destAddress) {
|
|
86
|
-
const tokenAddresses = sortTokens(srcAddress.toLowerCase(), destAddress.toLowerCase()).join('_');
|
|
87
|
-
return `${dexKey}_${tokenAddresses}`;
|
|
88
|
-
}
|
|
89
|
-
exports.getPoolIdentifier = getPoolIdentifier;
|
|
90
|
-
function getPoolBackReferencedFrom(context, poolAddress) {
|
|
91
|
-
return Object.entries(context.pools).find(([, pool]) => pool.base?.poolAddress === poolAddress);
|
|
92
|
-
}
|
|
93
|
-
exports.getPoolBackReferencedFrom = getPoolBackReferencedFrom;
|
|
94
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/integral/utils.ts"],"names":[],"mappings":";;;AAEA,iDAAoD;AAGpD,uCAAuC;AACvC,mEAAgE;AAChE,+DAA4D;AAC5D,mEAAgE;AAKhE,SAAgB,QAAQ,CAAC,CAAS,EAAE,CAAS;IAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACd,OAAO,CAAC,GAAG,EAAE,CAAC;KACf;SAAM;QACL,OAAO,CAAC,CAAC;KACV;AACH,CAAC;AAPD,4BAOC;AAEM,MAAM,cAAc,GAAG,CAC5B,MAA0C,EAClC,EAAE;IACV,OAAO,IAAA,yBAAc,EAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CACnD,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAClC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEF,SAAgB,UAAU,CAAC,UAAmB,EAAE,WAAoB;IAClE,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAFD,gCAEC;AAED,SAAgB,oBAAoB,CAClC,SAAiB,EACjB,SAAiB,EACjB,QAAiB;IAEjB,OAAO,CACL,GAAG;QACH,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CACzE,CAAC;AACJ,CAAC;AATD,oDASC;AAED,SAAgB,QAAQ,CAAC,MAAkB,EAAE,QAAiB;IAC5D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC1C,MAAM,iBAAiB,GAAG,oBAAoB,CAC5C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,KAAK,CACN,CAAC;IACF,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC1E,IAAI,QAAQ,EAAE;QACZ,OAAO,GAAG,IAAI,GAAG,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;KAC3E;SAAM;QACL,OAAO,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;KAC5D;AACH,CAAC;AAdD,4BAcC;AAED,SAAgB,YAAY,CAC1B,OAAyB,EACzB,iBAAyB;IAEzB,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;IAChD,MAAM,SAAS,GAAG,mBAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC;IACzE,OAAO,mBAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;AACnE,CAAC;AAPD,oCAOC;AAED,SAAgB,eAAe,CAC7B,OAAyB,EACzB,OAAyB,EACzB,iBAAyB;IAEzB,IAAA,gBAAQ,EAAC,OAAO,CAAC,YAAY,GAAG,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAEjE,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,kBAAkB,GAAG,KAAK,GAAG,UAAU,CAAC;IAC5C,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,UAAU,IAAI,EAAE,EAAE;QACzC,EAAE,kBAAkB,CAAC;KACtB;IAED,MAAM,YAAY,GAAG,mBAAQ,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,mBAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC;IACzE,OAAO,mBAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;AACnE,CAAC;AAnBD,0CAmBC;AAED,SAAgB,kBAAkB,CAChC,SAA2B,EAC3B,WAAqB;IAErB,MAAM,EAAE,eAAe,EAAE,GAAG,WAAW,CAAC,MAAM,CAC5C,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE;QACtB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC;YACnE,eAAM,CAAC,aAAa,CAClB,SAAS,EACT,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,cAAc,CAAC,EAC5C,UAAU,EACV,SAAS,CAAC,KAAK,CAAC,IAAI,EACpB,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAChC,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,KAAK,CAAC,sBAAsB,CACvC,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC,EACD;QACE,eAAe,EAAE,KAAK,CAAS,WAAW,CAAC,MAAM,CAAC;QAClD,kCAAkC,EAAE,KAAK,CAAS,WAAW,CAAC,MAAM,CAAC;KACtE,CACF,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC;AAzBD,gDAyBC;AAED,SAAgB,UAAU,CAAC,OAAgB,EAAE,QAAiB;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC,GACd,OAAO,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE;QAC5C,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC;QACrB,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,MAAM,CAAC;AAC5B,CAAC;AAND,gCAMC;AAED,SAAgB,iBAAiB,CAC/B,MAAc,EACd,UAAmB,EACnB,WAAoB;IAEpB,MAAM,cAAc,GAAG,UAAU,CAC/B,UAAU,CAAC,WAAW,EAAE,EACxB,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,OAAO,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC;AACvC,CAAC;AAVD,8CAUC;AAED,SAAgB,yBAAyB,CACvC,OAAwB,EACxB,WAAoB;IAEpB,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,KAAK,WAAW,CACrD,CAAC;AACJ,CAAC;AAPD,8DAOC"}
|
package/build/dex/lido.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Interface } from '@ethersproject/abi';
|
|
2
|
-
import { NumberAsString, SwapSide } from '@paraswap/core';
|
|
3
|
-
import { AdapterExchangeParam, Address, SimpleExchangeParam } from '../types';
|
|
4
|
-
import { IDexTxBuilder } from './idex';
|
|
5
|
-
import { IDexHelper } from '../dex-helper';
|
|
6
|
-
export declare const stETH: any;
|
|
7
|
-
export declare enum stETHFunctions {
|
|
8
|
-
submit = "submit"
|
|
9
|
-
}
|
|
10
|
-
export declare type LidoData = {};
|
|
11
|
-
export declare class Lido implements IDexTxBuilder<LidoData, any> {
|
|
12
|
-
static dexKeys: string[];
|
|
13
|
-
stETHInterface: Interface;
|
|
14
|
-
needWrapNative: boolean;
|
|
15
|
-
private network;
|
|
16
|
-
constructor(dexHelper: IDexHelper);
|
|
17
|
-
getAdapterParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: LidoData, side: SwapSide): AdapterExchangeParam;
|
|
18
|
-
getSimpleParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: LidoData, side: SwapSide): Promise<SimpleExchangeParam>;
|
|
19
|
-
}
|
package/build/dex/lido.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
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.Lido = exports.stETHFunctions = exports.stETH = void 0;
|
|
7
|
-
const abi_1 = require("@ethersproject/abi");
|
|
8
|
-
const stETH_json_1 = __importDefault(require("../abi/stETH.json"));
|
|
9
|
-
const constants_1 = require("../constants");
|
|
10
|
-
exports.stETH = {
|
|
11
|
-
1: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84',
|
|
12
|
-
};
|
|
13
|
-
var stETHFunctions;
|
|
14
|
-
(function (stETHFunctions) {
|
|
15
|
-
stETHFunctions["submit"] = "submit";
|
|
16
|
-
})(stETHFunctions = exports.stETHFunctions || (exports.stETHFunctions = {}));
|
|
17
|
-
class Lido {
|
|
18
|
-
constructor(dexHelper) {
|
|
19
|
-
this.needWrapNative = false;
|
|
20
|
-
this.network = dexHelper.config.data.network;
|
|
21
|
-
this.stETHInterface = new abi_1.Interface(stETH_json_1.default);
|
|
22
|
-
}
|
|
23
|
-
getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
|
|
24
|
-
return {
|
|
25
|
-
targetExchange: exports.stETH[this.network],
|
|
26
|
-
payload: '0x',
|
|
27
|
-
networkFee: '0',
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
|
|
31
|
-
const swapData = this.stETHInterface.encodeFunctionData(stETHFunctions.submit, [constants_1.NULL_ADDRESS]);
|
|
32
|
-
return {
|
|
33
|
-
callees: [exports.stETH[this.network]],
|
|
34
|
-
calldata: [swapData],
|
|
35
|
-
values: [srcAmount],
|
|
36
|
-
networkFee: '0',
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.Lido = Lido;
|
|
41
|
-
Lido.dexKeys = ['lido'];
|
|
42
|
-
//# sourceMappingURL=lido.js.map
|
package/build/dex/lido.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lido.js","sourceRoot":"","sources":["../../src/dex/lido.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA6D;AAI7D,mEAAyC;AACzC,4CAA4C;AAI/B,QAAA,KAAK,GAAQ;IACxB,CAAC,EAAE,4CAA4C;CAChD,CAAC;AAEF,IAAY,cAEX;AAFD,WAAY,cAAc;IACxB,mCAAiB,CAAA;AACnB,CAAC,EAFW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAEzB;AAID,MAAa,IAAI;IAQf,YAAY,SAAqB;QAJjC,mBAAc,GAAG,KAAK,CAAC;QAKrB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QAE7C,IAAI,CAAC,cAAc,GAAG,IAAI,eAAS,CAAC,oBAA0B,CAAC,CAAC;IAClE,CAAC;IAED,eAAe,CACb,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,IAAc,EACd,IAAc;QAEd,OAAO;YACL,cAAc,EAAE,aAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,IAAc,EACd,IAAc;QAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CACrD,cAAc,CAAC,MAAM,EACrB,CAAC,wBAAY,CAAC,CACf,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,CAAC,aAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;;AAhDH,oBAiDC;AAhDQ,YAAO,GAAG,CAAC,MAAM,CAAC,CAAC"}
|
package/build/dex/onebit.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Interface } from '@ethersproject/abi';
|
|
2
|
-
import { SwapSide } from '../constants';
|
|
3
|
-
import { AdapterExchangeParam, Address, SimpleExchangeParam } from '../types';
|
|
4
|
-
import { IDexTxBuilder } from './idex';
|
|
5
|
-
import { SimpleExchange } from './simple-exchange';
|
|
6
|
-
import { IDexHelper } from '../dex-helper';
|
|
7
|
-
export declare type OnebitData = {
|
|
8
|
-
router: Address;
|
|
9
|
-
};
|
|
10
|
-
declare type OnebitParam = [
|
|
11
|
-
srcToken: string,
|
|
12
|
-
destToken: string,
|
|
13
|
-
srcAmount: string,
|
|
14
|
-
destAmountMin: string,
|
|
15
|
-
to: string
|
|
16
|
-
];
|
|
17
|
-
export declare class Onebit extends SimpleExchange implements IDexTxBuilder<OnebitData, OnebitParam> {
|
|
18
|
-
static dexKeys: string[];
|
|
19
|
-
exchangeRouterInterface: Interface;
|
|
20
|
-
needWrapNative: boolean;
|
|
21
|
-
constructor(dexHelper: IDexHelper);
|
|
22
|
-
getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: OnebitData, side: SwapSide): AdapterExchangeParam;
|
|
23
|
-
getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: OnebitData, side: SwapSide): Promise<SimpleExchangeParam>;
|
|
24
|
-
}
|
|
25
|
-
export {};
|
package/build/dex/onebit.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
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.Onebit = void 0;
|
|
7
|
-
const abi_1 = require("@ethersproject/abi");
|
|
8
|
-
const simple_exchange_1 = require("./simple-exchange");
|
|
9
|
-
const Onebit_json_1 = __importDefault(require("../abi/Onebit.json"));
|
|
10
|
-
var OnebitFunctions;
|
|
11
|
-
(function (OnebitFunctions) {
|
|
12
|
-
OnebitFunctions["swapTokensWithTrust"] = "swapTokensWithTrust";
|
|
13
|
-
})(OnebitFunctions || (OnebitFunctions = {}));
|
|
14
|
-
class Onebit extends simple_exchange_1.SimpleExchange {
|
|
15
|
-
constructor(dexHelper) {
|
|
16
|
-
super(dexHelper, 'omm1');
|
|
17
|
-
this.needWrapNative = true;
|
|
18
|
-
this.exchangeRouterInterface = new abi_1.Interface(Onebit_json_1.default);
|
|
19
|
-
}
|
|
20
|
-
getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
|
|
21
|
-
return {
|
|
22
|
-
targetExchange: data.router,
|
|
23
|
-
payload: '0x',
|
|
24
|
-
networkFee: '0',
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
|
|
28
|
-
const swapFunction = OnebitFunctions.swapTokensWithTrust;
|
|
29
|
-
const swapFunctionParams = [
|
|
30
|
-
srcToken,
|
|
31
|
-
destToken,
|
|
32
|
-
srcAmount,
|
|
33
|
-
destAmount,
|
|
34
|
-
this.augustusAddress,
|
|
35
|
-
];
|
|
36
|
-
const swapData = this.exchangeRouterInterface.encodeFunctionData(swapFunction, swapFunctionParams);
|
|
37
|
-
return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, data.router);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.Onebit = Onebit;
|
|
41
|
-
Onebit.dexKeys = ['omm1'];
|
|
42
|
-
//# sourceMappingURL=onebit.js.map
|
package/build/dex/onebit.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"onebit.js","sourceRoot":"","sources":["../../src/dex/onebit.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA6D;AAK7D,uDAAmD;AACnD,qEAA2C;AAc3C,IAAK,eAEJ;AAFD,WAAK,eAAe;IAClB,8DAA2C,CAAA;AAC7C,CAAC,EAFI,eAAe,KAAf,eAAe,QAEnB;AAED,MAAa,MACX,SAAQ,gCAAc;IAOtB,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAH3B,mBAAc,GAAG,IAAI,CAAC;QAIpB,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAAC,qBAA2B,CAAC,CAAC;IAC5E,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAgB,EAChB,IAAc;QAEd,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,MAAM;YAC3B,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAgB,EAChB,IAAc;QAEd,MAAM,YAAY,GAAG,eAAe,CAAC,mBAAmB,CAAC;QACzD,MAAM,kBAAkB,GAAgB;YACtC,QAAQ;YACR,SAAS;YACT,SAAS;YACT,UAAU;YACV,IAAI,CAAC,eAAe;SACrB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,YAAY,EACZ,kBAAkB,CACnB,CAAC;QAEF,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,MAAM,CACZ,CAAC;IACJ,CAAC;;AAzDH,wBA0DC;AAtDQ,cAAO,GAAG,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { DeepReadonly } from 'ts-essentials';
|
|
2
|
-
import { PartialEventSubscriber } from '../../composed-event-subscriber';
|
|
3
|
-
import { Address, BlockHeader, Log, Logger, MultiCallInput, MultiCallOutput } from '../../types';
|
|
4
|
-
import { Lens } from '../../lens';
|
|
5
|
-
import { Interface } from '@ethersproject/abi';
|
|
6
|
-
import { PlatypusAssetState } from './types';
|
|
7
|
-
export declare class PlatypusAssetSubscriber<State> extends PartialEventSubscriber<State, PlatypusAssetState> {
|
|
8
|
-
private asset;
|
|
9
|
-
static readonly assetInterface: Interface;
|
|
10
|
-
constructor(asset: Address, lens: Lens<DeepReadonly<State>, DeepReadonly<PlatypusAssetState>>, logger: Logger);
|
|
11
|
-
processLog(state: DeepReadonly<PlatypusAssetState>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): DeepReadonly<PlatypusAssetState> | null;
|
|
12
|
-
getGenerateStateMultiCallInputs(): MultiCallInput[];
|
|
13
|
-
generateState(multicallOutputs: MultiCallOutput[], blockNumber?: number | 'latest'): DeepReadonly<PlatypusAssetState>;
|
|
14
|
-
}
|
|
@@ -1,97 +0,0 @@
|
|
|
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.PlatypusAssetSubscriber = void 0;
|
|
7
|
-
const composed_event_subscriber_1 = require("../../composed-event-subscriber");
|
|
8
|
-
const abi_1 = require("@ethersproject/abi");
|
|
9
|
-
const asset_json_1 = __importDefault(require("../../abi/platypus/asset.json"));
|
|
10
|
-
class PlatypusAssetSubscriber extends composed_event_subscriber_1.PartialEventSubscriber {
|
|
11
|
-
constructor(asset, lens, logger) {
|
|
12
|
-
super([asset], lens, logger);
|
|
13
|
-
this.asset = asset;
|
|
14
|
-
}
|
|
15
|
-
processLog(state, log, blockHeader) {
|
|
16
|
-
try {
|
|
17
|
-
const parsed = PlatypusAssetSubscriber.assetInterface.parseLog(log);
|
|
18
|
-
switch (parsed.name) {
|
|
19
|
-
case 'CashAdded': {
|
|
20
|
-
const previousCashPosition = BigInt(parsed.args.previousCashPosition.toString());
|
|
21
|
-
const cashBeingAdded = BigInt(parsed.args.cashBeingAdded.toString());
|
|
22
|
-
if (state.cash !== previousCashPosition) {
|
|
23
|
-
this.logger.error('state.cash !== previousCashPosition');
|
|
24
|
-
}
|
|
25
|
-
return {
|
|
26
|
-
cash: previousCashPosition + cashBeingAdded,
|
|
27
|
-
liability: state.liability,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
case 'CashRemoved': {
|
|
31
|
-
const previousCashPosition = BigInt(parsed.args.previousCashPosition.toString());
|
|
32
|
-
const cashBeingRemoved = BigInt(parsed.args.cashBeingRemoved.toString());
|
|
33
|
-
if (state.cash !== previousCashPosition) {
|
|
34
|
-
this.logger.error('state.cash !== previousCashPosition');
|
|
35
|
-
}
|
|
36
|
-
return {
|
|
37
|
-
cash: previousCashPosition - cashBeingRemoved,
|
|
38
|
-
liability: state.liability,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
case 'LiabilityAdded': {
|
|
42
|
-
const previousLiabilityPosition = BigInt(parsed.args.previousLiabilityPosition.toString());
|
|
43
|
-
const liabilityBeingAdded = BigInt(parsed.args.liabilityBeingAdded.toString());
|
|
44
|
-
if (state.liability !== previousLiabilityPosition) {
|
|
45
|
-
this.logger.error('state.liability !== previousLiabilityPosition');
|
|
46
|
-
}
|
|
47
|
-
return {
|
|
48
|
-
cash: state.cash,
|
|
49
|
-
liability: previousLiabilityPosition + liabilityBeingAdded,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
case 'LiabilityRemoved': {
|
|
53
|
-
const previousLiabilityPosition = BigInt(parsed.args.previousLiabilityPosition.toString());
|
|
54
|
-
const liabilityBeingRemoved = BigInt(parsed.args.liabilityBeingRemoved.toString());
|
|
55
|
-
if (state.liability !== previousLiabilityPosition) {
|
|
56
|
-
this.logger.error('state.liability !== previousLiabilityPosition');
|
|
57
|
-
}
|
|
58
|
-
return {
|
|
59
|
-
cash: state.cash,
|
|
60
|
-
liability: previousLiabilityPosition - liabilityBeingRemoved,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
default:
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
catch (e) {
|
|
68
|
-
this.logger.error('Failed to parse log', e);
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
getGenerateStateMultiCallInputs() {
|
|
73
|
-
return [
|
|
74
|
-
{
|
|
75
|
-
target: this.asset,
|
|
76
|
-
callData: PlatypusAssetSubscriber.assetInterface.encodeFunctionData('cash'),
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
target: this.asset,
|
|
80
|
-
callData: PlatypusAssetSubscriber.assetInterface.encodeFunctionData('liability'),
|
|
81
|
-
},
|
|
82
|
-
];
|
|
83
|
-
}
|
|
84
|
-
generateState(multicallOutputs, blockNumber) {
|
|
85
|
-
return {
|
|
86
|
-
cash: BigInt(PlatypusAssetSubscriber.assetInterface
|
|
87
|
-
.decodeFunctionResult('cash', multicallOutputs[0])[0]
|
|
88
|
-
.toString()),
|
|
89
|
-
liability: BigInt(PlatypusAssetSubscriber.assetInterface
|
|
90
|
-
.decodeFunctionResult('liability', multicallOutputs[1])[0]
|
|
91
|
-
.toString()),
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
exports.PlatypusAssetSubscriber = PlatypusAssetSubscriber;
|
|
96
|
-
PlatypusAssetSubscriber.assetInterface = new abi_1.Interface(asset_json_1.default);
|
|
97
|
-
//# sourceMappingURL=asset.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../src/dex/platypus/asset.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { DexParams } from './types';
|
|
2
|
-
import { DexConfigMap } from '../../types';
|
|
3
|
-
export declare const PlatypusConfig: DexConfigMap<DexParams>;
|
|
4
|
-
export declare const Adapters: {
|
|
5
|
-
[chainId: number]: {
|
|
6
|
-
[side: string]: {
|
|
7
|
-
name: string;
|
|
8
|
-
index: number;
|
|
9
|
-
}[] | null;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Adapters = exports.PlatypusConfig = void 0;
|
|
4
|
-
const types_1 = require("./types");
|
|
5
|
-
const constants_1 = require("../../constants");
|
|
6
|
-
exports.PlatypusConfig = {
|
|
7
|
-
Platypus: {
|
|
8
|
-
[constants_1.Network.AVALANCHE]: {
|
|
9
|
-
pools: [
|
|
10
|
-
{
|
|
11
|
-
address: '0xbe52548488992Cc76fFA1B42f3A58F646864df45',
|
|
12
|
-
name: 'Main USD Pool',
|
|
13
|
-
oracleType: types_1.PlatypusOracleType.ChainLink,
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
address: '0xB8E567fc23c39C94a1f6359509D7b43D1Fbed824',
|
|
17
|
-
name: 'Alt Pool Frax',
|
|
18
|
-
oracleType: types_1.PlatypusOracleType.ChainLink,
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
address: '0x30C30d826be87Cd0A4b90855C2F38f7FcfE4eaA7',
|
|
22
|
-
name: 'Alt Pool MIM',
|
|
23
|
-
oracleType: types_1.PlatypusOracleType.ChainLink,
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
address: '0x39dE4e02F76Dbd4352Ec2c926D8d64Db8aBdf5b2',
|
|
27
|
-
name: 'Alt Pool BTC',
|
|
28
|
-
oracleType: types_1.PlatypusOracleType.None,
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
address: '0x4658EA7e9960D6158a261104aAA160cC953bb6ba',
|
|
32
|
-
name: 'Alt Pool sAVAX',
|
|
33
|
-
oracleType: types_1.PlatypusOracleType.StakedAvax,
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
address: '0xC828D995C686AaBA78A4aC89dfc8eC0Ff4C5be83',
|
|
37
|
-
name: 'Alt Pool YUSD',
|
|
38
|
-
oracleType: types_1.PlatypusOracleType.None,
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
address: '0x233Ba46B01d2FbF1A31bDBc500702E286d6de218',
|
|
42
|
-
name: 'Factory Pool H2O',
|
|
43
|
-
oracleType: types_1.PlatypusOracleType.None,
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
address: '0x27912AE6Ba9a54219d8287C3540A8969FF35500B',
|
|
47
|
-
name: 'Factory Pool MONEY',
|
|
48
|
-
oracleType: types_1.PlatypusOracleType.None,
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
address: '0x91BB10D68C72d64a7cE10482b453153eEa03322C',
|
|
52
|
-
name: 'Factory Pool TSD',
|
|
53
|
-
oracleType: types_1.PlatypusOracleType.None,
|
|
54
|
-
},
|
|
55
|
-
],
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
exports.Adapters = {
|
|
60
|
-
[constants_1.Network.AVALANCHE]: {
|
|
61
|
-
[constants_1.SwapSide.SELL]: [
|
|
62
|
-
{
|
|
63
|
-
name: 'AvalancheAdapter01',
|
|
64
|
-
index: 10,
|
|
65
|
-
},
|
|
66
|
-
],
|
|
67
|
-
},
|
|
68
|
-
};
|
|
69
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/platypus/config.ts"],"names":[],"mappings":";;;AAAA,mCAAwD;AAExD,+CAAoD;AAEvC,QAAA,cAAc,GAA4B;IACrD,QAAQ,EAAE;QACR,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;YACnB,KAAK,EAAE;gBACL;oBACE,OAAO,EAAE,4CAA4C;oBACrD,IAAI,EAAE,eAAe;oBACrB,UAAU,EAAE,0BAAkB,CAAC,SAAS;iBACzC;gBACD;oBACE,OAAO,EAAE,4CAA4C;oBACrD,IAAI,EAAE,eAAe;oBACrB,UAAU,EAAE,0BAAkB,CAAC,SAAS;iBACzC;gBACD;oBACE,OAAO,EAAE,4CAA4C;oBACrD,IAAI,EAAE,cAAc;oBACpB,UAAU,EAAE,0BAAkB,CAAC,SAAS;iBACzC;gBACD;oBACE,OAAO,EAAE,4CAA4C;oBACrD,IAAI,EAAE,cAAc;oBACpB,UAAU,EAAE,0BAAkB,CAAC,IAAI;iBACpC;gBACD;oBACE,OAAO,EAAE,4CAA4C;oBACrD,IAAI,EAAE,gBAAgB;oBACtB,UAAU,EAAE,0BAAkB,CAAC,UAAU;iBAC1C;gBACD;oBACE,OAAO,EAAE,4CAA4C;oBACrD,IAAI,EAAE,eAAe;oBACrB,UAAU,EAAE,0BAAkB,CAAC,IAAI;iBACpC;gBACD;oBACE,OAAO,EAAE,4CAA4C;oBACrD,IAAI,EAAE,kBAAkB;oBACxB,UAAU,EAAE,0BAAkB,CAAC,IAAI;iBACpC;gBACD;oBACE,OAAO,EAAE,4CAA4C;oBACrD,IAAI,EAAE,oBAAoB;oBAC1B,UAAU,EAAE,0BAAkB,CAAC,IAAI;iBACpC;gBACD;oBACE,OAAO,EAAE,4CAA4C;oBACrD,IAAI,EAAE,kBAAkB;oBACxB,UAAU,EAAE,0BAAkB,CAAC,IAAI;iBACpC;aACF;SACF;KACF;CACF,CAAC;AAEW,QAAA,QAAQ,GAIjB;IACF,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;QACnB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE;YACf;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,EAAE;aACV;SACF;KACF;CACF,CAAC"}
|