@paraswap/dex-lib 3.7.2 → 3.7.3
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/build/abi/Redstone.json +739 -0
- package/build/abi/aavev3stata/Factory.json +128 -0
- package/build/abi/aavev3stata/Token.json +735 -0
- package/build/abi/angle-transmuter/MorphoOracle.json +193 -0
- package/build/abi/angle-transmuter/MorphoVault.json +2506 -0
- package/build/abi/angle-transmuter/Pyth.json +1534 -0
- package/build/abi/angle-transmuter/Transmuter.json +1711 -0
- package/build/abi/angle-transmuter/TransmuterSidechain.json +1798 -0
- package/build/abi/idle-dao/idle-cdo-factory.json +38 -0
- package/build/abi/idle-dao/idle-cdo.json +1245 -0
- package/build/dex/aave-v1/aave-v1.d.ts +2 -1
- package/build/dex/aave-v1/aave-v1.js +22 -0
- package/build/dex/aave-v1/aave-v1.js.map +1 -1
- package/build/dex/aave-v3-stata/aave-v3-stata.d.ts +50 -0
- package/build/dex/aave-v3-stata/aave-v3-stata.js +365 -0
- package/build/dex/aave-v3-stata/aave-v3-stata.js.map +1 -0
- package/build/dex/aave-v3-stata/config.d.ts +4 -0
- package/build/dex/aave-v3-stata/config.js +50 -0
- package/build/dex/aave-v3-stata/config.js.map +1 -0
- package/build/dex/aave-v3-stata/tokens.d.ts +9 -0
- package/build/dex/aave-v3-stata/tokens.js +37 -0
- package/build/dex/aave-v3-stata/tokens.js.map +1 -0
- package/build/dex/aave-v3-stata/types.d.ts +46 -0
- package/build/dex/aave-v3-stata/types.js +23 -0
- package/build/dex/aave-v3-stata/types.js.map +1 -0
- package/build/dex/aave-v3-stata/utils.d.ts +4 -0
- package/build/dex/aave-v3-stata/utils.js +67 -0
- package/build/dex/aave-v3-stata/utils.js.map +1 -0
- package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +67 -0
- package/build/dex/angle-transmuter/angle-transmuter-pool.js +448 -0
- package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +1 -0
- package/build/dex/angle-transmuter/angle-transmuter.d.ts +59 -0
- package/build/dex/angle-transmuter/angle-transmuter.js +264 -0
- package/build/dex/angle-transmuter/angle-transmuter.js.map +1 -0
- package/build/dex/angle-transmuter/backedOracle.d.ts +19 -0
- package/build/dex/angle-transmuter/backedOracle.js +56 -0
- package/build/dex/angle-transmuter/backedOracle.js.map +1 -0
- package/build/dex/angle-transmuter/config.d.ts +4 -0
- package/build/dex/angle-transmuter/config.js +50 -0
- package/build/dex/angle-transmuter/config.js.map +1 -0
- package/build/dex/angle-transmuter/constants.d.ts +9 -0
- package/build/dex/angle-transmuter/constants.js +136 -0
- package/build/dex/angle-transmuter/constants.js.map +1 -0
- package/build/dex/angle-transmuter/morphoOracle.d.ts +42 -0
- package/build/dex/angle-transmuter/morphoOracle.js +179 -0
- package/build/dex/angle-transmuter/morphoOracle.js.map +1 -0
- package/build/dex/angle-transmuter/morphoVault.d.ts +20 -0
- package/build/dex/angle-transmuter/morphoVault.js +84 -0
- package/build/dex/angle-transmuter/morphoVault.js.map +1 -0
- package/build/dex/angle-transmuter/pyth.d.ts +19 -0
- package/build/dex/angle-transmuter/pyth.js +70 -0
- package/build/dex/angle-transmuter/pyth.js.map +1 -0
- package/build/dex/angle-transmuter/redstone.d.ts +20 -0
- package/build/dex/angle-transmuter/redstone.js +64 -0
- package/build/dex/angle-transmuter/redstone.js.map +1 -0
- package/build/dex/angle-transmuter/transmuter.d.ts +55 -0
- package/build/dex/angle-transmuter/transmuter.js +398 -0
- package/build/dex/angle-transmuter/transmuter.js.map +1 -0
- package/build/dex/angle-transmuter/types.d.ts +189 -0
- package/build/dex/angle-transmuter/types.js +33 -0
- package/build/dex/angle-transmuter/types.js.map +1 -0
- package/build/dex/angle-transmuter/utils.d.ts +9 -0
- package/build/dex/angle-transmuter/utils.js +257 -0
- package/build/dex/angle-transmuter/utils.js.map +1 -0
- package/build/dex/idle-dao/config.d.ts +6 -0
- package/build/dex/idle-dao/config.js +307 -0
- package/build/dex/idle-dao/config.js.map +1 -0
- package/build/dex/idle-dao/idle-dao-pool.d.ts +56 -0
- package/build/dex/idle-dao/idle-dao-pool.js +176 -0
- package/build/dex/idle-dao/idle-dao-pool.js.map +1 -0
- package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +16 -0
- package/build/dex/idle-dao/idle-dao-pooling-pool.js +57 -0
- package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +1 -0
- package/build/dex/idle-dao/idle-dao.d.ts +41 -0
- package/build/dex/idle-dao/idle-dao.js +238 -0
- package/build/dex/idle-dao/idle-dao.js.map +1 -0
- package/build/dex/idle-dao/scripts.d.ts +9 -0
- package/build/dex/idle-dao/scripts.js +552 -0
- package/build/dex/idle-dao/scripts.js.map +1 -0
- package/build/dex/idle-dao/tokens.d.ts +9 -0
- package/build/dex/idle-dao/tokens.js +65 -0
- package/build/dex/idle-dao/tokens.js.map +1 -0
- package/build/dex/idle-dao/types.d.ts +35 -0
- package/build/dex/idle-dao/types.js +11 -0
- package/build/dex/idle-dao/types.js.map +1 -0
- package/build/dex/idle-dao/utils.d.ts +8 -0
- package/build/dex/idle-dao/utils.js +148 -0
- package/build/dex/idle-dao/utils.js.map +1 -0
- package/build/dex/index.js +2 -0
- package/build/dex/index.js.map +1 -1
- package/build/dex/platypus/platypus.d.ts +2 -1
- package/build/dex/platypus/platypus.js +31 -0
- package/build/dex/platypus/platypus.js.map +1 -1
- package/build/dex/swaap-v1/swaap-v1.d.ts +2 -1
- package/build/dex/swaap-v1/swaap-v1.js +10 -0
- package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
- package/build/lib/chainlink.d.ts +2 -0
- package/build/lib/chainlink.js +9 -0
- package/build/lib/chainlink.js.map +1 -1
- package/build/utils.d.ts +1 -1
- package/package.json +1 -1
- package/src/abi/Redstone.json +739 -0
- package/src/abi/angle-transmuter/ChainlinkAccessControlledOffchainAggregator.json +1246 -0
- package/src/abi/angle-transmuter/ChainlinkEACAggregatorProxy.json +509 -0
- package/src/abi/angle-transmuter/MorphoOracle.json +193 -0
- package/src/abi/angle-transmuter/MorphoVault.json +2506 -0
- package/src/abi/angle-transmuter/Pyth.json +1534 -0
- package/src/abi/angle-transmuter/Transmuter.json +1711 -0
- package/src/abi/angle-transmuter/TransmuterSidechain.json +1798 -0
- package/src/dex/angle-transmuter/angle-transmuter-e2e.test.ts +156 -0
- package/src/dex/angle-transmuter/angle-transmuter-events.test.ts +365 -0
- package/src/dex/angle-transmuter/angle-transmuter-integration.test.ts +390 -0
- package/src/dex/angle-transmuter/angle-transmuter-pool.ts +895 -0
- package/src/dex/angle-transmuter/angle-transmuter.ts +408 -0
- package/src/dex/angle-transmuter/backedOracle.ts +91 -0
- package/src/dex/angle-transmuter/config.ts +50 -0
- package/src/dex/angle-transmuter/constants.ts +138 -0
- package/src/dex/angle-transmuter/morphoOracle.ts +335 -0
- package/src/dex/angle-transmuter/morphoVault.ts +134 -0
- package/src/dex/angle-transmuter/pyth.ts +105 -0
- package/src/dex/angle-transmuter/redstone.ts +105 -0
- package/src/dex/angle-transmuter/transmuter.ts +619 -0
- package/src/dex/angle-transmuter/types.ts +203 -0
- package/src/dex/angle-transmuter/utils.ts +358 -0
- package/src/dex/index.ts +2 -0
- package/src/lib/chainlink.ts +15 -0
- package/tests/constants-e2e.ts +48 -3
- package/build/abi/Uncompressor.json +0 -250
- 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/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/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/smoothy.d.ts +0 -26
- package/build/dex/smoothy.js +0 -48
- package/build/dex/smoothy.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/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
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Address } from '../../types';
|
|
2
|
+
export declare type PoolState = {};
|
|
3
|
+
export declare enum TokenType {
|
|
4
|
+
UNDERLYING = 0,
|
|
5
|
+
A_TOKEN = 1,
|
|
6
|
+
STATA_TOKEN = 2,
|
|
7
|
+
UNKNOWN = 3
|
|
8
|
+
}
|
|
9
|
+
export declare type AaveV3StataData = {
|
|
10
|
+
exchange: Address;
|
|
11
|
+
srcType: TokenType;
|
|
12
|
+
destType: TokenType;
|
|
13
|
+
};
|
|
14
|
+
export declare type DexParams = {
|
|
15
|
+
factoryAddress: string;
|
|
16
|
+
};
|
|
17
|
+
export declare type StataToken = {
|
|
18
|
+
address: string;
|
|
19
|
+
underlying: string;
|
|
20
|
+
underlyingAToken: string;
|
|
21
|
+
stataSymbol: string;
|
|
22
|
+
decimals: number;
|
|
23
|
+
};
|
|
24
|
+
export declare type DepositParams = [
|
|
25
|
+
assets: string,
|
|
26
|
+
receiver: string,
|
|
27
|
+
referralCode: number,
|
|
28
|
+
depositToAave: boolean
|
|
29
|
+
];
|
|
30
|
+
export declare type RedeemParams = [
|
|
31
|
+
shares: string,
|
|
32
|
+
receiver: string,
|
|
33
|
+
owner: string,
|
|
34
|
+
withdrawFromAave: string
|
|
35
|
+
];
|
|
36
|
+
export declare type Param = DepositParams | RedeemParams;
|
|
37
|
+
export declare enum StataFunctions {
|
|
38
|
+
deposit = "deposit(uint256,address,uint16,bool)",
|
|
39
|
+
redeem = "redeem(uint256,address,address,bool)",
|
|
40
|
+
mint = "mint",
|
|
41
|
+
withdraw = "withdraw"
|
|
42
|
+
}
|
|
43
|
+
export declare enum Rounding {
|
|
44
|
+
UP = "UP",
|
|
45
|
+
DOWN = "DOWN"
|
|
46
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Rounding = exports.StataFunctions = exports.TokenType = void 0;
|
|
4
|
+
var TokenType;
|
|
5
|
+
(function (TokenType) {
|
|
6
|
+
TokenType[TokenType["UNDERLYING"] = 0] = "UNDERLYING";
|
|
7
|
+
TokenType[TokenType["A_TOKEN"] = 1] = "A_TOKEN";
|
|
8
|
+
TokenType[TokenType["STATA_TOKEN"] = 2] = "STATA_TOKEN";
|
|
9
|
+
TokenType[TokenType["UNKNOWN"] = 3] = "UNKNOWN";
|
|
10
|
+
})(TokenType = exports.TokenType || (exports.TokenType = {}));
|
|
11
|
+
var StataFunctions;
|
|
12
|
+
(function (StataFunctions) {
|
|
13
|
+
StataFunctions["deposit"] = "deposit(uint256,address,uint16,bool)";
|
|
14
|
+
StataFunctions["redeem"] = "redeem(uint256,address,address,bool)";
|
|
15
|
+
StataFunctions["mint"] = "mint";
|
|
16
|
+
StataFunctions["withdraw"] = "withdraw";
|
|
17
|
+
})(StataFunctions = exports.StataFunctions || (exports.StataFunctions = {}));
|
|
18
|
+
var Rounding;
|
|
19
|
+
(function (Rounding) {
|
|
20
|
+
Rounding["UP"] = "UP";
|
|
21
|
+
Rounding["DOWN"] = "DOWN";
|
|
22
|
+
})(Rounding = exports.Rounding || (exports.Rounding = {}));
|
|
23
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/aave-v3-stata/types.ts"],"names":[],"mappings":";;;AASA,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,qDAAU,CAAA;IACV,+CAAO,CAAA;IACP,uDAAW,CAAA;IACX,+CAAO,CAAA;AACT,CAAC,EALW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAKpB;AA4CD,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,kEAAgD,CAAA;IAChD,iEAA+C,CAAA;IAC/C,+BAAa,CAAA;IACb,uCAAqB,CAAA;AACvB,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,qBAAS,CAAA;IACT,yBAAa,CAAA;AACf,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import Web3 from 'web3';
|
|
2
|
+
import { MultiWrapper } from '../../lib/multi-wrapper';
|
|
3
|
+
import { StataToken } from './types';
|
|
4
|
+
export declare const fetchTokenList: (web3Provider: Web3, blockNumber: number, factoryAddress: string, multiWrapper: MultiWrapper) => Promise<StataToken[]>;
|
|
@@ -0,0 +1,67 @@
|
|
|
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.fetchTokenList = void 0;
|
|
7
|
+
// import {
|
|
8
|
+
// IStaticATokenFactory_ABI,
|
|
9
|
+
// IStaticATokenLM_ABI,
|
|
10
|
+
// } from '@bgd-labs/aave-address-book';
|
|
11
|
+
const abi_1 = require("@ethersproject/abi");
|
|
12
|
+
const decoders_1 = require("../../lib/decoders");
|
|
13
|
+
const Factory_json_1 = __importDefault(require("../../abi/aavev3stata/Factory.json"));
|
|
14
|
+
const Token_json_1 = __importDefault(require("../../abi/aavev3stata/Token.json"));
|
|
15
|
+
// const stataInterface = new Interface(IStaticATokenLM_ABI);
|
|
16
|
+
const stataInterface = new abi_1.Interface(Token_json_1.default);
|
|
17
|
+
async function getTokenMetaData(blockNumber, stataTokens, multiWrapper) {
|
|
18
|
+
const calls = stataTokens
|
|
19
|
+
.map(token => {
|
|
20
|
+
return [
|
|
21
|
+
{
|
|
22
|
+
target: token,
|
|
23
|
+
callData: stataInterface.encodeFunctionData('symbol'),
|
|
24
|
+
decodeFunction: decoders_1.stringDecode,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
target: token,
|
|
28
|
+
callData: stataInterface.encodeFunctionData('decimals'),
|
|
29
|
+
decodeFunction: decoders_1.uint8ToNumber,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
target: token,
|
|
33
|
+
callData: stataInterface.encodeFunctionData('asset'),
|
|
34
|
+
decodeFunction: decoders_1.addressDecode,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
target: token,
|
|
38
|
+
callData: stataInterface.encodeFunctionData('aToken'),
|
|
39
|
+
decodeFunction: decoders_1.addressDecode,
|
|
40
|
+
},
|
|
41
|
+
];
|
|
42
|
+
})
|
|
43
|
+
.flat();
|
|
44
|
+
const results = await multiWrapper.aggregate(calls, blockNumber);
|
|
45
|
+
let tokenList = [];
|
|
46
|
+
for (let i = 0, x = 0; i < stataTokens.length; ++i, x += 4) {
|
|
47
|
+
tokenList.push({
|
|
48
|
+
address: stataTokens[i].toLowerCase(),
|
|
49
|
+
stataSymbol: results[x],
|
|
50
|
+
decimals: results[x + 1],
|
|
51
|
+
underlying: results[x + 2].toLowerCase(),
|
|
52
|
+
underlyingAToken: results[x + 3].toLowerCase(),
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return tokenList;
|
|
56
|
+
}
|
|
57
|
+
const fetchTokenList = async (web3Provider, blockNumber, factoryAddress, multiWrapper) => {
|
|
58
|
+
let factoryContract = new web3Provider.eth.Contract(Factory_json_1.default,
|
|
59
|
+
// IStaticATokenFactory_ABI as any,
|
|
60
|
+
factoryAddress);
|
|
61
|
+
let stataList = await factoryContract.methods
|
|
62
|
+
.getStaticATokens()
|
|
63
|
+
.call();
|
|
64
|
+
return getTokenMetaData(blockNumber, stataList, multiWrapper);
|
|
65
|
+
};
|
|
66
|
+
exports.fetchTokenList = fetchTokenList;
|
|
67
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/aave-v3-stata/utils.ts"],"names":[],"mappings":";;;;;;AAAA,WAAW;AACX,8BAA8B;AAC9B,yBAAyB;AACzB,wCAAwC;AACxC,4CAA+C;AAG/C,iDAAgF;AAEhF,sFAA4D;AAC5D,kFAAwD;AAGxD,6DAA6D;AAC7D,MAAM,cAAc,GAAG,IAAI,eAAS,CAAC,oBAAQ,CAAC,CAAC;AAE/C,KAAK,UAAU,gBAAgB,CAC7B,WAAmB,EACnB,WAAqB,EACrB,YAA0B;IAE1B,MAAM,KAAK,GAA2B,WAAW;SAC9C,GAAG,CAAC,KAAK,CAAC,EAAE;QACX,OAAO;YACL;gBACE,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,cAAc,CAAC,kBAAkB,CAAC,QAAQ,CAAC;gBACrD,cAAc,EAAE,uBAAY;aAC7B;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC;gBACvD,cAAc,EAAE,wBAAa;aAC9B;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC;gBACpD,cAAc,EAAE,wBAAa;aAC9B;YACD;gBACE,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,cAAc,CAAC,kBAAkB,CAAC,QAAQ,CAAC;gBACrD,cAAc,EAAE,wBAAa;aAC9B;SACF,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,EAAE,CAAC;IAEV,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,CAC1C,KAAK,EACL,WAAW,CACZ,CAAC;IAEF,IAAI,SAAS,GAAiB,EAAE,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QAC1D,SAAS,CAAC,IAAI,CAAC;YACb,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YACrC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAW;YACjC,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAW;YAClC,UAAU,EAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAY,CAAC,WAAW,EAAE;YACpD,gBAAgB,EAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAY,CAAC,WAAW,EAAE;SAC3D,CAAC,CAAC;KACJ;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAEM,MAAM,cAAc,GAAG,KAAK,EACjC,YAAkB,EAClB,WAAmB,EACnB,cAAsB,EACtB,YAA0B,EACH,EAAE;IACzB,IAAI,eAAe,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CACjD,sBAAuB;IACvB,mCAAmC;IACnC,cAAc,CACf,CAAC;IAEF,IAAI,SAAS,GAAa,MAAM,eAAe,CAAC,OAAO;SACpD,gBAAgB,EAAE;SAClB,IAAI,EAAE,CAAC;IAEV,OAAO,gBAAgB,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAChE,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Interface } from '@ethersproject/abi';
|
|
3
|
+
import { DeepReadonly } from 'ts-essentials';
|
|
4
|
+
import { Address, Logger } from '../../types';
|
|
5
|
+
import { ComposedEventSubscriber } from '../../composed-event-subscriber';
|
|
6
|
+
import { IDexHelper } from '../../dex-helper/idex-helper';
|
|
7
|
+
import { ChainlinkConfig, MorphoConfig, OracleFeed, OracleQuoteType, OracleReadType, PoolConfig, PoolState, PythConfig, TransmuterParams } from './types';
|
|
8
|
+
import { Contract } from 'web3-eth-contract';
|
|
9
|
+
import { SwapSide } from '../../constants';
|
|
10
|
+
export declare class AngleTransmuterEventPool extends ComposedEventSubscriber<PoolState> {
|
|
11
|
+
readonly parentName: string;
|
|
12
|
+
protected network: number;
|
|
13
|
+
protected dexHelper: IDexHelper;
|
|
14
|
+
transmuter: Contract;
|
|
15
|
+
readonly angleTransmuterIface: Interface;
|
|
16
|
+
readonly config: PoolConfig;
|
|
17
|
+
timer: NodeJS.Timer;
|
|
18
|
+
constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, config: PoolConfig);
|
|
19
|
+
releaseResources(): void;
|
|
20
|
+
getStateOrGenerate(blockNumber: number): Promise<Readonly<PoolState>>;
|
|
21
|
+
generateState(blockNumber: number): Promise<DeepReadonly<PoolState>>;
|
|
22
|
+
private stateToLowercase;
|
|
23
|
+
getAmountOut(_tokenIn: Address, _tokenOut: Address, side: SwapSide, _amounts: number[], blockNumber: number): Promise<number[] | null>;
|
|
24
|
+
static getCollateralsList(transmuterAddress: Address, blockNumber: number | 'latest', multiContract: Contract): Promise<string[]>;
|
|
25
|
+
static _fillMap(chainlinkMap: ChainlinkConfig, backedMap: ChainlinkConfig, redstoneMap: ChainlinkConfig, pythIds: PythConfig, morphoMap: MorphoConfig, oracleFeed: OracleFeed, blockNumber: number | 'latest', multiContract: Contract): Promise<{
|
|
26
|
+
chainlinkMap: ChainlinkConfig;
|
|
27
|
+
backedMap: ChainlinkConfig;
|
|
28
|
+
redstoneMap: ChainlinkConfig;
|
|
29
|
+
pythIds: PythConfig;
|
|
30
|
+
morphoMap: MorphoConfig;
|
|
31
|
+
}>;
|
|
32
|
+
static generateStateChainlinkLike(feed: string, chainlinkMap: ChainlinkConfig, backedMap: ChainlinkConfig, redstoneMap: ChainlinkConfig, blockNumber: number | 'latest', multiContract: Contract): Promise<{
|
|
33
|
+
chainlinkMap: ChainlinkConfig;
|
|
34
|
+
backedMap: ChainlinkConfig;
|
|
35
|
+
redstoneMap: ChainlinkConfig;
|
|
36
|
+
}>;
|
|
37
|
+
static getOraclesConfig(transmuterAddress: Address, pythAddress: Address, collaterals: Address[], blockNumber: number | 'latest', multiContract: Contract): Promise<{
|
|
38
|
+
chainlink: ChainlinkConfig;
|
|
39
|
+
backed: ChainlinkConfig;
|
|
40
|
+
redstone: ChainlinkConfig;
|
|
41
|
+
pyth: PythConfig;
|
|
42
|
+
morpho: MorphoConfig;
|
|
43
|
+
}>;
|
|
44
|
+
static getConfig(dexParams: TransmuterParams, blockNumber: number | 'latest', multiContract: Contract): Promise<PoolConfig>;
|
|
45
|
+
_readMint(config: PoolConfig, state: PoolState, collateral: Address, blockNumber: number): number;
|
|
46
|
+
_getBurnOracle(config: PoolConfig, state: PoolState, collateral: Address, blockNumber: number): {
|
|
47
|
+
oracleValue: number;
|
|
48
|
+
minRatio: number;
|
|
49
|
+
};
|
|
50
|
+
_readBurn(config: PoolConfig, state: PoolState, collateral: Address, blockNumber: number): {
|
|
51
|
+
oracleValue: number;
|
|
52
|
+
ratio: number;
|
|
53
|
+
};
|
|
54
|
+
_readSpotAndTarget(config: PoolConfig, state: PoolState, collateral: Address, blockNumber: number): {
|
|
55
|
+
spot: number;
|
|
56
|
+
target: number;
|
|
57
|
+
userDeviation: number;
|
|
58
|
+
burnRatioDeviation: number;
|
|
59
|
+
};
|
|
60
|
+
_quoteAmount(quoteType: OracleQuoteType, baseValue: number): number;
|
|
61
|
+
_read(config: PoolConfig, state: PoolState, oracleType: OracleReadType, feed: OracleFeed, baseValue: number): number;
|
|
62
|
+
_readChainlink(config: PoolConfig, state: PoolState, id: string, isMultiplied: number, price: number): {
|
|
63
|
+
price: number;
|
|
64
|
+
decimals: number;
|
|
65
|
+
};
|
|
66
|
+
_readMorphoFeedChainlink(config: PoolConfig, state: PoolState, id: string): bigint;
|
|
67
|
+
}
|