@paraswap/dex-lib 2.35.3-base-support.0 → 2.35.3-quick-perps-proxy.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 (84) hide show
  1. package/build/abi/api3-proxy.json +7 -0
  2. package/build/abi/quickPerps/fast-price-events.json +70 -0
  3. package/build/abi/quickPerps/fast-price-feed.json +748 -0
  4. package/build/abi/quickPerps/reader.json +313 -0
  5. package/build/abi/quickPerps/vault-price-feed.json +477 -0
  6. package/build/abi/quickPerps/vault.json +1953 -0
  7. package/build/abi/woo-fi/WooFeeManager.abi.json +318 -0
  8. package/build/abi/woo-fi/WooPP.abi.json +548 -0
  9. package/build/abi/woo-fi/Wooracle.abi.json +260 -0
  10. package/build/config.js +0 -26
  11. package/build/config.js.map +1 -1
  12. package/build/constants.d.ts +1 -2
  13. package/build/constants.js +0 -1
  14. package/build/constants.js.map +1 -1
  15. package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
  16. package/build/dex/aave-v3/tokens/avalanche.json +74 -0
  17. package/build/dex/aave-v3/tokens/fantom.json +62 -0
  18. package/build/dex/aave-v3/tokens/optimism.json +50 -0
  19. package/build/dex/aave-v3/tokens/polygon.json +116 -0
  20. package/build/dex/quick-perps/pool.js +20 -6
  21. package/build/dex/quick-perps/pool.js.map +1 -1
  22. package/build/dex/quickswap/camelot-v3.d.ts +6 -0
  23. package/build/dex/quickswap/camelot-v3.js +19 -0
  24. package/build/dex/quickswap/camelot-v3.js.map +1 -0
  25. package/build/dex/quickswap-v3.d.ts +21 -0
  26. package/build/dex/quickswap-v3.js +40 -0
  27. package/build/dex/quickswap-v3.js.map +1 -0
  28. package/build/dex/test-dex/config.d.ts +4 -0
  29. package/build/dex/test-dex/config.js +15 -0
  30. package/build/dex/test-dex/config.js.map +1 -0
  31. package/build/dex/test-dex/test-dex-pool.d.ts +39 -0
  32. package/build/dex/test-dex/test-dex-pool.js +63 -0
  33. package/build/dex/test-dex/test-dex-pool.js.map +1 -0
  34. package/build/dex/test-dex/test-dex.d.ts +37 -0
  35. package/build/dex/test-dex/test-dex.js +126 -0
  36. package/build/dex/test-dex/test-dex.js.map +1 -0
  37. package/build/dex/test-dex/types.d.ts +6 -0
  38. package/build/dex/test-dex/types.js +3 -0
  39. package/build/dex/test-dex/types.js.map +1 -0
  40. package/build/dex/uniswap-v3/config.js +0 -16
  41. package/build/dex/uniswap-v3/config.js.map +1 -1
  42. package/build/dex/weth/config.js +0 -3
  43. package/build/dex/weth/config.js.map +1 -1
  44. package/build/dex/woo-fi/config.d.ts +4 -0
  45. package/build/dex/woo-fi/config.js +141 -0
  46. package/build/dex/woo-fi/config.js.map +1 -0
  47. package/build/dex/woo-fi/constants.d.ts +5 -0
  48. package/build/dex/woo-fi/constants.js +20 -0
  49. package/build/dex/woo-fi/constants.js.map +1 -0
  50. package/build/dex/woo-fi/types.d.ts +48 -0
  51. package/build/dex/woo-fi/types.js +3 -0
  52. package/build/dex/woo-fi/types.js.map +1 -0
  53. package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +14 -0
  54. package/build/dex/woo-fi/woo-fi-decimal-math.js +42 -0
  55. package/build/dex/woo-fi/woo-fi-decimal-math.js.map +1 -0
  56. package/build/dex/woo-fi/woo-fi-math.d.ts +31 -0
  57. package/build/dex/woo-fi/woo-fi-math.js +300 -0
  58. package/build/dex/woo-fi/woo-fi-math.js.map +1 -0
  59. package/build/dex/woo-fi/woo-fi.d.ts +65 -0
  60. package/build/dex/woo-fi/woo-fi.js +480 -0
  61. package/build/dex/woo-fi/woo-fi.js.map +1 -0
  62. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
  63. package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
  64. package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
  65. package/build/lib/api3-feed.d.ts +4 -0
  66. package/build/lib/api3-feed.js +18 -0
  67. package/build/lib/api3-feed.js.map +1 -1
  68. package/package.json +1 -1
  69. package/src/abi/api3-proxy.json +7 -0
  70. package/src/config.ts +1 -27
  71. package/src/constants.ts +0 -1
  72. package/src/dex/quick-perps/pool.ts +41 -7
  73. package/src/dex/quick-perps/quick-perps-events.test.ts +0 -1
  74. package/src/dex/uniswap-v3/config.ts +0 -17
  75. package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +0 -95
  76. package/src/dex/weth/config.ts +0 -3
  77. package/src/lib/api3-feed.ts +35 -0
  78. package/tests/constants-e2e.ts +0 -17
  79. package/build/dex/pancakeswap-v3/types.d.ts +0 -137
  80. package/build/dex/pancakeswap-v3/types.js +0 -9
  81. package/build/dex/pancakeswap-v3/types.js.map +0 -1
  82. package/build/web3-provider.d.ts +0 -3
  83. package/build/web3-provider.js +0 -13
  84. package/build/web3-provider.js.map +0 -1
@@ -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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"}
@@ -16,7 +16,11 @@ export declare class Api3FeedSubscriber<State> extends PartialEventSubscriber<St
16
16
  static readonly ANSWER_UPDATED_BEACON_SET_DATA: string;
17
17
  constructor(proxy: Address, api3Server: Address, dataFeedId: string, lens: Lens<DeepReadonly<State>, DeepReadonly<Api3FeedSubscriberState>>, logger: Logger);
18
18
  static getApi3ServerV1MultiCallInput(proxy: Address): MultiCallInput;
19
+ static getDapiNameHashMultiCallInput(proxy: Address): MultiCallInput;
19
20
  static getDataFeedId(proxy: Address): MultiCallInput;
21
+ static getFeedIdFromDapiNameHash(api3Server: Address, dapiNameHash: string): MultiCallInput;
22
+ static decodeFeedIdFromDapiNameHash(multicallOutput: MultiCallOutput): any;
23
+ static decodeDapiNameHash(multicallOutput: MultiCallOutput): any;
20
24
  static decodeDataFeedId(multicallOutput: MultiCallOutput): any;
21
25
  static decodeApi3ServerV1Result(multicallOutput: MultiCallOutput): Address;
22
26
  processLog(state: DeepReadonly<Api3FeedSubscriberState>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): DeepReadonly<Api3FeedSubscriberState> | null;
@@ -20,12 +20,30 @@ class Api3FeedSubscriber extends composed_event_subscriber_1.PartialEventSubscri
20
20
  callData: Api3FeedSubscriber.proxyInterface.encodeFunctionData('api3ServerV1'),
21
21
  };
22
22
  }
23
+ static getDapiNameHashMultiCallInput(proxy) {
24
+ return {
25
+ target: proxy,
26
+ callData: Api3FeedSubscriber.proxyInterface.encodeFunctionData('dapiNameHash'),
27
+ };
28
+ }
23
29
  static getDataFeedId(proxy) {
24
30
  return {
25
31
  target: proxy,
26
32
  callData: Api3FeedSubscriber.proxyInterface.encodeFunctionData('dataFeedId'),
27
33
  };
28
34
  }
35
+ static getFeedIdFromDapiNameHash(api3Server, dapiNameHash) {
36
+ return {
37
+ target: api3Server,
38
+ callData: Api3FeedSubscriber.api3ServerV1Iface.encodeFunctionData('dapiNameHashToDataFeedId', [dapiNameHash]),
39
+ };
40
+ }
41
+ static decodeFeedIdFromDapiNameHash(multicallOutput) {
42
+ return Api3FeedSubscriber.api3ServerV1Iface.decodeFunctionResult('dapiNameHashToDataFeedId', multicallOutput)[0];
43
+ }
44
+ static decodeDapiNameHash(multicallOutput) {
45
+ return Api3FeedSubscriber.proxyInterface.decodeFunctionResult('dapiNameHash', multicallOutput)[0];
46
+ }
29
47
  static decodeDataFeedId(multicallOutput) {
30
48
  return Api3FeedSubscriber.proxyInterface.decodeFunctionResult('dataFeedId', multicallOutput)[0];
31
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api3-feed.js","sourceRoot":"","sources":["../../src/lib/api3-feed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api3-feed.js","sourceRoot":"","sources":["../../src/lib/api3-feed.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.35.3-base-support.0",
3
+ "version": "2.35.3-quick-perps-proxy.0",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -42,5 +42,12 @@
42
42
  ],
43
43
  "stateMutability": "view",
44
44
  "type": "function"
45
+ },
46
+ {
47
+ "inputs": [],
48
+ "name": "dapiNameHash",
49
+ "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
50
+ "stateMutability": "view",
51
+ "type": "function"
45
52
  }
46
53
  ]
package/src/config.ts CHANGED
@@ -317,6 +317,7 @@ const baseConfigs: { [network: number]: BaseConfig } = {
317
317
  rpcPollingBlocksBackToTriggerUpdate: 3,
318
318
  forceRpcFallbackDexs: [],
319
319
  },
320
+
320
321
  [Network.ZKEVM]: {
321
322
  network: Network.ZKEVM,
322
323
  networkName: 'Polygon zkEVM',
@@ -346,33 +347,6 @@ const baseConfigs: { [network: number]: BaseConfig } = {
346
347
  // FIXME: Not set properly
347
348
  uniswapV2ExchangeRouterAddress: '',
348
349
  },
349
- [Network.BASE]: {
350
- network: Network.BASE,
351
- networkName: 'Base',
352
- isTestnet: false,
353
- nativeTokenName: 'Ether',
354
- nativeTokenSymbol: 'ETH',
355
- wrappedNativeTokenAddress: '0x4200000000000000000000000000000000000006',
356
- hasEIP1559: false,
357
- augustusAddress: '0x793a0Bb089c6787e84277f08179DAC594eDb9443',
358
- augustusRFQAddress: '0xa003dFBA51C9e1e56C67ae445b852bdEd7aC5EEd',
359
- tokenTransferProxyAddress: '0xCADa28FC80ceB3baF3BEa4C2d7a819e69435907E',
360
- multicallV2Address: '0xeDF6D2a16e8081F777eB623EeB4411466556aF3d',
361
- privateHttpProvider: process.env.HTTP_PROVIDER_8453,
362
- hashFlowAuthToken: process.env.API_KEY_HASHFLOW_AUTH_TOKEN || '',
363
- hashFlowDisabledMMs: [],
364
- adapterAddresses: {
365
- BaseAdapter01: '0x9F77bb28e97F093Aa6CbE37cE095C18605d98Af2',
366
- BaseBuyAdapter: '0x8DE036910e34b0d8447Dd0D34C742636de1DDfEb',
367
- },
368
- uniswapV2ExchangeRouterAddress:
369
- '0x75d199EfB540e47D27D52c62Da3E7daC2B9e834F',
370
- uniswapV3EventLoggingSampleRate: 0,
371
- rfqConfigs: {},
372
- rpcPollingMaxAllowedStateDelayInBlocks: 5,
373
- rpcPollingBlocksBackToTriggerUpdate: 3,
374
- forceRpcFallbackDexs: [],
375
- },
376
350
  };
377
351
 
378
352
  // Should not be used, except by internal test code
package/src/constants.ts CHANGED
@@ -38,7 +38,6 @@ export enum Network {
38
38
  FANTOM = 250,
39
39
  ARBITRUM = 42161,
40
40
  OPTIMISM = 10,
41
- BASE = 8453,
42
41
  }
43
42
  export const SUBGRAPH_TIMEOUT = 20 * 1000;
44
43
 
@@ -283,7 +283,8 @@ export class QuickPerpsEventPool extends ComposedEventSubscriber<PoolState> {
283
283
  for (let priceFeed of priceFeeds) {
284
284
  const api3ServerAddressCallData =
285
285
  Api3FeedSubscriber.getApi3ServerV1MultiCallInput(priceFeed);
286
- const dataFeedIdCallData = Api3FeedSubscriber.getDataFeedId(priceFeed);
286
+ const dataFeedIdCallData =
287
+ Api3FeedSubscriber.getDapiNameHashMultiCallInput(priceFeed);
287
288
  multiCallData.push(...[api3ServerAddressCallData, dataFeedIdCallData]);
288
289
  multicallSlices.push([i, i + 2]);
289
290
  i += 2;
@@ -315,24 +316,31 @@ export class QuickPerpsEventPool extends ComposedEventSubscriber<PoolState> {
315
316
  await multiContract.methods.aggregate(multiCallData).call({}, blockNumber)
316
317
  ).returnData;
317
318
 
318
- const api3ServerV1: {
319
+ const api3ServerV1Prep: {
319
320
  [address: string]: {
320
321
  proxy: Address;
321
322
  api3ServerV1: Address;
322
- dataFeedId: string;
323
323
  };
324
324
  } = {};
325
+ const getFeedIdRequests: MultiCallInput[] = [];
326
+
325
327
  for (let token of tokens) {
326
- const [api3ServerAddressRes, dataFeedIdRes] = configResults.slice(
328
+ const [api3ServerAddressRes, dapiNameHashRes] = configResults.slice(
327
329
  ...multicallSlices.shift()!,
328
330
  );
329
331
  const serverV1Address =
330
332
  Api3FeedSubscriber.decodeApi3ServerV1Result(api3ServerAddressRes);
331
- const dataFeedId = Api3FeedSubscriber.decodeDataFeedId(dataFeedIdRes);
332
- api3ServerV1[token] = {
333
+ const dapiNameHash =
334
+ Api3FeedSubscriber.decodeDapiNameHash(dapiNameHashRes);
335
+ getFeedIdRequests.push(
336
+ Api3FeedSubscriber.getFeedIdFromDapiNameHash(
337
+ serverV1Address,
338
+ dapiNameHash,
339
+ ),
340
+ );
341
+ api3ServerV1Prep[token] = {
333
342
  proxy: priceFeeds.shift(),
334
343
  api3ServerV1: serverV1Address,
335
- dataFeedId,
336
344
  };
337
345
  }
338
346
 
@@ -355,6 +363,32 @@ export class QuickPerpsEventPool extends ComposedEventSubscriber<PoolState> {
355
363
  const vaultConfigResults = configResults.slice(...multicallSlices.shift()!);
356
364
  const vaultConfig = Vault.getConfig(vaultConfigResults, tokens);
357
365
 
366
+ const feedIdResults = (
367
+ await multiContract.methods
368
+ .aggregate(getFeedIdRequests)
369
+ .call({}, blockNumber)
370
+ ).returnData;
371
+
372
+ const api3ServerV1: {
373
+ [address: string]: {
374
+ proxy: Address;
375
+ api3ServerV1: Address;
376
+ dataFeedId: string;
377
+ };
378
+ } = {};
379
+ for (let [i, token] of tokens.entries()) {
380
+ const { proxy, api3ServerV1: api3ServerAddress } =
381
+ api3ServerV1Prep[token];
382
+ const dataFeedId = Api3FeedSubscriber.decodeFeedIdFromDapiNameHash(
383
+ feedIdResults[i],
384
+ );
385
+ api3ServerV1[token] = {
386
+ proxy,
387
+ api3ServerV1: api3ServerAddress,
388
+ dataFeedId,
389
+ };
390
+ }
391
+
358
392
  return {
359
393
  vaultAddress: dexParams.vault,
360
394
  readerAddress: dexParams.reader,
@@ -81,7 +81,6 @@ describe('QuickPerps Event', function () {
81
81
  dexKey,
82
82
  network,
83
83
  dexHelper,
84
- logger,
85
84
  config,
86
85
  );
87
86
  await testEventSubscriber(
@@ -106,19 +106,6 @@ export const UniswapV3Config: DexConfigMap<DexParams> = {
106
106
  subgraphURL:
107
107
  'https://api.thegraph.com/subgraphs/name/lynnshaoyu/uniswap-v3-avax',
108
108
  },
109
- [Network.BASE]: {
110
- factory: '0x33128a8fC17869897dcE68Ed026d694621f6FDfD',
111
- quoter: '0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a',
112
- router: '0xaeE2b8d4A154e36f479dAeCe3FB3e6c3c03d396E',
113
- supportedFees: SUPPORTED_FEES,
114
- stateMulticall: '0x7160f736c52e1e78e92FD4eE4D73e21A7Cf4F950',
115
- uniswapMulticall: '0x091e99cb1C49331a94dD62755D168E941AbD0693',
116
- chunksCount: 10,
117
- initRetryFrequency: 10,
118
- initHash: `0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54`,
119
- subgraphURL:
120
- 'https://api.thegraph.com/subgraphs/name/lynnshaoyu/uniswap-v3-base',
121
- },
122
109
  },
123
110
  SushiSwapV3: {
124
111
  [Network.MAINNET]: {
@@ -296,8 +283,4 @@ export const Adapters: Record<number, AdapterMappings> = {
296
283
  [SwapSide.SELL]: [{ name: 'AvalancheAdapter02', index: 5 }],
297
284
  [SwapSide.BUY]: [{ name: 'AvalancheBuyAdapter', index: 6 }],
298
285
  },
299
- [Network.BASE]: {
300
- [SwapSide.SELL]: [{ name: 'BaseAdapter01', index: 1 }],
301
- [SwapSide.BUY]: [{ name: 'BaseBuyAdapter', index: 1 }],
302
- },
303
286
  };
@@ -403,101 +403,6 @@ describe('UniswapV3 E2E', () => {
403
403
  );
404
404
  });
405
405
 
406
- describe('UniswapV3 Base', () => {
407
- const network = Network.BASE;
408
- const tokens = Tokens[network];
409
- const holders = Holders[network];
410
- const provider = new StaticJsonRpcProvider(
411
- generateConfig(network).privateHttpProvider,
412
- network,
413
- );
414
-
415
- const tokenASymbol: string = 'PRIME';
416
- const tokenBSymbol: string = 'WETH';
417
- const nativeTokenSymbol = NativeTokenSymbols[network];
418
-
419
- const tokenAAmount: string = '1000000000000000000';
420
- const tokenBAmount: string = '1000000000000000000';
421
- const nativeTokenAmount = '1000000000000000000';
422
-
423
- const sideToContractMethods = new Map([
424
- [
425
- SwapSide.SELL,
426
- [
427
- // ContractMethod.simpleSwap,
428
- ContractMethod.multiSwap,
429
- // ContractMethod.megaSwap,
430
- ],
431
- ],
432
- [
433
- SwapSide.BUY,
434
- [
435
- // ContractMethod.simpleBuy,
436
- // ContractMethod.buy
437
- ],
438
- ],
439
- ]);
440
-
441
- sideToContractMethods.forEach((contractMethods, side) =>
442
- contractMethods.forEach((contractMethod: ContractMethod) => {
443
- describe(`${contractMethod}`, () => {
444
- it(`${network} ${side} ${contractMethod} ${nativeTokenSymbol} -> ${tokenASymbol}`, async () => {
445
- await testE2E(
446
- tokens[nativeTokenSymbol],
447
- tokens[tokenASymbol],
448
- holders[nativeTokenSymbol],
449
- side === SwapSide.SELL ? nativeTokenAmount : tokenAAmount,
450
- side,
451
- dexKey,
452
- contractMethod,
453
- network,
454
- provider,
455
- );
456
- });
457
- it(`${network} ${side} ${contractMethod} ${tokenASymbol} -> ${nativeTokenSymbol}`, async () => {
458
- await testE2E(
459
- tokens[tokenASymbol],
460
- tokens[nativeTokenSymbol],
461
- holders[tokenASymbol],
462
- side === SwapSide.SELL ? tokenAAmount : nativeTokenAmount,
463
- side,
464
- dexKey,
465
- contractMethod,
466
- network,
467
- provider,
468
- );
469
- });
470
- it(`${network} ${side} ${contractMethod} ${tokenBSymbol} -> ${tokenASymbol}`, async () => {
471
- await testE2E(
472
- tokens[tokenBSymbol],
473
- tokens[tokenASymbol],
474
- holders[tokenASymbol],
475
- side === SwapSide.SELL ? tokenBAmount : tokenAAmount,
476
- side,
477
- dexKey,
478
- contractMethod,
479
- network,
480
- provider,
481
- );
482
- });
483
- it(`${network} ${side} ${contractMethod} ${tokenASymbol} -> ${tokenBSymbol}`, async () => {
484
- await testE2E(
485
- tokens[tokenASymbol],
486
- tokens[tokenBSymbol],
487
- holders[tokenASymbol],
488
- side === SwapSide.SELL ? tokenAAmount : tokenBAmount,
489
- side,
490
- dexKey,
491
- contractMethod,
492
- network,
493
- provider,
494
- );
495
- });
496
- });
497
- }),
498
- );
499
- });
500
-
501
406
  describe('UniswapV3 Avalanche', () => {
502
407
  const network = Network.AVALANCHE;
503
408
  const tokens = Tokens[network];
@@ -25,9 +25,6 @@ export const WethConfig: DexConfigMap<DexParams> = {
25
25
  [Network.ZKEVM]: {
26
26
  poolGasCost: WethGasCost,
27
27
  },
28
- [Network.BASE]: {
29
- poolGasCost: WethGasCost,
30
- },
31
28
  },
32
29
  Wbnb: {
33
30
  [Network.BSC]: {
@@ -51,6 +51,14 @@ export class Api3FeedSubscriber<State> extends PartialEventSubscriber<
51
51
  };
52
52
  }
53
53
 
54
+ static getDapiNameHashMultiCallInput(proxy: Address): MultiCallInput {
55
+ return {
56
+ target: proxy,
57
+ callData:
58
+ Api3FeedSubscriber.proxyInterface.encodeFunctionData('dapiNameHash'),
59
+ };
60
+ }
61
+
54
62
  static getDataFeedId(proxy: Address): MultiCallInput {
55
63
  return {
56
64
  target: proxy,
@@ -59,6 +67,33 @@ export class Api3FeedSubscriber<State> extends PartialEventSubscriber<
59
67
  };
60
68
  }
61
69
 
70
+ static getFeedIdFromDapiNameHash(
71
+ api3Server: Address,
72
+ dapiNameHash: string,
73
+ ): MultiCallInput {
74
+ return {
75
+ target: api3Server,
76
+ callData: Api3FeedSubscriber.api3ServerV1Iface.encodeFunctionData(
77
+ 'dapiNameHashToDataFeedId',
78
+ [dapiNameHash],
79
+ ),
80
+ };
81
+ }
82
+
83
+ static decodeFeedIdFromDapiNameHash(multicallOutput: MultiCallOutput) {
84
+ return Api3FeedSubscriber.api3ServerV1Iface.decodeFunctionResult(
85
+ 'dapiNameHashToDataFeedId',
86
+ multicallOutput,
87
+ )[0];
88
+ }
89
+
90
+ static decodeDapiNameHash(multicallOutput: MultiCallOutput) {
91
+ return Api3FeedSubscriber.proxyInterface.decodeFunctionResult(
92
+ 'dapiNameHash',
93
+ multicallOutput,
94
+ )[0];
95
+ }
96
+
62
97
  static decodeDataFeedId(multicallOutput: MultiCallOutput) {
63
98
  return Api3FeedSubscriber.proxyInterface.decodeFunctionResult(
64
99
  'dataFeedId',
@@ -883,17 +883,6 @@ export const Tokens: {
883
883
  decimals: 6,
884
884
  },
885
885
  },
886
- [Network.BASE]: {
887
- PRIME: {
888
- address: '0xfA980cEd6895AC314E7dE34Ef1bFAE90a5AdD21b',
889
- decimals: 18,
890
- },
891
- WETH: {
892
- address: '0x4200000000000000000000000000000000000006',
893
- decimals: 18,
894
- },
895
- ETH: { address: ETHER_ADDRESS, decimals: 18 },
896
- },
897
886
  };
898
887
 
899
888
  export const Holders: {
@@ -1113,11 +1102,6 @@ export const Holders: {
1113
1102
  WBTC: '0x99b31498b0a1dae01fc3433e3cb60f095340935c',
1114
1103
  USDC: '0x99b31498b0a1dae01fc3433e3cb60f095340935c',
1115
1104
  },
1116
- [Network.BASE]: {
1117
- WETH: '0x4bb6b2efe7036020ba6f02a05602546c9f25bf28',
1118
- PRIME: '0x956bcc6b56c99db382d9d97a30ba5f1402144b3e',
1119
- ETH: '0xdd9176ea3e7559d6b68b537ef555d3e89403f742',
1120
- },
1121
1105
  };
1122
1106
 
1123
1107
  export const SmartTokens = Object.keys(Tokens).reduce((acc, _network) => {
@@ -1142,5 +1126,4 @@ export const NativeTokenSymbols: { [network: number]: string } = {
1142
1126
  [Network.FANTOM]: 'FTM',
1143
1127
  [Network.ARBITRUM]: 'ETH',
1144
1128
  [Network.OPTIMISM]: 'ETH',
1145
- [Network.BASE]: 'ETH',
1146
1129
  };
@@ -1,137 +0,0 @@
1
- import { BigNumber } from 'ethers';
2
- import { NumberAsString } from '../../types';
3
- import { Address } from '../../types';
4
- export declare type OracleObservation = {
5
- blockTimestamp: bigint;
6
- tickCumulative: bigint;
7
- secondsPerLiquidityCumulativeX128: bigint;
8
- initialized: boolean;
9
- };
10
- export declare type OracleObservationCandidates = {
11
- beforeOrAt: OracleObservation;
12
- atOrAfter: OracleObservation;
13
- };
14
- export declare type TickInfo = {
15
- liquidityGross: bigint;
16
- liquidityNet: bigint;
17
- tickCumulativeOutside: bigint;
18
- secondsPerLiquidityOutsideX128: bigint;
19
- secondsOutside: bigint;
20
- initialized: boolean;
21
- };
22
- export declare type Slot0 = {
23
- sqrtPriceX96: bigint;
24
- tick: bigint;
25
- observationIndex: number;
26
- observationCardinality: number;
27
- observationCardinalityNext: number;
28
- feeProtocol: bigint;
29
- };
30
- export declare type PoolState = {
31
- pool: string;
32
- blockTimestamp: bigint;
33
- tickSpacing: bigint;
34
- fee: bigint;
35
- slot0: Slot0;
36
- liquidity: bigint;
37
- maxLiquidityPerTick: bigint;
38
- tickBitmap: Record<NumberAsString, bigint>;
39
- ticks: Record<NumberAsString, TickInfo>;
40
- observations: Record<number, OracleObservation>;
41
- isValid: boolean;
42
- startTickBitmap: bigint;
43
- lowestKnownTick: bigint;
44
- highestKnownTick: bigint;
45
- balance0: bigint;
46
- balance1: bigint;
47
- };
48
- export declare type UniswapV3Data = {
49
- path: {
50
- tokenIn: Address;
51
- tokenOut: Address;
52
- fee: NumberAsString;
53
- }[];
54
- };
55
- export declare type DexParams = {
56
- router: Address;
57
- quoter: Address;
58
- factory: Address;
59
- stateMulticall: Address;
60
- uniswapMulticall: Address;
61
- supportedFees: bigint[];
62
- chunksCount: number;
63
- deployer?: Address;
64
- subgraphURL: string;
65
- initHash: string;
66
- };
67
- export declare type UniswapV3SellParam = {
68
- path: string;
69
- recipient: Address;
70
- deadline: string;
71
- amountIn: NumberAsString;
72
- amountOutMinimum: NumberAsString;
73
- };
74
- export declare type UniswapV3BuyParam = {
75
- path: string;
76
- recipient: Address;
77
- deadline: string;
78
- amountOut: NumberAsString;
79
- amountInMaximum: NumberAsString;
80
- };
81
- export declare type UniswapV3Param = UniswapV3SellParam | UniswapV3BuyParam;
82
- export declare enum UniswapV3Functions {
83
- exactInput = "exactInput",
84
- exactOutput = "exactOutput"
85
- }
86
- export declare type TickInfoMappings = {
87
- index: number;
88
- value: TickInfo;
89
- };
90
- export declare type TickBitMapMappings = {
91
- index: number;
92
- value: bigint;
93
- };
94
- export declare type OutputResult = {
95
- outputs: bigint[];
96
- tickCounts: number[];
97
- };
98
- export declare type TickBitMapMappingsWithBigNumber = {
99
- index: number;
100
- value: BigNumber;
101
- };
102
- export declare type TickInfoWithBigNumber = {
103
- initialized: boolean;
104
- liquidityGross: BigNumber;
105
- liquidityNet: BigNumber;
106
- secondsOutside: number;
107
- secondsPerLiquidityOutsideX128: BigNumber;
108
- tickCumulativeOutside: BigNumber;
109
- };
110
- export declare type TickInfoMappingsWithBigNumber = {
111
- index: number;
112
- value: TickInfoWithBigNumber;
113
- };
114
- export declare type DecodedStateMultiCallResultWithRelativeBitmaps = {
115
- pool: Address;
116
- blockTimestamp: BigNumber;
117
- slot0: {
118
- feeProtocol: number;
119
- observationCardinality: number;
120
- observationCardinalityNext: number;
121
- observationIndex: number;
122
- sqrtPriceX96: BigNumber;
123
- tick: number;
124
- unlocked: boolean;
125
- };
126
- liquidity: BigNumber;
127
- tickSpacing: number;
128
- maxLiquidityPerTick: BigNumber;
129
- observation: {
130
- blockTimestamp: number;
131
- initialized: boolean;
132
- secondsPerLiquidityCumulativeX128: BigNumber;
133
- tickCumulative: BigNumber;
134
- };
135
- tickBitmap: TickBitMapMappingsWithBigNumber[];
136
- ticks: TickInfoMappingsWithBigNumber[];
137
- };
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UniswapV3Functions = void 0;
4
- var UniswapV3Functions;
5
- (function (UniswapV3Functions) {
6
- UniswapV3Functions["exactInput"] = "exactInput";
7
- UniswapV3Functions["exactOutput"] = "exactOutput";
8
- })(UniswapV3Functions = exports.UniswapV3Functions || (exports.UniswapV3Functions = {}));
9
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/pancakeswap-v3/types.ts"],"names":[],"mappings":";;;AA4FA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,iDAA2B,CAAA;AAC7B,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
@@ -1,3 +0,0 @@
1
- import { Network } from './constants';
2
- import { StaticJsonRpcProvider } from '@ethersproject/providers';
3
- export declare function getRpcProvider(network: Network, url?: string): StaticJsonRpcProvider;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRpcProvider = void 0;
4
- const providers_1 = require("@ethersproject/providers");
5
- const config_1 = require("./config");
6
- function getRpcProvider(network, url) {
7
- return new providers_1.StaticJsonRpcProvider({
8
- url: url ?? (0, config_1.generateConfig)(network).privateHttpProvider,
9
- allowGzip: true,
10
- }, network);
11
- }
12
- exports.getRpcProvider = getRpcProvider;
13
- //# sourceMappingURL=web3-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web3-provider.js","sourceRoot":"","sources":["../src/web3-provider.ts"],"names":[],"mappings":";;;AACA,wDAAiE;AACjE,qCAA0C;AAG1C,SAAgB,cAAc,CAAC,OAAgB,EAAE,GAAY;IAC3D,OAAO,IAAI,iCAAqB,CAC9B;QACE,GAAG,EAAE,GAAG,IAAI,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC,mBAAmB;QACvD,SAAS,EAAE,IAAI;KAChB,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AARD,wCAQC"}