diff --git a/package.json b/package.json index 4a7d35ff..e433397e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@hyperlane-xyz/warp-ui-template", "description": "A web app template for building Hyperlane Warp Route UIs", - "version": "5.0.0", + "version": "5.1.0", "author": "J M Rossy", "dependencies": { "@chakra-ui/next-js": "^2.2.0", @@ -13,13 +13,14 @@ "@cosmos-kit/keplr": "^2.12.2", "@cosmos-kit/leap": "^2.12.2", "@cosmos-kit/react": "^2.18.0", + "@drift-labs/snap-wallet-adapter": "^0.3.0", "@emotion/react": "^11.13.0", "@emotion/styled": "^11.13.0", "@headlessui/react": "^1.7.14", - "@hyperlane-xyz/registry": "2.4.0", - "@hyperlane-xyz/sdk": "5.1.0", - "@hyperlane-xyz/utils": "5.1.0", - "@hyperlane-xyz/widgets": "5.1.0", + "@hyperlane-xyz/registry": "4.2.0", + "@hyperlane-xyz/sdk": "5.2.0-beta.1", + "@hyperlane-xyz/utils": "5.2.0-beta.1", + "@hyperlane-xyz/widgets": "5.2.0-beta.1", "@interchain-ui/react": "^1.23.28", "@metamask/jazzicon": "https://github.com/jmrossy/jazzicon#7a8df28974b4e81129bfbe3cab76308b889032a6", "@metamask/post-message-stream": "6.1.2", @@ -92,6 +93,7 @@ }, "types": "dist/src/index.d.ts", "resolutions": { + "@solana/web3.js": "^1.78.4", "axios": "0.27.2", "bn.js": "^5.2", "cosmjs-types": "0.9", diff --git a/src/consts/chains.ts b/src/consts/chains.ts index 9083e108..1ee848df 100644 --- a/src/consts/chains.ts +++ b/src/consts/chains.ts @@ -1,3 +1,9 @@ +import { + eclipsemainnet, + eclipsemainnetAddresses, + solanamainnet, + solanamainnetAddresses, +} from '@hyperlane-xyz/registry'; import { ChainMap, ChainMetadata } from '@hyperlane-xyz/sdk'; // A map of chain names to ChainMetadata @@ -5,6 +11,19 @@ import { ChainMap, ChainMetadata } from '@hyperlane-xyz/sdk'; // Chains already in the SDK need not be included here unless you want to override some fields // Schema here: https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/typescript/sdk/src/metadata/chainMetadataTypes.ts export const chains: ChainMap = { + solanamainnet: { + ...solanamainnet, + // SVM chains require mailbox addresses for the token adapters + mailbox: solanamainnetAddresses.mailbox, + // Including a convenient rpc override because the Solana public RPC does not allow browser requests from localhost + rpcUrls: process.env.NEXT_PUBLIC_SOLANA_RPC_URL + ? [{ http: process.env.NEXT_PUBLIC_SOLANA_RPC_URL }, ...solanamainnet.rpcUrls] + : solanamainnet.rpcUrls, + }, + eclipsemainnet: { + ...eclipsemainnet, + mailbox: eclipsemainnetAddresses.mailbox, + }, // mycustomchain: { // protocol: ProtocolType.Ethereum, // chainId: 123123, diff --git a/src/features/chains/utils.ts b/src/features/chains/utils.ts index 645bff85..e638b9e2 100644 --- a/src/features/chains/utils.ts +++ b/src/features/chains/utils.ts @@ -1,9 +1,10 @@ -import { CoreChain, CoreChains } from '@hyperlane-xyz/registry'; import { ChainNameOrId } from '@hyperlane-xyz/sdk'; import { ProtocolType, toTitleCase } from '@hyperlane-xyz/utils'; import { getMultiProvider } from '../../context/context'; +const ABACUS_WORKS_DEPLOYER_NAME = 'abacus works'; + export function getChainDisplayName(chain: ChainName, shortName = false) { if (!chain) return 'Unknown'; const metadata = tryGetChainMetadata(chain); @@ -14,9 +15,10 @@ export function getChainDisplayName(chain: ChainName, shortName = false) { export function isPermissionlessChain(chain: ChainName) { if (!chain) return true; + const metadata = tryGetChainMetadata(chain); return ( - getChainMetadata(chain).protocol !== ProtocolType.Ethereum || - !CoreChains.includes(chain as CoreChain) + metadata?.protocol !== ProtocolType.Ethereum || + metadata.deployer?.name.trim().toLowerCase() !== ABACUS_WORKS_DEPLOYER_NAME ); } @@ -24,11 +26,11 @@ export function hasPermissionlessChain(ids: ChainName[]) { return !ids.every((c) => !isPermissionlessChain(c)); } -export function getChainByRpcEndpoint(endpoint?: string) { - if (!endpoint) return undefined; +export function getChainByRpcUrl(url?: string) { + if (!url) return undefined; const allMetadata = Object.values(getMultiProvider().metadata); return allMetadata.find( - (m) => !!m.rpcUrls.find((rpc) => rpc.http.toLowerCase().includes(endpoint.toLowerCase())), + (m) => !!m.rpcUrls.find((rpc) => rpc.http.toLowerCase().includes(url.toLowerCase())), ); } diff --git a/src/features/transfer/TransferTokenForm.tsx b/src/features/transfer/TransferTokenForm.tsx index 6d37609d..499d35ee 100644 --- a/src/features/transfer/TransferTokenForm.tsx +++ b/src/features/transfer/TransferTokenForm.tsx @@ -427,7 +427,8 @@ function useFormInitialValues(): TransferFormValues { }, []); } -const insufficientFundsErrMsg = /insufficient.funds/i; +const insufficientFundsErrMsg = /insufficient.[funds|lamports]/i; +const emptyAccountErrMsg = /AccountNotFound/i; async function validateForm( values: TransferFormValues, @@ -447,10 +448,11 @@ async function validateForm( senderPubKey: await senderPubKey, }); return result; - } catch (error) { + } catch (error: any) { logger.error('Error validating form', error); let errorMsg = errorToString(error, 40); - if (insufficientFundsErrMsg.test(errorMsg)) { + const fullError = `${errorMsg} ${error.message}`; + if (insufficientFundsErrMsg.test(fullError) || emptyAccountErrMsg.test(fullError)) { errorMsg = 'Insufficient funds for gas fees'; } return { form: errorMsg }; diff --git a/src/features/wallet/WalletEnvSelectionModal.tsx b/src/features/wallet/WalletEnvSelectionModal.tsx index c2872f55..9c698976 100644 --- a/src/features/wallet/WalletEnvSelectionModal.tsx +++ b/src/features/wallet/WalletEnvSelectionModal.tsx @@ -1,7 +1,7 @@ import Image from 'next/image'; import { PropsWithChildren } from 'react'; -import { ethereum, solana } from '@hyperlane-xyz/registry'; +import { ethereum, solanamainnet } from '@hyperlane-xyz/registry'; import { ProtocolType } from '@hyperlane-xyz/utils'; import { ChainLogo } from '../../components/icons/ChainLogo'; @@ -31,7 +31,7 @@ export function WalletEnvSelectionModal({ isOpen, close }: { isOpen: boolean; cl Solana diff --git a/src/features/wallet/context/SolanaWalletContext.tsx b/src/features/wallet/context/SolanaWalletContext.tsx index 1eacdc4b..535a75c9 100644 --- a/src/features/wallet/context/SolanaWalletContext.tsx +++ b/src/features/wallet/context/SolanaWalletContext.tsx @@ -1,10 +1,13 @@ +import { SnapWalletAdapter } from '@drift-labs/snap-wallet-adapter'; import { WalletAdapterNetwork, WalletError } from '@solana/wallet-adapter-base'; import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react'; import { WalletModalProvider } from '@solana/wallet-adapter-react-ui'; import '@solana/wallet-adapter-react-ui/styles.css'; import { + BackpackWalletAdapter, LedgerWalletAdapter, PhantomWalletAdapter, + SalmonWalletAdapter, SolflareWalletAdapter, TrustWalletAdapter, } from '@solana/wallet-adapter-wallets'; @@ -16,12 +19,15 @@ import { logger } from '../../../utils/logger'; export function SolanaWalletContext({ children }: PropsWithChildren) { // TODO support multiple networks - const network = WalletAdapterNetwork.Devnet; + const network = WalletAdapterNetwork.Mainnet; const endpoint = useMemo(() => clusterApiUrl(network), [network]); const wallets = useMemo( () => [ new PhantomWalletAdapter(), new SolflareWalletAdapter(), + new BackpackWalletAdapter(), + new SalmonWalletAdapter(), + new SnapWalletAdapter(), new TrustWalletAdapter(), new LedgerWalletAdapter(), ], diff --git a/src/features/wallet/hooks/solana.ts b/src/features/wallet/hooks/solana.ts index df6e9e38..8e54f415 100644 --- a/src/features/wallet/hooks/solana.ts +++ b/src/features/wallet/hooks/solana.ts @@ -2,14 +2,13 @@ import { useConnection, useWallet } from '@solana/wallet-adapter-react'; import { useWalletModal } from '@solana/wallet-adapter-react-ui'; import { Connection } from '@solana/web3.js'; import { useCallback, useMemo } from 'react'; -import { toast } from 'react-toastify'; import { ProviderType, TypedTransactionReceipt, WarpTypedTransaction } from '@hyperlane-xyz/sdk'; import { ProtocolType } from '@hyperlane-xyz/utils'; import { getMultiProvider } from '../../../context/context'; import { logger } from '../../../utils/logger'; -import { getChainByRpcEndpoint } from '../../chains/utils'; +import { getChainByRpcUrl } from '../../chains/utils'; import { AccountInfo, ActiveChainInfo, ChainTransactionFns, WalletDetails } from './types'; @@ -55,12 +54,18 @@ export function useSolActiveChain(): ActiveChainInfo { const { connection } = useConnection(); const connectionEndpoint = connection?.rpcEndpoint; return useMemo(() => { - const metadata = getChainByRpcEndpoint(connectionEndpoint); - if (!metadata) return {}; - return { - chainDisplayName: metadata.displayName, - chainName: metadata.name, - }; + try { + const hostname = new URL(connectionEndpoint).hostname; + const metadata = getChainByRpcUrl(hostname); + if (!metadata) return {}; + return { + chainDisplayName: metadata.displayName, + chainName: metadata.name, + }; + } catch (error) { + logger.warn('Error finding sol active chain', error); + return {}; + } }, [connectionEndpoint]); } @@ -68,7 +73,7 @@ export function useSolTransactionFns(): ChainTransactionFns { const { sendTransaction: sendSolTransaction } = useWallet(); const onSwitchNetwork = useCallback(async (chainName: ChainName) => { - toast.warn(`Solana wallet must be connected to origin chain ${chainName}}`); + logger.warn(`Solana wallet must be connected to origin chain ${chainName}`); }, []); const onSendTx = useCallback( diff --git a/yarn.lock b/yarn.lock index 66caab02..eebd2f01 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1132,7 +1132,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.22.6": +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.21.0": version: 7.23.2 resolution: "@babel/runtime@npm:7.23.2" dependencies: @@ -1141,6 +1141,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.25.0": + version: 7.25.6 + resolution: "@babel/runtime@npm:7.25.6" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 0c4134734deb20e1005ffb9165bf342e1074576621b246d8e5e41cc7cb315a885b7d98950fbf5c63619a2990a56ae82f444d35fe8c4691a0b70c2fe5673667dc + languageName: node + linkType: hard + "@babel/template@npm:^7.22.5, @babel/template@npm:^7.3.3": version: 7.22.5 resolution: "@babel/template@npm:7.22.5" @@ -2974,6 +2983,17 @@ __metadata: languageName: node linkType: hard +"@drift-labs/snap-wallet-adapter@npm:^0.3.0": + version: 0.3.0 + resolution: "@drift-labs/snap-wallet-adapter@npm:0.3.0" + dependencies: + "@solana/wallet-adapter-base": "npm:^0.9.22" + "@solana/web3.js": "npm:^1.76.0" + typescript: "npm:^5.0.4" + checksum: 6220e7d742b71fdab2c355f9f81217b7ef17ad29c6a732833ef432866c182c236711383aac0cdc21180a1af50533ce56d014c0281555229dc510f50ac331d16d + languageName: node + linkType: hard + "@emotion/babel-plugin@npm:^11.12.0": version: 11.12.0 resolution: "@emotion/babel-plugin@npm:11.12.0" @@ -3919,13 +3939,13 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:5.1.0": - version: 5.1.0 - resolution: "@hyperlane-xyz/core@npm:5.1.0" +"@hyperlane-xyz/core@npm:5.2.0-beta.1": + version: 5.2.0-beta.1 + resolution: "@hyperlane-xyz/core@npm:5.2.0-beta.1" dependencies: "@arbitrum/nitro-contracts": "npm:^1.2.1" "@eth-optimism/contracts": "npm:^0.6.0" - "@hyperlane-xyz/utils": "npm:5.1.0" + "@hyperlane-xyz/utils": "npm:5.2.0-beta.1" "@layerzerolabs/lz-evm-oapp-v2": "npm:2.0.2" "@openzeppelin/contracts": "npm:^4.9.3" "@openzeppelin/contracts-upgradeable": "npm:^v4.9.3" @@ -3934,42 +3954,43 @@ __metadata: "@ethersproject/abi": "*" "@ethersproject/providers": "*" "@types/sinon-chai": "*" - checksum: 81fd921a06b0d289070afac8e352d8dd38bf9219dea62e6fa3dcc2082b0ae39c23810fb4fe669b1933566fa1dfb7930f25307cbca2361b7e848152e9dc4e6014 + checksum: a3e5e96c9d97887f8db575e72e2c1beeceec38e80a117241d62e54f7ea6efcdb5f7ebda7799519de835d9087db7230c8c8a93ab3fa4c68879379ab70e1816dda languageName: node linkType: hard -"@hyperlane-xyz/registry@npm:2.4.0": - version: 2.4.0 - resolution: "@hyperlane-xyz/registry@npm:2.4.0" +"@hyperlane-xyz/registry@npm:4.1.0": + version: 4.1.0 + resolution: "@hyperlane-xyz/registry@npm:4.1.0" dependencies: - yaml: "npm:^2" + yaml: "npm:2.4.5" zod: "npm:^3.21.2" - checksum: 18541e1b2d20a0e750d58e37e043bc22b9683cfc68de7865d2c8d269c50d3ee2255029530b15b61f93e854a18d36a3e367011286c3c1456730fb3362d74f31ac + checksum: 5de3ef5539abfaadbfefb82e6e69fdb2413f404d8321456c91810fb50a5a70e9f93b38789495efce6ab5963682536e95a2abe636c7d0ad91ee158cc0ce6b063a languageName: node linkType: hard -"@hyperlane-xyz/registry@npm:2.5.0": - version: 2.5.0 - resolution: "@hyperlane-xyz/registry@npm:2.5.0" +"@hyperlane-xyz/registry@npm:4.2.0": + version: 4.2.0 + resolution: "@hyperlane-xyz/registry@npm:4.2.0" dependencies: - yaml: "npm:^2" + yaml: "npm:2.4.5" zod: "npm:^3.21.2" - checksum: 24f433c0938dc31913b0f7a93b880a9aa15eabebf664eb11f319c51f6b38163929429405dd996b8964f8a2f43dfa4ba5424b157ad6fd39432653e46e128e0ffc + checksum: 47c985af9511ffd43afb88914e87ede5e6db1ba262c00096955d5e8275a0afda0fa8d6ca5222895bed59a680a06aecf454529853dd6867a1140eabd00b184c21 languageName: node linkType: hard -"@hyperlane-xyz/sdk@npm:5.1.0": - version: 5.1.0 - resolution: "@hyperlane-xyz/sdk@npm:5.1.0" +"@hyperlane-xyz/sdk@npm:5.2.0-beta.1": + version: 5.2.0-beta.1 + resolution: "@hyperlane-xyz/sdk@npm:5.2.0-beta.1" dependencies: "@arbitrum/sdk": "npm:^4.0.0" "@aws-sdk/client-s3": "npm:^3.74.0" "@cosmjs/cosmwasm-stargate": "npm:^0.32.4" "@cosmjs/stargate": "npm:^0.32.4" - "@hyperlane-xyz/core": "npm:5.1.0" - "@hyperlane-xyz/utils": "npm:5.1.0" + "@hyperlane-xyz/core": "npm:5.2.0-beta.1" + "@hyperlane-xyz/utils": "npm:5.2.0-beta.1" "@safe-global/api-kit": "npm:1.3.0" "@safe-global/protocol-kit": "npm:1.3.0" + "@safe-global/safe-deployments": "npm:1.37.3" "@solana/spl-token": "npm:^0.3.8" "@solana/web3.js": "npm:^1.78.0" "@types/coingecko-api": "npm:^1.0.10" @@ -3985,13 +4006,13 @@ __metadata: peerDependencies: "@ethersproject/abi": "*" "@ethersproject/providers": "*" - checksum: 80aaa6836fc1aaa1c10c69b7d80d960daeef9074c763fb2f1161f8d921ca344207117c4a21312ed6bdd80cba6e85ca30c75abab7992273c6da2ff4a953619400 + checksum: aae9648e06ff553dd0cebc313d8ee38df47b349770d94ddccc3ae2f5bafccfe61db33ec55983b0917591968cddda380643f01fd619909a6ee67e8391b4b94ddf languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:5.1.0": - version: 5.1.0 - resolution: "@hyperlane-xyz/utils@npm:5.1.0" +"@hyperlane-xyz/utils@npm:5.2.0-beta.1": + version: 5.2.0-beta.1 + resolution: "@hyperlane-xyz/utils@npm:5.2.0-beta.1" dependencies: "@cosmjs/encoding": "npm:^0.32.4" "@solana/web3.js": "npm:^1.78.0" @@ -3999,8 +4020,8 @@ __metadata: ethers: "npm:^5.7.2" lodash-es: "npm:^4.17.21" pino: "npm:^8.19.0" - yaml: "npm:^2.4.1" - checksum: 3a29c91b0fd8be48833743150299425e26fcf19f6bdbfddddf39e8480cc6587d9c525298d6aaa522a9c854954fb197ef7a11b237b4d48f88c20a75a319453914 + yaml: "npm:2.4.5" + checksum: 1daeb4521dbd9f115f1e660e6fa767d3d2851a09eb9885e155df08863b5ee743a96e2df3eab59c25c5cfa57607e65f2e4703e4209d168e2e9cb4c5c4528a7801 languageName: node linkType: hard @@ -4017,13 +4038,14 @@ __metadata: "@cosmos-kit/keplr": "npm:^2.12.2" "@cosmos-kit/leap": "npm:^2.12.2" "@cosmos-kit/react": "npm:^2.18.0" + "@drift-labs/snap-wallet-adapter": "npm:^0.3.0" "@emotion/react": "npm:^11.13.0" "@emotion/styled": "npm:^11.13.0" "@headlessui/react": "npm:^1.7.14" - "@hyperlane-xyz/registry": "npm:2.4.0" - "@hyperlane-xyz/sdk": "npm:5.1.0" - "@hyperlane-xyz/utils": "npm:5.1.0" - "@hyperlane-xyz/widgets": "npm:5.1.0" + "@hyperlane-xyz/registry": "npm:4.2.0" + "@hyperlane-xyz/sdk": "npm:5.2.0-beta.1" + "@hyperlane-xyz/utils": "npm:5.2.0-beta.1" + "@hyperlane-xyz/widgets": "npm:5.2.0-beta.1" "@interchain-ui/react": "npm:^1.23.28" "@metamask/jazzicon": "https://github.com/jmrossy/jazzicon#7a8df28974b4e81129bfbe3cab76308b889032a6" "@metamask/post-message-stream": "npm:6.1.2" @@ -4075,16 +4097,16 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/widgets@npm:5.1.0": - version: 5.1.0 - resolution: "@hyperlane-xyz/widgets@npm:5.1.0" +"@hyperlane-xyz/widgets@npm:5.2.0-beta.1": + version: 5.2.0-beta.1 + resolution: "@hyperlane-xyz/widgets@npm:5.2.0-beta.1" dependencies: - "@hyperlane-xyz/registry": "npm:2.5.0" - "@hyperlane-xyz/sdk": "npm:5.1.0" + "@hyperlane-xyz/registry": "npm:4.1.0" + "@hyperlane-xyz/sdk": "npm:5.2.0-beta.1" peerDependencies: react: ^18 react-dom: ^18 - checksum: 7a7a28129fa55ea1852f33dc16a527873252e10cf9d6bcc791864c2c9b9cd1c4ea1ef1ecc1a4d3d8a580613ad99548ed33d462eb49da7caf2719f9272e54ec43 + checksum: 87608018a112eb8ae8547309513063901170f202533c05292609d85d98f614630b9bb90b72c2ead5079791657612aed2219e3e897b2e64db7232d00da46bc427 languageName: node linkType: hard @@ -5168,7 +5190,7 @@ __metadata: languageName: node linkType: hard -"@noble/curves@npm:1.2.0, @noble/curves@npm:^1.0.0, @noble/curves@npm:~1.2.0": +"@noble/curves@npm:1.2.0, @noble/curves@npm:~1.2.0": version: 1.2.0 resolution: "@noble/curves@npm:1.2.0" dependencies: @@ -5186,6 +5208,15 @@ __metadata: languageName: node linkType: hard +"@noble/curves@npm:^1.4.2": + version: 1.6.0 + resolution: "@noble/curves@npm:1.6.0" + dependencies: + "@noble/hashes": "npm:1.5.0" + checksum: 9090b5a020b7e38c7b6d21506afaacd0c7557129d716a174334c1efc36385bf3ca6de16a543c216db58055e019c6a6c3bea8d9c0b79386e6bacff5c4c6b438a9 + languageName: node + linkType: hard + "@noble/hashes@npm:1.3.0": version: 1.3.0 resolution: "@noble/hashes@npm:1.3.0" @@ -5193,7 +5224,7 @@ __metadata: languageName: node linkType: hard -"@noble/hashes@npm:1.3.2, @noble/hashes@npm:^1, @noble/hashes@npm:^1.0.0, @noble/hashes@npm:^1.2.0, @noble/hashes@npm:^1.3.0, @noble/hashes@npm:^1.3.1, @noble/hashes@npm:~1.3.0, @noble/hashes@npm:~1.3.2": +"@noble/hashes@npm:1.3.2, @noble/hashes@npm:^1, @noble/hashes@npm:^1.0.0, @noble/hashes@npm:^1.2.0, @noble/hashes@npm:^1.3.0, @noble/hashes@npm:~1.3.0, @noble/hashes@npm:~1.3.2": version: 1.3.2 resolution: "@noble/hashes@npm:1.3.2" checksum: 685f59d2d44d88e738114b71011d343a9f7dce9dfb0a121f1489132f9247baa60bc985e5ec6f3213d114fbd1e1168e7294644e46cbd0ce2eba37994f28eeb51b @@ -5207,6 +5238,13 @@ __metadata: languageName: node linkType: hard +"@noble/hashes@npm:1.5.0": + version: 1.5.0 + resolution: "@noble/hashes@npm:1.5.0" + checksum: da7fc7af52af7afcf59810a7eea6155075464ff462ffda2572dc6d57d53e2669b1ea2ec774e814f6273f1697e567f28d36823776c9bf7068cba2a2855140f26e + languageName: node + linkType: hard + "@noble/hashes@npm:^1.4.0": version: 1.4.0 resolution: "@noble/hashes@npm:1.4.0" @@ -7137,6 +7175,15 @@ __metadata: languageName: node linkType: hard +"@safe-global/safe-deployments@npm:1.37.3": + version: 1.37.3 + resolution: "@safe-global/safe-deployments@npm:1.37.3" + dependencies: + semver: "npm:^7.6.2" + checksum: 3d1fcaac850a1d1100eaa5ff753c88c9bb889c678bb09248323c6b0c9d6228225a88be47973a89bb32829fe2d13ed17c21f854b9fdc29cc1b3c734021761f15c + languageName: node + linkType: hard + "@safe-global/safe-deployments@npm:^1.26.0": version: 1.36.0 resolution: "@safe-global/safe-deployments@npm:1.36.0" @@ -8087,6 +8134,15 @@ __metadata: languageName: node linkType: hard +"@solana/buffer-layout@npm:^4.0.1": + version: 4.0.1 + resolution: "@solana/buffer-layout@npm:4.0.1" + dependencies: + buffer: "npm:~6.0.3" + checksum: c64b996b832b2b7966a09e97f501fdd1409fece8975f7fb47698d7b8addb97504360cfb2f3d1368949c643d23ed9a4c9f79e19bbd721ebe5bf229353252f649e + languageName: node + linkType: hard + "@solana/spl-token@npm:^0.3.8": version: 0.3.8 resolution: "@solana/spl-token@npm:0.3.8" @@ -8775,26 +8831,26 @@ __metadata: languageName: node linkType: hard -"@solana/web3.js@npm:^1.32.0, @solana/web3.js@npm:^1.36.0, @solana/web3.js@npm:^1.44.3, @solana/web3.js@npm:^1.63.1, @solana/web3.js@npm:^1.70.1, @solana/web3.js@npm:^1.77.0, @solana/web3.js@npm:^1.78.0": - version: 1.78.4 - resolution: "@solana/web3.js@npm:1.78.4" +"@solana/web3.js@npm:^1.78.4": + version: 1.95.3 + resolution: "@solana/web3.js@npm:1.95.3" dependencies: - "@babel/runtime": "npm:^7.22.6" - "@noble/curves": "npm:^1.0.0" - "@noble/hashes": "npm:^1.3.1" - "@solana/buffer-layout": "npm:^4.0.0" - agentkeepalive: "npm:^4.3.0" + "@babel/runtime": "npm:^7.25.0" + "@noble/curves": "npm:^1.4.2" + "@noble/hashes": "npm:^1.4.0" + "@solana/buffer-layout": "npm:^4.0.1" + agentkeepalive: "npm:^4.5.0" bigint-buffer: "npm:^1.1.5" bn.js: "npm:^5.2.1" borsh: "npm:^0.7.0" bs58: "npm:^4.0.1" buffer: "npm:6.0.3" fast-stable-stringify: "npm:^1.0.0" - jayson: "npm:^4.1.0" - node-fetch: "npm:^2.6.12" - rpc-websockets: "npm:^7.5.1" - superstruct: "npm:^0.14.2" - checksum: f6af0f7456c3d0be4e576db4c5f1ddf33ad4a9fd553751a4cdd7ef55a4bbdca5f7625ce76f0452f87d3e963d8eb553805303e16189f0b8f679d8304619b9defc + jayson: "npm:^4.1.1" + node-fetch: "npm:^2.7.0" + rpc-websockets: "npm:^9.0.2" + superstruct: "npm:^2.0.2" + checksum: 25bdc5100faae6d3e48cbfac965b129060bec61669dcd75d0a525cea3ce8d23632ebea249a7b21616c89641bf7ea26d18826ce51246274b6aa1278d32180c870 languageName: node linkType: hard @@ -9012,6 +9068,15 @@ __metadata: languageName: node linkType: hard +"@swc/helpers@npm:^0.5.11": + version: 0.5.13 + resolution: "@swc/helpers@npm:0.5.13" + dependencies: + tslib: "npm:^2.4.0" + checksum: 6ba2f7e215d32d71fce139e2cfc426b3ed7eaa709febdeb07b97260a4c9eea4784cf047cc1271be273990b08220b576b94a42b5780947c0b3be84973a847a24d + languageName: node + linkType: hard + "@szmarczak/http-timer@npm:^4.0.5": version: 4.0.6 resolution: "@szmarczak/http-timer@npm:4.0.6" @@ -9657,6 +9722,13 @@ __metadata: languageName: node linkType: hard +"@types/uuid@npm:^8.3.4": + version: 8.3.4 + resolution: "@types/uuid@npm:8.3.4" + checksum: 6f11f3ff70f30210edaa8071422d405e9c1d4e53abbe50fdce365150d3c698fe7bbff65c1e71ae080cbfb8fded860dbb5e174da96fdbbdfcaa3fb3daa474d20f + languageName: node + linkType: hard + "@types/ws@npm:^7.4.4": version: 7.4.7 resolution: "@types/ws@npm:7.4.7" @@ -9666,6 +9738,15 @@ __metadata: languageName: node linkType: hard +"@types/ws@npm:^8.2.2": + version: 8.5.12 + resolution: "@types/ws@npm:8.5.12" + dependencies: + "@types/node": "npm:*" + checksum: d8a3ddfb5ff8fea992a043113579d61ac1ea21e8464415af9e2b01b205ed19d817821ad64ca1b3a90062d1df1c23b0f586d8351d25ca6728844df99a74e8f76d + languageName: node + linkType: hard + "@types/yargs-parser@npm:*": version: 21.0.0 resolution: "@types/yargs-parser@npm:21.0.0" @@ -10871,7 +10952,7 @@ __metadata: languageName: node linkType: hard -"agentkeepalive@npm:^4.2.1, agentkeepalive@npm:^4.3.0": +"agentkeepalive@npm:^4.2.1, agentkeepalive@npm:^4.5.0": version: 4.5.0 resolution: "agentkeepalive@npm:4.5.0" dependencies: @@ -13833,6 +13914,13 @@ __metadata: languageName: node linkType: hard +"eventemitter3@npm:^5.0.1": + version: 5.0.1 + resolution: "eventemitter3@npm:5.0.1" + checksum: ac6423ec31124629c84c7077eed1e6987f6d66c31cf43c6fcbf6c87791d56317ce808d9ead483652436df171b526fc7220eccdc9f3225df334e81582c3cf7dd5 + languageName: node + linkType: hard + "events@npm:3.3.0, events@npm:^3.3.0": version: 3.3.0 resolution: "events@npm:3.3.0" @@ -15672,9 +15760,9 @@ __metadata: languageName: node linkType: hard -"jayson@npm:^4.1.0": - version: 4.1.0 - resolution: "jayson@npm:4.1.0" +"jayson@npm:^4.1.1": + version: 4.1.2 + resolution: "jayson@npm:4.1.2" dependencies: "@types/connect": "npm:^3.4.33" "@types/node": "npm:^12.12.54" @@ -15687,10 +15775,10 @@ __metadata: isomorphic-ws: "npm:^4.0.1" json-stringify-safe: "npm:^5.0.1" uuid: "npm:^8.3.2" - ws: "npm:^7.4.5" + ws: "npm:^7.5.10" bin: jayson: bin/jayson.js - checksum: d76b3f220e14388007958b8f79e793009d6bc572b6e5ea65848a0f027b324d1950d836468986d7e38ddfb30b660e8b048b459c8bc8456e9b38dbbebc60a563b4 + checksum: 7ad5e80e11ef39b7382509d046546883d2595998aa245768b342bcc0a63843e011e16f02a023d5a78fb74df788b5f97c1e850568fc1b90c138fa4772cc55572c languageName: node linkType: hard @@ -17510,7 +17598,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.6, node-fetch@npm:^2.6.7": +"node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.6, node-fetch@npm:^2.6.7, node-fetch@npm:^2.7.0": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -19460,13 +19548,16 @@ __metadata: languageName: node linkType: hard -"rpc-websockets@npm:^7.5.1": - version: 7.5.1 - resolution: "rpc-websockets@npm:7.5.1" +"rpc-websockets@npm:^9.0.2": + version: 9.0.2 + resolution: "rpc-websockets@npm:9.0.2" dependencies: - "@babel/runtime": "npm:^7.17.2" + "@swc/helpers": "npm:^0.5.11" + "@types/uuid": "npm:^8.3.4" + "@types/ws": "npm:^8.2.2" + buffer: "npm:^6.0.3" bufferutil: "npm:^4.0.1" - eventemitter3: "npm:^4.0.7" + eventemitter3: "npm:^5.0.1" utf-8-validate: "npm:^5.0.2" uuid: "npm:^8.3.2" ws: "npm:^8.5.0" @@ -19475,7 +19566,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 3553c2b303fe53ffe87f81645d89b8e482a13a0113bf6a9111296659bf46ad8fb4f15e6889b6fb6ae01a6452b3de4e47d75e2155f112863ec7c78475368a4eae + checksum: d558958888cd3469fb8560840305352e59c9ffcd71c7a443c0c5710995ecc3c130b1473f5d4a9d316dbd408fa7473e0de720b875cf8c6ada2668cf8fac072859 languageName: node linkType: hard @@ -19643,6 +19734,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.6.2": + version: 7.6.3 + resolution: "semver@npm:7.6.3" + bin: + semver: bin/semver.js + checksum: 36b1fbe1a2b6f873559cd57b238f1094a053dbfd997ceeb8757d79d1d2089c56d1321b9f1069ce263dc64cfa922fa1d2ad566b39426fe1ac6c723c1487589e10 + languageName: node + linkType: hard + "send@npm:0.18.0": version: 0.18.0 resolution: "send@npm:0.18.0" @@ -20263,13 +20363,6 @@ __metadata: languageName: node linkType: hard -"superstruct@npm:^0.14.2": - version: 0.14.2 - resolution: "superstruct@npm:0.14.2" - checksum: 81eb2af08f2a5b1c3d4c9a7815fe0decd4eddc305dbd74471b2c29496910dfb1188e54c4bfc8c5b5e64c0f69cd303af554332d1f9d7967eff39144d1a4c4d2e2 - languageName: node - linkType: hard - "superstruct@npm:^1.0.3": version: 1.0.3 resolution: "superstruct@npm:1.0.3" @@ -20277,6 +20370,13 @@ __metadata: languageName: node linkType: hard +"superstruct@npm:^2.0.2": + version: 2.0.2 + resolution: "superstruct@npm:2.0.2" + checksum: 10e1944a9da4baee187fbaa6c5d97d7af266b55786dfe50bce67f0f1e7d93f1a5a42dd51e245a2e16404f8336d07c21c67f1c1fbc4ad0a252d3d2601d6c926da + languageName: node + linkType: hard + "supports-color@npm:^5.3.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -20801,6 +20901,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:^5.0.4": + version: 5.6.2 + resolution: "typescript@npm:5.6.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: f95365d4898f357823e93d334ecda9fcade54f009b397c7d05b7621cd9e865981033cf89ccde0f3e3a7b73b1fdbae18e92bc77db237b43e912f053fef0f9a53b + languageName: node + linkType: hard + "typescript@npm:^5.3.3": version: 5.3.3 resolution: "typescript@npm:5.3.3" @@ -20821,6 +20931,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A^5.0.4#optional!builtin": + version: 5.6.2 + resolution: "typescript@patch:typescript@npm%3A5.6.2#optional!builtin::version=5.6.2&hash=e012d7" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 060a7349adf698477b411be4ace470aee6c2c1bd99917fdf5d33697c17ec55c64fe724eb10399387530b50e9913b41528dd8bfcca0a5fc8f8bac63fbb4580a2e + languageName: node + linkType: hard + "typescript@patch:typescript@npm%3A^5.3.3#optional!builtin": version: 5.3.3 resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" @@ -21840,7 +21960,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7, ws@npm:^7.3.1, ws@npm:^7.4.0, ws@npm:^7.4.5, ws@npm:^7.5.1": +"ws@npm:^7, ws@npm:^7.3.1, ws@npm:^7.4.0, ws@npm:^7.5.1": version: 7.5.9 resolution: "ws@npm:7.5.9" peerDependencies: @@ -21855,6 +21975,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^7.5.10": + version: 7.5.10 + resolution: "ws@npm:7.5.10" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 9c796b84ba80ffc2c2adcdfc9c8e9a219ba99caa435c9a8d45f9ac593bba325563b3f83edc5eb067cc6d21b9a6bf2c930adf76dd40af5f58a5ca6859e81858f0 + languageName: node + linkType: hard + "ws@npm:~8.11.0": version: 8.11.0 resolution: "ws@npm:8.11.0" @@ -21976,6 +22111,15 @@ __metadata: languageName: node linkType: hard +"yaml@npm:2.4.5": + version: 2.4.5 + resolution: "yaml@npm:2.4.5" + bin: + yaml: bin.mjs + checksum: b09bf5a615a65276d433d76b8e34ad6b4c0320b85eb3f1a39da132c61ae6e2ff34eff4624e6458d96d49566c93cf43408ba5e568218293a8c6541a2006883f64 + languageName: node + linkType: hard + "yaml@npm:^1.10.0, yaml@npm:^1.10.2": version: 1.10.2 resolution: "yaml@npm:1.10.2" @@ -21983,15 +22127,6 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2, yaml@npm:^2.4.1": - version: 2.4.2 - resolution: "yaml@npm:2.4.2" - bin: - yaml: bin.mjs - checksum: 6eafbcd68dead734035f6f72af21bd820c29214caf7d8e40c595671a3c908535cef8092b9660a1c055c5833aa148aa640e0c5fa4adb5af2dacd6d28296ccd81c - languageName: node - linkType: hard - "yaml@npm:^2.0.0, yaml@npm:^2.3.4": version: 2.3.4 resolution: "yaml@npm:2.3.4"