Răsfoiți Sursa

Client/JS: Add new changes

Bruce Riley 1 an în urmă
părinte
comite
d7a4a2af0d

+ 12 - 8
clients/js/README.md

@@ -256,8 +256,9 @@ Options:
             "klaytn", "celo", "near", "moonbeam", "neon", "terra2", "injective",
          "osmosis", "sui", "aptos", "arbitrum", "optimism", "gnosis", "pythnet",
      "xpla", "btc", "base", "sei", "rootstock", "scroll", "mantle", "wormchain",
-               "cosmoshub", "evmos", "kujira", "neutron", "celestia", "sepolia",
-              "arbitrum_sepolia", "base_sepolia", "optimism_sepolia", "holesky"]
+      "cosmoshub", "evmos", "kujira", "neutron", "celestia", "stargaze", "seda",
+                     "dymension", "sepolia", "arbitrum_sepolia", "base_sepolia",
+                               "optimism_sepolia", "holesky", "polygon_sepolia"]
   -n, --network           Network
                             [required] [choices: "mainnet", "testnet", "devnet"]
   -a, --contract-address  Contract to submit VAA to (override config)   [string]
@@ -313,16 +314,18 @@ Options:
             "klaytn", "celo", "near", "moonbeam", "neon", "terra2", "injective",
          "osmosis", "sui", "aptos", "arbitrum", "optimism", "gnosis", "pythnet",
      "xpla", "btc", "base", "sei", "rootstock", "scroll", "mantle", "wormchain",
-               "cosmoshub", "evmos", "kujira", "neutron", "celestia", "sepolia",
-              "arbitrum_sepolia", "base_sepolia", "optimism_sepolia", "holesky"]
+      "cosmoshub", "evmos", "kujira", "neutron", "celestia", "stargaze", "seda",
+                     "dymension", "sepolia", "arbitrum_sepolia", "base_sepolia",
+                               "optimism_sepolia", "holesky", "polygon_sepolia"]
       --dst-chain   destination chain
            [required] [choices: "solana", "ethereum", "terra", "bsc", "polygon",
         "avalanche", "oasis", "algorand", "aurora", "fantom", "karura", "acala",
             "klaytn", "celo", "near", "moonbeam", "neon", "terra2", "injective",
          "osmosis", "sui", "aptos", "arbitrum", "optimism", "gnosis", "pythnet",
      "xpla", "btc", "base", "sei", "rootstock", "scroll", "mantle", "wormchain",
-               "cosmoshub", "evmos", "kujira", "neutron", "celestia", "sepolia",
-              "arbitrum_sepolia", "base_sepolia", "optimism_sepolia", "holesky"]
+      "cosmoshub", "evmos", "kujira", "neutron", "celestia", "stargaze", "seda",
+                     "dymension", "sepolia", "arbitrum_sepolia", "base_sepolia",
+                               "optimism_sepolia", "holesky", "polygon_sepolia"]
       --dst-addr    destination address                      [string] [required]
       --token-addr  token address               [string] [default: native token]
       --amount      token amount                             [string] [required]
@@ -355,8 +358,9 @@ Positionals:
             "klaytn", "celo", "near", "moonbeam", "neon", "terra2", "injective",
          "osmosis", "sui", "aptos", "arbitrum", "optimism", "gnosis", "pythnet",
      "xpla", "btc", "base", "sei", "rootstock", "scroll", "mantle", "wormchain",
-               "cosmoshub", "evmos", "kujira", "neutron", "celestia", "sepolia",
-              "arbitrum_sepolia", "base_sepolia", "optimism_sepolia", "holesky"]
+      "cosmoshub", "evmos", "kujira", "neutron", "celestia", "stargaze", "seda",
+                     "dymension", "sepolia", "arbitrum_sepolia", "base_sepolia",
+                               "optimism_sepolia", "holesky", "polygon_sepolia"]
   tx       Source transaction hash                                      [string]
 
 Options:

+ 7 - 7
clients/js/package-lock.json

@@ -10,7 +10,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "@celo-tools/celo-ethers-wrapper": "^0.1.0",
-        "@certusone/wormhole-sdk": "^0.10.8",
+        "@certusone/wormhole-sdk": "^0.10.13",
         "@cosmjs/encoding": "^0.26.2",
         "@improbable-eng/grpc-web-node-http-transport": "^0.15.0",
         "@injectivelabs/networks": "^1.10.7",
@@ -494,9 +494,9 @@
       }
     },
     "node_modules/@certusone/wormhole-sdk": {
-      "version": "0.10.8",
-      "resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk/-/wormhole-sdk-0.10.8.tgz",
-      "integrity": "sha512-W2rA8fMdkVFWvy93+51K+8Kv/bpjuFtxCYCQI4YkWe+g4zLkDXw+yYMVPPqc/chFLFNSutPMqUtXAg7+y8lowg==",
+      "version": "0.10.13",
+      "resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk/-/wormhole-sdk-0.10.13.tgz",
+      "integrity": "sha512-04OCGoJUylTFNu4+g96Ax7jvn3M7FwVbTTcPNIjgta8QcC046kZBYAEd/yrK5hkDGqejQyJwO0ieaJfxL/kv1w==",
       "dependencies": {
         "@certusone/wormhole-sdk-proto-web": "0.0.7",
         "@certusone/wormhole-sdk-wasm": "^0.0.1",
@@ -8367,9 +8367,9 @@
       "requires": {}
     },
     "@certusone/wormhole-sdk": {
-      "version": "0.10.8",
-      "resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk/-/wormhole-sdk-0.10.8.tgz",
-      "integrity": "sha512-W2rA8fMdkVFWvy93+51K+8Kv/bpjuFtxCYCQI4YkWe+g4zLkDXw+yYMVPPqc/chFLFNSutPMqUtXAg7+y8lowg==",
+      "version": "0.10.13",
+      "resolved": "https://registry.npmjs.org/@certusone/wormhole-sdk/-/wormhole-sdk-0.10.13.tgz",
+      "integrity": "sha512-04OCGoJUylTFNu4+g96Ax7jvn3M7FwVbTTcPNIjgta8QcC046kZBYAEd/yrK5hkDGqejQyJwO0ieaJfxL/kv1w==",
       "requires": {
         "@certusone/wormhole-sdk-proto-web": "0.0.7",
         "@certusone/wormhole-sdk-wasm": "^0.0.1",

+ 1 - 1
clients/js/package.json

@@ -30,7 +30,7 @@
   ],
   "dependencies": {
     "@celo-tools/celo-ethers-wrapper": "^0.1.0",
-    "@certusone/wormhole-sdk": "^0.10.8",
+    "@certusone/wormhole-sdk": "^0.10.13",
     "@cosmjs/encoding": "^0.26.2",
     "@improbable-eng/grpc-web-node-http-transport": "^0.15.0",
     "@injectivelabs/networks": "^1.10.7",

+ 4 - 0
clients/js/src/chains/generic/getOriginalAsset.ts

@@ -66,6 +66,7 @@ export const getOriginalAsset = async (
     case "arbitrum_sepolia":
     case "base_sepolia":
     case "optimism_sepolia":
+    case "polygon_sepolia":
     case "holesky": {
       const provider = getProviderForChain(chainName, network, { rpc });
       return getOriginalAssetEth(
@@ -121,6 +122,9 @@ export const getOriginalAsset = async (
     case "kujira":
     case "neutron":
     case "celestia":
+    case "stargaze":
+    case "seda":
+    case "dymension":
     case "rootstock":
       throw new Error(`${chainName} not supported`);
     default:

+ 4 - 0
clients/js/src/chains/generic/getWrappedAssetAddress.ts

@@ -76,6 +76,7 @@ export const getWrappedAssetAddress = async (
     case "arbitrum_sepolia":
     case "base_sepolia":
     case "optimism_sepolia":
+    case "polygon_sepolia":
     case "holesky": {
       const provider = getProviderForChain(chainName, network, { rpc });
       return getForeignAssetEth(
@@ -168,6 +169,9 @@ export const getWrappedAssetAddress = async (
     case "neutron":
     case "celestia":
     case "rootstock":
+    case "stargaze":
+    case "seda":
+    case "dymension":
       throw new Error(`${chainName} not supported`);
     default:
       impossible(chainName);

+ 4 - 0
clients/js/src/chains/generic/provider.ts

@@ -103,6 +103,7 @@ export const getProviderForChain = <T extends ChainId | ChainName>(
     case "arbitrum_sepolia":
     case "base_sepolia":
     case "optimism_sepolia":
+    case "polygon_sepolia":
     case "holesky":
       return new ethers.providers.JsonRpcProvider(rpc) as ChainProvider<T>;
     case "terra":
@@ -165,6 +166,9 @@ export const getProviderForChain = <T extends ChainId | ChainName>(
     case "kujira":
     case "neutron":
     case "celestia":
+    case "stargaze":
+    case "seda":
+    case "dymension":
     case "rootstock":
       throw new Error(`${chainName} not supported`);
     default:

+ 6 - 0
clients/js/src/cmds/submit.ts

@@ -194,6 +194,12 @@ async function executeSubmit(
     throw Error("neutron is not supported yet");
   } else if (chain === "celestia") {
     throw Error("celestia is not supported yet");
+  } else if (chain === "stargaze") {
+    throw Error("stargaze is not supported yet");
+  } else if (chain === "seda") {
+    throw Error("seda is not supported yet");
+  } else if (chain === "dymension") {
+    throw Error("dymension is not supported yet");
   } else if (chain === "rootstock") {
     throw Error("rootstock is not supported yet");
   } else {

+ 6 - 0
clients/js/src/cmds/transfer.ts

@@ -148,6 +148,12 @@ export const handler = async (
     throw Error("neutron is not supported yet");
   } else if (srcChain === "celestia") {
     throw Error("celestia is not supported yet");
+  } else if (srcChain === "stargaze") {
+    throw Error("stargaze is not supported yet");
+  } else if (srcChain === "seda") {
+    throw Error("seda is not supported yet");
+  } else if (srcChain === "dymension") {
+    throw Error("dymension is not supported yet");
   } else if (srcChain === "rootstock") {
     throw Error("rootstock is not supported yet");
   } else {

+ 62 - 2
clients/js/src/consts/networks.ts

@@ -233,6 +233,26 @@ const MAINNET = {
     key: undefined,
     chain_id: undefined,
   },
+  polygon_sepolia: {
+    rpc: undefined,
+    key: undefined,
+    chain_id: undefined,
+  },
+  stargaze: {
+    rpc: undefined,
+    key: undefined,
+    chain_id: undefined,
+  },
+  seda: {
+    rpc: undefined,
+    key: undefined,
+    chain_id: undefined,
+  },
+  dymension: {
+    rpc: undefined,
+    key: undefined,
+    chain_id: undefined,
+  },
 };
 
 const TESTNET = {
@@ -434,9 +454,9 @@ const TESTNET = {
     chain_id: 534353,
   },
   mantle: {
-    rpc: "https://rpc.ankr.com/mantle_testnet",
+    rpc: "https://mantle-sepolia.drpc.org",
     key: getEnvVar("ETH_KEY_TESTNET"),
-    chain_id: 5001,
+    chain_id: 5003,
   },
   arbitrum_sepolia: {
     rpc: "https://arbitrum-sepolia.publicnode.com",
@@ -453,6 +473,26 @@ const TESTNET = {
     key: getEnvVar("ETH_KEY_TESTNET"),
     chain_id: 11155420,
   },
+  polygon_sepolia: {
+    rpc: "https://rpc-amoy.polygon.technology/",
+    key: getEnvVar("ETH_KEY_TESTNET"),
+    chain_id: 80002,
+  },
+  stargaze: {
+    rpc: undefined,
+    key: undefined,
+    chain_id: undefined,
+  },
+  seda: {
+    rpc: undefined,
+    key: undefined,
+    chain_id: undefined,
+  },
+  dymension: {
+    rpc: undefined,
+    key: undefined,
+    chain_id: undefined,
+  },
 };
 
 const DEVNET = {
@@ -649,6 +689,26 @@ const DEVNET = {
     key: undefined,
     chain_id: undefined,
   },
+  polygon_sepolia: {
+    rpc: undefined,
+    key: undefined,
+    chain_id: undefined,
+  },
+  stargaze: {
+    rpc: undefined,
+    key: undefined,
+    chain_id: undefined,
+  },
+  seda: {
+    rpc: undefined,
+    key: undefined,
+    chain_id: undefined,
+  },
+  dymension: {
+    rpc: undefined,
+    key: undefined,
+    chain_id: undefined,
+  },
 };
 
 /**