From 52c9bd64e499439294b7aa9cc915a7e5f974e2c8 Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 24 Feb 2023 10:47:55 +0300 Subject: [PATCH 1/2] feat: adding zksync testnet --- src/chains.ts | 61 +++++++++++++++++++++++++++++++++-- src/constants.ts | 6 ++-- src/entities/currency.ts | 7 +++- src/entities/token.ts | 7 ++++ src/images/chains/zksync.png | Bin 0 -> 2495 bytes 5 files changed, 75 insertions(+), 6 deletions(-) create mode 100644 src/images/chains/zksync.png diff --git a/src/chains.ts b/src/chains.ts index 353f8c89..d7fdb9be 100644 --- a/src/chains.ts +++ b/src/chains.ts @@ -26,7 +26,8 @@ export enum ChainId { XDAI = 100, COSTON2 = 114, EVMOS_TESTNET = 9000, - EVMOS_MAINNET = 9001 + EVMOS_MAINNET = 9001, + ZKSYNC_TESTNET = 280 } export enum StakingType { @@ -1976,6 +1977,58 @@ export const COSTON2_TESTNET: Chain = { blockExplorerUrls: ['https://coston2-explorer.flare.network'] } +export const ZKSYNC_TESTNET: Chain = { + id: 'zksync_testnet', + chain_id: ChainId.ZKSYNC_TESTNET, + name: 'zkSync Testnet', + symbol: 'ETH', + png_symbol: 'PZKS', + mainnet: false, + evm: true, + logo: 'https://raw.githubusercontent.com/pangolindex/sdk/master/src/images/chains/zksync.png', + pangolin_is_live: true, + tracked_by_debank: false, + supported_by_gelato: false, + supported_by_twap: false, + rpc_uri: 'https://zksync2-testnet.zksync.dev', + contracts: { + png: '0x8D127AF2E8015841508D9a99c320231EB78CD85E', + factory: '0x5eDBAe9fdbE01ba8246e8170E0F3aa4deB080bD3', + router: '0x431082C41C8cd3d7eA09D9aD6c6615011a17349A', + wrapped_native_token: '0x7C36d1a6Cd054eD821E41F12F9d9dd6Fbe2EA48d', + local_multisig: '0xbEf6ec231aA6200569ce84F3fe679F2d2Df7273B', + community_treasury: '0x05eE73ED2AAfC0b39c3A24a0a751E6f989B59dA0', + treasury_vester: '0x90933D8822cC8F75B968EebAf211F0381A3d1604', + mini_chef: { + address: '0xEF18B475Eea636a347D6c71E6F2eDa41e26fB1f6', + active: true, + type: ChefType.PANGO_CHEF + }, + airdrop: { + address: '0x6c6D7cEF610eF4e7d73A64c960dF0D098Cd88f83', + active: false, + type: AirdropType.MERKLE_TO_STAKING + }, + timelock: '0x41399e0a6a26B08ec0951b89d2253aB08eBc9eB0', + fee_collector: '0x8294278614264A5BfFE6Fc2311e8cD257335DF7d', + multicall: '0xBeCF15F939578a4fe2FE75Cc0A1128Eb3202647a', + staking: [ + { + address: '0xBF55A67bd5A1077988a63e817e2C0B8509DfAD08', + active: true, + reward_token: '0x8D127AF2E8015841508D9a99c320231EB78CD85E', + type: StakingType.SAR_POSITIONS + } + ] + }, + nativeCurrency: { + name: 'Ether', + symbol: 'ETH', + decimals: 18 + }, + blockExplorerUrls: ['https://goerli.explorer.zksync.io'] +} + export const CHAINS: { [chainId in ChainId]: Chain } = { [ChainId.FUJI]: AVALANCHE_FUJI, [ChainId.AVALANCHE]: AVALANCHE_MAINNET, @@ -2004,7 +2057,8 @@ export const CHAINS: { [chainId in ChainId]: Chain } = { [ChainId.OP]: OP_MAINNET, [ChainId.COSTON2]: COSTON2_TESTNET, [ChainId.EVMOS_TESTNET]: EVMOS_TESTNET, - [ChainId.EVMOS_MAINNET]: EVMOS_MAINNET + [ChainId.EVMOS_MAINNET]: EVMOS_MAINNET, + [ChainId.ZKSYNC_TESTNET]: ZKSYNC_TESTNET } export const ALL_CHAINS: Chain[] = [ @@ -2068,5 +2122,6 @@ export const ALL_CHAINS: Chain[] = [ OASIS_TESTNET, GODWOKEN_MAINNET, GODWOKEN_TESTNET, - COSTON2_TESTNET + COSTON2_TESTNET, + ZKSYNC_TESTNET ] diff --git a/src/constants.ts b/src/constants.ts index 0da899db..0f1cd3ff 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -43,7 +43,8 @@ export const FACTORY_ADDRESS: { [chainId in ChainId]: string } = { [ChainId.OP]: '', [ChainId.COSTON2]: CHAINS[ChainId.COSTON2].contracts!.factory, [ChainId.EVMOS_TESTNET]: CHAINS[ChainId.EVMOS_TESTNET].contracts!.factory, - [ChainId.EVMOS_MAINNET]: CHAINS[ChainId.EVMOS_MAINNET].contracts!.factory + [ChainId.EVMOS_MAINNET]: CHAINS[ChainId.EVMOS_MAINNET].contracts!.factory, + [ChainId.ZKSYNC_TESTNET]: CHAINS[ChainId.ZKSYNC_TESTNET].contracts!.factory } export const INIT_CODE_HASH = '0x40231f6b438bce0797c9ada29b718a87ea0a5cea3fe9a771abdd76bd41a3e545' @@ -76,7 +77,8 @@ export const INIT_CODE_HASH_MAPPING: { [chainId in ChainId]: string } = { [ChainId.OP]: '', [ChainId.COSTON2]: INIT_CODE_HASH, [ChainId.EVMOS_TESTNET]: INIT_CODE_HASH, - [ChainId.EVMOS_MAINNET]: INIT_CODE_HASH + [ChainId.EVMOS_MAINNET]: INIT_CODE_HASH, + [ChainId.ZKSYNC_TESTNET]: INIT_CODE_HASH } export const MINIMUM_LIQUIDITY = JSBI.BigInt(1000) diff --git a/src/entities/currency.ts b/src/entities/currency.ts index 025d8063..b489b52a 100644 --- a/src/entities/currency.ts +++ b/src/entities/currency.ts @@ -56,7 +56,12 @@ export class Currency { [ChainId.OP]: new Currency(18, CHAINS[ChainId.OP].symbol, CHAINS[ChainId.OP].name), [ChainId.COSTON2]: new Currency(18, CHAINS[ChainId.COSTON2].symbol, CHAINS[ChainId.COSTON2].name), [ChainId.EVMOS_TESTNET]: new Currency(18, CHAINS[ChainId.EVMOS_TESTNET].symbol, CHAINS[ChainId.EVMOS_TESTNET].name), - [ChainId.EVMOS_MAINNET]: new Currency(18, CHAINS[ChainId.EVMOS_MAINNET].symbol, CHAINS[ChainId.EVMOS_MAINNET].name) + [ChainId.EVMOS_MAINNET]: new Currency(18, CHAINS[ChainId.EVMOS_MAINNET].symbol, CHAINS[ChainId.EVMOS_MAINNET].name), + [ChainId.ZKSYNC_TESTNET]: new Currency( + 18, + CHAINS[ChainId.ZKSYNC_TESTNET].symbol, + CHAINS[ChainId.ZKSYNC_TESTNET].name + ) } /** diff --git a/src/entities/token.ts b/src/entities/token.ts index 138ea088..f7490aa2 100644 --- a/src/entities/token.ts +++ b/src/entities/token.ts @@ -173,5 +173,12 @@ export const WAVAX: { [chainId in ChainId]: Token } = { 18, 'WEVMOS', 'Wrapped Evmos' + ), + [ChainId.ZKSYNC_TESTNET]: new Token( + ChainId.ZKSYNC_TESTNET, + CHAINS[ChainId.ZKSYNC_TESTNET].contracts!.wrapped_native_token, + 18, + 'WAVAX', + 'Wrapped AVAX' ) } diff --git a/src/images/chains/zksync.png b/src/images/chains/zksync.png new file mode 100644 index 0000000000000000000000000000000000000000..13296b9d3b307e19386aea087f4bbd3ad4519d95 GIT binary patch literal 2495 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 literal 0 HcmV?d00001 From b6e15999a93a5a7cbaa53ae8d196576ebf56e278 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 28 Feb 2023 13:33:24 +0300 Subject: [PATCH 2/2] fix: updating explorer url for zksync testnet --- src/chains.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chains.ts b/src/chains.ts index d7fdb9be..b77ab0ad 100644 --- a/src/chains.ts +++ b/src/chains.ts @@ -2026,7 +2026,7 @@ export const ZKSYNC_TESTNET: Chain = { symbol: 'ETH', decimals: 18 }, - blockExplorerUrls: ['https://goerli.explorer.zksync.io'] + blockExplorerUrls: ['https://zksync2-testnet.zkscan.io'] } export const CHAINS: { [chainId in ChainId]: Chain } = {