From 983187bf68d7ab74c77801c62ede707b8be5991c Mon Sep 17 00:00:00 2001 From: Kevin Peters Date: Fri, 26 Jul 2024 09:15:54 -0500 Subject: [PATCH] sdk: Added resume transfer methods to routes --- evm/ts/package.json | 16 +- package-lock.json | 438 +++++++++++++++++------------------ package.json | 2 +- sdk/definitions/package.json | 8 +- sdk/examples/package.json | 2 +- sdk/route/package.json | 4 +- sdk/route/src/automatic.ts | 83 +++++++ sdk/route/src/manual.ts | 79 +++++++ sdk/route/src/types.ts | 35 +++ solana/package.json | 16 +- 10 files changed, 440 insertions(+), 243 deletions(-) diff --git a/evm/ts/package.json b/evm/ts/package.json index f3d477c52..0ddbf61bc 100644 --- a/evm/ts/package.json +++ b/evm/ts/package.json @@ -44,19 +44,19 @@ "test": "jest --config ./jest.config.ts" }, "dependencies": { - "@wormhole-foundation/sdk-base": "^0.8", - "@wormhole-foundation/sdk-definitions": "^0.8", + "@wormhole-foundation/sdk-base": "^0.8.2", + "@wormhole-foundation/sdk-definitions": "^0.8.2", "@wormhole-foundation/sdk-definitions-ntt": "0.1.0-beta.0", - "@wormhole-foundation/sdk-evm": "^0.8", - "@wormhole-foundation/sdk-evm-core": "^0.8", + "@wormhole-foundation/sdk-evm": "^0.8.2", + "@wormhole-foundation/sdk-evm-core": "^0.8.2", "ethers": "^6.5.1" }, "peerDependencies": { "@wormhole-foundation/sdk-definitions-ntt": "0.1.0-beta.0", - "@wormhole-foundation/sdk-base": "^0.8", - "@wormhole-foundation/sdk-definitions": "^0.8", - "@wormhole-foundation/sdk-evm": "^0.8", - "@wormhole-foundation/sdk-evm-core": "^0.8" + "@wormhole-foundation/sdk-base": "^0.8.2", + "@wormhole-foundation/sdk-definitions": "^0.8.2", + "@wormhole-foundation/sdk-evm": "^0.8.2", + "@wormhole-foundation/sdk-evm-core": "^0.8.2" }, "devDependencies": { "@typechain/ethers-v6": "^0.5.1", diff --git a/package-lock.json b/package-lock.json index 6133306a1..5148bfb33 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "@solana/web3.js": "1.91.7", "@types/jest": "^29.5.12", "@types/node": "^20.12.2", - "@wormhole-foundation/sdk": "^0.8", + "@wormhole-foundation/sdk": "^0.8.2", "@wormhole-foundation/wormchain-sdk": "^0.0.1", "ethers": "^6.5.1", "ts-jest": "^29.1.2", @@ -79,11 +79,11 @@ "version": "0.1.0-beta.0", "license": "Apache-2.0", "dependencies": { - "@wormhole-foundation/sdk-base": "^0.8", - "@wormhole-foundation/sdk-definitions": "^0.8", + "@wormhole-foundation/sdk-base": "^0.8.2", + "@wormhole-foundation/sdk-definitions": "^0.8.2", "@wormhole-foundation/sdk-definitions-ntt": "0.1.0-beta.0", - "@wormhole-foundation/sdk-evm": "^0.8", - "@wormhole-foundation/sdk-evm-core": "^0.8", + "@wormhole-foundation/sdk-evm": "^0.8.2", + "@wormhole-foundation/sdk-evm-core": "^0.8.2", "ethers": "^6.5.1" }, "devDependencies": { @@ -95,11 +95,11 @@ "node": ">=16" }, "peerDependencies": { - "@wormhole-foundation/sdk-base": "^0.8", - "@wormhole-foundation/sdk-definitions": "^0.8", + "@wormhole-foundation/sdk-base": "^0.8.2", + "@wormhole-foundation/sdk-definitions": "^0.8.2", "@wormhole-foundation/sdk-definitions-ntt": "0.1.0-beta.0", - "@wormhole-foundation/sdk-evm": "^0.8", - "@wormhole-foundation/sdk-evm-core": "^0.8" + "@wormhole-foundation/sdk-evm": "^0.8.2", + "@wormhole-foundation/sdk-evm-core": "^0.8.2" } }, "node_modules/@0no-co/graphql.web": { @@ -116,9 +116,9 @@ } }, "node_modules/@0no-co/graphqlsp": { - "version": "1.12.11", - "resolved": "https://registry.npmjs.org/@0no-co/graphqlsp/-/graphqlsp-1.12.11.tgz", - "integrity": "sha512-vLja9r7L6BBXwxW86Wyi5z5hjTHscH7qoQooy+MXHkM9srBB6ZuesYZq5DQ/+SErQrFyaxeY+hwv2qBAksxriw==", + "version": "1.12.12", + "resolved": "https://registry.npmjs.org/@0no-co/graphqlsp/-/graphqlsp-1.12.12.tgz", + "integrity": "sha512-BmCAc/q3tQcIwXxKoxubYaB23s2fWMMmNGSlY9mgQvWiReBS8ZutPZSf11OADfwTv1J1JIazU6q6OFX+cEp8PQ==", "dependencies": { "@gql.tada/internal": "^1.0.0", "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0" @@ -147,9 +147,9 @@ } }, "node_modules/@apollo/client": { - "version": "3.10.8", - "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.10.8.tgz", - "integrity": "sha512-UaaFEitRrPRWV836wY2L7bd3HRCfbMie1jlYMcmazFAK23MVhz/Uq7VG1nwbotPb5xzFsw5RF4Wnp2G3dWPM3g==", + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.11.1.tgz", + "integrity": "sha512-fVuAi7ufRt2apIEYV18upvykw5JD+CwHAThxZkclby4phWCXtO4LD39Z0sk0+4i+j7oZ+jOofEkO1XGDDomZvQ==", "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", "@wry/caches": "^1.0.0", @@ -169,8 +169,8 @@ "peerDependencies": { "graphql": "^15.0.0 || ^16.0.0", "graphql-ws": "^5.5.5", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0", "subscriptions-transport-ws": "^0.9.0 || ^0.11.0" }, "peerDependenciesMeta": { @@ -3660,52 +3660,61 @@ "dev": true }, "node_modules/@volar/language-core": { - "version": "2.4.0-alpha.16", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.0-alpha.16.tgz", - "integrity": "sha512-oOTnIZlx0P/idFwVw+W0NbzKDtZAQMzXSdIFfTePCKcXlb4Ys12GaGkx8NF9dsvPYV3nbv3ZsSxnkZWBmNKd7A==", + "version": "2.4.0-alpha.18", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.0-alpha.18.tgz", + "integrity": "sha512-JAYeJvYQQROmVRtSBIczaPjP3DX4QW1fOqW1Ebs0d3Y3EwSNRglz03dSv0Dm61dzd0Yx3WgTW3hndDnTQqgmyg==", "dependencies": { - "@volar/source-map": "2.4.0-alpha.16" + "@volar/source-map": "2.4.0-alpha.18" } }, "node_modules/@volar/source-map": { - "version": "2.4.0-alpha.16", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.0-alpha.16.tgz", - "integrity": "sha512-sL9vNG7iR2hiKZor7UkD5Sufu3QCia4cbp2gX/nGRNSdaPbhOpdAoavwlBm0PrVkpiA19NZuavZoobD8krviFg==" + "version": "2.4.0-alpha.18", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.0-alpha.18.tgz", + "integrity": "sha512-MTeCV9MUwwsH0sNFiZwKtFrrVZUK6p8ioZs3xFzHc2cvDXHWlYN3bChdQtwKX+FY2HG6H3CfAu1pKijolzIQ8g==" }, "node_modules/@vue/compiler-core": { - "version": "3.4.32", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.32.tgz", - "integrity": "sha512-8tCVWkkLe/QCWIsrIvExUGnhYCAOroUs5dzhSoKL5w4MJS8uIYiou+pOPSVIOALOQ80B0jBs+Ri+kd5+MBnCDw==", + "version": "3.4.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.34.tgz", + "integrity": "sha512-Z0izUf32+wAnQewjHu+pQf1yw00EGOmevl1kE+ljjjMe7oEfpQ+BI3/JNK7yMB4IrUsqLDmPecUrpj3mCP+yJQ==", "dependencies": { "@babel/parser": "^7.24.7", - "@vue/shared": "3.4.32", + "@vue/shared": "3.4.34", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-dom": { - "version": "3.4.32", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.32.tgz", - "integrity": "sha512-PbSgt9KuYo4fyb90dynuPc0XFTfFPs3sCTbPLOLlo+PrUESW1gn/NjSsUvhR+mI2AmmEzexwYMxbHDldxSOr2A==", + "version": "3.4.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.34.tgz", + "integrity": "sha512-3PUOTS1h5cskdOJMExCu2TInXuM0j60DRPpSCJDqOCupCfUZCJoyQmKtRmA8EgDNZ5kcEE7vketamRZfrEuVDw==", "dependencies": { - "@vue/compiler-core": "3.4.32", - "@vue/shared": "3.4.32" + "@vue/compiler-core": "3.4.34", + "@vue/shared": "3.4.34" + } + }, + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" } }, "node_modules/@vue/language-core": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.0.26.tgz", - "integrity": "sha512-/lt6SfQ3O1yDAhPsnLv9iSUgXd1dMHqUm/t3RctfqjuwQf1LnftZ414X3UBn6aXT4MiwXWtbNJ4Z0NZWwDWgJQ==", + "version": "2.0.29", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.0.29.tgz", + "integrity": "sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ==", "dependencies": { - "@volar/language-core": "~2.4.0-alpha.15", + "@volar/language-core": "~2.4.0-alpha.18", "@vue/compiler-dom": "^3.4.0", + "@vue/compiler-vue2": "^2.7.16", "@vue/shared": "^3.4.0", "computeds": "^0.0.1", "minimatch": "^9.0.3", "muggle-string": "^0.4.1", - "path-browserify": "^1.0.1", - "vue-template-compiler": "^2.7.14" + "path-browserify": "^1.0.1" }, "peerDependencies": { "typescript": "*" @@ -3739,51 +3748,51 @@ } }, "node_modules/@vue/shared": { - "version": "3.4.32", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.32.tgz", - "integrity": "sha512-ep4mF1IVnX/pYaNwxwOpJHyBtOMKWoKZMbnUyd+z0udqIxLUh7YCCd/JfDna8aUrmnG9SFORyIq2HzEATRrQsg==" + "version": "3.4.34", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.34.tgz", + "integrity": "sha512-x5LmiRLpRsd9KTjAB8MPKf0CDPMcuItjP0gbNqFCIgL1I8iYp4zglhj9w9FPCdIbHG2M91RVeIbArFfFTz9I3A==" }, "node_modules/@wormhole-foundation/sdk": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk/-/sdk-0.8.0.tgz", - "integrity": "sha512-3FjCtPUWzpT00wAWGe0OToZihg0eGcY0RX7X03XOGB5ZZW6u9isR9x1OyOBH+J6jBORy/uIyekM6Ot5oCHKTfA==", - "dependencies": { - "@wormhole-foundation/sdk-algorand": "0.8.0", - "@wormhole-foundation/sdk-algorand-core": "0.8.0", - "@wormhole-foundation/sdk-algorand-tokenbridge": "0.8.0", - "@wormhole-foundation/sdk-aptos": "0.8.0", - "@wormhole-foundation/sdk-aptos-core": "0.8.0", - "@wormhole-foundation/sdk-aptos-tokenbridge": "0.8.0", - "@wormhole-foundation/sdk-base": "0.8.0", - "@wormhole-foundation/sdk-connect": "0.8.0", - "@wormhole-foundation/sdk-cosmwasm": "0.8.0", - "@wormhole-foundation/sdk-cosmwasm-core": "0.8.0", - "@wormhole-foundation/sdk-cosmwasm-ibc": "0.8.0", - "@wormhole-foundation/sdk-cosmwasm-tokenbridge": "0.8.0", - "@wormhole-foundation/sdk-definitions": "0.8.0", - "@wormhole-foundation/sdk-evm": "0.8.0", - "@wormhole-foundation/sdk-evm-cctp": "0.8.0", - "@wormhole-foundation/sdk-evm-core": "0.8.0", - "@wormhole-foundation/sdk-evm-portico": "0.8.0", - "@wormhole-foundation/sdk-evm-tokenbridge": "0.8.0", - "@wormhole-foundation/sdk-solana": "0.8.0", - "@wormhole-foundation/sdk-solana-cctp": "0.8.0", - "@wormhole-foundation/sdk-solana-core": "0.8.0", - "@wormhole-foundation/sdk-solana-tokenbridge": "0.8.0", - "@wormhole-foundation/sdk-sui": "0.8.0", - "@wormhole-foundation/sdk-sui-core": "0.8.0", - "@wormhole-foundation/sdk-sui-tokenbridge": "0.8.0" + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk/-/sdk-0.8.2.tgz", + "integrity": "sha512-xwoXd2c4zqhlRRH/PjrVBNA7v5fyeLfXYOtTVxWMPvKgrDIE2gXfdvx7GlKdI8YPB7IsXs8PUDZ+O8GhlTZtgQ==", + "dependencies": { + "@wormhole-foundation/sdk-algorand": "0.8.2", + "@wormhole-foundation/sdk-algorand-core": "0.8.2", + "@wormhole-foundation/sdk-algorand-tokenbridge": "0.8.2", + "@wormhole-foundation/sdk-aptos": "0.8.2", + "@wormhole-foundation/sdk-aptos-core": "0.8.2", + "@wormhole-foundation/sdk-aptos-tokenbridge": "0.8.2", + "@wormhole-foundation/sdk-base": "0.8.2", + "@wormhole-foundation/sdk-connect": "0.8.2", + "@wormhole-foundation/sdk-cosmwasm": "0.8.2", + "@wormhole-foundation/sdk-cosmwasm-core": "0.8.2", + "@wormhole-foundation/sdk-cosmwasm-ibc": "0.8.2", + "@wormhole-foundation/sdk-cosmwasm-tokenbridge": "0.8.2", + "@wormhole-foundation/sdk-definitions": "0.8.2", + "@wormhole-foundation/sdk-evm": "0.8.2", + "@wormhole-foundation/sdk-evm-cctp": "0.8.2", + "@wormhole-foundation/sdk-evm-core": "0.8.2", + "@wormhole-foundation/sdk-evm-portico": "0.8.2", + "@wormhole-foundation/sdk-evm-tokenbridge": "0.8.2", + "@wormhole-foundation/sdk-solana": "0.8.2", + "@wormhole-foundation/sdk-solana-cctp": "0.8.2", + "@wormhole-foundation/sdk-solana-core": "0.8.2", + "@wormhole-foundation/sdk-solana-tokenbridge": "0.8.2", + "@wormhole-foundation/sdk-sui": "0.8.2", + "@wormhole-foundation/sdk-sui-core": "0.8.2", + "@wormhole-foundation/sdk-sui-tokenbridge": "0.8.2" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-algorand": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand/-/sdk-algorand-0.8.0.tgz", - "integrity": "sha512-kGJw/0xlJ2a+DcXvirizSA2pQ2VH0SLAPCSTWToLjQIW7jT5Q+JLA1uU9fmgKJanS4aroBpIxFmH6Cs5iQZ++Q==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand/-/sdk-algorand-0.8.2.tgz", + "integrity": "sha512-b3/d5JcXJNg6ZKW+vaweBddua8fR+q1mH6k/z6cMaPurMO+PcouLWTiFWHFPN4/OEhTlQhTuLmCoMKKgB+grkw==", "dependencies": { - "@wormhole-foundation/sdk-connect": "0.8.0", + "@wormhole-foundation/sdk-connect": "0.8.2", "algosdk": "2.7.0" }, "engines": { @@ -3791,36 +3800,36 @@ } }, "node_modules/@wormhole-foundation/sdk-algorand-core": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand-core/-/sdk-algorand-core-0.8.0.tgz", - "integrity": "sha512-zcsd7ClJSkb8A9VbjAX6WmC31sOuIZzqrbCu5r/+ze+05qONYWR5CxR87XqkVDxQF3LVaeSRRXRytfY0wdUqsg==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand-core/-/sdk-algorand-core-0.8.2.tgz", + "integrity": "sha512-w9YI02XfbaR0wdCcdCVSyDHP+5evYvktaB4YFXAGoQjUauD7H/vV6SuLchiNcTakZwBVO45+qe0dh0m30IRKvw==", "dependencies": { - "@wormhole-foundation/sdk-algorand": "0.8.0", - "@wormhole-foundation/sdk-connect": "0.8.0" + "@wormhole-foundation/sdk-algorand": "0.8.2", + "@wormhole-foundation/sdk-connect": "0.8.2" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-algorand-tokenbridge": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand-tokenbridge/-/sdk-algorand-tokenbridge-0.8.0.tgz", - "integrity": "sha512-bSUQN86uUEOjC9A9eWIEcdq/4tfr9HpLdHt4n02Q7FhWHA2jY7hK5OywfpXuxRIiJ51npC0FtyC4Fl3X0zG9sA==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-algorand-tokenbridge/-/sdk-algorand-tokenbridge-0.8.2.tgz", + "integrity": "sha512-mdrY3sysCUxYhqrsuhRRHaYPWuPUorL4bBX6sZKD/0HixJqJW5jJYPPw37B7n1iFypEStefuuJ3tpJ38UyLJHw==", "dependencies": { - "@wormhole-foundation/sdk-algorand": "0.8.0", - "@wormhole-foundation/sdk-algorand-core": "0.8.0", - "@wormhole-foundation/sdk-connect": "0.8.0" + "@wormhole-foundation/sdk-algorand": "0.8.2", + "@wormhole-foundation/sdk-algorand-core": "0.8.2", + "@wormhole-foundation/sdk-connect": "0.8.2" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-aptos": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos/-/sdk-aptos-0.8.0.tgz", - "integrity": "sha512-+XL5lguBv89BZUfta5X+CK90HTM6issHjT6Qa44AL9Lut64FxIetYUTeOISKPj2oJADTx2R/FTqxtVAgMS+jdQ==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos/-/sdk-aptos-0.8.2.tgz", + "integrity": "sha512-tKjXnHINeGtmof/rmUunFvImHjX71Q8/xbliKv56M9YcwnbO2oC28h2OGsugOO//D9O3IqRSJN5BDwe5Rss73g==", "dependencies": { - "@wormhole-foundation/sdk-connect": "0.8.0", + "@wormhole-foundation/sdk-connect": "0.8.2", "aptos": "1.21.0" }, "engines": { @@ -3828,44 +3837,44 @@ } }, "node_modules/@wormhole-foundation/sdk-aptos-core": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos-core/-/sdk-aptos-core-0.8.0.tgz", - "integrity": "sha512-7YF9I9kiA+hRxSEOFT79YAp/J7fTdGwGRBuDvh9MlzcMCEzRSz0KT1ox2SYg8pTCRELcROBT4oCvACP6hZNcXA==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos-core/-/sdk-aptos-core-0.8.2.tgz", + "integrity": "sha512-kEg7LBCBYSBtaXiIILEL6838IQ5qdMCczJFJvwUPxTPp/YmaiyB8JZJNY/aAYwoms12IvDPKXkrkdmkH2wf5Sw==", "dependencies": { - "@wormhole-foundation/sdk-aptos": "0.8.0", - "@wormhole-foundation/sdk-connect": "0.8.0" + "@wormhole-foundation/sdk-aptos": "0.8.2", + "@wormhole-foundation/sdk-connect": "0.8.2" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-aptos-tokenbridge": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos-tokenbridge/-/sdk-aptos-tokenbridge-0.8.0.tgz", - "integrity": "sha512-wO3fKeNEVmRMev1HlxklFh836ZY7HSy/SIJW8X5FfaxMdxGx63dBNPW2R69aOV6gIgfs6cv03bR583V/oL9tWw==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-aptos-tokenbridge/-/sdk-aptos-tokenbridge-0.8.2.tgz", + "integrity": "sha512-nRWcrSXyot45Pe9zEIShsxtIuYWog+X6IUxuMlKuo7Hi2LAXAJlqwt2Tm62Svn2ewkYXkO9elPQVkTjmU3wB+w==", "dependencies": { - "@wormhole-foundation/sdk-aptos": "0.8.0", - "@wormhole-foundation/sdk-connect": "0.8.0" + "@wormhole-foundation/sdk-aptos": "0.8.2", + "@wormhole-foundation/sdk-connect": "0.8.2" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-base": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-base/-/sdk-base-0.8.0.tgz", - "integrity": "sha512-c9Le/M4wHWk/f2UGR2Fnm7+VZDjCtGYaAs4G9HthqbrBKtQHpDV59teUiM5vgi8kvF+3sL7amzjivCxP8OtcRQ==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-base/-/sdk-base-0.8.2.tgz", + "integrity": "sha512-LuR1X+6Ge0yyMZNg2F5WZUko4rR7SaKPTOpfsje381c/D9Mu7shQTwgtsE6o5IwZpMdoYKFzB8oRjHqAC23soA==", "dependencies": { "@scure/base": "^1.1.3" } }, "node_modules/@wormhole-foundation/sdk-connect": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-connect/-/sdk-connect-0.8.0.tgz", - "integrity": "sha512-xxkYgVwNuUbu59hih3ogZmy4l1/M405dPi9U/YBHmtX0dUkj7UyQ03s90hVwcjn8SlNRg3iWNGNLicEkNoy+BQ==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-connect/-/sdk-connect-0.8.2.tgz", + "integrity": "sha512-wXkrgfpAUDqV4CZND/Qn08jay2my1z7DwyJ84yPkYSsExfaTIPSSrj6fqpZrj2iDOALvIzMApJQPswyaYIIG/w==", "dependencies": { - "@wormhole-foundation/sdk-base": "0.8.0", - "@wormhole-foundation/sdk-definitions": "0.8.0", + "@wormhole-foundation/sdk-base": "0.8.2", + "@wormhole-foundation/sdk-definitions": "0.8.2", "axios": "^1.4.0" }, "engines": { @@ -3873,15 +3882,15 @@ } }, "node_modules/@wormhole-foundation/sdk-cosmwasm": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm/-/sdk-cosmwasm-0.8.0.tgz", - "integrity": "sha512-2g5Q45D3J3JPDG0/Y8+Vb3cRnyqEMyT3aQWX08n6L44pHvqj4dsKaOWJyT0xO0MpNhjRxfcU2BTjSegxg92cUw==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm/-/sdk-cosmwasm-0.8.2.tgz", + "integrity": "sha512-t/lcVJ5fGkP4j0QYkuPBYoYPV7HJDDc9X6SzrjiBmqTGxOEH/jMUXVUwJtAJd7HlaId6+VQCxLeMEv2eH1ywug==", "dependencies": { "@cosmjs/cosmwasm-stargate": "^0.32.0", "@cosmjs/proto-signing": "^0.32.0", "@cosmjs/stargate": "^0.32.0", "@injectivelabs/sdk-ts": "^1.14.13-beta.2", - "@wormhole-foundation/sdk-connect": "0.8.0", + "@wormhole-foundation/sdk-connect": "0.8.2", "cosmjs-types": "^0.9.0" }, "engines": { @@ -3889,31 +3898,31 @@ } }, "node_modules/@wormhole-foundation/sdk-cosmwasm-core": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-core/-/sdk-cosmwasm-core-0.8.0.tgz", - "integrity": "sha512-+a+fthZeNlyKxDjShHa6EuKbbl+yc3q1sk1i62Rnia7ER7ApEVHicAv72pkCiMxa6A6Wrx86i2+cdXCBSYgo4g==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-core/-/sdk-cosmwasm-core-0.8.2.tgz", + "integrity": "sha512-tTESTXZwznvRqbuy/SmV6FszCOReBKx/F/2KsKOycExRHu0EV733Li25VfzJ5nNoa+csNJfqXuk3KZxs1a8i0g==", "dependencies": { "@cosmjs/cosmwasm-stargate": "^0.32.0", "@cosmjs/stargate": "^0.32.0", "@injectivelabs/sdk-ts": "^1.14.13-beta.2", - "@wormhole-foundation/sdk-connect": "0.8.0", - "@wormhole-foundation/sdk-cosmwasm": "0.8.0" + "@wormhole-foundation/sdk-connect": "0.8.2", + "@wormhole-foundation/sdk-cosmwasm": "0.8.2" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-cosmwasm-ibc": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-ibc/-/sdk-cosmwasm-ibc-0.8.0.tgz", - "integrity": "sha512-bUyakI+DDCAHUpPM4QBq/DODDWo/SWeskmouEJ3p2j2z6rLZXpfMVMtO1a1TquTyImO5iG2FHPzj8RniEq2CLQ==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-ibc/-/sdk-cosmwasm-ibc-0.8.2.tgz", + "integrity": "sha512-Cs3gK0Qaovx0FeTXl3oY4zk37qClC5EvX8jWm7vWJ7hZhs+SG+rY98OuPBI+vl+aWieicy3PXbT9tYiZTFGEUQ==", "dependencies": { "@cosmjs/cosmwasm-stargate": "^0.32.0", "@cosmjs/stargate": "^0.32.0", "@injectivelabs/sdk-ts": "^1.14.13-beta.2", - "@wormhole-foundation/sdk-connect": "0.8.0", - "@wormhole-foundation/sdk-cosmwasm": "0.8.0", - "@wormhole-foundation/sdk-cosmwasm-core": "0.8.0", + "@wormhole-foundation/sdk-connect": "0.8.2", + "@wormhole-foundation/sdk-cosmwasm": "0.8.2", + "@wormhole-foundation/sdk-cosmwasm-core": "0.8.2", "cosmjs-types": "^0.9.0" }, "engines": { @@ -3921,27 +3930,27 @@ } }, "node_modules/@wormhole-foundation/sdk-cosmwasm-tokenbridge": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-tokenbridge/-/sdk-cosmwasm-tokenbridge-0.8.0.tgz", - "integrity": "sha512-HuU28jbhXp4UPub/bldAtFhz3+YfSz6lnK0FslZ0LSU9C4jyrtnVVskXvyQFM8YySVXafOUd395pQxrX5CRi8w==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-cosmwasm-tokenbridge/-/sdk-cosmwasm-tokenbridge-0.8.2.tgz", + "integrity": "sha512-gECkqfGdceCK0IwZ7Ahj3TQ+z/9BW+2u98IeEVBsh144bYs7doVhpMnrrIxU6ckRwLWz6YFV2xajpCwr2JPs3g==", "dependencies": { "@cosmjs/cosmwasm-stargate": "^0.32.0", "@injectivelabs/sdk-ts": "^1.14.13-beta.2", - "@wormhole-foundation/sdk-connect": "0.8.0", - "@wormhole-foundation/sdk-cosmwasm": "0.8.0" + "@wormhole-foundation/sdk-connect": "0.8.2", + "@wormhole-foundation/sdk-cosmwasm": "0.8.2" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-definitions": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-definitions/-/sdk-definitions-0.8.0.tgz", - "integrity": "sha512-9avbCMfaaWO2Ldtk5gMDBO6+0CLshWwI83tfW+6/cizHgPXhwLquNietY+bED1kHaLivbCVhkS6drBJKNqa+cQ==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-definitions/-/sdk-definitions-0.8.2.tgz", + "integrity": "sha512-anUH5p/DVj7jnmOPL65yGn+Yt8LafFw9gcOYeU/lFvW8T1pqhxdFyydyW4LSriZzZO2mD9qi8Sv5/ndJf0sUXg==", "dependencies": { "@noble/curves": "^1.4.0", "@noble/hashes": "^1.3.1", - "@wormhole-foundation/sdk-base": "0.8.0" + "@wormhole-foundation/sdk-base": "0.8.2" } }, "node_modules/@wormhole-foundation/sdk-definitions-ntt": { @@ -3949,11 +3958,11 @@ "link": true }, "node_modules/@wormhole-foundation/sdk-evm": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm/-/sdk-evm-0.8.0.tgz", - "integrity": "sha512-owmc9esfX26I+EIKXMSy0VXSIk6iy9K0jATTkqtdxHV9IgoOKuxfYWtoxmx5jvFDKNURGB2HPk8280ZuyObdwQ==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm/-/sdk-evm-0.8.2.tgz", + "integrity": "sha512-TfnQMIqdYFjUs11vzpN75Kv75ri/nsvyScqmLvIgLb8eybMNeSDeldEMEWYXmaQgaqYX0/+UelvEoHOaKfdF5g==", "dependencies": { - "@wormhole-foundation/sdk-connect": "0.8.0", + "@wormhole-foundation/sdk-connect": "0.8.2", "ethers": "^6.5.1" }, "engines": { @@ -3961,12 +3970,12 @@ } }, "node_modules/@wormhole-foundation/sdk-evm-cctp": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-cctp/-/sdk-evm-cctp-0.8.0.tgz", - "integrity": "sha512-uAGI+0Jq58xyhLwYKxhmNF4pkIt7jDILkhkdT8Z2AxBj8sGOwJzuA6aLc0YqS5Nw54wN/LfA/bHx7/nf82EgZA==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-cctp/-/sdk-evm-cctp-0.8.2.tgz", + "integrity": "sha512-tJyMd78jcSvahuH44UlabxRF0cOhkkmp1gJ1aT70yVtdzzlXYXVT6HyypZAOsXZPYtEAcAqv4qh0sVLAwHeQKg==", "dependencies": { - "@wormhole-foundation/sdk-connect": "0.8.0", - "@wormhole-foundation/sdk-evm": "0.8.0", + "@wormhole-foundation/sdk-connect": "0.8.2", + "@wormhole-foundation/sdk-evm": "0.8.2", "ethers": "^6.5.1" }, "engines": { @@ -3974,12 +3983,12 @@ } }, "node_modules/@wormhole-foundation/sdk-evm-core": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-core/-/sdk-evm-core-0.8.0.tgz", - "integrity": "sha512-UeJTKrM/zMW0mg7H5t1lUtuc3bvR4k8V42PvIWOZJ/BlcgRlx80XXB8j4b37JfWGnDB5A3o+jQx97nx+IMsiXw==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-core/-/sdk-evm-core-0.8.2.tgz", + "integrity": "sha512-LVkF8m/6Bd5QGqrk99nRY0VVDkZoYqXA1AJJxPG9EJ/juPyU7Mfo5cjT+MiybV9LTy+AUNMeqPQ4yUY4EVPbEA==", "dependencies": { - "@wormhole-foundation/sdk-connect": "0.8.0", - "@wormhole-foundation/sdk-evm": "0.8.0", + "@wormhole-foundation/sdk-connect": "0.8.2", + "@wormhole-foundation/sdk-evm": "0.8.2", "ethers": "^6.5.1" }, "engines": { @@ -3991,14 +4000,14 @@ "link": true }, "node_modules/@wormhole-foundation/sdk-evm-portico": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-portico/-/sdk-evm-portico-0.8.0.tgz", - "integrity": "sha512-Z8lDRmmhD5pDIrvKnnOYMQn3+t5sjoDVE+DYIcmT/DIe1wCPtgVbo+cqAn5hAdUj39GAVE3+FpoCRoevDZEMpQ==", - "dependencies": { - "@wormhole-foundation/sdk-connect": "0.8.0", - "@wormhole-foundation/sdk-evm": "0.8.0", - "@wormhole-foundation/sdk-evm-core": "0.8.0", - "@wormhole-foundation/sdk-evm-tokenbridge": "0.8.0", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-portico/-/sdk-evm-portico-0.8.2.tgz", + "integrity": "sha512-yTGeokeeclXUvToOVsPC2i8DSaRndZTSM5ikmpx8Tnm/4X2ObMcP2aRdWKVdYRHPDhWDvwcPNUtDgSjGzvVULQ==", + "dependencies": { + "@wormhole-foundation/sdk-connect": "0.8.2", + "@wormhole-foundation/sdk-evm": "0.8.2", + "@wormhole-foundation/sdk-evm-core": "0.8.2", + "@wormhole-foundation/sdk-evm-tokenbridge": "0.8.2", "ethers": "^6.5.1" }, "engines": { @@ -4006,13 +4015,13 @@ } }, "node_modules/@wormhole-foundation/sdk-evm-tokenbridge": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-tokenbridge/-/sdk-evm-tokenbridge-0.8.0.tgz", - "integrity": "sha512-1HPX1nmM2diiohlAlu2lf7pN90MZlgTAs1yadZzf4EaNgwLigTMc8QGnwAc+sjH1xFUBNouop2rQhaCK4rW+eQ==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-evm-tokenbridge/-/sdk-evm-tokenbridge-0.8.2.tgz", + "integrity": "sha512-GJ8mB6Jo0B1NQ87aQx1QZu9uvF3zbffG9pIdifxso1ArSztRGZ147QQRgzIqqWOTgrwPlquhOvmERlAr9rC0KA==", "dependencies": { - "@wormhole-foundation/sdk-connect": "0.8.0", - "@wormhole-foundation/sdk-evm": "0.8.0", - "@wormhole-foundation/sdk-evm-core": "0.8.0", + "@wormhole-foundation/sdk-connect": "0.8.2", + "@wormhole-foundation/sdk-evm": "0.8.2", + "@wormhole-foundation/sdk-evm-core": "0.8.2", "ethers": "^6.5.1" }, "engines": { @@ -4028,45 +4037,45 @@ "link": true }, "node_modules/@wormhole-foundation/sdk-solana": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana/-/sdk-solana-0.8.0.tgz", - "integrity": "sha512-Z0hr3vEGR3SmsMWjjWVCubJ6K2pV12AICQ9Sao5VhbaGe9Vic3RQHfyVkV68WZQHsjg2Sy+w6ecSvKcXz7N7dw==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana/-/sdk-solana-0.8.2.tgz", + "integrity": "sha512-quCy84MHhNSfxnvTEL5PcnzgyDebeyavMiQcnkEuNrSdYVR0TjQuz37uppz/e5JXdOHV3scX/BSETPaNjTgP+Q==", "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.8.0" + "@wormhole-foundation/sdk-connect": "0.8.2" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-solana-cctp": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-cctp/-/sdk-solana-cctp-0.8.0.tgz", - "integrity": "sha512-aLffWyg7FUuGOT9gp3idpgsfBQIjci3aB3i5HUjrq7G9749luJpDNyADRh4oefsI7RMZ9wkPTDkL/Mhv0etPig==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-cctp/-/sdk-solana-cctp-0.8.2.tgz", + "integrity": "sha512-ToFpUZ9k3QFEJb9I5RYQEPto/5l/PJuEGka/IgRS2Fm+7undhSEWkfDShbxkQSqFyfJe/lYUKEjmZBDjUy0qSg==", "dependencies": { "@coral-xyz/anchor": "0.29.0", "@solana/spl-token": "0.3.9", "@solana/web3.js": "1.91.7", - "@wormhole-foundation/sdk-connect": "0.8.0", - "@wormhole-foundation/sdk-solana": "0.8.0" + "@wormhole-foundation/sdk-connect": "0.8.2", + "@wormhole-foundation/sdk-solana": "0.8.2" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-solana-core": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-core/-/sdk-solana-core-0.8.0.tgz", - "integrity": "sha512-aHWSNnNysogA82eyCYtpyvuYIQsdU7OKd5So+e454Poe0jVj4wFG4hXVA9Cgww1801EnhvR/yk86OjxecxwhDA==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-core/-/sdk-solana-core-0.8.2.tgz", + "integrity": "sha512-mG4h2sCQu6AevQcHlG1b1qy3CDQny7FdL/HBiO5+TusT2j7L82XzyIA2t1bvQylhCrWXbZU9AcQ/uvQpUtwyrw==", "dependencies": { "@coral-xyz/anchor": "0.29.0", "@coral-xyz/borsh": "0.29.0", "@solana/web3.js": "1.91.7", - "@wormhole-foundation/sdk-connect": "0.8.0", - "@wormhole-foundation/sdk-solana": "0.8.0" + "@wormhole-foundation/sdk-connect": "0.8.2", + "@wormhole-foundation/sdk-solana": "0.8.2" }, "engines": { "node": ">=16" @@ -4077,55 +4086,55 @@ "link": true }, "node_modules/@wormhole-foundation/sdk-solana-tokenbridge": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-tokenbridge/-/sdk-solana-tokenbridge-0.8.0.tgz", - "integrity": "sha512-ei0Pvi7kLUgYZYiH1NGPdNamoDfEitUsjaurd7yqb0eEUS4orwOJZxjehuVyh/zQfQDivVozO8kDSA20SQp1Lw==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-solana-tokenbridge/-/sdk-solana-tokenbridge-0.8.2.tgz", + "integrity": "sha512-gwoVW7hk2QBhbxmcvUP4DZNKdWbDAvZbgmgLWVsc09inW3h163d/42Q+6lw4RX7EMIgkImYZPWcqdNToEEK8rQ==", "dependencies": { "@coral-xyz/anchor": "0.29.0", "@solana/spl-token": "0.3.9", "@solana/web3.js": "1.91.7", - "@wormhole-foundation/sdk-connect": "0.8.0", - "@wormhole-foundation/sdk-solana": "0.8.0", - "@wormhole-foundation/sdk-solana-core": "0.8.0" + "@wormhole-foundation/sdk-connect": "0.8.2", + "@wormhole-foundation/sdk-solana": "0.8.2", + "@wormhole-foundation/sdk-solana-core": "0.8.2" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-sui": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui/-/sdk-sui-0.8.0.tgz", - "integrity": "sha512-aHoVGA8OCJd7CsGvgRRGiq6YdphwBlSjYJ9M6UgGcwk1Jh3QaGQ40fS5ZeIW+XH13msyi7zinLev8N3ZddIaAg==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui/-/sdk-sui-0.8.2.tgz", + "integrity": "sha512-iJofw+xG4HfxTRwABf1QhfpMZrrB1/KkwFaj07YprlRoqCf0JgDAgNAaFcIzdAeF4fWW2xhIHi3qcTyVPLgFMw==", "dependencies": { "@mysten/sui.js": "^0.50.1", - "@wormhole-foundation/sdk-connect": "0.8.0" + "@wormhole-foundation/sdk-connect": "0.8.2" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-sui-core": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui-core/-/sdk-sui-core-0.8.0.tgz", - "integrity": "sha512-UBM06CtbKFHcLiv+oBYfuxFF5sk+bkgK0oQhZ7qebskGE6WK14OR08Npn0p8N/61NNDm2KYeP2fC2SeXiokt9Q==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui-core/-/sdk-sui-core-0.8.2.tgz", + "integrity": "sha512-INnDSdGGsnkR/Yuqf6K3QKCTxShjXU768rvWNjt5Qb/QK/5Wxr0UOE5korNdmeSIYNvS3s92QUu9tG7osmoe+g==", "dependencies": { "@mysten/sui.js": "^0.50.1", - "@wormhole-foundation/sdk-connect": "0.8.0", - "@wormhole-foundation/sdk-sui": "0.8.0" + "@wormhole-foundation/sdk-connect": "0.8.2", + "@wormhole-foundation/sdk-sui": "0.8.2" }, "engines": { "node": ">=16" } }, "node_modules/@wormhole-foundation/sdk-sui-tokenbridge": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui-tokenbridge/-/sdk-sui-tokenbridge-0.8.0.tgz", - "integrity": "sha512-uzqUmrm7xJ2qkf98iTf+hg4EtGHa83UpTAusbZJ1AJHErW/kWb+wRfJluUL1TtSSymbX3jOi0CIJTwCUSzCrmQ==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@wormhole-foundation/sdk-sui-tokenbridge/-/sdk-sui-tokenbridge-0.8.2.tgz", + "integrity": "sha512-3bmpF2BrE91mgdaYAUvdb7Jq9SJxYUnh2W7lZKgcFAkw9+ueq3zpkDGiZhUXj0wwEmVpHoPiEj8pGoUqHJNWfw==", "dependencies": { "@mysten/sui.js": "^0.50.1", - "@wormhole-foundation/sdk-connect": "0.8.0", - "@wormhole-foundation/sdk-sui": "0.8.0", - "@wormhole-foundation/sdk-sui-core": "0.8.0" + "@wormhole-foundation/sdk-connect": "0.8.2", + "@wormhole-foundation/sdk-sui": "0.8.2", + "@wormhole-foundation/sdk-sui-core": "0.8.2" }, "engines": { "node": ">=16" @@ -12667,15 +12676,6 @@ "resolved": "https://registry.npmjs.org/vlq/-/vlq-2.0.4.tgz", "integrity": "sha512-aodjPa2wPQFkra1G8CzJBTHXhgk3EVSwxSWXNPr1fgdFLUb8kvLV1iEb6rFgasIsjP82HWI6dsb5Io26DDnasA==" }, - "node_modules/vue-template-compiler": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", - "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", - "dependencies": { - "de-indent": "^1.0.2", - "he": "^1.2.0" - } - }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -12965,12 +12965,12 @@ "name": "@wormhole-foundation/sdk-definitions-ntt", "version": "0.1.0-beta.0", "dependencies": { - "@wormhole-foundation/sdk-base": "^0.8", - "@wormhole-foundation/sdk-definitions": "^0.8" + "@wormhole-foundation/sdk-base": "^0.8.2", + "@wormhole-foundation/sdk-definitions": "^0.8.2" }, "peerDependencies": { - "@wormhole-foundation/sdk-base": "^0.8", - "@wormhole-foundation/sdk-definitions": "^0.8" + "@wormhole-foundation/sdk-base": "^0.8.2", + "@wormhole-foundation/sdk-definitions": "^0.8.2" } }, "sdk/evm": { @@ -12999,7 +12999,7 @@ "version": "0.1.0-beta.0", "license": "Apache-2.0", "dependencies": { - "@wormhole-foundation/sdk": "^0.8", + "@wormhole-foundation/sdk": "^0.8.2", "@wormhole-foundation/sdk-definitions-ntt": "0.1.0-beta.0", "@wormhole-foundation/sdk-evm-ntt": "0.1.0-beta.0", "@wormhole-foundation/sdk-route-ntt": "0.1.0-beta.0", @@ -13032,7 +13032,7 @@ "version": "0.1.0-beta.0", "license": "Apache-2.0", "dependencies": { - "@wormhole-foundation/sdk-connect": "^0.8", + "@wormhole-foundation/sdk-connect": "^0.8.2", "@wormhole-foundation/sdk-definitions-ntt": "0.1.0-beta.0", "@wormhole-foundation/sdk-evm-ntt": "0.1.0-beta.0", "@wormhole-foundation/sdk-solana-ntt": "0.1.0-beta.0" @@ -13046,7 +13046,7 @@ "node": ">=16" }, "peerDependencies": { - "@wormhole-foundation/sdk-connect": "^0.8", + "@wormhole-foundation/sdk-connect": "^0.8.2", "@wormhole-foundation/sdk-definitions-ntt": "0.1.0-beta.0", "@wormhole-foundation/sdk-evm-ntt": "0.1.0-beta.0", "@wormhole-foundation/sdk-solana-ntt": "0.1.0-beta.0" @@ -13061,10 +13061,10 @@ "@coral-xyz/borsh": "0.29.0", "@solana/spl-token": "0.4.0", "@solana/web3.js": "1.91.7", - "@wormhole-foundation/sdk-base": "^0.8", - "@wormhole-foundation/sdk-definitions": "^0.8", - "@wormhole-foundation/sdk-solana": "^0.8", - "@wormhole-foundation/sdk-solana-core": "^0.8", + "@wormhole-foundation/sdk-base": "^0.8.2", + "@wormhole-foundation/sdk-definitions": "^0.8.2", + "@wormhole-foundation/sdk-solana": "^0.8.2", + "@wormhole-foundation/sdk-solana-core": "^0.8.2", "bn.js": "5.2.1" }, "devDependencies": { @@ -13078,11 +13078,11 @@ "node": ">=16" }, "peerDependencies": { - "@wormhole-foundation/sdk-base": "^0.8", - "@wormhole-foundation/sdk-definitions": "^0.8", + "@wormhole-foundation/sdk-base": "^0.8.2", + "@wormhole-foundation/sdk-definitions": "^0.8.2", "@wormhole-foundation/sdk-definitions-ntt": "0.1.0-beta.0", - "@wormhole-foundation/sdk-solana": "^0.8", - "@wormhole-foundation/sdk-solana-core": "^0.8" + "@wormhole-foundation/sdk-solana": "^0.8.2", + "@wormhole-foundation/sdk-solana-core": "^0.8.2" } }, "solana/node_modules/@solana/codecs-core": { diff --git a/package.json b/package.json index 14d0ea6dc..fb036152d 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "version": "tsx setSdkVersion.ts" }, "devDependencies": { - "@wormhole-foundation/sdk": "^0.8", + "@wormhole-foundation/sdk": "^0.8.2", "@solana/spl-token": "0.3.9", "@solana/web3.js": "1.91.7", "@types/jest": "^29.5.12", diff --git a/sdk/definitions/package.json b/sdk/definitions/package.json index 3ccd07964..d958319a0 100644 --- a/sdk/definitions/package.json +++ b/sdk/definitions/package.json @@ -49,12 +49,12 @@ "test": "jest --config ./jest.config.ts" }, "dependencies": { - "@wormhole-foundation/sdk-base": "^0.8", - "@wormhole-foundation/sdk-definitions": "^0.8" + "@wormhole-foundation/sdk-base": "^0.8.2", + "@wormhole-foundation/sdk-definitions": "^0.8.2" }, "peerDependencies": { - "@wormhole-foundation/sdk-base": "^0.8", - "@wormhole-foundation/sdk-definitions": "^0.8" + "@wormhole-foundation/sdk-base": "^0.8.2", + "@wormhole-foundation/sdk-definitions": "^0.8.2" }, "type": "module" } diff --git a/sdk/examples/package.json b/sdk/examples/package.json index bb6740ce5..8e3946fbe 100644 --- a/sdk/examples/package.json +++ b/sdk/examples/package.json @@ -32,7 +32,7 @@ "tsx": "^4.7.2" }, "dependencies": { - "@wormhole-foundation/sdk": "^0.8", + "@wormhole-foundation/sdk": "^0.8.2", "@wormhole-foundation/sdk-definitions-ntt": "0.1.0-beta.0", "@wormhole-foundation/sdk-evm-ntt": "0.1.0-beta.0", "@wormhole-foundation/sdk-solana-ntt": "0.1.0-beta.0", diff --git a/sdk/route/package.json b/sdk/route/package.json index 8f9c15954..521c74eae 100644 --- a/sdk/route/package.json +++ b/sdk/route/package.json @@ -48,10 +48,10 @@ "@wormhole-foundation/sdk-definitions-ntt": "0.1.0-beta.0", "@wormhole-foundation/sdk-solana-ntt": "0.1.0-beta.0", "@wormhole-foundation/sdk-evm-ntt": "0.1.0-beta.0", - "@wormhole-foundation/sdk-connect": "^0.8" + "@wormhole-foundation/sdk-connect": "^0.8.2" }, "peerDependencies": { - "@wormhole-foundation/sdk-connect": "^0.8", + "@wormhole-foundation/sdk-connect": "^0.8.2", "@wormhole-foundation/sdk-definitions-ntt": "0.1.0-beta.0", "@wormhole-foundation/sdk-solana-ntt": "0.1.0-beta.0", "@wormhole-foundation/sdk-evm-ntt": "0.1.0-beta.0" diff --git a/sdk/route/src/automatic.ts b/sdk/route/src/automatic.ts index bb7e7d623..02aa56048 100644 --- a/sdk/route/src/automatic.ts +++ b/sdk/route/src/automatic.ts @@ -9,10 +9,12 @@ import { RedeemedTransferReceipt, Signer, TokenId, + TransactionId, TransferState, Wormhole, WormholeMessageId, amount, + canonicalAddress, chainToPlatform, isAttested, isDestinationQueued, @@ -235,6 +237,87 @@ export class NttAutomaticRoute }; } + async resume(tx: TransactionId): Promise { + const vaa = await this.wh.getVaa( + tx.txid, + "Ntt:WormholeTransferStandardRelayer" + ); + if (!vaa) throw new Error("No VAA found for transaction: " + tx.txid); + + const msgId: WormholeMessageId = { + chain: vaa.emitterChain, + emitter: vaa.emitterAddress, + sequence: vaa.sequence, + }; + + const { payload } = vaa.payload; + const { recipientChain, trimmedAmount } = + payload["nttManagerPayload"].payload; + + const token = canonicalAddress({ + chain: vaa.emitterChain, + address: payload["nttManagerPayload"].payload.sourceToken, + }); + const manager = canonicalAddress({ + chain: vaa.emitterChain, + address: payload["sourceNttManager"], + }); + const whTransceiver = + vaa.emitterChain === "Solana" + ? manager + : canonicalAddress({ + chain: vaa.emitterChain, + address: vaa.emitterAddress, + }); + + const dstInfo = NttRoute.resolveDestinationNttContracts( + this.staticConfig, + { + chain: vaa.emitterChain, + address: payload["sourceNttManager"], + }, + recipientChain + ); + + const amt = amount.fromBaseUnits( + trimmedAmount.amount, + trimmedAmount.decimals + ); + + return { + from: vaa.emitterChain, + to: recipientChain, + state: TransferState.Attested, + originTxs: [tx], + attestation: { + id: msgId, + attestation: vaa, + }, + params: { + amount: amount.display(amt), + options: { automatic: true }, + normalizedParams: { + amount: amt, + options: { queue: false, automatic: true }, + sourceContracts: { + token, + manager, + transceiver: { + wormhole: whTransceiver, + }, + }, + destinationContracts: { + token: dstInfo.token, + manager: dstInfo.manager, + transceiver: { + wormhole: dstInfo.transceiver.wormhole, + }, + }, + }, + }, + }; + } + // Even though this is an automatic route, the transfer may need to be // manually finalized if it was queued async finalize(signer: Signer, receipt: R): Promise { diff --git a/sdk/route/src/manual.ts b/sdk/route/src/manual.ts index 4b23b6b09..24fff76fa 100644 --- a/sdk/route/src/manual.ts +++ b/sdk/route/src/manual.ts @@ -9,10 +9,12 @@ import { RedeemedTransferReceipt, Signer, TokenId, + TransactionId, TransferState, Wormhole, WormholeMessageId, amount, + canonicalAddress, isAttested, isDestinationQueued, isRedeemed, @@ -224,6 +226,83 @@ export class NttManualRoute }; } + async resume(tx: TransactionId): Promise { + const vaa = await this.wh.getVaa(tx.txid, "Ntt:WormholeTransfer"); + if (!vaa) throw new Error("No VAA found for transaction: " + tx.txid); + + const msgId: WormholeMessageId = { + chain: vaa.emitterChain, + emitter: vaa.emitterAddress, + sequence: vaa.sequence, + }; + + const { recipientChain, trimmedAmount } = + vaa.payload["nttManagerPayload"].payload; + + const token = canonicalAddress({ + chain: vaa.emitterChain, + address: vaa.payload["nttManagerPayload"].payload.sourceToken, + }); + const manager = canonicalAddress({ + chain: vaa.emitterChain, + address: vaa.payload["sourceNttManager"], + }); + const whTransceiver = + vaa.emitterChain === "Solana" + ? manager + : canonicalAddress({ + chain: vaa.emitterChain, + address: vaa.emitterAddress, + }); + + const dstInfo = NttRoute.resolveDestinationNttContracts( + this.staticConfig, + { + chain: vaa.emitterChain, + address: vaa.payload["sourceNttManager"], + }, + recipientChain + ); + + const amt = amount.fromBaseUnits( + trimmedAmount.amount, + trimmedAmount.decimals + ); + + return { + from: vaa.emitterChain, + to: recipientChain, + state: TransferState.Attested, + originTxs: [tx], + attestation: { + id: msgId, + attestation: vaa, + }, + params: { + amount: amount.display(amt), + options: { automatic: false }, + normalizedParams: { + amount: amt, + options: { queue: false }, + sourceContracts: { + token, + manager, + transceiver: { + wormhole: whTransceiver, + }, + }, + destinationContracts: { + token: dstInfo.token, + manager: dstInfo.manager, + transceiver: { + wormhole: dstInfo.transceiver.wormhole, + }, + }, + }, + }, + }; + } + async finalize(signer: Signer, receipt: R): Promise { if (!isDestinationQueued(receipt)) { throw new Error( diff --git a/sdk/route/src/types.ts b/sdk/route/src/types.ts index 0c244d592..013ecff57 100644 --- a/sdk/route/src/types.ts +++ b/sdk/route/src/types.ts @@ -1,5 +1,6 @@ import { Chain, + ChainAddress, ChainContext, Network, TokenId, @@ -168,6 +169,40 @@ export namespace NttRoute { throw new Error("Cannot find Ntt contracts in config for: " + address); } + export function resolveDestinationNttContracts( + config: Config, + srcManager: ChainAddress, + dstChain: Chain + ): Ntt.Contracts { + const cfg = Object.values(config.tokens); + const address = canonicalAddress(srcManager); + for (const tokens of cfg) { + const found = tokens.find( + (tc) => + tc.manager.toLowerCase() === address.toLowerCase() && + tc.chain === srcManager.chain + ); + if (found) { + const remote = tokens.find((tc) => tc.chain === dstChain); + if (!remote) { + throw new Error( + `Cannot find destination Ntt contracts in config for: ${address}` + ); + } + return { + token: remote.token, + manager: remote.manager, + transceiver: { + wormhole: remote.transceiver.find((v) => v.type === "wormhole")! + .address, + }, + quoter: remote.quoter, + }; + } + } + throw new Error("Cannot find Ntt contracts in config for: " + address); + } + // returns true if the amount is greater than 95% of the capacity // useful for warning about the possibility of a transfer being queued export function isCapacityThresholdExceeded( diff --git a/solana/package.json b/solana/package.json index 62a3d8b8a..4da930471 100644 --- a/solana/package.json +++ b/solana/package.json @@ -54,16 +54,16 @@ "@solana/spl-token": "0.4.0", "@solana/web3.js": "1.91.7", "bn.js": "5.2.1", - "@wormhole-foundation/sdk-base": "^0.8", - "@wormhole-foundation/sdk-definitions": "^0.8", - "@wormhole-foundation/sdk-solana": "^0.8", - "@wormhole-foundation/sdk-solana-core": "^0.8" + "@wormhole-foundation/sdk-base": "^0.8.2", + "@wormhole-foundation/sdk-definitions": "^0.8.2", + "@wormhole-foundation/sdk-solana": "^0.8.2", + "@wormhole-foundation/sdk-solana-core": "^0.8.2" }, "peerDependencies": { - "@wormhole-foundation/sdk-base": "^0.8", - "@wormhole-foundation/sdk-definitions": "^0.8", - "@wormhole-foundation/sdk-solana": "^0.8", - "@wormhole-foundation/sdk-solana-core": "^0.8", + "@wormhole-foundation/sdk-base": "^0.8.2", + "@wormhole-foundation/sdk-definitions": "^0.8.2", + "@wormhole-foundation/sdk-solana": "^0.8.2", + "@wormhole-foundation/sdk-solana-core": "^0.8.2", "@wormhole-foundation/sdk-definitions-ntt": "0.1.0-beta.0" }, "type": "module",