@paraswap/dex-lib 2.31.1 → 2.31.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 (65) hide show
  1. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  2. package/.idea/misc.xml +6 -0
  3. package/.idea/modules.xml +8 -0
  4. package/.idea/vcs.xml +6 -0
  5. package/.vscode/launch.json +21 -0
  6. package/build/abi/AugustusRFQRouter.abi.json +1248 -0
  7. package/build/abi/algebra/AlgebraPool.abi.json +727 -0
  8. package/build/dex/aave-v3/tokens/arbitrum.json +20 -20
  9. package/build/dex/aave-v3/tokens/avalanche.json +20 -44
  10. package/build/dex/aave-v3/tokens/fantom.json +30 -30
  11. package/build/dex/aave-v3/tokens/mainnet.json +44 -0
  12. package/build/dex/aave-v3/tokens/optimism.json +18 -18
  13. package/build/dex/aave-v3/tokens/polygon.json +42 -60
  14. package/build/dex/algebra/algebra-pool.d.ts +41 -0
  15. package/build/dex/algebra/algebra-pool.js +277 -0
  16. package/build/dex/algebra/algebra-pool.js.map +1 -0
  17. package/build/dex/algebra/lib/AlgebraXUniV3.d.ts +5 -0
  18. package/build/dex/algebra/lib/AlgebraXUniV3.js +45 -0
  19. package/build/dex/algebra/lib/AlgebraXUniV3.js.map +1 -0
  20. package/build/dex/algebra/lib/DataStorage.d.ts +24 -0
  21. package/build/dex/algebra/lib/DataStorage.js +397 -0
  22. package/build/dex/algebra/lib/DataStorage.js.map +1 -0
  23. package/build/dex/algebra/lib/DataStorageOperator.d.ts +9 -0
  24. package/build/dex/algebra/lib/DataStorageOperator.js +66 -0
  25. package/build/dex/algebra/lib/DataStorageOperator.js.map +1 -0
  26. package/build/dex/algebra/lib/Sqrt.d.ts +3 -0
  27. package/build/dex/algebra/lib/Sqrt.js +60 -0
  28. package/build/dex/algebra/lib/Sqrt.js.map +1 -0
  29. package/build/dex/balancer-v2/VirtualBoostedPool.d.ts +79 -0
  30. package/build/dex/balancer-v2/VirtualBoostedPool.js +382 -0
  31. package/build/dex/balancer-v2/VirtualBoostedPool.js.map +1 -0
  32. package/build/dex/generic-rfq/constants.d.ts +1 -0
  33. package/build/dex/generic-rfq/constants.js +5 -0
  34. package/build/dex/generic-rfq/constants.js.map +1 -0
  35. package/build/dex/generic-rfq/generic-rfq.js +4 -1
  36. package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
  37. package/build/dex/generic-rfq/rate-fetcher.d.ts +1 -1
  38. package/build/dex/generic-rfq/rate-fetcher.js +2 -1
  39. package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
  40. package/build/dex/generic-rfq/types.d.ts +1 -0
  41. package/build/dex/generic-rfq/types.js.map +1 -1
  42. package/build/dex/{test-dex → test-aave-v3}/config.d.ts +1 -1
  43. package/build/dex/{test-dex → test-aave-v3}/config.js +3 -3
  44. package/build/dex/test-aave-v3/config.js.map +1 -0
  45. package/build/dex/{test-dex/test-dex-pool.d.ts → test-aave-v3/test-aave-v3-pool.d.ts} +3 -3
  46. package/build/dex/{test-dex/test-dex-pool.js → test-aave-v3/test-aave-v3-pool.js} +7 -7
  47. package/build/dex/test-aave-v3/test-aave-v3-pool.js.map +1 -0
  48. package/build/dex/{test-dex/test-dex.d.ts → test-aave-v3/test-aave-v3.d.ts} +8 -8
  49. package/build/dex/{test-dex/test-dex.js → test-aave-v3/test-aave-v3.js} +7 -7
  50. package/build/dex/test-aave-v3/test-aave-v3.js.map +1 -0
  51. package/build/dex/{test-dex → test-aave-v3}/types.d.ts +1 -1
  52. package/build/dex/{test-dex → test-aave-v3}/types.js.map +1 -1
  53. package/build/types.d.ts +1 -0
  54. package/package.json +1 -1
  55. package/src/dex/generic-rfq/generic-rfq.ts +5 -0
  56. package/src/dex/generic-rfq/rate-fetcher.ts +4 -2
  57. package/src/dex/generic-rfq/types.ts +1 -0
  58. package/src/types.ts +1 -0
  59. package/build/dex/test-dex/config.js.map +0 -1
  60. package/build/dex/test-dex/test-dex-pool.js.map +0 -1
  61. package/build/dex/test-dex/test-dex.js.map +0 -1
  62. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +0 -16
  63. package/build/dex/woo-fi-v2/woo-fi-math.js +0 -137
  64. package/build/dex/woo-fi-v2/woo-fi-math.js.map +0 -1
  65. /package/build/dex/{test-dex → test-aave-v3}/types.js +0 -0
@@ -69,6 +69,7 @@ export declare type RFQPayload = {
69
69
  makerAmount?: string;
70
70
  takerAmount?: string;
71
71
  userAddress: Address;
72
+ partner?: string;
72
73
  };
73
74
  export declare type AugustusOrderWithStringAndSignature = AugustusOrderWithString & {
74
75
  signature: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/generic-rfq/types.ts"],"names":[],"mappings":";;;AAiGA,MAAa,kBAAmB,SAAQ,KAAK;CAAG;AAAhD,gDAAgD;AAEhD,MAAa,2BAA4B,SAAQ,KAAK;CAAG;AAAzD,kEAAyD"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/generic-rfq/types.ts"],"names":[],"mappings":";;;AAkGA,MAAa,kBAAmB,SAAQ,KAAK;CAAG;AAAhD,gDAAgD;AAEhD,MAAa,2BAA4B,SAAQ,KAAK;CAAG;AAAzD,kEAAyD"}
@@ -1,4 +1,4 @@
1
1
  import { DexParams } from './types';
2
2
  import { DexConfigMap, AdapterMappings } from '../../types';
3
- export declare const TestDexConfig: DexConfigMap<DexParams>;
3
+ export declare const TestAaveV3Config: DexConfigMap<DexParams>;
4
4
  export declare const Adapters: Record<number, AdapterMappings>;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Adapters = exports.TestDexConfig = void 0;
3
+ exports.Adapters = exports.TestAaveV3Config = void 0;
4
4
  const constants_1 = require("../../constants");
5
- exports.TestDexConfig = {
6
- TestDex: {
5
+ exports.TestAaveV3Config = {
6
+ TestAaveV3: {
7
7
  // TODO: complete me!
8
8
  },
9
9
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/test-aave-v3/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,gBAAgB,GAA4B;IACvD,UAAU,EAAE;IACV,qBAAqB;KACtB;CACF,CAAC;AAEW,QAAA,QAAQ,GAAoC;IACvD,oCAAoC;IACpC,6BAA6B;IAC7B,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"}
@@ -4,17 +4,17 @@ import { Log, Logger } from '../../types';
4
4
  import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
5
5
  import { IDexHelper } from '../../dex-helper/idex-helper';
6
6
  import { PoolState } from './types';
7
- export declare class TestDexEventPool extends StatefulEventSubscriber<PoolState> {
7
+ export declare class TestAaveV3EventPool extends StatefulEventSubscriber<PoolState> {
8
8
  protected parentName: string;
9
9
  protected network: number;
10
10
  protected dexHelper: IDexHelper;
11
- protected testDexIface: Interface;
11
+ protected testAaveV3Iface: Interface;
12
12
  handlers: {
13
13
  [event: string]: (event: any, state: DeepReadonly<PoolState>, log: Readonly<Log>) => DeepReadonly<PoolState> | null;
14
14
  };
15
15
  logDecoder: (log: Log) => any;
16
16
  addressesSubscribed: string[];
17
- constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, testDexIface?: Interface);
17
+ constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, testAaveV3Iface?: Interface);
18
18
  /**
19
19
  * The function is called every time any of the subscribed
20
20
  * addresses release log. The function accepts the current
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestDexEventPool = void 0;
3
+ exports.TestAaveV3EventPool = 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 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 */)) {
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 */)) {
9
9
  super(parentName, logger);
10
10
  this.parentName = parentName;
11
11
  this.network = network;
12
12
  this.dexHelper = dexHelper;
13
- this.testDexIface = testDexIface;
13
+ this.testAaveV3Iface = testAaveV3Iface;
14
14
  this.handlers = {};
15
15
  // TODO: make logDecoder decode logs that
16
- this.logDecoder = (log) => this.testDexIface.parseLog(log);
16
+ this.logDecoder = (log) => this.testAaveV3Iface.parseLog(log);
17
17
  this.addressesSubscribed = [
18
18
  /* subscribed addresses */
19
19
  ];
@@ -59,5 +59,5 @@ class TestDexEventPool extends stateful_event_subscriber_1.StatefulEventSubscrib
59
59
  return null;
60
60
  }
61
61
  }
62
- exports.TestDexEventPool = TestDexEventPool;
63
- //# sourceMappingURL=test-dex-pool.js.map
62
+ exports.TestAaveV3EventPool = TestAaveV3EventPool;
63
+ //# sourceMappingURL=test-aave-v3-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-aave-v3-pool.js","sourceRoot":"","sources":["../../../src/dex/test-aave-v3/test-aave-v3-pool.ts"],"names":[],"mappings":";;;AAAA,4CAA+C;AAG/C,uCAAiD;AACjD,+EAA0E;AAI1E,MAAa,mBAAoB,SAAQ,mDAAkC;IAWzE,YACY,UAAkB,EAClB,OAAe,EACf,SAAqB,EAC/B,MAAc,EACJ,kBAAkB,IAAI,eAAS,CACvC,EAAE,CAAC,8CAA8C,CAClD;QAED,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QARhB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAY;QAErB,oBAAe,GAAf,eAAe,CAExB;QAjBH,aAAQ,GAIJ,EAAE,CAAC;QAiBL,yCAAyC;QACzC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnE,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,kDA+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 { TestDexData } from './types';
6
+ import { TestAaveV3Data } from './types';
7
7
  import { SimpleExchange } from '../simple-exchange';
8
- import { TestDexEventPool } from './test-dex-pool';
9
- export declare class TestDex extends SimpleExchange implements IDex<TestDexData> {
8
+ import { TestAaveV3EventPool } from './test-aave-v3-pool';
9
+ export declare class TestAaveV3 extends SimpleExchange implements IDex<TestAaveV3Data> {
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: TestDexEventPool;
14
+ protected eventPools: TestAaveV3EventPool;
15
15
  readonly hasConstantPriceLargeAmounts = false;
16
16
  readonly needWrapNative = true;
17
17
  readonly isFeeOnTransferSupported = false;
@@ -27,10 +27,10 @@ export declare class TestDex extends SimpleExchange implements IDex<TestDexData>
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<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>;
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>;
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.TestDex = void 0;
26
+ exports.TestAaveV3 = 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_dex_pool_1 = require("./test-dex-pool");
32
- class TestDex extends simple_exchange_1.SimpleExchange {
31
+ const test_aave_v3_pool_1 = require("./test-aave-v3-pool");
32
+ class TestAaveV3 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 TestDex 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_dex_pool_1.TestDexEventPool(dexKey, network, dexHelper, this.logger);
44
+ this.eventPools = new test_aave_v3_pool_1.TestAaveV3EventPool(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 TestDex extends simple_exchange_1.SimpleExchange {
121
121
  // TODO: complete me!
122
122
  }
123
123
  }
124
- exports.TestDex = TestDex;
125
- TestDex.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.TestDexConfig);
126
- //# sourceMappingURL=test-dex.js.map
124
+ exports.TestAaveV3 = TestAaveV3;
125
+ TestAaveV3.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.TestAaveV3Config);
126
+ //# sourceMappingURL=test-aave-v3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-aave-v3.js","sourceRoot":"","sources":["../../../src/dex/test-aave-v3/test-aave-v3.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 TestDexData = {
3
+ export declare type TestAaveV3Data = {
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-dex/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/test-aave-v3/types.ts"],"names":[],"mappings":""}
package/build/types.d.ts CHANGED
@@ -247,6 +247,7 @@ export declare type PreprocessTransactionOptions = {
247
247
  hmac?: string;
248
248
  mockRfqAndLO?: boolean;
249
249
  isDirectMethod?: boolean;
250
+ partner?: string;
250
251
  };
251
252
  export declare type TransferFeeParams = {
252
253
  srcFee: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "2.31.1",
3
+ "version": "2.31.3",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -140,6 +140,10 @@ export class GenericRFQ extends ParaSwapLimitOrders {
140
140
  _destToken.address,
141
141
  );
142
142
 
143
+ if (!limitPools?.includes(expectedIdentifier)) {
144
+ return null;
145
+ }
146
+
143
147
  const rates = await this.rateFetcher.getOrderPrice(
144
148
  _srcToken,
145
149
  _destToken,
@@ -203,6 +207,7 @@ export class GenericRFQ extends ParaSwapLimitOrders {
203
207
  : overOrder(optimalSwapExchange.destAmount, 1),
204
208
  side,
205
209
  options.txOrigin,
210
+ options.partner,
206
211
  );
207
212
 
208
213
  const expiryAsBigInt = BigInt(order.order.expiry);
@@ -226,7 +226,7 @@ export class RateFetcher {
226
226
  private handleRatesResponse(resp: RatesResponse) {
227
227
  const pairs = this.pairs;
228
228
 
229
- if(isEmpty(pairs)) return;
229
+ if (isEmpty(pairs)) return;
230
230
 
231
231
  Object.keys(resp.prices).forEach(pairName => {
232
232
  const pair = pairs[pairName];
@@ -239,7 +239,7 @@ export class RateFetcher {
239
239
  return;
240
240
  }
241
241
 
242
- if(isEmpty(this.tokens)) return;
242
+ if (isEmpty(this.tokens)) return;
243
243
 
244
244
  const baseToken = this.tokens[pair.base];
245
245
  const quoteToken = this.tokens[pair.quote];
@@ -376,6 +376,7 @@ export class RateFetcher {
376
376
  srcAmount: string,
377
377
  side: SwapSide,
378
378
  userAddress: Address,
379
+ partner?: string,
379
380
  ): Promise<OrderInfo> {
380
381
  const srcToken = this.dexHelper.config.wrapETH(_srcToken);
381
382
  const destToken = this.dexHelper.config.wrapETH(_destToken);
@@ -390,6 +391,7 @@ export class RateFetcher {
390
391
  makerAmount: side === SwapSide.BUY ? srcAmount : undefined,
391
392
  takerAmount: side === SwapSide.SELL ? srcAmount : undefined,
392
393
  userAddress,
394
+ partner,
393
395
  };
394
396
 
395
397
  try {
@@ -84,6 +84,7 @@ export type RFQPayload = {
84
84
  makerAmount?: string;
85
85
  takerAmount?: string;
86
86
  userAddress: Address;
87
+ partner?: string;
87
88
  };
88
89
 
89
90
  export type AugustusOrderWithStringAndSignature = AugustusOrderWithString & {
package/src/types.ts CHANGED
@@ -291,6 +291,7 @@ export type PreprocessTransactionOptions = {
291
291
  hmac?: string;
292
292
  mockRfqAndLO?: boolean;
293
293
  isDirectMethod?: boolean;
294
+ partner?: string;
294
295
  };
295
296
 
296
297
  export type TransferFeeParams = {
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/test-dex/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,aAAa,GAA4B;IACpD,OAAO,EAAE;IACP,qBAAqB;KACtB;CACF,CAAC;AAEW,QAAA,QAAQ,GAAoC;IACvD,oCAAoC;IACpC,6BAA6B;IAC7B,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 +0,0 @@
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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-dex.js","sourceRoot":"","sources":["../../../src/dex/test-dex/test-dex.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,2EAA6D;AAC7D,uCAAoD;AAIpD,wDAAoD;AACpD,qCAAmD;AACnD,mDAAmD;AAEnD,MAAa,OACX,SAAQ,gCAAc;IAgBtB,YACW,OAAgB,EAChB,MAAc,EACd,SAAqB,EACpB,WAAW,iBAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;QAE5C,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QALhB,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAY;QACpB,aAAQ,GAAR,QAAQ,CAA0B;QAfrC,iCAA4B,GAAG,KAAK,CAAC;QAC9C,iEAAiE;QACxD,mBAAc,GAAG,IAAI,CAAC;QAEtB,6BAAwB,GAAG,KAAK,CAAC;QAcxC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,gCAAgB,CACpC,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,CAAC,MAAM,CACZ,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,2DAA2D;IAC3D,oDAAoD;IACpD,0BAA0B;IAC1B,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,qBAAqB;IACvB,CAAC;IAED,yDAAyD;IACzD,wDAAwD;IACxD,WAAW,CAAC,IAAc;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IAED,oDAAoD;IACpD,mDAAmD;IACnD,yCAAyC;IACzC,+CAA+C;IAC/C,KAAK,CAAC,kBAAkB,CACtB,QAAe,EACf,SAAgB,EAChB,IAAc,EACd,WAAmB;QAEnB,qBAAqB;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mCAAmC;IACnC,oDAAoD;IACpD,kDAAkD;IAClD,yBAAyB;IACzB,KAAK,CAAC,eAAe,CACnB,QAAe,EACf,SAAgB,EAChB,OAAiB,EACjB,IAAc,EACd,WAAmB,EACnB,UAAqB;QAErB,qBAAqB;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mEAAmE;IACnE,kBAAkB,CAChB,UAAmC;QAEnC,0DAA0D;QAC1D,OAAO,iBAAiB,CAAC,cAAc,CAAC;IAC1C,CAAC;IAED,iDAAiD;IACjD,qCAAqC;IACrC,mDAAmD;IACnD,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAiB,EACjB,IAAc;QAEd,qBAAqB;QACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAE1B,sCAAsC;QACtC,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,OAAO;YACL,cAAc,EAAE,QAAQ;YACxB,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,kCAAkC;IAClC,mDAAmD;IACnD,kBAAkB;IAClB,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAiB,EACjB,IAAc;QAEd,qBAAqB;QACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAE1B,wCAAwC;QACxC,MAAM,QAAQ,GAAG,EAAE,CAAC;QAEpB,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,qDAAqD;IACrD,+CAA+C;IAC/C,gDAAgD;IAChD,oBAAoB;IACpB,KAAK,CAAC,eAAe;QACnB,qBAAqB;IACvB,CAAC;IAED,oDAAoD;IACpD,yCAAyC;IACzC,KAAK,CAAC,mBAAmB,CACvB,YAAqB,EACrB,KAAa;QAEb,oBAAoB;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,sFAAsF;IACtF,uFAAuF;IACvF,gBAAgB;QACd,qBAAqB;IACvB,CAAC;;AAhKH,0BAiKC;AArJe,0BAAkB,GAC9B,IAAA,6BAAqB,EAAC,sBAAa,CAAC,CAAC"}
@@ -1,16 +0,0 @@
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
- }
@@ -1,137 +0,0 @@
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
@@ -1 +0,0 @@
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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"}
File without changes