node,sdk: Mantle mainnet

This commit is contained in:
Evan Gray 2024-05-28 17:11:49 -04:00 committed by Evan Gray
parent 742c484956
commit a9393500a1
8 changed files with 34 additions and 4 deletions

22
ethereum/env/.env.mantle.mainnet vendored Normal file
View File

@ -0,0 +1,22 @@
# Mantle mainnet env
# Rename to .env
# Common config for forge deployment
RPC_URL=https://rpc.ankr.com/mantle
FORGE_ARGS="--slow --priority-gas-price 0 --gas-estimate-multiplier 130 --skip-simulation"
# Wormhole Core Migrations
INIT_SIGNERS=["0x58CC3AE5C097b213cE3c81979e1B9f9570746AA5"]
INIT_CHAIN_ID=35
INIT_GOV_CHAIN_ID=0x1
INIT_GOV_CONTRACT=0x0000000000000000000000000000000000000000000000000000000000000004
INIT_EVM_CHAIN_ID=5000
# Bridge Migrations
BRIDGE_INIT_CHAIN_ID=35
BRIDGE_INIT_GOV_CHAIN_ID=0x1
BRIDGE_INIT_GOV_CONTRACT=0x0000000000000000000000000000000000000000000000000000000000000004
# See https://docs.mantle.xyz/network/introduction/faqs#q.-whats-the-usdwmnt-token-contract-address
BRIDGE_INIT_WETH=0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8
BRIDGE_INIT_FINALITY=1

View File

@ -644,7 +644,7 @@ func runNode(cmd *cobra.Command, args []string) {
*optimismContract = checkEvmArgs(logger, *optimismRPC, *optimismContract, "optimism", true)
*baseContract = checkEvmArgs(logger, *baseRPC, *baseContract, "base", true)
*scrollContract = checkEvmArgs(logger, *scrollRPC, *scrollContract, "scroll", true)
*mantleContract = checkEvmArgs(logger, *mantleRPC, *mantleContract, "mantle", false)
*mantleContract = checkEvmArgs(logger, *mantleRPC, *mantleContract, "mantle", true)
*blastContract = checkEvmArgs(logger, *blastRPC, *blastContract, "blast", true)
*xlayerContract = checkEvmArgs(logger, *xlayerRPC, *xlayerContract, "xlayer", true)
*berachainContract = checkEvmArgs(logger, *berachainRPC, *berachainContract, "berachain", false)

View File

@ -47,6 +47,7 @@ var etherscanAPIMap = map[vaa.ChainID]string{
vaa.ChainIDOptimism: "https://api-optimistic.etherscan.io",
vaa.ChainIDBase: "https://api.basescan.org",
vaa.ChainIDScroll: "https://api.scrollscan.com",
vaa.ChainIDMantle: "", // TODO: Does Mantle have an etherscan equivalent API endpoint?
vaa.ChainIDBlast: "https://api.blastscan.io",
vaa.ChainIDXLayer: "", // TODO: Does X Layer have an etherscan API endpoint?
}
@ -68,6 +69,7 @@ var coreContractMap = map[vaa.ChainID]string{
vaa.ChainIDOptimism: strings.ToLower("0xEe91C335eab126dF5fDB3797EA9d6aD93aeC9722"),
vaa.ChainIDBase: strings.ToLower("0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6"),
vaa.ChainIDScroll: strings.ToLower("0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6"),
vaa.ChainIDMantle: strings.ToLower("0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6"),
vaa.ChainIDBlast: strings.ToLower("0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6"),
vaa.ChainIDXLayer: strings.ToLower("0x194B123c5E96B9b2E49763619985790Dc241CAC0"),
}

View File

@ -36,6 +36,7 @@ func chainList() []chainConfigEntry {
{emitterChainID: vaa.ChainIDBase, dailyLimit: 2_000_000, bigTransactionSize: 200_000},
{emitterChainID: vaa.ChainIDSei, dailyLimit: 5_000_000, bigTransactionSize: 500_000},
{emitterChainID: vaa.ChainIDScroll, dailyLimit: 500_000, bigTransactionSize: 50_000},
{emitterChainID: vaa.ChainIDMantle, dailyLimit: 500_000, bigTransactionSize: 50_000},
{emitterChainID: vaa.ChainIDBlast, dailyLimit: 500_000, bigTransactionSize: 50_000},
{emitterChainID: vaa.ChainIDXLayer, dailyLimit: 500_000, bigTransactionSize: 50_000},
{emitterChainID: vaa.ChainIDWormchain, dailyLimit: 500_000, bigTransactionSize: 50_000},

View File

@ -1,5 +1,9 @@
# Changelog
## 0.10.17
Add Mantle mainnet support
## 0.10.16
Add X Layer mainnet support

View File

@ -1,6 +1,6 @@
{
"name": "@certusone/wormhole-sdk",
"version": "0.10.16",
"version": "0.10.17",
"description": "SDK for interacting with Wormhole",
"homepage": "https://wormhole.com",
"main": "./lib/cjs/index.js",

View File

@ -314,8 +314,8 @@ const MAINNET = {
nft_bridge: undefined,
},
mantle: {
core: undefined,
token_bridge: undefined,
core: "0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6",
token_bridge: "0x24850c6f61C438823F01B7A3BF2B89B72174Fa9d",
nft_bridge: undefined,
},
blast: {

View File

@ -119,6 +119,7 @@ var knownTokenbridgeEmitters = map[vaa.ChainID]string{
vaa.ChainIDBase: "0000000000000000000000008d2de8d2f73F1F4cAB472AC9A881C9b123C79627",
vaa.ChainIDXpla: "8f9cf727175353b17a5f574270e370776123d90fd74956ae4277962b4fdee24c",
vaa.ChainIDScroll: "00000000000000000000000024850c6f61C438823F01B7A3BF2B89B72174Fa9d",
vaa.ChainIDMantle: "00000000000000000000000024850c6f61C438823F01B7A3BF2B89B72174Fa9d",
vaa.ChainIDBlast: "00000000000000000000000024850c6f61C438823F01B7A3BF2B89B72174Fa9d",
vaa.ChainIDXLayer: "0000000000000000000000005537857664B0f9eFe38C9f320F75fEf23234D904",
vaa.ChainIDInjective: "00000000000000000000000045dbea4617971d93188eda21530bc6503d153313",