Client/JS: Add new chains (#3610)
This commit is contained in:
parent
818038ef80
commit
14144c8c10
|
@ -255,8 +255,9 @@ Options:
|
||||||
"avalanche", "oasis", "algorand", "aurora", "fantom", "karura", "acala",
|
"avalanche", "oasis", "algorand", "aurora", "fantom", "karura", "acala",
|
||||||
"klaytn", "celo", "near", "moonbeam", "neon", "terra2", "injective",
|
"klaytn", "celo", "near", "moonbeam", "neon", "terra2", "injective",
|
||||||
"osmosis", "sui", "aptos", "arbitrum", "optimism", "gnosis", "pythnet",
|
"osmosis", "sui", "aptos", "arbitrum", "optimism", "gnosis", "pythnet",
|
||||||
"xpla", "btc", "base", "sei", "rootstock", "wormchain", "cosmoshub", "evmos",
|
"xpla", "btc", "base", "sei", "rootstock", "scroll", "mantle", "wormchain",
|
||||||
"kujira", "sepolia"]
|
"cosmoshub", "evmos", "kujira", "neutron", "celestia", "sepolia",
|
||||||
|
"arbitrum_sepolia", "base_sepolia", "optimism_sepolia"]
|
||||||
-n, --network Network
|
-n, --network Network
|
||||||
[required] [choices: "mainnet", "testnet", "devnet"]
|
[required] [choices: "mainnet", "testnet", "devnet"]
|
||||||
-a, --contract-address Contract to submit VAA to (override config) [string]
|
-a, --contract-address Contract to submit VAA to (override config) [string]
|
||||||
|
@ -311,15 +312,17 @@ Options:
|
||||||
"avalanche", "oasis", "algorand", "aurora", "fantom", "karura", "acala",
|
"avalanche", "oasis", "algorand", "aurora", "fantom", "karura", "acala",
|
||||||
"klaytn", "celo", "near", "moonbeam", "neon", "terra2", "injective",
|
"klaytn", "celo", "near", "moonbeam", "neon", "terra2", "injective",
|
||||||
"osmosis", "sui", "aptos", "arbitrum", "optimism", "gnosis", "pythnet",
|
"osmosis", "sui", "aptos", "arbitrum", "optimism", "gnosis", "pythnet",
|
||||||
"xpla", "btc", "base", "sei", "rootstock", "wormchain", "cosmoshub", "evmos",
|
"xpla", "btc", "base", "sei", "rootstock", "scroll", "mantle", "wormchain",
|
||||||
"kujira", "sepolia"]
|
"cosmoshub", "evmos", "kujira", "neutron", "celestia", "sepolia",
|
||||||
|
"arbitrum_sepolia", "base_sepolia", "optimism_sepolia"]
|
||||||
--dst-chain destination chain
|
--dst-chain destination chain
|
||||||
[required] [choices: "solana", "ethereum", "terra", "bsc", "polygon",
|
[required] [choices: "solana", "ethereum", "terra", "bsc", "polygon",
|
||||||
"avalanche", "oasis", "algorand", "aurora", "fantom", "karura", "acala",
|
"avalanche", "oasis", "algorand", "aurora", "fantom", "karura", "acala",
|
||||||
"klaytn", "celo", "near", "moonbeam", "neon", "terra2", "injective",
|
"klaytn", "celo", "near", "moonbeam", "neon", "terra2", "injective",
|
||||||
"osmosis", "sui", "aptos", "arbitrum", "optimism", "gnosis", "pythnet",
|
"osmosis", "sui", "aptos", "arbitrum", "optimism", "gnosis", "pythnet",
|
||||||
"xpla", "btc", "base", "sei", "rootstock", "wormchain", "cosmoshub", "evmos",
|
"xpla", "btc", "base", "sei", "rootstock", "scroll", "mantle", "wormchain",
|
||||||
"kujira", "sepolia"]
|
"cosmoshub", "evmos", "kujira", "neutron", "celestia", "sepolia",
|
||||||
|
"arbitrum_sepolia", "base_sepolia", "optimism_sepolia"]
|
||||||
--dst-addr destination address [string] [required]
|
--dst-addr destination address [string] [required]
|
||||||
--token-addr token address [string] [default: native token]
|
--token-addr token address [string] [default: native token]
|
||||||
--amount token amount [string] [required]
|
--amount token amount [string] [required]
|
||||||
|
@ -351,8 +354,9 @@ Positionals:
|
||||||
"avalanche", "oasis", "algorand", "aurora", "fantom", "karura", "acala",
|
"avalanche", "oasis", "algorand", "aurora", "fantom", "karura", "acala",
|
||||||
"klaytn", "celo", "near", "moonbeam", "neon", "terra2", "injective",
|
"klaytn", "celo", "near", "moonbeam", "neon", "terra2", "injective",
|
||||||
"osmosis", "sui", "aptos", "arbitrum", "optimism", "gnosis", "pythnet",
|
"osmosis", "sui", "aptos", "arbitrum", "optimism", "gnosis", "pythnet",
|
||||||
"xpla", "btc", "base", "sei", "rootstock", "wormchain", "cosmoshub", "evmos",
|
"xpla", "btc", "base", "sei", "rootstock", "scroll", "mantle", "wormchain",
|
||||||
"kujira", "sepolia"]
|
"cosmoshub", "evmos", "kujira", "neutron", "celestia", "sepolia",
|
||||||
|
"arbitrum_sepolia", "base_sepolia", "optimism_sepolia"]
|
||||||
tx Source transaction hash [string]
|
tx Source transaction hash [string]
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@celo-tools/celo-ethers-wrapper": "^0.1.0",
|
"@celo-tools/celo-ethers-wrapper": "^0.1.0",
|
||||||
"@certusone/wormhole-sdk": "^0.10.5-beta.3",
|
"@certusone/wormhole-sdk": "^0.10.7",
|
||||||
"@cosmjs/encoding": "^0.26.2",
|
"@cosmjs/encoding": "^0.26.2",
|
||||||
"@improbable-eng/grpc-web-node-http-transport": "^0.15.0",
|
"@improbable-eng/grpc-web-node-http-transport": "^0.15.0",
|
||||||
"@injectivelabs/networks": "^1.10.7",
|
"@injectivelabs/networks": "^1.10.7",
|
||||||
|
@ -494,11 +494,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@certusone/wormhole-sdk": {
|
"node_modules/@certusone/wormhole-sdk": {
|
||||||
"version": "0.10.5-beta.3",
|
"version": "0.10.7",
|
||||||
"resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk/-/wormhole-sdk-0.10.5-beta.3.tgz",
|
"resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk/-/wormhole-sdk-0.10.7.tgz",
|
||||||
"integrity": "sha512-Q1IrWYQ/NPpLcuPs3J8MbUeRwBxBOTZFwLs3jahohgUFCQhGuBwhgpv02CdEYBR/iZpgaDrj2Eo3HOe3uNlYVA==",
|
"integrity": "sha512-1qV/MYM7deFl+/d1kK34PzDsgDaUQrNvrUVCeUw60WQP8ySf/vWiWk5ny6kaad16d+Qv8JxmVRuHMV4GxZR9/g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@certusone/wormhole-sdk-proto-web": "0.0.6",
|
"@certusone/wormhole-sdk-proto-web": "0.0.7",
|
||||||
"@certusone/wormhole-sdk-wasm": "^0.0.1",
|
"@certusone/wormhole-sdk-wasm": "^0.0.1",
|
||||||
"@coral-xyz/borsh": "0.2.6",
|
"@coral-xyz/borsh": "0.2.6",
|
||||||
"@mysten/sui.js": "0.32.2",
|
"@mysten/sui.js": "0.32.2",
|
||||||
|
@ -524,9 +524,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@certusone/wormhole-sdk-proto-web": {
|
"node_modules/@certusone/wormhole-sdk-proto-web": {
|
||||||
"version": "0.0.6",
|
"version": "0.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk-proto-web/-/wormhole-sdk-proto-web-0.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk-proto-web/-/wormhole-sdk-proto-web-0.0.7.tgz",
|
||||||
"integrity": "sha512-LTyjsrWryefx5WmkoBP6FQ2EjLxhMExAGxLkloHUhufVQZdrbGh0htBBUviP+HaDSJBCMPMtulNFwkBJV6muqQ==",
|
"integrity": "sha512-GCe1/bcqMS0Mt+hsWp4SE4NLL59pWmK0lhQXO0oqAKl0G9AuuTdudySMDF/sLc7z5H2w34bSuSrIEKvPuuSC+w==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@improbable-eng/grpc-web": "^0.15.0",
|
"@improbable-eng/grpc-web": "^0.15.0",
|
||||||
"protobufjs": "^7.0.0",
|
"protobufjs": "^7.0.0",
|
||||||
|
@ -8367,11 +8367,11 @@
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"@certusone/wormhole-sdk": {
|
"@certusone/wormhole-sdk": {
|
||||||
"version": "0.10.5-beta.3",
|
"version": "0.10.7",
|
||||||
"resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk/-/wormhole-sdk-0.10.5-beta.3.tgz",
|
"resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk/-/wormhole-sdk-0.10.7.tgz",
|
||||||
"integrity": "sha512-Q1IrWYQ/NPpLcuPs3J8MbUeRwBxBOTZFwLs3jahohgUFCQhGuBwhgpv02CdEYBR/iZpgaDrj2Eo3HOe3uNlYVA==",
|
"integrity": "sha512-1qV/MYM7deFl+/d1kK34PzDsgDaUQrNvrUVCeUw60WQP8ySf/vWiWk5ny6kaad16d+Qv8JxmVRuHMV4GxZR9/g==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@certusone/wormhole-sdk-proto-web": "0.0.6",
|
"@certusone/wormhole-sdk-proto-web": "0.0.7",
|
||||||
"@certusone/wormhole-sdk-wasm": "^0.0.1",
|
"@certusone/wormhole-sdk-wasm": "^0.0.1",
|
||||||
"@coral-xyz/borsh": "0.2.6",
|
"@coral-xyz/borsh": "0.2.6",
|
||||||
"@injectivelabs/networks": "1.10.12",
|
"@injectivelabs/networks": "1.10.12",
|
||||||
|
@ -8402,9 +8402,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@certusone/wormhole-sdk-proto-web": {
|
"@certusone/wormhole-sdk-proto-web": {
|
||||||
"version": "0.0.6",
|
"version": "0.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk-proto-web/-/wormhole-sdk-proto-web-0.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk-proto-web/-/wormhole-sdk-proto-web-0.0.7.tgz",
|
||||||
"integrity": "sha512-LTyjsrWryefx5WmkoBP6FQ2EjLxhMExAGxLkloHUhufVQZdrbGh0htBBUviP+HaDSJBCMPMtulNFwkBJV6muqQ==",
|
"integrity": "sha512-GCe1/bcqMS0Mt+hsWp4SE4NLL59pWmK0lhQXO0oqAKl0G9AuuTdudySMDF/sLc7z5H2w34bSuSrIEKvPuuSC+w==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@improbable-eng/grpc-web": "^0.15.0",
|
"@improbable-eng/grpc-web": "^0.15.0",
|
||||||
"protobufjs": "^7.0.0",
|
"protobufjs": "^7.0.0",
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@celo-tools/celo-ethers-wrapper": "^0.1.0",
|
"@celo-tools/celo-ethers-wrapper": "^0.1.0",
|
||||||
"@certusone/wormhole-sdk": "^0.10.5-beta.3",
|
"@certusone/wormhole-sdk": "^0.10.7",
|
||||||
"@cosmjs/encoding": "^0.26.2",
|
"@cosmjs/encoding": "^0.26.2",
|
||||||
"@improbable-eng/grpc-web-node-http-transport": "^0.15.0",
|
"@improbable-eng/grpc-web-node-http-transport": "^0.15.0",
|
||||||
"@injectivelabs/networks": "^1.10.7",
|
"@injectivelabs/networks": "^1.10.7",
|
||||||
|
|
|
@ -60,7 +60,12 @@ export const getOriginalAsset = async (
|
||||||
case "optimism":
|
case "optimism":
|
||||||
case "polygon":
|
case "polygon":
|
||||||
// case "rootstock":
|
// case "rootstock":
|
||||||
case "sepolia": {
|
case "scroll":
|
||||||
|
case "mantle":
|
||||||
|
case "sepolia":
|
||||||
|
case "arbitrum_sepolia":
|
||||||
|
case "base_sepolia":
|
||||||
|
case "optimism_sepolia": {
|
||||||
const provider = getProviderForChain(chainName, network, { rpc });
|
const provider = getProviderForChain(chainName, network, { rpc });
|
||||||
return getOriginalAssetEth(
|
return getOriginalAssetEth(
|
||||||
tokenBridgeAddress,
|
tokenBridgeAddress,
|
||||||
|
@ -113,6 +118,8 @@ export const getOriginalAsset = async (
|
||||||
case "cosmoshub":
|
case "cosmoshub":
|
||||||
case "evmos":
|
case "evmos":
|
||||||
case "kujira":
|
case "kujira":
|
||||||
|
case "neutron":
|
||||||
|
case "celestia":
|
||||||
case "rootstock":
|
case "rootstock":
|
||||||
throw new Error(`${chainName} not supported`);
|
throw new Error(`${chainName} not supported`);
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -70,7 +70,12 @@ export const getWrappedAssetAddress = async (
|
||||||
case "optimism":
|
case "optimism":
|
||||||
case "polygon":
|
case "polygon":
|
||||||
// case "rootstock":
|
// case "rootstock":
|
||||||
case "sepolia": {
|
case "scroll":
|
||||||
|
case "mantle":
|
||||||
|
case "sepolia":
|
||||||
|
case "arbitrum_sepolia":
|
||||||
|
case "base_sepolia":
|
||||||
|
case "optimism_sepolia": {
|
||||||
const provider = getProviderForChain(chainName, network, { rpc });
|
const provider = getProviderForChain(chainName, network, { rpc });
|
||||||
return getForeignAssetEth(
|
return getForeignAssetEth(
|
||||||
tokenBridgeAddress,
|
tokenBridgeAddress,
|
||||||
|
@ -159,6 +164,8 @@ export const getWrappedAssetAddress = async (
|
||||||
case "cosmoshub":
|
case "cosmoshub":
|
||||||
case "evmos":
|
case "evmos":
|
||||||
case "kujira":
|
case "kujira":
|
||||||
|
case "neutron":
|
||||||
|
case "celestia":
|
||||||
case "rootstock":
|
case "rootstock":
|
||||||
throw new Error(`${chainName} not supported`);
|
throw new Error(`${chainName} not supported`);
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -97,7 +97,12 @@ export const getProviderForChain = <T extends ChainId | ChainName>(
|
||||||
case "optimism":
|
case "optimism":
|
||||||
case "polygon":
|
case "polygon":
|
||||||
// case "rootstock":
|
// case "rootstock":
|
||||||
|
case "scroll":
|
||||||
|
case "mantle":
|
||||||
case "sepolia":
|
case "sepolia":
|
||||||
|
case "arbitrum_sepolia":
|
||||||
|
case "base_sepolia":
|
||||||
|
case "optimism_sepolia":
|
||||||
return new ethers.providers.JsonRpcProvider(rpc) as ChainProvider<T>;
|
return new ethers.providers.JsonRpcProvider(rpc) as ChainProvider<T>;
|
||||||
case "terra":
|
case "terra":
|
||||||
case "terra2":
|
case "terra2":
|
||||||
|
@ -157,6 +162,8 @@ export const getProviderForChain = <T extends ChainId | ChainName>(
|
||||||
case "cosmoshub":
|
case "cosmoshub":
|
||||||
case "evmos":
|
case "evmos":
|
||||||
case "kujira":
|
case "kujira":
|
||||||
|
case "neutron":
|
||||||
|
case "celestia":
|
||||||
case "rootstock":
|
case "rootstock":
|
||||||
throw new Error(`${chainName} not supported`);
|
throw new Error(`${chainName} not supported`);
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -190,6 +190,10 @@ async function executeSubmit(
|
||||||
throw Error("Evmos is not supported yet");
|
throw Error("Evmos is not supported yet");
|
||||||
} else if (chain === "kujira") {
|
} else if (chain === "kujira") {
|
||||||
throw Error("kujira is not supported yet");
|
throw Error("kujira is not supported yet");
|
||||||
|
} else if (chain === "neutron") {
|
||||||
|
throw Error("neutron is not supported yet");
|
||||||
|
} else if (chain === "celestia") {
|
||||||
|
throw Error("celestia is not supported yet");
|
||||||
} else if (chain === "rootstock") {
|
} else if (chain === "rootstock") {
|
||||||
throw Error("rootstock is not supported yet");
|
throw Error("rootstock is not supported yet");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -144,6 +144,10 @@ export const handler = async (
|
||||||
throw Error("evmos is not supported yet");
|
throw Error("evmos is not supported yet");
|
||||||
} else if (srcChain === "kujira") {
|
} else if (srcChain === "kujira") {
|
||||||
throw Error("kujira is not supported yet");
|
throw Error("kujira is not supported yet");
|
||||||
|
} else if (srcChain === "neutron") {
|
||||||
|
throw Error("neutron is not supported yet");
|
||||||
|
} else if (srcChain === "celestia") {
|
||||||
|
throw Error("celestia is not supported yet");
|
||||||
} else if (srcChain === "rootstock") {
|
} else if (srcChain === "rootstock") {
|
||||||
throw Error("rootstock is not supported yet");
|
throw Error("rootstock is not supported yet");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -193,6 +193,41 @@ const MAINNET = {
|
||||||
key: undefined,
|
key: undefined,
|
||||||
chain_id: undefined,
|
chain_id: undefined,
|
||||||
},
|
},
|
||||||
|
neutron: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
|
celestia: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
|
scroll: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
|
mantle: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
|
arbitrum_sepolia: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
|
base_sepolia: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
|
optimism_sepolia: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const TESTNET = {
|
const TESTNET = {
|
||||||
|
@ -373,6 +408,41 @@ const TESTNET = {
|
||||||
key: undefined,
|
key: undefined,
|
||||||
chain_id: undefined,
|
chain_id: undefined,
|
||||||
},
|
},
|
||||||
|
neutron: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
|
celestia: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
|
scroll: {
|
||||||
|
rpc: "https://rpc.ankr.com/scroll_sepolia_testnet",
|
||||||
|
key: getEnvVar("ETH_KEY_TESTNET"),
|
||||||
|
chain_id: 534353,
|
||||||
|
},
|
||||||
|
mantle: {
|
||||||
|
rpc: "https://rpc.ankr.com/mantle_testnet",
|
||||||
|
key: getEnvVar("ETH_KEY_TESTNET"),
|
||||||
|
chain_id: 5001,
|
||||||
|
},
|
||||||
|
arbitrum_sepolia: {
|
||||||
|
rpc: "https://arbitrum-sepolia.publicnode.com",
|
||||||
|
key: getEnvVar("ETH_KEY_TESTNET"),
|
||||||
|
chain_id: 421614,
|
||||||
|
},
|
||||||
|
base_sepolia: {
|
||||||
|
rpc: "https://sepolia.base.org",
|
||||||
|
key: getEnvVar("ETH_KEY_TESTNET"),
|
||||||
|
chain_id: 84532,
|
||||||
|
},
|
||||||
|
optimism_sepolia: {
|
||||||
|
rpc: "https://rpc.ankr.com/optimism_sepolia",
|
||||||
|
key: getEnvVar("ETH_KEY_TESTNET"),
|
||||||
|
chain_id: 11155420,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const DEVNET = {
|
const DEVNET = {
|
||||||
|
@ -530,6 +600,41 @@ const DEVNET = {
|
||||||
rpc: undefined,
|
rpc: undefined,
|
||||||
key: undefined,
|
key: undefined,
|
||||||
},
|
},
|
||||||
|
neutron: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
|
celestia: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
|
scroll: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
|
mantle: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
|
arbitrum_sepolia: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
|
base_sepolia: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
|
optimism_sepolia: {
|
||||||
|
rpc: undefined,
|
||||||
|
key: undefined,
|
||||||
|
chain_id: undefined,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue