@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.
Files changed (236) hide show
  1. package/build/abi/Redstone.json +739 -0
  2. package/build/abi/aavev3stata/Factory.json +128 -0
  3. package/build/abi/aavev3stata/Token.json +735 -0
  4. package/build/abi/angle-transmuter/MorphoOracle.json +193 -0
  5. package/build/abi/angle-transmuter/MorphoVault.json +2506 -0
  6. package/build/abi/angle-transmuter/Pyth.json +1534 -0
  7. package/build/abi/angle-transmuter/Transmuter.json +1711 -0
  8. package/build/abi/angle-transmuter/TransmuterSidechain.json +1798 -0
  9. package/build/abi/idle-dao/idle-cdo-factory.json +38 -0
  10. package/build/abi/idle-dao/idle-cdo.json +1245 -0
  11. package/build/dex/aave-v1/aave-v1.d.ts +2 -1
  12. package/build/dex/aave-v1/aave-v1.js +22 -0
  13. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  14. package/build/dex/aave-v3-stata/aave-v3-stata.d.ts +50 -0
  15. package/build/dex/aave-v3-stata/aave-v3-stata.js +365 -0
  16. package/build/dex/aave-v3-stata/aave-v3-stata.js.map +1 -0
  17. package/build/dex/aave-v3-stata/config.d.ts +4 -0
  18. package/build/dex/aave-v3-stata/config.js +50 -0
  19. package/build/dex/aave-v3-stata/config.js.map +1 -0
  20. package/build/dex/aave-v3-stata/tokens.d.ts +9 -0
  21. package/build/dex/aave-v3-stata/tokens.js +37 -0
  22. package/build/dex/aave-v3-stata/tokens.js.map +1 -0
  23. package/build/dex/aave-v3-stata/types.d.ts +46 -0
  24. package/build/dex/aave-v3-stata/types.js +23 -0
  25. package/build/dex/aave-v3-stata/types.js.map +1 -0
  26. package/build/dex/aave-v3-stata/utils.d.ts +4 -0
  27. package/build/dex/aave-v3-stata/utils.js +67 -0
  28. package/build/dex/aave-v3-stata/utils.js.map +1 -0
  29. package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +67 -0
  30. package/build/dex/angle-transmuter/angle-transmuter-pool.js +448 -0
  31. package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +1 -0
  32. package/build/dex/angle-transmuter/angle-transmuter.d.ts +59 -0
  33. package/build/dex/angle-transmuter/angle-transmuter.js +264 -0
  34. package/build/dex/angle-transmuter/angle-transmuter.js.map +1 -0
  35. package/build/dex/angle-transmuter/backedOracle.d.ts +19 -0
  36. package/build/dex/angle-transmuter/backedOracle.js +56 -0
  37. package/build/dex/angle-transmuter/backedOracle.js.map +1 -0
  38. package/build/dex/angle-transmuter/config.d.ts +4 -0
  39. package/build/dex/angle-transmuter/config.js +50 -0
  40. package/build/dex/angle-transmuter/config.js.map +1 -0
  41. package/build/dex/angle-transmuter/constants.d.ts +9 -0
  42. package/build/dex/angle-transmuter/constants.js +136 -0
  43. package/build/dex/angle-transmuter/constants.js.map +1 -0
  44. package/build/dex/angle-transmuter/morphoOracle.d.ts +42 -0
  45. package/build/dex/angle-transmuter/morphoOracle.js +179 -0
  46. package/build/dex/angle-transmuter/morphoOracle.js.map +1 -0
  47. package/build/dex/angle-transmuter/morphoVault.d.ts +20 -0
  48. package/build/dex/angle-transmuter/morphoVault.js +84 -0
  49. package/build/dex/angle-transmuter/morphoVault.js.map +1 -0
  50. package/build/dex/angle-transmuter/pyth.d.ts +19 -0
  51. package/build/dex/angle-transmuter/pyth.js +70 -0
  52. package/build/dex/angle-transmuter/pyth.js.map +1 -0
  53. package/build/dex/angle-transmuter/redstone.d.ts +20 -0
  54. package/build/dex/angle-transmuter/redstone.js +64 -0
  55. package/build/dex/angle-transmuter/redstone.js.map +1 -0
  56. package/build/dex/angle-transmuter/transmuter.d.ts +55 -0
  57. package/build/dex/angle-transmuter/transmuter.js +398 -0
  58. package/build/dex/angle-transmuter/transmuter.js.map +1 -0
  59. package/build/dex/angle-transmuter/types.d.ts +189 -0
  60. package/build/dex/angle-transmuter/types.js +33 -0
  61. package/build/dex/angle-transmuter/types.js.map +1 -0
  62. package/build/dex/angle-transmuter/utils.d.ts +9 -0
  63. package/build/dex/angle-transmuter/utils.js +257 -0
  64. package/build/dex/angle-transmuter/utils.js.map +1 -0
  65. package/build/dex/idle-dao/config.d.ts +6 -0
  66. package/build/dex/idle-dao/config.js +307 -0
  67. package/build/dex/idle-dao/config.js.map +1 -0
  68. package/build/dex/idle-dao/idle-dao-pool.d.ts +56 -0
  69. package/build/dex/idle-dao/idle-dao-pool.js +176 -0
  70. package/build/dex/idle-dao/idle-dao-pool.js.map +1 -0
  71. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +16 -0
  72. package/build/dex/idle-dao/idle-dao-pooling-pool.js +57 -0
  73. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +1 -0
  74. package/build/dex/idle-dao/idle-dao.d.ts +41 -0
  75. package/build/dex/idle-dao/idle-dao.js +238 -0
  76. package/build/dex/idle-dao/idle-dao.js.map +1 -0
  77. package/build/dex/idle-dao/scripts.d.ts +9 -0
  78. package/build/dex/idle-dao/scripts.js +552 -0
  79. package/build/dex/idle-dao/scripts.js.map +1 -0
  80. package/build/dex/idle-dao/tokens.d.ts +9 -0
  81. package/build/dex/idle-dao/tokens.js +65 -0
  82. package/build/dex/idle-dao/tokens.js.map +1 -0
  83. package/build/dex/idle-dao/types.d.ts +35 -0
  84. package/build/dex/idle-dao/types.js +11 -0
  85. package/build/dex/idle-dao/types.js.map +1 -0
  86. package/build/dex/idle-dao/utils.d.ts +8 -0
  87. package/build/dex/idle-dao/utils.js +148 -0
  88. package/build/dex/idle-dao/utils.js.map +1 -0
  89. package/build/dex/index.js +2 -0
  90. package/build/dex/index.js.map +1 -1
  91. package/build/dex/platypus/platypus.d.ts +2 -1
  92. package/build/dex/platypus/platypus.js +31 -0
  93. package/build/dex/platypus/platypus.js.map +1 -1
  94. package/build/dex/swaap-v1/swaap-v1.d.ts +2 -1
  95. package/build/dex/swaap-v1/swaap-v1.js +10 -0
  96. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  97. package/build/lib/chainlink.d.ts +2 -0
  98. package/build/lib/chainlink.js +9 -0
  99. package/build/lib/chainlink.js.map +1 -1
  100. package/build/utils.d.ts +1 -1
  101. package/package.json +1 -1
  102. package/src/abi/Redstone.json +739 -0
  103. package/src/abi/angle-transmuter/ChainlinkAccessControlledOffchainAggregator.json +1246 -0
  104. package/src/abi/angle-transmuter/ChainlinkEACAggregatorProxy.json +509 -0
  105. package/src/abi/angle-transmuter/MorphoOracle.json +193 -0
  106. package/src/abi/angle-transmuter/MorphoVault.json +2506 -0
  107. package/src/abi/angle-transmuter/Pyth.json +1534 -0
  108. package/src/abi/angle-transmuter/Transmuter.json +1711 -0
  109. package/src/abi/angle-transmuter/TransmuterSidechain.json +1798 -0
  110. package/src/dex/angle-transmuter/angle-transmuter-e2e.test.ts +156 -0
  111. package/src/dex/angle-transmuter/angle-transmuter-events.test.ts +365 -0
  112. package/src/dex/angle-transmuter/angle-transmuter-integration.test.ts +390 -0
  113. package/src/dex/angle-transmuter/angle-transmuter-pool.ts +895 -0
  114. package/src/dex/angle-transmuter/angle-transmuter.ts +408 -0
  115. package/src/dex/angle-transmuter/backedOracle.ts +91 -0
  116. package/src/dex/angle-transmuter/config.ts +50 -0
  117. package/src/dex/angle-transmuter/constants.ts +138 -0
  118. package/src/dex/angle-transmuter/morphoOracle.ts +335 -0
  119. package/src/dex/angle-transmuter/morphoVault.ts +134 -0
  120. package/src/dex/angle-transmuter/pyth.ts +105 -0
  121. package/src/dex/angle-transmuter/redstone.ts +105 -0
  122. package/src/dex/angle-transmuter/transmuter.ts +619 -0
  123. package/src/dex/angle-transmuter/types.ts +203 -0
  124. package/src/dex/angle-transmuter/utils.ts +358 -0
  125. package/src/dex/index.ts +2 -0
  126. package/src/lib/chainlink.ts +15 -0
  127. package/tests/constants-e2e.ts +48 -3
  128. package/build/abi/Uncompressor.json +0 -250
  129. package/build/dex/bProtocol.d.ts +0 -18
  130. package/build/dex/bProtocol.js +0 -39
  131. package/build/dex/bProtocol.js.map +0 -1
  132. package/build/dex/bancor.d.ts +0 -26
  133. package/build/dex/bancor.js +0 -58
  134. package/build/dex/bancor.js.map +0 -1
  135. package/build/dex/compound.d.ts +0 -18
  136. package/build/dex/compound.js +0 -46
  137. package/build/dex/compound.js.map +0 -1
  138. package/build/dex/curve-v2.d.ts +0 -58
  139. package/build/dex/curve-v2.js +0 -180
  140. package/build/dex/curve-v2.js.map +0 -1
  141. package/build/dex/dodo-v1.d.ts +0 -33
  142. package/build/dex/dodo-v1.js +0 -63
  143. package/build/dex/dodo-v1.js.map +0 -1
  144. package/build/dex/etherfi/etherfi.d.ts +0 -26
  145. package/build/dex/etherfi/etherfi.js +0 -96
  146. package/build/dex/etherfi/etherfi.js.map +0 -1
  147. package/build/dex/lido.d.ts +0 -19
  148. package/build/dex/lido.js +0 -42
  149. package/build/dex/lido.js.map +0 -1
  150. package/build/dex/onebit.d.ts +0 -25
  151. package/build/dex/onebit.js +0 -42
  152. package/build/dex/onebit.js.map +0 -1
  153. package/build/dex/sdai/config.d.ts +0 -11
  154. package/build/dex/sdai/config.js +0 -21
  155. package/build/dex/sdai/config.js.map +0 -1
  156. package/build/dex/sdai/constants.d.ts +0 -2
  157. package/build/dex/sdai/constants.js +0 -6
  158. package/build/dex/sdai/constants.js.map +0 -1
  159. package/build/dex/sdai/scripts/validate-state.d.ts +0 -1
  160. package/build/dex/sdai/scripts/validate-state.js +0 -102
  161. package/build/dex/sdai/scripts/validate-state.js.map +0 -1
  162. package/build/dex/sdai/sdai-pool.d.ts +0 -16
  163. package/build/dex/sdai/sdai-pool.js +0 -85
  164. package/build/dex/sdai/sdai-pool.js.map +0 -1
  165. package/build/dex/sdai/sdai.d.ts +0 -51
  166. package/build/dex/sdai/sdai.js +0 -172
  167. package/build/dex/sdai/sdai.js.map +0 -1
  168. package/build/dex/sdai/types.d.ts +0 -21
  169. package/build/dex/sdai/types.js +0 -11
  170. package/build/dex/sdai/types.js.map +0 -1
  171. package/build/dex/sdai/utils.d.ts +0 -4
  172. package/build/dex/sdai/utils.js +0 -39
  173. package/build/dex/sdai/utils.js.map +0 -1
  174. package/build/dex/smoothy.d.ts +0 -26
  175. package/build/dex/smoothy.js +0 -48
  176. package/build/dex/smoothy.js.map +0 -1
  177. package/build/dex/stable-pool.d.ts +0 -28
  178. package/build/dex/stable-pool.js +0 -62
  179. package/build/dex/stable-pool.js.map +0 -1
  180. package/build/dex/trader-joe-v2.1.d.ts +0 -43
  181. package/build/dex/trader-joe-v2.1.js +0 -79
  182. package/build/dex/trader-joe-v2.1.js.map +0 -1
  183. package/build/executor/compressor/Compressor.d.ts +0 -23
  184. package/build/executor/compressor/Compressor.js +0 -144
  185. package/build/executor/compressor/Compressor.js.map +0 -1
  186. package/build/executor/compressor/compress.d.ts +0 -17
  187. package/build/executor/compressor/compress.js +0 -187
  188. package/build/executor/compressor/compress.js.map +0 -1
  189. package/build/executor/compressor/compress_functions/addressSubstitution.d.ts +0 -6
  190. package/build/executor/compressor/compress_functions/addressSubstitution.js +0 -29
  191. package/build/executor/compressor/compress_functions/addressSubstitution.js.map +0 -1
  192. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.d.ts +0 -10
  193. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js +0 -40
  194. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js.map +0 -1
  195. package/build/executor/compressor/compress_functions/byteSubstitution.d.ts +0 -11
  196. package/build/executor/compressor/compress_functions/byteSubstitution.js +0 -64
  197. package/build/executor/compressor/compress_functions/byteSubstitution.js.map +0 -1
  198. package/build/executor/compressor/compress_functions/ffSubstitution.d.ts +0 -7
  199. package/build/executor/compressor/compress_functions/ffSubstitution.js +0 -54
  200. package/build/executor/compressor/compress_functions/ffSubstitution.js.map +0 -1
  201. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.d.ts +0 -8
  202. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js +0 -67
  203. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js.map +0 -1
  204. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.d.ts +0 -8
  205. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js +0 -61
  206. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js.map +0 -1
  207. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.d.ts +0 -6
  208. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js +0 -37
  209. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js.map +0 -1
  210. package/build/executor/compressor/compress_functions/searchUnusedBytes.d.ts +0 -9
  211. package/build/executor/compressor/compress_functions/searchUnusedBytes.js +0 -33
  212. package/build/executor/compressor/compress_functions/searchUnusedBytes.js.map +0 -1
  213. package/build/executor/compressor/fetchSaved.d.ts +0 -0
  214. package/build/executor/compressor/fetchSaved.js +0 -17
  215. package/build/executor/compressor/fetchSaved.js.map +0 -1
  216. package/build/executor/compressor/utils/computeCostL2.d.ts +0 -2
  217. package/build/executor/compressor/utils/computeCostL2.js +0 -14
  218. package/build/executor/compressor/utils/computeCostL2.js.map +0 -1
  219. package/build/executor/compressor/utils/findLongestDuplicatedString.d.ts +0 -2
  220. package/build/executor/compressor/utils/findLongestDuplicatedString.js +0 -30
  221. package/build/executor/compressor/utils/findLongestDuplicatedString.js.map +0 -1
  222. package/build/executor/compressor/utils/getAllIndexes.d.ts +0 -2
  223. package/build/executor/compressor/utils/getAllIndexes.js +0 -12
  224. package/build/executor/compressor/utils/getAllIndexes.js.map +0 -1
  225. package/build/executor/compressor/utils/getByteForAddress.d.ts +0 -2
  226. package/build/executor/compressor/utils/getByteForAddress.js +0 -14
  227. package/build/executor/compressor/utils/getByteForAddress.js.map +0 -1
  228. package/build/executor/compressor/utils/intTo2Bytes.d.ts +0 -2
  229. package/build/executor/compressor/utils/intTo2Bytes.js +0 -14
  230. package/build/executor/compressor/utils/intTo2Bytes.js.map +0 -1
  231. package/build/executor/compressor/utils/intTo3Bytes.d.ts +0 -2
  232. package/build/executor/compressor/utils/intTo3Bytes.js +0 -18
  233. package/build/executor/compressor/utils/intTo3Bytes.js.map +0 -1
  234. package/build/executor/compressor/utils/intToByte.d.ts +0 -2
  235. package/build/executor/compressor/utils/intToByte.js +0 -10
  236. 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
+ }