-
Notifications
You must be signed in to change notification settings - Fork 36
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding Solana gateway address for supported x-chains (#689)
Added Solana gateway addresses for Testnet and Mainnet for supported EVM chains. Added mapping scripts. `wormhole_gateway` on [mainnet](https://solscan.io/account/87MEvHZCXE3ML5rrmh5uX1FbShHmRXXS32xJDGbQ7h5t) and [testnet](https://solscan.io/account/87MEvHZCXE3ML5rrmh5uX1FbShHmRXXS32xJDGbQ7h5t?cluster=devnet) Solana addresses are base58 encoded. In this PR Solana addresses are represented in hex.
- Loading branch information
Showing
16 changed files
with
292 additions
and
0 deletions.
There are no files selected for viewing
28 changes: 28 additions & 0 deletions
28
cross-chain/arbitrum/deploy_l2/00_resolve_solana_wormhole_gateway.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
import type { HardhatRuntimeEnvironment } from "hardhat/types" | ||
import type { DeployFunction } from "hardhat-deploy/types" | ||
|
||
const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { | ||
const { helpers, deployments } = hre | ||
const { log } = deployments | ||
|
||
const SolanaWormholeGateway = await deployments.getOrNull( | ||
"SolanaWormholeGateway" | ||
) | ||
|
||
if ( | ||
SolanaWormholeGateway && | ||
helpers.address.isValid(SolanaWormholeGateway.address) | ||
) { | ||
log( | ||
`using existing SolanaWormholeGateway at ${SolanaWormholeGateway.address}` | ||
) | ||
} else if (hre.network.name === "hardhat") { | ||
log("using fake SolanaWormholeGateway for hardhat network") | ||
} else { | ||
throw new Error("deployed SolanaWormholeGateway contract not found") | ||
} | ||
} | ||
|
||
export default func | ||
|
||
func.tags = ["SolanaWormholeGateway"] |
39 changes: 39 additions & 0 deletions
39
cross-chain/arbitrum/deploy_l2/16_update_with_solana_in_wormhole_gateway_mapping.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
import type { HardhatRuntimeEnvironment } from "hardhat/types" | ||
import type { DeployFunction } from "hardhat-deploy/types" | ||
|
||
const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { | ||
const { deployments, getNamedAccounts } = hre | ||
const { execute, log } = deployments | ||
const { deployer } = await getNamedAccounts() | ||
|
||
// Fake SolanaWormholeGateway for local development purposes only. | ||
const fakeSolanaWormholeGateway = | ||
"0x11a22dc2e01ecd2ae40864822d4406ff8aed4e2b8932385dabe818422ff67e1b" | ||
|
||
// See https://docs.wormhole.com/wormhole/blockchain-environments/solana | ||
// This ID is valid for both Solana Devnet and Mainnet | ||
const solanaWormholeChainID = 1 | ||
|
||
const solanaWormholeGateway = await deployments.getOrNull( | ||
"SolanaWormholeGateway" | ||
) | ||
|
||
let solanaWormholeGatewayAddress = solanaWormholeGateway?.address | ||
if (!solanaWormholeGatewayAddress && hre.network.name === "hardhat") { | ||
solanaWormholeGatewayAddress = fakeSolanaWormholeGateway | ||
log(`fake SolanaWormholeGateway address ${solanaWormholeGatewayAddress}`) | ||
} | ||
|
||
await execute( | ||
"ArbitrumWormholeGateway", | ||
{ from: deployer, log: true, waitConfirmations: 1 }, | ||
"updateGatewayAddress", | ||
solanaWormholeChainID, | ||
solanaWormholeGatewayAddress | ||
) | ||
} | ||
|
||
export default func | ||
|
||
func.tags = ["SetSolanaGatewayAddress"] | ||
func.dependencies = ["ArbitrumWormholeGateway", "SolanaWormholeGateway"] |
3 changes: 3 additions & 0 deletions
3
cross-chain/arbitrum/external/arbitrumGoerli/SolanaWormholeGateway.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"address": "0x69a22dc2e01ecd2ae40864822d4406ff8aed4e2b8932385dabe818422ff67e1b" | ||
} |
3 changes: 3 additions & 0 deletions
3
cross-chain/arbitrum/external/arbitrumOne/SolanaWormholeGateway.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"address": "0x69a22dc2e01ecd2ae40864822d4406ff8aed4e2b8932385dabe818422ff67e1b" | ||
} |
28 changes: 28 additions & 0 deletions
28
cross-chain/base/deploy_l2/00_resolve_solana_wormhole_gateway.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
import type { HardhatRuntimeEnvironment } from "hardhat/types" | ||
import type { DeployFunction } from "hardhat-deploy/types" | ||
|
||
const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { | ||
const { helpers, deployments } = hre | ||
const { log } = deployments | ||
|
||
const SolanaWormholeGateway = await deployments.getOrNull( | ||
"SolanaWormholeGateway" | ||
) | ||
|
||
if ( | ||
SolanaWormholeGateway && | ||
helpers.address.isValid(SolanaWormholeGateway.address) | ||
) { | ||
log( | ||
`using existing SolanaWormholeGateway at ${SolanaWormholeGateway.address}` | ||
) | ||
} else if (hre.network.name === "hardhat") { | ||
log("using fake SolanaWormholeGateway for hardhat network") | ||
} else { | ||
throw new Error("deployed SolanaWormholeGateway contract not found") | ||
} | ||
} | ||
|
||
export default func | ||
|
||
func.tags = ["SolanaWormholeGateway"] |
39 changes: 39 additions & 0 deletions
39
cross-chain/base/deploy_l2/16_update_with_solana_in_wormhole_gateway_mapping.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
import type { HardhatRuntimeEnvironment } from "hardhat/types" | ||
import type { DeployFunction } from "hardhat-deploy/types" | ||
|
||
const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { | ||
const { deployments, getNamedAccounts } = hre | ||
const { execute, log } = deployments | ||
const { deployer } = await getNamedAccounts() | ||
|
||
// Fake SolanaWormholeGateway for local development purposes only. | ||
const fakeSolanaWormholeGateway = | ||
"0x11a22dc2e01ecd2ae40864822d4406ff8aed4e2b8932385dabe818422ff67e1b" | ||
|
||
// See https://docs.wormhole.com/wormhole/blockchain-environments/solana | ||
// This ID is valid for both Solana Devnet and Mainnet | ||
const solanaWormholeChainID = 1 | ||
|
||
const solanaWormholeGateway = await deployments.getOrNull( | ||
"SolanaWormholeGateway" | ||
) | ||
|
||
let solanaWormholeGatewayAddress = solanaWormholeGateway?.address | ||
if (!solanaWormholeGatewayAddress && hre.network.name === "hardhat") { | ||
solanaWormholeGatewayAddress = fakeSolanaWormholeGateway | ||
log(`fake SolanaWormholeGateway address ${solanaWormholeGatewayAddress}`) | ||
} | ||
|
||
await execute( | ||
"BaseWormholeGateway", | ||
{ from: deployer, log: true, waitConfirmations: 1 }, | ||
"updateGatewayAddress", | ||
solanaWormholeChainID, | ||
solanaWormholeGatewayAddress | ||
) | ||
} | ||
|
||
export default func | ||
|
||
func.tags = ["SetSolanaGatewayAddress"] | ||
func.dependencies = ["BaseWormholeGateway", "SolanaWormholeGateway"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"address": "0x69a22dc2e01ecd2ae40864822d4406ff8aed4e2b8932385dabe818422ff67e1b" | ||
} |
3 changes: 3 additions & 0 deletions
3
cross-chain/base/external/baseGoerli/SolanaWormholeGateway.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"address": "0x69a22dc2e01ecd2ae40864822d4406ff8aed4e2b8932385dabe818422ff67e1b" | ||
} |
28 changes: 28 additions & 0 deletions
28
cross-chain/optimism/deploy_l2/00_resolve_solana_wormhole_gateway.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
import type { HardhatRuntimeEnvironment } from "hardhat/types" | ||
import type { DeployFunction } from "hardhat-deploy/types" | ||
|
||
const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { | ||
const { helpers, deployments } = hre | ||
const { log } = deployments | ||
|
||
const SolanaWormholeGateway = await deployments.getOrNull( | ||
"SolanaWormholeGateway" | ||
) | ||
|
||
if ( | ||
SolanaWormholeGateway && | ||
helpers.address.isValid(SolanaWormholeGateway.address) | ||
) { | ||
log( | ||
`using existing SolanaWormholeGateway at ${SolanaWormholeGateway.address}` | ||
) | ||
} else if (hre.network.name === "hardhat") { | ||
log("using fake SolanaWormholeGateway for hardhat network") | ||
} else { | ||
throw new Error("deployed SolanaWormholeGateway contract not found") | ||
} | ||
} | ||
|
||
export default func | ||
|
||
func.tags = ["SolanaWormholeGateway"] |
39 changes: 39 additions & 0 deletions
39
cross-chain/optimism/deploy_l2/16_update_with_solana_in_wormhole_gateway_mapping.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
import type { HardhatRuntimeEnvironment } from "hardhat/types" | ||
import type { DeployFunction } from "hardhat-deploy/types" | ||
|
||
const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { | ||
const { deployments, getNamedAccounts } = hre | ||
const { execute, log } = deployments | ||
const { deployer } = await getNamedAccounts() | ||
|
||
// Fake SolanaWormholeGateway for local development purposes only. | ||
const fakeSolanaWormholeGateway = | ||
"0x11a22dc2e01ecd2ae40864822d4406ff8aed4e2b8932385dabe818422ff67e1b" | ||
|
||
// See https://docs.wormhole.com/wormhole/blockchain-environments/solana | ||
// This ID is valid for both Solana Devnet and Mainnet | ||
const solanaWormholeChainID = 1 | ||
|
||
const solanaWormholeGateway = await deployments.getOrNull( | ||
"SolanaWormholeGateway" | ||
) | ||
|
||
let solanaWormholeGatewayAddress = solanaWormholeGateway?.address | ||
if (!solanaWormholeGatewayAddress && hre.network.name === "hardhat") { | ||
solanaWormholeGatewayAddress = fakeSolanaWormholeGateway | ||
log(`fake SolanaWormholeGateway address ${solanaWormholeGatewayAddress}`) | ||
} | ||
|
||
await execute( | ||
"OptimismWormholeGateway", | ||
{ from: deployer, log: true, waitConfirmations: 1 }, | ||
"updateGatewayAddress", | ||
solanaWormholeChainID, | ||
solanaWormholeGatewayAddress | ||
) | ||
} | ||
|
||
export default func | ||
|
||
func.tags = ["SetSolanaGatewayAddress"] | ||
func.dependencies = ["OptimismWormholeGateway", "SolanaWormholeGateway"] |
3 changes: 3 additions & 0 deletions
3
cross-chain/optimism/external/optimism/SolanaWormholeGateway.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"address": "0x69a22dc2e01ecd2ae40864822d4406ff8aed4e2b8932385dabe818422ff67e1b" | ||
} |
3 changes: 3 additions & 0 deletions
3
cross-chain/optimism/external/optimismGoerli/SolanaWormholeGateway.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"address": "0x69a22dc2e01ecd2ae40864822d4406ff8aed4e2b8932385dabe818422ff67e1b" | ||
} |
28 changes: 28 additions & 0 deletions
28
cross-chain/polygon/deploy_sidechain/00_resolve_solana_wormhole_gateway.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
import type { HardhatRuntimeEnvironment } from "hardhat/types" | ||
import type { DeployFunction } from "hardhat-deploy/types" | ||
|
||
const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { | ||
const { helpers, deployments } = hre | ||
const { log } = deployments | ||
|
||
const SolanaWormholeGateway = await deployments.getOrNull( | ||
"SolanaWormholeGateway" | ||
) | ||
|
||
if ( | ||
SolanaWormholeGateway && | ||
helpers.address.isValid(SolanaWormholeGateway.address) | ||
) { | ||
log( | ||
`using existing SolanaWormholeGateway at ${SolanaWormholeGateway.address}` | ||
) | ||
} else if (hre.network.name === "hardhat") { | ||
log("using fake SolanaWormholeGateway for hardhat network") | ||
} else { | ||
throw new Error("deployed SolanaWormholeGateway contract not found") | ||
} | ||
} | ||
|
||
export default func | ||
|
||
func.tags = ["SolanaWormholeGateway"] |
39 changes: 39 additions & 0 deletions
39
cross-chain/polygon/deploy_sidechain/16_update_with_solana_in_wormhole_gateway_mapping.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
import type { HardhatRuntimeEnvironment } from "hardhat/types" | ||
import type { DeployFunction } from "hardhat-deploy/types" | ||
|
||
const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { | ||
const { deployments, getNamedAccounts } = hre | ||
const { execute, log } = deployments | ||
const { deployer } = await getNamedAccounts() | ||
|
||
// Fake SolanaWormholeGateway for local development purposes only. | ||
const fakeSolanaWormholeGateway = | ||
"0x11a22dc2e01ecd2ae40864822d4406ff8aed4e2b8932385dabe818422ff67e1b" | ||
|
||
// See https://docs.wormhole.com/wormhole/blockchain-environments/solana | ||
// This ID is valid for both Solana Devnet and Mainnet | ||
const solanaWormholeChainID = 1 | ||
|
||
const solanaWormholeGateway = await deployments.getOrNull( | ||
"SolanaWormholeGateway" | ||
) | ||
|
||
let solanaWormholeGatewayAddress = solanaWormholeGateway?.address | ||
if (!solanaWormholeGatewayAddress && hre.network.name === "hardhat") { | ||
solanaWormholeGatewayAddress = fakeSolanaWormholeGateway | ||
log(`fake SolanaWormholeGateway address ${solanaWormholeGatewayAddress}`) | ||
} | ||
|
||
await execute( | ||
"PolygonWormholeGateway", | ||
{ from: deployer, log: true, waitConfirmations: 1 }, | ||
"updateGatewayAddress", | ||
solanaWormholeChainID, | ||
solanaWormholeGatewayAddress | ||
) | ||
} | ||
|
||
export default func | ||
|
||
func.tags = ["SetSolanaGatewayAddress"] | ||
func.dependencies = ["PolygonWormholeGateway", "SolanaWormholeGateway"] |
3 changes: 3 additions & 0 deletions
3
cross-chain/polygon/external/mumbai/SolanaWormholeGateway.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"address": "0x69a22dc2e01ecd2ae40864822d4406ff8aed4e2b8932385dabe818422ff67e1b" | ||
} |
3 changes: 3 additions & 0 deletions
3
cross-chain/polygon/external/polygon/SolanaWormholeGateway.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"address": "0x69a22dc2e01ecd2ae40864822d4406ff8aed4e2b8932385dabe818422ff67e1b" | ||
} |