From 1f9e01aaf5c8a4ce39a04d8941fb5fab9a3f7fc3 Mon Sep 17 00:00:00 2001 From: MantisClone Date: Tue, 18 Jul 2023 22:12:08 -0400 Subject: [PATCH] Add Mantle Wadsley --- packages/currency/src/chains/evm/index.ts | 2 ++ packages/currency/src/native.ts | 6 ++++++ .../src/eth/multichainExplorerApiProvider.ts | 3 +++ packages/smart-contracts/hardhat.config.ts | 5 +++++ packages/smart-contracts/scripts-create2/utils.ts | 8 ++++---- packages/types/src/currency-types.ts | 1 + packages/utils/src/providers.ts | 3 ++- 7 files changed, 23 insertions(+), 5 deletions(-) diff --git a/packages/currency/src/chains/evm/index.ts b/packages/currency/src/chains/evm/index.ts index dc8c8ea2a3..41570c6624 100644 --- a/packages/currency/src/chains/evm/index.ts +++ b/packages/currency/src/chains/evm/index.ts @@ -12,6 +12,7 @@ import * as FantomDefinition from './data/fantom'; import * as FuseDefinition from './data/fuse'; import * as GoerliDefinition from './data/goerli'; import * as MainnetDefinition from './data/mainnet'; +import * as MantleWadsleyDefinition from './data/mantle-wadsley'; import * as MaticDefinition from './data/matic'; import * as MoonbeamDefinition from './data/moonbeam'; import * as MumbaiDefinition from './data/mumbai'; @@ -39,6 +40,7 @@ export const chains: Record = { fuse: FuseDefinition, goerli: GoerliDefinition, mainnet: MainnetDefinition, + 'mantle-wadsley': MantleWadsleyDefinition, matic: MaticDefinition, moonbeam: MoonbeamDefinition, mumbai: MumbaiDefinition, diff --git a/packages/currency/src/native.ts b/packages/currency/src/native.ts index 714b25bd9d..37df375959 100644 --- a/packages/currency/src/native.ts +++ b/packages/currency/src/native.ts @@ -123,6 +123,12 @@ export const nativeCurrencies: Record = { optimism: { chainId: 10, name: 'optimism' }, moonbeam: { chainId: 1284, name: 'moonbeam' }, tombchain: { chainId: 6969, name: 'tombchain' }, + 'mantle-wadsley': { chainId: 5001, name: 'mantle-wadsley' }, }; /** @@ -57,6 +58,8 @@ export class MultichainExplorerApiProvider extends ethers.providers.EtherscanPro return 'https://api.arbiscan.io'; case 'avalanche': return 'https://api.snowtrace.io'; + case 'mantle-wadsley': + return 'https://explorer.testnet.mantle.xyz/'; default: return super.getBaseUrl(); } diff --git a/packages/smart-contracts/hardhat.config.ts b/packages/smart-contracts/hardhat.config.ts index 6df0f1446d..1a2d4fdec4 100644 --- a/packages/smart-contracts/hardhat.config.ts +++ b/packages/smart-contracts/hardhat.config.ts @@ -146,6 +146,11 @@ export default { chainId: 6969, accounts, }, + 'mantle-wadsley': { + url: url('mantle-wadsley'), + chainId: 5001, + accounts, + }, }, etherscan: { apiKey: { diff --git a/packages/smart-contracts/scripts-create2/utils.ts b/packages/smart-contracts/scripts-create2/utils.ts index de84e55b04..daab5a9e47 100644 --- a/packages/smart-contracts/scripts-create2/utils.ts +++ b/packages/smart-contracts/scripts-create2/utils.ts @@ -9,15 +9,15 @@ import { EvmChains } from '@requestnetwork/currency'; */ export const create2ContractDeploymentList = [ // 'ChainlinkConversionPath', - // 'EthereumProxy', - // 'EthereumFeeProxy', + 'EthereumProxy', + 'EthereumFeeProxy', // 'EthConversionProxy', - // 'ERC20FeeProxy', + 'ERC20FeeProxy', // 'ERC20SwapToPay', // 'ERC20SwapToConversion', // 'BatchConversionPayments', // 'ERC20EscrowToPay', - 'ERC20TransferableReceivable', + // 'ERC20TransferableReceivable', ]; /** diff --git a/packages/types/src/currency-types.ts b/packages/types/src/currency-types.ts index e6f68c6999..9cbdd15cac 100644 --- a/packages/types/src/currency-types.ts +++ b/packages/types/src/currency-types.ts @@ -13,6 +13,7 @@ export type EvmChainName = | 'fuse' | 'goerli' | 'mainnet' + | 'mantle-wadsley' | 'matic' | 'moonbeam' | 'mumbai' diff --git a/packages/utils/src/providers.ts b/packages/utils/src/providers.ts index 4f52223eeb..b328b5ea75 100644 --- a/packages/utils/src/providers.ts +++ b/packages/utils/src/providers.ts @@ -46,6 +46,7 @@ const networkRpcs: Record = { optimism: 'https://mainnet.optimism.io', moonbeam: 'https://moonbeam.public.blastapi.io', tombchain: 'https://rpc.tombchain.com/', + 'mantle-wadsley': 'https://rpc.testnet.mantle.xyz/', }; /** @@ -91,7 +92,7 @@ const defaultProviderFactory: ProviderFactory = (network: string | undefined) => if (!warned) { console.warn( - `No provider is specified for network ${network}, using ethers default provider. + `No provider is specified for network ${network}, using ethers default provider. This is not recommended for Production environments. Use setProviderFactory to override the default provider`, );