@paraswap/dex-lib 2.35.2-opbnb-integration.2 → 2.35.3-base-support.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.
- package/build/config.js +26 -0
- package/build/config.js.map +1 -1
- package/build/constants.d.ts +2 -2
- package/build/constants.js +1 -1
- package/build/constants.js.map +1 -1
- package/build/dex/algebra/algebra.js +3 -1
- package/build/dex/algebra/algebra.js.map +1 -1
- package/build/dex/algebra/config.js +1 -0
- package/build/dex/algebra/config.js.map +1 -1
- package/build/dex/algebra/types.d.ts +1 -0
- package/build/dex/pancakeswap-v3/types.d.ts +137 -0
- package/build/dex/pancakeswap-v3/types.js +9 -0
- package/build/dex/pancakeswap-v3/types.js.map +1 -0
- package/build/dex/uniswap-v2/config.js +0 -18
- package/build/dex/uniswap-v2/config.js.map +1 -1
- package/build/dex/uniswap-v3/config.js +16 -0
- package/build/dex/uniswap-v3/config.js.map +1 -1
- package/build/dex/weth/config.js +3 -6
- package/build/dex/weth/config.js.map +1 -1
- package/build/web3-provider.d.ts +3 -0
- package/build/web3-provider.js +13 -0
- package/build/web3-provider.js.map +1 -0
- package/package.json +1 -1
- package/src/config.ts +27 -1
- package/src/constants.ts +1 -1
- package/src/dex/algebra/algebra.ts +5 -2
- package/src/dex/algebra/config.ts +1 -0
- package/src/dex/algebra/types.ts +1 -0
- package/src/dex/uniswap-v2/config.ts +0 -20
- package/src/dex/uniswap-v3/config.ts +17 -0
- package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +95 -0
- package/src/dex/weth/config.ts +3 -6
- package/tests/constants-e2e.ts +10 -17
- package/build/abi/quickPerps/fast-price-events.json +0 -70
- package/build/abi/quickPerps/fast-price-feed.json +0 -748
- package/build/abi/quickPerps/reader.json +0 -313
- package/build/abi/quickPerps/vault-price-feed.json +0 -477
- package/build/abi/quickPerps/vault.json +0 -1953
- package/build/abi/woo-fi/WooFeeManager.abi.json +0 -318
- package/build/abi/woo-fi/WooPP.abi.json +0 -548
- package/build/abi/woo-fi/Wooracle.abi.json +0 -260
- package/build/dex/aave-v3/tokens/arbitrum.json +0 -50
- package/build/dex/aave-v3/tokens/avalanche.json +0 -74
- package/build/dex/aave-v3/tokens/fantom.json +0 -62
- package/build/dex/aave-v3/tokens/optimism.json +0 -50
- package/build/dex/aave-v3/tokens/polygon.json +0 -116
- package/build/dex/quickswap/camelot-v3.d.ts +0 -6
- package/build/dex/quickswap/camelot-v3.js +0 -19
- package/build/dex/quickswap/camelot-v3.js.map +0 -1
- package/build/dex/quickswap-v3.d.ts +0 -21
- package/build/dex/quickswap-v3.js +0 -40
- package/build/dex/quickswap-v3.js.map +0 -1
- package/build/dex/test-dex/config.d.ts +0 -4
- package/build/dex/test-dex/config.js +0 -15
- package/build/dex/test-dex/config.js.map +0 -1
- package/build/dex/test-dex/test-dex-pool.d.ts +0 -39
- package/build/dex/test-dex/test-dex-pool.js +0 -63
- package/build/dex/test-dex/test-dex-pool.js.map +0 -1
- package/build/dex/test-dex/test-dex.d.ts +0 -37
- package/build/dex/test-dex/test-dex.js +0 -126
- package/build/dex/test-dex/test-dex.js.map +0 -1
- package/build/dex/test-dex/types.d.ts +0 -6
- package/build/dex/test-dex/types.js +0 -3
- package/build/dex/test-dex/types.js.map +0 -1
- package/build/dex/woo-fi/config.d.ts +0 -4
- package/build/dex/woo-fi/config.js +0 -141
- package/build/dex/woo-fi/config.js.map +0 -1
- package/build/dex/woo-fi/constants.d.ts +0 -5
- package/build/dex/woo-fi/constants.js +0 -20
- package/build/dex/woo-fi/constants.js.map +0 -1
- package/build/dex/woo-fi/types.d.ts +0 -48
- package/build/dex/woo-fi/types.js +0 -3
- package/build/dex/woo-fi/types.js.map +0 -1
- package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +0 -14
- package/build/dex/woo-fi/woo-fi-decimal-math.js +0 -42
- package/build/dex/woo-fi/woo-fi-decimal-math.js.map +0 -1
- package/build/dex/woo-fi/woo-fi-math.d.ts +0 -31
- package/build/dex/woo-fi/woo-fi-math.js +0 -300
- package/build/dex/woo-fi/woo-fi-math.js.map +0 -1
- package/build/dex/woo-fi/woo-fi.d.ts +0 -65
- package/build/dex/woo-fi/woo-fi.js +0 -480
- package/build/dex/woo-fi/woo-fi.js.map +0 -1
- package/build/dex/woo-fi-v2/woo-fi-math.d.ts +0 -16
- package/build/dex/woo-fi-v2/woo-fi-math.js +0 -137
- package/build/dex/woo-fi-v2/woo-fi-math.js.map +0 -1
- package/src/dex/uniswap-v2/uniswap-v2-e2e-opbnb.test.ts +0 -162
|
@@ -0,0 +1,13 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
package/package.json
CHANGED
package/src/config.ts
CHANGED
|
@@ -317,7 +317,6 @@ const baseConfigs: { [network: number]: BaseConfig } = {
|
|
|
317
317
|
rpcPollingBlocksBackToTriggerUpdate: 3,
|
|
318
318
|
forceRpcFallbackDexs: [],
|
|
319
319
|
},
|
|
320
|
-
|
|
321
320
|
[Network.ZKEVM]: {
|
|
322
321
|
network: Network.ZKEVM,
|
|
323
322
|
networkName: 'Polygon zkEVM',
|
|
@@ -347,6 +346,33 @@ const baseConfigs: { [network: number]: BaseConfig } = {
|
|
|
347
346
|
// FIXME: Not set properly
|
|
348
347
|
uniswapV2ExchangeRouterAddress: '',
|
|
349
348
|
},
|
|
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
|
+
},
|
|
350
376
|
};
|
|
351
377
|
|
|
352
378
|
// Should not be used, except by internal test code
|
package/src/constants.ts
CHANGED
|
@@ -33,12 +33,12 @@ export enum Network {
|
|
|
33
33
|
RINKEBY = 4,
|
|
34
34
|
BSC = 56,
|
|
35
35
|
POLYGON = 137,
|
|
36
|
-
OPBNB = 204,
|
|
37
36
|
ZKEVM = 1101,
|
|
38
37
|
AVALANCHE = 43114,
|
|
39
38
|
FANTOM = 250,
|
|
40
39
|
ARBITRUM = 42161,
|
|
41
40
|
OPTIMISM = 10,
|
|
41
|
+
BASE = 8453,
|
|
42
42
|
}
|
|
43
43
|
export const SUBGRAPH_TIMEOUT = 20 * 1000;
|
|
44
44
|
|
|
@@ -126,10 +126,13 @@ export class Algebra extends SimpleExchange implements IDex<AlgebraData> {
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
async initializePricing(blockNumber: number) {
|
|
129
|
+
const cleanNonExistingPoolTTLMs =
|
|
130
|
+
this.config.cleanExistingPoolTTLMs ||
|
|
131
|
+
ALGEBRA_CLEAN_NOT_EXISTING_POOL_TTL_MS;
|
|
132
|
+
|
|
129
133
|
if (!this.dexHelper.config.isSlave) {
|
|
130
134
|
const cleanExpiredNotExistingPoolsKeys = async () => {
|
|
131
|
-
const maxTimestamp =
|
|
132
|
-
Date.now() - ALGEBRA_CLEAN_NOT_EXISTING_POOL_TTL_MS;
|
|
135
|
+
const maxTimestamp = Date.now() - cleanNonExistingPoolTTLMs;
|
|
133
136
|
await this.dexHelper.cache.zremrangebyscore(
|
|
134
137
|
this.notExistingPoolSetKey,
|
|
135
138
|
0,
|
|
@@ -83,6 +83,7 @@ export const AlgebraConfig: DexConfigMap<DexParams> = {
|
|
|
83
83
|
uniswapMulticall: '0x1F98415757620B543A52E61c46B32eB19261F984',
|
|
84
84
|
deployer: '0x6dd3fb9653b10e806650f107c3b5a0a6ff974f65',
|
|
85
85
|
version: 'v1.9',
|
|
86
|
+
cleanExistingPoolTTLMs: 20 * 60 * 1000,
|
|
86
87
|
},
|
|
87
88
|
},
|
|
88
89
|
};
|
package/src/dex/algebra/types.ts
CHANGED
|
@@ -117,10 +117,6 @@ export const Adapters: {
|
|
|
117
117
|
},
|
|
118
118
|
],
|
|
119
119
|
},
|
|
120
|
-
[Network.OPBNB]: {
|
|
121
|
-
[SwapSide.SELL]: [{ name: 'OpBnbAdapter01', index: 2 }],
|
|
122
|
-
[SwapSide.BUY]: [{ name: 'OpBnbBuyAdapter', index: 1 }],
|
|
123
|
-
},
|
|
124
120
|
};
|
|
125
121
|
|
|
126
122
|
export const UniswapV2Config: DexConfigMap<DexParams> = {
|
|
@@ -700,20 +696,4 @@ export const UniswapV2Config: DexConfigMap<DexParams> = {
|
|
|
700
696
|
feeCode: 30,
|
|
701
697
|
},
|
|
702
698
|
},
|
|
703
|
-
BinarySwap: {
|
|
704
|
-
[Network.OPBNB]: {
|
|
705
|
-
factoryAddress: '0xd50aaE6C73E2486B0Da718D23F35Dcf5aad25911',
|
|
706
|
-
initCode:
|
|
707
|
-
'0x5ef9d9226744e2d0335d11ea48193e4ccd224fb01d8557c9db762f93cfe52881',
|
|
708
|
-
feeCode: 30,
|
|
709
|
-
},
|
|
710
|
-
},
|
|
711
|
-
LuigiSwap: {
|
|
712
|
-
[Network.OPBNB]: {
|
|
713
|
-
factoryAddress: '0x0dAe6d22182c20AB9150a4DCB3160591Dc41027a',
|
|
714
|
-
initCode:
|
|
715
|
-
'0xbff47a1925fa689deb4b6dfefbb1970779754f4fde5ba903fc5d0db1160c1901',
|
|
716
|
-
feeCode: 30,
|
|
717
|
-
},
|
|
718
|
-
},
|
|
719
699
|
};
|
|
@@ -106,6 +106,19 @@ 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
|
+
},
|
|
109
122
|
},
|
|
110
123
|
SushiSwapV3: {
|
|
111
124
|
[Network.MAINNET]: {
|
|
@@ -283,4 +296,8 @@ export const Adapters: Record<number, AdapterMappings> = {
|
|
|
283
296
|
[SwapSide.SELL]: [{ name: 'AvalancheAdapter02', index: 5 }],
|
|
284
297
|
[SwapSide.BUY]: [{ name: 'AvalancheBuyAdapter', index: 6 }],
|
|
285
298
|
},
|
|
299
|
+
[Network.BASE]: {
|
|
300
|
+
[SwapSide.SELL]: [{ name: 'BaseAdapter01', index: 1 }],
|
|
301
|
+
[SwapSide.BUY]: [{ name: 'BaseBuyAdapter', index: 1 }],
|
|
302
|
+
},
|
|
286
303
|
};
|
|
@@ -403,6 +403,101 @@ 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
|
+
|
|
406
501
|
describe('UniswapV3 Avalanche', () => {
|
|
407
502
|
const network = Network.AVALANCHE;
|
|
408
503
|
const tokens = Tokens[network];
|
package/src/dex/weth/config.ts
CHANGED
|
@@ -25,14 +25,14 @@ export const WethConfig: DexConfigMap<DexParams> = {
|
|
|
25
25
|
[Network.ZKEVM]: {
|
|
26
26
|
poolGasCost: WethGasCost,
|
|
27
27
|
},
|
|
28
|
+
[Network.BASE]: {
|
|
29
|
+
poolGasCost: WethGasCost,
|
|
30
|
+
},
|
|
28
31
|
},
|
|
29
32
|
Wbnb: {
|
|
30
33
|
[Network.BSC]: {
|
|
31
34
|
poolGasCost: WethGasCost,
|
|
32
35
|
},
|
|
33
|
-
[Network.OPBNB]: {
|
|
34
|
-
poolGasCost: WethGasCost,
|
|
35
|
-
},
|
|
36
36
|
},
|
|
37
37
|
Wmatic: {
|
|
38
38
|
[Network.POLYGON]: {
|
|
@@ -73,7 +73,4 @@ export const Adapters: {
|
|
|
73
73
|
[Network.OPTIMISM]: {
|
|
74
74
|
[SwapSide.SELL]: [{ name: 'OptimismAdapter01', index: 1 }],
|
|
75
75
|
},
|
|
76
|
-
[Network.OPBNB]: {
|
|
77
|
-
[SwapSide.SELL]: [{ name: 'OpBnbAdapter01', index: 1 }],
|
|
78
|
-
},
|
|
79
76
|
};
|
package/tests/constants-e2e.ts
CHANGED
|
@@ -883,23 +883,16 @@ export const Tokens: {
|
|
|
883
883
|
decimals: 6,
|
|
884
884
|
},
|
|
885
885
|
},
|
|
886
|
-
[Network.
|
|
887
|
-
|
|
888
|
-
address:
|
|
886
|
+
[Network.BASE]: {
|
|
887
|
+
PRIME: {
|
|
888
|
+
address: '0xfA980cEd6895AC314E7dE34Ef1bFAE90a5AdD21b',
|
|
889
889
|
decimals: 18,
|
|
890
890
|
},
|
|
891
|
-
|
|
891
|
+
WETH: {
|
|
892
892
|
address: '0x4200000000000000000000000000000000000006',
|
|
893
893
|
decimals: 18,
|
|
894
894
|
},
|
|
895
|
-
|
|
896
|
-
address: '0xa41B3067eC694DBec668c389550bA8fc589e5797',
|
|
897
|
-
decimals: 18,
|
|
898
|
-
},
|
|
899
|
-
LUIGI: {
|
|
900
|
-
address: '0x196AD5A70279Fc112db4F8Baf6f5022c9B1cF0a5',
|
|
901
|
-
decimals: 18,
|
|
902
|
-
},
|
|
895
|
+
ETH: { address: ETHER_ADDRESS, decimals: 18 },
|
|
903
896
|
},
|
|
904
897
|
};
|
|
905
898
|
|
|
@@ -1120,11 +1113,10 @@ export const Holders: {
|
|
|
1120
1113
|
WBTC: '0x99b31498b0a1dae01fc3433e3cb60f095340935c',
|
|
1121
1114
|
USDC: '0x99b31498b0a1dae01fc3433e3cb60f095340935c',
|
|
1122
1115
|
},
|
|
1123
|
-
[Network.
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
LUIGI: '0x245736d44f7A77c8DB80625Ea498d85eF8AE629d',
|
|
1116
|
+
[Network.BASE]: {
|
|
1117
|
+
WETH: '0x4bb6b2efe7036020ba6f02a05602546c9f25bf28',
|
|
1118
|
+
PRIME: '0x956bcc6b56c99db382d9d97a30ba5f1402144b3e',
|
|
1119
|
+
ETH: '0xdd9176ea3e7559d6b68b537ef555d3e89403f742',
|
|
1128
1120
|
},
|
|
1129
1121
|
};
|
|
1130
1122
|
|
|
@@ -1150,4 +1142,5 @@ export const NativeTokenSymbols: { [network: number]: string } = {
|
|
|
1150
1142
|
[Network.FANTOM]: 'FTM',
|
|
1151
1143
|
[Network.ARBITRUM]: 'ETH',
|
|
1152
1144
|
[Network.OPTIMISM]: 'ETH',
|
|
1145
|
+
[Network.BASE]: 'ETH',
|
|
1153
1146
|
};
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"anonymous": false,
|
|
4
|
-
"inputs": [
|
|
5
|
-
{
|
|
6
|
-
"indexed": false,
|
|
7
|
-
"internalType": "address",
|
|
8
|
-
"name": "token",
|
|
9
|
-
"type": "address"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"indexed": false,
|
|
13
|
-
"internalType": "uint256",
|
|
14
|
-
"name": "price",
|
|
15
|
-
"type": "uint256"
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"indexed": false,
|
|
19
|
-
"internalType": "address",
|
|
20
|
-
"name": "priceFeed",
|
|
21
|
-
"type": "address"
|
|
22
|
-
}
|
|
23
|
-
],
|
|
24
|
-
"name": "PriceUpdate",
|
|
25
|
-
"type": "event"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"inputs": [
|
|
29
|
-
{ "internalType": "address", "name": "_token", "type": "address" },
|
|
30
|
-
{ "internalType": "uint256", "name": "_price", "type": "uint256" }
|
|
31
|
-
],
|
|
32
|
-
"name": "emitPriceEvent",
|
|
33
|
-
"outputs": [],
|
|
34
|
-
"stateMutability": "nonpayable",
|
|
35
|
-
"type": "function"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"inputs": [],
|
|
39
|
-
"name": "gov",
|
|
40
|
-
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
41
|
-
"stateMutability": "view",
|
|
42
|
-
"type": "function"
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
|
|
46
|
-
"name": "isPriceFeed",
|
|
47
|
-
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
|
|
48
|
-
"stateMutability": "view",
|
|
49
|
-
"type": "function"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"inputs": [
|
|
53
|
-
{ "internalType": "address", "name": "_gov", "type": "address" }
|
|
54
|
-
],
|
|
55
|
-
"name": "setGov",
|
|
56
|
-
"outputs": [],
|
|
57
|
-
"stateMutability": "nonpayable",
|
|
58
|
-
"type": "function"
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
"inputs": [
|
|
62
|
-
{ "internalType": "address", "name": "_priceFeed", "type": "address" },
|
|
63
|
-
{ "internalType": "bool", "name": "_isPriceFeed", "type": "bool" }
|
|
64
|
-
],
|
|
65
|
-
"name": "setIsPriceFeed",
|
|
66
|
-
"outputs": [],
|
|
67
|
-
"stateMutability": "nonpayable",
|
|
68
|
-
"type": "function"
|
|
69
|
-
}
|
|
70
|
-
]
|