@paraswap/dex-lib 4.8.5 → 4.8.6-clear.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.
@@ -24,5 +24,18 @@
24
24
  ],
25
25
  "stateMutability": "view",
26
26
  "type": "function"
27
+ },
28
+ {
29
+ "inputs": [],
30
+ "name": "totalAssets",
31
+ "outputs": [
32
+ {
33
+ "internalType": "uint256",
34
+ "name": "totalManagedAssets",
35
+ "type": "uint256"
36
+ }
37
+ ],
38
+ "stateMutability": "view",
39
+ "type": "function"
27
40
  }
28
41
  ]
@@ -1,3 +1,4 @@
1
+ import { Contract } from 'ethers';
1
2
  import { Interface } from '@ethersproject/abi';
2
3
  import { DeepReadonly } from 'ts-essentials';
3
4
  import { Log, Logger } from '../../types';
@@ -5,13 +6,11 @@ import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
5
6
  import { IDexHelper } from '../../dex-helper';
6
7
  import { Address } from '../../types';
7
8
  import { ClearVault, DexParams } from './types';
8
- type OnVaultCreatedCallback = (vaults: DeepReadonly<ClearVault[]>) => void;
9
9
  export declare class ClearFactory extends StatefulEventSubscriber<ClearVault[]> {
10
10
  readonly parentName: string;
11
11
  readonly config: DexParams;
12
12
  protected network: number;
13
13
  protected dexHelper: IDexHelper;
14
- protected readonly onVaultCreated: OnVaultCreatedCallback;
15
14
  handlers: {
16
15
  [event: string]: (event: any, state: DeepReadonly<ClearVault[]>, log: Readonly<Log>) => Promise<DeepReadonly<ClearVault[]> | null>;
17
16
  };
@@ -19,22 +18,16 @@ export declare class ClearFactory extends StatefulEventSubscriber<ClearVault[]>
19
18
  addressesSubscribed: Address[];
20
19
  protected factoryIface: Interface;
21
20
  protected vaultIface: Interface;
22
- constructor(parentName: string, config: DexParams, network: number, dexHelper: IDexHelper, logger: Logger, onVaultCreated: OnVaultCreatedCallback);
23
- /**
24
- * Handle NewClearVault event - regenerate state when a new vault is created
25
- */
26
- handleNewClearVault(): Promise<DeepReadonly<ClearVault[]> | null>;
27
- /**
28
- * Process incoming logs and dispatch to appropriate handlers
29
- */
21
+ protected factoryContract: Contract;
22
+ constructor(parentName: string, config: DexParams, network: number, dexHelper: IDexHelper, logger: Logger);
23
+ handleNewClearVault(event: any, state: DeepReadonly<ClearVault[]>, log: Readonly<Log>): Promise<DeepReadonly<ClearVault[]> | null>;
30
24
  processLog(state: DeepReadonly<ClearVault[]>, log: Readonly<Log>): Promise<DeepReadonly<ClearVault[]> | null>;
31
- getStateOrGenerate(blockNumber: number, readonly?: boolean): Promise<DeepReadonly<ClearVault[]>>;
25
+ getStateOrGenerate(blockNumber: number): Promise<DeepReadonly<ClearVault[]>>;
32
26
  /**
33
- * Generate state using on-chain calls:
34
- * 1. Call vaultsLength() to get total count
35
- * 2. Call getBatchVaultAddresses() to get all addresses
36
- * 3. Call tokens() on each vault to get supported tokens
27
+ * Generate state:
28
+ * 1. vaultsLength() -> total count
29
+ * 2. getBatchVaultAddresses() -> all addresses
30
+ * 3. tokens() on each vault -> supported tokens
37
31
  */
38
32
  generateState(blockNumber: number): Promise<DeepReadonly<ClearVault[]>>;
39
33
  }
40
- export {};
@@ -4,57 +4,61 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ClearFactory = void 0;
7
+ const ethers_1 = require("ethers");
7
8
  const abi_1 = require("@ethersproject/abi");
8
9
  const utils_1 = require("../../utils");
9
10
  const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
10
11
  const ClearFactory_json_1 = __importDefault(require("../../abi/clear/ClearFactory.json"));
11
12
  const ClearVault_json_1 = __importDefault(require("../../abi/clear/ClearVault.json"));
13
+ const decoders_1 = require("../../lib/decoders");
12
14
  class ClearFactory extends stateful_event_subscriber_1.StatefulEventSubscriber {
13
15
  parentName;
14
16
  config;
15
17
  network;
16
18
  dexHelper;
17
- onVaultCreated;
18
19
  handlers = {};
19
20
  logDecoder;
20
21
  addressesSubscribed;
21
22
  factoryIface = new abi_1.Interface(ClearFactory_json_1.default);
22
23
  vaultIface = new abi_1.Interface(ClearVault_json_1.default);
23
- constructor(parentName, config, network, dexHelper, logger, onVaultCreated) {
24
+ factoryContract;
25
+ constructor(parentName, config, network, dexHelper, logger) {
24
26
  super(parentName, 'factory', dexHelper, logger);
25
27
  this.parentName = parentName;
26
28
  this.config = config;
27
29
  this.network = network;
28
30
  this.dexHelper = dexHelper;
29
- this.onVaultCreated = onVaultCreated;
30
31
  this.logDecoder = (log) => this.factoryIface.parseLog(log);
31
32
  this.addressesSubscribed = [config.factoryAddress];
32
- // Add handler for NewClearVault event
33
+ this.factoryContract = new ethers_1.Contract(config.factoryAddress, ClearFactory_json_1.default, dexHelper.provider);
33
34
  this.handlers['NewClearVault'] = this.handleNewClearVault.bind(this);
34
35
  }
35
- /**
36
- * Handle NewClearVault event - regenerate state when a new vault is created
37
- */
38
- async handleNewClearVault() {
39
- const blockNumber = await this.dexHelper.provider.getBlockNumber();
40
- const vaults = await this.getStateOrGenerate(blockNumber, false);
41
- this.onVaultCreated(vaults);
42
- return vaults;
36
+ async handleNewClearVault(event, state, log) {
37
+ const vaultAddress = event.args.vault.toLowerCase();
38
+ const [tokenResult] = await this.dexHelper.multiWrapper.tryAggregate(false, [
39
+ {
40
+ target: vaultAddress,
41
+ callData: this.vaultIface.encodeFunctionData('tokens'),
42
+ decodeFunction: decoders_1.addressArrayDecode,
43
+ },
44
+ ], log.blockNumber);
45
+ if (!tokenResult.success || !tokenResult.returnData) {
46
+ this.logger.error(`${this.parentName}: Failed to fetch tokens for new vault ${vaultAddress}`);
47
+ return null;
48
+ }
49
+ const newVault = {
50
+ address: vaultAddress,
51
+ tokens: tokenResult.returnData.map(addr => ({
52
+ address: addr.toLowerCase(),
53
+ })),
54
+ };
55
+ return [...state, newVault];
43
56
  }
44
- /**
45
- * Process incoming logs and dispatch to appropriate handlers
46
- */
47
57
  async processLog(state, log) {
48
58
  try {
49
- let event;
50
- try {
51
- event = this.logDecoder(log);
52
- }
53
- catch (e) {
54
- return null;
55
- }
59
+ const event = this.logDecoder(log);
56
60
  if (event.name in this.handlers) {
57
- return await this.handlers[event.name](event, state, log);
61
+ return this.handlers[event.name](event, state, log);
58
62
  }
59
63
  }
60
64
  catch (e) {
@@ -62,88 +66,57 @@ class ClearFactory extends stateful_event_subscriber_1.StatefulEventSubscriber {
62
66
  }
63
67
  return null;
64
68
  }
65
- async getStateOrGenerate(blockNumber, readonly = false) {
69
+ async getStateOrGenerate(blockNumber) {
66
70
  let state = this.getState(blockNumber);
67
71
  if (!state) {
68
72
  state = await this.generateState(blockNumber);
69
- if (!readonly)
70
- this.setState(state, blockNumber);
73
+ this.setState(state, blockNumber);
71
74
  }
72
75
  return state;
73
76
  }
74
77
  /**
75
- * Generate state using on-chain calls:
76
- * 1. Call vaultsLength() to get total count
77
- * 2. Call getBatchVaultAddresses() to get all addresses
78
- * 3. Call tokens() on each vault to get supported tokens
78
+ * Generate state:
79
+ * 1. vaultsLength() -> total count
80
+ * 2. getBatchVaultAddresses() -> all addresses
81
+ * 3. tokens() on each vault -> supported tokens
79
82
  */
80
83
  async generateState(blockNumber) {
81
84
  // Step 1: Get total number of vaults
82
- const lengthCall = {
83
- target: this.config.factoryAddress,
84
- callData: this.factoryIface.encodeFunctionData('vaultsLength'),
85
- decodeFunction: (result) => {
86
- const decoded = this.factoryIface.decodeFunctionResult('vaultsLength', result);
87
- return BigInt(decoded[0].toString());
88
- },
89
- };
90
- const [lengthResult] = await this.dexHelper.multiWrapper.tryAggregate(false, [lengthCall], blockNumber);
91
- if (!lengthResult.success) {
92
- this.logger.error(`${this.parentName}: Failed to fetch vaultsLength`);
93
- return [];
94
- }
95
- const vaultsLength = Number(lengthResult.returnData);
96
- if (vaultsLength === 0) {
97
- this.logger.info(`${this.parentName}: No vaults found`);
85
+ const vaultsLengthBN = await this.factoryContract.vaultsLength({
86
+ blockTag: blockNumber,
87
+ });
88
+ const vaultsLength = vaultsLengthBN.toNumber();
89
+ if (vaultsLength === 0)
98
90
  return [];
99
- }
100
91
  // Step 2: Get all vault addresses
101
- const indexes = Array.from({ length: vaultsLength }, (_, i) => i);
102
- const batchCall = {
103
- target: this.config.factoryAddress,
104
- callData: this.factoryIface.encodeFunctionData('getBatchVaultAddresses', [
105
- indexes,
106
- ]),
107
- decodeFunction: (result) => {
108
- const decoded = this.factoryIface.decodeFunctionResult('getBatchVaultAddresses', result);
109
- return decoded[0];
110
- },
111
- };
112
- const [batchResult] = await this.dexHelper.multiWrapper.tryAggregate(false, [batchCall], blockNumber);
113
- if (!batchResult.success || !batchResult.returnData) {
114
- this.logger.error(`${this.parentName}: Failed to fetch vault addresses`);
115
- return [];
116
- }
117
- const vaultAddresses = batchResult.returnData.map(addr => addr.toLowerCase());
92
+ const vaultIndexes = [...Array(vaultsLength).keys()];
93
+ const vaultAddressesRaw = await this.factoryContract.getBatchVaultAddresses(vaultIndexes, {
94
+ blockTag: blockNumber,
95
+ });
96
+ const vaultAddresses = vaultAddressesRaw.map(a => a.toLowerCase());
118
97
  // Step 3: Fetch tokens for each vault
119
98
  const tokenCalls = vaultAddresses.map(vault => ({
120
99
  target: vault,
121
100
  callData: this.vaultIface.encodeFunctionData('tokens'),
122
- decodeFunction: (result) => {
123
- const decoded = this.vaultIface.decodeFunctionResult('tokens', result);
124
- return decoded[0];
125
- },
101
+ decodeFunction: decoders_1.addressArrayDecode,
126
102
  }));
127
- const tokenResults = await this.dexHelper.multiWrapper.tryAggregate(false, tokenCalls, blockNumber, this.dexHelper.multiWrapper.defaultBatchSize, false);
128
- const vaults = [];
129
- for (let i = 0; i < vaultAddresses.length; i++) {
103
+ const tokenResults = await this.dexHelper.multiWrapper.tryAggregate(false, tokenCalls, blockNumber);
104
+ // Collect all valid vault data first
105
+ const vaults = vaultAddresses
106
+ .map((address, i) => {
130
107
  const result = tokenResults[i];
131
108
  if (!result.success || !result.returnData) {
132
- this.logger.warn(`${this.parentName}: Failed to fetch tokens for vault ${vaultAddresses[i]}`);
133
- continue;
109
+ this.logger.warn(`${this.parentName}: Failed to fetch tokens for vault ${address}`);
110
+ return null;
134
111
  }
135
- const tokenAddresses = result.returnData;
136
- vaults.push({
137
- id: vaultAddresses[i],
138
- address: vaultAddresses[i],
139
- tokens: tokenAddresses.map(addr => ({
140
- id: addr.toLowerCase(),
112
+ return {
113
+ address,
114
+ tokens: result.returnData.map(addr => ({
141
115
  address: addr.toLowerCase(),
142
- symbol: '',
143
- decimals: '18',
144
116
  })),
145
- });
146
- }
117
+ };
118
+ })
119
+ .filter(Boolean);
147
120
  this.logger.info(`${this.parentName}: Generated state with ${vaults.length} vaults`);
148
121
  return vaults;
149
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"clear-factory.js","sourceRoot":"","sources":["../../../src/dex/clear/clear-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clear-factory.js","sourceRoot":"","sources":["../../../src/dex/clear/clear-factory.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { Interface } from '@ethersproject/abi';
2
- import { AsyncOrSync } from 'ts-essentials';
3
2
  import { Logger, Token, Address, PoolPrices, AdapterExchangeParam, PoolLiquidity, ExchangePrices, DexExchangeParam } from '../../types';
4
3
  import { IDexHelper } from '../../dex-helper/idex-helper';
5
4
  import { IDex } from '../idex';
@@ -21,7 +20,6 @@ export declare class Clear extends SimpleExchange implements IDex<ClearData> {
21
20
  readonly network: Network;
22
21
  readonly dexKey: string;
23
22
  readonly dexHelper: IDexHelper;
24
- static dexKeys: string[];
25
23
  logger: Logger;
26
24
  protected config: DexParams;
27
25
  protected factory: ClearFactory;
@@ -32,25 +30,24 @@ export declare class Clear extends SimpleExchange implements IDex<ClearData> {
32
30
  networks: Network[];
33
31
  }[];
34
32
  readonly clearSwapIface: Interface;
33
+ readonly clearVaultIface: Interface;
35
34
  private vaults;
36
35
  constructor(network: Network, dexKey: string, dexHelper: IDexHelper);
37
- /**
38
- * Callback when factory detects new vaults
39
- */
40
- private onVaultsUpdated;
41
36
  getAdapters(_side: SwapSide): null;
42
37
  initializePricing(blockNumber: number): Promise<void>;
43
- /**
44
- * Deep copy vaults from readonly state to mutable cache
45
- */
46
- private updateVaultsFromState;
47
- releaseResources(): AsyncOrSync<void>;
48
- private processMulticallResults;
49
- private findVaultsForTokenPair;
50
- getPoolIdentifiers(srcToken: Token, destToken: Token, _side: SwapSide, _blockNumber: number): Promise<string[]>;
38
+ getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
51
39
  getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<ClearData>>;
52
40
  getAdapterParam(): AdapterExchangeParam;
53
41
  getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: ClearData, _side: SwapSide): DexExchangeParam;
42
+ /**
43
+ * Gas cost for exchangeData calldata
44
+ * swap(address recipient, address vault, address srcToken, address destToken, uint256 srcAmount, uint256 destAmount, bool useIous)
45
+ */
54
46
  getCalldataGasCost(_poolPrices: PoolPrices<ClearData>): number | number[];
47
+ /**
48
+ * Fetch vaults with tokens, decimals and TVL for getTopPoolsForToken
49
+ * This method is called by PoolTracker service which doesn't call initializePricing
50
+ */
51
+ updatePoolState(): Promise<void>;
55
52
  getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
56
53
  }
@@ -44,7 +44,10 @@ const constants_1 = require("../../constants");
44
44
  const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
45
45
  const utils_1 = require("../../utils");
46
46
  const ClearSwap_json_1 = __importDefault(require("../../abi/clear/ClearSwap.json"));
47
+ const ClearVault_json_1 = __importDefault(require("../../abi/clear/ClearVault.json"));
47
48
  const clear_factory_1 = require("./clear-factory");
49
+ const decoders_1 = require("../../lib/decoders");
50
+ const utils_2 = require("../../executor/utils");
48
51
  const CLEAR_GAS_COST = 150_000;
49
52
  /**
50
53
  * Clear DEX Integration for ParaSwap
@@ -59,7 +62,6 @@ class Clear extends simple_exchange_1.SimpleExchange {
59
62
  network;
60
63
  dexKey;
61
64
  dexHelper;
62
- static dexKeys = ['clear'];
63
65
  logger;
64
66
  config;
65
67
  factory;
@@ -67,7 +69,7 @@ class Clear extends simple_exchange_1.SimpleExchange {
67
69
  isFeeOnTransferSupported = false;
68
70
  static dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.ClearConfig);
69
71
  clearSwapIface = new abi_1.Interface(ClearSwap_json_1.default);
70
- // Vault cache - updated by factory subscriber
72
+ clearVaultIface = new abi_1.Interface(ClearVault_json_1.default);
71
73
  vaults = [];
72
74
  constructor(network, dexKey, dexHelper) {
73
75
  super(dexHelper, dexKey);
@@ -76,183 +78,82 @@ class Clear extends simple_exchange_1.SimpleExchange {
76
78
  this.dexHelper = dexHelper;
77
79
  this.config = config_1.ClearConfig[dexKey][network];
78
80
  this.logger = dexHelper.getLogger(dexKey);
79
- // Initialize factory subscriber with callback to update vaults
80
- this.factory = new clear_factory_1.ClearFactory(dexKey, this.config, network, dexHelper, this.logger, this.onVaultsUpdated.bind(this));
81
- }
82
- /**
83
- * Callback when factory detects new vaults
84
- */
85
- onVaultsUpdated(vaults) {
86
- this.updateVaultsFromState(vaults);
87
- this.logger.info(`${this.dexKey}: Vaults updated, count: ${this.vaults.length}`);
81
+ this.factory = new clear_factory_1.ClearFactory(dexKey, this.config, network, dexHelper, this.logger);
88
82
  }
89
83
  getAdapters(_side) {
90
84
  return null;
91
85
  }
92
86
  async initializePricing(blockNumber) {
93
- // Initialize factory and fetch initial state
94
87
  await this.factory.initialize(blockNumber);
95
- const vaults = await this.factory.getStateOrGenerate(blockNumber);
96
- this.updateVaultsFromState(vaults);
97
- this.logger.info(`${this.dexKey}: Initialized ${this.vaults.length} vaults`);
98
88
  }
99
- /**
100
- * Deep copy vaults from readonly state to mutable cache
101
- */
102
- updateVaultsFromState(vaults) {
103
- this.vaults = vaults.map(v => ({
104
- id: v.id,
105
- address: v.address,
106
- tokens: v.tokens.map(t => ({
107
- id: t.id,
108
- address: t.address,
109
- symbol: t.symbol,
110
- decimals: t.decimals,
111
- })),
112
- }));
113
- }
114
- releaseResources() {
115
- this.logger.info(`${this.dexKey}: released resources`);
116
- }
117
- processMulticallResults(results, callInfos, amountsLength) {
118
- const vaultResults = new Map();
119
- for (let i = 0; i < results.length; i++) {
120
- const result = results[i];
121
- const info = callInfos[i];
122
- if (!vaultResults.has(info.vaultAddress)) {
123
- vaultResults.set(info.vaultAddress, {
124
- poolIdentifier: info.poolIdentifier,
125
- prices: new Array(amountsLength).fill(0n),
126
- unit: 0n,
127
- });
128
- }
129
- if (!result.success) {
130
- // Expected when no depeg exists - previewSwap reverts with AssetIsNotDepeg
131
- this.logger.debug(info.isUnit
132
- ? `No price for vault ${info.vaultAddress} (no depeg)`
133
- : `No swap available for amount index ${info.amountIndex} in vault ${info.vaultAddress}`);
134
- continue;
135
- }
136
- const vaultData = vaultResults.get(info.vaultAddress);
137
- if (info.isUnit) {
138
- vaultData.unit = result.returnData.amountOut;
139
- continue;
140
- }
141
- vaultData.prices[info.amountIndex] = result.returnData.amountOut;
142
- }
143
- return vaultResults;
144
- }
145
- findVaultsForTokenPair(srcToken, destToken) {
146
- return this.vaults.filter(vault => {
147
- const tokenAddresses = vault.tokens.map(t => t.address.toLowerCase());
148
- return (tokenAddresses.includes(srcToken.toLowerCase()) &&
149
- tokenAddresses.includes(destToken.toLowerCase()));
89
+ async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
90
+ if (side === constants_1.SwapSide.BUY)
91
+ return [];
92
+ const allVaults = this.factory.getState(blockNumber) || [];
93
+ const src = srcToken.address.toLowerCase();
94
+ const dest = destToken.address.toLowerCase();
95
+ const matchingVaults = allVaults.filter(vault => {
96
+ const addrs = vault.tokens.map(t => t.address);
97
+ return addrs.includes(src) && addrs.includes(dest);
150
98
  });
99
+ return matchingVaults.map(vault => `${this.dexKey}_${vault.address}_${srcToken.address}_${destToken.address}`.toLowerCase());
151
100
  }
152
- async getPoolIdentifiers(srcToken, destToken, _side, _blockNumber) {
153
- if (!this.config) {
154
- this.logger.error(`No config for ${this.dexKey} on ${this.network}`);
155
- return [];
101
+ async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
102
+ // Only SELL side supported
103
+ if (side === constants_1.SwapSide.BUY) {
104
+ return null;
156
105
  }
157
- const vaults = this.findVaultsForTokenPair(srcToken.address, destToken.address);
158
- if (vaults.length === 0) {
159
- return [];
106
+ const poolIdentifiers = limitPools ||
107
+ (await this.getPoolIdentifiers(srcToken, destToken, side, blockNumber));
108
+ if (poolIdentifiers.length === 0) {
109
+ return null;
160
110
  }
161
- return vaults.map(vault => `${this.dexKey}_${vault.address}_${srcToken.address}_${destToken.address}`.toLowerCase());
162
- }
163
- async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
164
111
  try {
165
- if (!this.config) {
166
- this.logger.debug(`No config available for ${this.dexKey} on network ${this.network}`);
167
- return null;
168
- }
169
- // Only SELL side supported
170
- if (side === constants_1.SwapSide.BUY) {
171
- return null;
172
- }
173
- const poolIdentifiers = limitPools ||
174
- (await this.getPoolIdentifiers(srcToken, destToken, side, blockNumber));
175
- if (poolIdentifiers.length === 0) {
176
- this.logger.debug(`No pools found for ${srcToken.symbol}-${destToken.symbol}`);
177
- return null;
178
- }
179
- const unitAmount = BigInt(10) ** BigInt(srcToken.decimals);
180
112
  const calls = [];
181
- const callInfos = [];
113
+ const vaultInfos = [];
182
114
  for (const poolIdentifier of poolIdentifiers) {
183
115
  const vaultAddress = poolIdentifier.split('_')[1];
184
- for (let i = 0; i < amounts.length; i++) {
185
- const callData = this.clearSwapIface.encodeFunctionData('previewSwap', [vaultAddress, srcToken.address, destToken.address, amounts[i]]);
116
+ const startIdx = calls.length;
117
+ for (const amount of amounts.slice(1)) {
186
118
  calls.push({
187
119
  target: this.config.swapAddress,
188
- callData,
189
- decodeFunction: (result) => {
190
- const decoded = this.clearSwapIface.decodeFunctionResult('previewSwap', result);
191
- return {
192
- amountOut: BigInt(decoded.amountOut.toString()),
193
- ious: BigInt(decoded.ious.toString()),
194
- };
195
- },
196
- });
197
- callInfos.push({
198
- vaultAddress,
199
- poolIdentifier,
200
- isUnit: false,
201
- amountIndex: i,
120
+ callData: this.clearSwapIface.encodeFunctionData('previewSwap', [
121
+ vaultAddress,
122
+ srcToken.address,
123
+ destToken.address,
124
+ amount,
125
+ ]),
126
+ decodeFunction: (result) => result.amountOut.toBigInt(),
202
127
  });
203
128
  }
204
- const unitCallData = this.clearSwapIface.encodeFunctionData('previewSwap', [vaultAddress, srcToken.address, destToken.address, unitAmount]);
205
- calls.push({
206
- target: this.config.swapAddress,
207
- callData: unitCallData,
208
- decodeFunction: (result) => {
209
- const decoded = this.clearSwapIface.decodeFunctionResult('previewSwap', result);
210
- return {
211
- amountOut: BigInt(decoded.amountOut.toString()),
212
- ious: BigInt(decoded.ious.toString()),
213
- };
214
- },
215
- });
216
- callInfos.push({
217
- vaultAddress,
218
- poolIdentifier,
219
- isUnit: true,
220
- amountIndex: -1,
221
- });
129
+ vaultInfos.push({ address: vaultAddress, poolIdentifier, startIdx });
222
130
  }
223
131
  const results = await this.dexHelper.multiWrapper.tryAggregate(false, calls, blockNumber, this.dexHelper.multiWrapper.defaultBatchSize, false);
224
- const vaultResults = this.processMulticallResults(results, callInfos, amounts.length);
225
132
  const poolPrices = [];
226
- for (const [vaultAddress, vaultData] of vaultResults) {
227
- if (vaultData.prices.every(p => p === 0n)) {
228
- // Expected when no depeg - skip this vault
133
+ for (const { address, poolIdentifier, startIdx } of vaultInfos) {
134
+ const prices = [
135
+ 0n,
136
+ ...amounts.slice(1).map((_, i) => {
137
+ const r = results[startIdx + i];
138
+ return r.success ? r.returnData : 0n;
139
+ }),
140
+ ];
141
+ if (prices.every(p => p === 0n))
229
142
  continue;
230
- }
231
- let unit = vaultData.unit;
232
- if (unit === 0n && vaultData.prices[0] && amounts[0]) {
233
- unit = (vaultData.prices[0] * unitAmount) / amounts[0];
234
- }
235
143
  poolPrices.push({
236
- prices: vaultData.prices,
237
- unit,
238
- data: {
239
- vault: vaultAddress,
240
- router: this.config.swapAddress,
241
- },
242
- poolIdentifiers: [vaultData.poolIdentifier],
144
+ prices,
145
+ unit: (0, utils_1.getBigIntPow)(destToken.decimals),
146
+ data: { vault: address },
147
+ poolIdentifiers: [poolIdentifier],
243
148
  exchange: this.dexKey,
244
149
  gasCost: this.config.poolGasCost || CLEAR_GAS_COST,
245
- poolAddresses: [vaultAddress],
150
+ poolAddresses: [address],
246
151
  });
247
152
  }
248
- if (poolPrices.length === 0) {
249
- // Expected when no depeg exists
250
- return null;
251
- }
252
- return poolPrices;
153
+ return poolPrices.length > 0 ? poolPrices : null;
253
154
  }
254
155
  catch (error) {
255
- this.logger.error('Error in getPricesVolume:', error);
156
+ this.logger.error(`getPricesVolume error: ${error}`);
256
157
  return null;
257
158
  }
258
159
  }
@@ -278,41 +179,91 @@ class Clear extends simple_exchange_1.SimpleExchange {
278
179
  needWrapNative: this.needWrapNative,
279
180
  dexFuncHasRecipient: true,
280
181
  exchangeData,
281
- targetExchange: data.router,
282
- returnAmountPos: undefined,
182
+ targetExchange: this.config.swapAddress,
183
+ returnAmountPos: (0, utils_2.extractReturnAmountPosition)(this.clearSwapIface, 'swap', 'amountOut'),
283
184
  };
284
185
  }
186
+ /**
187
+ * Gas cost for exchangeData calldata
188
+ * swap(address recipient, address vault, address srcToken, address destToken, uint256 srcAmount, uint256 destAmount, bool useIous)
189
+ */
285
190
  getCalldataGasCost(_poolPrices) {
286
- return CALLDATA_GAS_COST.DEX_NO_PAYLOAD;
191
+ return (CALLDATA_GAS_COST.DEX_OVERHEAD +
192
+ CALLDATA_GAS_COST.ADDRESS + // recipient
193
+ CALLDATA_GAS_COST.ADDRESS + // vault
194
+ CALLDATA_GAS_COST.ADDRESS + // srcToken
195
+ CALLDATA_GAS_COST.ADDRESS + // destToken
196
+ CALLDATA_GAS_COST.AMOUNT + // srcAmount
197
+ CALLDATA_GAS_COST.AMOUNT + // destAmount
198
+ CALLDATA_GAS_COST.BOOL // useIous
199
+ );
200
+ }
201
+ /**
202
+ * Fetch vaults with tokens, decimals and TVL for getTopPoolsForToken
203
+ * This method is called by PoolTracker service which doesn't call initializePricing
204
+ */
205
+ async updatePoolState() {
206
+ const blockNumber = await this.dexHelper.provider.getBlockNumber();
207
+ const vaults = await this.factory.getStateOrGenerate(blockNumber);
208
+ if (vaults.length === 0) {
209
+ return this.logger.info(`${this.dexKey}: No vaults found in updatePoolState`);
210
+ }
211
+ const uniqueTokens = [
212
+ ...new Set(vaults.flatMap(v => v.tokens.map(t => t.address))),
213
+ ];
214
+ const decimalCalls = uniqueTokens.map(token => ({
215
+ target: token,
216
+ callData: '0x313ce567', // decimals()
217
+ decodeFunction: (result) => BigInt((0, decoders_1.uint8ToNumber)(result)),
218
+ }));
219
+ const totalAssetsCalls = vaults.map(vault => ({
220
+ target: vault.address,
221
+ callData: this.clearVaultIface.encodeFunctionData('totalAssets'),
222
+ decodeFunction: decoders_1.uint256ToBigInt,
223
+ }));
224
+ const results = await this.dexHelper.multiWrapper.tryAggregate(false, [...decimalCalls, ...totalAssetsCalls], blockNumber, this.dexHelper.multiWrapper.defaultBatchSize, false);
225
+ const callsOffset = uniqueTokens.length;
226
+ const tokenDecimals = {};
227
+ for (let i = 0; i < callsOffset; i++) {
228
+ const result = results[i];
229
+ tokenDecimals[uniqueTokens[i]] = result.success
230
+ ? Number(result.returnData)
231
+ : 18;
232
+ }
233
+ this.vaults = vaults.map((vault, i) => {
234
+ const result = results[callsOffset + i];
235
+ return {
236
+ address: vault.address,
237
+ tokens: vault.tokens.map(t => ({
238
+ address: t.address,
239
+ decimals: tokenDecimals[t.address.toLowerCase()] ?? 18,
240
+ })),
241
+ totalAssets: result.success ? result.returnData : undefined,
242
+ };
243
+ });
287
244
  }
288
245
  async getTopPoolsForToken(tokenAddress, limit) {
289
- const vaultsWithToken = this.vaults.filter(vault => vault.tokens.some(t => t.address.toLowerCase() === tokenAddress.toLowerCase()));
246
+ const tokenAddrLower = tokenAddress.toLowerCase();
247
+ const vaultsWithToken = this.vaults.filter(vault => vault.tokens.some(t => t.address.toLowerCase() === tokenAddrLower));
290
248
  if (vaultsWithToken.length === 0) {
291
249
  return [];
292
250
  }
293
- const tokenInfo = vaultsWithToken[0].tokens.find(t => t.address.toLowerCase() === tokenAddress.toLowerCase());
294
- if (!tokenInfo) {
295
- return [];
296
- }
297
- const decimals = parseInt(tokenInfo.decimals, 10);
298
- const amount = BigInt(10) ** BigInt(decimals);
299
- const tokenUsdPrice = await this.dexHelper.getTokenUSDPrice({ address: tokenAddress, decimals }, amount);
251
+ const usdAmounts = await this.dexHelper.getUsdTokenAmounts(vaultsWithToken.map(vault => [tokenAddress, vault.totalAssets ?? null]));
300
252
  const poolLiquidities = vaultsWithToken
301
- .map(vault => {
253
+ .map((vault, i) => {
302
254
  const connectorTokens = vault.tokens
303
- .filter(t => t.address.toLowerCase() !== tokenAddress.toLowerCase())
255
+ .filter(t => t.address.toLowerCase() !== tokenAddrLower)
304
256
  .map(t => ({
305
257
  address: t.address,
306
- decimals: parseInt(t.decimals, 10),
258
+ decimals: t.decimals ?? 18,
307
259
  }));
308
- if (connectorTokens.length === 0) {
260
+ if (connectorTokens.length === 0)
309
261
  return null;
310
- }
311
262
  return {
312
263
  exchange: this.dexKey,
313
264
  address: vault.address,
314
265
  connectorTokens,
315
- liquidityUSD: tokenUsdPrice,
266
+ liquidityUSD: usdAmounts[i],
316
267
  };
317
268
  })
318
269
  .filter((p) => p !== null);
@@ -1 +1 @@
1
- {"version":3,"file":"clear.js","sourceRoot":"","sources":["../../../src/dex/clear/clear.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clear.js","sourceRoot":"","sources":["../../../src/dex/clear/clear.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA+C;AAc/C,wDAAoD;AACpD,qCAAuC;AAEvC,+CAAoD;AACpD,2EAA6D;AAC7D,uCAAkE;AAClE,oFAA0D;AAC1D,sFAA4D;AAG5D,mDAA+C;AAC/C,iDAAoE;AACpE,gDAAmE;AAEnE,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B;;;;;;;;GAQG;AACH,MAAa,KAAM,SAAQ,gCAAc;IAgB5B;IACA;IACA;IAjBX,MAAM,CAAS;IACL,MAAM,CAAY;IAClB,OAAO,CAAe;IAEvB,4BAA4B,GAAG,KAAK,CAAC;IACrC,wBAAwB,GAAG,KAAK,CAAC;IAEnC,MAAM,CAAC,kBAAkB,GAC9B,IAAA,6BAAqB,EAAC,oBAAW,CAAC,CAAC;IAE5B,cAAc,GAAG,IAAI,eAAS,CAAC,wBAAY,CAAC,CAAC;IAC7C,eAAe,GAAG,IAAI,eAAS,CAAC,yBAAa,CAAC,CAAC;IAChD,MAAM,GAAiB,EAAE,CAAC;IAElC,YACW,OAAgB,EAChB,MAAc,EACd,SAAqB;QAE9B,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAJhB,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAY;QAG9B,IAAI,CAAC,MAAM,GAAG,oBAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,OAAO,GAAG,IAAI,4BAAY,CAC7B,MAAM,EACN,IAAI,CAAC,MAAM,EACX,OAAO,EACP,SAAS,EACT,IAAI,CAAC,MAAM,CACZ,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAe;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,QAAe,EACf,SAAgB,EAChB,IAAc,EACd,WAAmB;QAEnB,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QAErC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAE7C,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAChC,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CACzF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,QAAe,EACf,SAAgB,EAChB,OAAiB,EACjB,IAAc,EACd,WAAmB,EACnB,UAAqB;QAErB,2BAA2B;QAC3B,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,eAAe,GACnB,UAAU;YACV,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QAE1E,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAA8B,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,EAAE,CAAC;YAEtB,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;gBAC7C,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;gBAE9B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC;wBACT,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;wBAC/B,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,aAAa,EAAE;4BAC9D,YAAY;4BACZ,QAAQ,CAAC,OAAO;4BAChB,SAAS,CAAC,OAAO;4BACjB,MAAM;yBACP,CAAC;wBACF,cAAc,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;qBAC7D,CAAC,CAAC;gBACL,CAAC;gBAED,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAC5D,KAAK,EACL,KAAK,EACL,WAAW,EACX,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,gBAAgB,EAC5C,KAAK,CACN,CAAC;YAEF,MAAM,UAAU,GAA4B,EAAE,CAAC;YAE/C,KAAK,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC/D,MAAM,MAAM,GAAG;oBACb,EAAE;oBACF,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBAC/B,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;wBAChC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvC,CAAC,CAAC;iBACH,CAAC;gBAEF,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;oBAAE,SAAS;gBAE1C,UAAU,CAAC,IAAI,CAAC;oBACd,MAAM;oBACN,IAAI,EAAE,IAAA,oBAAY,EAAC,SAAS,CAAC,QAAQ,CAAC;oBACtC,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;oBACxB,eAAe,EAAE,CAAC,cAAc,CAAC;oBACjC,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,cAAc;oBAClD,aAAa,EAAE,CAAC,OAAO,CAAC;iBACzB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,eAAe;QACb,OAAO;YACL,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,WAAW,CACT,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,SAAkB,EAClB,IAAe,EACf,KAAe;QAEf,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAClE,SAAS;YACT,IAAI,CAAC,KAAK;YACV,QAAQ;YACR,SAAS;YACT,SAAS;YACT,UAAU;YACV,KAAK;SACN,CAAC,CAAC;QAEH,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB,EAAE,IAAI;YACzB,YAAY;YACZ,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACvC,eAAe,EAAE,IAAA,mCAA2B,EAC1C,IAAI,CAAC,cAAc,EACnB,MAAM,EACN,WAAW,CACZ;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,WAAkC;QACnD,OAAO,CACL,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,OAAO,GAAG,YAAY;YACxC,iBAAiB,CAAC,OAAO,GAAG,QAAQ;YACpC,iBAAiB,CAAC,OAAO,GAAG,WAAW;YACvC,iBAAiB,CAAC,OAAO,GAAG,YAAY;YACxC,iBAAiB,CAAC,MAAM,GAAG,YAAY;YACvC,iBAAiB,CAAC,MAAM,GAAG,aAAa;YACxC,iBAAiB,CAAC,IAAI,CAAC,UAAU;SAClC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAElE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CACrB,GAAG,IAAI,CAAC,MAAM,sCAAsC,CACrD,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG;YACnB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAC9D,CAAC;QAEF,MAAM,YAAY,GAA8B,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzE,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,YAAY,EAAE,aAAa;YACrC,cAAc,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAA,wBAAa,EAAC,MAAM,CAAC,CAAC;SAC/D,CAAC,CAAC,CAAC;QAEJ,MAAM,gBAAgB,GAA8B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvE,MAAM,EAAE,KAAK,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,CAAC;YAChE,cAAc,EAAE,0BAAe;SAChC,CAAC,CAAC,CAAC;QAEJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAC5D,KAAK,EACL,CAAC,GAAG,YAAY,EAAE,GAAG,gBAAgB,CAAC,EACtC,WAAW,EACX,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,gBAAgB,EAC5C,KAAK,CACN,CAAC;QAEF,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC;QAExC,MAAM,aAAa,GAA2B,EAAE,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO;gBAC7C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC3B,CAAC,CAAC,EAAE,CAAC;QACT,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAExC,OAAO;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC7B,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;iBACvD,CAAC,CAAC;gBACH,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;aAC5D,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,YAAqB,EACrB,KAAa;QAEb,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAElD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,CACnE,CAAC;QAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CACxD,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CACxE,CAAC;QAEF,MAAM,eAAe,GAAG,eAAe;aACpC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAChB,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM;iBACjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC;iBACvD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACT,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;aAC3B,CAAC,CAAC,CAAC;YAEN,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAE9C,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,eAAe;gBACf,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;aAC5B,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAEjD,OAAO,eAAe;aACnB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;aAC/C,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;;AApTH,sBAqTC"}
@@ -3,14 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClearConfig = void 0;
4
4
  const constants_1 = require("../../constants");
5
5
  exports.ClearConfig = {
6
- clear: {
6
+ Clear: {
7
7
  [constants_1.Network.MAINNET]: {
8
8
  factoryAddress: '0x8bF266ED803e474AE7Bf09ADB5ba2566c489223d',
9
9
  swapAddress: '0xeb5AD3D93E59eFcbC6934caD2B48EB33BAf29745',
10
- oracleAddress: '0x049ad7Ff0c6BdbaB86baf4b1A5a5cA975e234FCA',
11
- accessManagerAddress: '0x20a22791923E69f0f27166B59A12aF01cA4E4AF8',
12
10
  poolGasCost: 150_000,
13
- feeCode: 0,
14
11
  },
15
12
  },
16
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/clear/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE7B,QAAA,WAAW,GAA4B;IAClD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,cAAc,EAAE,4CAA4C;YAC5D,WAAW,EAAE,4CAA4C;YACzD,aAAa,EAAE,4CAA4C;YAC3D,oBAAoB,EAAE,4CAA4C;YAClE,WAAW,EAAE,OAAO;YACpB,OAAO,EAAE,CAAC;SACX;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/clear/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE7B,QAAA,WAAW,GAA4B;IAClD,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,cAAc,EAAE,4CAA4C;YAC5D,WAAW,EAAE,4CAA4C;YACzD,WAAW,EAAE,OAAO;SACrB;KACF;CACF,CAAC"}
@@ -1,30 +1,18 @@
1
1
  import { Address } from '../../types';
2
2
  export type ClearData = {
3
3
  vault: Address;
4
- router: Address;
5
4
  };
6
5
  export interface DexParams {
7
6
  factoryAddress: Address;
8
7
  swapAddress: Address;
9
- oracleAddress: Address;
10
- accessManagerAddress?: Address;
11
8
  poolGasCost?: number;
12
- feeCode: number;
13
9
  }
14
10
  export interface ClearVaultToken {
15
- id: string;
16
11
  address: string;
17
- symbol: string;
18
- decimals: string;
12
+ decimals?: number;
19
13
  }
20
14
  export interface ClearVault {
21
- id: string;
22
15
  address: string;
23
16
  tokens: ClearVaultToken[];
24
- }
25
- export interface PreviewSwapCallInfo {
26
- vaultAddress: string;
27
- poolIdentifier: string;
28
- isUnit: boolean;
29
- amountIndex: number;
17
+ totalAssets?: bigint;
30
18
  }
@@ -99,6 +99,7 @@ const usdc_transmuter_1 = require("./usdc-transmuter/usdc-transmuter");
99
99
  const blackhole_1 = require("./solidly/forks-override/blackhole");
100
100
  const blackhole_cl_1 = require("./algebra-integral/forks/blackhole-cl");
101
101
  const cap_1 = require("./cap/cap");
102
+ const clear_1 = require("./clear/clear");
102
103
  const LegacyDexes = [
103
104
  curve_v2_1.CurveV2,
104
105
  stable_pool_1.StablePool,
@@ -187,6 +188,7 @@ const Dexes = [
187
188
  blackhole_1.Blackhole,
188
189
  blackhole_cl_1.BlackholeCL,
189
190
  cap_1.Cap,
191
+ clear_1.Clear,
190
192
  ];
191
193
  class DexAdapterService {
192
194
  dexHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dex/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dex/index.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAEvB,kDAA8C;AAE9C,2DAAuD;AACvD,sCAAmC;AACnC,0EAAsE;AACtE,wDAAoD;AACpD,2DAAuD;AACvD,uDAA0D;AAC1D,wDAAoD;AACpD,sDAAwD;AACxD,sDAAsD;AACtD,gDAA6C;AAC7C,+CAA2C;AAC3C,+CAA2C;AAC3C,uCAAmC;AACnC,yCAAsC;AAEtC,4CAAwC;AAExC,sCAAmC;AACnC,qDAAgD;AAChD,yFAAoF;AACpF,iDAAkD;AAClD,+CAA4C;AAC5C,wDAAoD;AACpD,4DAAyD;AACzD,0DAAuD;AACvD,kEAA+D;AAC/D,sEAAmE;AACnE,wEAAqE;AACrE,qDAAkD;AAClD,kEAA+D;AAC/D,2DAAuD;AACvD,uDAA0D;AAC1D,kDAA8C;AAC9C,0EAAqE;AACrE,0EAAqE;AACrE,gFAA0E;AAC1E,4DAA4D;AAC5D,2DAAuD;AACvD,4CAAyC;AACzC,+CAA4C;AAC5C,+CAA4C;AAC5C,kDAA+C;AAC/C,iEAA6D;AAC7D,2DAAuD;AACvD,2DAAuD;AACvD,2DAAuD;AACvD,kDAA8C;AAC9C,uEAAiE;AACjE,oEAAgE;AAChE,+CAA4C;AAC5C,0EAAsE;AACtE,mFAA8E;AAC9E,+CAA4C;AAC5C,yCAAsC;AACtC,yCAAsC;AACtC,kEAA+D;AAC/D,yEAAqE;AACrE,uCAAoC;AACpC,4CAAyC;AACzC,yCAAsC;AACtC,iDAA6C;AAC7C,uGAAmG;AACnG,iEAA4D;AAC5D,0EAAoE;AACpE,yCAAsC;AACtC,qDAAiD;AACjD,oEAA+D;AAC/D,0EAAqE;AACrE,kDAA8C;AAC9C,kDAA8C;AAC9C,4CAAyC;AACzC,2DAAuD;AACvD,uDAA0D;AAC1D,iEAA6D;AAC7D,4CAAyC;AACzC,mDAA+C;AAC/C,6DAAwD;AACxD,6DAAwD;AACxD,iEAA2D;AAC3D,uDAAkD;AAClD,qDAAgD;AAChD,qDAAgD;AAChD,kDAA8C;AAC9C,0EAAsE;AACtE,yCAAsC;AACtC,wDAAoD;AACpD,kEAA6D;AAC7D,sDAAwD;AACxD,iEAA6D;AAC7D,sFAA+E;AAC/E,kDAA8C;AAC9C,uEAAmE;AACnE,kEAA+D;AAC/D,wEAAoE;AACpE,mCAAgC;AAChC,yCAAsC;AAEtC,MAAM,WAAW,GAAG;IAClB,kBAAO;IACP,wBAAU;IACV,gBAAM;IACN,gBAAM;IACN,0BAAW;IACX,8BAAY;IACZ,WAAI;IACJ,+BAAgB;IAChB,iBAAO;CACR,CAAC;AAEF,MAAM,KAAK,GAAG;IACZ,aAAK;IACL,iBAAO;IACP,kBAAO;IACP,uBAAS;IACT,wBAAU;IACV,wBAAU;IACV,wBAAU;IACV,sBAAS;IACT,sBAAS;IACT,sBAAS;IACT,iBAAO;IACP,kCAAe;IACf,+BAAa;IACb,8BAAa;IACb,0CAAmB;IACnB,eAAM;IACN,gBAAM;IACN,WAAI;IACJ,kCAAe;IACf,aAAK;IACL,mBAAO;IACP,2CAAmB;IACnB,iBAAO;IACP,kCAAe;IACf,2BAAY;IACZ,eAAM;IACN,aAAK;IACL,qBAAS;IACT,yBAAW;IACX,qBAAS;IACT,qBAAS;IACT,iCAAc;IACd,oCAAe;IACf,eAAM;IACN,iBAAO;IACP,mBAAQ;IACR,eAAM;IACN,wBAAU;IACV,wBAAU;IACV,iBAAO;IACP,kBAAO;IACP,kCAAe;IACf,uCAAiB;IACjB,sBAAS;IACT,aAAK;IACL,qBAAS;IACT,sBAAS;IACT,aAAK;IACL,oBAAQ;IACR,2BAAW;IACX,gCAAa;IACb,aAAK;IACL,iCAAc;IACd,kBAAO;IACP,kBAAO;IACP,sBAAS;IACT,eAAM;IACN,4BAAY;IACZ,eAAM;IACN,oBAAQ;IACR,6BAAY;IACZ,+BAAa;IACb,+BAAa;IACb,kCAAc;IACd,uBAAS;IACT,uBAAS;IACT,yBAAU;IACV,kBAAO;IACP,aAAK;IACL,4BAAY;IACZ,uCAAgB;IAChB,gBAAM;IACN,gCAAc;IACd,qBAAS;IACT,0BAAW;IACX,SAAG;IACH,aAAK;CACN,CAAC;AAYF,MAAa,iBAAiB;IAyBnB;IACA;IACG;IACA;IA3BZ,WAAW,GAEP,EAAE,CAAC;IACP,oBAAoB,CAAW;IAC/B,sBAAsB,CAAW;IACjC,YAAY,GAER,EAAE,CAAC;IACP,QAAQ,GAAkC,EAAE,CAAC;IAC7C,6CAA6C;IAC7C,OAAO,GAAa,EAAE,CAAC;IACvB,iBAAiB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC3C,cAAc,CAAgB;IAEvB,eAAe,GAAuC;QAC3D,2BAAe;QACf,2BAAe;QACf,2BAAe;QACf,wBAAY;QACZ,wBAAY;QACZ,0BAAc;KACf,CAAC;IAEF,YACS,SAAqB,EACrB,OAAe,EACZ,eAAyB,EAAE,EAC3B,cAAwB,EAAE;QAH7B,cAAS,GAAT,SAAS,CAAY;QACrB,YAAO,GAAP,OAAO,CAAQ;QACZ,iBAAY,GAAZ,YAAY,CAAe;QAC3B,gBAAW,GAAX,WAAW,CAAe;QAEpC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC/B,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC;gBACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,CAAC,MAA2B,EAAE,GAAW,EAAE,EAAE;YAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YAEjC,MAAM,eAAe,GACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CACvB,CAAC,WAAW,CAAC,oBAAQ,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,eAAe;gBACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBAClE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;oBAC1D,KAAK;iBACN,CAAC,CAAC,CAAC;YAEN,MAAM,cAAc,GAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CACvB,CAAC,WAAW,CAAC,oBAAQ,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,cAAc;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBAChE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;oBAC1D,KAAK;iBACN,CAAC,CAAC,CAAC;QACR,CAAC,CAAC;QAEF,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACzB,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;oBACpD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC9D,MAAM,GAAG,GAAG,IAAI,wBAAU,CACxB,OAAO,EACP,OAAO,EACP,SAAS,EACT,UAAU,CAAC,OAAO,CAAC,CACpB,CAAC;YACF,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACxB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,KAAK,CAAC;aACnD,OAAO,CAAC,UAAU,CAAC,EAAE;YACpB,MAAM,WAAW,GAAG,UAAoC,CAAC;YACzD,OAAO,WAAW,CAAC,qBAAqB;gBACtC,CAAC,CAAC,WAAW,CAAC,qBAAqB,EAAE;gBACrC,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAE7B,0DAA0D;QAC1D,IAAI,CAAC,sBAAsB,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,KAAK,EAAE,wBAAU,CAAC;aACjE,OAAO,CAAC,UAAU,CAAC,EAAE;YACpB,MAAM,WAAW,GAAG,UAAoC,CAAC;YACzD,OAAO,WAAW,CAAC,uBAAuB;gBACxC,CAAC,CAAC,WAAW,CAAC,uBAAuB,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAE7B,IAAI,CAAC,cAAc;YACjB,IAAI,CAAC,OAAO,IAAI,0BAAc;gBAC5B,CAAC,CAAC,0BAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;gBAC5C,CAAC,CAAC,IAAI,CAAC;IACb,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU;gBACb,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,qCAAqC,IAAI,CAAC,OAAO,IAAI,CAC/D,CAAC;YAEJ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAK,UAAmC,CACnE,IAAI,CAAC,SAAS,CACf,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,oBAAoB,CAAC,YAAoB;QACvC,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,sBAAsB,CAAC,YAAoB;QACzC,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,aAAa;QACX,OAAO,gBAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAwB,CAAC;IACxD,CAAC;IAED,iBAAiB,CAAC,OAAiB,oBAAQ,CAAC,IAAI;QAC9C,OAAO,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IACvE,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,aAAsB,KAAK;QAC1D,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,sBAAsB,KAAK,MAAM,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,cAAc;gBACtB,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,qCAAqC,IAAI,CAAC,OAAO,IAAI,CAC/D,CAAC;YACJ,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,MAAc,EAAE,IAAc;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1D,OAAO,IAAI,KAAK,oBAAQ,CAAC,IAAI;YAC3B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAED,qCAAqC,CAAC,MAAc;QAClD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO,CAAC,CAAC,GAAG,CAAC,4BAA4B,CAAC;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF;AAtLD,8CAsLC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "4.8.5",
3
+ "version": "4.8.6-clear.0",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",