@paraswap/dex-lib 2.31.3 → 2.31.4-zkevm-revive.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 (60) hide show
  1. package/build/dex/aave-v3/tokens/arbitrum.json +20 -20
  2. package/build/dex/aave-v3/tokens/avalanche.json +44 -20
  3. package/build/dex/aave-v3/tokens/fantom.json +30 -30
  4. package/build/dex/aave-v3/tokens/optimism.json +18 -18
  5. package/build/dex/aave-v3/tokens/polygon.json +60 -42
  6. package/build/dex/algebra/algebra.js +1 -1
  7. package/build/dex/algebra/algebra.js.map +1 -1
  8. package/build/dex/{test-aave-v3 → test-dex}/config.d.ts +1 -1
  9. package/build/dex/{test-aave-v3 → test-dex}/config.js +3 -3
  10. package/build/dex/test-dex/config.js.map +1 -0
  11. package/build/dex/{test-aave-v3/test-aave-v3-pool.d.ts → test-dex/test-dex-pool.d.ts} +3 -3
  12. package/build/dex/{test-aave-v3/test-aave-v3-pool.js → test-dex/test-dex-pool.js} +7 -7
  13. package/build/dex/test-dex/test-dex-pool.js.map +1 -0
  14. package/build/dex/{test-aave-v3/test-aave-v3.d.ts → test-dex/test-dex.d.ts} +8 -8
  15. package/build/dex/{test-aave-v3/test-aave-v3.js → test-dex/test-dex.js} +7 -7
  16. package/build/dex/test-dex/test-dex.js.map +1 -0
  17. package/build/dex/{test-aave-v3 → test-dex}/types.d.ts +1 -1
  18. package/build/dex/{test-aave-v3 → test-dex}/types.js.map +1 -1
  19. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
  20. package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
  21. package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
  22. package/build/stateful-event-subscriber.d.ts +1 -0
  23. package/build/stateful-event-subscriber.js +6 -0
  24. package/build/stateful-event-subscriber.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/dex/algebra/algebra.ts +1 -1
  27. package/src/stateful-event-subscriber.ts +8 -0
  28. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  29. package/.idea/misc.xml +0 -6
  30. package/.idea/modules.xml +0 -8
  31. package/.idea/vcs.xml +0 -6
  32. package/.vscode/launch.json +0 -21
  33. package/build/abi/AugustusRFQRouter.abi.json +0 -1248
  34. package/build/abi/algebra/AlgebraPool.abi.json +0 -727
  35. package/build/dex/aave-v3/tokens/mainnet.json +0 -44
  36. package/build/dex/algebra/algebra-pool.d.ts +0 -41
  37. package/build/dex/algebra/algebra-pool.js +0 -277
  38. package/build/dex/algebra/algebra-pool.js.map +0 -1
  39. package/build/dex/algebra/lib/AlgebraXUniV3.d.ts +0 -5
  40. package/build/dex/algebra/lib/AlgebraXUniV3.js +0 -45
  41. package/build/dex/algebra/lib/AlgebraXUniV3.js.map +0 -1
  42. package/build/dex/algebra/lib/DataStorage.d.ts +0 -24
  43. package/build/dex/algebra/lib/DataStorage.js +0 -397
  44. package/build/dex/algebra/lib/DataStorage.js.map +0 -1
  45. package/build/dex/algebra/lib/DataStorageOperator.d.ts +0 -9
  46. package/build/dex/algebra/lib/DataStorageOperator.js +0 -66
  47. package/build/dex/algebra/lib/DataStorageOperator.js.map +0 -1
  48. package/build/dex/algebra/lib/Sqrt.d.ts +0 -3
  49. package/build/dex/algebra/lib/Sqrt.js +0 -60
  50. package/build/dex/algebra/lib/Sqrt.js.map +0 -1
  51. package/build/dex/balancer-v2/VirtualBoostedPool.d.ts +0 -79
  52. package/build/dex/balancer-v2/VirtualBoostedPool.js +0 -382
  53. package/build/dex/balancer-v2/VirtualBoostedPool.js.map +0 -1
  54. package/build/dex/generic-rfq/constants.d.ts +0 -1
  55. package/build/dex/generic-rfq/constants.js +0 -5
  56. package/build/dex/generic-rfq/constants.js.map +0 -1
  57. package/build/dex/test-aave-v3/config.js.map +0 -1
  58. package/build/dex/test-aave-v3/test-aave-v3-pool.js.map +0 -1
  59. package/build/dex/test-aave-v3/test-aave-v3.js.map +0 -1
  60. /package/build/dex/{test-aave-v3 → test-dex}/types.js +0 -0
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestAaveV3EventPool = void 0;
3
+ exports.TestDexEventPool = void 0;
4
4
  const abi_1 = require("@ethersproject/abi");
5
5
  const utils_1 = require("../../utils");
6
6
  const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
7
- class TestAaveV3EventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
8
- constructor(parentName, network, dexHelper, logger, testAaveV3Iface = new abi_1.Interface('' /* TODO: Import and put here TestAaveV3 ABI */)) {
7
+ class TestDexEventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
8
+ constructor(parentName, network, dexHelper, logger, testDexIface = new abi_1.Interface('' /* TODO: Import and put here TestDex ABI */)) {
9
9
  super(parentName, logger);
10
10
  this.parentName = parentName;
11
11
  this.network = network;
12
12
  this.dexHelper = dexHelper;
13
- this.testAaveV3Iface = testAaveV3Iface;
13
+ this.testDexIface = testDexIface;
14
14
  this.handlers = {};
15
15
  // TODO: make logDecoder decode logs that
16
- this.logDecoder = (log) => this.testAaveV3Iface.parseLog(log);
16
+ this.logDecoder = (log) => this.testDexIface.parseLog(log);
17
17
  this.addressesSubscribed = [
18
18
  /* subscribed addresses */
19
19
  ];
@@ -59,5 +59,5 @@ class TestAaveV3EventPool extends stateful_event_subscriber_1.StatefulEventSubsc
59
59
  return null;
60
60
  }
61
61
  }
62
- exports.TestAaveV3EventPool = TestAaveV3EventPool;
63
- //# sourceMappingURL=test-aave-v3-pool.js.map
62
+ exports.TestDexEventPool = TestDexEventPool;
63
+ //# sourceMappingURL=test-dex-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-dex-pool.js","sourceRoot":"","sources":["../../../src/dex/test-dex/test-dex-pool.ts"],"names":[],"mappings":";;;AAAA,4CAA+C;AAG/C,uCAAiD;AACjD,+EAA0E;AAI1E,MAAa,gBAAiB,SAAQ,mDAAkC;IAWtE,YACY,UAAkB,EAClB,OAAe,EACf,SAAqB,EAC/B,MAAc,EACJ,eAAe,IAAI,eAAS,CACpC,EAAE,CAAC,2CAA2C,CAC/C;QAED,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QARhB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAY;QAErB,iBAAY,GAAZ,YAAY,CAErB;QAjBH,aAAQ,GAIJ,EAAE,CAAC;QAiBL,yCAAyC;QACzC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG;QACzB,0BAA0B;SAC3B,CAAC;QAEF,eAAe;QACf,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;OAQG;IACO,UAAU,CAClB,KAA8B,EAC9B,GAAkB;QAElB,IAAI;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;aACrD;SACF;QAAC,OAAO,CAAC,EAAE;YACV,IAAA,0BAAkB,EAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACpC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,qBAAqB;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,2BAA2B;IAC3B,aAAa,CACX,KAAU,EACV,KAA8B,EAC9B,GAAkB;QAElB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA/ED,4CA+EC"}
@@ -3,15 +3,15 @@ import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, Simpl
3
3
  import { SwapSide, Network } from '../../constants';
4
4
  import { IDex } from '../../dex/idex';
5
5
  import { IDexHelper } from '../../dex-helper/idex-helper';
6
- import { TestAaveV3Data } from './types';
6
+ import { TestDexData } from './types';
7
7
  import { SimpleExchange } from '../simple-exchange';
8
- import { TestAaveV3EventPool } from './test-aave-v3-pool';
9
- export declare class TestAaveV3 extends SimpleExchange implements IDex<TestAaveV3Data> {
8
+ import { TestDexEventPool } from './test-dex-pool';
9
+ export declare class TestDex extends SimpleExchange implements IDex<TestDexData> {
10
10
  readonly network: Network;
11
11
  readonly dexKey: string;
12
12
  readonly dexHelper: IDexHelper;
13
13
  protected adapters: import("../../types").AdapterMappings;
14
- protected eventPools: TestAaveV3EventPool;
14
+ protected eventPools: TestDexEventPool;
15
15
  readonly hasConstantPriceLargeAmounts = false;
16
16
  readonly needWrapNative = true;
17
17
  readonly isFeeOnTransferSupported = false;
@@ -27,10 +27,10 @@ export declare class TestAaveV3 extends SimpleExchange implements IDex<TestAaveV
27
27
  index: number;
28
28
  }[] | null;
29
29
  getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
30
- getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<TestAaveV3Data>>;
31
- getCalldataGasCost(poolPrices: PoolPrices<TestAaveV3Data>): number | number[];
32
- getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: TestAaveV3Data, side: SwapSide): AdapterExchangeParam;
33
- getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: TestAaveV3Data, side: SwapSide): Promise<SimpleExchangeParam>;
30
+ getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<TestDexData>>;
31
+ getCalldataGasCost(poolPrices: PoolPrices<TestDexData>): number | number[];
32
+ getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: TestDexData, side: SwapSide): AdapterExchangeParam;
33
+ getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: TestDexData, side: SwapSide): Promise<SimpleExchangeParam>;
34
34
  updatePoolState(): Promise<void>;
35
35
  getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
36
36
  releaseResources(): AsyncOrSync<void>;
@@ -23,13 +23,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.TestAaveV3 = void 0;
26
+ exports.TestDex = void 0;
27
27
  const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
28
28
  const utils_1 = require("../../utils");
29
29
  const simple_exchange_1 = require("../simple-exchange");
30
30
  const config_1 = require("./config");
31
- const test_aave_v3_pool_1 = require("./test-aave-v3-pool");
32
- class TestAaveV3 extends simple_exchange_1.SimpleExchange {
31
+ const test_dex_pool_1 = require("./test-dex-pool");
32
+ class TestDex extends simple_exchange_1.SimpleExchange {
33
33
  constructor(network, dexKey, dexHelper, adapters = config_1.Adapters[network] || {}) {
34
34
  super(dexHelper, dexKey);
35
35
  this.network = network;
@@ -41,7 +41,7 @@ class TestAaveV3 extends simple_exchange_1.SimpleExchange {
41
41
  this.needWrapNative = true;
42
42
  this.isFeeOnTransferSupported = false;
43
43
  this.logger = dexHelper.getLogger(dexKey);
44
- this.eventPools = new test_aave_v3_pool_1.TestAaveV3EventPool(dexKey, network, dexHelper, this.logger);
44
+ this.eventPools = new test_dex_pool_1.TestDexEventPool(dexKey, network, dexHelper, this.logger);
45
45
  }
46
46
  // Initialize pricing is called once in the start of
47
47
  // pricing service. It is intended to setup the integration
@@ -121,6 +121,6 @@ class TestAaveV3 extends simple_exchange_1.SimpleExchange {
121
121
  // TODO: complete me!
122
122
  }
123
123
  }
124
- exports.TestAaveV3 = TestAaveV3;
125
- TestAaveV3.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.TestAaveV3Config);
126
- //# sourceMappingURL=test-aave-v3.js.map
124
+ exports.TestDex = TestDex;
125
+ TestDex.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.TestDexConfig);
126
+ //# sourceMappingURL=test-dex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-dex.js","sourceRoot":"","sources":["../../../src/dex/test-dex/test-dex.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Address } from '../../types';
2
2
  export declare type PoolState = {};
3
- export declare type TestAaveV3Data = {
3
+ export declare type TestDexData = {
4
4
  exchange: Address;
5
5
  };
6
6
  export declare type DexParams = {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/test-aave-v3/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/test-dex/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { PoolState, TokenState } from './types';
2
+ import { Address, Logger } from '../../types';
3
+ export declare class WooFiV2Math {
4
+ private readonly logger;
5
+ private readonly _quoteToken;
6
+ state: PoolState;
7
+ constructor(logger: Logger, _quoteToken: Address);
8
+ query(fromToken: Address, toToken: Address, fromAmounts: bigint[]): bigint[] | null;
9
+ _querySellBase(baseToken: Address, baseAmounts: bigint[]): bigint[] | null;
10
+ _querySellQuote(baseToken: Address, quoteAmounts: bigint[]): bigint[] | null;
11
+ _queryBaseToBase(baseToken1: Address, baseToken2: Address, base1Amounts: bigint[]): bigint[] | null;
12
+ protected _takeFeeAndCheckReserve(amounts: bigint[], feeRate: bigint): bigint[];
13
+ protected _takeFee(amounts: bigint[], feeRate: bigint): bigint[];
14
+ protected _calcQuoteAmountSellBase(baseToken: Address, baseAmounts: bigint[], state: TokenState): bigint[];
15
+ protected _calcBaseAmountSellQuote(baseToken: string, quoteAmounts: bigint[], state: TokenState): bigint[];
16
+ }
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WooFiV2Math = void 0;
4
+ const bigint_constants_1 = require("../../bigint-constants");
5
+ const constants_1 = require("./constants");
6
+ function handleMathError(e, logger) {
7
+ if (e instanceof Error && e.message.startsWith('WooGuardian:')) {
8
+ logger.warn('WooFi Guardian check Error:', e);
9
+ return;
10
+ }
11
+ logger.error('Unexpected error in WooFi math:', e);
12
+ }
13
+ function max(a, b) {
14
+ return a > b ? a : b;
15
+ }
16
+ class WooFiV2Math {
17
+ constructor(logger, _quoteToken) {
18
+ this.logger = logger;
19
+ this._quoteToken = _quoteToken;
20
+ this.state = constants_1.NULL_STATE;
21
+ }
22
+ query(fromToken, toToken, fromAmounts) {
23
+ try {
24
+ if (fromToken === this._quoteToken) {
25
+ return this._querySellQuote(toToken, fromAmounts);
26
+ }
27
+ else if (toToken === this._quoteToken) {
28
+ return this._querySellBase(fromToken, fromAmounts);
29
+ }
30
+ else {
31
+ return this._queryBaseToBase(fromToken, toToken, fromAmounts);
32
+ }
33
+ }
34
+ catch (e) {
35
+ handleMathError(e, this.logger);
36
+ return null;
37
+ }
38
+ }
39
+ _querySellBase(baseToken, baseAmounts) {
40
+ try {
41
+ const _state = this.state.tokenStates[baseToken];
42
+ let quoteAmounts = this._calcQuoteAmountSellBase(baseToken, baseAmounts, _state);
43
+ quoteAmounts = quoteAmounts.map(amount => {
44
+ return amount <= this.state.tokenInfos[this._quoteToken].reserve
45
+ ? amount
46
+ : 0n;
47
+ });
48
+ const feeRate = this.state.tokenInfos[baseToken].feeRate;
49
+ return this._takeFee(quoteAmounts, feeRate);
50
+ }
51
+ catch (e) {
52
+ handleMathError(e, this.logger);
53
+ return null;
54
+ }
55
+ }
56
+ _querySellQuote(baseToken, quoteAmounts) {
57
+ try {
58
+ const feeRate = this.state.tokenInfos[baseToken].feeRate;
59
+ quoteAmounts = this._takeFee(quoteAmounts, feeRate);
60
+ const _state = this.state.tokenStates[baseToken];
61
+ let toAmounts = this._calcBaseAmountSellQuote(baseToken, quoteAmounts, _state);
62
+ const baseReserve = this.state.tokenInfos[baseToken].reserve;
63
+ return toAmounts.map(amount => {
64
+ return amount >= baseReserve ? amount : 0n;
65
+ });
66
+ }
67
+ catch (e) {
68
+ handleMathError(e, this.logger);
69
+ return null;
70
+ }
71
+ }
72
+ _queryBaseToBase(baseToken1, baseToken2, base1Amounts) {
73
+ try {
74
+ let state1 = this.state.tokenStates[baseToken1];
75
+ let state2 = this.state.tokenStates[baseToken1];
76
+ const feeRate1 = this.state.tokenInfos[baseToken1].feeRate;
77
+ const feeRate2 = this.state.tokenInfos[baseToken2].feeRate;
78
+ const spread = max(state1.spread, state2.spread) / 2n;
79
+ const feeRate = max(feeRate1, feeRate2);
80
+ state1.spread = spread;
81
+ state2.spread = spread;
82
+ let quoteAmounts = this._calcQuoteAmountSellBase(baseToken1, base1Amounts, state1);
83
+ quoteAmounts = this._takeFeeAndCheckReserve(quoteAmounts, feeRate);
84
+ let toAmounts = this._calcBaseAmountSellQuote(baseToken2, quoteAmounts, state2);
85
+ return toAmounts.map(toAmount => {
86
+ return toAmount <= this.state.tokenInfos[baseToken2].reserve
87
+ ? toAmount
88
+ : 0n;
89
+ });
90
+ }
91
+ catch (e) {
92
+ handleMathError(e, this.logger);
93
+ return null;
94
+ }
95
+ }
96
+ _takeFeeAndCheckReserve(amounts, feeRate) {
97
+ return amounts.map(amount => {
98
+ if (amount === 0n)
99
+ return 0n;
100
+ const lpFee = (amount * feeRate) / bigint_constants_1.BI_POWS[5];
101
+ const reserve = this.state.tokenInfos[this._quoteToken].reserve;
102
+ return lpFee > reserve ? 0n : amount - lpFee;
103
+ });
104
+ }
105
+ _takeFee(amounts, feeRate) {
106
+ return amounts.map(amount => {
107
+ const lpFee = (amount * feeRate) / bigint_constants_1.BI_POWS[5];
108
+ return amount === 0n ? 0n : amount - lpFee;
109
+ });
110
+ }
111
+ _calcQuoteAmountSellBase(baseToken, baseAmounts, state) {
112
+ let { priceDec, quoteDec, baseDec } = this.state.decimals[baseToken];
113
+ return baseAmounts.map(baseAmount => {
114
+ if (baseAmount === 0n)
115
+ return 0n;
116
+ const coef = bigint_constants_1.BI_POWS[18] -
117
+ (state.coeff * baseAmount * state.price) / baseDec / priceDec -
118
+ state.spread;
119
+ return ((((baseAmount * quoteDec * state.price) / priceDec) * coef) /
120
+ bigint_constants_1.BI_POWS[18] /
121
+ baseDec);
122
+ });
123
+ }
124
+ _calcBaseAmountSellQuote(baseToken, quoteAmounts, state) {
125
+ let { priceDec, quoteDec, baseDec } = this.state.decimals[baseToken];
126
+ return quoteAmounts.map(quoteAmount => {
127
+ if (quoteAmount === 0n)
128
+ return 0n;
129
+ const coef = bigint_constants_1.BI_POWS[18] - (quoteAmount * state.coeff) / quoteDec - state.spread;
130
+ return ((((quoteAmount * baseDec * priceDec) / state.price) * coef) /
131
+ bigint_constants_1.BI_POWS[18] /
132
+ quoteDec);
133
+ });
134
+ }
135
+ }
136
+ exports.WooFiV2Math = WooFiV2Math;
137
+ //# sourceMappingURL=woo-fi-math.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"woo-fi-math.js","sourceRoot":"","sources":["../../../src/dex/woo-fi-v2/woo-fi-math.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { IDexHelper } from './dex-helper';
6
6
  export declare type InitializeStateOptions<State> = {
7
7
  state?: DeepReadonly<State>;
8
8
  initCallback?: (state: DeepReadonly<State>) => void;
9
+ forceRegenerate?: boolean;
9
10
  };
10
11
  export declare abstract class StatefulEventSubscriber<State> implements EventSubscriber {
11
12
  readonly parentName: string;
@@ -50,6 +50,12 @@ class StatefulEventSubscriber {
50
50
  if (options && options.state) {
51
51
  this.setState(options.state, blockNumber);
52
52
  }
53
+ else if (options && options.forceRegenerate) {
54
+ // ZkEVM forces to always regenerate state when it is old
55
+ this.logger.debug(`${this.parentName}: ${this.name}: forced to regenerate state`);
56
+ const state = await this.generateState(blockNumber);
57
+ this.setState(state, blockNumber);
58
+ }
53
59
  else {
54
60
  if (this.dexHelper.config.isSlave && this.masterPoolNeeded) {
55
61
  let stateAsString = await this.dexHelper.cache.hget(this.mapKey, this.name);
@@ -1 +1 @@
1
- {"version":3,"file":"stateful-event-subscriber.js","sourceRoot":"","sources":["../src/stateful-event-subscriber.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stateful-event-subscriber.js","sourceRoot":"","sources":["../src/stateful-event-subscriber.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "2.31.3",
3
+ "version": "2.31.4-zkevm-revive.0",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -167,7 +167,7 @@ export class Algebra extends SimpleExchange implements IDex<AlgebraData> {
167
167
  /* reload state, on zkEVM this would most likely timeout during request life
168
168
  * but would allow to rely on staleState for couple of min for next requests
169
169
  */
170
- await pool.initialize(blockNumber);
170
+ await pool.initialize(blockNumber, { forceRegenerate: true });
171
171
  }
172
172
 
173
173
  return pool;
@@ -18,6 +18,7 @@ type StateCache<State> = {
18
18
  export type InitializeStateOptions<State> = {
19
19
  state?: DeepReadonly<State>;
20
20
  initCallback?: (state: DeepReadonly<State>) => void;
21
+ forceRegenerate?: boolean;
21
22
  };
22
23
 
23
24
  export abstract class StatefulEventSubscriber<State>
@@ -89,6 +90,13 @@ export abstract class StatefulEventSubscriber<State>
89
90
  let masterBn: undefined | number = undefined;
90
91
  if (options && options.state) {
91
92
  this.setState(options.state, blockNumber);
93
+ } else if (options && options.forceRegenerate) {
94
+ // ZkEVM forces to always regenerate state when it is old
95
+ this.logger.debug(
96
+ `${this.parentName}: ${this.name}: forced to regenerate state`,
97
+ );
98
+ const state = await this.generateState(blockNumber);
99
+ this.setState(state, blockNumber);
92
100
  } else {
93
101
  if (this.dexHelper.config.isSlave && this.masterPoolNeeded) {
94
102
  let stateAsString = await this.dexHelper.cache.hget(
@@ -1,5 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <state>
3
- <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
4
- </state>
5
- </component>
package/.idea/misc.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectRootManager">
4
- <output url="file://$PROJECT_DIR$/out" />
5
- </component>
6
- </project>
package/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/paraswap-dex-lib.iml" filepath="$PROJECT_DIR$/paraswap-dex-lib.iml" />
6
- </modules>
7
- </component>
8
- </project>
package/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="" vcs="Git" />
5
- </component>
6
- </project>
@@ -1,21 +0,0 @@
1
- {
2
- // Use IntelliSense to learn about possible attributes.
3
- // Hover to view descriptions of existing attributes.
4
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
- "version": "0.2.0",
6
- "configurations": [
7
- {
8
- "type": "node",
9
- "request": "launch",
10
- "name": "Launch Program",
11
- "skipFiles": [
12
- "<node_internals>/**"
13
- ],
14
- "program": "${workspaceFolder}/build/index.js",
15
- "preLaunchTask": "tsc: build - tsconfig.json",
16
- "outFiles": [
17
- "${workspaceFolder}/build/**/*.js"
18
- ]
19
- }
20
- ]
21
- }