diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b6e13df832..115fa008ed 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -244,7 +244,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: "16" + node-version: "20" - run: | cd clients/js && make test make docs diff --git a/clients/js/README.md b/clients/js/README.md index 35b414e8bb..4572f65c11 100644 --- a/clients/js/README.md +++ b/clients/js/README.md @@ -248,16 +248,7 @@ Positionals: Options: --help Show help [boolean] --version Show version number [boolean] - -c, --chain chain name - [choices: "unset", "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", "blast", - "xlayer", "linea", "berachain", "seievm", "wormchain", "cosmoshub", "evmos", - "kujira", "neutron", "celestia", "stargaze", "seda", "dymension", - "provenance", "sepolia", "arbitrum_sepolia", "base_sepolia", - "optimism_sepolia", "holesky", "polygon_sepolia"] + -c, --chain chain name [string] -n, --network Network [required] [choices: "mainnet", "testnet", "devnet"] -a, --contract-address Contract to submit VAA to (override config) [string] @@ -307,26 +298,8 @@ Options: Options: --help Show help [boolean] --version Show version number [boolean] - --src-chain source 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", "blast", - "xlayer", "linea", "berachain", "seievm", "wormchain", "cosmoshub", "evmos", - "kujira", "neutron", "celestia", "stargaze", "seda", "dymension", - "provenance", "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", "blast", - "xlayer", "linea", "berachain", "seievm", "wormchain", "cosmoshub", "evmos", - "kujira", "neutron", "celestia", "stargaze", "seda", "dymension", - "provenance", "sepolia", "arbitrum_sepolia", "base_sepolia", - "optimism_sepolia", "holesky", "polygon_sepolia"] + --src-chain source chain [string] [required] + --dst-chain destination chain [string] [required] --dst-addr destination address [string] [required] --token-addr token address [string] [default: native token] --amount token amount [string] [required] @@ -353,16 +326,7 @@ Options: ```sh Positionals: network Network [choices: "mainnet", "testnet", "devnet"] - chain Source chain - [choices: "unset", "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", "blast", - "xlayer", "linea", "berachain", "seievm", "wormchain", "cosmoshub", "evmos", - "kujira", "neutron", "celestia", "stargaze", "seda", "dymension", - "provenance", "sepolia", "arbitrum_sepolia", "base_sepolia", - "optimism_sepolia", "holesky", "polygon_sepolia"] + chain Source chain [string] tx Source transaction hash [string] Options: diff --git a/clients/js/package-lock.json b/clients/js/package-lock.json index a50f4071f1..e0bb8fc086 100644 --- a/clients/js/package-lock.json +++ b/clients/js/package-lock.json @@ -22,7 +22,7 @@ "@solana/web3.js": "^1.22.0", "@terra-money/terra.js": "^3.1.9", "@types/config": "^3.3.0", - "@wormhole-foundation/sdk": "^0.6.7", + "@wormhole-foundation/sdk": "^0.7.0-beta.5", "@xpla/xpla.js": "^0.2.1", "algosdk": "^2.4.0", "aptos": "^1.3.16", @@ -57,7 +57,7 @@ "jest": "^29.7.0", "ts-jest": "^29.1.2", "tsx": "^4.12.0", - "typescript": "^4.6" + "typescript": "^5.4.5" } }, "node_modules/@0no-co/graphql.web": { @@ -73,6 +73,19 @@ } } }, + "node_modules/@0no-co/graphqlsp": { + "version": "1.12.5", + "resolved": "https://registry.npmjs.org/@0no-co/graphqlsp/-/graphqlsp-1.12.5.tgz", + "integrity": "sha512-YS9s8sf3XLaVdBt33u1mbUdfUSLiarQW1SFd3ITh2CLWz1nVnVTN0oCrpepuFHUJ7rt+b6Gk14sgjP4ONdeZfQ==", + "dependencies": { + "@gql.tada/internal": "^1.0.0", + "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0" + }, + "peerDependencies": { + "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", + "typescript": "^5.0.0" + } + }, "node_modules/@adraffy/ens-normalize": { "version": "1.10.1", "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", @@ -1175,6 +1188,16 @@ "resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.29.5.tgz", "integrity": "sha512-m7h+RXDUxOzEOGt4P+3OVPX7PuakZT3GBmaM/Y2u+abN3xZkziykD/NvedYFvvCCdQo714XcGl33bwifS9FZPQ==" }, + "node_modules/@ensdomains/ens-validation": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@ensdomains/ens-validation/-/ens-validation-0.1.0.tgz", + "integrity": "sha512-rbDh2K6GfqXvBcJUISaTTYEt3f079WA4ohTE5Lh4/8EaaPAk/9vk3EisMUQV2UVxeFIZQEEyRCIOmRTpqN0W7A==" + }, + "node_modules/@ensdomains/eth-ens-namehash": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@ensdomains/eth-ens-namehash/-/eth-ens-namehash-2.0.15.tgz", + "integrity": "sha512-JRDFP6+Hczb1E0/HhIg0PONgBYasfGfDheujmfxaZaAv/NAH4jE6Kf48WbqfRZdxt4IZI3jl3Ri7sZ1nP09lgw==" + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", @@ -2235,6 +2258,35 @@ "@ethersproject/strings": "^5.7.0" } }, + "node_modules/@gql.tada/cli-utils": { + "version": "1.3.9", + "resolved": "https://registry.npmjs.org/@gql.tada/cli-utils/-/cli-utils-1.3.9.tgz", + "integrity": "sha512-oRb7SG/+csx9CiypSJTI21KaLfulOUnhX1vxg4FXi2snub9XShkGR2XnnlJVTAOZXY9Vcxti1NutAElxdDkycA==", + "dependencies": { + "@0no-co/graphqlsp": "^1.12.1", + "@gql.tada/internal": "1.0.0", + "@vue/compiler-dom": "^3.4.23", + "@vue/language-core": "^2.0.17", + "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", + "svelte2tsx": "^0.7.6" + }, + "peerDependencies": { + "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", + "typescript": "^5.0.0" + } + }, + "node_modules/@gql.tada/internal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@gql.tada/internal/-/internal-1.0.0.tgz", + "integrity": "sha512-B55aIYyZn5ewdgMqoJciPAwF5DKYX6HBabTU+ap/dpNH3EgJrLomc8Y8w+MCxCyOx+dXL9OduT6eWnVr7J7Eyg==", + "dependencies": { + "@0no-co/graphql.web": "^1.0.5" + }, + "peerDependencies": { + "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", + "typescript": "^5.0.0" + } + }, "node_modules/@graphql-typed-document-node/core": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", @@ -2318,9 +2370,9 @@ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "node_modules/@injectivelabs/dmm-proto-ts/node_modules/protobufjs": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz", - "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz", + "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==", "hasInstallScript": true, "dependencies": { "@protobufjs/aspromise": "^1.1.2", @@ -4510,17 +4562,17 @@ "dev": true }, "node_modules/@volar/language-core": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.2.4.tgz", - "integrity": "sha512-7As47GndxGxsqqYnbreLrfB5NDUeQioPM2LJKUuB4/34c0NpEJ2byVl3c9KYdjIdiEstWZ9JLtLKNTaPWb5jtA==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.2.5.tgz", + "integrity": "sha512-2htyAuxRrAgETmFeUhT4XLELk3LiEcqoW/B8YUXMF6BrGWLMwIR09MFaZYvrA2UhbdAeSyeQ726HaWSWkexUcQ==", "dependencies": { - "@volar/source-map": "2.2.4" + "@volar/source-map": "2.2.5" } }, "node_modules/@volar/source-map": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.2.4.tgz", - "integrity": "sha512-m92FLpR9vB1YEZfiZ+bfgpLrToL/DNkOrorWVep3pffHrwwI4Tx2oIQN+sqHJfKkiT5N3J1owC+8crhAEinfjg==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.2.5.tgz", + "integrity": "sha512-wrOEIiZNf4E+PWB0AxyM4tfhkfldPsb3bxg8N6FHrxJH2ohar7aGu48e98bp3pR9HUA7P/pR9VrLmkTrgCCnWQ==", "dependencies": { "muggle-string": "^0.4.0" } @@ -4596,46 +4648,46 @@ "integrity": "sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==" }, "node_modules/@wormhole-foundation/sdk": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk/-/sdk-0.6.7.tgz", - "integrity": "sha512-bGT/z47mDxeoQPdm0ZuzKtllrHgl9WFEvN1Ka8iUsrbZ03/bfyuScgWujbMqmX9kWVzgarnNFrEA5A4OVeLBJw==", - "dependencies": { - "@wormhole-foundation/sdk-algorand": "0.6.7", - "@wormhole-foundation/sdk-algorand-core": "0.6.7", - "@wormhole-foundation/sdk-algorand-tokenbridge": "0.6.7", - "@wormhole-foundation/sdk-aptos": "0.6.7", - "@wormhole-foundation/sdk-aptos-core": "0.6.7", - "@wormhole-foundation/sdk-aptos-tokenbridge": "0.6.7", - "@wormhole-foundation/sdk-base": "0.6.7", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm-core": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm-ibc": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm-tokenbridge": "0.6.7", - "@wormhole-foundation/sdk-definitions": "0.6.7", - "@wormhole-foundation/sdk-evm": "0.6.7", - "@wormhole-foundation/sdk-evm-cctp": "0.6.7", - "@wormhole-foundation/sdk-evm-core": "0.6.7", - "@wormhole-foundation/sdk-evm-portico": "0.6.7", - "@wormhole-foundation/sdk-evm-tokenbridge": "0.6.7", - "@wormhole-foundation/sdk-solana": "0.6.7", - "@wormhole-foundation/sdk-solana-cctp": "0.6.7", - "@wormhole-foundation/sdk-solana-core": "0.6.7", - "@wormhole-foundation/sdk-solana-tokenbridge": "0.6.7", - "@wormhole-foundation/sdk-sui": "0.6.7", - "@wormhole-foundation/sdk-sui-core": "0.6.7", - "@wormhole-foundation/sdk-sui-tokenbridge": "0.6.7" + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk/-/sdk-0.7.0-beta.5.tgz", + "integrity": "sha512-0IM8xngEghx5Uf3/SnzQeBrOHBONj92GJ6/RETzuvmCx3YkZpy9gFo1ctvD9Ey4MrWbTdQk7qMnpCZOwpldWWw==", + "dependencies": { + "@wormhole-foundation/sdk-algorand": "0.7.0-beta.5", + "@wormhole-foundation/sdk-algorand-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-algorand-tokenbridge": "0.7.0-beta.5", + "@wormhole-foundation/sdk-aptos": "0.7.0-beta.5", + "@wormhole-foundation/sdk-aptos-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-aptos-tokenbridge": "0.7.0-beta.5", + "@wormhole-foundation/sdk-base": "0.7.0-beta.5", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm-ibc": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm-tokenbridge": "0.7.0-beta.5", + "@wormhole-foundation/sdk-definitions": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm-cctp": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm-portico": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm-tokenbridge": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana-cctp": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana-tokenbridge": "0.7.0-beta.5", + "@wormhole-foundation/sdk-sui": "0.7.0-beta.5", + "@wormhole-foundation/sdk-sui-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-sui-tokenbridge": "0.7.0-beta.5" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-algorand": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand/-/sdk-algorand-0.6.7.tgz", - "integrity": "sha512-WRNEAk1rRgPTL0h5xcThNEMAdNC+OHKANPPdrloh08mEYub1AQ7H8iwoW+/xNi7Rbxk/eg+NyH2IINwZrzvqyw==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand/-/sdk-algorand-0.7.0-beta.5.tgz", + "integrity": "sha512-DYhinpe/41b8nu+xS9I1KmzUMUIicZYmKWH7Ea5/5KTA6pB8tM3AHTKa54cqb5g6n14VQmfbnHFbGVAUjqSL6g==", "dependencies": { - "@wormhole-foundation/sdk-connect": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", "algosdk": "2.7.0" }, "engines": { @@ -4643,36 +4695,36 @@ } }, "node_modules/@wormhole-foundation/sdk-algorand-core": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand-core/-/sdk-algorand-core-0.6.7.tgz", - "integrity": "sha512-C7GvPsPFHg0rCsYRf2apQfFqigEo2DbFgi8wdEFt4FOnIMwABtpu7x2SuLb540PnaqBsIC7Ainxm7ddBBYJY9Q==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand-core/-/sdk-algorand-core-0.7.0-beta.5.tgz", + "integrity": "sha512-AJQEaXIViwwmg/oyn0QjgJEwv2pPbup7qb2C0KTJIPXwx40Cr4Z6jrBrgE387+svJ63+WNNBhJnC5YRl93AuKg==", "dependencies": { - "@wormhole-foundation/sdk-algorand": "0.6.7", - "@wormhole-foundation/sdk-connect": "0.6.7" + "@wormhole-foundation/sdk-algorand": "0.7.0-beta.5", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-algorand-tokenbridge": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand-tokenbridge/-/sdk-algorand-tokenbridge-0.6.7.tgz", - "integrity": "sha512-iwjcDCG5MY/FszjTYky69fwS2A3xDElMgpp0JP8BiVGwWghGkdZkOBSKbLHXRMLqhsQnzujGmyrSjzgLuw3zWA==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand-tokenbridge/-/sdk-algorand-tokenbridge-0.7.0-beta.5.tgz", + "integrity": "sha512-ZozYoS948Aa+iVZWtq3b+xQMSWyh9uEklsQTfDlNLi+72P5Wz6amrweBNnSErxrpG+y/zXa9XqwVBN6grjc2gg==", "dependencies": { - "@wormhole-foundation/sdk-algorand": "0.6.7", - "@wormhole-foundation/sdk-algorand-core": "0.6.7", - "@wormhole-foundation/sdk-connect": "0.6.7" + "@wormhole-foundation/sdk-algorand": "0.7.0-beta.5", + "@wormhole-foundation/sdk-algorand-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-aptos": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos/-/sdk-aptos-0.6.7.tgz", - "integrity": "sha512-fKWbwE8wcYuonNvakgfXUnUFkJ3NanpFIIDhIZs3egQKFpU3BltT4zBShwAj51fEhI5aws0Asc8vGSgcZEgGTQ==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos/-/sdk-aptos-0.7.0-beta.5.tgz", + "integrity": "sha512-QhCNBzoqZueTO3g8mYAszm3pogX7LUxl/STfw3xIc1xkxUzyk1Tw1UEzih3r6hObDU4C3S1g7zXM2QS5JMjK1g==", "dependencies": { - "@wormhole-foundation/sdk-connect": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", "aptos": "1.21.0" }, "engines": { @@ -4680,24 +4732,24 @@ } }, "node_modules/@wormhole-foundation/sdk-aptos-core": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos-core/-/sdk-aptos-core-0.6.7.tgz", - "integrity": "sha512-TOmIVmCR8qOwYseQB7CRnjDGOjxeYQXCoXjCR7n2/ohEMbtBGEymvfUAtTyHBpNmqvA8tustlOwB6Lmq80OkjQ==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos-core/-/sdk-aptos-core-0.7.0-beta.5.tgz", + "integrity": "sha512-MjO/YULiKGUApDOxd7Ru5qR/D1g3Tx/Y0PAfCfBFaW1COCSeGNnnmUzTmVjE4pWlErvexiRfePZeM5a0FIjNRg==", "dependencies": { - "@wormhole-foundation/sdk-aptos": "0.6.7", - "@wormhole-foundation/sdk-connect": "0.6.7" + "@wormhole-foundation/sdk-aptos": "0.7.0-beta.5", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-aptos-tokenbridge": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos-tokenbridge/-/sdk-aptos-tokenbridge-0.6.7.tgz", - "integrity": "sha512-rj3Z22Np8wH+e/O3xx6YuwL/3Jef4C+CHoaWEwF7u7HP5jMJ5H33MmwecO9r4HulFjEKt4HgSpSoQBb8WC5tOQ==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos-tokenbridge/-/sdk-aptos-tokenbridge-0.7.0-beta.5.tgz", + "integrity": "sha512-xHPeQeUQzTN8ErnNGACsE2JuZ+l0NHB6zvvk6ufc+Hsi7tLqpBf7iqI8MqsP+FbFOoMJnWukw1FkKO8G4Y/TgQ==", "dependencies": { - "@wormhole-foundation/sdk-aptos": "0.6.7", - "@wormhole-foundation/sdk-connect": "0.6.7" + "@wormhole-foundation/sdk-aptos": "0.7.0-beta.5", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5" }, "engines": { "node": ">=16" @@ -4761,20 +4813,20 @@ } }, "node_modules/@wormhole-foundation/sdk-base": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-base/-/sdk-base-0.6.7.tgz", - "integrity": "sha512-lXN7tm5O8L8nfqXD1Fhn61rTR9WjZ9khRU3tOE3b8AqjX9OxIL9/ou5BmMGaJex8AFAUgnX86pNkEEvu9Tb3hQ==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-base/-/sdk-base-0.7.0-beta.5.tgz", + "integrity": "sha512-QMyfGmgg+5V0Qd2SLLXAqSE7nYr2+n/Q/qyuNGmR4vLrTxYR/FdVdyRfQU3rW0Dm1cxIUYt8lUQoW/nsAebIqg==", "dependencies": { "@scure/base": "^1.1.3" } }, "node_modules/@wormhole-foundation/sdk-connect": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-connect/-/sdk-connect-0.6.7.tgz", - "integrity": "sha512-yLKxLAWUl+J/98A+BNKuqyOu0iv2TXlbbiYLTJO7iUZSB5g3dFt36UJIz4Mfvrt1TnLJbD+7Sv6t2MwIDdO3Jg==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-connect/-/sdk-connect-0.7.0-beta.5.tgz", + "integrity": "sha512-aIzo1o5RRX9asiI4pmMTX4NJCSP+iQHd8ZOr6WH2aW80WpnptnKUIL8p3uKEFZiBFobstvWVW3dvgPioUzBmYw==", "dependencies": { - "@wormhole-foundation/sdk-base": "0.6.7", - "@wormhole-foundation/sdk-definitions": "0.6.7", + "@wormhole-foundation/sdk-base": "0.7.0-beta.5", + "@wormhole-foundation/sdk-definitions": "0.7.0-beta.5", "axios": "^1.4.0" }, "engines": { @@ -4782,9 +4834,9 @@ } }, "node_modules/@wormhole-foundation/sdk-connect/node_modules/axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -4805,15 +4857,15 @@ } }, "node_modules/@wormhole-foundation/sdk-cosmwasm": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm/-/sdk-cosmwasm-0.6.7.tgz", - "integrity": "sha512-tpJc1MyngHaZSJFsEy3X+M23HRJ3LTSmCtcOKRE+tpRdb9HU2Nks9mLFjg+b0sAqjdrsHwem/oF2pvjFJA0AWA==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm/-/sdk-cosmwasm-0.7.0-beta.5.tgz", + "integrity": "sha512-wYlHA0O/UmBET70JmAl95Tt4BZq0pZdG+rtWoxg2nnM0v7Qhk7B91/9YjR+e/dljHqG1y26UiZ6eLYaIoUpJKw==", "dependencies": { "@cosmjs/cosmwasm-stargate": "^0.32.0", "@cosmjs/proto-signing": "^0.32.0", "@cosmjs/stargate": "^0.32.0", "@injectivelabs/sdk-ts": "^1.14.4", - "@wormhole-foundation/sdk-connect": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", "cosmjs-types": "^0.9.0" }, "engines": { @@ -4821,15 +4873,15 @@ } }, "node_modules/@wormhole-foundation/sdk-cosmwasm-core": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-core/-/sdk-cosmwasm-core-0.6.7.tgz", - "integrity": "sha512-ZzK1CX+fJfnBXDRxHqGdpq4QpCQc5afPoBXqd5O6dMB2bWwmEo9u5rzTJMjudm/m/7bVg95qJ1p51Xia5ubQqA==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-core/-/sdk-cosmwasm-core-0.7.0-beta.5.tgz", + "integrity": "sha512-i64jPprNhZXvrstk+pekj4Wakj21mbz0TUaPReJXy9hSuoWCbDmnG9Zud+JdAnBy55ckckJ4nWgTxXAygQ/80Q==", "dependencies": { "@cosmjs/cosmwasm-stargate": "^0.32.0", "@cosmjs/stargate": "^0.32.0", "@injectivelabs/sdk-ts": "^1.14.4", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm": "0.7.0-beta.5" }, "engines": { "node": ">=16" @@ -5106,9 +5158,9 @@ } }, "node_modules/@wormhole-foundation/sdk-cosmwasm-core/node_modules/axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -5139,9 +5191,9 @@ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "node_modules/@wormhole-foundation/sdk-cosmwasm-core/node_modules/protobufjs": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz", - "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz", + "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==", "hasInstallScript": true, "dependencies": { "@protobufjs/aspromise": "^1.1.2", @@ -5162,16 +5214,16 @@ } }, "node_modules/@wormhole-foundation/sdk-cosmwasm-ibc": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-ibc/-/sdk-cosmwasm-ibc-0.6.7.tgz", - "integrity": "sha512-w5GQOCmG4w4m3pa+33TaD9W+z5g+qDBKvl377CnvU/0NB9RIdCcR1fNK+jwvVJPRgOO4y8Tq7hFcWBTNlqjqGA==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-ibc/-/sdk-cosmwasm-ibc-0.7.0-beta.5.tgz", + "integrity": "sha512-R6VOGrMGyLqDvuAh9KZrwNjx5aK1aeHt36/zcWC5ZrToILjxE5h7jmUpK4dHpe6dgfh2ryZ1F7B54DdvbpS/hA==", "dependencies": { "@cosmjs/cosmwasm-stargate": "^0.32.0", "@cosmjs/stargate": "^0.32.0", "@injectivelabs/sdk-ts": "^1.14.4", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm-core": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm-core": "0.7.0-beta.5", "cosmjs-types": "^0.9.0" }, "engines": { @@ -5449,9 +5501,9 @@ } }, "node_modules/@wormhole-foundation/sdk-cosmwasm-ibc/node_modules/axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -5482,9 +5534,9 @@ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "node_modules/@wormhole-foundation/sdk-cosmwasm-ibc/node_modules/protobufjs": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz", - "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz", + "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==", "hasInstallScript": true, "dependencies": { "@protobufjs/aspromise": "^1.1.2", @@ -5505,14 +5557,14 @@ } }, "node_modules/@wormhole-foundation/sdk-cosmwasm-tokenbridge": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-tokenbridge/-/sdk-cosmwasm-tokenbridge-0.6.7.tgz", - "integrity": "sha512-CVZKw1TWwi3Nxz2z+pj1Hk9Z41KlironAoCU7lGwnoko2uLCk1vleeR3feiVYznZjpEiv/UET9V5o3iI6fhiRw==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-tokenbridge/-/sdk-cosmwasm-tokenbridge-0.7.0-beta.5.tgz", + "integrity": "sha512-/jUqme2Ajy80JyLQuUYDwhufGWjqqwJTJNvBptjDo0dBdmgiLBKIxINXS84rkykyCmkeSCzwRPreH5lLB7kvwg==", "dependencies": { "@cosmjs/cosmwasm-stargate": "^0.32.0", "@injectivelabs/sdk-ts": "^1.14.4", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm": "0.7.0-beta.5" }, "engines": { "node": ">=16" @@ -5789,9 +5841,9 @@ } }, "node_modules/@wormhole-foundation/sdk-cosmwasm-tokenbridge/node_modules/axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -5822,9 +5874,9 @@ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "node_modules/@wormhole-foundation/sdk-cosmwasm-tokenbridge/node_modules/protobufjs": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz", - "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz", + "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==", "hasInstallScript": true, "dependencies": { "@protobufjs/aspromise": "^1.1.2", @@ -6115,9 +6167,9 @@ } }, "node_modules/@wormhole-foundation/sdk-cosmwasm/node_modules/axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -6148,9 +6200,9 @@ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "node_modules/@wormhole-foundation/sdk-cosmwasm/node_modules/protobufjs": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz", - "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz", + "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==", "hasInstallScript": true, "dependencies": { "@protobufjs/aspromise": "^1.1.2", @@ -6171,13 +6223,13 @@ } }, "node_modules/@wormhole-foundation/sdk-definitions": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-definitions/-/sdk-definitions-0.6.7.tgz", - "integrity": "sha512-6uyfKuTHIXni4rEwoJDNW2Ahm7tABmG+Mae181TX3K4mfVznkC3YufEBlNJyt071B/RD7JJi7WZUVZ1ROG8Aow==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-definitions/-/sdk-definitions-0.7.0-beta.5.tgz", + "integrity": "sha512-ctkcGU4M/U5O0M/rn27KwJWs2hJdbcst/T/ybQQbeBdd4HApKJvHTDGi7sZ9ARgJAAhgmyYwvUCoHaiHFfqMXQ==", "dependencies": { "@noble/curves": "^1.4.0", "@noble/hashes": "^1.3.1", - "@wormhole-foundation/sdk-base": "0.6.7" + "@wormhole-foundation/sdk-base": "0.7.0-beta.5" } }, "node_modules/@wormhole-foundation/sdk-definitions/node_modules/@noble/hashes": { @@ -6192,11 +6244,11 @@ } }, "node_modules/@wormhole-foundation/sdk-evm": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm/-/sdk-evm-0.6.7.tgz", - "integrity": "sha512-coQO1HaL4/GJxQ26FsgmMHY6X1iMZgHSXnCXGPmlchs5hMWraYLsxMTQ1goFSAIWQi0ALaR7tkdDDzN5y0liRw==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm/-/sdk-evm-0.7.0-beta.5.tgz", + "integrity": "sha512-tJGuoCSRCMUvwrpktKw5cXRZO/iuRAP8Ip5HNBN6ZcLtbJjaw+7b/wP6Mj+o3rNTxGdSDN594K1mlNvAqgjGNA==", "dependencies": { - "@wormhole-foundation/sdk-connect": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", "ethers": "^6.5.1" }, "engines": { @@ -6204,12 +6256,12 @@ } }, "node_modules/@wormhole-foundation/sdk-evm-cctp": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-cctp/-/sdk-evm-cctp-0.6.7.tgz", - "integrity": "sha512-HilS6N+P4js4qh9s0kdnNlNAQB0F3mG7Mp/rPFYtdX8xhC7L7ZfjoZMZxuv99/05xY6Xdr6l4mldlCmOjFEuBA==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-cctp/-/sdk-evm-cctp-0.7.0-beta.5.tgz", + "integrity": "sha512-42Qc1I6ztaYxQfUCUtQ6QIiGkaM3gqyy+rAhXH2+IUSUeDl11RM8MKjyu6NMwwzCGn8bkXMRKWl8UMXUJVX6UQ==", "dependencies": { - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-evm": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm": "0.7.0-beta.5", "ethers": "^6.5.1" }, "engines": { @@ -6296,12 +6348,12 @@ } }, "node_modules/@wormhole-foundation/sdk-evm-core": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-core/-/sdk-evm-core-0.6.7.tgz", - "integrity": "sha512-L4A1RM77QBpL41gsTtS4aHuDqMD5vha3Ojym22KcxXvquWBJLzx3kFthM9v1KtN5EDnaaasutVhMDPMeqj6WIg==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-core/-/sdk-evm-core-0.7.0-beta.5.tgz", + "integrity": "sha512-3YYRf+5pFMJ4lzfdvkkCzmDrQgP4HGS1r1RqJvfA96Wb9AitqDmx+ZmrzVbrMlycDmbX8S4S1Yblg63M2kW1Fw==", "dependencies": { - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-evm": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm": "0.7.0-beta.5", "ethers": "^6.5.1" }, "engines": { @@ -6388,14 +6440,14 @@ } }, "node_modules/@wormhole-foundation/sdk-evm-portico": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-portico/-/sdk-evm-portico-0.6.7.tgz", - "integrity": "sha512-6QU2/9dapv7km3qmCtqd1ohN+oKMuG+vscXh3EaTgHEmyx7Nb+fDVZ0SQZV38WrxfxdoaAKyaTFE8ktldFR0Cg==", - "dependencies": { - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-evm": "0.6.7", - "@wormhole-foundation/sdk-evm-core": "0.6.7", - "@wormhole-foundation/sdk-evm-tokenbridge": "0.6.7", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-portico/-/sdk-evm-portico-0.7.0-beta.5.tgz", + "integrity": "sha512-gvFHRxsg8i7vT3bPR11DVy0PNIAGLDEWCpt74KP9HFFWf6xzsEA8+qN302U6ZcXXBxojY1GtaQUcdNN++7i36Q==", + "dependencies": { + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm-tokenbridge": "0.7.0-beta.5", "ethers": "^6.5.1" }, "engines": { @@ -6482,13 +6534,13 @@ } }, "node_modules/@wormhole-foundation/sdk-evm-tokenbridge": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-tokenbridge/-/sdk-evm-tokenbridge-0.6.7.tgz", - "integrity": "sha512-DfEjLx8W85CoA/JTWIfIbQaziGE3Cj5dm1DJ0z0InzMMJ1Lg8TicggQ4mUD1tr8uHRXX6PII007DlXJMxfW/yw==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-tokenbridge/-/sdk-evm-tokenbridge-0.7.0-beta.5.tgz", + "integrity": "sha512-Aay8UdcjCwmkibsJLhZyy037dQTn6lli8eDnpAd9gRj9rhfCrEmqQvnCDOPMk/tE0thOeCEjxBSPxtd2IQ9EoA==", "dependencies": { - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-evm": "0.6.7", - "@wormhole-foundation/sdk-evm-core": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm-core": "0.7.0-beta.5", "ethers": "^6.5.1" }, "engines": { @@ -6654,45 +6706,45 @@ } }, "node_modules/@wormhole-foundation/sdk-solana": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana/-/sdk-solana-0.6.7.tgz", - "integrity": "sha512-x+2UNqdKs6KjAF67QENc8J5YI5ZooECZtmQA0xWywM7I/aR1VQhzvLr484hxE71GP84PKDI9y6vBzgi9CV5PCg==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana/-/sdk-solana-0.7.0-beta.5.tgz", + "integrity": "sha512-s2JReAgr7zVlmoG7RlAwCriHSh4gfRxNhm7c0K0oIwu2KW0RD06K1NAxu3twoBgeRGfiY0IKYR/Ovu1LA4uRgg==", "dependencies": { "@coral-xyz/anchor": "0.29.0", "@coral-xyz/borsh": "0.29.0", "@solana/spl-token": "0.3.9", "@solana/web3.js": "1.91.7", - "@wormhole-foundation/sdk-connect": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-solana-cctp": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-cctp/-/sdk-solana-cctp-0.6.7.tgz", - "integrity": "sha512-nQMYdNT1XH7CNcB67KMSFqnAFb0/8gTBV8nKE2xUNx4ktvE81++QflRo8w8BLGJz55DtDkMi0dW3ZdKXJrgaWw==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-cctp/-/sdk-solana-cctp-0.7.0-beta.5.tgz", + "integrity": "sha512-XJMY6XBJf1LHhw5owEZEXigXV7jmJpU3lw3xCiJL+LyHexfnnvfw2gdEEY5Un3xOIIzCaLz1+oEkQBk8yVn8zg==", "dependencies": { "@coral-xyz/anchor": "0.29.0", "@solana/spl-token": "0.3.9", "@solana/web3.js": "1.91.7", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-solana": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana": "0.7.0-beta.5" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-solana-core": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-core/-/sdk-solana-core-0.6.7.tgz", - "integrity": "sha512-yhAdiwRyej+nbObolDnvaUSsdfhNg5c97S4Ze5KpZNRGoT7F4z+tC+b6yH4n9n/drm+QtGY8tCQHHLkDFZB5pA==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-core/-/sdk-solana-core-0.7.0-beta.5.tgz", + "integrity": "sha512-9GmktW8suxGX1O0vTBAoAnRTNdIMNgaaNOqEhDR8Ugots0+A3b+QbtWj7Tpg3uVjLE/pO0fFII0ge+ntdHglXA==", "dependencies": { "@coral-xyz/anchor": "0.29.0", "@coral-xyz/borsh": "0.29.0", "@solana/web3.js": "1.91.7", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-solana": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana": "0.7.0-beta.5" }, "engines": { "node": ">=16" @@ -6714,16 +6766,16 @@ } }, "node_modules/@wormhole-foundation/sdk-solana-tokenbridge": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-tokenbridge/-/sdk-solana-tokenbridge-0.6.7.tgz", - "integrity": "sha512-K9poJOIr0GUhrUGOi9zARIZ9+nvg8mNFEhA17ttWtX8vK88bIp+V7JjIJYPXwl4ai1tDO6F4GbIN0v+TQNQBWg==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-tokenbridge/-/sdk-solana-tokenbridge-0.7.0-beta.5.tgz", + "integrity": "sha512-rXQZuLZXvxpDvCcBoXeMaGCNq6kzfofY0B3IjR03uqHPz3fIsSfA5RCWGF0ZadCn4Fi2+hm3hShxC0WVImNMtw==", "dependencies": { "@coral-xyz/anchor": "0.29.0", "@solana/spl-token": "0.3.9", "@solana/web3.js": "1.91.7", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-solana": "0.6.7", - "@wormhole-foundation/sdk-solana-core": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana-core": "0.7.0-beta.5" }, "engines": { "node": ">=16" @@ -6745,72 +6797,30 @@ } }, "node_modules/@wormhole-foundation/sdk-sui": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui/-/sdk-sui-0.6.7.tgz", - "integrity": "sha512-NI6uuf6x/3rayKmhuwpXSQwMUQvLEo+oJWJDZkT1ecuu0VTQHjRlyyG0A7vFNitY1psRje8krq2oKmC0AbFCCw==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui/-/sdk-sui-0.7.0-beta.5.tgz", + "integrity": "sha512-fbZPJZOU0gDYkxyx3eBKuNoK7zN3hkodA6gS6imH+/U7zCjXzTzMiH/wTlTgN38uYhmxyUF5RIlFBr4jj/opQw==", "dependencies": { "@mysten/sui.js": "^0.50.1", - "@wormhole-foundation/sdk-connect": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-sui-core": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui-core/-/sdk-sui-core-0.6.7.tgz", - "integrity": "sha512-hgnNwaCgvlySQaJc7mhQ1weDkCJfHVwkggxtH1xpSPMjUMViJDQsg+r9PvirasLQ4Sg4DAXyllcKGJDcGZsebA==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui-core/-/sdk-sui-core-0.7.0-beta.5.tgz", + "integrity": "sha512-0De9UjMPQ4lp0P+3Kpr/4iHFn/HVt5Nj00zdG0dhz2Msjxlkz3SqA26rZOECuvF7fmyoQkQKCPowMBfNnmyJJQ==", "dependencies": { "@mysten/sui.js": "^0.50.1", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-sui": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-sui": "0.7.0-beta.5" }, "engines": { "node": ">=16" } }, - "node_modules/@wormhole-foundation/sdk-sui-core/node_modules/@0no-co/graphqlsp": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@0no-co/graphqlsp/-/graphqlsp-1.12.3.tgz", - "integrity": "sha512-U0hV/FmFgm2perV+mrXKe/7Z5F4/9rmOziHJYYQgKLwzUVuN5LQG0qs3cLBGxAqoosG0HfTi2cQkgMKY1CMbYQ==", - "dependencies": { - "@gql.tada/internal": "^1.0.0", - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0" - }, - "peerDependencies": { - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "typescript": "^5.0.0" - } - }, - "node_modules/@wormhole-foundation/sdk-sui-core/node_modules/@gql.tada/cli-utils": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/@gql.tada/cli-utils/-/cli-utils-1.3.9.tgz", - "integrity": "sha512-oRb7SG/+csx9CiypSJTI21KaLfulOUnhX1vxg4FXi2snub9XShkGR2XnnlJVTAOZXY9Vcxti1NutAElxdDkycA==", - "dependencies": { - "@0no-co/graphqlsp": "^1.12.1", - "@gql.tada/internal": "1.0.0", - "@vue/compiler-dom": "^3.4.23", - "@vue/language-core": "^2.0.17", - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "svelte2tsx": "^0.7.6" - }, - "peerDependencies": { - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "typescript": "^5.0.0" - } - }, - "node_modules/@wormhole-foundation/sdk-sui-core/node_modules/@gql.tada/internal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@gql.tada/internal/-/internal-1.0.0.tgz", - "integrity": "sha512-B55aIYyZn5ewdgMqoJciPAwF5DKYX6HBabTU+ap/dpNH3EgJrLomc8Y8w+MCxCyOx+dXL9OduT6eWnVr7J7Eyg==", - "dependencies": { - "@0no-co/graphql.web": "^1.0.5" - }, - "peerDependencies": { - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "typescript": "^5.0.0" - } - }, "node_modules/@wormhole-foundation/sdk-sui-core/node_modules/@mysten/bcs": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/@mysten/bcs/-/bcs-0.11.1.tgz", @@ -6890,23 +6900,6 @@ "base-x": "^4.0.0" } }, - "node_modules/@wormhole-foundation/sdk-sui-core/node_modules/gql.tada": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/gql.tada/-/gql.tada-1.7.5.tgz", - "integrity": "sha512-GepPTee+FWSVVZQ7GiJHzsGNo7gOb59kcn4mUPYLlkbpeJfOUwpuoB05ZNaXG0W4qZVPd1I7R2UgMHBjY1lGlQ==", - "dependencies": { - "@0no-co/graphql.web": "^1.0.5", - "@gql.tada/cli-utils": "1.3.9", - "@gql.tada/internal": "1.0.0" - }, - "bin": { - "gql-tada": "bin/cli.js", - "gql.tada": "bin/cli.js" - }, - "peerDependencies": { - "typescript": "^5.0.0" - } - }, "node_modules/@wormhole-foundation/sdk-sui-core/node_modules/superstruct": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz", @@ -6915,75 +6908,20 @@ "node": ">=14.0.0" } }, - "node_modules/@wormhole-foundation/sdk-sui-core/node_modules/svelte2tsx": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.8.tgz", - "integrity": "sha512-ABK3RDFcy59AqAiU1N5Kxu1RnKrb1GDMrQjLgNgJfE8Q+coCKpjCAPtUVKQM2HnmuqeNWcT3NqfXbE+ZmN5Pow==", - "dependencies": { - "dedent-js": "^1.0.1", - "pascal-case": "^3.1.1" - }, - "peerDependencies": { - "svelte": "^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0", - "typescript": "^4.9.4 || ^5.0.0" - } - }, "node_modules/@wormhole-foundation/sdk-sui-tokenbridge": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui-tokenbridge/-/sdk-sui-tokenbridge-0.6.7.tgz", - "integrity": "sha512-eBGlTOUAJZWoFj2LAZBrak5148TDEgHkzKRASa1KoeX4PH2T9tph27z6tGDg5tNmVykwARSM4l5Wv4+wCuGgEw==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui-tokenbridge/-/sdk-sui-tokenbridge-0.7.0-beta.5.tgz", + "integrity": "sha512-YUYrvZu6yFAULA8V/RygbQflHlDU4aB2Kx5aVqWV1qWFH4Ixfq2RUrZPCVDeDGTnnlO1otauSHfCCyAOKhTy4g==", "dependencies": { "@mysten/sui.js": "^0.50.1", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-sui": "0.6.7", - "@wormhole-foundation/sdk-sui-core": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-sui": "0.7.0-beta.5", + "@wormhole-foundation/sdk-sui-core": "0.7.0-beta.5" }, "engines": { "node": ">=16" } }, - "node_modules/@wormhole-foundation/sdk-sui-tokenbridge/node_modules/@0no-co/graphqlsp": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@0no-co/graphqlsp/-/graphqlsp-1.12.3.tgz", - "integrity": "sha512-U0hV/FmFgm2perV+mrXKe/7Z5F4/9rmOziHJYYQgKLwzUVuN5LQG0qs3cLBGxAqoosG0HfTi2cQkgMKY1CMbYQ==", - "dependencies": { - "@gql.tada/internal": "^1.0.0", - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0" - }, - "peerDependencies": { - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "typescript": "^5.0.0" - } - }, - "node_modules/@wormhole-foundation/sdk-sui-tokenbridge/node_modules/@gql.tada/cli-utils": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/@gql.tada/cli-utils/-/cli-utils-1.3.9.tgz", - "integrity": "sha512-oRb7SG/+csx9CiypSJTI21KaLfulOUnhX1vxg4FXi2snub9XShkGR2XnnlJVTAOZXY9Vcxti1NutAElxdDkycA==", - "dependencies": { - "@0no-co/graphqlsp": "^1.12.1", - "@gql.tada/internal": "1.0.0", - "@vue/compiler-dom": "^3.4.23", - "@vue/language-core": "^2.0.17", - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "svelte2tsx": "^0.7.6" - }, - "peerDependencies": { - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "typescript": "^5.0.0" - } - }, - "node_modules/@wormhole-foundation/sdk-sui-tokenbridge/node_modules/@gql.tada/internal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@gql.tada/internal/-/internal-1.0.0.tgz", - "integrity": "sha512-B55aIYyZn5ewdgMqoJciPAwF5DKYX6HBabTU+ap/dpNH3EgJrLomc8Y8w+MCxCyOx+dXL9OduT6eWnVr7J7Eyg==", - "dependencies": { - "@0no-co/graphql.web": "^1.0.5" - }, - "peerDependencies": { - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "typescript": "^5.0.0" - } - }, "node_modules/@wormhole-foundation/sdk-sui-tokenbridge/node_modules/@mysten/bcs": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/@mysten/bcs/-/bcs-0.11.1.tgz", @@ -7063,23 +7001,6 @@ "base-x": "^4.0.0" } }, - "node_modules/@wormhole-foundation/sdk-sui-tokenbridge/node_modules/gql.tada": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/gql.tada/-/gql.tada-1.7.5.tgz", - "integrity": "sha512-GepPTee+FWSVVZQ7GiJHzsGNo7gOb59kcn4mUPYLlkbpeJfOUwpuoB05ZNaXG0W4qZVPd1I7R2UgMHBjY1lGlQ==", - "dependencies": { - "@0no-co/graphql.web": "^1.0.5", - "@gql.tada/cli-utils": "1.3.9", - "@gql.tada/internal": "1.0.0" - }, - "bin": { - "gql-tada": "bin/cli.js", - "gql.tada": "bin/cli.js" - }, - "peerDependencies": { - "typescript": "^5.0.0" - } - }, "node_modules/@wormhole-foundation/sdk-sui-tokenbridge/node_modules/superstruct": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz", @@ -7088,61 +7009,6 @@ "node": ">=14.0.0" } }, - "node_modules/@wormhole-foundation/sdk-sui-tokenbridge/node_modules/svelte2tsx": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.8.tgz", - "integrity": "sha512-ABK3RDFcy59AqAiU1N5Kxu1RnKrb1GDMrQjLgNgJfE8Q+coCKpjCAPtUVKQM2HnmuqeNWcT3NqfXbE+ZmN5Pow==", - "dependencies": { - "dedent-js": "^1.0.1", - "pascal-case": "^3.1.1" - }, - "peerDependencies": { - "svelte": "^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0", - "typescript": "^4.9.4 || ^5.0.0" - } - }, - "node_modules/@wormhole-foundation/sdk-sui/node_modules/@0no-co/graphqlsp": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@0no-co/graphqlsp/-/graphqlsp-1.12.3.tgz", - "integrity": "sha512-U0hV/FmFgm2perV+mrXKe/7Z5F4/9rmOziHJYYQgKLwzUVuN5LQG0qs3cLBGxAqoosG0HfTi2cQkgMKY1CMbYQ==", - "dependencies": { - "@gql.tada/internal": "^1.0.0", - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0" - }, - "peerDependencies": { - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "typescript": "^5.0.0" - } - }, - "node_modules/@wormhole-foundation/sdk-sui/node_modules/@gql.tada/cli-utils": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/@gql.tada/cli-utils/-/cli-utils-1.3.9.tgz", - "integrity": "sha512-oRb7SG/+csx9CiypSJTI21KaLfulOUnhX1vxg4FXi2snub9XShkGR2XnnlJVTAOZXY9Vcxti1NutAElxdDkycA==", - "dependencies": { - "@0no-co/graphqlsp": "^1.12.1", - "@gql.tada/internal": "1.0.0", - "@vue/compiler-dom": "^3.4.23", - "@vue/language-core": "^2.0.17", - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "svelte2tsx": "^0.7.6" - }, - "peerDependencies": { - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "typescript": "^5.0.0" - } - }, - "node_modules/@wormhole-foundation/sdk-sui/node_modules/@gql.tada/internal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@gql.tada/internal/-/internal-1.0.0.tgz", - "integrity": "sha512-B55aIYyZn5ewdgMqoJciPAwF5DKYX6HBabTU+ap/dpNH3EgJrLomc8Y8w+MCxCyOx+dXL9OduT6eWnVr7J7Eyg==", - "dependencies": { - "@0no-co/graphql.web": "^1.0.5" - }, - "peerDependencies": { - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "typescript": "^5.0.0" - } - }, "node_modules/@wormhole-foundation/sdk-sui/node_modules/@mysten/bcs": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/@mysten/bcs/-/bcs-0.11.1.tgz", @@ -7222,23 +7088,6 @@ "base-x": "^4.0.0" } }, - "node_modules/@wormhole-foundation/sdk-sui/node_modules/gql.tada": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/gql.tada/-/gql.tada-1.7.5.tgz", - "integrity": "sha512-GepPTee+FWSVVZQ7GiJHzsGNo7gOb59kcn4mUPYLlkbpeJfOUwpuoB05ZNaXG0W4qZVPd1I7R2UgMHBjY1lGlQ==", - "dependencies": { - "@0no-co/graphql.web": "^1.0.5", - "@gql.tada/cli-utils": "1.3.9", - "@gql.tada/internal": "1.0.0" - }, - "bin": { - "gql-tada": "bin/cli.js", - "gql.tada": "bin/cli.js" - }, - "peerDependencies": { - "typescript": "^5.0.0" - } - }, "node_modules/@wormhole-foundation/sdk-sui/node_modules/superstruct": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz", @@ -7247,19 +7096,6 @@ "node": ">=14.0.0" } }, - "node_modules/@wormhole-foundation/sdk-sui/node_modules/svelte2tsx": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.8.tgz", - "integrity": "sha512-ABK3RDFcy59AqAiU1N5Kxu1RnKrb1GDMrQjLgNgJfE8Q+coCKpjCAPtUVKQM2HnmuqeNWcT3NqfXbE+ZmN5Pow==", - "dependencies": { - "dedent-js": "^1.0.1", - "pascal-case": "^3.1.1" - }, - "peerDependencies": { - "svelte": "^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0", - "typescript": "^4.9.4 || ^5.0.0" - } - }, "node_modules/@wry/context": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.7.0.tgz", @@ -10133,6 +9969,23 @@ "url": "https://github.com/sindresorhus/got?sponsor=1" } }, + "node_modules/gql.tada": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/gql.tada/-/gql.tada-1.7.5.tgz", + "integrity": "sha512-GepPTee+FWSVVZQ7GiJHzsGNo7gOb59kcn4mUPYLlkbpeJfOUwpuoB05ZNaXG0W4qZVPd1I7R2UgMHBjY1lGlQ==", + "dependencies": { + "@0no-co/graphql.web": "^1.0.5", + "@gql.tada/cli-utils": "1.3.9", + "@gql.tada/internal": "1.0.0" + }, + "bin": { + "gql-tada": "bin/cli.js", + "gql.tada": "bin/cli.js" + }, + "peerDependencies": { + "typescript": "^5.0.0" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -14017,6 +13870,19 @@ "@types/estree": "^1.0.0" } }, + "node_modules/svelte2tsx": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.9.tgz", + "integrity": "sha512-Rm+0LAwg9wT4H2IsR8EaM9EWErTzi9LmuZKxkH5b1ua94XjQmwHstBP4VabLgA9AE6XmwBg+xK7Cjzwfm6ustQ==", + "dependencies": { + "dedent-js": "^1.0.1", + "pascal-case": "^3.1.1" + }, + "peerDependencies": { + "svelte": "^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0", + "typescript": "^4.9.4 || ^5.0.0" + } + }, "node_modules/symbol-observable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", @@ -15241,6 +15107,15 @@ "integrity": "sha512-E3Qku4mTzdrlwVWGPxklDnME5ANrEGetvYw4i2GCRlppWXXE4QD66j7pwb8HelZwS6LnqEChhrSOGCXpbiu6MQ==", "requires": {} }, + "@0no-co/graphqlsp": { + "version": "1.12.5", + "resolved": "https://registry.npmjs.org/@0no-co/graphqlsp/-/graphqlsp-1.12.5.tgz", + "integrity": "sha512-YS9s8sf3XLaVdBt33u1mbUdfUSLiarQW1SFd3ITh2CLWz1nVnVTN0oCrpepuFHUJ7rt+b6Gk14sgjP4ONdeZfQ==", + "requires": { + "@gql.tada/internal": "^1.0.0", + "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0" + } + }, "@adraffy/ens-normalize": { "version": "1.10.1", "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", @@ -16153,6 +16028,16 @@ "resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.29.5.tgz", "integrity": "sha512-m7h+RXDUxOzEOGt4P+3OVPX7PuakZT3GBmaM/Y2u+abN3xZkziykD/NvedYFvvCCdQo714XcGl33bwifS9FZPQ==" }, + "@ensdomains/ens-validation": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@ensdomains/ens-validation/-/ens-validation-0.1.0.tgz", + "integrity": "sha512-rbDh2K6GfqXvBcJUISaTTYEt3f079WA4ohTE5Lh4/8EaaPAk/9vk3EisMUQV2UVxeFIZQEEyRCIOmRTpqN0W7A==" + }, + "@ensdomains/eth-ens-namehash": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@ensdomains/eth-ens-namehash/-/eth-ens-namehash-2.0.15.tgz", + "integrity": "sha512-JRDFP6+Hczb1E0/HhIg0PONgBYasfGfDheujmfxaZaAv/NAH4jE6Kf48WbqfRZdxt4IZI3jl3Ri7sZ1nP09lgw==" + }, "@esbuild/aix-ppc64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", @@ -16694,6 +16579,27 @@ "@ethersproject/strings": "^5.7.0" } }, + "@gql.tada/cli-utils": { + "version": "1.3.9", + "resolved": "https://registry.npmjs.org/@gql.tada/cli-utils/-/cli-utils-1.3.9.tgz", + "integrity": "sha512-oRb7SG/+csx9CiypSJTI21KaLfulOUnhX1vxg4FXi2snub9XShkGR2XnnlJVTAOZXY9Vcxti1NutAElxdDkycA==", + "requires": { + "@0no-co/graphqlsp": "^1.12.1", + "@gql.tada/internal": "1.0.0", + "@vue/compiler-dom": "^3.4.23", + "@vue/language-core": "^2.0.17", + "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", + "svelte2tsx": "^0.7.6" + } + }, + "@gql.tada/internal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@gql.tada/internal/-/internal-1.0.0.tgz", + "integrity": "sha512-B55aIYyZn5ewdgMqoJciPAwF5DKYX6HBabTU+ap/dpNH3EgJrLomc8Y8w+MCxCyOx+dXL9OduT6eWnVr7J7Eyg==", + "requires": { + "@0no-co/graphql.web": "^1.0.5" + } + }, "@graphql-typed-document-node/core": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", @@ -16768,9 +16674,9 @@ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "protobufjs": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz", - "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz", + "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==", "requires": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -18727,17 +18633,17 @@ "dev": true }, "@volar/language-core": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.2.4.tgz", - "integrity": "sha512-7As47GndxGxsqqYnbreLrfB5NDUeQioPM2LJKUuB4/34c0NpEJ2byVl3c9KYdjIdiEstWZ9JLtLKNTaPWb5jtA==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.2.5.tgz", + "integrity": "sha512-2htyAuxRrAgETmFeUhT4XLELk3LiEcqoW/B8YUXMF6BrGWLMwIR09MFaZYvrA2UhbdAeSyeQ726HaWSWkexUcQ==", "requires": { - "@volar/source-map": "2.2.4" + "@volar/source-map": "2.2.5" } }, "@volar/source-map": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.2.4.tgz", - "integrity": "sha512-m92FLpR9vB1YEZfiZ+bfgpLrToL/DNkOrorWVep3pffHrwwI4Tx2oIQN+sqHJfKkiT5N3J1owC+8crhAEinfjg==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.2.5.tgz", + "integrity": "sha512-wrOEIiZNf4E+PWB0AxyM4tfhkfldPsb3bxg8N6FHrxJH2ohar7aGu48e98bp3pR9HUA7P/pR9VrLmkTrgCCnWQ==", "requires": { "muggle-string": "^0.4.0" } @@ -18801,71 +18707,71 @@ "integrity": "sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==" }, "@wormhole-foundation/sdk": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk/-/sdk-0.6.7.tgz", - "integrity": "sha512-bGT/z47mDxeoQPdm0ZuzKtllrHgl9WFEvN1Ka8iUsrbZ03/bfyuScgWujbMqmX9kWVzgarnNFrEA5A4OVeLBJw==", - "requires": { - "@wormhole-foundation/sdk-algorand": "0.6.7", - "@wormhole-foundation/sdk-algorand-core": "0.6.7", - "@wormhole-foundation/sdk-algorand-tokenbridge": "0.6.7", - "@wormhole-foundation/sdk-aptos": "0.6.7", - "@wormhole-foundation/sdk-aptos-core": "0.6.7", - "@wormhole-foundation/sdk-aptos-tokenbridge": "0.6.7", - "@wormhole-foundation/sdk-base": "0.6.7", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm-core": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm-ibc": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm-tokenbridge": "0.6.7", - "@wormhole-foundation/sdk-definitions": "0.6.7", - "@wormhole-foundation/sdk-evm": "0.6.7", - "@wormhole-foundation/sdk-evm-cctp": "0.6.7", - "@wormhole-foundation/sdk-evm-core": "0.6.7", - "@wormhole-foundation/sdk-evm-portico": "0.6.7", - "@wormhole-foundation/sdk-evm-tokenbridge": "0.6.7", - "@wormhole-foundation/sdk-solana": "0.6.7", - "@wormhole-foundation/sdk-solana-cctp": "0.6.7", - "@wormhole-foundation/sdk-solana-core": "0.6.7", - "@wormhole-foundation/sdk-solana-tokenbridge": "0.6.7", - "@wormhole-foundation/sdk-sui": "0.6.7", - "@wormhole-foundation/sdk-sui-core": "0.6.7", - "@wormhole-foundation/sdk-sui-tokenbridge": "0.6.7" + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk/-/sdk-0.7.0-beta.5.tgz", + "integrity": "sha512-0IM8xngEghx5Uf3/SnzQeBrOHBONj92GJ6/RETzuvmCx3YkZpy9gFo1ctvD9Ey4MrWbTdQk7qMnpCZOwpldWWw==", + "requires": { + "@wormhole-foundation/sdk-algorand": "0.7.0-beta.5", + "@wormhole-foundation/sdk-algorand-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-algorand-tokenbridge": "0.7.0-beta.5", + "@wormhole-foundation/sdk-aptos": "0.7.0-beta.5", + "@wormhole-foundation/sdk-aptos-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-aptos-tokenbridge": "0.7.0-beta.5", + "@wormhole-foundation/sdk-base": "0.7.0-beta.5", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm-ibc": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm-tokenbridge": "0.7.0-beta.5", + "@wormhole-foundation/sdk-definitions": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm-cctp": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm-portico": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm-tokenbridge": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana-cctp": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana-tokenbridge": "0.7.0-beta.5", + "@wormhole-foundation/sdk-sui": "0.7.0-beta.5", + "@wormhole-foundation/sdk-sui-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-sui-tokenbridge": "0.7.0-beta.5" } }, "@wormhole-foundation/sdk-algorand": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand/-/sdk-algorand-0.6.7.tgz", - "integrity": "sha512-WRNEAk1rRgPTL0h5xcThNEMAdNC+OHKANPPdrloh08mEYub1AQ7H8iwoW+/xNi7Rbxk/eg+NyH2IINwZrzvqyw==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand/-/sdk-algorand-0.7.0-beta.5.tgz", + "integrity": "sha512-DYhinpe/41b8nu+xS9I1KmzUMUIicZYmKWH7Ea5/5KTA6pB8tM3AHTKa54cqb5g6n14VQmfbnHFbGVAUjqSL6g==", "requires": { - "@wormhole-foundation/sdk-connect": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", "algosdk": "2.7.0" } }, "@wormhole-foundation/sdk-algorand-core": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand-core/-/sdk-algorand-core-0.6.7.tgz", - "integrity": "sha512-C7GvPsPFHg0rCsYRf2apQfFqigEo2DbFgi8wdEFt4FOnIMwABtpu7x2SuLb540PnaqBsIC7Ainxm7ddBBYJY9Q==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand-core/-/sdk-algorand-core-0.7.0-beta.5.tgz", + "integrity": "sha512-AJQEaXIViwwmg/oyn0QjgJEwv2pPbup7qb2C0KTJIPXwx40Cr4Z6jrBrgE387+svJ63+WNNBhJnC5YRl93AuKg==", "requires": { - "@wormhole-foundation/sdk-algorand": "0.6.7", - "@wormhole-foundation/sdk-connect": "0.6.7" + "@wormhole-foundation/sdk-algorand": "0.7.0-beta.5", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5" } }, "@wormhole-foundation/sdk-algorand-tokenbridge": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand-tokenbridge/-/sdk-algorand-tokenbridge-0.6.7.tgz", - "integrity": "sha512-iwjcDCG5MY/FszjTYky69fwS2A3xDElMgpp0JP8BiVGwWghGkdZkOBSKbLHXRMLqhsQnzujGmyrSjzgLuw3zWA==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand-tokenbridge/-/sdk-algorand-tokenbridge-0.7.0-beta.5.tgz", + "integrity": "sha512-ZozYoS948Aa+iVZWtq3b+xQMSWyh9uEklsQTfDlNLi+72P5Wz6amrweBNnSErxrpG+y/zXa9XqwVBN6grjc2gg==", "requires": { - "@wormhole-foundation/sdk-algorand": "0.6.7", - "@wormhole-foundation/sdk-algorand-core": "0.6.7", - "@wormhole-foundation/sdk-connect": "0.6.7" + "@wormhole-foundation/sdk-algorand": "0.7.0-beta.5", + "@wormhole-foundation/sdk-algorand-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5" } }, "@wormhole-foundation/sdk-aptos": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos/-/sdk-aptos-0.6.7.tgz", - "integrity": "sha512-fKWbwE8wcYuonNvakgfXUnUFkJ3NanpFIIDhIZs3egQKFpU3BltT4zBShwAj51fEhI5aws0Asc8vGSgcZEgGTQ==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos/-/sdk-aptos-0.7.0-beta.5.tgz", + "integrity": "sha512-QhCNBzoqZueTO3g8mYAszm3pogX7LUxl/STfw3xIc1xkxUzyk1Tw1UEzih3r6hObDU4C3S1g7zXM2QS5JMjK1g==", "requires": { - "@wormhole-foundation/sdk-connect": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", "aptos": "1.21.0" }, "dependencies": { @@ -18914,45 +18820,45 @@ } }, "@wormhole-foundation/sdk-aptos-core": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos-core/-/sdk-aptos-core-0.6.7.tgz", - "integrity": "sha512-TOmIVmCR8qOwYseQB7CRnjDGOjxeYQXCoXjCR7n2/ohEMbtBGEymvfUAtTyHBpNmqvA8tustlOwB6Lmq80OkjQ==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos-core/-/sdk-aptos-core-0.7.0-beta.5.tgz", + "integrity": "sha512-MjO/YULiKGUApDOxd7Ru5qR/D1g3Tx/Y0PAfCfBFaW1COCSeGNnnmUzTmVjE4pWlErvexiRfePZeM5a0FIjNRg==", "requires": { - "@wormhole-foundation/sdk-aptos": "0.6.7", - "@wormhole-foundation/sdk-connect": "0.6.7" + "@wormhole-foundation/sdk-aptos": "0.7.0-beta.5", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5" } }, "@wormhole-foundation/sdk-aptos-tokenbridge": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos-tokenbridge/-/sdk-aptos-tokenbridge-0.6.7.tgz", - "integrity": "sha512-rj3Z22Np8wH+e/O3xx6YuwL/3Jef4C+CHoaWEwF7u7HP5jMJ5H33MmwecO9r4HulFjEKt4HgSpSoQBb8WC5tOQ==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos-tokenbridge/-/sdk-aptos-tokenbridge-0.7.0-beta.5.tgz", + "integrity": "sha512-xHPeQeUQzTN8ErnNGACsE2JuZ+l0NHB6zvvk6ufc+Hsi7tLqpBf7iqI8MqsP+FbFOoMJnWukw1FkKO8G4Y/TgQ==", "requires": { - "@wormhole-foundation/sdk-aptos": "0.6.7", - "@wormhole-foundation/sdk-connect": "0.6.7" + "@wormhole-foundation/sdk-aptos": "0.7.0-beta.5", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5" } }, "@wormhole-foundation/sdk-base": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-base/-/sdk-base-0.6.7.tgz", - "integrity": "sha512-lXN7tm5O8L8nfqXD1Fhn61rTR9WjZ9khRU3tOE3b8AqjX9OxIL9/ou5BmMGaJex8AFAUgnX86pNkEEvu9Tb3hQ==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-base/-/sdk-base-0.7.0-beta.5.tgz", + "integrity": "sha512-QMyfGmgg+5V0Qd2SLLXAqSE7nYr2+n/Q/qyuNGmR4vLrTxYR/FdVdyRfQU3rW0Dm1cxIUYt8lUQoW/nsAebIqg==", "requires": { "@scure/base": "^1.1.3" } }, "@wormhole-foundation/sdk-connect": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-connect/-/sdk-connect-0.6.7.tgz", - "integrity": "sha512-yLKxLAWUl+J/98A+BNKuqyOu0iv2TXlbbiYLTJO7iUZSB5g3dFt36UJIz4Mfvrt1TnLJbD+7Sv6t2MwIDdO3Jg==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-connect/-/sdk-connect-0.7.0-beta.5.tgz", + "integrity": "sha512-aIzo1o5RRX9asiI4pmMTX4NJCSP+iQHd8ZOr6WH2aW80WpnptnKUIL8p3uKEFZiBFobstvWVW3dvgPioUzBmYw==", "requires": { - "@wormhole-foundation/sdk-base": "0.6.7", - "@wormhole-foundation/sdk-definitions": "0.6.7", + "@wormhole-foundation/sdk-base": "0.7.0-beta.5", + "@wormhole-foundation/sdk-definitions": "0.7.0-beta.5", "axios": "^1.4.0" }, "dependencies": { "axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "requires": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -18972,15 +18878,15 @@ } }, "@wormhole-foundation/sdk-cosmwasm": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm/-/sdk-cosmwasm-0.6.7.tgz", - "integrity": "sha512-tpJc1MyngHaZSJFsEy3X+M23HRJ3LTSmCtcOKRE+tpRdb9HU2Nks9mLFjg+b0sAqjdrsHwem/oF2pvjFJA0AWA==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm/-/sdk-cosmwasm-0.7.0-beta.5.tgz", + "integrity": "sha512-wYlHA0O/UmBET70JmAl95Tt4BZq0pZdG+rtWoxg2nnM0v7Qhk7B91/9YjR+e/dljHqG1y26UiZ6eLYaIoUpJKw==", "requires": { "@cosmjs/cosmwasm-stargate": "^0.32.0", "@cosmjs/proto-signing": "^0.32.0", "@cosmjs/stargate": "^0.32.0", "@injectivelabs/sdk-ts": "^1.14.4", - "@wormhole-foundation/sdk-connect": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", "cosmjs-types": "^0.9.0" }, "dependencies": { @@ -19258,9 +19164,9 @@ } }, "axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "requires": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -19288,9 +19194,9 @@ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "protobufjs": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz", - "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz", + "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==", "requires": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -19309,15 +19215,15 @@ } }, "@wormhole-foundation/sdk-cosmwasm-core": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-core/-/sdk-cosmwasm-core-0.6.7.tgz", - "integrity": "sha512-ZzK1CX+fJfnBXDRxHqGdpq4QpCQc5afPoBXqd5O6dMB2bWwmEo9u5rzTJMjudm/m/7bVg95qJ1p51Xia5ubQqA==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-core/-/sdk-cosmwasm-core-0.7.0-beta.5.tgz", + "integrity": "sha512-i64jPprNhZXvrstk+pekj4Wakj21mbz0TUaPReJXy9hSuoWCbDmnG9Zud+JdAnBy55ckckJ4nWgTxXAygQ/80Q==", "requires": { "@cosmjs/cosmwasm-stargate": "^0.32.0", "@cosmjs/stargate": "^0.32.0", "@injectivelabs/sdk-ts": "^1.14.4", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm": "0.7.0-beta.5" }, "dependencies": { "@cosmjs/amino": { @@ -19594,9 +19500,9 @@ } }, "axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "requires": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -19624,9 +19530,9 @@ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "protobufjs": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz", - "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz", + "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==", "requires": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -19645,16 +19551,16 @@ } }, "@wormhole-foundation/sdk-cosmwasm-ibc": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-ibc/-/sdk-cosmwasm-ibc-0.6.7.tgz", - "integrity": "sha512-w5GQOCmG4w4m3pa+33TaD9W+z5g+qDBKvl377CnvU/0NB9RIdCcR1fNK+jwvVJPRgOO4y8Tq7hFcWBTNlqjqGA==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-ibc/-/sdk-cosmwasm-ibc-0.7.0-beta.5.tgz", + "integrity": "sha512-R6VOGrMGyLqDvuAh9KZrwNjx5aK1aeHt36/zcWC5ZrToILjxE5h7jmUpK4dHpe6dgfh2ryZ1F7B54DdvbpS/hA==", "requires": { "@cosmjs/cosmwasm-stargate": "^0.32.0", "@cosmjs/stargate": "^0.32.0", "@injectivelabs/sdk-ts": "^1.14.4", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm-core": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm-core": "0.7.0-beta.5", "cosmjs-types": "^0.9.0" }, "dependencies": { @@ -19932,9 +19838,9 @@ } }, "axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "requires": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -19962,9 +19868,9 @@ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "protobufjs": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz", - "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz", + "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==", "requires": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -19983,14 +19889,14 @@ } }, "@wormhole-foundation/sdk-cosmwasm-tokenbridge": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-tokenbridge/-/sdk-cosmwasm-tokenbridge-0.6.7.tgz", - "integrity": "sha512-CVZKw1TWwi3Nxz2z+pj1Hk9Z41KlironAoCU7lGwnoko2uLCk1vleeR3feiVYznZjpEiv/UET9V5o3iI6fhiRw==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-tokenbridge/-/sdk-cosmwasm-tokenbridge-0.7.0-beta.5.tgz", + "integrity": "sha512-/jUqme2Ajy80JyLQuUYDwhufGWjqqwJTJNvBptjDo0dBdmgiLBKIxINXS84rkykyCmkeSCzwRPreH5lLB7kvwg==", "requires": { "@cosmjs/cosmwasm-stargate": "^0.32.0", "@injectivelabs/sdk-ts": "^1.14.4", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-cosmwasm": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-cosmwasm": "0.7.0-beta.5" }, "dependencies": { "@cosmjs/amino": { @@ -20267,9 +20173,9 @@ } }, "axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "requires": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -20297,9 +20203,9 @@ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "protobufjs": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz", - "integrity": "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz", + "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==", "requires": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -20318,13 +20224,13 @@ } }, "@wormhole-foundation/sdk-definitions": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-definitions/-/sdk-definitions-0.6.7.tgz", - "integrity": "sha512-6uyfKuTHIXni4rEwoJDNW2Ahm7tABmG+Mae181TX3K4mfVznkC3YufEBlNJyt071B/RD7JJi7WZUVZ1ROG8Aow==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-definitions/-/sdk-definitions-0.7.0-beta.5.tgz", + "integrity": "sha512-ctkcGU4M/U5O0M/rn27KwJWs2hJdbcst/T/ybQQbeBdd4HApKJvHTDGi7sZ9ARgJAAhgmyYwvUCoHaiHFfqMXQ==", "requires": { "@noble/curves": "^1.4.0", "@noble/hashes": "^1.3.1", - "@wormhole-foundation/sdk-base": "0.6.7" + "@wormhole-foundation/sdk-base": "0.7.0-beta.5" }, "dependencies": { "@noble/hashes": { @@ -20335,11 +20241,11 @@ } }, "@wormhole-foundation/sdk-evm": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm/-/sdk-evm-0.6.7.tgz", - "integrity": "sha512-coQO1HaL4/GJxQ26FsgmMHY6X1iMZgHSXnCXGPmlchs5hMWraYLsxMTQ1goFSAIWQi0ALaR7tkdDDzN5y0liRw==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm/-/sdk-evm-0.7.0-beta.5.tgz", + "integrity": "sha512-tJGuoCSRCMUvwrpktKw5cXRZO/iuRAP8Ip5HNBN6ZcLtbJjaw+7b/wP6Mj+o3rNTxGdSDN594K1mlNvAqgjGNA==", "requires": { - "@wormhole-foundation/sdk-connect": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", "ethers": "^6.5.1" }, "dependencies": { @@ -20389,12 +20295,12 @@ } }, "@wormhole-foundation/sdk-evm-cctp": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-cctp/-/sdk-evm-cctp-0.6.7.tgz", - "integrity": "sha512-HilS6N+P4js4qh9s0kdnNlNAQB0F3mG7Mp/rPFYtdX8xhC7L7ZfjoZMZxuv99/05xY6Xdr6l4mldlCmOjFEuBA==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-cctp/-/sdk-evm-cctp-0.7.0-beta.5.tgz", + "integrity": "sha512-42Qc1I6ztaYxQfUCUtQ6QIiGkaM3gqyy+rAhXH2+IUSUeDl11RM8MKjyu6NMwwzCGn8bkXMRKWl8UMXUJVX6UQ==", "requires": { - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-evm": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm": "0.7.0-beta.5", "ethers": "^6.5.1" }, "dependencies": { @@ -20444,12 +20350,12 @@ } }, "@wormhole-foundation/sdk-evm-core": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-core/-/sdk-evm-core-0.6.7.tgz", - "integrity": "sha512-L4A1RM77QBpL41gsTtS4aHuDqMD5vha3Ojym22KcxXvquWBJLzx3kFthM9v1KtN5EDnaaasutVhMDPMeqj6WIg==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-core/-/sdk-evm-core-0.7.0-beta.5.tgz", + "integrity": "sha512-3YYRf+5pFMJ4lzfdvkkCzmDrQgP4HGS1r1RqJvfA96Wb9AitqDmx+ZmrzVbrMlycDmbX8S4S1Yblg63M2kW1Fw==", "requires": { - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-evm": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm": "0.7.0-beta.5", "ethers": "^6.5.1" }, "dependencies": { @@ -20499,14 +20405,14 @@ } }, "@wormhole-foundation/sdk-evm-portico": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-portico/-/sdk-evm-portico-0.6.7.tgz", - "integrity": "sha512-6QU2/9dapv7km3qmCtqd1ohN+oKMuG+vscXh3EaTgHEmyx7Nb+fDVZ0SQZV38WrxfxdoaAKyaTFE8ktldFR0Cg==", - "requires": { - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-evm": "0.6.7", - "@wormhole-foundation/sdk-evm-core": "0.6.7", - "@wormhole-foundation/sdk-evm-tokenbridge": "0.6.7", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-portico/-/sdk-evm-portico-0.7.0-beta.5.tgz", + "integrity": "sha512-gvFHRxsg8i7vT3bPR11DVy0PNIAGLDEWCpt74KP9HFFWf6xzsEA8+qN302U6ZcXXBxojY1GtaQUcdNN++7i36Q==", + "requires": { + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm-core": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm-tokenbridge": "0.7.0-beta.5", "ethers": "^6.5.1" }, "dependencies": { @@ -20556,13 +20462,13 @@ } }, "@wormhole-foundation/sdk-evm-tokenbridge": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-tokenbridge/-/sdk-evm-tokenbridge-0.6.7.tgz", - "integrity": "sha512-DfEjLx8W85CoA/JTWIfIbQaziGE3Cj5dm1DJ0z0InzMMJ1Lg8TicggQ4mUD1tr8uHRXX6PII007DlXJMxfW/yw==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-tokenbridge/-/sdk-evm-tokenbridge-0.7.0-beta.5.tgz", + "integrity": "sha512-Aay8UdcjCwmkibsJLhZyy037dQTn6lli8eDnpAd9gRj9rhfCrEmqQvnCDOPMk/tE0thOeCEjxBSPxtd2IQ9EoA==", "requires": { - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-evm": "0.6.7", - "@wormhole-foundation/sdk-evm-core": "0.6.7", + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm": "0.7.0-beta.5", + "@wormhole-foundation/sdk-evm-core": "0.7.0-beta.5", "ethers": "^6.5.1" }, "dependencies": { @@ -20612,15 +20518,15 @@ } }, "@wormhole-foundation/sdk-solana": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana/-/sdk-solana-0.6.7.tgz", - "integrity": "sha512-x+2UNqdKs6KjAF67QENc8J5YI5ZooECZtmQA0xWywM7I/aR1VQhzvLr484hxE71GP84PKDI9y6vBzgi9CV5PCg==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana/-/sdk-solana-0.7.0-beta.5.tgz", + "integrity": "sha512-s2JReAgr7zVlmoG7RlAwCriHSh4gfRxNhm7c0K0oIwu2KW0RD06K1NAxu3twoBgeRGfiY0IKYR/Ovu1LA4uRgg==", "requires": { "@coral-xyz/anchor": "0.29.0", "@coral-xyz/borsh": "0.29.0", "@solana/spl-token": "0.3.9", "@solana/web3.js": "1.91.7", - "@wormhole-foundation/sdk-connect": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5" }, "dependencies": { "@coral-xyz/borsh": { @@ -20635,27 +20541,27 @@ } }, "@wormhole-foundation/sdk-solana-cctp": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-cctp/-/sdk-solana-cctp-0.6.7.tgz", - "integrity": "sha512-nQMYdNT1XH7CNcB67KMSFqnAFb0/8gTBV8nKE2xUNx4ktvE81++QflRo8w8BLGJz55DtDkMi0dW3ZdKXJrgaWw==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-cctp/-/sdk-solana-cctp-0.7.0-beta.5.tgz", + "integrity": "sha512-XJMY6XBJf1LHhw5owEZEXigXV7jmJpU3lw3xCiJL+LyHexfnnvfw2gdEEY5Un3xOIIzCaLz1+oEkQBk8yVn8zg==", "requires": { "@coral-xyz/anchor": "0.29.0", "@solana/spl-token": "0.3.9", "@solana/web3.js": "1.91.7", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-solana": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana": "0.7.0-beta.5" } }, "@wormhole-foundation/sdk-solana-core": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-core/-/sdk-solana-core-0.6.7.tgz", - "integrity": "sha512-yhAdiwRyej+nbObolDnvaUSsdfhNg5c97S4Ze5KpZNRGoT7F4z+tC+b6yH4n9n/drm+QtGY8tCQHHLkDFZB5pA==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-core/-/sdk-solana-core-0.7.0-beta.5.tgz", + "integrity": "sha512-9GmktW8suxGX1O0vTBAoAnRTNdIMNgaaNOqEhDR8Ugots0+A3b+QbtWj7Tpg3uVjLE/pO0fFII0ge+ntdHglXA==", "requires": { "@coral-xyz/anchor": "0.29.0", "@coral-xyz/borsh": "0.29.0", "@solana/web3.js": "1.91.7", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-solana": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana": "0.7.0-beta.5" }, "dependencies": { "@coral-xyz/borsh": { @@ -20670,57 +20576,27 @@ } }, "@wormhole-foundation/sdk-solana-tokenbridge": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-tokenbridge/-/sdk-solana-tokenbridge-0.6.7.tgz", - "integrity": "sha512-K9poJOIr0GUhrUGOi9zARIZ9+nvg8mNFEhA17ttWtX8vK88bIp+V7JjIJYPXwl4ai1tDO6F4GbIN0v+TQNQBWg==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-tokenbridge/-/sdk-solana-tokenbridge-0.7.0-beta.5.tgz", + "integrity": "sha512-rXQZuLZXvxpDvCcBoXeMaGCNq6kzfofY0B3IjR03uqHPz3fIsSfA5RCWGF0ZadCn4Fi2+hm3hShxC0WVImNMtw==", "requires": { "@coral-xyz/anchor": "0.29.0", "@solana/spl-token": "0.3.9", "@solana/web3.js": "1.91.7", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-solana": "0.6.7", - "@wormhole-foundation/sdk-solana-core": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana": "0.7.0-beta.5", + "@wormhole-foundation/sdk-solana-core": "0.7.0-beta.5" } }, "@wormhole-foundation/sdk-sui": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui/-/sdk-sui-0.6.7.tgz", - "integrity": "sha512-NI6uuf6x/3rayKmhuwpXSQwMUQvLEo+oJWJDZkT1ecuu0VTQHjRlyyG0A7vFNitY1psRje8krq2oKmC0AbFCCw==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui/-/sdk-sui-0.7.0-beta.5.tgz", + "integrity": "sha512-fbZPJZOU0gDYkxyx3eBKuNoK7zN3hkodA6gS6imH+/U7zCjXzTzMiH/wTlTgN38uYhmxyUF5RIlFBr4jj/opQw==", "requires": { "@mysten/sui.js": "^0.50.1", - "@wormhole-foundation/sdk-connect": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5" }, "dependencies": { - "@0no-co/graphqlsp": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@0no-co/graphqlsp/-/graphqlsp-1.12.3.tgz", - "integrity": "sha512-U0hV/FmFgm2perV+mrXKe/7Z5F4/9rmOziHJYYQgKLwzUVuN5LQG0qs3cLBGxAqoosG0HfTi2cQkgMKY1CMbYQ==", - "requires": { - "@gql.tada/internal": "^1.0.0", - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0" - } - }, - "@gql.tada/cli-utils": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/@gql.tada/cli-utils/-/cli-utils-1.3.9.tgz", - "integrity": "sha512-oRb7SG/+csx9CiypSJTI21KaLfulOUnhX1vxg4FXi2snub9XShkGR2XnnlJVTAOZXY9Vcxti1NutAElxdDkycA==", - "requires": { - "@0no-co/graphqlsp": "^1.12.1", - "@gql.tada/internal": "1.0.0", - "@vue/compiler-dom": "^3.4.23", - "@vue/language-core": "^2.0.17", - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "svelte2tsx": "^0.7.6" - } - }, - "@gql.tada/internal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@gql.tada/internal/-/internal-1.0.0.tgz", - "integrity": "sha512-B55aIYyZn5ewdgMqoJciPAwF5DKYX6HBabTU+ap/dpNH3EgJrLomc8Y8w+MCxCyOx+dXL9OduT6eWnVr7J7Eyg==", - "requires": { - "@0no-co/graphql.web": "^1.0.5" - } - }, "@mysten/bcs": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/@mysten/bcs/-/bcs-0.11.1.tgz", @@ -20785,72 +20661,23 @@ "base-x": "^4.0.0" } }, - "gql.tada": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/gql.tada/-/gql.tada-1.7.5.tgz", - "integrity": "sha512-GepPTee+FWSVVZQ7GiJHzsGNo7gOb59kcn4mUPYLlkbpeJfOUwpuoB05ZNaXG0W4qZVPd1I7R2UgMHBjY1lGlQ==", - "requires": { - "@0no-co/graphql.web": "^1.0.5", - "@gql.tada/cli-utils": "1.3.9", - "@gql.tada/internal": "1.0.0" - } - }, "superstruct": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz", "integrity": "sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==" - }, - "svelte2tsx": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.8.tgz", - "integrity": "sha512-ABK3RDFcy59AqAiU1N5Kxu1RnKrb1GDMrQjLgNgJfE8Q+coCKpjCAPtUVKQM2HnmuqeNWcT3NqfXbE+ZmN5Pow==", - "requires": { - "dedent-js": "^1.0.1", - "pascal-case": "^3.1.1" - } } } }, "@wormhole-foundation/sdk-sui-core": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui-core/-/sdk-sui-core-0.6.7.tgz", - "integrity": "sha512-hgnNwaCgvlySQaJc7mhQ1weDkCJfHVwkggxtH1xpSPMjUMViJDQsg+r9PvirasLQ4Sg4DAXyllcKGJDcGZsebA==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui-core/-/sdk-sui-core-0.7.0-beta.5.tgz", + "integrity": "sha512-0De9UjMPQ4lp0P+3Kpr/4iHFn/HVt5Nj00zdG0dhz2Msjxlkz3SqA26rZOECuvF7fmyoQkQKCPowMBfNnmyJJQ==", "requires": { "@mysten/sui.js": "^0.50.1", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-sui": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-sui": "0.7.0-beta.5" }, "dependencies": { - "@0no-co/graphqlsp": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@0no-co/graphqlsp/-/graphqlsp-1.12.3.tgz", - "integrity": "sha512-U0hV/FmFgm2perV+mrXKe/7Z5F4/9rmOziHJYYQgKLwzUVuN5LQG0qs3cLBGxAqoosG0HfTi2cQkgMKY1CMbYQ==", - "requires": { - "@gql.tada/internal": "^1.0.0", - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0" - } - }, - "@gql.tada/cli-utils": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/@gql.tada/cli-utils/-/cli-utils-1.3.9.tgz", - "integrity": "sha512-oRb7SG/+csx9CiypSJTI21KaLfulOUnhX1vxg4FXi2snub9XShkGR2XnnlJVTAOZXY9Vcxti1NutAElxdDkycA==", - "requires": { - "@0no-co/graphqlsp": "^1.12.1", - "@gql.tada/internal": "1.0.0", - "@vue/compiler-dom": "^3.4.23", - "@vue/language-core": "^2.0.17", - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "svelte2tsx": "^0.7.6" - } - }, - "@gql.tada/internal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@gql.tada/internal/-/internal-1.0.0.tgz", - "integrity": "sha512-B55aIYyZn5ewdgMqoJciPAwF5DKYX6HBabTU+ap/dpNH3EgJrLomc8Y8w+MCxCyOx+dXL9OduT6eWnVr7J7Eyg==", - "requires": { - "@0no-co/graphql.web": "^1.0.5" - } - }, "@mysten/bcs": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/@mysten/bcs/-/bcs-0.11.1.tgz", @@ -20915,73 +20742,24 @@ "base-x": "^4.0.0" } }, - "gql.tada": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/gql.tada/-/gql.tada-1.7.5.tgz", - "integrity": "sha512-GepPTee+FWSVVZQ7GiJHzsGNo7gOb59kcn4mUPYLlkbpeJfOUwpuoB05ZNaXG0W4qZVPd1I7R2UgMHBjY1lGlQ==", - "requires": { - "@0no-co/graphql.web": "^1.0.5", - "@gql.tada/cli-utils": "1.3.9", - "@gql.tada/internal": "1.0.0" - } - }, "superstruct": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz", "integrity": "sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==" - }, - "svelte2tsx": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.8.tgz", - "integrity": "sha512-ABK3RDFcy59AqAiU1N5Kxu1RnKrb1GDMrQjLgNgJfE8Q+coCKpjCAPtUVKQM2HnmuqeNWcT3NqfXbE+ZmN5Pow==", - "requires": { - "dedent-js": "^1.0.1", - "pascal-case": "^3.1.1" - } } } }, "@wormhole-foundation/sdk-sui-tokenbridge": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui-tokenbridge/-/sdk-sui-tokenbridge-0.6.7.tgz", - "integrity": "sha512-eBGlTOUAJZWoFj2LAZBrak5148TDEgHkzKRASa1KoeX4PH2T9tph27z6tGDg5tNmVykwARSM4l5Wv4+wCuGgEw==", + "version": "0.7.0-beta.5", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui-tokenbridge/-/sdk-sui-tokenbridge-0.7.0-beta.5.tgz", + "integrity": "sha512-YUYrvZu6yFAULA8V/RygbQflHlDU4aB2Kx5aVqWV1qWFH4Ixfq2RUrZPCVDeDGTnnlO1otauSHfCCyAOKhTy4g==", "requires": { "@mysten/sui.js": "^0.50.1", - "@wormhole-foundation/sdk-connect": "0.6.7", - "@wormhole-foundation/sdk-sui": "0.6.7", - "@wormhole-foundation/sdk-sui-core": "0.6.7" + "@wormhole-foundation/sdk-connect": "0.7.0-beta.5", + "@wormhole-foundation/sdk-sui": "0.7.0-beta.5", + "@wormhole-foundation/sdk-sui-core": "0.7.0-beta.5" }, "dependencies": { - "@0no-co/graphqlsp": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/@0no-co/graphqlsp/-/graphqlsp-1.12.3.tgz", - "integrity": "sha512-U0hV/FmFgm2perV+mrXKe/7Z5F4/9rmOziHJYYQgKLwzUVuN5LQG0qs3cLBGxAqoosG0HfTi2cQkgMKY1CMbYQ==", - "requires": { - "@gql.tada/internal": "^1.0.0", - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0" - } - }, - "@gql.tada/cli-utils": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/@gql.tada/cli-utils/-/cli-utils-1.3.9.tgz", - "integrity": "sha512-oRb7SG/+csx9CiypSJTI21KaLfulOUnhX1vxg4FXi2snub9XShkGR2XnnlJVTAOZXY9Vcxti1NutAElxdDkycA==", - "requires": { - "@0no-co/graphqlsp": "^1.12.1", - "@gql.tada/internal": "1.0.0", - "@vue/compiler-dom": "^3.4.23", - "@vue/language-core": "^2.0.17", - "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0", - "svelte2tsx": "^0.7.6" - } - }, - "@gql.tada/internal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@gql.tada/internal/-/internal-1.0.0.tgz", - "integrity": "sha512-B55aIYyZn5ewdgMqoJciPAwF5DKYX6HBabTU+ap/dpNH3EgJrLomc8Y8w+MCxCyOx+dXL9OduT6eWnVr7J7Eyg==", - "requires": { - "@0no-co/graphql.web": "^1.0.5" - } - }, "@mysten/bcs": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/@mysten/bcs/-/bcs-0.11.1.tgz", @@ -21046,29 +20824,10 @@ "base-x": "^4.0.0" } }, - "gql.tada": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/gql.tada/-/gql.tada-1.7.5.tgz", - "integrity": "sha512-GepPTee+FWSVVZQ7GiJHzsGNo7gOb59kcn4mUPYLlkbpeJfOUwpuoB05ZNaXG0W4qZVPd1I7R2UgMHBjY1lGlQ==", - "requires": { - "@0no-co/graphql.web": "^1.0.5", - "@gql.tada/cli-utils": "1.3.9", - "@gql.tada/internal": "1.0.0" - } - }, "superstruct": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz", "integrity": "sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==" - }, - "svelte2tsx": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.8.tgz", - "integrity": "sha512-ABK3RDFcy59AqAiU1N5Kxu1RnKrb1GDMrQjLgNgJfE8Q+coCKpjCAPtUVKQM2HnmuqeNWcT3NqfXbE+ZmN5Pow==", - "requires": { - "dedent-js": "^1.0.1", - "pascal-case": "^3.1.1" - } } } }, @@ -23419,6 +23178,16 @@ "responselike": "^2.0.0" } }, + "gql.tada": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/gql.tada/-/gql.tada-1.7.5.tgz", + "integrity": "sha512-GepPTee+FWSVVZQ7GiJHzsGNo7gOb59kcn4mUPYLlkbpeJfOUwpuoB05ZNaXG0W4qZVPd1I7R2UgMHBjY1lGlQ==", + "requires": { + "@0no-co/graphql.web": "^1.0.5", + "@gql.tada/cli-utils": "1.3.9", + "@gql.tada/internal": "1.0.0" + } + }, "graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -26454,6 +26223,15 @@ } } }, + "svelte2tsx": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.9.tgz", + "integrity": "sha512-Rm+0LAwg9wT4H2IsR8EaM9EWErTzi9LmuZKxkH5b1ua94XjQmwHstBP4VabLgA9AE6XmwBg+xK7Cjzwfm6ustQ==", + "requires": { + "dedent-js": "^1.0.1", + "pascal-case": "^3.1.1" + } + }, "symbol-observable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", diff --git a/clients/js/package.json b/clients/js/package.json index e1c9e2315e..a350d7827a 100644 --- a/clients/js/package.json +++ b/clients/js/package.json @@ -42,7 +42,7 @@ "@solana/web3.js": "^1.22.0", "@terra-money/terra.js": "^3.1.9", "@types/config": "^3.3.0", - "@wormhole-foundation/sdk": "^0.6.7", + "@wormhole-foundation/sdk": "^0.7.0-beta.5", "@xpla/xpla.js": "^0.2.1", "algosdk": "^2.4.0", "aptos": "^1.3.16", @@ -74,6 +74,6 @@ "jest": "^29.7.0", "ts-jest": "^29.1.2", "tsx": "^4.12.0", - "typescript": "^4.6" + "typescript": "^5.4.5" } } diff --git a/clients/js/src/algorand.ts b/clients/js/src/algorand.ts index 114b1ff063..75a208aa7f 100644 --- a/clients/js/src/algorand.ts +++ b/clients/js/src/algorand.ts @@ -2,17 +2,11 @@ import { _submitVAAAlgorand, signSendAndConfirmAlgorand, } from "@certusone/wormhole-sdk/lib/esm/algorand"; -import { - Account, - Algodv2, - decodeAddress, - encodeAddress, - mnemonicToSecretKey, -} from "algosdk"; +import { Account, Algodv2, mnemonicToSecretKey } from "algosdk"; import { NETWORKS } from "./consts"; import { Payload, impossible } from "./vaa"; import { transferFromAlgorand } from "@certusone/wormhole-sdk/lib/esm/token_bridge/transfer"; -import { tryNativeToHexString } from "./array"; +import { tryNativeToHexString } from "./sdk/array"; import { Chain, chainToChainId, @@ -20,7 +14,6 @@ import { Network, toChainId, } from "@wormhole-foundation/sdk-base"; -import { encoding } from "@wormhole-foundation/sdk"; export async function execute_algorand( payload: Payload, @@ -67,9 +60,6 @@ export async function execute_algorand( } case "NFTBridge": { const nftContract = contracts.nftBridge.get(network, chain); - // NOTE: this code can safely be removed once the algorand NFT bridge is - // released, but it's fine for it to stay, as the condition will just be - // skipped once 'contracts.nft_bridge' is defined if (!nftContract) { throw new Error("NFT bridge not supported yet for Algorand"); } @@ -162,7 +152,6 @@ export async function transferAlgorand( if (!key) { throw Error(`No ${network} key defined for Algorand`); } - // const contracts = CONTRACTS[network].algorand; const client = getClient(network, rpc); const wallet: Account = mnemonicToSecretKey(key); const CORE_ID = BigInt(parseInt(contracts.coreBridge(network, "Algorand"))); @@ -208,15 +197,3 @@ function getClient(network: Network, rpc: string) { ); return client; } - -export function uint8ArrayToNativeStringAlgorand(a: Uint8Array): string { - return encodeAddress(a); -} - -export function hexToNativeStringAlgorand(s: string): string { - return uint8ArrayToNativeStringAlgorand(encoding.hex.decode(s)); -} - -export function nativeStringToHexAlgorand(s: string): string { - return encoding.hex.encode(decodeAddress(s).publicKey); -} diff --git a/clients/js/src/aptos.ts b/clients/js/src/aptos.ts index e552e8368a..f7e9dab713 100644 --- a/clients/js/src/aptos.ts +++ b/clients/js/src/aptos.ts @@ -6,10 +6,7 @@ import { NETWORKS } from "./consts"; import { Payload, impossible } from "./vaa"; import { CHAINS, ensureHexPrefix } from "@certusone/wormhole-sdk"; import { TokenBridgeState } from "@certusone/wormhole-sdk/lib/esm/aptos/types"; -import { - generateSignAndSubmitEntryFunction, - tryNativeToUint8Array, -} from "@certusone/wormhole-sdk/lib/esm/utils"; +import { generateSignAndSubmitEntryFunction } from "@certusone/wormhole-sdk/lib/esm/utils"; import { Chain, ChainId, @@ -18,6 +15,7 @@ import { contracts, toChainId, } from "@wormhole-foundation/sdk-base"; +import { tryNativeToUint8Array } from "./sdk/array"; export async function execute_aptos( payload: Payload, @@ -391,7 +389,6 @@ export async function queryRegistrationsAptos( ): Promise { const n = NETWORKS[network]["Aptos"]; const client = new AptosClient(n.rpc); - // const contracts = CONTRACTS[network]["aptos"]; let stateObjectId: string | undefined; switch (module) { diff --git a/clients/js/src/chains/generic/getOriginalAsset.ts b/clients/js/src/chains/generic/getOriginalAsset.ts index ed77b5817c..f1bfee6100 100644 --- a/clients/js/src/chains/generic/getOriginalAsset.ts +++ b/clients/js/src/chains/generic/getOriginalAsset.ts @@ -17,7 +17,6 @@ import { Chain, ChainId, Network, - chainToChainId, chainToPlatform, contracts, toChain, @@ -34,9 +33,8 @@ import algorand from "@wormhole-foundation/sdk/algorand"; import aptos from "@wormhole-foundation/sdk/aptos"; import cosmwasm from "@wormhole-foundation/sdk/cosmwasm"; import sui from "@wormhole-foundation/sdk/sui"; -// import { WormholeWrappedInfo } from "@certusone/wormhole-sdk"; -export const getOriginalAsset_old = async ( +export const getOriginalAsset = async ( chain: ChainId | Chain, network: Network, assetAddress: string, @@ -92,13 +90,6 @@ export const getOriginalAsset_old = async ( assetAddress, toChainId(chain) ); - // const wh = await wormhole(network, [evm]); - // const asset = Wormhole.tokenId(chainName, assetAddress); - // const tokenId = await wh.getOriginalAsset(asset); - // let wwi: WormholeWrappedInfo = { - // chainId: chainToChainId(chainName), - // tokenId: tokenId, - // }; } case "Terra": case "Terra2": { @@ -156,45 +147,3 @@ export const getOriginalAsset_old = async ( impossible(chainName); } }; - -export const getOriginalAsset_new = async ( - chain: ChainId | Chain, - network: Network, - assetAddress: string -): Promise => { - const chainName = toChain(chain); - const asset = Wormhole.tokenId(chainName, assetAddress); - const platform = chainToPlatform(chainName); - let wh; - wh = await wormhole(network, [solana, evm, algorand, aptos, cosmwasm, sui]); - // switch (platform) { - // case "Solana": { - // wh = await wormhole(network, [solana]); - // } - // case "Evm": { - // wh = await wormhole(network, [evm]); - // } - // case "Algorand": { - // wh = await wormhole(network, [algorand]); - // } - // case "Aptos": { - // wh = await wormhole(network, [aptos]); - // } - // case "Btc": { - // wh = await wormhole(network, [btc]); - // } - // case "Cosmwasm": { - // wh = await wormhole(network, [cosmwasm]); - // } - // case "Near": { - // wh = await wormhole(network, [near]); - // } - // case "Sui": { - // wh = await wormhole(network, [sui]); - // } - // } - // if (wh) { - return wh.getOriginalAsset(asset); - // } - throw new Error(`${platform} not supported`); -}; diff --git a/clients/js/src/chains/generic/getWrappedAssetAddress.ts b/clients/js/src/chains/generic/getWrappedAssetAddress.ts index aa31cac8b4..9d79784d8a 100644 --- a/clients/js/src/chains/generic/getWrappedAssetAddress.ts +++ b/clients/js/src/chains/generic/getWrappedAssetAddress.ts @@ -20,7 +20,7 @@ import { toChain, toChainId, } from "@wormhole-foundation/sdk-base"; -import { tryNativeToUint8Array } from "../../array"; +import { tryNativeToUint8Array } from "../../sdk/array"; export const getWrappedAssetAddress = async ( chain: ChainId | Chain, diff --git a/clients/js/src/chains/generic/provider.ts b/clients/js/src/chains/generic/provider.ts index 137b2cf914..ba4987728d 100644 --- a/clients/js/src/chains/generic/provider.ts +++ b/clients/js/src/chains/generic/provider.ts @@ -53,7 +53,6 @@ export const getProviderForChain = ( network: Network, options?: { rpc?: string; [opt: string]: any } ): ChainProvider => { - // const chainName = toChain(chain); const rpc = options?.rpc ?? NETWORKS[network][chain].rpc; if (!rpc) { throw new Error(`No ${network} rpc defined for ${chain}`); diff --git a/clients/js/src/chains/sei/submit.ts b/clients/js/src/chains/sei/submit.ts index b91130480e..cf99549dc3 100644 --- a/clients/js/src/chains/sei/submit.ts +++ b/clients/js/src/chains/sei/submit.ts @@ -15,7 +15,6 @@ export const submit = async ( network: Network, rpc?: string ) => { - // const contracts = CONTRACTS[network].Sei; const networkInfo = NETWORKS[network].Sei; rpc = rpc || networkInfo.rpc; const key = networkInfo.key; @@ -37,7 +36,6 @@ export const submit = async ( } target_contract = core; - // sigh... execute_msg = { submit_v_a_a: { vaa: vaa.toString("base64"), @@ -61,9 +59,6 @@ export const submit = async ( case "NFTBridge": { const nft = contracts.nftBridge.get(network, "Sei"); if (!nft) { - // NOTE: this code can safely be removed once the sei NFT bridge is - // released, but it's fine for it to stay, as the condition will just be - // skipped once 'contracts.nft_bridge' is defined throw new Error("NFT bridge not supported yet for Sei"); } diff --git a/clients/js/src/chains/sui/submit.ts b/clients/js/src/chains/sui/submit.ts index e879b10473..b9e17d3b84 100644 --- a/clients/js/src/chains/sui/submit.ts +++ b/clients/js/src/chains/sui/submit.ts @@ -11,7 +11,6 @@ import { Payload, impossible } from "../../vaa"; import { assertSuccess, executeTransactionBlock, - getForeignAssetSui, getPackageId, getProvider, getSigner, @@ -28,6 +27,7 @@ import { contracts, deserialize, } from "@wormhole-foundation/sdk"; +import { getForeignAssetSui } from "../../sdk/sui"; export const submit = async ( payload: Payload, diff --git a/clients/js/src/chains/sui/transfer.ts b/clients/js/src/chains/sui/transfer.ts index f9ec80833f..d66615658a 100644 --- a/clients/js/src/chains/sui/transfer.ts +++ b/clients/js/src/chains/sui/transfer.ts @@ -5,13 +5,13 @@ import { getSigner, setMaxGasBudgetDevnet, } from "./utils"; -import { tryNativeToUint8Array } from "@certusone/wormhole-sdk/lib/esm/utils"; import { Chain, Network, chainToChainId, contracts, } from "@wormhole-foundation/sdk-base"; +import { tryNativeToUint8Array } from "../../sdk/array"; export async function transferSui( dstChain: Chain, diff --git a/clients/js/src/chains/sui/utils.ts b/clients/js/src/chains/sui/utils.ts index ca8c96549f..79f533873d 100644 --- a/clients/js/src/chains/sui/utils.ts +++ b/clients/js/src/chains/sui/utils.ts @@ -5,19 +5,18 @@ import { PaginatedObjectsResponse, RawSigner, SUI_CLOCK_OBJECT_ID, - SuiObjectResponse, SuiTransactionBlockResponse, TransactionBlock, fromB64, getPublishedObjectChanges, - isValidSuiAddress as isValidFullSuiAddress, normalizeSuiAddress, } from "@mysten/sui.js"; import { DynamicFieldPage } from "@mysten/sui.js/dist/types/dynamic_fields"; import { NETWORKS } from "../../consts"; import { Payload, VAA, parse, serialiseVAA } from "../../vaa"; import { SuiRpcValidationError } from "./error"; -import { Chain, Network, chainToChainId } from "@wormhole-foundation/sdk"; +import { Network } from "@wormhole-foundation/sdk"; +import { isValidSuiAddress } from "../../sdk/sui"; const UPGRADE_CAP_TYPE = "0x2::package::UpgradeCap"; @@ -422,126 +421,3 @@ export const setMaxGasBudgetDevnet = ( tx.setGasBudget(10000000000); } }; - -export async function getForeignAssetSui( - provider: JsonRpcProvider, - tokenBridgeStateObjectId: string, - originChain: Chain, - originAddress: Uint8Array -): Promise { - const originChainId = chainToChainId(originChain); - return getTokenCoinType( - provider, - tokenBridgeStateObjectId, - originAddress, - originChainId - ); -} - -export const getTokenCoinType = async ( - provider: JsonRpcProvider, - tokenBridgeStateObjectId: string, - tokenAddress: Uint8Array, - tokenChain: number -): Promise => { - const tokenBridgeStateFields = await getObjectFields( - provider, - tokenBridgeStateObjectId - ); - if (!tokenBridgeStateFields) { - throw new Error("Unable to fetch object fields from token bridge state"); - } - - const coinTypes = tokenBridgeStateFields?.token_registry?.fields?.coin_types; - const coinTypesObjectId = coinTypes?.fields?.id?.id; - if (!coinTypesObjectId) { - throw new Error("Unable to fetch coin types"); - } - - const keyType = getTableKeyType(coinTypes?.type); - if (!keyType) { - throw new Error("Unable to get key type"); - } - - const response = await provider.getDynamicFieldObject({ - parentId: coinTypesObjectId, - name: { - type: keyType, - value: { - addr: [...tokenAddress], - chain: tokenChain, - }, - }, - }); - if (response.error) { - if (response.error.code === "dynamicFieldNotFound") { - return null; - } - throw new Error( - `Unexpected getDynamicFieldObject response ${response.error}` - ); - } - const fields = getFieldsFromObjectResponse(response); - return fields?.value ? trimSuiType(ensureHexPrefix(fields.value)) : null; -}; - -export const getObjectFields = async ( - provider: JsonRpcProvider, - objectId: string -): Promise | null> => { - if (!isValidSuiAddress(objectId)) { - throw new Error(`Invalid object ID: ${objectId}`); - } - - const res = await provider.getObject({ - id: objectId, - options: { - showContent: true, - }, - }); - return getFieldsFromObjectResponse(res); -}; - -export const getFieldsFromObjectResponse = (object: SuiObjectResponse) => { - const content = object.data?.content; - return content && content.dataType === "moveObject" ? content.fields : null; -}; - -export function ensureHexPrefix(x: string): string { - return x.substring(0, 2) !== "0x" ? `0x${x}` : x; -} - -/** - * This method validates any Sui address, even if it's not 32 bytes long, i.e. - * "0x2". This differs from Mysten's implementation, which requires that the - * given address is 32 bytes long. - * @param address Address to check - * @returns If given address is a valid Sui address or not - */ -export const isValidSuiAddress = (address: string): boolean => - isValidFullSuiAddress(normalizeSuiAddress(address)); - -export const getTableKeyType = (tableType: string): string | null => { - if (!tableType) return null; - const match = trimSuiType(tableType).match(/0x2::table::Table<(.*)>/); - if (!match) return null; - const [keyType] = match[1].split(","); - if (!isValidSuiType(keyType)) return null; - return keyType; -}; - -/** - * This method removes leading zeroes for types in order to normalize them - * since some types returned from the RPC have leading zeroes and others don't. - */ -export const trimSuiType = (type: string): string => - type.replace(/(0x)(0*)/g, "0x"); - -export const isValidSuiType = (type: string): boolean => { - const tokens = type.split("::"); - if (tokens.length !== 3) { - return false; - } - - return isValidSuiAddress(tokens[0]) && !!tokens[1] && !!tokens[2]; -}; diff --git a/clients/js/src/cmds/aptos.ts b/clients/js/src/cmds/aptos.ts index d8e3ef0c77..b1d326ff5a 100644 --- a/clients/js/src/cmds/aptos.ts +++ b/clients/js/src/cmds/aptos.ts @@ -1,4 +1,3 @@ -import { APTOS_DEPLOYER_ADDRESS_DEVNET } from "@certusone/wormhole-sdk"; import { BCS, FaucetClient } from "aptos"; import { spawnSync } from "child_process"; import fs from "fs"; @@ -33,6 +32,9 @@ const APTOS_FAUCET_URL = "http://0.0.0.0:8081"; const README_URL = "https://github.com/wormhole-foundation/wormhole/blob/main/aptos/README.md"; +export const APTOS_DEPLOYER_ADDRESS_DEVNET = + "277fa055b6a73c42c0662d5236c65c864ccbf2d4abd21f174a30c8b786eab84b"; + interface Package { meta_file: string; mv_files: string[]; @@ -194,9 +196,7 @@ export const builder = (y: typeof yargs) => const b = serializePackage(p); const seed = Buffer.from(argv["seed"], "ascii"); - // TODO(csongor): use deployer address from sdk (when it's there) - let module_name = - "0x277fa055b6a73c42c0662d5236c65c864ccbf2d4abd21f174a30c8b786eab84b::deployer"; + let module_name = APTOS_DEPLOYER_ADDRESS_DEVNET + "::deployer"; if (network == "Testnet" || network == "Mainnet") { module_name = "0x0108bc32f7de18a5f6e1e7d6ee7aff9f5fc858d0d87ac0da94dd8d2a5d267d6b::deployer"; @@ -227,9 +227,7 @@ export const builder = (y: typeof yargs) => async (argv) => { const network = getNetwork(argv.network); const rpc = NETWORKS[network].Aptos.rpc; - // TODO(csongor): use sdk address - let module_name = - "0x277fa055b6a73c42c0662d5236c65c864ccbf2d4abd21f174a30c8b786eab84b::sender"; + let module_name = APTOS_DEPLOYER_ADDRESS_DEVNET + "::sender"; if (network == "Testnet" || network == "Mainnet") { module_name = "0x0108bc32f7de18a5f6e1e7d6ee7aff9f5fc858d0d87ac0da94dd8d2a5d267d6b::sender"; diff --git a/clients/js/src/cmds/evm.ts b/clients/js/src/cmds/evm.ts index 66798ec8d5..dbc5e2cc27 100644 --- a/clients/js/src/cmds/evm.ts +++ b/clients/js/src/cmds/evm.ts @@ -9,7 +9,12 @@ import { setStorageAt, } from "../evm"; import { runCommand, VALIDATOR_OPTIONS } from "../startValidator"; -import { assertEVMChain, evm_address, getNetwork } from "../utils"; +import { + assertEVMChain, + chainToChain, + evm_address, + getNetwork, +} from "../utils"; import { assertChain, chains, @@ -88,7 +93,7 @@ export const builder = function (y: typeof yargs) { .option("chain", { alias: "c", describe: "Chain to query", - choices: chains, + type: "string", demandOption: true, } as const) .option("module", { @@ -112,8 +117,7 @@ export const builder = function (y: typeof yargs) { demandOption: false, }), async (argv) => { - const chain = argv.chain; - assertChain(chain); + const chain = chainToChain(argv.chain); assertEVMChain(chain); const network = getNetwork(argv.network); const module = argv.module; @@ -171,7 +175,6 @@ export const builder = function (y: typeof yargs) { }), async (argv) => { const guardian_addresses = argv["guardian-address"].split(","); - // let rpc = argv.rpc ?? NETWORKS.DEVNET.ethereum.rpc; let rpc = argv.rpc ?? NETWORKS.Devnet.Ethereum.rpc; await hijack_evm( rpc, diff --git a/clients/js/src/cmds/generate.ts b/clients/js/src/cmds/generate.ts index e7e9a6eacd..2c35d66274 100644 --- a/clients/js/src/cmds/generate.ts +++ b/clients/js/src/cmds/generate.ts @@ -65,7 +65,7 @@ export const builder = function (y: typeof yargs) { .option("chain", { alias: "c", describe: "Chain to register", - choices: chains, + type: "string", demandOption: true, } as const) .option("contract-address", { @@ -108,7 +108,7 @@ export const builder = function (y: typeof yargs) { .option("chain", { alias: "c", describe: "Chain to upgrade", - choices: chains, + type: "string", demandOption: true, } as const) .option("contract-address", { @@ -149,7 +149,7 @@ export const builder = function (y: typeof yargs) { .option("emitter-chain", { alias: "e", describe: "Emitter chain of the VAA", - choices: chains, + type: "string", demandOption: true, } as const) .option("emitter-address", { @@ -161,7 +161,7 @@ export const builder = function (y: typeof yargs) { .option("chain", { alias: "c", describe: "Token's chain", - choices: chains, + type: "string", demandOption: true, } as const) .option("token-address", { @@ -189,9 +189,8 @@ export const builder = function (y: typeof yargs) { demandOption: true, }), (argv) => { - const emitter_chain = argv["emitter-chain"]; + const emitter_chain = chainToChain(argv["emitter-chain"]); const chain = chainToChain(argv.chain); - const emitterChain = chainToChain(emitter_chain); const payload: TokenBridgeAttestMeta = { module: "TokenBridge", type: "AttestMeta", @@ -203,8 +202,8 @@ export const builder = function (y: typeof yargs) { name: argv["name"], }; const vaa = makeVAA( - toChainId(emitterChain), - parseAddress(emitterChain, argv["emitter-address"]), + toChainId(emitter_chain), + parseAddress(emitter_chain, argv["emitter-address"]), argv["guardian-secret"].split(","), payload ); @@ -260,7 +259,7 @@ export const builder = function (y: typeof yargs) { .option("chain", { alias: "c", describe: "Chain of Wormhole Relayer contract", - choices: chains, + type: "string", demandOption: true, } as const) .option("delivery-provider-address", { diff --git a/clients/js/src/cmds/info/contract.ts b/clients/js/src/cmds/info/contract.ts index f68c8095bf..3a32069b80 100644 --- a/clients/js/src/cmds/info/contract.ts +++ b/clients/js/src/cmds/info/contract.ts @@ -1,7 +1,7 @@ import yargs from "yargs"; import { impossible } from "../../vaa"; -import { assertChain, chains, contracts } from "@wormhole-foundation/sdk-base"; -import { getNetwork } from "../../utils"; +import { contracts } from "@wormhole-foundation/sdk-base"; +import { chainToChain, getNetwork } from "../../utils"; export const command = "contract "; export const desc = "Print contract address"; @@ -14,7 +14,7 @@ export const builder = (y: typeof yargs) => } as const) .positional("chain", { describe: "Chain to query", - choices: chains, + type: "string", demandOption: true, } as const) .positional("module", { @@ -26,8 +26,7 @@ export const handler = async ( argv: Awaited["argv"]> ) => { const network = getNetwork(argv.network); - const chain = argv.chain; - assertChain(chain); + const chain = chainToChain(argv.chain); const module = argv["module"]; let addr: string | undefined; diff --git a/clients/js/src/cmds/info/origin.ts b/clients/js/src/cmds/info/origin.ts index 1042d3593e..e2ed9fbd8e 100644 --- a/clients/js/src/cmds/info/origin.ts +++ b/clients/js/src/cmds/info/origin.ts @@ -1,9 +1,8 @@ -// import { tryUint8ArrayToNative } from "@certusone/wormhole-sdk/lib/esm/utils"; import yargs from "yargs"; -import { getOriginalAsset_old } from "../../chains/generic"; +import { getOriginalAsset } from "../../chains/generic"; import { CHAIN_ID_OR_NAME_CHOICES, RPC_OPTIONS } from "../../consts"; import { getNetwork } from "../../utils"; -import { tryUint8ArrayToNative } from "../../array"; +import { tryUint8ArrayToNative } from "../../sdk/array"; import { toChain } from "@wormhole-foundation/sdk-base"; export const command = "origin
"; @@ -35,7 +34,7 @@ export const handler = async ( console.warn = () => {}; const network = getNetwork(argv.network); - const res = await getOriginalAsset_old(argv.chain, network, argv.address); + const res = await getOriginalAsset(argv.chain, network, argv.address); console.log({ ...res, assetAddress: tryUint8ArrayToNative(res.assetAddress, toChain(res.chainId)), diff --git a/clients/js/src/cmds/info/registrations.ts b/clients/js/src/cmds/info/registrations.ts index 30909f450c..b35b696281 100644 --- a/clients/js/src/cmds/info/registrations.ts +++ b/clients/js/src/cmds/info/registrations.ts @@ -26,7 +26,7 @@ export const builder = (y: typeof yargs) => { } as const) .positional("chain", { describe: "Chain to query", - choices: chains, + type: "string", demandOption: true, } as const) .positional("module", { diff --git a/clients/js/src/cmds/info/rpc.ts b/clients/js/src/cmds/info/rpc.ts index 78498eab20..feabb7c601 100644 --- a/clients/js/src/cmds/info/rpc.ts +++ b/clients/js/src/cmds/info/rpc.ts @@ -1,7 +1,6 @@ import yargs from "yargs"; import { NETWORKS } from "../../consts"; -import { assertChain, chains } from "@wormhole-foundation/sdk-base"; -import { getNetwork } from "../../utils"; +import { chainToChain, getNetwork } from "../../utils"; export const command = "rpc "; export const desc = "Print RPC address"; @@ -14,13 +13,12 @@ export const builder = (y: typeof yargs) => } as const) .positional("chain", { describe: "Chain to query", - choices: chains, + type: "string", demandOption: true, } as const); export const handler = async ( argv: Awaited["argv"]> ) => { - assertChain(argv.chain); const network = getNetwork(argv.network); - console.log(NETWORKS[network][argv.chain].rpc); + console.log(NETWORKS[network][chainToChain(argv.chain)].rpc); }; diff --git a/clients/js/src/cmds/info/wrapped.ts b/clients/js/src/cmds/info/wrapped.ts index 8308d972a9..a496ab385c 100644 --- a/clients/js/src/cmds/info/wrapped.ts +++ b/clients/js/src/cmds/info/wrapped.ts @@ -1,8 +1,8 @@ import { assertChain } from "@certusone/wormhole-sdk/lib/esm/utils/consts"; import yargs from "yargs"; import { getWrappedAssetAddress } from "../../chains/generic/getWrappedAssetAddress"; -import { CHAIN_ID_OR_NAME_CHOICES, RPC_OPTIONS } from "../../consts"; -import { getNetwork } from "../../utils"; +import { RPC_OPTIONS } from "../../consts"; +import { chainToChain, getNetwork } from "../../utils"; export const command = "wrapped "; export const desc = @@ -11,7 +11,7 @@ export const builder = (y: typeof yargs) => y .positional("origin-chain", { describe: "Chain that wrapped asset came from", - choices: CHAIN_ID_OR_NAME_CHOICES, + type: "string", demandOption: true, } as const) .positional("origin-address", { @@ -21,7 +21,7 @@ export const builder = (y: typeof yargs) => }) .positional("target-chain", { describe: "Chain to query for wrapped asset address", - choices: CHAIN_ID_OR_NAME_CHOICES, + type: "string", demandOption: true, } as const) .option("network", { @@ -42,9 +42,9 @@ export const handler = async ( const consoleWarnTemp = console.warn; console.warn = () => {}; - const originChain = argv["origin-chain"]; + const originChain = chainToChain(argv["origin-chain"]); const originAddress = argv["origin-address"]; - const targetChain = argv["target-chain"]; + const targetChain = chainToChain(argv["target-chain"]); const network = getNetwork(argv.network); assertChain(originChain); diff --git a/clients/js/src/cmds/status.ts b/clients/js/src/cmds/status.ts index 7c5ba96087..45549cabb7 100644 --- a/clients/js/src/cmds/status.ts +++ b/clients/js/src/cmds/status.ts @@ -1,57 +1,59 @@ -import { relayer } from "@certusone/wormhole-sdk"; import yargs from "yargs"; import { ethers } from "ethers"; -import { CHAIN_NAME_CHOICES, NETWORKS } from "../consts"; -import { getNetwork } from "../utils"; +import { NETWORKS } from "../consts"; +import { chainToChain, getNetwork } from "../utils"; import { Chain, assertChain, contracts } from "@wormhole-foundation/sdk-base"; +import { relayer } from "@certusone/wormhole-sdk"; export const command = "status "; export const desc = "Prints information about the automatic delivery initiated on the specified network, chain, and tx"; -// export const builder = (y: typeof yargs) => -// y -// .positional("network", { -// describe: "Network", -// choices: ["mainnet", "testnet", "devnet"], -// demandOption: true, -// } as const) -// .positional("chain", { -// describe: "Source chain", -// choices: CHAIN_NAME_CHOICES, -// demandOption: true, -// } as const) -// .positional("tx", { -// describe: "Source transaction hash", -// type: "string", -// demandOption: true, -// } as const); -// export const handler = async ( -// argv: Awaited["argv"]> -// ) => { -// const network = getNetwork(argv.network); -// const chain = argv.chain; -// assertChain(chain); +export const builder = (y: typeof yargs) => + y + .positional("network", { + describe: "Network", + choices: ["mainnet", "testnet", "devnet"], + demandOption: true, + } as const) + .positional("chain", { + describe: "Source chain", + type: "string", + demandOption: true, + } as const) + .positional("tx", { + describe: "Source transaction hash", + type: "string", + demandOption: true, + } as const); +export const handler = async ( + argv: Awaited["argv"]> +) => { + const network = getNetwork(argv.network); + const chain = chainToChain(argv.chain); + assertChain(chain); -// const addr = contracts.relayer.get(network, chain); -// if (!addr) { -// throw new Error(`Wormhole Relayer not deployed on ${chain} in ${network}`); -// } + const addr = contracts.relayer.get(network, chain); + if (!addr) { + throw new Error(`Wormhole Relayer not deployed on ${chain} in ${network}`); + } -// const sourceRPC = NETWORKS[network][chain].rpc; -// const sourceChainProvider = new ethers.providers.JsonRpcProvider(sourceRPC); -// const targetChainProviders = new Map(); -// for (const key in NETWORKS[network]) { -// targetChainProviders.set( -// key as Chain, -// new ethers.providers.JsonRpcProvider(NETWORKS[network][key as Chain].rpc) -// ); -// } + const sourceRPC = NETWORKS[network][chain].rpc; + const sourceChainProvider = new ethers.providers.JsonRpcProvider(sourceRPC); + const targetChainProviders = new Map(); + for (const key in NETWORKS[network]) { + targetChainProviders.set( + key as Chain, + new ethers.providers.JsonRpcProvider(NETWORKS[network][key as Chain].rpc) + ); + } -// const info = await relayer.getWormholeRelayerInfo(chain, argv.tx, { -// environment: network, -// sourceChainProvider, -// targetChainProviders, -// }); + // TODO: Convert this over to sdkv2 + // const info = await relayer.getWormholeRelayerInfo(chain, argv.tx, { + // environment: network, + // sourceChainProvider, + // targetChainProviders, + // }); + // console.log(relayer.stringifyWormholeRelayerInfo(info)); -// console.log(relayer.stringifyWormholeRelayerInfo(info)); -// }; + console.log("Not implemented"); +}; diff --git a/clients/js/src/cmds/submit.ts b/clients/js/src/cmds/submit.ts index de526bc410..2c19ba8b71 100644 --- a/clients/js/src/cmds/submit.ts +++ b/clients/js/src/cmds/submit.ts @@ -3,7 +3,7 @@ import { execute_algorand } from "../algorand"; import { execute_aptos } from "../aptos"; import { submit as submitSei } from "../chains/sei"; import { submit as submitSui } from "../chains/sui"; -import { CHAIN_NAME_CHOICES, NETWORK_OPTIONS } from "../consts"; +import { NETWORK_OPTIONS } from "../consts"; import { execute_evm } from "../evm"; import { execute_injective } from "../injective"; import { execute_near } from "../near"; @@ -12,18 +12,18 @@ import { execute_terra } from "../terra"; import { assertKnownPayload, impossible, parse, Payload, VAA } from "../vaa"; import { execute_xpla } from "../xpla"; import { NETWORKS } from "../consts"; -import { getNetwork } from "../utils"; +import { chainToChain, getNetwork } from "../utils"; import { Chain, Network, PlatformToChains, assertChain, assertChainId, + chainIdToChain, chainToPlatform, chains, contracts, toChain, - toChainId, } from "@wormhole-foundation/sdk"; export const command = "submit "; @@ -38,7 +38,7 @@ export const builder = (y: typeof yargs) => .option("chain", { alias: "c", describe: "chain name", - choices: CHAIN_NAME_CHOICES, + type: "string", demandOption: false, } as const) .option("network", NETWORK_OPTIONS) @@ -102,22 +102,34 @@ export const handler = async ( // get VAA chain const vaa_chain_id = "chain" in parsed_vaa.payload ? parsed_vaa.payload.chain : 0; - assertChainId(vaa_chain_id); - const vaa_chain = toChain(vaa_chain_id); + + // if vaa_chain_id is 0, it means the chain is not specified in the VAA. + // We don't have a notion of an unsupported chain, so we don't want to just assert. + let vaa_chain; + if (vaa_chain_id !== 0) { + assertChainId(vaa_chain_id); + vaa_chain = chainIdToChain(vaa_chain_id); + } // get chain from command line arg - const cli_chain = argv.chain; + const cli_chain = argv.chain ? chainToChain(argv.chain) : argv.chain; let chain: Chain; if (cli_chain !== undefined) { assertChain(cli_chain); - if (cli_chain !== vaa_chain) { + if (vaa_chain && cli_chain !== vaa_chain) { throw Error( `Specified target chain (${cli_chain}) does not match VAA target chain (${vaa_chain})` ); } chain = toChain(cli_chain); } else { + if (!vaa_chain) { + throw Error( + `VAA does not specify a target chain and one was not provided, please specify one with --chain or -c` + ); + } + assertChain(vaa_chain); chain = vaa_chain; } diff --git a/clients/js/src/cmds/transfer.ts b/clients/js/src/cmds/transfer.ts index 4aa174b5ba..c37fdce18c 100644 --- a/clients/js/src/cmds/transfer.ts +++ b/clients/js/src/cmds/transfer.ts @@ -1,10 +1,4 @@ -import { - isCosmWasmChain, - isEVMChain, - isTerraChain, -} from "@certusone/wormhole-sdk/lib/esm/utils/consts"; import yargs from "yargs"; -import { impossible } from "../vaa"; import { transferEVM } from "../evm"; import { CHAIN_NAME_CHOICES, NETWORK_OPTIONS, NETWORKS } from "../consts"; import { transferTerra } from "../terra"; @@ -18,11 +12,10 @@ import { transferAptos } from "../aptos"; import { Chain, PlatformToChains, - chain, chainToPlatform, toChain, } from "@wormhole-foundation/sdk-base"; -import { getNetwork } from "../utils"; +import { chainToChain, getNetwork } from "../utils"; export const command = "transfer"; export const desc = "Transfer a token"; @@ -30,12 +23,12 @@ export const builder = (y: typeof yargs) => y .option("src-chain", { describe: "source chain", - choices: CHAIN_NAME_CHOICES, + type: "string", demandOption: true, }) .option("dst-chain", { describe: "destination chain", - choices: CHAIN_NAME_CHOICES, + type: "string", demandOption: true, }) .option("dst-addr", { @@ -65,8 +58,8 @@ export const builder = (y: typeof yargs) => export const handler = async ( argv: Awaited["argv"]> ) => { - const srcChain: Chain = argv["src-chain"]; - const dstChain: Chain = argv["dst-chain"]; + const srcChain: Chain = chainToChain(argv["src-chain"]); + const dstChain: Chain = chainToChain(argv["dst-chain"]); // TODO: support transfers to sei if (dstChain === "Sei") { throw new Error("transfer to sei currently unsupported"); @@ -88,7 +81,6 @@ export const handler = async ( if (!rpc) { throw new Error(`No ${network} rpc defined for ${srcChain}`); } - // if (isEVMChain(srcChain)) { if (chainToPlatform(srcChain) === "Evm") { await transferEVM( srcChain as PlatformToChains<"Evm">, diff --git a/clients/js/src/consts/contracts.ts b/clients/js/src/consts/contracts.ts index 1208d81419..831b09d47c 100644 --- a/clients/js/src/consts/contracts.ts +++ b/clients/js/src/consts/contracts.ts @@ -1,61 +1,5 @@ -// import { -// CHAIN_ID_SOLANA, -// CONTRACTS as SDK_CONTRACTS, -// } from "@certusone/wormhole-sdk/lib/esm/utils/consts"; - import { chainToChainId } from "@wormhole-foundation/sdk-base"; -// const OVERRIDES = { -// MAINNET: { -// sui: { -// core: "0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c", -// token_bridge: -// "0xc57508ee0d4595e5a8728974a4a93a787d38f339757230d441e895422c07aba9", -// }, -// aptos: { -// token_bridge: -// "0x576410486a2da45eee6c949c995670112ddf2fbeedab20350d506328eefc9d4f", -// core: "0x5bc11445584a763c1fa7ed39081f1b920954da14e04b32440cba863d03e19625", -// nft_bridge: -// "0x1bdffae984043833ed7fe223f7af7a3f8902d04129b14f801823e64827da7130", -// }, -// }, -// TESTNET: { -// sui: { -// core: "0x31358d198147da50db32eda2562951d53973a0c0ad5ed738e9b17d88b213d790", -// token_bridge: -// "0x6fb10cdb7aa299e9a4308752dadecb049ff55a892de92992a1edbd7912b3d6da", -// }, -// aptos: { -// token_bridge: -// "0x576410486a2da45eee6c949c995670112ddf2fbeedab20350d506328eefc9d4f", -// core: "0x5bc11445584a763c1fa7ed39081f1b920954da14e04b32440cba863d03e19625", -// nft_bridge: undefined, -// }, -// }, -// DEVNET: { -// sui: { -// core: "0x12253210c90f89e7a8525e6c52d41309ff5bfb31f43f561b5fe6f50cd72f9668", // wormhole module State object ID -// token_bridge: -// "0x830ed228c6f1bcb40003bb49af3277df2cbf933d63a6bcdcb0ba4580a1a7654e", // token_bridge module State object ID -// }, -// aptos: { -// token_bridge: -// "0x84a5f374d29fc77e370014dce4fd6a55b58ad608de8074b0be5571701724da31", -// core: "0xde0036a9600559e295d5f6802ef6f3f802f510366e0c23912b0655d972166017", -// nft_bridge: -// "0x46da3d4c569388af61f951bdd1153f4c875f90c2991f6b2d0a38e2161a40852c", -// }, -// }, -// }; - -// // TODO(aki): move this to SDK at some point -// export const CONTRACTS = { -// MAINNET: { ...SDK_CONTRACTS.MAINNET, ...OVERRIDES.MAINNET }, -// TESTNET: { ...SDK_CONTRACTS.TESTNET, ...OVERRIDES.TESTNET }, -// DEVNET: { ...SDK_CONTRACTS.DEVNET, ...OVERRIDES.DEVNET }, -// }; - export const GOVERNANCE_CHAIN = chainToChainId("Solana"); export const GOVERNANCE_EMITTER = "0000000000000000000000000000000000000000000000000000000000000004"; diff --git a/clients/js/src/evm.ts b/clients/js/src/evm.ts index 7ea4f27ad1..1cad5488bf 100644 --- a/clients/js/src/evm.ts +++ b/clients/js/src/evm.ts @@ -16,7 +16,6 @@ import { transferFromEth, transferFromEthNative, } from "@certusone/wormhole-sdk/lib/esm/token_bridge/transfer"; -import { tryNativeToUint8Array } from "@certusone/wormhole-sdk/lib/esm/utils"; import { Chain, Network, @@ -25,6 +24,7 @@ import { chains, contracts, } from "@wormhole-foundation/sdk-base"; +import { tryNativeToUint8Array } from "./sdk/array"; const _IMPLEMENTATION_SLOT = "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"; diff --git a/clients/js/src/injective.ts b/clients/js/src/injective.ts index 1dd7c21a9a..9b71966fd8 100644 --- a/clients/js/src/injective.ts +++ b/clients/js/src/injective.ts @@ -16,7 +16,6 @@ import { fromUint8Array } from "js-base64"; import { NETWORKS } from "./consts"; import { impossible, Payload } from "./vaa"; import { transferFromInjective } from "@certusone/wormhole-sdk/lib/esm/token_bridge/injective"; -import { tryNativeToUint8Array } from "@certusone/wormhole-sdk/lib/esm/utils"; import { Chain, chainToChainId, @@ -24,6 +23,7 @@ import { Network, } from "@wormhole-foundation/sdk-base"; import { chains } from "@wormhole-foundation/sdk"; +import { tryNativeToUint8Array } from "./sdk/array"; export async function execute_injective( payload: Payload, diff --git a/clients/js/src/near.ts b/clients/js/src/near.ts index cbaa953638..3bdc584856 100644 --- a/clients/js/src/near.ts +++ b/clients/js/src/near.ts @@ -1,21 +1,19 @@ import BN from "bn.js"; import { Account, connect, KeyPair } from "near-api-js"; import { InMemoryKeyStore } from "near-api-js/lib/key_stores"; -import { Provider } from "near-api-js/lib/providers"; -import { CodeResult } from "near-api-js/lib/providers/provider"; import { NETWORKS } from "./consts"; import { impossible, Payload } from "./vaa"; import { transferNearFromNear, transferTokenFromNear, } from "@certusone/wormhole-sdk/lib/esm/token_bridge/transfer"; -import { tryNativeToUint8Array } from "@certusone/wormhole-sdk/lib/esm/utils"; import { Chain, chainToChainId, contracts, Network, } from "@wormhole-foundation/sdk-base"; +import { tryNativeToUint8Array } from "./sdk/array"; export function keyPairToImplicitAccount(keyPair: KeyPair): string { return Buffer.from(keyPair.getPublicKey().data).toString("hex"); @@ -222,40 +220,3 @@ export async function transferNear( } } } - -export async function hashLookup( - provider: Provider, - tokenBridge: string, - hash: string -): Promise<{ found: boolean; value: string }> { - const [found, value] = await callFunctionNear( - provider, - tokenBridge, - "hash_lookup", - { - hash, - } - ); - return { - found, - value, - }; -} - -export async function callFunctionNear( - provider: Provider, - accountId: string, - methodName: string, - args?: any -) { - const response = await provider.query({ - request_type: "call_function", - account_id: accountId, - method_name: methodName, - args_base64: args - ? Buffer.from(JSON.stringify(args)).toString("base64") - : "", - finality: "final", - }); - return JSON.parse(Buffer.from(response.result).toString()); -} diff --git a/clients/js/src/array.ts b/clients/js/src/sdk/array.ts similarity index 67% rename from clients/js/src/array.ts rename to clients/js/src/sdk/array.ts index a90e64895e..82c9c50e5d 100644 --- a/clients/js/src/array.ts +++ b/clients/js/src/sdk/array.ts @@ -7,22 +7,7 @@ import { sha256, stripZeros, } from "ethers/lib/utils"; -// import { Provider as NearProvider } from "near-api-js/lib/providers"; -// import { ethers } from "ethers"; -import { - nativeStringToHexAlgorand, - // hexToNativeAssetStringAlgorand, - // nativeStringToHexAlgorand, - uint8ArrayToNativeStringAlgorand, -} from "./algorand"; import { bech32 } from "bech32"; -// import { canonicalAddress, humanAddress } from "./cosmos"; -// import { buildTokenId } from "./cosmwasm/address"; -// import { isNativeDenom } from "./terra"; -// import { hashLookup } from "./near"; -// import { getExternalAddressFromType, isValidAptosType } from "./aptos"; -// import { isValidSuiAddress } from "@mysten/sui.js"; -// import { isValidSuiType } from "./sui"; import { Chain, ChainId, @@ -34,31 +19,33 @@ import { import { PlatformToChains, UniversalAddress, - // canonicalAddress, encoding, - platformToChains, } from "@wormhole-foundation/sdk"; import { isValidSuiAddress } from "@mysten/sui.js"; -import { isValidSuiType } from "./chains/sui"; import { sha3_256 } from "js-sha3"; +import { + nativeStringToHexAlgorand, + uint8ArrayToNativeStringAlgorand, +} from "@certusone/wormhole-sdk/lib/esm/algorand"; +import { isValidSuiType } from "@certusone/wormhole-sdk/lib/esm/sui"; -// /** -// * -// * Returns true iff the hex string represents a native Terra denom. -// * -// * Native assets on terra don't have an associated smart contract address, just -// * like eth isn't an ERC-20 contract on Ethereum. -// * -// * The difference is that the EVM implementations of Portal don't support eth -// * directly, and instead require swapping to an ERC-20 wrapped eth (WETH) -// * contract first. -// * -// * The Terra implementation instead supports Terra-native denoms without -// * wrapping to CW-20 token first. As these denoms don't have an address, they -// * are encoded in the Portal payloads by the setting the first byte to 1. This -// * encoding is safe, because the first 12 bytes of the 32-byte wormhole address -// * space are not used on Terra otherwise, as cosmos addresses are 20 bytes wide. -// */ +/** + * + * Returns true iff the hex string represents a native Terra denom. + * + * Native assets on terra don't have an associated smart contract address, just + * like eth isn't an ERC-20 contract on Ethereum. + * + * The difference is that the EVM implementations of Portal don't support eth + * directly, and instead require swapping to an ERC-20 wrapped eth (WETH) + * contract first. + * + * The Terra implementation instead supports Terra-native denoms without + * wrapping to CW-20 token first. As these denoms don't have an address, they + * are encoded in the Portal payloads by the setting the first byte to 1. This + * encoding is safe, because the first 12 bytes of the 32-byte wormhole address + * space are not used on Terra otherwise, as cosmos addresses are 20 bytes wide. + */ export const isHexNativeTerra = (h: string): boolean => h.startsWith("01"); const isLikely20ByteCosmwasm = (h: string): boolean => @@ -97,20 +84,6 @@ export function buildTokenId( ); } -// export function buildTokenId_old( -// chain: Exclude< -// CosmWasmChainId | CosmWasmChainName, -// typeof CHAIN_ID_TERRA | "terra" -// >, -// address: string -// ) { -// const chainId: CosmWasmChainId = coalesceCosmWasmChainId(chain); -// return ( -// (isNativeCosmWasmDenom(chainId, address) ? "01" : "00") + -// keccak256(Buffer.from(address, "utf-8")).substring(4) -// ); -// } - /** * * Convert an address in a wormhole's 32-byte array representation into a chain's @@ -192,18 +165,6 @@ export const tryUint8ArrayToNative = ( } }; -// export const tryHexToNativeStringNear = async ( -// provider: NearProvider, -// tokenBridge: string, -// address: string -// ): Promise => { -// const { found, value } = await hashLookup(provider, tokenBridge, address); -// if (!found) { -// throw new Error("Address not found"); -// } -// return value; -// }; - /** * * Convert an address in a wormhole's 32-byte hex representation into a chain's native @@ -217,59 +178,6 @@ export const tryHexToNativeAssetString = (h: string, c: ChainId): string => new UniversalAddress(h).toNative("Algorand").toBigInt().toString() : new UniversalAddress(h).toNative(toChain(c)).toString(); -// /** -// * -// * Convert an address in a wormhole's 32-byte hex representation into a chain's native -// * string representation. -// * -// * @deprecated since 0.3.0, use [[tryHexToNativeString]] instead. -// */ -// export const hexToNativeAssetString = ( -// h: string | undefined, -// c: ChainId -// ): string | undefined => { -// if (!h) { -// return undefined; -// } -// try { -// return tryHexToNativeAssetString(h, c); -// } catch (e) { -// return undefined; -// } -// }; - -// /** -// * -// * Convert an address in a wormhole's 32-byte hex representation into a chain's native -// * string representation. -// * -// * @throws if address is not the right length for the given chain -// */ -// export const tryHexToNativeString = (h: string, c: ChainId | Chain): string => -// tryUint8ArrayToNative(hexToUint8Array(h), c); - -// /** -// * -// * Convert an address in a wormhole's 32-byte hex representation into a chain's native -// * string representation. -// * -// * @deprecated since 0.3.0, use [[tryHexToNativeString]] instead. -// */ -// export const hexToNativeString = ( -// h: string | undefined, -// c: ChainId | Chain -// ): string | undefined => { -// if (!h) { -// return undefined; -// } - -// try { -// return tryHexToNativeString(h, c); -// } catch (e) { -// return undefined; -// } -// }; - /** * * Convert an address in a chain's native representation into a 32-byte hex string @@ -331,24 +239,6 @@ export const tryNativeToHexString = ( } }; -// /** -// * -// * Convert an address in a chain's native representation into a 32-byte hex string -// * understood by wormhole. -// * -// * @deprecated since 0.3.0, use [[tryNativeToHexString]] instead. -// * @throws if address is a malformed string for the given chain id -// */ -// export const nativeToHexString = ( -// address: string | undefined, -// chain: ChainId | Chain -// ): string | null => { -// if (!address) { -// return null; -// } -// return tryNativeToHexString(address, chain); -// }; - /** * * Convert an address in a chain's native representation into a 32-byte array @@ -364,43 +254,6 @@ export function tryNativeToUint8Array( return hexToUint8Array(tryNativeToHexString(address, chainId)); } -// /** -// * -// * Convert an address in a chain's native representation into a 32-byte hex string -// * understood by wormhole. -// * -// * @deprecated since 0.3.0, use [[tryUint8ArrayToNative]] instead. -// * @throws if address is a malformed string for the given chain id -// */ -// export const uint8ArrayToNative = (a: Uint8Array, chainId: ChainId) => -// hexToNativeString(uint8ArrayToHex(a), chainId); - -// export function chunks(array: T[], size: number): T[][] { -// return Array.apply( -// 0, -// new Array(Math.ceil(array.length / size)) -// ).map((_, index) => array.slice(index * size, (index + 1) * size)); -// } - -// export function textToHexString(name: string): string { -// return Buffer.from(name, "binary").toString("hex"); -// } - -// export function textToUint8Array(name: string): Uint8Array { -// return new Uint8Array(Buffer.from(name, "binary")); -// } - -// export function hex(x: string): Buffer { -// return Buffer.from( -// ethers.utils.hexlify(x, { allowMissingPrefix: true }).substring(2), -// "hex" -// ); -// } - -// export function ensureHexPrefix(x: string): string { -// return x.substring(0, 2) !== "0x" ? `0x${x}` : x; -// } - export const isNativeDenomInjective = (denom: string) => denom === "inj"; export const isNativeDenomXpla = (denom: string) => denom === "axpla"; export const isNativeDenomSei = (denom: string) => denom === "usei"; diff --git a/clients/js/src/sdk/sui.ts b/clients/js/src/sdk/sui.ts new file mode 100644 index 0000000000..2d199cb03c --- /dev/null +++ b/clients/js/src/sdk/sui.ts @@ -0,0 +1,130 @@ +import { + JsonRpcProvider, + SuiObjectResponse, + isValidSuiAddress as isValidFullSuiAddress, + normalizeSuiAddress, +} from "@mysten/sui.js"; +import { Chain, chainToChainId } from "@wormhole-foundation/sdk"; + +export async function getForeignAssetSui( + provider: JsonRpcProvider, + tokenBridgeStateObjectId: string, + originChain: Chain, + originAddress: Uint8Array +): Promise { + const originChainId = chainToChainId(originChain); + return getTokenCoinType( + provider, + tokenBridgeStateObjectId, + originAddress, + originChainId + ); +} + +export const getTokenCoinType = async ( + provider: JsonRpcProvider, + tokenBridgeStateObjectId: string, + tokenAddress: Uint8Array, + tokenChain: number +): Promise => { + const tokenBridgeStateFields = await getObjectFields( + provider, + tokenBridgeStateObjectId + ); + if (!tokenBridgeStateFields) { + throw new Error("Unable to fetch object fields from token bridge state"); + } + + const coinTypes = tokenBridgeStateFields?.token_registry?.fields?.coin_types; + const coinTypesObjectId = coinTypes?.fields?.id?.id; + if (!coinTypesObjectId) { + throw new Error("Unable to fetch coin types"); + } + + const keyType = getTableKeyType(coinTypes?.type); + if (!keyType) { + throw new Error("Unable to get key type"); + } + + const response = await provider.getDynamicFieldObject({ + parentId: coinTypesObjectId, + name: { + type: keyType, + value: { + addr: [...tokenAddress], + chain: tokenChain, + }, + }, + }); + if (response.error) { + if (response.error.code === "dynamicFieldNotFound") { + return null; + } + throw new Error( + `Unexpected getDynamicFieldObject response ${response.error}` + ); + } + const fields = getFieldsFromObjectResponse(response); + return fields?.value ? trimSuiType(ensureHexPrefix(fields.value)) : null; +}; + +export const getObjectFields = async ( + provider: JsonRpcProvider, + objectId: string +): Promise | null> => { + if (!isValidSuiAddress(objectId)) { + throw new Error(`Invalid object ID: ${objectId}`); + } + + const res = await provider.getObject({ + id: objectId, + options: { + showContent: true, + }, + }); + return getFieldsFromObjectResponse(res); +}; + +export const getFieldsFromObjectResponse = (object: SuiObjectResponse) => { + const content = object.data?.content; + return content && content.dataType === "moveObject" ? content.fields : null; +}; + +export function ensureHexPrefix(x: string): string { + return x.substring(0, 2) !== "0x" ? `0x${x}` : x; +} + +/** + * This method validates any Sui address, even if it's not 32 bytes long, i.e. + * "0x2". This differs from Mysten's implementation, which requires that the + * given address is 32 bytes long. + * @param address Address to check + * @returns If given address is a valid Sui address or not + */ +export const isValidSuiAddress = (address: string): boolean => + isValidFullSuiAddress(normalizeSuiAddress(address)); + +export const getTableKeyType = (tableType: string): string | null => { + if (!tableType) return null; + const match = trimSuiType(tableType).match(/0x2::table::Table<(.*)>/); + if (!match) return null; + const [keyType] = match[1].split(","); + if (!isValidSuiType(keyType)) return null; + return keyType; +}; + +/** + * This method removes leading zeroes for types in order to normalize them + * since some types returned from the RPC have leading zeroes and others don't. + */ +export const trimSuiType = (type: string): string => + type.replace(/(0x)(0*)/g, "0x"); + +export const isValidSuiType = (type: string): boolean => { + const tokens = type.split("::"); + if (tokens.length !== 3) { + return false; + } + + return isValidSuiAddress(tokens[0]) && !!tokens[1] && !!tokens[2]; +}; diff --git a/clients/js/src/solana.ts b/clients/js/src/solana.ts index d6069f33a4..f0af5d7127 100644 --- a/clients/js/src/solana.ts +++ b/clients/js/src/solana.ts @@ -25,10 +25,6 @@ import { transferFromSolana, transferNativeSol, } from "@certusone/wormhole-sdk/lib/esm/token_bridge/transfer"; -import { - hexToUint8Array, - tryNativeToUint8Array, -} from "@certusone/wormhole-sdk/lib/esm/utils"; import { PublicKey } from "@solana/web3.js"; import { getAssociatedTokenAddress } from "@solana/spl-token"; import { @@ -39,9 +35,9 @@ import { chainToPlatform, chains, contracts, - platform, platformToChains, } from "@wormhole-foundation/sdk-base"; +import { hexToUint8Array, tryNativeToUint8Array } from "./sdk/array"; export async function execute_solana( v: VAA, @@ -65,7 +61,6 @@ export async function execute_solana( const connection = setupConnection(rpc); const from = web3s.Keypair.fromSecretKey(base58.decode(key)); - // const contracts = CONTRACTS[network][chain]; const coreContract = contracts.coreBridge.get(network, chain); if (!coreContract) { throw new Error(`Core bridge address not defined for ${chain} ${network}`); diff --git a/clients/js/src/terra.ts b/clients/js/src/terra.ts index b563d7b608..30591b4197 100644 --- a/clients/js/src/terra.ts +++ b/clients/js/src/terra.ts @@ -11,7 +11,6 @@ import { fromUint8Array } from "js-base64"; import { NETWORKS } from "./consts"; import { Payload, impossible } from "./vaa"; import { transferFromTerra } from "@certusone/wormhole-sdk/lib/esm/token_bridge/transfer"; -import { tryNativeToUint8Array } from "@certusone/wormhole-sdk/lib/esm/utils"; import { Chain, Network, @@ -19,6 +18,7 @@ import { contracts, toChainId, } from "@wormhole-foundation/sdk-base"; +import { tryNativeToUint8Array } from "./sdk/array"; export async function execute_terra( payload: Payload, diff --git a/clients/js/src/utils.ts b/clients/js/src/utils.ts index 3473ac7083..e7a3bec233 100644 --- a/clients/js/src/utils.ts +++ b/clients/js/src/utils.ts @@ -53,8 +53,8 @@ export function getNetwork(network: string): Network { } export function chainToChain(input: string): Chain { - if (input.length === 0) { - throw new Error("Empty chain"); + if (input.length < 2) { + throw new Error(`Invalid chain: ${input}`); } const chainStr = input[0].toUpperCase() + input.slice(1).toLowerCase(); return toChain(chainStr); diff --git a/clients/js/src/xpla.ts b/clients/js/src/xpla.ts index 90b82c86cc..966372c15d 100644 --- a/clients/js/src/xpla.ts +++ b/clients/js/src/xpla.ts @@ -10,13 +10,13 @@ import { fromUint8Array } from "js-base64"; import { NETWORKS } from "./consts"; import { Payload, impossible } from "./vaa"; import { transferFromXpla } from "@certusone/wormhole-sdk/lib/esm/token_bridge/transfer"; -import { tryNativeToUint8Array } from "@certusone/wormhole-sdk/lib/esm/utils"; import { Chain, chainToChainId, contracts, Network, } from "@wormhole-foundation/sdk-base"; +import { tryNativeToUint8Array } from "./sdk/array"; export async function execute_xpla( payload: Payload, diff --git a/scripts/guardian-set-init.sh b/scripts/guardian-set-init.sh index c901ef5983..d3bb3f123b 100755 --- a/scripts/guardian-set-init.sh +++ b/scripts/guardian-set-init.sh @@ -96,24 +96,24 @@ aptosNFTBridge=$(jq --raw-output '.chains."22".contracts.nftBridgeEmitterAddress # 4) create token bridge registration VAAs # invoke CLI commands to create registration VAAs -solTokenBridgeVAA=$(worm generate registration -m TokenBridge -c Solana -a ${solTokenBridge} -g ${guardiansPrivateCSV}) -ethTokenBridgeVAA=$(worm generate registration -m TokenBridge -c Ethereum -a ${ethTokenBridge} -g ${guardiansPrivateCSV}) -terraTokenBridgeVAA=$(worm generate registration -m TokenBridge -c Terra -a ${terraTokenBridge} -g ${guardiansPrivateCSV}) -bscTokenBridgeVAA=$(worm generate registration -m TokenBridge -c Bsc -a ${bscTokenBridge} -g ${guardiansPrivateCSV}) -algoTokenBridgeVAA=$(worm generate registration -m TokenBridge -c Algorand -a ${algoTokenBridge} -g ${guardiansPrivateCSV}) -nearTokenBridgeVAA=$(worm generate registration -m TokenBridge -c Near -a ${nearTokenBridge} -g ${guardiansPrivateCSV}) -terra2TokenBridgeVAA=$(worm generate registration -m TokenBridge -c Terra2 -a ${terra2TokenBridge} -g ${guardiansPrivateCSV}) -suiTokenBridgeVAA=$(worm generate registration -m TokenBridge -c Sui -a ${suiTokenBridge} -g ${guardiansPrivateCSV}) -aptosTokenBridgeVAA=$(worm generate registration -m TokenBridge -c Aptos -a ${aptosTokenBridge} -g ${guardiansPrivateCSV}) -wormchainTokenBridgeVAA=$(worm generate registration -m TokenBridge -c Wormchain -a ${wormchainTokenBridge} -g ${guardiansPrivateCSV}) +solTokenBridgeVAA=$(worm generate registration -m TokenBridge -c solana -a ${solTokenBridge} -g ${guardiansPrivateCSV}) +ethTokenBridgeVAA=$(worm generate registration -m TokenBridge -c ethereum -a ${ethTokenBridge} -g ${guardiansPrivateCSV}) +terraTokenBridgeVAA=$(worm generate registration -m TokenBridge -c terra -a ${terraTokenBridge} -g ${guardiansPrivateCSV}) +bscTokenBridgeVAA=$(worm generate registration -m TokenBridge -c bsc -a ${bscTokenBridge} -g ${guardiansPrivateCSV}) +algoTokenBridgeVAA=$(worm generate registration -m TokenBridge -c algorand -a ${algoTokenBridge} -g ${guardiansPrivateCSV}) +nearTokenBridgeVAA=$(worm generate registration -m TokenBridge -c near -a ${nearTokenBridge} -g ${guardiansPrivateCSV}) +terra2TokenBridgeVAA=$(worm generate registration -m TokenBridge -c terra2 -a ${terra2TokenBridge} -g ${guardiansPrivateCSV}) +suiTokenBridgeVAA=$(worm generate registration -m TokenBridge -c sui -a ${suiTokenBridge} -g ${guardiansPrivateCSV}) +aptosTokenBridgeVAA=$(worm generate registration -m TokenBridge -c aptos -a ${aptosTokenBridge} -g ${guardiansPrivateCSV}) +wormchainTokenBridgeVAA=$(worm generate registration -m TokenBridge -c wormchain -a ${wormchainTokenBridge} -g ${guardiansPrivateCSV}) # 5) create nft bridge registration VAAs echo "generating contract registration VAAs for nft bridges" -solNFTBridgeVAA=$(worm generate registration -m NFTBridge -c Solana -a ${solNFTBridge} -g ${guardiansPrivateCSV}) -ethNFTBridgeVAA=$(worm generate registration -m NFTBridge -c Ethereum -a ${ethNFTBridge} -g ${guardiansPrivateCSV}) -nearNFTBridgeVAA=$(worm generate registration -m NFTBridge -c Near -a ${nearNFTBridge} -g ${guardiansPrivateCSV}) -aptosNFTBridgeVAA=$(worm generate registration -m NFTBridge -c Aptos -a ${aptosNFTBridge} -g ${guardiansPrivateCSV}) +solNFTBridgeVAA=$(worm generate registration -m NFTBridge -c solana -a ${solNFTBridge} -g ${guardiansPrivateCSV}) +ethNFTBridgeVAA=$(worm generate registration -m NFTBridge -c ethereum -a ${ethNFTBridge} -g ${guardiansPrivateCSV}) +nearNFTBridgeVAA=$(worm generate registration -m NFTBridge -c near -a ${nearNFTBridge} -g ${guardiansPrivateCSV}) +aptosNFTBridgeVAA=$(worm generate registration -m NFTBridge -c aptos -a ${aptosNFTBridge} -g ${guardiansPrivateCSV}) # 6) write the registration VAAs to env files