浏览代码

node_deploy_unichain_mainnet (#4261)

bruce-riley 9 月之前
父节点
当前提交
763e39edd9

+ 1 - 1
node/cmd/guardiand/node.go

@@ -835,7 +835,7 @@ func runNode(cmd *cobra.Command, args []string) {
 	*lineaContract = checkEvmArgs(logger, *lineaRPC, *lineaContract, "linea", true)
 	*berachainContract = checkEvmArgs(logger, *berachainRPC, *berachainContract, "berachain", false)
 	*snaxchainContract = checkEvmArgs(logger, *snaxchainRPC, *snaxchainContract, "snaxchain", true)
-	*unichainContract = checkEvmArgs(logger, *unichainRPC, *unichainContract, "unichain", false)
+	*unichainContract = checkEvmArgs(logger, *unichainRPC, *unichainContract, "unichain", true)
 	*worldchainContract = checkEvmArgs(logger, *worldchainRPC, *worldchainContract, "worldchain", true)
 	*inkContract = checkEvmArgs(logger, *inkRPC, *inkContract, "ink", false)
 	*hyperEvmContract = checkEvmArgs(logger, *hyperEvmRPC, *hyperEvmContract, "hyperEvm", false)

+ 2 - 0
node/hack/repair_eth/repair_eth.go

@@ -50,6 +50,7 @@ var etherscanAPIMap = map[vaa.ChainID]string{
 	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?
+	vaa.ChainIDUnichain:   "", // TODO: Add Unichain once the public explorer is available.
 	vaa.ChainIDWorldchain: "https://api.worldscan.org",
 }
 
@@ -73,6 +74,7 @@ var coreContractMap = map[vaa.ChainID]string{
 	vaa.ChainIDMantle:     strings.ToLower("0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6"),
 	vaa.ChainIDBlast:      strings.ToLower("0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6"),
 	vaa.ChainIDXLayer:     strings.ToLower("0x194B123c5E96B9b2E49763619985790Dc241CAC0"),
+	vaa.ChainIDUnichain:   strings.ToLower("0xCa1D5a146B03f6303baF59e5AD5615ae0b9d146D"),
 	vaa.ChainIDWorldchain: strings.ToLower("0xcbcEe4e081464A15d8Ad5f58BB493954421eB506"),
 }
 

+ 1 - 0
node/pkg/governor/mainnet_chains.go

@@ -41,6 +41,7 @@ func chainList() []chainConfigEntry {
 		{emitterChainID: vaa.ChainIDXLayer, dailyLimit: 100_000, bigTransactionSize: 10_000},
 		{emitterChainID: vaa.ChainIDWormchain, dailyLimit: 500_000, bigTransactionSize: 50_000},
 		{emitterChainID: vaa.ChainIDSnaxchain, dailyLimit: 500_000, bigTransactionSize: 50_000},
+		{emitterChainID: vaa.ChainIDUnichain, dailyLimit: 500_000, bigTransactionSize: 50_000},
 		{emitterChainID: vaa.ChainIDWorldchain, dailyLimit: 500_000, bigTransactionSize: 50_000},
 	}
 }

+ 2 - 0
node/pkg/governor/mainnet_tokens_test.go

@@ -42,6 +42,8 @@ func TestGovernedChainHasGovernedAssets(t *testing.T) {
 	ignoredChains := map[vaa.ChainID]bool{
 		// TODO: Remove this once we have governed tokens for Snax.
 		vaa.ChainIDSnaxchain: true,
+		// TODO: Remove this once we have governed tokens for Unichain.
+		vaa.ChainIDUnichain: true,
 
 		// Wormchain is an abstraction over IBC-connected chains so no assets are "native" to it
 		vaa.ChainIDWormchain: true,

+ 1 - 0
sdk/mainnet_consts.go

@@ -121,6 +121,7 @@ var knownTokenbridgeEmitters = map[vaa.ChainID]string{
 	vaa.ChainIDBlast:      "00000000000000000000000024850c6f61C438823F01B7A3BF2B89B72174Fa9d",
 	vaa.ChainIDXLayer:     "0000000000000000000000005537857664B0f9eFe38C9f320F75fEf23234D904",
 	vaa.ChainIDSnaxchain:  "0000000000000000000000008B94bfE456B48a6025b92E11Be393BAa86e68410",
+	vaa.ChainIDUnichain:   "0000000000000000000000003Ff72741fd67D6AD0668d93B41a09248F4700560",
 	vaa.ChainIDInjective:  "00000000000000000000000045dbea4617971d93188eda21530bc6503d153313",
 	vaa.ChainIDSui:        "ccceeb29348f71bdd22ffef43a2a19c1f5b5e17c5cca5411529120182672ade5",
 	vaa.ChainIDSei:        "86c5fd957e2db8389553e1728f9c27964b22a8154091ccba54d75f4b10c61f5e",