@paraswap/dex-lib 2.49.2 → 2.50.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.
Files changed (151) hide show
  1. package/build/abi/algebra/AlgebraPool.abi.json +727 -0
  2. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  3. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +193 -0
  4. package/build/dex/algebra/algebra-pool-v1_1.d.ts +3 -2
  5. package/build/dex/algebra/algebra-pool-v1_1.js +3 -2
  6. package/build/dex/algebra/algebra-pool-v1_1.js.map +1 -1
  7. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.d.ts +16 -0
  8. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.js +26 -0
  9. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.js.map +1 -0
  10. package/build/dex/algebra/algebra-pool-v1_9_directional_fee.d.ts +54 -0
  11. package/build/dex/algebra/algebra-pool-v1_9_directional_fee.js +356 -0
  12. package/build/dex/algebra/algebra-pool-v1_9_directional_fee.js.map +1 -0
  13. package/build/dex/algebra/algebra-pool.d.ts +46 -0
  14. package/build/dex/algebra/algebra-pool.js +336 -0
  15. package/build/dex/algebra/algebra-pool.js.map +1 -0
  16. package/build/dex/algebra/algebra.d.ts +2 -1
  17. package/build/dex/algebra/algebra.js +6 -1
  18. package/build/dex/algebra/algebra.js.map +1 -1
  19. package/build/dex/algebra/config.js +16 -0
  20. package/build/dex/algebra/config.js.map +1 -1
  21. package/build/dex/algebra/types.d.ts +1 -1
  22. package/build/dex/quickswap/camelot-v3.d.ts +6 -0
  23. package/build/dex/quickswap/camelot-v3.js +19 -0
  24. package/build/dex/quickswap/camelot-v3.js.map +1 -0
  25. package/build/dex/quickswap/zyberswap-v3.d.ts +6 -0
  26. package/build/dex/quickswap/zyberswap-v3.js +19 -0
  27. package/build/dex/quickswap/zyberswap-v3.js.map +1 -0
  28. package/build/dex/uniswap-v2/rebase-tokens.json +7 -0
  29. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  30. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +64 -0
  31. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  32. package/package.json +1 -1
  33. package/src/dex/algebra/algebra-e2e.test.ts +22 -0
  34. package/src/dex/algebra/algebra-pool-v1_1.ts +3 -2
  35. package/src/dex/algebra/algebra-pool-v1_9_bidirectional_fee.ts +55 -0
  36. package/src/dex/algebra/algebra.ts +12 -3
  37. package/src/dex/algebra/config.ts +18 -0
  38. package/src/dex/algebra/types.ts +1 -1
  39. package/build/abi/Redstone.json +0 -739
  40. package/build/abi/angle/stagToken.json +0 -963
  41. package/build/abi/angle-transmuter/MorphoOracle.json +0 -193
  42. package/build/abi/angle-transmuter/MorphoVault.json +0 -2506
  43. package/build/abi/angle-transmuter/Pyth.json +0 -1534
  44. package/build/abi/angle-transmuter/Transmuter.json +0 -1711
  45. package/build/abi/pharaoh/PharaohPool.abi.json +0 -1582
  46. package/build/abi/smardex/smardex-factory.json +0 -185
  47. package/build/abi/smardex/smardex-pool.json +0 -578
  48. package/build/abi/smardex/smardex-router.json +0 -648
  49. package/build/abi/trader-joe-v2_1/FactoryABI.json +0 -1208
  50. package/build/abi/trader-joe-v2_1/PairABI.json +0 -1493
  51. package/build/abi/trader-joe-v2_1/RouterABI.json +0 -1489
  52. package/build/abi/trader-joe-v2_1/StateMulticall.json +0 -193
  53. package/build/dex/angle-staked-stable/angle-staked-stable-pool.d.ts +0 -55
  54. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js +0 -183
  55. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js.map +0 -1
  56. package/build/dex/angle-staked-stable/angle-staked-stable.d.ts +0 -50
  57. package/build/dex/angle-staked-stable/angle-staked-stable.js +0 -280
  58. package/build/dex/angle-staked-stable/angle-staked-stable.js.map +0 -1
  59. package/build/dex/angle-staked-stable/config.d.ts +0 -4
  60. package/build/dex/angle-staked-stable/config.js +0 -46
  61. package/build/dex/angle-staked-stable/config.js.map +0 -1
  62. package/build/dex/angle-staked-stable/types.d.ts +0 -17
  63. package/build/dex/angle-staked-stable/types.js +0 -3
  64. package/build/dex/angle-staked-stable/types.js.map +0 -1
  65. package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +0 -61
  66. package/build/dex/angle-transmuter/angle-transmuter-pool.js +0 -415
  67. package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +0 -1
  68. package/build/dex/angle-transmuter/angle-transmuter.d.ts +0 -59
  69. package/build/dex/angle-transmuter/angle-transmuter.js +0 -262
  70. package/build/dex/angle-transmuter/angle-transmuter.js.map +0 -1
  71. package/build/dex/angle-transmuter/backedOracle.d.ts +0 -19
  72. package/build/dex/angle-transmuter/backedOracle.js +0 -56
  73. package/build/dex/angle-transmuter/backedOracle.js.map +0 -1
  74. package/build/dex/angle-transmuter/config.d.ts +0 -4
  75. package/build/dex/angle-transmuter/config.js +0 -30
  76. package/build/dex/angle-transmuter/config.js.map +0 -1
  77. package/build/dex/angle-transmuter/constants.d.ts +0 -77
  78. package/build/dex/angle-transmuter/constants.js +0 -94
  79. package/build/dex/angle-transmuter/constants.js.map +0 -1
  80. package/build/dex/angle-transmuter/morphoOracle.d.ts +0 -42
  81. package/build/dex/angle-transmuter/morphoOracle.js +0 -179
  82. package/build/dex/angle-transmuter/morphoOracle.js.map +0 -1
  83. package/build/dex/angle-transmuter/morphoVault.d.ts +0 -19
  84. package/build/dex/angle-transmuter/morphoVault.js +0 -78
  85. package/build/dex/angle-transmuter/morphoVault.js.map +0 -1
  86. package/build/dex/angle-transmuter/pyth.d.ts +0 -19
  87. package/build/dex/angle-transmuter/pyth.js +0 -70
  88. package/build/dex/angle-transmuter/pyth.js.map +0 -1
  89. package/build/dex/angle-transmuter/redstone.d.ts +0 -20
  90. package/build/dex/angle-transmuter/redstone.js +0 -73
  91. package/build/dex/angle-transmuter/redstone.js.map +0 -1
  92. package/build/dex/angle-transmuter/transmuter.d.ts +0 -52
  93. package/build/dex/angle-transmuter/transmuter.js +0 -374
  94. package/build/dex/angle-transmuter/transmuter.js.map +0 -1
  95. package/build/dex/angle-transmuter/types.d.ts +0 -188
  96. package/build/dex/angle-transmuter/types.js +0 -33
  97. package/build/dex/angle-transmuter/types.js.map +0 -1
  98. package/build/dex/angle-transmuter/utils.d.ts +0 -9
  99. package/build/dex/angle-transmuter/utils.js +0 -252
  100. package/build/dex/angle-transmuter/utils.js.map +0 -1
  101. package/build/dex/smardex/subgraph-queries.d.ts +0 -1
  102. package/build/dex/smardex/subgraph-queries.js +0 -17
  103. package/build/dex/smardex/subgraph-queries.js.map +0 -1
  104. package/build/dex/smardex/usd-reserves.d.ts +0 -23
  105. package/build/dex/smardex/usd-reserves.js +0 -86
  106. package/build/dex/smardex/usd-reserves.js.map +0 -1
  107. package/build/dex/trader-joe-v2-1-2/config.d.ts +0 -4
  108. package/build/dex/trader-joe-v2-1-2/config.js +0 -47
  109. package/build/dex/trader-joe-v2-1-2/config.js.map +0 -1
  110. package/build/dex/trader-joe-v2-1-2/constants.d.ts +0 -20
  111. package/build/dex/trader-joe-v2-1-2/constants.js +0 -22
  112. package/build/dex/trader-joe-v2-1-2/constants.js.map +0 -1
  113. package/build/dex/trader-joe-v2-1-2/math/index.d.ts +0 -37
  114. package/build/dex/trader-joe-v2-1-2/math/index.js +0 -291
  115. package/build/dex/trader-joe-v2-1-2/math/index.js.map +0 -1
  116. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.d.ts +0 -60
  117. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js +0 -248
  118. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js.map +0 -1
  119. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.d.ts +0 -53
  120. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js +0 -307
  121. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js.map +0 -1
  122. package/build/dex/trader-joe-v2-1-2/types.d.ts +0 -82
  123. package/build/dex/trader-joe-v2-1-2/types.js +0 -9
  124. package/build/dex/trader-joe-v2-1-2/types.js.map +0 -1
  125. package/build/dex/trader-joe-v2_1/config.d.ts +0 -4
  126. package/build/dex/trader-joe-v2_1/config.js +0 -47
  127. package/build/dex/trader-joe-v2_1/config.js.map +0 -1
  128. package/build/dex/trader-joe-v2_1/constants.d.ts +0 -20
  129. package/build/dex/trader-joe-v2_1/constants.js +0 -22
  130. package/build/dex/trader-joe-v2_1/constants.js.map +0 -1
  131. package/build/dex/trader-joe-v2_1/math/index.d.ts +0 -37
  132. package/build/dex/trader-joe-v2_1/math/index.js +0 -291
  133. package/build/dex/trader-joe-v2_1/math/index.js.map +0 -1
  134. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.d.ts +0 -0
  135. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js +0 -384
  136. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js.map +0 -1
  137. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.d.ts +0 -60
  138. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js +0 -247
  139. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js.map +0 -1
  140. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.d.ts +0 -53
  141. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js +0 -307
  142. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js.map +0 -1
  143. package/build/dex/trader-joe-v2_1/types.d.ts +0 -82
  144. package/build/dex/trader-joe-v2_1/types.js +0 -9
  145. package/build/dex/trader-joe-v2_1/types.js.map +0 -1
  146. package/build/dex/wombat/wombat-pool-poller.d.ts +0 -22
  147. package/build/dex/wombat/wombat-pool-poller.js +0 -164
  148. package/build/dex/wombat/wombat-pool-poller.js.map +0 -1
  149. package/build/dex-helper/RedisBatcher.d.ts +0 -20
  150. package/build/dex-helper/RedisBatcher.js +0 -75
  151. package/build/dex-helper/RedisBatcher.js.map +0 -1
@@ -1,262 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.AngleTransmuter = void 0;
30
- const constants_1 = require("../../constants");
31
- const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
32
- const utils_1 = require("../../utils");
33
- const simple_exchange_1 = require("../simple-exchange");
34
- const config_1 = require("./config");
35
- const angle_transmuter_pool_1 = require("./angle-transmuter-pool");
36
- const utils_2 = require("ethers/lib/utils");
37
- const transmuter_1 = require("./transmuter");
38
- const erc20_json_1 = __importDefault(require("../../abi/erc20.json"));
39
- const TransmuterGasCost = 0;
40
- class AngleTransmuter extends simple_exchange_1.SimpleExchange {
41
- constructor(network, dexKey, dexHelper, adapters = config_1.Adapters[network] || {}, params = config_1.AngleTransmuterConfig[dexKey][network]) {
42
- super(dexHelper, dexKey);
43
- this.network = network;
44
- this.dexKey = dexKey;
45
- this.dexHelper = dexHelper;
46
- this.adapters = adapters;
47
- this.params = params;
48
- this.eventPools = {};
49
- this.supportedTokensMap = {};
50
- this.supportedTokens = {};
51
- this.transmuterUSDLiquidity = {};
52
- this.hasConstantPriceLargeAmounts = false;
53
- this.needWrapNative = true;
54
- this.isFeeOnTransferSupported = false;
55
- this.logger = dexHelper.getLogger(dexKey);
56
- this.stablecoinList = Object.keys(params);
57
- this.stablecoinList.forEach(stablecoin => {
58
- this.supportedTokensMap[stablecoin] = {};
59
- this.supportedTokens[stablecoin] = [];
60
- this.transmuterUSDLiquidity[stablecoin] = 0;
61
- });
62
- this.stablecoinList.forEach(stablecoin => {
63
- this.supportedTokensMap[stablecoin][params[stablecoin].stablecoin.address.toLowerCase()] = true;
64
- });
65
- }
66
- // Initialize pricing is called once in the start of
67
- // pricing service. It is intended to setup the integration
68
- // for pricing requests. It is optional for a DEX to
69
- // implement this function
70
- async initializePricing(blockNumber) {
71
- for (const stablecoin of this.stablecoinList) {
72
- const config = await angle_transmuter_pool_1.AngleTransmuterEventPool.getConfig(this.params[stablecoin], blockNumber, this.dexHelper.multiContract);
73
- config.collaterals.forEach((token) => (this.supportedTokensMap[stablecoin][token.toLowerCase()] = true));
74
- this.eventPools[stablecoin] = new angle_transmuter_pool_1.AngleTransmuterEventPool(this.dexKey, this.network, this.dexHelper, this.logger, config);
75
- await this.eventPools[stablecoin].initialize(blockNumber);
76
- }
77
- }
78
- // Returns the list of contract adapters (name and index)
79
- // for a buy/sell. Return null if there are no adapters.
80
- getAdapters(side) {
81
- return this.adapters[side] ? this.adapters[side] : null;
82
- }
83
- // Returns list of pool identifiers that can be used
84
- // for a given swap. poolIdentifiers must be unique
85
- // across DEXes. It is recommended to use
86
- // ${dexKey}_${poolAddress} as a poolIdentifier
87
- async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
88
- const knownInfo = this._knownAddress(srcToken, destToken);
89
- if (!knownInfo.known)
90
- return [];
91
- return [`${this.dexKey}_${knownInfo.agToken.toLowerCase()}`];
92
- }
93
- // Returns pool prices for amounts.
94
- // If limitPools is defined only pools in limitPools
95
- // should be used. If limitPools is undefined then
96
- // any pools can be used.
97
- async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
98
- const knownInfo = this._knownAddress(srcToken, destToken);
99
- const pool = `${this.dexKey}_${knownInfo.agToken.toLowerCase()}`;
100
- if (!knownInfo.known ||
101
- (limitPools && limitPools.length > 0 && !limitPools.includes(pool)))
102
- return null;
103
- const fiat = knownInfo.fiatName;
104
- const preProcessDecimals = side === constants_1.SwapSide.SELL ? srcToken.decimals : destToken.decimals;
105
- const postProcessDecimals = side === constants_1.SwapSide.SELL ? destToken.decimals : srcToken.decimals;
106
- const unitVolume = 1;
107
- const amountsFloat = amounts.map(amount => Number.parseFloat((0, utils_2.formatUnits)(amount.toString(), preProcessDecimals)));
108
- const prices = await this.eventPools[fiat].getAmountOut(srcToken.address, destToken.address, side, [unitVolume, ...amountsFloat], blockNumber);
109
- if (!prices)
110
- return null;
111
- const pricesBigInt = prices.map(price => BigInt((0, utils_2.parseUnits)(price.toFixed(postProcessDecimals).toString(), postProcessDecimals).toString()));
112
- return [
113
- {
114
- prices: pricesBigInt.slice(1),
115
- unit: pricesBigInt[0],
116
- gasCost: TransmuterGasCost,
117
- exchange: this.dexKey,
118
- data: { exchange: this.params[fiat].transmuter },
119
- poolAddresses: [this.params[fiat].transmuter],
120
- },
121
- ];
122
- }
123
- // Returns estimated gas cost of calldata for this DEX in multiSwap
124
- getCalldataGasCost(poolPrices) {
125
- return CALLDATA_GAS_COST.DEX_NO_PAYLOAD;
126
- }
127
- // Encode params required by the exchange adapter
128
- // Used for multiSwap, buy & megaSwap
129
- // Hint: abiCoder.encodeParameter() could be useful
130
- getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
131
- const { exchange } = data;
132
- // Encode here the payload for adapter
133
- const payload = '';
134
- return {
135
- targetExchange: exchange,
136
- payload,
137
- networkFee: '0',
138
- };
139
- }
140
- // Encode call data used by simpleSwap like routers
141
- // Used for simpleSwap & simpleBuy
142
- // Hint: this.buildSimpleParamWithoutWETHConversion
143
- // could be useful
144
- async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
145
- const { exchange } = data;
146
- // Encode here the transaction arguments
147
- const swapData = transmuter_1.TransmuterSubscriber.interface.encodeFunctionData(side === constants_1.SwapSide.SELL ? 'swapExactInput' : 'swapExactOutput', [
148
- side === constants_1.SwapSide.SELL ? srcAmount : destAmount,
149
- side === constants_1.SwapSide.SELL ? destAmount : srcAmount,
150
- srcToken,
151
- destToken,
152
- this.augustusAddress,
153
- 0, // TODO no deadline?
154
- ]);
155
- return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, exchange);
156
- }
157
- // This is called once before getTopPoolsForToken is
158
- // called for multiple tokens. This can be helpful to
159
- // update common state required for calculating
160
- // getTopPoolsForToken. It is optional for a DEX
161
- // to implement this
162
- async updatePoolState() {
163
- for (const stablecoin of this.stablecoinList) {
164
- const fiat = stablecoin;
165
- const paramFiat = this.params[fiat];
166
- if (!this.supportedTokens.length) {
167
- let tokenAddresses = await angle_transmuter_pool_1.AngleTransmuterEventPool.getCollateralsList(paramFiat.transmuter, 'latest', this.dexHelper.multiContract);
168
- tokenAddresses = tokenAddresses.concat([paramFiat.stablecoin.address]);
169
- const decimalsCallData = AngleTransmuter.erc20Interface.encodeFunctionData('decimals');
170
- const tokenBalanceMultiCall = tokenAddresses.map(t => ({
171
- target: t,
172
- callData: decimalsCallData,
173
- }));
174
- const res = (await this.dexHelper.multiContract.methods
175
- .aggregate(tokenBalanceMultiCall)
176
- .call()).returnData;
177
- const tokenDecimals = res.map((r) => Number.parseInt(AngleTransmuter.erc20Interface
178
- .decodeFunctionResult('decimals', r)[0]
179
- .toString()));
180
- this.supportedTokens[fiat] = tokenAddresses.map((t, i) => ({
181
- address: t,
182
- decimals: tokenDecimals[i],
183
- }));
184
- }
185
- // Only work if there are no managers
186
- const erc20BalanceCalldata = AngleTransmuter.erc20Interface.encodeFunctionData('balanceOf', [
187
- paramFiat.transmuter,
188
- ]);
189
- const tokenBalanceMultiCall = this.supportedTokens[fiat].map(t => ({
190
- target: t.address,
191
- callData: erc20BalanceCalldata,
192
- }));
193
- const res = (await this.dexHelper.multiContract.methods
194
- .aggregate(tokenBalanceMultiCall)
195
- .call()).returnData;
196
- const tokenBalances = res.map((r) => BigInt(AngleTransmuter.erc20Interface
197
- .decodeFunctionResult('balanceOf', r)[0]
198
- .toString()));
199
- // TODO bC3M price not detected
200
- const tokenBalancesUSD = await Promise.all(this.supportedTokens[fiat].map((t, i) => this.dexHelper.getTokenUSDPrice(t, tokenBalances[i])));
201
- this.transmuterUSDLiquidity[fiat] = tokenBalancesUSD.reduce((sum, curr) => sum + curr);
202
- }
203
- }
204
- // Returns list of top pools based on liquidity. Max
205
- // limit number pools should be returned.
206
- async getTopPoolsForToken(tokenAddress, limit) {
207
- for (const stablecoin of this.stablecoinList) {
208
- const fiat = stablecoin;
209
- const paramFiat = this.params[fiat];
210
- // If not this stable let's check another one
211
- if (!this.supportedTokens[fiat].some(t => t.address.toLowerCase() === tokenAddress.toLowerCase()))
212
- continue;
213
- const connectorTokens = tokenAddress === paramFiat.stablecoin.address
214
- ? this.supportedTokens[fiat].filter(token => token.address.toLowerCase() !==
215
- paramFiat.stablecoin.address.toLowerCase())
216
- : [paramFiat.stablecoin];
217
- return [
218
- {
219
- exchange: this.dexKey,
220
- address: paramFiat.transmuter,
221
- connectorTokens: connectorTokens.slice(0, limit),
222
- // liquidity is potentially infinite if swapping for agXXX, otherwise at most reserves value
223
- liquidityUSD: tokenAddress === paramFiat.stablecoin.address
224
- ? this.transmuterUSDLiquidity[fiat]
225
- : 1e9,
226
- },
227
- ];
228
- }
229
- return [];
230
- }
231
- // This is optional function in case if your implementation has acquired any resources
232
- // you need to release for graceful shutdown. For example, it may be any interval timer
233
- releaseResources() { }
234
- _knownAddress(srcToken, destToken) {
235
- const srcAddress = this.dexHelper.config
236
- .wrapETH(srcToken)
237
- .address.toLowerCase();
238
- const destAddress = this.dexHelper.config
239
- .wrapETH(destToken)
240
- .address.toLowerCase();
241
- for (const stablecoin of this.stablecoinList) {
242
- const fiat = stablecoin;
243
- if (srcAddress !== destAddress &&
244
- this.supportedTokensMap[stablecoin][srcAddress] &&
245
- this.supportedTokensMap[stablecoin][destAddress] &&
246
- // check that at least one of the tokens is EURA
247
- (srcAddress === this.params[fiat].stablecoin.address.toLowerCase() ||
248
- destAddress === this.params[fiat].stablecoin.address.toLowerCase())) {
249
- return {
250
- known: true,
251
- agToken: this.params[fiat].stablecoin.address.toLowerCase(),
252
- fiatName: stablecoin,
253
- };
254
- }
255
- }
256
- return { known: false, agToken: null, fiatName: null };
257
- }
258
- }
259
- exports.AngleTransmuter = AngleTransmuter;
260
- AngleTransmuter.erc20Interface = new utils_2.Interface(erc20_json_1.default);
261
- AngleTransmuter.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.AngleTransmuterConfig);
262
- //# sourceMappingURL=angle-transmuter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"angle-transmuter.js","sourceRoot":"","sources":["../../../src/dex/angle-transmuter/angle-transmuter.ts"],"names":[],"mappings":"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"}
@@ -1,19 +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 { ChainLinkState } from '../../lib/chainlink';
7
- export declare class BackedSubscriber<State> extends PartialEventSubscriber<State, ChainLinkState> {
8
- private proxy;
9
- private aggregator;
10
- static readonly proxyInterface: Interface;
11
- static readonly ANSWER_UPDATED_TOPIC: string;
12
- constructor(proxy: Address, aggregator: Address, lens: Lens<DeepReadonly<State>, DeepReadonly<ChainLinkState>>, logger: Logger);
13
- static getReadDecimal(proxy: Address): MultiCallInput;
14
- static readDecimals(multicallOutput: MultiCallOutput): Address;
15
- processLog(state: DeepReadonly<ChainLinkState>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): DeepReadonly<ChainLinkState> | null;
16
- getGenerateStateMultiCallInputs(): MultiCallInput[];
17
- generateState(multicallOutputs: MultiCallOutput[], blockNumber?: number | 'latest'): DeepReadonly<ChainLinkState>;
18
- getLatestRoundData(state: DeepReadonly<State>): bigint;
19
- }
@@ -1,56 +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.BackedSubscriber = void 0;
7
- const composed_event_subscriber_1 = require("../../composed-event-subscriber");
8
- const abi_1 = require("@ethersproject/abi");
9
- const chainlink_json_1 = __importDefault(require("../../abi/chainlink.json"));
10
- class BackedSubscriber extends composed_event_subscriber_1.PartialEventSubscriber {
11
- constructor(proxy, aggregator, lens, logger) {
12
- super([aggregator], lens, logger);
13
- this.proxy = proxy;
14
- this.aggregator = aggregator;
15
- }
16
- static getReadDecimal(proxy) {
17
- return {
18
- target: proxy,
19
- callData: BackedSubscriber.proxyInterface.encodeFunctionData('decimals'),
20
- };
21
- }
22
- static readDecimals(multicallOutput) {
23
- return BackedSubscriber.proxyInterface.decodeFunctionResult('decimals', multicallOutput)[0];
24
- }
25
- processLog(state, log, blockHeader) {
26
- if (log.topics[0] !== BackedSubscriber.ANSWER_UPDATED_TOPIC)
27
- return null; // Ignore other events
28
- const decoded = BackedSubscriber.proxyInterface.decodeEventLog('AnswerUpdated', log.data, log.topics);
29
- return {
30
- answer: BigInt(decoded.current.toString()),
31
- timestamp: BigInt(decoded.updatedAt.toString()),
32
- };
33
- }
34
- getGenerateStateMultiCallInputs() {
35
- return [
36
- {
37
- target: this.proxy,
38
- callData: BackedSubscriber.proxyInterface.encodeFunctionData('latestRoundData'),
39
- },
40
- ];
41
- }
42
- generateState(multicallOutputs, blockNumber) {
43
- const decoded = BackedSubscriber.proxyInterface.decodeFunctionResult('latestRoundData', multicallOutputs[0]);
44
- return {
45
- answer: BigInt(decoded.answer.toString()),
46
- timestamp: BigInt(decoded.updatedAt.toString()),
47
- };
48
- }
49
- getLatestRoundData(state) {
50
- return this.lens.get()(state).answer;
51
- }
52
- }
53
- exports.BackedSubscriber = BackedSubscriber;
54
- BackedSubscriber.proxyInterface = new abi_1.Interface(chainlink_json_1.default);
55
- BackedSubscriber.ANSWER_UPDATED_TOPIC = BackedSubscriber.proxyInterface.getEventTopic('AnswerUpdated');
56
- //# sourceMappingURL=backedOracle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backedOracle.js","sourceRoot":"","sources":["../../../src/dex/angle-transmuter/backedOracle.ts"],"names":[],"mappings":";;;;;;AACA,+EAAyE;AAUzE,4CAA+C;AAC/C,8EAAgD;AAGhD,MAAa,gBAAwB,SAAQ,kDAG5C;IAKC,YACU,KAAc,EACd,UAAmB,EAC3B,IAA6D,EAC7D,MAAc;QAEd,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAL1B,UAAK,GAAL,KAAK,CAAS;QACd,eAAU,GAAV,UAAU,CAAS;IAK7B,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,KAAc;QAClC,OAAO;YACL,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,gBAAgB,CAAC,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC;SACzE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,eAAgC;QAClD,OAAO,gBAAgB,CAAC,cAAc,CAAC,oBAAoB,CACzD,UAAU,EACV,eAAe,CAChB,CAAC,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,UAAU,CACf,KAAmC,EACnC,GAAkB,EAClB,WAAkC;QAElC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,oBAAoB;YAAE,OAAO,IAAI,CAAC,CAAC,sBAAsB;QAChG,MAAM,OAAO,GAAG,gBAAgB,CAAC,cAAc,CAAC,cAAc,CAC5D,eAAe,EACf,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,MAAM,CACX,CAAC;QACF,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1C,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;SAChD,CAAC;IACJ,CAAC;IAEM,+BAA+B;QACpC,OAAO;YACL;gBACE,MAAM,EAAE,IAAI,CAAC,KAAK;gBAClB,QAAQ,EACN,gBAAgB,CAAC,cAAc,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;aACxE;SACF,CAAC;IACJ,CAAC;IAEM,aAAa,CAClB,gBAAmC,EACnC,WAA+B;QAE/B,MAAM,OAAO,GAAG,gBAAgB,CAAC,cAAc,CAAC,oBAAoB,CAClE,iBAAiB,EACjB,gBAAgB,CAAC,CAAC,CAAC,CACpB,CAAC;QACF,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;SAChD,CAAC;IACJ,CAAC;IAEM,kBAAkB,CAAC,KAA0B;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACvC,CAAC;;AA1EH,4CA2EC;AAvEiB,+BAAc,GAAG,IAAI,eAAS,CAAC,wBAAQ,CAAC,CAAC;AACzC,qCAAoB,GAClC,gBAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import { DexParams } from './types';
2
- import { DexConfigMap, AdapterMappings } from '../../types';
3
- export declare const AngleTransmuterConfig: DexConfigMap<DexParams>;
4
- export declare const Adapters: Record<number, AdapterMappings>;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Adapters = exports.AngleTransmuterConfig = void 0;
4
- const constants_1 = require("../../constants");
5
- exports.AngleTransmuterConfig = {
6
- AngleTransmuter: {
7
- [constants_1.Network.MAINNET]: {
8
- EUR: {
9
- stablecoin: {
10
- address: '0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8',
11
- decimals: 18,
12
- },
13
- transmuter: '0x00253582b2a3FE112feEC532221d9708c64cEFAb',
14
- pyth: '0x4305FB66699C3B2702D4d05CF36551390A4c69C6',
15
- },
16
- USD: {
17
- stablecoin: {
18
- address: '0x0000206329b97DB379d5E1Bf586BbDB969C63274',
19
- decimals: 18,
20
- },
21
- transmuter: '0x222222fD79264BBE280b4986F6FEfBC3524d0137',
22
- pyth: '0x4305FB66699C3B2702D4d05CF36551390A4c69C6',
23
- },
24
- },
25
- },
26
- };
27
- exports.Adapters = {
28
- [constants_1.Network.MAINNET]: { [constants_1.SwapSide.SELL]: [{ name: '', index: 0 }] },
29
- };
30
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/angle-transmuter/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,qBAAqB,GAA4B;IAC5D,eAAe,EAAE;QACf,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,GAAG,EAAE;gBACH,UAAU,EAAE;oBACV,OAAO,EAAE,4CAA4C;oBACrD,QAAQ,EAAE,EAAE;iBACb;gBACD,UAAU,EAAE,4CAA4C;gBACxD,IAAI,EAAE,4CAA4C;aACnD;YACD,GAAG,EAAE;gBACH,UAAU,EAAE;oBACV,OAAO,EAAE,4CAA4C;oBACrD,QAAQ,EAAE,EAAE;iBACb;gBACD,UAAU,EAAE,4CAA4C;gBACxD,IAAI,EAAE,4CAA4C;aACnD;SACF;KACF;CACF,CAAC;AAEW,QAAA,QAAQ,GAAoC;IACvD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;CACjE,CAAC"}
@@ -1,77 +0,0 @@
1
- export declare const CBETH = "0xBe9895146f7AF43049ca1c1AE358B0541Ea49704";
2
- export declare const RETH = "0xae78736Cd615f374D3085123A210448E74Fc6393";
3
- export declare const STETH = "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84";
4
- export declare const SFRXETH = "0xac3E018457B222d93114458476f3E3416Abbe38F";
5
- export declare const BLOCK_UPGRADE_ORACLE = 19567142;
6
- export declare const configEUR: {
7
- stablecoin: {
8
- address: string;
9
- decimals: number;
10
- };
11
- transmuter: string;
12
- collaterals: string[];
13
- oracles: {
14
- chainlink: {};
15
- backed: {
16
- '0x83Ec02059F686E747392A22ddfED7833bA0d7cE3': {
17
- proxy: string;
18
- aggregator: string;
19
- decimals: number;
20
- };
21
- '0x475855DAe09af1e3f2d380d766b9E630926ad3CE': {
22
- proxy: string;
23
- aggregator: string;
24
- decimals: number;
25
- };
26
- };
27
- redstone: {
28
- '0x6E27A25999B3C665E44D903B2139F5a4Be2B6C26': {
29
- proxy: string;
30
- aggregator: string;
31
- decimals: number;
32
- };
33
- };
34
- morpho: {};
35
- pyth: {
36
- proxy: string;
37
- ids: string[];
38
- };
39
- };
40
- };
41
- export declare const configUSD: {
42
- stablecoin: {
43
- address: string;
44
- decimals: number;
45
- };
46
- transmuter: string;
47
- collaterals: string[];
48
- oracles: {
49
- chainlink: {
50
- '0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6': {
51
- proxy: string;
52
- aggregator: string;
53
- decimals: number;
54
- };
55
- '0x32d1463EB53b73C095625719Afa544D5426354cB': {
56
- proxy: string;
57
- aggregator: string;
58
- decimals: number;
59
- };
60
- };
61
- redstone: {};
62
- morpho: {
63
- '0x025106374196586E8BC91eE8818dD7B0Efd2B78B': {
64
- baseVault: string;
65
- baseVaultConversion: bigint;
66
- quoteVault: string;
67
- quoteVaultConversion: bigint;
68
- baseFeed1: string;
69
- baseFeed2: string;
70
- quoteFeed1: string;
71
- quoteFeed2: string;
72
- scaleFactor: bigint;
73
- };
74
- };
75
- pyth: {};
76
- };
77
- };
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configUSD = exports.configEUR = exports.BLOCK_UPGRADE_ORACLE = exports.SFRXETH = exports.STETH = exports.RETH = exports.CBETH = void 0;
4
- const ethers_1 = require("ethers");
5
- const utils_1 = require("../../utils");
6
- exports.CBETH = '0xBe9895146f7AF43049ca1c1AE358B0541Ea49704';
7
- exports.RETH = '0xae78736Cd615f374D3085123A210448E74Fc6393';
8
- exports.STETH = '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84';
9
- exports.SFRXETH = '0xac3E018457B222d93114458476f3E3416Abbe38F';
10
- exports.BLOCK_UPGRADE_ORACLE = 19567142;
11
- exports.configEUR = {
12
- stablecoin: {
13
- address: '0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8',
14
- decimals: 18,
15
- },
16
- transmuter: '0x00253582b2a3FE112feEC532221d9708c64cEFAb',
17
- collaterals: [
18
- '0x3f95AA88dDbB7D9D484aa3D482bf0a80009c52c9',
19
- '0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c',
20
- '0x2F123cF3F37CE3328CC9B5b8415f9EC5109b45e7',
21
- ],
22
- oracles: {
23
- chainlink: {},
24
- backed: {
25
- '0x83Ec02059F686E747392A22ddfED7833bA0d7cE3': {
26
- proxy: '0x83Ec02059F686E747392A22ddfED7833bA0d7cE3',
27
- aggregator: '0x83Ec02059F686E747392A22ddfED7833bA0d7cE3',
28
- decimals: 8,
29
- },
30
- '0x475855DAe09af1e3f2d380d766b9E630926ad3CE': {
31
- proxy: '0x475855DAe09af1e3f2d380d766b9E630926ad3CE',
32
- aggregator: '0x475855DAe09af1e3f2d380d766b9E630926ad3CE',
33
- decimals: 8,
34
- },
35
- },
36
- redstone: {
37
- '0x6E27A25999B3C665E44D903B2139F5a4Be2B6C26': {
38
- proxy: '0x6E27A25999B3C665E44D903B2139F5a4Be2B6C26',
39
- aggregator: '0x5BeEFeFE23aecccC77d164AB8E9Ff74e056588f1',
40
- decimals: 8,
41
- },
42
- },
43
- morpho: {},
44
- pyth: {
45
- proxy: '0x4305FB66699C3B2702D4d05CF36551390A4c69C6',
46
- ids: [
47
- '0x76fa85158bf14ede77087fe3ae472f66213f6ea2f5b411cb2de472794990fa5c',
48
- '0xa995d00bb36a63cef7fd2c287dc105fc8f3d93779f062f09551b0af3e81ec30b',
49
- ],
50
- },
51
- },
52
- };
53
- exports.configUSD = {
54
- stablecoin: {
55
- address: '0x0000206329b97DB379d5E1Bf586BbDB969C63274',
56
- decimals: 18,
57
- },
58
- transmuter: '0x222222fD79264BBE280b4986F6FEfBC3524d0137',
59
- collaterals: [
60
- '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
61
- '0xCA30c93B02514f86d5C86a6e375E3A330B435Fb5',
62
- '0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB',
63
- ],
64
- oracles: {
65
- chainlink: {
66
- '0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6': {
67
- proxy: '0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6',
68
- aggregator: '0x789190466E21a8b78b8027866CBBDc151542A26C',
69
- decimals: 8,
70
- },
71
- '0x32d1463EB53b73C095625719Afa544D5426354cB': {
72
- proxy: '0x32d1463EB53b73C095625719Afa544D5426354cB',
73
- aggregator: '0x5EE6Ee50c1cB3E8Da20eE83D57818184387433e8',
74
- decimals: 8,
75
- },
76
- },
77
- redstone: {},
78
- morpho: {
79
- '0x025106374196586E8BC91eE8818dD7B0Efd2B78B': {
80
- baseVault: '0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB',
81
- baseVaultConversion: (0, utils_1.bigIntify)('1000000000000000000'),
82
- quoteVault: ethers_1.ethers.constants.AddressZero,
83
- quoteVaultConversion: (0, utils_1.bigIntify)('1'),
84
- baseFeed1: '0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6',
85
- baseFeed2: ethers_1.ethers.constants.AddressZero,
86
- quoteFeed1: ethers_1.ethers.constants.AddressZero,
87
- quoteFeed2: ethers_1.ethers.constants.AddressZero,
88
- scaleFactor: (0, utils_1.bigIntify)('1000000000000000000'),
89
- },
90
- },
91
- pyth: {},
92
- },
93
- };
94
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/angle-transmuter/constants.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,uCAAwC;AAE3B,QAAA,KAAK,GAAG,4CAA4C,CAAC;AACrD,QAAA,IAAI,GAAG,4CAA4C,CAAC;AACpD,QAAA,KAAK,GAAG,4CAA4C,CAAC;AACrD,QAAA,OAAO,GAAG,4CAA4C,CAAC;AACvD,QAAA,oBAAoB,GAAG,QAAQ,CAAC;AAEhC,QAAA,SAAS,GAAG;IACvB,UAAU,EAAE;QACV,OAAO,EAAE,4CAA4C;QACrD,QAAQ,EAAE,EAAE;KACb;IACD,UAAU,EAAE,4CAA4C;IACxD,WAAW,EAAE;QACX,4CAA4C;QAC5C,4CAA4C;QAC5C,4CAA4C;KAC7C;IACD,OAAO,EAAE;QACP,SAAS,EAAE,EAAE;QACb,MAAM,EAAE;YACN,4CAA4C,EAAE;gBAC5C,KAAK,EAAE,4CAA4C;gBACnD,UAAU,EAAE,4CAA4C;gBACxD,QAAQ,EAAE,CAAC;aACZ;YACD,4CAA4C,EAAE;gBAC5C,KAAK,EAAE,4CAA4C;gBACnD,UAAU,EAAE,4CAA4C;gBACxD,QAAQ,EAAE,CAAC;aACZ;SACF;QACD,QAAQ,EAAE;YACR,4CAA4C,EAAE;gBAC5C,KAAK,EAAE,4CAA4C;gBACnD,UAAU,EAAE,4CAA4C;gBACxD,QAAQ,EAAE,CAAC;aACZ;SACF;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE;YACJ,KAAK,EAAE,4CAA4C;YACnD,GAAG,EAAE;gBACH,oEAAoE;gBACpE,oEAAoE;aACrE;SACF;KACF;CACF,CAAC;AAEW,QAAA,SAAS,GAAG;IACvB,UAAU,EAAE;QACV,OAAO,EAAE,4CAA4C;QACrD,QAAQ,EAAE,EAAE;KACb;IACD,UAAU,EAAE,4CAA4C;IACxD,WAAW,EAAE;QACX,4CAA4C;QAC5C,4CAA4C;QAC5C,4CAA4C;KAC7C;IACD,OAAO,EAAE;QACP,SAAS,EAAE;YACT,4CAA4C,EAAE;gBAC5C,KAAK,EAAE,4CAA4C;gBACnD,UAAU,EAAE,4CAA4C;gBACxD,QAAQ,EAAE,CAAC;aACZ;YACD,4CAA4C,EAAE;gBAC5C,KAAK,EAAE,4CAA4C;gBACnD,UAAU,EAAE,4CAA4C;gBACxD,QAAQ,EAAE,CAAC;aACZ;SACF;QACD,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE;YACN,4CAA4C,EAAE;gBAC5C,SAAS,EAAE,4CAA4C;gBACvD,mBAAmB,EAAE,IAAA,iBAAS,EAAC,qBAAqB,CAAC;gBACrD,UAAU,EAAE,eAAM,CAAC,SAAS,CAAC,WAAW;gBACxC,oBAAoB,EAAE,IAAA,iBAAS,EAAC,GAAG,CAAC;gBACpC,SAAS,EAAE,4CAA4C;gBACvD,SAAS,EAAE,eAAM,CAAC,SAAS,CAAC,WAAW;gBACvC,UAAU,EAAE,eAAM,CAAC,SAAS,CAAC,WAAW;gBACxC,UAAU,EAAE,eAAM,CAAC,SAAS,CAAC,WAAW;gBACxC,WAAW,EAAE,IAAA,iBAAS,EAAC,qBAAqB,CAAC;aAC9C;SACF;QACD,IAAI,EAAE,EAAE;KACT;CACF,CAAC"}
@@ -1,42 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import type { DeepReadonly } from 'ts-essentials';
3
- import type { BlockHeader, Log, Logger, MultiCallInput, MultiCallOutput } from '../../types';
4
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
5
- import type { IDexHelper } from '../../dex-helper/idex-helper';
6
- import type { MorphoOracleState } from './types';
7
- export declare class MorphoOracleEventPool extends StatefulEventSubscriber<MorphoOracleState> {
8
- readonly parentName: string;
9
- protected network: number;
10
- protected dexHelper: IDexHelper;
11
- morphoOracle: string;
12
- handlers: {
13
- [event: string]: (event: any, state: DeepReadonly<MorphoOracleState>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>) => DeepReadonly<MorphoOracleState> | null;
14
- };
15
- static morphoOracleIface: Interface;
16
- static erc20Iface: Interface;
17
- logDecoder: (log: Log) => any;
18
- addressesSubscribed: string[];
19
- constructor(parentName: string, network: number, dexHelper: IDexHelper, morphoOracle: string, logger: Logger);
20
- /**
21
- * The function is called every time any of the subscribed
22
- * addresses release log. The function accepts the current
23
- * state, updates the state according to the log, and returns
24
- * the updated state.
25
- * @param state - Current state of event subscriber
26
- * @param log - Log released by one of the subscribed addresses
27
- * @returns Updates state of the event subscriber after the log
28
- */
29
- protected processLog(state: DeepReadonly<MorphoOracleState>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): DeepReadonly<MorphoOracleState> | null;
30
- /**
31
- * The function generates state using on-chain calls. This
32
- * function is called to regenerate state if the event based
33
- * system fails to fetch events and the local state is no
34
- * more correct.
35
- * @param blockNumber - Blocknumber for which the state should
36
- * should be generated
37
- * @returns state of the event subscriber at blocknumber
38
- */
39
- generateState(blockNumber: number): Promise<DeepReadonly<MorphoOracleState>>;
40
- static getGenerateInfoMultiCallInput(morphoOracle: string): MultiCallInput[];
41
- static generateInfo(multicallOutputs: MultiCallOutput[]): DeepReadonly<MorphoOracleState>;
42
- }