node: arbitrum mainnet deploy changes (#1786)

* arbitrum mainnet deploy changes

* Change test for no governed tokens on Arbitrum

* Add arbitrum to to devnet guardian config
This commit is contained in:
bruce-riley 2022-10-27 13:50:01 -05:00 committed by GitHub
parent e1a6a1f85a
commit a99c4a1a7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 39 additions and 28 deletions

View File

@ -91,6 +91,8 @@ spec:
- ws://eth-devnet:8545
- --moonbeamRPC
- ws://eth-devnet:8545
- --arbitrumRPC
- ws://eth-devnet:8545
- --neonRPC
- ws://eth-devnet:8545
# - --wormchainWS

View File

@ -7,3 +7,11 @@ INIT_CHAIN_ID=23
INIT_GOV_CHAIN_ID=0x1
INIT_GOV_CONTRACT=0x0000000000000000000000000000000000000000000000000000000000000004
INIT_EVM_CHAIN_ID=42161
# Bridge Migrations
BRIDGE_INIT_CHAIN_ID=23
BRIDGE_INIT_GOV_CHAIN_ID=0x1
BRIDGE_INIT_GOV_CONTRACT=0x0000000000000000000000000000000000000000000000000000000000000004
# There is no WETH.
BRIDGE_INIT_WETH=0x0000000000000000000000000000000000000000
BRIDGE_INIT_FINALITY=1

View File

@ -116,6 +116,7 @@ func runListNodes(cmd *cobra.Command, args []string) {
{"Terra2", vaa.ChainIDTerra2},
{"Pythnet", vaa.ChainIDPythNet},
{"Moonbeam", vaa.ChainIDMoonbeam},
{"Arbitrum", vaa.ChainIDArbitrum},
{"Xpla", vaa.ChainIDXpla},
{"Wormchain", vaa.ChainIDWormchain},
}

View File

@ -540,6 +540,12 @@ func runNode(cmd *cobra.Command, args []string) {
if *moonbeamContract == "" {
logger.Fatal("Please specify --moonbeamContract")
}
if *arbitrumRPC == "" {
logger.Fatal("Please specify --arbitrumRPC")
}
if *arbitrumContract == "" {
logger.Fatal("Please specify --arbitrumContract")
}
if *xplaWS != "" {
if *xplaLCD == "" || *xplaContract == "" {
logger.Fatal("If --xplaWS is specified, then --xplaLCD and --xplaContract must be specified")
@ -586,13 +592,6 @@ func runNode(cmd *cobra.Command, args []string) {
if *injectiveContract == "" {
logger.Fatal("Please specify --injectiveContract")
}
if *arbitrumRPC != "" {
if *arbitrumContract == "" {
logger.Fatal("If --arbitrumRPC is specified, then --arbitrumContract is required")
}
} else if *arbitrumContract != "" {
logger.Fatal("If --arbitrumContract is specified, then --arbitrumRPC is required")
}
} else {
if *ethRopstenRPC != "" {
logger.Fatal("Please do not specify --ethRopstenRPC in non-testnet mode")
@ -615,12 +614,6 @@ func runNode(cmd *cobra.Command, args []string) {
if *injectiveContract != "" && !*unsafeDevMode {
logger.Fatal("Please do not specify --injectiveContract")
}
if *arbitrumRPC != "" && !*unsafeDevMode {
logger.Fatal("Please do not specify --arbitrumRPC")
}
if *arbitrumContract != "" && !*unsafeDevMode {
logger.Fatal("Please do not specify --arbitrumContract")
}
}
if *nodeName == "" {
logger.Fatal("Please specify --nodeName")
@ -1044,6 +1037,18 @@ func runNode(cmd *cobra.Command, args []string) {
return err
}
}
if shouldStart(arbitrumRPC) {
if ethWatcher == nil {
log.Fatalf("if arbitrum is enabled then ethereum must also be enabled.")
}
logger.Info("Starting Arbitrum watcher")
readiness.RegisterComponent(common.ReadinessArbitrumSyncing)
chainObsvReqC[vaa.ChainIDArbitrum] = make(chan *gossipv1.ObservationRequest, observationRequestBufferSize)
if err := supervisor.Run(ctx, "arbitrumwatch",
evm.NewEthWatcher(*arbitrumRPC, arbitrumContractAddr, "arbitrum", common.ReadinessArbitrumSyncing, vaa.ChainIDArbitrum, lockC, nil, 1, chainObsvReqC[vaa.ChainIDArbitrum], *unsafeDevMode, ethWatcher).Run); err != nil {
return err
}
}
if shouldStart(terraWS) {
logger.Info("Starting Terra watcher")
@ -1161,18 +1166,6 @@ func runNode(cmd *cobra.Command, args []string) {
return err
}
}
if shouldStart(arbitrumRPC) {
if ethWatcher == nil {
log.Fatalf("if arbitrum is enabled then ethereum must also be enabled.")
}
logger.Info("Starting Arbitrum watcher")
readiness.RegisterComponent(common.ReadinessArbitrumSyncing)
chainObsvReqC[vaa.ChainIDArbitrum] = make(chan *gossipv1.ObservationRequest, observationRequestBufferSize)
if err := supervisor.Run(ctx, "arbitrumwatch",
evm.NewEthWatcher(*arbitrumRPC, arbitrumContractAddr, "arbitrum", common.ReadinessArbitrumSyncing, vaa.ChainIDArbitrum, lockC, nil, 1, chainObsvReqC[vaa.ChainIDArbitrum], *unsafeDevMode, ethWatcher).Run); err != nil {
return err
}
}
if shouldStart(injectiveWS) {
logger.Info("Starting Injective watcher")
readiness.RegisterComponent(common.ReadinessInjectiveSyncing)

View File

@ -42,6 +42,7 @@ var etherscanAPIMap = map[vaa.ChainID]string{
// NOTE: Not sure what should be here for Klaytn, since they use: https://scope.klaytn.com/
vaa.ChainIDCelo: "https://celoscan.xyz/api",
vaa.ChainIDMoonbeam: "https://api-moonbeam.moonscan.io",
vaa.ChainIDArbitrum: "https://api.arbiscan.io",
}
var coreContractMap = map[vaa.ChainID]string{
@ -57,6 +58,7 @@ var coreContractMap = map[vaa.ChainID]string{
vaa.ChainIDKlaytn: strings.ToLower("0x0C21603c4f3a6387e241c0091A7EA39E43E90bb7"),
vaa.ChainIDCelo: strings.ToLower("0xa321448d90d4e5b0A732867c18eA198e75CAC48E"),
vaa.ChainIDMoonbeam: strings.ToLower("0xC8e2b0cD52Cf01b0Ce87d389Daa3d414d4cE29f3"),
vaa.ChainIDArbitrum: strings.ToLower("0xa5f208e072434bC67592E4C49C1B991BA79BCA46"),
}
var (

View File

@ -27,6 +27,7 @@ func chainList() []chainConfigEntry {
chainConfigEntry{emitterChainID: vaa.ChainIDNear, dailyLimit: 5_000_000, bigTransactionSize: 500_000},
chainConfigEntry{emitterChainID: vaa.ChainIDTerra2, dailyLimit: 500_000, bigTransactionSize: 50_000},
chainConfigEntry{emitterChainID: vaa.ChainIDMoonbeam, dailyLimit: 5_000_000, bigTransactionSize: 500_000},
chainConfigEntry{emitterChainID: vaa.ChainIDArbitrum, dailyLimit: 200_000, bigTransactionSize: 20_000},
chainConfigEntry{emitterChainID: vaa.ChainIDAptos, dailyLimit: 1_000_000, bigTransactionSize: 100_000},
chainConfigEntry{emitterChainID: vaa.ChainIDXpla, dailyLimit: 200_000, bigTransactionSize: 20_000},
}

View File

@ -43,7 +43,7 @@ func TestTokenListChainTokensPresent(t *testing.T) {
}
}
if e != vaa.ChainIDXpla && e != vaa.ChainIDAptos {
if e != vaa.ChainIDXpla && e != vaa.ChainIDAptos && e != vaa.ChainIDArbitrum {
assert.Equal(t, found, true)
}
})

View File

@ -198,8 +198,8 @@ const MAINNET = {
},
arbitrum: {
core: "0xa5f208e072434bC67592E4C49C1B991BA79BCA46",
token_bridge: undefined,
nft_bridge: undefined,
token_bridge: "0x0b2402144Bb366A632D14B83F244D2e0e21bD39c",
nft_bridge: "0x3dD14D553cFD986EAC8e3bddF629d82073e188c8",
},
optimism: {
core: "0xEe91C335eab126dF5fDB3797EA9d6aD93aeC9722",

View File

@ -114,6 +114,7 @@ var knownTokenbridgeEmitters = map[vaa.ChainID]string{
vaa.ChainIDCelo: "000000000000000000000000796Dff6D74F3E27060B71255Fe517BFb23C93eed",
vaa.ChainIDNear: "148410499d3fcda4dcfd68a1ebfcdddda16ab28326448d4aae4d2f0465cdfcb7",
vaa.ChainIDMoonbeam: "000000000000000000000000B1731c586ca89a23809861c6103F0b96B3F57D92",
vaa.ChainIDArbitrum: "0000000000000000000000000b2402144Bb366A632D14B83F244D2e0e21bD39c",
vaa.ChainIDXpla: "8f9cf727175353b17a5f574270e370776123d90fd74956ae4277962b4fdee24c",
}
@ -133,6 +134,7 @@ var knownNFTBridgeEmitters = map[vaa.ChainID]string{
vaa.ChainIDKlaytn: "0000000000000000000000003c3c561757BAa0b78c5C025CdEAa4ee24C1dFfEf",
vaa.ChainIDCelo: "000000000000000000000000A6A377d75ca5c9052c9a77ED1e865Cc25Bd97bf3",
vaa.ChainIDMoonbeam: "000000000000000000000000453cfBe096C0f8D763E8C5F24B441097d577bdE2",
vaa.ChainIDArbitrum: "0000000000000000000000003dD14D553cFD986EAC8e3bddF629d82073e188c8",
}
func GetEmitterAddressForChain(chainID vaa.ChainID, emitterType EmitterType) (vaa.Address, error) {

View File

@ -26,6 +26,7 @@ var knownTestnetTokenbridgeEmitters = map[vaa.ChainID]string{
vaa.ChainIDCelo: "00000000000000000000000005ca6037ec51f8b712ed2e6fa72219feae74e153",
vaa.ChainIDNear: "c2c0b6ecbbe9ecf91b2b7999f0264018ba68126c2e83bf413f59f712f3a1df55",
vaa.ChainIDMoonbeam: "000000000000000000000000bc976d4b9d57e57c3ca52e1fd136c45ff7955a96",
vaa.ChainIDArbitrum: "00000000000000000000000023908A62110e21C04F3A4e011d24F901F911744A",
vaa.ChainIDNeon: "000000000000000000000000c7a204bdbfe983fcd8d8e61d02b475d4073ff97e",
vaa.ChainIDXpla: "b66da121bd3621c8d2604c08c82965640fe682d606af26a302ee09094f5e62cf",
vaa.ChainIDEthereumRopsten: "000000000000000000000000F174F9A837536C449321df1Ca093Bb96948D5386",
@ -47,6 +48,7 @@ var knownTestnetNFTBridgeEmitters = map[vaa.ChainID]string{
vaa.ChainIDKlaytn: "00000000000000000000000094c994fc51c13101062958b567e743f1a04432de",
vaa.ChainIDCelo: "000000000000000000000000acd8190f647a31e56a656748bc30f69259f245db",
vaa.ChainIDMoonbeam: "00000000000000000000000098a0f4b96972b32fcb3bd03caeb66a44a6ab9edb",
vaa.ChainIDArbitrum: "000000000000000000000000Ee3dB83916Ccdc3593b734F7F2d16D630F39F1D0",
vaa.ChainIDNeon: "00000000000000000000000023908a62110e21c04f3a4e011d24f901f911744a",
vaa.ChainIDEthereumRopsten: "0000000000000000000000002b048da40f69c8dc386a56705915f8e966fe1eba",
}