From 1bf0524ccc57d1a1db3d9aa15dbd6757a45f8ca6 Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Mon, 2 Dec 2024 10:58:43 +0700 Subject: [PATCH 01/21] sol bridge --- .../WalletManagement/walletConfig.ts | 26 ++++++++- src/config/chainInfos.ts | 55 ++++++++++++++++++- src/config/iconInfos.ts | 5 ++ src/helper/index.tsx | 3 + .../Swap/components/InputSwap/InputSwap.tsx | 13 ++++- .../components/SelectChain/SelectChain.tsx | 10 +++- 6 files changed, 105 insertions(+), 7 deletions(-) diff --git a/src/components/WalletManagement/walletConfig.ts b/src/components/WalletManagement/walletConfig.ts index 23bbf2269..3d4a83d4d 100644 --- a/src/components/WalletManagement/walletConfig.ts +++ b/src/components/WalletManagement/walletConfig.ts @@ -3,10 +3,16 @@ import KeplrIcon from 'assets/icons/keplr-icon.svg?react'; import MetamaskIcon from 'assets/icons/metamask-icon.svg?react'; import OwalletIcon from 'assets/icons/owallet-icon.svg?react'; import TronIcon from 'assets/icons/tron-icon.svg?react'; -import { cosmosNetworksWithIcon, evmNetworksIconWithoutTron, tronNetworksWithIcon, btcNetworksWithIcon } from 'helper'; +import { + cosmosNetworksWithIcon, + evmNetworksIconWithoutTron, + tronNetworksWithIcon, + btcNetworksWithIcon, + solanaNetworksWithIcon +} from 'helper'; -export type NetworkType = 'cosmos' | 'evm' | 'tron' | 'bitcoin'; -export type WalletType = WalletCosmosType | 'metamask' | 'tronLink' | 'eip191' | 'bitcoin'; +export type NetworkType = 'cosmos' | 'evm' | 'tron' | 'bitcoin' | 'solana'; +export type WalletType = WalletCosmosType | 'metamask' | 'tronLink' | 'eip191' | 'bitcoin' | 'phantom'; export type WalletNetwork = { icon: React.FunctionComponent< React.SVGProps & { @@ -94,6 +100,15 @@ export const btcWallets: WalletNetwork[] = [ } ]; +export const solanaWallets: WalletNetwork[] = [ + { + icon: OwalletIcon, + name: 'Phantom', + nameRegistry: 'phantom', + isActive: true + } +]; + export const allWallets: WalletNetwork[] = [...cosmosWallets, ...tronWallets, ...evmWallets, ...btcWallets]; export const walletProvider: WalletProvider[] = [ @@ -116,5 +131,10 @@ export const walletProvider: WalletProvider[] = [ networkType: 'bitcoin', networks: btcNetworksWithIcon, wallets: btcWallets + }, + { + networkType: 'solana', + networks: solanaNetworksWithIcon, + wallets: solanaWallets } ]; diff --git a/src/config/chainInfos.ts b/src/config/chainInfos.ts index c642bfb09..f594df7dc 100644 --- a/src/config/chainInfos.ts +++ b/src/config/chainInfos.ts @@ -121,6 +121,59 @@ export const bitcoinMainnet: CustomChainInfo = { } }; +export const solanaMainnet: CustomChainInfo = { + rpc: 'https://swr.xnftdata.com/rpc-proxy/', + rest: 'https://swr.xnftdata.com/rpc-proxy/', + chainId: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp' as any, + chainName: 'Solana' as any, + bip44: { + coinType: 501 as any + }, + bech32Config: defaultBech32Config('sol'), + stakeCurrency: { + coinDenom: 'SOL', + coinMinimalDenom: 'sol', + coinDecimals: 9, + coinGeckoId: 'solana', + coinImageUrl: 'https://assets.coingecko.com/coins/images/4128/standard/solana.png?1718769756' + }, + chainSymbolImageUrl: 'https://upload.wikimedia.org/wikipedia/en/b/b9/Solana_logo.png', + networkType: 'svm' as any, + currencies: [ + { + coinDenom: 'SOL', + coinMinimalDenom: 'sol', + coinDecimals: 9, + bridgeTo: ['Oraichain'], + coinGeckoId: 'solana' as any, + coinImageUrl: 'https://assets.coingecko.com/coins/images/4128/standard/solana.png?1718769756' + } + ], + get feeCurrencies() { + return [ + { + coinDenom: 'SOL', + coinMinimalDenom: 'sol', + coinDecimals: 9, + coinGeckoId: 'solana', + coinImageUrl: 'https://assets.coingecko.com/coins/images/4128/standard/solana.png?1718769756', + gasPriceStep: { + low: 1, + average: 1.25, + high: 1.5 + } + } + ]; + }, + + features: [], + txExplorer: { + name: 'Sol Scan', + txUrl: 'https://solscan.io/tx/{txHash}', + accountUrl: 'https://solscan.io/address/{address}' + } +}; + export const chainInfosWithIcon = mapListWithIcon([...customChainInfos, bitcoinMainnet], chainIcons, 'chainId'); export const oraichainTokensWithIcon = mapListWithIcon(oraichainTokens, tokensIcon, 'coinGeckoId'); export const otherTokensWithIcon = mapListWithIcon(otherChainTokens, tokensIcon, 'coinGeckoId'); @@ -212,7 +265,7 @@ export const OraiBTCBridgeNetwork = { } }; -export const chainInfosWithSdk = [...customChainInfos, bitcoinMainnet, oraibtcNetwork]; +export const chainInfosWithSdk = [...customChainInfos, bitcoinMainnet, oraibtcNetwork, solanaMainnet]; export const chainInfos = mapListWithIcon(chainInfosWithSdk, chainIcons, 'chainId'); // exclude kawaiverse subnet and other special evm that has different cointype diff --git a/src/config/iconInfos.ts b/src/config/iconInfos.ts index d47cbc70f..522f3ba69 100644 --- a/src/config/iconInfos.ts +++ b/src/config/iconInfos.ts @@ -248,6 +248,11 @@ export const chainIconsInfos: ChainIcon[] = [ chainId: 'celestia', Icon: CelestiaIcon, IconLight: CelestiaIcon + }, + { + chainId: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp' as any, + Icon: SolanaIcon, + IconLight: SolanaIcon } ]; diff --git a/src/helper/index.tsx b/src/helper/index.tsx index cac45fbc6..92d21fe30 100644 --- a/src/helper/index.tsx +++ b/src/helper/index.tsx @@ -69,6 +69,9 @@ export const evmNetworksIconWithoutTron = chainInfosWithIcon.filter( export const tronNetworks = chainInfos.filter((c) => c.chainId === '0x2b6653dc'); export const tronNetworksWithIcon = chainInfosWithIcon.filter((c) => c.chainId === '0x2b6653dc'); export const btcNetworksWithIcon = chainInfosWithIcon.filter((c) => c.chainId === bitcoinChainId); +export const solanaNetworksWithIcon = chainInfosWithIcon.filter( + (c) => c.chainId === 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp' +); export const filterChainBridge = (token: Tokens, item: CustomChainInfo) => { const tokenCanBridgeTo = token.bridgeTo ?? ['Oraichain']; diff --git a/src/pages/UniversalSwap/Swap/components/InputSwap/InputSwap.tsx b/src/pages/UniversalSwap/Swap/components/InputSwap/InputSwap.tsx index bd6242f78..cc132fd16 100644 --- a/src/pages/UniversalSwap/Swap/components/InputSwap/InputSwap.tsx +++ b/src/pages/UniversalSwap/Swap/components/InputSwap/InputSwap.tsx @@ -9,6 +9,7 @@ import { chainInfosWithIcon, flattenTokensWithIcon } from 'config/chainInfos'; import { Themes } from 'context/theme-context'; import { isNegative, numberWithCommas } from 'pages/Pools/helpers'; import { AMOUNT_BALANCE_ENTRIES_UNIVERSAL_SWAP } from 'helper/constants'; +import DefaultIcon from 'assets/icons/tokens.svg?react'; const cx = cn.bind(styles); @@ -53,7 +54,15 @@ export default function InputSwap({ loadingSimulate, impactWarning }: InputSwapProps) { - const chainInfo = chainInfosWithIcon.find((chain) => chain.chainId === selectChain); + let chainInfo = chainInfosWithIcon.find((chain) => chain.chainId === selectChain); + console.log({ selectChain }); + + if (!chainInfo) { + chainInfo = { + Icon: DefaultIcon, + IconLight: DefaultIcon + }; + } const tokenInfo = flattenTokensWithIcon.find((flattenToken) => flattenToken.coinGeckoId === token.coinGeckoId); const isLightMode = theme === 'light'; @@ -66,7 +75,7 @@ export default function InputSwap({ {isLightMode ? : }
-
{chainInfo.chainName}
+
{chainInfo?.chainName}
arrow diff --git a/src/pages/UniversalSwap/Swap/components/SelectChain/SelectChain.tsx b/src/pages/UniversalSwap/Swap/components/SelectChain/SelectChain.tsx index b61cb5f6f..d15e3001e 100644 --- a/src/pages/UniversalSwap/Swap/components/SelectChain/SelectChain.tsx +++ b/src/pages/UniversalSwap/Swap/components/SelectChain/SelectChain.tsx @@ -9,6 +9,7 @@ import { CoinGeckoPrices } from 'hooks/useCoingecko'; import { getTotalUsd } from 'libs/utils'; import { isMaintainBridge } from 'pages/Balance'; import { formatDisplayUsdt } from 'pages/Pools/helpers'; +import DefaultIcon from 'assets/icons/tokens.svg?react'; import styles from './SelectChain.module.scss'; const cx = cn.bind(styles); @@ -88,7 +89,14 @@ export default function SelectChain({ }) .sort((a, b) => Number(b.totalUsd || 0) - Number(a.totalUsd || 0)) .map((item) => { - const networkIcon = chainIcons.find((chainIcon) => chainIcon.chainId === item.chainId); + let networkIcon = chainIcons.find((chainIcon) => chainIcon.chainId === item.chainId); + if (!networkIcon) { + networkIcon = { + ...item, + Icon: DefaultIcon, + IconLight: DefaultIcon + }; + } const key = item.chainId.toString(); const title = item.chainName; const balance = '$' + (item.totalUsd > 0 ? item.totalUsd.toFixed(2) : '0'); From 60c0c8a29aae4753cf91e049d79d6de3f7130a3f Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Mon, 2 Dec 2024 15:19:57 +0700 Subject: [PATCH 02/21] add max sol token in oraichain --- src/config/chainInfos.ts | 52 +++++++++++++++++++++++++++++++++++++--- src/config/iconInfos.ts | 5 ++++ 2 files changed, 54 insertions(+), 3 deletions(-) diff --git a/src/config/chainInfos.ts b/src/config/chainInfos.ts index f594df7dc..fd3e89d35 100644 --- a/src/config/chainInfos.ts +++ b/src/config/chainInfos.ts @@ -121,10 +121,11 @@ export const bitcoinMainnet: CustomChainInfo = { } }; +const solChainId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp'; export const solanaMainnet: CustomChainInfo = { rpc: 'https://swr.xnftdata.com/rpc-proxy/', rest: 'https://swr.xnftdata.com/rpc-proxy/', - chainId: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp' as any, + chainId: solChainId as any, chainName: 'Solana' as any, bip44: { coinType: 501 as any @@ -147,6 +148,15 @@ export const solanaMainnet: CustomChainInfo = { bridgeTo: ['Oraichain'], coinGeckoId: 'solana' as any, coinImageUrl: 'https://assets.coingecko.com/coins/images/4128/standard/solana.png?1718769756' + }, + { + coinDenom: 'MAX', + coinMinimalDenom: 'max', + coinDecimals: 6, + bridgeTo: ['Oraichain'], + coinGeckoId: 'max.clan' as any, + coinImageUrl: + 'https://pump.mypinata.cloud/ipfs/QmcGwYebsQfYbNSM9QDAMS2wKZ8fZNEiMbezJah1zgEWWS?img-width=256&img-dpr=2' } ], get feeCurrencies() { @@ -162,6 +172,19 @@ export const solanaMainnet: CustomChainInfo = { average: 1.25, high: 1.5 } + }, + { + coinDenom: 'MAX', + coinMinimalDenom: 'max', + coinDecimals: 6, + coinGeckoId: 'max.clan', + coinImageUrl: + 'https://pump.mypinata.cloud/ipfs/QmcGwYebsQfYbNSM9QDAMS2wKZ8fZNEiMbezJah1zgEWWS?img-width=256&img-dpr=2', + gasPriceStep: { + low: 1, + average: 1.25, + high: 1.5 + } } ]; }, @@ -174,7 +197,11 @@ export const solanaMainnet: CustomChainInfo = { } }; -export const chainInfosWithIcon = mapListWithIcon([...customChainInfos, bitcoinMainnet], chainIcons, 'chainId'); +export const chainInfosWithIcon = mapListWithIcon( + [...customChainInfos, bitcoinMainnet, oraibtcNetwork, solanaMainnet], + chainIcons, + 'chainId' +); export const oraichainTokensWithIcon = mapListWithIcon(oraichainTokens, tokensIcon, 'coinGeckoId'); export const otherTokensWithIcon = mapListWithIcon(otherChainTokens, tokensIcon, 'coinGeckoId'); @@ -199,7 +226,26 @@ export const OraiToken: BridgeAppCurrency = { export const oraichainNetwork: CustomChainInfo = { ...customOraichainNetwork, currencies: [ - ...customOraichainNetwork.currencies + ...customOraichainNetwork.currencies, + { + coinDenom: 'SOL', + coinGeckoId: 'solana' as any, + coinMinimalDenom: 'factory/orai1wuvhex9xqs3r539mvc6mtm7n20fcj3qr2m0y9khx6n5vtlngfzes3k0rq9/sol', + bridgeTo: [solChainId] as any, + coinDecimals: 9, + coinImageUrl: + 'https://pump.mypinata.cloud/ipfs/QmcGwYebsQfYbNSM9QDAMS2wKZ8fZNEiMbezJah1zgEWWS?img-width=256&img-dpr=2' + }, + { + coinDenom: 'MAX', + coinGeckoId: 'max.clan' as any, + coinMinimalDenom: + 'factory/orai1wuvhex9xqs3r539mvc6mtm7n20fcj3qr2m0y9khx6n5vtlngfzes3k0rq9/oraim8c9d1nkfuQk9EzGYEUGxqL3MHQYndRw1huVo5h', + bridgeTo: [solChainId] as any, + coinDecimals: 6, + coinImageUrl: + 'https://pump.mypinata.cloud/ipfs/QmcGwYebsQfYbNSM9QDAMS2wKZ8fZNEiMbezJah1zgEWWS?img-width=256&img-dpr=2' + } // { // coinDenom: 'BTC V2', // coinGeckoId: 'bitcoin', diff --git a/src/config/iconInfos.ts b/src/config/iconInfos.ts index 522f3ba69..173831005 100644 --- a/src/config/iconInfos.ts +++ b/src/config/iconInfos.ts @@ -175,6 +175,11 @@ export const tokensIconInfos: TokenIcon[] = [ coinGeckoId: 'solana', Icon: SolanaIcon, IconLight: SolanaIcon + }, + { + coinGeckoId: 'max.clan' as any, + Icon: SolanaIcon, + IconLight: SolanaIcon } ]; From e0f6a2209e1fefebaa34c23012e4fc0201bbb110 Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Mon, 2 Dec 2024 15:20:39 +0700 Subject: [PATCH 03/21] add max sol token in oraichain --- package.json | 9 +- yarn.lock | 3203 ++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 3090 insertions(+), 122 deletions(-) diff --git a/package.json b/package.json index 633e58422..3761cdb65 100644 --- a/package.json +++ b/package.json @@ -29,15 +29,20 @@ "@react-spring/web": "^9.7.5", "@reduxjs/toolkit": "^1.9.3", "@sentry/react": "7.99.0", + "@solana/wallet-adapter-base": "^0.9.23", + "@solana/wallet-adapter-react": "^0.15.35", + "@solana/wallet-adapter-react-ui": "^0.9.35", + "@solana/wallet-adapter-wallets": "^0.19.32", + "@solana/web3.js": "^1.95.5", "@tanstack/react-query": "^4.32.6", "@tharsis/proto": "^0.1.17", "@tippyjs/react": "^4.2.0", - "@vitejs/plugin-react": "^4.3.1", "@visx/curve": "^2.17.0", "@visx/gradient": "^3.3.0", "@visx/responsive": "^2.17.0", "@visx/scale": "^2.18.0", "@visx/xychart": "^3.11.0", + "@vitejs/plugin-react": "^4.3.1", "@walletconnect/browser-utils": "^1.8.0", "@walletconnect/ethereum-provider": "^1.7.8", "axios": "^0.26.1", @@ -111,8 +116,8 @@ "ts-jest": "^29.1.1", "typed-scss-modules": "^7.1.4", "typescript": "^5.1.6", - "vite-plugin-node-polyfills": "^0.22.0", "vite": "^5.4.10", + "vite-plugin-node-polyfills": "^0.22.0", "vite-plugin-wasm": "^3.3.0", "vitest": "2.0.2" }, diff --git a/yarn.lock b/yarn.lock index 187ed0be2..9715ea59a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -120,6 +120,15 @@ "@babel/highlight" "^7.24.7" picocolors "^1.0.0" +"@babel/code-frame@^7.25.9": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== + dependencies: + "@babel/helper-validator-identifier" "^7.25.9" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.25.2": version "7.25.2" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.2.tgz#e41928bd33475305c586f6acbbb7e3ade7a6f7f5" @@ -207,6 +216,17 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" +"@babel/generator@^7.25.9": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.2.tgz#87b75813bec87916210e5e01939a4c823d6bb74f" + integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw== + dependencies: + "@babel/parser" "^7.26.2" + "@babel/types" "^7.26.0" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" + "@babel/helper-annotate-as-pure@^7.18.6", "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" @@ -221,6 +241,13 @@ dependencies: "@babel/types" "^7.24.7" +"@babel/helper-annotate-as-pure@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4" + integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g== + dependencies: + "@babel/types" "^7.25.9" + "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.24.8", "@babel/helper-compilation-targets@^7.25.2": version "7.25.2" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" @@ -269,6 +296,19 @@ "@babel/helper-split-export-declaration" "^7.22.6" semver "^6.3.1" +"@babel/helper-create-class-features-plugin@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz#7644147706bb90ff613297d49ed5266bde729f83" + integrity sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-member-expression-to-functions" "^7.25.9" + "@babel/helper-optimise-call-expression" "^7.25.9" + "@babel/helper-replace-supers" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/traverse" "^7.25.9" + semver "^6.3.1" + "@babel/helper-environment-visitor@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" @@ -334,6 +374,14 @@ "@babel/traverse" "^7.24.8" "@babel/types" "^7.24.8" +"@babel/helper-member-expression-to-functions@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz#9dfffe46f727005a5ea29051ac835fb735e4c1a3" + integrity sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + "@babel/helper-module-imports@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" @@ -349,6 +397,14 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helper-module-imports@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" + integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + "@babel/helper-module-transforms@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" @@ -370,6 +426,15 @@ "@babel/helper-validator-identifier" "^7.24.7" "@babel/traverse" "^7.25.2" +"@babel/helper-module-transforms@^7.25.9": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" + integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== + dependencies: + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/helper-optimise-call-expression@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" @@ -384,6 +449,13 @@ dependencies: "@babel/types" "^7.24.7" +"@babel/helper-optimise-call-expression@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e" + integrity sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ== + dependencies: + "@babel/types" "^7.25.9" + "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" @@ -394,6 +466,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== +"@babel/helper-plugin-utils@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46" + integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== + "@babel/helper-replace-supers@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" @@ -412,6 +489,15 @@ "@babel/helper-optimise-call-expression" "^7.24.7" "@babel/traverse" "^7.25.0" +"@babel/helper-replace-supers@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz#ba447224798c3da3f8713fc272b145e33da6a5c5" + integrity sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.25.9" + "@babel/helper-optimise-call-expression" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/helper-simple-access@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" @@ -427,6 +513,14 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helper-simple-access@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz#6d51783299884a2c74618d6ef0f86820ec2e7739" + integrity sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" @@ -442,6 +536,14 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helper-skip-transparent-expression-wrappers@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9" + integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + "@babel/helper-split-export-declaration@^7.22.6": version "7.22.6" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" @@ -471,6 +573,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz#d50e8d37b1176207b4fe9acedec386c565a44a54" integrity sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g== +"@babel/helper-string-parser@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" + integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== + "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" @@ -486,6 +593,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz#77b7f60c40b15c97df735b38a66ba1d7c3e93da5" integrity sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg== +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + "@babel/helper-validator-option@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" @@ -496,6 +608,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== +"@babel/helper-validator-option@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" + integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== + "@babel/helpers@^7.23.7": version "7.23.7" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.7.tgz#eb543c36f81da2873e47b76ee032343ac83bba60" @@ -561,6 +678,13 @@ dependencies: "@babel/types" "^7.25.8" +"@babel/parser@^7.25.9", "@babel/parser@^7.26.2": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" + integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ== + dependencies: + "@babel/types" "^7.26.0" + "@babel/plugin-proposal-class-properties@^7.0.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" @@ -634,6 +758,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" +"@babel/plugin-syntax-jsx@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290" + integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" @@ -648,6 +779,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" +"@babel/plugin-syntax-typescript@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399" + integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/plugin-transform-arrow-functions@^7.0.0": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz#4f6886c11e423bd69f3ce51dbf42424a5f275514" @@ -744,6 +882,15 @@ "@babel/helper-plugin-utils" "^7.24.8" "@babel/helper-simple-access" "^7.24.7" +"@babel/plugin-transform-modules-commonjs@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz#d165c8c569a080baf5467bda88df6425fc060686" + integrity sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg== + dependencies: + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-simple-access" "^7.25.9" + "@babel/plugin-transform-object-super@^7.0.0": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz#66eeaff7830bba945dd8989b632a40c04ed625be" @@ -820,6 +967,28 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" +"@babel/plugin-transform-typescript@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz#69267905c2b33c2ac6d8fe765e9dc2ddc9df3849" + integrity sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/plugin-syntax-typescript" "^7.25.9" + +"@babel/preset-typescript@^7.24.7": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz#4a570f1b8d104a242d923957ffa1eaff142a106d" + integrity sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + "@babel/plugin-syntax-jsx" "^7.25.9" + "@babel/plugin-transform-modules-commonjs" "^7.25.9" + "@babel/plugin-transform-typescript" "^7.25.9" + "@babel/runtime@7.20.13": version "7.20.13" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b" @@ -834,6 +1003,13 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.21.0", "@babel/runtime@^7.25.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" + integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.25.0": version "7.25.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" @@ -861,6 +1037,15 @@ "@babel/parser" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/template@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" + integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/types" "^7.25.9" + "@babel/traverse@^7.14.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0", "@babel/traverse@^7.25.1", "@babel/traverse@^7.25.2": version "7.25.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.3.tgz#f1b901951c83eda2f3e29450ce92743783373490" @@ -906,6 +1091,19 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" + integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/generator" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/template" "^7.25.9" + "@babel/types" "^7.25.9" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3", "@babel/types@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" @@ -951,6 +1149,14 @@ "@babel/helper-validator-identifier" "^7.25.7" to-fast-properties "^2.0.0" +"@babel/types@^7.25.9", "@babel/types@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff" + integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA== + dependencies: + "@babel/helper-string-parser" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -1667,6 +1873,16 @@ dependencies: apache-arrow "^13.0.0" +"@emurgo/cardano-serialization-lib-browser@^11.5.0": + version "11.5.0" + resolved "https://registry.yarnpkg.com/@emurgo/cardano-serialization-lib-browser/-/cardano-serialization-lib-browser-11.5.0.tgz#f2d15b538add436e0aa8b67a1d00ca654a680006" + integrity sha512-qchOJ9NYDUz10tzs5r5QhP9hK0p+ZOlRiBwPdTAxqAYLw/8emYBkQQLaS8T1DF6EkeudyrgS00ym5Trw1fo4iA== + +"@emurgo/cardano-serialization-lib-nodejs@11.5.0": + version "11.5.0" + resolved "https://registry.yarnpkg.com/@emurgo/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-11.5.0.tgz#0662e2a17d7d1e944f8cdb86396133c8edaec059" + integrity sha512-IlVABlRgo9XaTR1NunwZpWcxnfEv04ba2l1vkUz4S1W7Jt36F4CtffP+jPeqBZGnAe+fnUwo0XjIJC3ZTNToNQ== + "@esbuild/aix-ppc64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" @@ -1795,6 +2011,31 @@ crc-32 "^1.2.0" ethereumjs-util "^7.1.5" +"@ethereumjs/common@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-3.2.0.tgz#b71df25845caf5456449163012074a55f048e0a0" + integrity sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA== + dependencies: + "@ethereumjs/util" "^8.1.0" + crc-32 "^1.2.0" + +"@ethereumjs/common@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-4.4.0.tgz#fba41612f527a815bf304e98653d6b5fc5d6d4de" + integrity sha512-Fy5hMqF6GsE6DpYTyqdDIJPJgUtDn4dL120zKw+Pswuo+iLyBsEYuSyzMw6NVzD2vDzcBG9fE4+qX4X2bPc97w== + dependencies: + "@ethereumjs/util" "^9.1.0" + +"@ethereumjs/rlp@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" + integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== + +"@ethereumjs/rlp@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-5.0.2.tgz#c89bd82f2f3bec248ab2d517ae25f5bbc4aac842" + integrity sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA== + "@ethereumjs/tx@3.5.2": version "3.5.2" resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.5.2.tgz#197b9b6299582ad84f9527ca961466fce2296c1c" @@ -1803,6 +2044,43 @@ "@ethereumjs/common" "^2.6.4" ethereumjs-util "^7.1.5" +"@ethereumjs/tx@^4.1.2": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-4.2.0.tgz#5988ae15daf5a3b3c815493bc6b495e76009e853" + integrity sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw== + dependencies: + "@ethereumjs/common" "^3.2.0" + "@ethereumjs/rlp" "^4.0.1" + "@ethereumjs/util" "^8.1.0" + ethereum-cryptography "^2.0.0" + +"@ethereumjs/tx@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-5.4.0.tgz#6f47894cc3e2d4e63d87c62b41ed7e8180a1de58" + integrity sha512-SCHnK7m/AouZ7nyoR0MEXw1OO/tQojSbp88t8oxhwes5iZkZCtfFdUrJaiIb72qIpH2FVw6s1k1uP7LXuH7PsA== + dependencies: + "@ethereumjs/common" "^4.4.0" + "@ethereumjs/rlp" "^5.0.2" + "@ethereumjs/util" "^9.1.0" + ethereum-cryptography "^2.2.1" + +"@ethereumjs/util@^8.0.6", "@ethereumjs/util@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" + integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== + dependencies: + "@ethereumjs/rlp" "^4.0.1" + ethereum-cryptography "^2.0.0" + micro-ftch "^0.3.1" + +"@ethereumjs/util@^9.1.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-9.1.0.tgz#75e3898a3116d21c135fa9e29886565609129bce" + integrity sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog== + dependencies: + "@ethereumjs/rlp" "^5.0.2" + ethereum-cryptography "^2.2.1" + "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" @@ -2150,6 +2428,28 @@ resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== +"@fivebinaries/coin-selection@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@fivebinaries/coin-selection/-/coin-selection-2.2.1.tgz#f5329909ac8cd1bf87decdcd054c88a8d69399a0" + integrity sha512-iYFsYr7RY7TEvTqP9NKR4p/yf3Iybf9abUDR7lRjzanGsrLwVsREvIuyE05iRYFrvqarlk+gWRPsdR1N2hUBrg== + dependencies: + "@emurgo/cardano-serialization-lib-browser" "^11.5.0" + "@emurgo/cardano-serialization-lib-nodejs" "11.5.0" + +"@fractalwagmi/popup-connection@^1.0.18": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@fractalwagmi/popup-connection/-/popup-connection-1.1.1.tgz#2dfff4f3bb89d17947adae597f355faf46c194a9" + integrity sha512-hYL+45iYwNbwjvP2DxP3YzVsrAGtj/RV9LOgMpJyCxsfNoyyOoi2+YrnywKkiANingiG2kJ1nKsizbu1Bd4zZw== + +"@fractalwagmi/solana-wallet-adapter@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@fractalwagmi/solana-wallet-adapter/-/solana-wallet-adapter-0.1.1.tgz#13d97bca657007a62b2118ea60f5d9e73f654a37" + integrity sha512-oTZLEuD+zLKXyhZC5tDRMPKPj8iaxKLxXiCjqRfOo4xmSbS2izGRWLJbKMYYsJysn/OI3UJ3P6CWP8WUWi0dZg== + dependencies: + "@fractalwagmi/popup-connection" "^1.0.18" + "@solana/wallet-adapter-base" "^0.9.17" + bs58 "^5.0.0" + "@google-cloud/paginator@^4.0.0": version "4.0.1" resolved "https://registry.yarnpkg.com/@google-cloud/paginator/-/paginator-4.0.1.tgz#5fb8793d4f84d18c50a6f2fad3dadab8d2c533ef" @@ -2908,6 +3208,16 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" +"@jnwng/walletconnect-solana@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@jnwng/walletconnect-solana/-/walletconnect-solana-0.2.0.tgz#aebea64beaa47273b9b9a71c62d88d543900ab96" + integrity sha512-nyRq0xLEj9i2J4UXQ0Mr4KzsooTMbLu0ewHOqdQV7iZE0PfbtKa8poTSF4ZBAQD8hoMHEx+I7zGFCNMI9BTrTA== + dependencies: + "@walletconnect/qrcode-modal" "^1.8.0" + "@walletconnect/sign-client" "^2.7.2" + "@walletconnect/utils" "^2.4.5" + bs58 "^5.0.0" + "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": version "0.3.3" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" @@ -3042,6 +3352,55 @@ big-integer "^1.6.48" utility-types "^3.10.0" +"@keystonehq/alias-sampling@^0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@keystonehq/alias-sampling/-/alias-sampling-0.1.2.tgz#63af931ffe6500aef4c0d87775a5b279189abf8d" + integrity sha512-5ukLB3bcgltgaFfQfYKYwHDUbwHicekYo53fSEa7xhVkAEqsA74kxdIwoBIURmGUtXe3EVIRm4SYlgcrt2Ri0w== + +"@keystonehq/bc-ur-registry-sol@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@keystonehq/bc-ur-registry-sol/-/bc-ur-registry-sol-0.3.1.tgz#5319c7c4a22cc83bbacfa6fe09aaa6fb21363f24" + integrity sha512-Okr5hwPxBZxB4EKLK1GSC9vsrh/tFMQ5dvs3EQ9NCOmCn7CXdXIMSeafrpGCHk484Jf5c6X0Wq0yf0VqY2A/8Q== + dependencies: + "@keystonehq/bc-ur-registry" "^0.5.0" + bs58check "^2.1.2" + uuid "^8.3.2" + +"@keystonehq/bc-ur-registry@^0.5.0": + version "0.5.5" + resolved "https://registry.yarnpkg.com/@keystonehq/bc-ur-registry/-/bc-ur-registry-0.5.5.tgz#b7cd9b08846c627e988933049aac94d3412fbb16" + integrity sha512-PoclPHf0OhpIKLfLwzymsu+CjkWf5ZKvaVjpkq3HUalcI4KW8wLk0m8qI2kBVv6F0BQ0ERPqW8OfjLTVqIgWLA== + dependencies: + "@ngraveio/bc-ur" "^1.1.5" + bs58check "^2.1.2" + tslib "^2.3.0" + +"@keystonehq/sdk@^0.13.1": + version "0.13.1" + resolved "https://registry.yarnpkg.com/@keystonehq/sdk/-/sdk-0.13.1.tgz#782a1f71cfc38a7635a8bcb0cb99ae403a6316a8" + integrity sha512-545l83TE5t1cyUZUaNqZOAh15ibWOg9QbK/YeLwnrxt+GOod+ATk3j9SpN6yTSLO8DNl2/x6dKRIFVtTEkZDAg== + dependencies: + "@ngraveio/bc-ur" "^1.0.0" + qrcode.react "^1.0.1" + react "16.13.1" + react-dom "16.13.1" + react-modal "^3.12.1" + react-qr-reader "^2.2.1" + rxjs "^6.6.3" + typescript "^4.6.2" + +"@keystonehq/sol-keyring@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@keystonehq/sol-keyring/-/sol-keyring-0.3.1.tgz#9ed61269bab92601eedb7f1adb9ca3258634dbbc" + integrity sha512-RU6I3HQrQ9NpRDP9TwlBIy5DftVcNcyk0NWfhkPy/YanhMcCB0cRPw68iQl1rMnR6n1G2+YrBHMxm6swCW+B4Q== + dependencies: + "@keystonehq/bc-ur-registry" "^0.5.0" + "@keystonehq/bc-ur-registry-sol" "^0.3.1" + "@keystonehq/sdk" "^0.13.1" + "@solana/web3.js" "^1.36.0" + bs58 "^5.0.0" + uuid "^8.3.2" + "@kiruse/serde@^0.8.0-rc.6": version "0.8.0-rc.6" resolved "https://registry.yarnpkg.com/@kiruse/serde/-/serde-0.8.0-rc.6.tgz#7de5aa930527ea2574eb47f154c40b03a2ffd12c" @@ -3059,6 +3418,65 @@ bignumber.js "^9.1.2" long "^5.2.3" +"@ledgerhq/devices@6.27.1", "@ledgerhq/devices@^6.27.1": + version "6.27.1" + resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-6.27.1.tgz#3b13ab1d1ba8201e9e74a08f390560483978c962" + integrity sha512-jX++oy89jtv7Dp2X6gwt3MMkoajel80JFWcdc0HCouwDsV1mVJ3SQdwl/bQU0zd8HI6KebvUP95QTwbQLLK/RQ== + dependencies: + "@ledgerhq/errors" "^6.10.0" + "@ledgerhq/logs" "^6.10.0" + rxjs "6" + semver "^7.3.5" + +"@ledgerhq/devices@^8.4.4": + version "8.4.4" + resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-8.4.4.tgz#0d195c1650fe57da2fad7f0d9074a0190947cd6f" + integrity sha512-sz/ryhe/R687RHtevIE9RlKaV8kkKykUV4k29e7GAVwzHX1gqG+O75cu1NCJUHLbp3eABV5FdvZejqRUlLis9A== + dependencies: + "@ledgerhq/errors" "^6.19.1" + "@ledgerhq/logs" "^6.12.0" + rxjs "^7.8.1" + semver "^7.3.5" + +"@ledgerhq/errors@^6.10.0", "@ledgerhq/errors@^6.19.1": + version "6.19.1" + resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-6.19.1.tgz#d9ac45ad4ff839e468b8f63766e665537aaede58" + integrity sha512-75yK7Nnit/Gp7gdrJAz0ipp31CCgncRp+evWt6QawQEtQKYEDfGo10QywgrrBBixeRxwnMy1DP6g2oCWRf1bjw== + +"@ledgerhq/hw-transport-webhid@6.27.1": + version "6.27.1" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-webhid/-/hw-transport-webhid-6.27.1.tgz#8fd1710d23b6bd7cbe2382dd02054dfabe788447" + integrity sha512-u74rBYlibpbyGblSn74fRs2pMM19gEAkYhfVibq0RE1GNFjxDMFC1n7Sb+93Jqmz8flyfB4UFJsxs8/l1tm2Kw== + dependencies: + "@ledgerhq/devices" "^6.27.1" + "@ledgerhq/errors" "^6.10.0" + "@ledgerhq/hw-transport" "^6.27.1" + "@ledgerhq/logs" "^6.10.0" + +"@ledgerhq/hw-transport@6.27.1": + version "6.27.1" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-6.27.1.tgz#88072278f69c279cb6569352acd4ae2fec33ace3" + integrity sha512-hnE4/Fq1YzQI4PA1W0H8tCkI99R3UWDb3pJeZd6/Xs4Qw/q1uiQO+vNLC6KIPPhK0IajUfuI/P2jk0qWcMsuAQ== + dependencies: + "@ledgerhq/devices" "^6.27.1" + "@ledgerhq/errors" "^6.10.0" + events "^3.3.0" + +"@ledgerhq/hw-transport@^6.27.1": + version "6.31.4" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-6.31.4.tgz#9b23a6de4a4caaa5c24b149c2dea8adde46f0eb1" + integrity sha512-6c1ir/cXWJm5dCWdq55NPgCJ3UuKuuxRvf//Xs36Bq9BwkV2YaRQhZITAkads83l07NAdR16hkTWqqpwFMaI6A== + dependencies: + "@ledgerhq/devices" "^8.4.4" + "@ledgerhq/errors" "^6.19.1" + "@ledgerhq/logs" "^6.12.0" + events "^3.3.0" + +"@ledgerhq/logs@^6.10.0", "@ledgerhq/logs@^6.12.0": + version "6.12.0" + resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-6.12.0.tgz#ad903528bf3687a44da435d7b2479d724d374f5d" + integrity sha512-ExDoj1QV5eC6TEbMdLUMMk9cfvNKhhv5gXol4SmULRVCx/3iyCPhJ74nsb3S0Vb+/f+XujBEj3vQn5+cwS0fNA== + "@lucky-canvas/react@^0.1.13": version "0.1.13" resolved "https://registry.yarnpkg.com/@lucky-canvas/react/-/react-0.1.13.tgz#cf5ef17ab017b93a4f650bd0ef44f95cf8289142" @@ -3077,6 +3495,43 @@ tweetnacl "^1.0.3" tweetnacl-util "^0.15.1" +"@metamask/rpc-errors@^5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@metamask/rpc-errors/-/rpc-errors-5.1.1.tgz#f82732ad0952d34d219eca42699c0c74bee95a9e" + integrity sha512-JjZnDi2y2CfvbohhBl+FOQRzmFlJpybcQlIk37zEX8B96eVSPbH/T8S0p7cSF8IE33IWx6JkD8Ycsd+2TXFxCw== + dependencies: + "@metamask/utils" "^5.0.0" + fast-safe-stringify "^2.0.6" + +"@metamask/utils@^5.0.0": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-5.0.2.tgz#140ba5061d90d9dac0280c19cab101bc18c8857c" + integrity sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g== + dependencies: + "@ethereumjs/tx" "^4.1.2" + "@types/debug" "^4.1.7" + debug "^4.3.4" + semver "^7.3.8" + superstruct "^1.0.3" + +"@mobily/ts-belt@^3.13.1": + version "3.13.1" + resolved "https://registry.yarnpkg.com/@mobily/ts-belt/-/ts-belt-3.13.1.tgz#8f8ce2a2eca41d88c2ca70c84d0f47d0f7f5cd5f" + integrity sha512-K5KqIhPI/EoCTbA6CGbrenM9s41OouyK8A03fGJJcla/zKucsgLbz8HNbeseoLarRPgyWJsUyCYqFhI7t3Ra9Q== + +"@ngraveio/bc-ur@^1.0.0", "@ngraveio/bc-ur@^1.1.5": + version "1.1.13" + resolved "https://registry.yarnpkg.com/@ngraveio/bc-ur/-/bc-ur-1.1.13.tgz#27719fd3e745ccdbe97a7950905edcd1fed4844b" + integrity sha512-j73akJMV4+vLR2yQ4AphPIT5HZmxVjn/LxpL7YHoINnXoH6ccc90Zzck6/n6a3bCXOVZwBxq+YHwbAKRV+P8Zg== + dependencies: + "@keystonehq/alias-sampling" "^0.1.1" + assert "^2.0.0" + bignumber.js "^9.0.1" + cbor-sync "^1.0.4" + crc "^3.8.0" + jsbi "^3.1.5" + sha.js "^2.4.11" + "@noble/curves@1.1.0", "@noble/curves@~1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d" @@ -3098,6 +3553,13 @@ dependencies: "@noble/hashes" "1.4.0" +"@noble/curves@^1.1.0", "@noble/curves@^1.4.2": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.7.0.tgz#0512360622439256df892f21d25b388f52505e45" + integrity sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw== + dependencies: + "@noble/hashes" "1.6.0" + "@noble/hashes@1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.2.tgz#e9e035b9b166ca0af657a7848eb2718f0f22f183" @@ -3118,11 +3580,21 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== +"@noble/hashes@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.0.tgz#d4bfb516ad6e7b5111c216a5cc7075f4cf19e6c5" + integrity sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ== + "@noble/hashes@^1.2.0", "@noble/hashes@~1.3.0", "@noble/hashes@~1.3.1": version "1.3.3" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== +"@noble/hashes@^1.4.0": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.1.tgz#df6e5943edcea504bac61395926d6fd67869a0d5" + integrity sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w== + "@noble/secp256k1@1.7.1": version "1.7.1" resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" @@ -3421,6 +3893,143 @@ resolved "https://registry.yarnpkg.com/@oraichain/wasm-json-toolkit/-/wasm-json-toolkit-1.0.24.tgz#e9a431560e8e946fbb7ec257e5f13d9320ffd23a" integrity sha512-j+8gN3dE3rqaiEUVVblt0dfJrE6RIsSkfqF08ISxRvHkH9Pe9exIOgxpCyd2Qn3liHj27hwth6R0ELw7y3QcLg== +"@parcel/watcher-android-arm64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz#e32d3dda6647791ee930556aee206fcd5ea0fb7a" + integrity sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ== + +"@parcel/watcher-darwin-arm64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz#0d9e680b7e9ec1c8f54944f1b945aa8755afb12f" + integrity sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw== + +"@parcel/watcher-darwin-x64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz#f9f1d5ce9d5878d344f14ef1856b7a830c59d1bb" + integrity sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA== + +"@parcel/watcher-freebsd-x64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz#2b77f0c82d19e84ff4c21de6da7f7d096b1a7e82" + integrity sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw== + +"@parcel/watcher-linux-arm-glibc@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz#92ed322c56dbafa3d2545dcf2803334aee131e42" + integrity sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA== + +"@parcel/watcher-linux-arm-musl@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz#cd48e9bfde0cdbbd2ecd9accfc52967e22f849a4" + integrity sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA== + +"@parcel/watcher-linux-arm64-glibc@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz#7b81f6d5a442bb89fbabaf6c13573e94a46feb03" + integrity sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA== + +"@parcel/watcher-linux-arm64-musl@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz#dcb8ff01077cdf59a18d9e0a4dff7a0cfe5fd732" + integrity sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q== + +"@parcel/watcher-linux-x64-glibc@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz#2e254600fda4e32d83942384d1106e1eed84494d" + integrity sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw== + +"@parcel/watcher-linux-x64-musl@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz#01fcea60fedbb3225af808d3f0a7b11229792eef" + integrity sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA== + +"@parcel/watcher-wasm@^2.4.1": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-wasm/-/watcher-wasm-2.5.0.tgz#81fad1e10957f08a532eb4fc0d4c353cd8901a50" + integrity sha512-Z4ouuR8Pfggk1EYYbTaIoxc+Yv4o7cGQnH0Xy8+pQ+HbiW+ZnwhcD2LPf/prfq1nIWpAxjOkQ8uSMFWMtBLiVQ== + dependencies: + is-glob "^4.0.3" + micromatch "^4.0.5" + napi-wasm "^1.1.0" + +"@parcel/watcher-win32-arm64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz#87cdb16e0783e770197e52fb1dc027bb0c847154" + integrity sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig== + +"@parcel/watcher-win32-ia32@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz#778c39b56da33e045ba21c678c31a9f9d7c6b220" + integrity sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA== + +"@parcel/watcher-win32-x64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz#33873876d0bbc588aacce38e90d1d7480ce81cb7" + integrity sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw== + +"@parcel/watcher@^2.4.1": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.0.tgz#5c88818b12b8de4307a9d3e6dc3e28eba0dfbd10" + integrity sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.5.0" + "@parcel/watcher-darwin-arm64" "2.5.0" + "@parcel/watcher-darwin-x64" "2.5.0" + "@parcel/watcher-freebsd-x64" "2.5.0" + "@parcel/watcher-linux-arm-glibc" "2.5.0" + "@parcel/watcher-linux-arm-musl" "2.5.0" + "@parcel/watcher-linux-arm64-glibc" "2.5.0" + "@parcel/watcher-linux-arm64-musl" "2.5.0" + "@parcel/watcher-linux-x64-glibc" "2.5.0" + "@parcel/watcher-linux-x64-musl" "2.5.0" + "@parcel/watcher-win32-arm64" "2.5.0" + "@parcel/watcher-win32-ia32" "2.5.0" + "@parcel/watcher-win32-x64" "2.5.0" + +"@particle-network/analytics@^1.0.1": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@particle-network/analytics/-/analytics-1.0.2.tgz#cbcff42618e1c3045ed52183278b1a7963ff40a7" + integrity sha512-E4EpTRYcfNOkxj+bgNdQydBrvdLGo4HfVStZCuOr3967dYek30r6L7Nkaa9zJXRE2eGT4lPvcAXDV2WxDZl/Xg== + dependencies: + hash.js "^1.1.7" + uuidv4 "^6.2.13" + +"@particle-network/auth@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@particle-network/auth/-/auth-1.3.1.tgz#f9ee51749e3b10e700e0d8c51a8c0769ab0b9851" + integrity sha512-hu6ie5RjjN4X+6y/vfjyCsSX3pQuS8k8ZoMb61QWwhWsnZXKzpBUVeAEk55aGfxxXY+KfBkSmZosyaZHGoHnfw== + dependencies: + "@particle-network/analytics" "^1.0.1" + "@particle-network/chains" "*" + "@particle-network/crypto" "^1.0.1" + buffer "^6.0.3" + draggabilly "^3.0.0" + +"@particle-network/chains@*": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@particle-network/chains/-/chains-1.7.8.tgz#b8e12b7a798b06697984868e454b2a0599daeeb8" + integrity sha512-pTFg1nXJKPs73okoyHEyEto1HqfpPTcUV8IUqu+i/gZNgw3UquKlLXGuhzbWtyvu3hbpu/X10UVM0KICRWdOPQ== + +"@particle-network/crypto@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@particle-network/crypto/-/crypto-1.0.1.tgz#26afef622a3eb906dca5c810fef8001ffee29029" + integrity sha512-GgvHmHcFiNkCLZdcJOgctSbgvs251yp+EAdUydOE3gSoIxN6KEr/Snu9DebENhd/nFb7FDk5ap0Hg49P7pj1fg== + dependencies: + crypto-js "^4.1.1" + uuidv4 "^6.2.13" + +"@particle-network/solana-wallet@^1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@particle-network/solana-wallet/-/solana-wallet-1.3.2.tgz#9966209ccda60abb0114bf0447a524c781536b76" + integrity sha512-KviKVP87OtWq813y8IumM3rIQMNkTjHBaQmCUbTWGebz3csFOv54JIoy1r+3J3NnA+mBxBdZeRedZ5g+07v75w== + dependencies: + "@particle-network/auth" "^1.3.1" + "@peculiar/asn1-schema@^2.3.8": version "2.3.8" resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.8.tgz#04b38832a814e25731232dd5be883460a156da3b" @@ -3484,6 +4093,14 @@ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== +"@project-serum/sol-wallet-adapter@^0.2.6": + version "0.2.6" + resolved "https://registry.yarnpkg.com/@project-serum/sol-wallet-adapter/-/sol-wallet-adapter-0.2.6.tgz#b4cd25a566294354427c97c26d716112b91a0107" + integrity sha512-cpIb13aWPW8y4KzkZAPDgw+Kb+DXjCC6rZoH74MGm3I/6e/zKyGnfAuW5olb2zxonFqsYgnv7ev8MQnvSgJ3/g== + dependencies: + bs58 "^4.0.1" + eventemitter3 "^4.0.7" + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -3537,6 +4154,13 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== +"@react-native-async-storage/async-storage@^1.17.7": + version "1.24.0" + resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.24.0.tgz#888efbc62a26f7d9464b32f4d3027b7f2771999b" + integrity sha512-W4/vbwUOYOjco0x3toB8QCr7EjIP6nE9G7o8PMguvvjYT5Awg09lyV4enACRx4s++PPulBiBSjL0KTFx2u0Z/g== + dependencies: + merge-options "^3.0.4" + "@react-spring/animated@~9.7.5": version "9.7.5" resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.7.5.tgz#eb0373aaf99b879736b380c2829312dae3b05f28" @@ -3941,63 +4565,712 @@ resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== -"@svgr/babel-plugin-add-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" - integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== +"@sinclair/typebox@^0.33.7": + version "0.33.22" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.33.22.tgz#3339d85172509095a8384cb4b44834a7c9309d86" + integrity sha512-auUj4k+f4pyrIVf4GW5UKquSZFHJWri06QgARy9C0t9ZTjJLIuNIrr1yl9bWcJWJ1Gz1vOvYN1D+QPaIlNMVkQ== -"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" - integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== +"@socket.io/component-emitter@~3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" + integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== -"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" - integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== +"@solana-mobile/mobile-wallet-adapter-protocol-web3js@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@solana-mobile/mobile-wallet-adapter-protocol-web3js/-/mobile-wallet-adapter-protocol-web3js-2.1.4.tgz#70b55f2dc62740f0a0fb445103f414ec63ef387d" + integrity sha512-eE0NfQ450TrjD20/gN9hDYLhm6ggYtA5Vrrp3kuzj2antC0t6UtCCHe3/ivHLU14ir6kPoQTsTJHQaKGIqcheQ== + dependencies: + "@solana-mobile/mobile-wallet-adapter-protocol" "^2.1.4" + bs58 "^5.0.0" + js-base64 "^3.7.5" -"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" - integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== +"@solana-mobile/mobile-wallet-adapter-protocol@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@solana-mobile/mobile-wallet-adapter-protocol/-/mobile-wallet-adapter-protocol-2.1.4.tgz#47f31e230aca8500b8715fe68ce0be59e5401851" + integrity sha512-o5C61cZbtvkuAyn5YxRxsl8jeTVpGO40xT7VjtgFSE9elxvLOZAlqxxrtxpqT4hiwFzQFDzjUGsp97cabij06A== + dependencies: + "@solana/wallet-standard" "^1.1.2" + "@solana/wallet-standard-util" "^1.1.1" + "@wallet-standard/core" "^1.0.3" + js-base64 "^3.7.5" -"@svgr/babel-plugin-svg-dynamic-title@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" - integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== +"@solana-mobile/wallet-adapter-mobile@^2.0.0": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@solana-mobile/wallet-adapter-mobile/-/wallet-adapter-mobile-2.1.4.tgz#d9b5c3d0480dadc344a6019182eb756cfb014cb8" + integrity sha512-uOG7Jqrjlcf52OyNfguv1CD29zQrUB5YbPhBOv6n/BcS0Zd9jHvcB0J9iMt5EZ6P8MYdJ898L6X1+4mnqFFixg== + dependencies: + "@solana-mobile/mobile-wallet-adapter-protocol-web3js" "^2.1.4" + "@solana/wallet-adapter-base" "^0.9.23" + "@solana/wallet-standard-features" "^1.2.0" + js-base64 "^3.7.5" + qrcode "^1.5.4" + optionalDependencies: + "@react-native-async-storage/async-storage" "^1.17.7" -"@svgr/babel-plugin-svg-em-dimensions@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" - integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== +"@solana/buffer-layout@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" + integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== + dependencies: + buffer "~6.0.3" -"@svgr/babel-plugin-transform-react-native-svg@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" - integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== +"@solana/wallet-adapter-alpha@^0.1.10": + version "0.1.10" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-alpha/-/wallet-adapter-alpha-0.1.10.tgz#497ac17634dac4de17eba643768df9b30a13129a" + integrity sha512-TOUhDyUNSmp8bqeUueN0LPmurTAEmYm3PTrPGSnsq6JFeTzwTv5xZRygtCvULpBzCPZu/7AfIqh/TSoz4P92aw== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" -"@svgr/babel-plugin-transform-svg-component@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" - integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== +"@solana/wallet-adapter-avana@^0.1.13": + version "0.1.13" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-avana/-/wallet-adapter-avana-0.1.13.tgz#dfa5385edcc24557fa6962ade55915a696abc74a" + integrity sha512-dvKDzaFo9KgfNh0ohI6qOBTnOU2f6cHKPiDxdtLfXVubdic1mUYzuA2PcrBZQuRc5EBcvHbGCpr3Ds90cGB+xQ== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" -"@svgr/babel-preset@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" - integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== +"@solana/wallet-adapter-base-ui@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-base-ui/-/wallet-adapter-base-ui-0.1.2.tgz#f5ad35c0ac1d086c69591613fb1a0bd2eae20c4e" + integrity sha512-33l0WqY0mKKhcrNBbqS9anvT4MjzNnKewoF1VcdbI/uSlMOZtGy+9fr8ETVFI+ivr44QHpvbiZX9dmz2mTCGXw== dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" - "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" - "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" - "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" - "@svgr/babel-plugin-transform-svg-component" "8.0.0" + "@solana/wallet-adapter-react" "^0.15.35" -"@svgr/core@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" +"@solana/wallet-adapter-base@^0.9.17", "@solana/wallet-adapter-base@^0.9.23": + version "0.9.23" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-base/-/wallet-adapter-base-0.9.23.tgz#3b17c28afd44e173f44f658bf9700fd637e12a11" + integrity sha512-apqMuYwFp1jFi55NxDfvXUX2x1T0Zh07MxhZ/nCCTGys5raSfYUh82zen2BLv8BSDj/JxZ2P/s7jrQZGrX8uAw== + dependencies: + "@solana/wallet-standard-features" "^1.1.0" + "@wallet-standard/base" "^1.0.1" + "@wallet-standard/features" "^1.0.3" + eventemitter3 "^4.0.7" + +"@solana/wallet-adapter-bitkeep@^0.3.20": + version "0.3.20" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-bitkeep/-/wallet-adapter-bitkeep-0.3.20.tgz#96f59932238d6dad3af3d983cee82ca6665236e8" + integrity sha512-v6Jd13CZOPNIAX0nFlopAJ3HDvC+MhiB4sde3C8sSnNbjVi9h1WLHBmaUfgqU6mAyhDjWUZjKt4zYlMhLdp/bg== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-bitpie@^0.5.18": + version "0.5.18" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-bitpie/-/wallet-adapter-bitpie-0.5.18.tgz#c77e6d3a43811ed133cf9a92e344aed8ddef15f5" + integrity sha512-gEflEwAyUbfmU4NEmsoDYt1JNFyoBQGm99BBvrvXdJsDdExvT6PwHNi5YlQKp1A4EAqjqaEj+nQzr6ygUpmCBQ== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-clover@^0.4.19": + version "0.4.19" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-clover/-/wallet-adapter-clover-0.4.19.tgz#76e63d52d5596f34eb48c1a216f81e9600fa320b" + integrity sha512-48PoaPte/SRYeU25bvOSmSEqoKCcyOBH9CXebsDcXkrgf+g46KRlAlsY605q1ebzr+iaFEONtTdxW8LthvJtbA== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-coin98@^0.5.20": + version "0.5.20" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-coin98/-/wallet-adapter-coin98-0.5.20.tgz#7ad234b4715cadda80bc09e2ccd9e960ceba1e77" + integrity sha512-gnDFNsFq4IeB6jtQj6fZOUthuuQpvtomCkwkwsOWARNhl8nhnsfbuNs3r4XaT4Q79my07ogNQUBPGKY/8CqjiA== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + bs58 "^4.0.1" + +"@solana/wallet-adapter-coinbase@^0.1.19": + version "0.1.19" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-coinbase/-/wallet-adapter-coinbase-0.1.19.tgz#b750fa739c67390e0918bd7ccc21f39fd602d462" + integrity sha512-hcf9ieAbQxD2g8/5glXVAt67w+3iixpjMMZC7lT7Wa8SJZsq6lmISC9AtZctDEQcWSVV0IkedZp3bg6bp22kng== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-coinhub@^0.3.18": + version "0.3.18" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-coinhub/-/wallet-adapter-coinhub-0.3.18.tgz#3f23b32a88328ae0ba66fc25b15d65e4b13979eb" + integrity sha512-yeJo+cHVlUBlH16Q+knnFDJrH9wzEB3zvSq57PXfqvlWSjySm4PkkK7srRoAwfNOxL/eArSJWfBwRprsymttJQ== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-fractal@^0.1.8": + version "0.1.8" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-fractal/-/wallet-adapter-fractal-0.1.8.tgz#27c6a33c6d56ffb74bab157f2cc6cde7d03d1e54" + integrity sha512-lV/rXOMQSR7sBIEDx8g0jwvXP/fT2Vw/47CSj9BaVYC5LGphhuoYbcI4ko1y0Zv+dJu8JVRTeKbnaiRBjht5DA== + dependencies: + "@fractalwagmi/solana-wallet-adapter" "^0.1.1" + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-huobi@^0.1.15": + version "0.1.15" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-huobi/-/wallet-adapter-huobi-0.1.15.tgz#a9e7eaf26fbef743f0b47572ddc46e92e6a62f44" + integrity sha512-VKwlK0fE7v97NEWwP86iBY/xgnB3fQJv2/RYaw8ODAcfJqVQZAV6EhDR8fo6++jdS1KkcWc2GcHdBMrqPli3yQ== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-hyperpay@^0.1.14": + version "0.1.14" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-hyperpay/-/wallet-adapter-hyperpay-0.1.14.tgz#1dcf15366165cc4e742346eb42b353c8c67f44f4" + integrity sha512-K0qMVpPHbeIVAvhwnn+2GR8jjBe/a5EP514TL/10SQQ8vTLd7ggNWZdTRCjUkHRlsbTOK7yYWAOHu3gx7429rw== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-keystone@^0.1.15": + version "0.1.15" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-keystone/-/wallet-adapter-keystone-0.1.15.tgz#baff234defdb932347451bb413f09e93433c9ba6" + integrity sha512-2A31/vuDRAfASOEyWvJ2YjtwCQohwim3/K+KzhPfvG20C4wr6agDbMXi1T2lDWwrd13kyP+dIgOzPfuLn09tWw== + dependencies: + "@keystonehq/sol-keyring" "^0.3.1" + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-krystal@^0.1.12": + version "0.1.12" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-krystal/-/wallet-adapter-krystal-0.1.12.tgz#bcb6cdf6a553dde575042353fdd155a890478fdd" + integrity sha512-umQV9cbLZcqJFkcjpdOgPvTeDvUjcivRSzWgbx27drmeQ9bi4w9bYH5XkFmbj9iD98q+fjrYQUOK772IHZqrkQ== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-ledger@^0.9.25": + version "0.9.25" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-ledger/-/wallet-adapter-ledger-0.9.25.tgz#c9243b47d94469788e8090fbe8a136867e944bd9" + integrity sha512-59yD3aveLwlzXqk4zBCaPLobeqAhmtMxPizfUBOjzwRKyepi1Nnnt9AC9Af3JrweU2x4qySRxAaZfU/iNqJ3rQ== + dependencies: + "@ledgerhq/devices" "6.27.1" + "@ledgerhq/hw-transport" "6.27.1" + "@ledgerhq/hw-transport-webhid" "6.27.1" + "@solana/wallet-adapter-base" "^0.9.23" + buffer "^6.0.3" + +"@solana/wallet-adapter-mathwallet@^0.9.18": + version "0.9.18" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-mathwallet/-/wallet-adapter-mathwallet-0.9.18.tgz#23172fef715a7dc8b600887c5d0fb996eb6c6cf0" + integrity sha512-sleBX+wB8Wahu2lLBCWihkFtnl64DMJgla/kgsf75PCNmNA93+WLA4gYOK+fFKeBkU12a/Hp5oZKEQsQGFPSOA== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-neko@^0.2.12": + version "0.2.12" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-neko/-/wallet-adapter-neko-0.2.12.tgz#aeacd2ca856692fd41e1c5c86bc986349df42db1" + integrity sha512-ei1QoQZhiYMuH/qm3bnXlueT0jQmH4tZfQvEwudFB8+a0fLtSA8lZU+CYI1jd1YLDjkUEIiXV6R/u32nlCuYDA== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-nightly@^0.1.16": + version "0.1.16" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-nightly/-/wallet-adapter-nightly-0.1.16.tgz#51be8f39d8ccac609c59c96ea1f5df95d71274ca" + integrity sha512-JaPzT8R4HHUqGn/QdElx9iRW98h0NaANBt0j3CZZYWlqsdG0f8fFfy2xofILA+qnDL6NaRI9AzQ4NcQGuVZsVQ== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-nufi@^0.1.17": + version "0.1.17" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-nufi/-/wallet-adapter-nufi-0.1.17.tgz#131a02453905aafdecaef12d251b0b0aaab08a44" + integrity sha512-ggTZKvYPJS3m/9hsMaGSH0F8kqumPqP0WdY7WNihWR6O4Pr401kDBdgXPXNSGorIahdPrRBzp5UrahnrlodvTQ== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-onto@^0.1.7": + version "0.1.7" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-onto/-/wallet-adapter-onto-0.1.7.tgz#f1a9b0aa8205f7bc7c552139ff9a7699e9bf753d" + integrity sha512-WS4LY0Z0J+NcyEkjdjkD11uKURkRQ/RHMYSFE59U+MuBHggEpXJFZuJzUE9SZbG1ltlLTh13hS5ZuiEz7F+faA== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-particle@^0.1.12": + version "0.1.12" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-particle/-/wallet-adapter-particle-0.1.12.tgz#666755a156ad2ce24baa48b92bc1b1c39447a57c" + integrity sha512-6tD5pbyuyCRDswDVD5LCakVQ/vIwjO2lXlVvJFDLdhGa6MinbjTHigLmE58nkTgKATRScyS8FuCCzGmYcXGbow== + dependencies: + "@particle-network/solana-wallet" "^1.3.2" + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-phantom@^0.9.24": + version "0.9.24" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-phantom/-/wallet-adapter-phantom-0.9.24.tgz#9cc0c55d784f99f81a711bae895c38819960b2fc" + integrity sha512-D24AxRHmRJ4AYoRvijbiuUb9LmC4xLGKLMSJS2ly+zGxVmaPASPM/ThaY/DlYTDL31QvkYtl8RzSR4yIU1gpLg== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-react-ui@^0.9.35": + version "0.9.35" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-react-ui/-/wallet-adapter-react-ui-0.9.35.tgz#f44bf71a636845cf6862ac7fd556ee6f7b1a3757" + integrity sha512-SyHUavEAyzBL5zim5xAlYaqP5jF3bOtxi/02wgXzMpKXUYpG4EiXXY3DeGw5eUbcvvej45rQENtTHWEEH9fW+A== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + "@solana/wallet-adapter-base-ui" "^0.1.2" + "@solana/wallet-adapter-react" "^0.15.35" + +"@solana/wallet-adapter-react@^0.15.35": + version "0.15.35" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-react/-/wallet-adapter-react-0.15.35.tgz#0d42e6774c0d55f3782d3eb5edb6ac9888858b08" + integrity sha512-i4hc/gNLTYNLMEt2LS+4lrrc0QAwa5SU2PtYMnZ2A3rsoKF5m1bv1h6cjLj2KBry4/zRGEBoqkiMOC5zHkLnRQ== + dependencies: + "@solana-mobile/wallet-adapter-mobile" "^2.0.0" + "@solana/wallet-adapter-base" "^0.9.23" + "@solana/wallet-standard-wallet-adapter-react" "^1.1.0" + +"@solana/wallet-adapter-safepal@^0.5.18": + version "0.5.18" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-safepal/-/wallet-adapter-safepal-0.5.18.tgz#7eaaeaf6cb162beaed74a61b5beb6b95a67c63ea" + integrity sha512-E/EIO5j+f0FS9Yj5o5JLJ/qHh3Se/9jP2KdHKhooWTlXWbQDzrxMjV88qIKKl5sgWEndqRYDuDbAdW+2dhw6hw== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-saifu@^0.1.15": + version "0.1.15" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-saifu/-/wallet-adapter-saifu-0.1.15.tgz#f02df273b3829486b4d26dd265a80f8af1de1960" + integrity sha512-4nrziKQ+4QInh+COsICpNNUlUt456EJ60SZLxvG/z1AOGpatuzT0gN1+RdMcwHGUtiPBPCkEneUVhFZhhbMJlg== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-salmon@^0.1.14": + version "0.1.14" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-salmon/-/wallet-adapter-salmon-0.1.14.tgz#4a6c6d570600e07af731d4ba2565f22a23211d85" + integrity sha512-CMXdbhaj3prloCJwvxO7e1wfAyRd58QiPB8pjvB4GBbznyoSnHbFXmpxZrKX1Dk6FoJOGBgjB71xnreGcc6oMw== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + salmon-adapter-sdk "^1.1.1" + +"@solana/wallet-adapter-sky@^0.1.15": + version "0.1.15" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-sky/-/wallet-adapter-sky-0.1.15.tgz#43ea9e2f1505b4ab163b276ac8bd9a6a6467d105" + integrity sha512-1vlk1/jnlOC/WfDDgDoUk3XtEhB3hq1fKtUb+xj0pVuSOg2Db+8ka9vPPYlVaKHoGvjm30iGGfr3ZrCxVfG6OQ== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-solflare@^0.6.28": + version "0.6.28" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-solflare/-/wallet-adapter-solflare-0.6.28.tgz#3de42a43220cca361050ebd1755078012a5b0fe2" + integrity sha512-iiUQtuXp8p4OdruDawsm1dRRnzUCcsu+lKo8OezESskHtbmZw2Ifej0P99AbJbBAcBw7q4GPI6987Vh05Si5rw== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + "@solana/wallet-standard-chains" "^1.1.0" + "@solflare-wallet/metamask-sdk" "^1.0.2" + "@solflare-wallet/sdk" "^1.3.0" + "@wallet-standard/wallet" "^1.0.1" + +"@solana/wallet-adapter-solong@^0.9.18": + version "0.9.18" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-solong/-/wallet-adapter-solong-0.9.18.tgz#c7b2f043c2142d40cda7537ad028f31bd5b95815" + integrity sha512-n40eemFUbJlOP+FKvn8rgq+YAOW51lEsn7uVz5ZjmiaW6MnRQniId9KkGYPPOUjytFyM+6/4x6IXI+QJknlSqA== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-spot@^0.1.15": + version "0.1.15" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-spot/-/wallet-adapter-spot-0.1.15.tgz#f442a2f5560ed3abc0fefa5984aaa0af695f3b28" + integrity sha512-daU2iBTSJp1RGfQrB2uV06+2WHfeyW0uhjoJ3zTkz24kXqv5/ycoPHr8Gi2jkDSGMFkewnjWF8g0KMEzq2VYug== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-tokenary@^0.1.12": + version "0.1.12" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-tokenary/-/wallet-adapter-tokenary-0.1.12.tgz#83d99309528794fb2380354c164729e68abe1440" + integrity sha512-iIsOzzEHfRfDUiwYy2BAVGeMl+xBUu92qYK1yAKeKxQPF5McJrnjS3FXwT/onBU5WMdxI6dWm0HKZUiDwefN6A== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-tokenpocket@^0.4.19": + version "0.4.19" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-tokenpocket/-/wallet-adapter-tokenpocket-0.4.19.tgz#a380eb15270d1d209d4d7b4e961270b977e4070e" + integrity sha512-zKXTN+tuKIr/stSxUeG9XPBks9iqeliBWS9JF8eq+8u/Qb/bIDbNSQmd8Z5u1x2lf0puiStc9/iUu/+MLaOSVg== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-torus@^0.11.28": + version "0.11.28" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-torus/-/wallet-adapter-torus-0.11.28.tgz#b857eeab77ff16a0e2400bc841e261ce58fb9da3" + integrity sha512-bu1oJQ+AoIZICxz8J1lVcdL+iBBrdbynnEs5N6dxwoM/cMGLbX7PGYqaH0J1dEXisA+1H5AzGAnW4UU05VBmLA== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + "@toruslabs/solana-embed" "^0.3.4" + assert "^2.0.0" + crypto-browserify "^3.12.0" + process "^0.11.10" + stream-browserify "^3.0.0" + +"@solana/wallet-adapter-trezor@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-trezor/-/wallet-adapter-trezor-0.1.2.tgz#05c1a31ac9bbbbf9457927cec1152965423c7362" + integrity sha512-x4nXntYi1SIv63ZdXWX/Rq/VKwguByKu67WpyUXsu8kOdviksb20bQMuAR7Ue41oJ9zSnLlTxAxA1SuWNkFRBg== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + "@trezor/connect-web" "^9.2.1" + buffer "^6.0.3" + +"@solana/wallet-adapter-trust@^0.1.13": + version "0.1.13" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-trust/-/wallet-adapter-trust-0.1.13.tgz#7c67b76d1977f9e2e45a8b6f5e4c470b29c1d33e" + integrity sha512-lkmPfNdyRgx+z0K7i2cDa3a6SOKXpi3FiaYSo8Zozoxkp+Ga/NXVWxlXtMca4GAc/MnJMVp7yF/31kyFIee+3A== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-unsafe-burner@^0.1.7": + version "0.1.7" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-unsafe-burner/-/wallet-adapter-unsafe-burner-0.1.7.tgz#11e734988af382f2eeb533d0eacca297de4bf190" + integrity sha512-SuBVqQxA1NNUwP4Lo70rLPaM8aWkV1EFAlxkRoRLtwyw/gM8bxTO6+9EVyKCv+ix3yw1rCGIF3B0idXx0i37eQ== + dependencies: + "@noble/curves" "^1.1.0" + "@solana/wallet-adapter-base" "^0.9.23" + "@solana/wallet-standard-features" "^1.1.0" + "@solana/wallet-standard-util" "^1.1.0" + +"@solana/wallet-adapter-walletconnect@^0.1.16": + version "0.1.16" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-walletconnect/-/wallet-adapter-walletconnect-0.1.16.tgz#c335970ddec1247e546a4811fceb4f5edf9487de" + integrity sha512-jNaQwSho8hT7gF1ifePE8TJc1FULx8jCF16KX3fZPtzXDxKrj0R4VUpHMGcw4MlDknrnZNLOJAVvyiawAkPCRQ== + dependencies: + "@jnwng/walletconnect-solana" "^0.2.0" + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-adapter-wallets@^0.19.32": + version "0.19.32" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-wallets/-/wallet-adapter-wallets-0.19.32.tgz#2b3c887e825a480c7c210d2794c19a7c2c1ed57a" + integrity sha512-voZYQiIy1yXuKvm7x7YpnQ53eiJC7NpIYSQjzApOUiswiBRVeYcnPO4O/MMPUwsGkS7iZKqKZjo5CnOaN44n+g== + dependencies: + "@solana/wallet-adapter-alpha" "^0.1.10" + "@solana/wallet-adapter-avana" "^0.1.13" + "@solana/wallet-adapter-bitkeep" "^0.3.20" + "@solana/wallet-adapter-bitpie" "^0.5.18" + "@solana/wallet-adapter-clover" "^0.4.19" + "@solana/wallet-adapter-coin98" "^0.5.20" + "@solana/wallet-adapter-coinbase" "^0.1.19" + "@solana/wallet-adapter-coinhub" "^0.3.18" + "@solana/wallet-adapter-fractal" "^0.1.8" + "@solana/wallet-adapter-huobi" "^0.1.15" + "@solana/wallet-adapter-hyperpay" "^0.1.14" + "@solana/wallet-adapter-keystone" "^0.1.15" + "@solana/wallet-adapter-krystal" "^0.1.12" + "@solana/wallet-adapter-ledger" "^0.9.25" + "@solana/wallet-adapter-mathwallet" "^0.9.18" + "@solana/wallet-adapter-neko" "^0.2.12" + "@solana/wallet-adapter-nightly" "^0.1.16" + "@solana/wallet-adapter-nufi" "^0.1.17" + "@solana/wallet-adapter-onto" "^0.1.7" + "@solana/wallet-adapter-particle" "^0.1.12" + "@solana/wallet-adapter-phantom" "^0.9.24" + "@solana/wallet-adapter-safepal" "^0.5.18" + "@solana/wallet-adapter-saifu" "^0.1.15" + "@solana/wallet-adapter-salmon" "^0.1.14" + "@solana/wallet-adapter-sky" "^0.1.15" + "@solana/wallet-adapter-solflare" "^0.6.28" + "@solana/wallet-adapter-solong" "^0.9.18" + "@solana/wallet-adapter-spot" "^0.1.15" + "@solana/wallet-adapter-tokenary" "^0.1.12" + "@solana/wallet-adapter-tokenpocket" "^0.4.19" + "@solana/wallet-adapter-torus" "^0.11.28" + "@solana/wallet-adapter-trezor" "^0.1.2" + "@solana/wallet-adapter-trust" "^0.1.13" + "@solana/wallet-adapter-unsafe-burner" "^0.1.7" + "@solana/wallet-adapter-walletconnect" "^0.1.16" + "@solana/wallet-adapter-xdefi" "^0.1.7" + +"@solana/wallet-adapter-xdefi@^0.1.7": + version "0.1.7" + resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-xdefi/-/wallet-adapter-xdefi-0.1.7.tgz#caa3c134148a4b9867a474ec3d139b4d7326d522" + integrity sha512-d0icfBOQyaY8kpsdU/wQwaBIahZZPzkXkXfBjpMGwjixD8oeZUFfsg8LC7T1rOIUObeczlocaR/lwtEqWpnaeg== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + +"@solana/wallet-standard-chains@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-standard-chains/-/wallet-standard-chains-1.1.0.tgz#459b297e71b0d9c1196c11a0578b38c85998be7d" + integrity sha512-IRJHf94UZM8AaRRmY18d34xCJiVPJej1XVwXiTjihHnmwD0cxdQbc/CKjrawyqFyQAKJx7raE5g9mnJsAdspTg== + dependencies: + "@wallet-standard/base" "^1.0.1" + +"@solana/wallet-standard-core@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@solana/wallet-standard-core/-/wallet-standard-core-1.1.1.tgz#7187c085dcee38719902217a7ecdd1bf3f27afa3" + integrity sha512-DoQ5Ryly4GAZtxRUmW2rIWrgNvTYVCWrFCFFjZI5s4zu2QNsP7sHZUax3kc1GbmFLXNL1FWRZlPOXRs6e0ZEng== + dependencies: + "@solana/wallet-standard-chains" "^1.1.0" + "@solana/wallet-standard-features" "^1.2.0" + "@solana/wallet-standard-util" "^1.1.1" + +"@solana/wallet-standard-features@^1.1.0", "@solana/wallet-standard-features@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@solana/wallet-standard-features/-/wallet-standard-features-1.2.0.tgz#be8b3824abf5ebcfeaa7298445bf53f76a27c935" + integrity sha512-tUd9srDLkRpe1BYg7we+c4UhRQkq+XQWswsr/L1xfGmoRDF47BPSXf4zE7ZU2GRBGvxtGt7lwJVAufQyQYhxTQ== + dependencies: + "@wallet-standard/base" "^1.0.1" + "@wallet-standard/features" "^1.0.3" + +"@solana/wallet-standard-util@^1.1.0", "@solana/wallet-standard-util@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@solana/wallet-standard-util/-/wallet-standard-util-1.1.1.tgz#f645fdd8b7d3c553a3b59aa19c25c51a1badce66" + integrity sha512-dPObl4ntmfOc0VAGGyyFvrqhL8UkHXmVsgbj0K9RcznKV4KB3MgjGwzo8CTSX5El5lkb0rDeEzFqvToJXRz3dw== + dependencies: + "@noble/curves" "^1.1.0" + "@solana/wallet-standard-chains" "^1.1.0" + "@solana/wallet-standard-features" "^1.2.0" + +"@solana/wallet-standard-wallet-adapter-base@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@solana/wallet-standard-wallet-adapter-base/-/wallet-standard-wallet-adapter-base-1.1.2.tgz#f030f412cd16b06e95c6da5548a03113319d3620" + integrity sha512-DqhzYbgh3disHMgcz6Du7fmpG29BYVapNEEiL+JoVMa+bU9d4P1wfwXUNyJyRpGGNXtwhyZjIk2umWbe5ZBNaQ== + dependencies: + "@solana/wallet-adapter-base" "^0.9.23" + "@solana/wallet-standard-chains" "^1.1.0" + "@solana/wallet-standard-features" "^1.2.0" + "@solana/wallet-standard-util" "^1.1.1" + "@wallet-standard/app" "^1.0.1" + "@wallet-standard/base" "^1.0.1" + "@wallet-standard/features" "^1.0.3" + "@wallet-standard/wallet" "^1.0.1" + +"@solana/wallet-standard-wallet-adapter-react@^1.1.0", "@solana/wallet-standard-wallet-adapter-react@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@solana/wallet-standard-wallet-adapter-react/-/wallet-standard-wallet-adapter-react-1.1.2.tgz#a7bc71786e8f891d2dd83f7de30db4708767a56a" + integrity sha512-bN6W4QkzenyjUoUz3sC5PAed+z29icGtPh9VSmLl1ZrRO7NbFB49a8uwUUVXNxhL/ZbMsyVKhb9bNj47/p8uhQ== + dependencies: + "@solana/wallet-standard-wallet-adapter-base" "^1.1.2" + "@wallet-standard/app" "^1.0.1" + "@wallet-standard/base" "^1.0.1" + +"@solana/wallet-standard-wallet-adapter@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@solana/wallet-standard-wallet-adapter/-/wallet-standard-wallet-adapter-1.1.2.tgz#a9ff9e4d5c379e4f38c03a2b69c9a221904181b6" + integrity sha512-lCwoA+vhPfmvjcmJOhSRV94wouVWTfJv1Z7eeULAe+GodCeKA/0T9/uBYgXHUxQjLHd7o8LpLYIkfm+xjA5sMA== + dependencies: + "@solana/wallet-standard-wallet-adapter-base" "^1.1.2" + "@solana/wallet-standard-wallet-adapter-react" "^1.1.2" + +"@solana/wallet-standard@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@solana/wallet-standard/-/wallet-standard-1.1.2.tgz#b68e38db863f6945979fe278f2cecc2e21f84c2d" + integrity sha512-o7wk+zr5/QgyE393cGRC04K1hacR4EkBu3MB925ddaLvCVaXjwr2asgdviGzN9PEm3FiEJp3sMmMKYHFnwOITQ== + dependencies: + "@solana/wallet-standard-core" "^1.1.1" + "@solana/wallet-standard-wallet-adapter" "^1.1.2" + +"@solana/web3.js@^1.36.0", "@solana/web3.js@^1.63.1", "@solana/web3.js@^1.95.4", "@solana/web3.js@^1.95.5": + version "1.95.5" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.95.5.tgz#ba70da4c205c64249ed94369fe2d617c0347cd85" + integrity sha512-hU9cBrbg1z6gEjLH9vwIckGBVB78Ijm0iZFNk4ocm5OD82piPwuk3MeQ1rfiKD9YQtr95krrcaopb49EmQJlRg== + dependencies: + "@babel/runtime" "^7.25.0" + "@noble/curves" "^1.4.2" + "@noble/hashes" "^1.4.0" + "@solana/buffer-layout" "^4.0.1" + agentkeepalive "^4.5.0" + bigint-buffer "^1.1.5" + bn.js "^5.2.1" + borsh "^0.7.0" + bs58 "^4.0.1" + buffer "6.0.3" + fast-stable-stringify "^1.0.0" + jayson "^4.1.1" + node-fetch "^2.7.0" + rpc-websockets "^9.0.2" + superstruct "^2.0.2" + +"@solflare-wallet/metamask-sdk@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@solflare-wallet/metamask-sdk/-/metamask-sdk-1.0.3.tgz#3baaa22de2c86515e6ba6025285cd1f5d74b04e5" + integrity sha512-os5Px5PTMYKGS5tzOoyjDxtOtj0jZKnbI1Uwt8+Jsw1HHIA+Ib2UACCGNhQ/un2f8sIbTfLD1WuucNMOy8KZpQ== + dependencies: + "@solana/wallet-standard-features" "^1.1.0" + "@wallet-standard/base" "^1.0.1" + bs58 "^5.0.0" + eventemitter3 "^5.0.1" + uuid "^9.0.0" + +"@solflare-wallet/sdk@^1.3.0": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@solflare-wallet/sdk/-/sdk-1.4.2.tgz#630b9a26f7bca255ee4a7088f287ae8c8335e345" + integrity sha512-jrseNWipwl9xXZgrzwZF3hhL0eIVxuEtoZOSLmuPuef7FgHjstuTtNJAeT4icA7pzdDV4hZvu54pI2r2f7SmrQ== + dependencies: + bs58 "^5.0.0" + eventemitter3 "^5.0.1" + uuid "^9.0.0" + +"@stablelib/aead@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" + integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== + +"@stablelib/binary@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" + integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== + dependencies: + "@stablelib/int" "^1.0.1" + +"@stablelib/bytes@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/bytes/-/bytes-1.0.1.tgz#0f4aa7b03df3080b878c7dea927d01f42d6a20d8" + integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== + +"@stablelib/chacha20poly1305@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz#de6b18e283a9cb9b7530d8767f99cde1fec4c2ee" + integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== + dependencies: + "@stablelib/aead" "^1.0.1" + "@stablelib/binary" "^1.0.1" + "@stablelib/chacha" "^1.0.1" + "@stablelib/constant-time" "^1.0.1" + "@stablelib/poly1305" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/chacha@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/chacha/-/chacha-1.0.1.tgz#deccfac95083e30600c3f92803a3a1a4fa761371" + integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/constant-time@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/constant-time/-/constant-time-1.0.1.tgz#bde361465e1cf7b9753061b77e376b0ca4c77e35" + integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== + +"@stablelib/ed25519@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@stablelib/ed25519/-/ed25519-1.0.3.tgz#f8fdeb6f77114897c887bb6a3138d659d3f35996" + integrity sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg== + dependencies: + "@stablelib/random" "^1.0.2" + "@stablelib/sha512" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/hash@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-1.0.1.tgz#3c944403ff2239fad8ebb9015e33e98444058bc5" + integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== + +"@stablelib/hkdf@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hkdf/-/hkdf-1.0.1.tgz#b4efd47fd56fb43c6a13e8775a54b354f028d98d" + integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== + dependencies: + "@stablelib/hash" "^1.0.1" + "@stablelib/hmac" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/hmac@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hmac/-/hmac-1.0.1.tgz#3d4c1b8cf194cb05d28155f0eed8a299620a07ec" + integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== + dependencies: + "@stablelib/constant-time" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/int@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" + integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== + +"@stablelib/keyagreement@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz#4612efb0a30989deb437cd352cee637ca41fc50f" + integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== + dependencies: + "@stablelib/bytes" "^1.0.1" + +"@stablelib/poly1305@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/poly1305/-/poly1305-1.0.1.tgz#93bfb836c9384685d33d70080718deae4ddef1dc" + integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== + dependencies: + "@stablelib/constant-time" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/random@1.0.2", "@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" + integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/sha256@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f" + integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/sha512@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/sha512/-/sha512-1.0.1.tgz#6da700c901c2c0ceacbd3ae122a38ac57c72145f" + integrity sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/wipe@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" + integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== + +"@stablelib/x25519@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@stablelib/x25519/-/x25519-1.0.3.tgz#13c8174f774ea9f3e5e42213cbf9fc68a3c7b7fd" + integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== + dependencies: + "@stablelib/keyagreement" "^1.0.1" + "@stablelib/random" "^1.0.2" + "@stablelib/wipe" "^1.0.1" + +"@svgr/babel-plugin-add-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" + integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== + +"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" + integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== + +"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" + integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== + +"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" + integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== + +"@svgr/babel-plugin-svg-dynamic-title@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" + integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== + +"@svgr/babel-plugin-svg-em-dimensions@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" + integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== + +"@svgr/babel-plugin-transform-react-native-svg@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" + integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== + +"@svgr/babel-plugin-transform-svg-component@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" + integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== + +"@svgr/babel-preset@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" + integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" + "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" + "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" + "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" + "@svgr/babel-plugin-transform-svg-component" "8.0.0" + +"@svgr/core@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== dependencies: "@babel/core" "^7.21.3" @@ -4024,6 +5297,13 @@ "@svgr/hast-util-to-babel-ast" "8.0.0" svg-parser "^2.0.4" +"@swc/helpers@^0.5.11": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.15.tgz#79efab344c5819ecf83a43f3f9f811fc84b516d7" + integrity sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g== + dependencies: + tslib "^2.8.0" + "@tanstack/query-core@4.36.1": version "4.36.1" resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.36.1.tgz#79f8c1a539d47c83104210be2388813a7af2e524" @@ -4082,6 +5362,292 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@toruslabs/base-controllers@^2.8.0": + version "2.9.0" + resolved "https://registry.yarnpkg.com/@toruslabs/base-controllers/-/base-controllers-2.9.0.tgz#e23f4228b5a90bf94ba9b0b27451f3024bd1acc4" + integrity sha512-rKc+bR4QB/wdbH0CxLZC5e2PUZcIgkr9yY7TMd3oIffDklaYBnsuC5ES2/rgK1aRUDRWz+qWbTwLqsY6PlT37Q== + dependencies: + "@ethereumjs/util" "^8.0.6" + "@toruslabs/broadcast-channel" "^6.2.0" + "@toruslabs/http-helpers" "^3.3.0" + "@toruslabs/openlogin-jrpc" "^4.0.0" + async-mutex "^0.4.0" + bignumber.js "^9.1.1" + bowser "^2.11.0" + eth-rpc-errors "^4.0.3" + json-rpc-random-id "^1.0.1" + lodash "^4.17.21" + loglevel "^1.8.1" + +"@toruslabs/broadcast-channel@^6.2.0": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@toruslabs/broadcast-channel/-/broadcast-channel-6.3.1.tgz#d4b0a08c3a0fa88d42d7f33387ce9be928c2d4b2" + integrity sha512-BEtJQ+9bMfFoGuCsp5NmxyY+C980Ho+3BZIKSiYwRtl5qymJ+jMX5lsoCppoQblcb34dP6FwEjeFw80Y9QC/rw== + dependencies: + "@babel/runtime" "^7.21.0" + "@toruslabs/eccrypto" "^2.1.1" + "@toruslabs/metadata-helpers" "^3.2.0" + bowser "^2.11.0" + loglevel "^1.8.1" + oblivious-set "1.1.1" + socket.io-client "^4.6.1" + unload "^2.4.1" + +"@toruslabs/eccrypto@^2.1.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@toruslabs/eccrypto/-/eccrypto-2.2.1.tgz#19012cc4e774e8c3df7ceebb2c1a07ecfd784917" + integrity sha512-7sviL0wLYsfA5ogEAOIdb0tu/QAOFXfHc9B8ONYtF04x4Mg3Nr89LL35FhjaEm055q8Ru7cUQhEFSiqJqm9GCw== + dependencies: + elliptic "^6.5.4" + +"@toruslabs/http-helpers@^3.3.0", "@toruslabs/http-helpers@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@toruslabs/http-helpers/-/http-helpers-3.4.0.tgz#6d1da9e6aba094af62e73cf639a69844c82202f3" + integrity sha512-CoeJSL32mpp0gmYjxv48odu6pfjHk/rbJHDwCtYPcMHAl+qUQ/DTpVOOn9U0fGkD+fYZrQmZbRkXFgLhiT0ajQ== + dependencies: + lodash.merge "^4.6.2" + loglevel "^1.8.1" + +"@toruslabs/metadata-helpers@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@toruslabs/metadata-helpers/-/metadata-helpers-3.2.0.tgz#b297933ac37481a9c86a125ac6a4e5c2f109fb78" + integrity sha512-2bCc6PNKd9y+aWfZQ1FXd47QmfyT4NmmqPGfsqk+sQS2o+MlxIyLuh9uh7deMgXo4b4qBDX+RQGbIKM1zVk56w== + dependencies: + "@toruslabs/eccrypto" "^2.1.1" + "@toruslabs/http-helpers" "^3.4.0" + elliptic "^6.5.4" + ethereum-cryptography "^2.0.0" + json-stable-stringify "^1.0.2" + +"@toruslabs/openlogin-jrpc@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-jrpc/-/openlogin-jrpc-3.2.0.tgz#fff051d05b6c01b6329e2da9b134fae99305d1e0" + integrity sha512-G+K0EHyVUaAEyeD4xGsnAZRpn/ner8lQ2HC2+pGKg6oGmzKI2wGMDcw2KMH6+HKlfBGVJ5/VR9AQfC/tZlLDmQ== + dependencies: + "@toruslabs/openlogin-utils" "^3.0.0" + end-of-stream "^1.4.4" + eth-rpc-errors "^4.0.3" + events "^3.3.0" + fast-safe-stringify "^2.1.1" + once "^1.4.0" + pump "^3.0.0" + readable-stream "^3.6.2" + +"@toruslabs/openlogin-jrpc@^4.0.0": + version "4.7.2" + resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-jrpc/-/openlogin-jrpc-4.7.2.tgz#e04dd6945da92d790f713a58aaa1657c57b330c8" + integrity sha512-9Eb0cPc0lPuS6v2YkQlgzfbRnZ6fLez9Ike5wznoHSFA2/JVu1onwuI56EV1HwswdDrOWPPQEyzI1j9NriZ0ew== + dependencies: + "@metamask/rpc-errors" "^5.1.1" + "@toruslabs/openlogin-utils" "^4.7.0" + end-of-stream "^1.4.4" + events "^3.3.0" + fast-safe-stringify "^2.1.1" + once "^1.4.0" + pump "^3.0.0" + readable-stream "^4.4.2" + +"@toruslabs/openlogin-utils@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-utils/-/openlogin-utils-3.0.0.tgz#2c264fa9a2787a1d2b8c703a38740c7c27967fa7" + integrity sha512-T5t29/AIFqXc84x4OoAkZWjd0uoP2Lk6iaFndnIIMzCPu+BwwV0spX/jd/3YYNjZ8Po8D+faEnwAhiqemYeK2w== + dependencies: + base64url "^3.0.1" + keccak "^3.0.3" + randombytes "^2.1.0" + +"@toruslabs/openlogin-utils@^4.7.0": + version "4.7.0" + resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-utils/-/openlogin-utils-4.7.0.tgz#741d6ba1c0754b59a182b1c6dd8d0263695ed980" + integrity sha512-w6XkHs4WKuufsf/zzteBzs4EJuOknrUmJ+iv5FZ8HzIpMQeL/984CP8HYaFSEYkbGCP4ydAnhY4Uh0QAhpDbPg== + dependencies: + base64url "^3.0.1" + +"@toruslabs/solana-embed@^0.3.4": + version "0.3.4" + resolved "https://registry.yarnpkg.com/@toruslabs/solana-embed/-/solana-embed-0.3.4.tgz#547727e6d202f734d1e97a6658bdb3cf54599938" + integrity sha512-yj+aBJoBAneap7Jlu9/OOp7irWNuC5CqAhyhVcmb0IjWrCUFnioLdL0U7UfGaqVm/5O0leJh7/Z5Ll+3toWJBg== + dependencies: + "@solana/web3.js" "^1.63.1" + "@toruslabs/base-controllers" "^2.8.0" + "@toruslabs/http-helpers" "^3.3.0" + "@toruslabs/openlogin-jrpc" "^3.2.0" + eth-rpc-errors "^4.0.3" + fast-deep-equal "^3.1.3" + is-stream "^2.0.1" + lodash-es "^4.17.21" + loglevel "^1.8.1" + pump "^3.0.0" + +"@trezor/analytics@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@trezor/analytics/-/analytics-1.2.3.tgz#6fa7cb5da639bdfa2393c1e726912e6d5ec97772" + integrity sha512-VMWDedeFnZEaJnZEYsSaxhU6fJjiNj7nyXu1m2ht+pA73GIoTTwAFAQGgbT4Fy4VdLmwI3AdwKvJTuA+ccFwpg== + dependencies: + "@trezor/env-utils" "1.2.1" + "@trezor/utils" "9.2.3" + +"@trezor/blockchain-link-types@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@trezor/blockchain-link-types/-/blockchain-link-types-1.2.3.tgz#8b596a953c6d992e0d0dc94a852235ca555ba8d8" + integrity sha512-ymH4R/fmmUmNKSIpItFONhvq4r9UjzIWNSX/Jqntf8X0Jb4/pMLLxY+ZJ+AK9mEvk9hVbf/TTa99gJ1XQ2SwnA== + dependencies: + "@solana/web3.js" "^1.95.4" + "@trezor/type-utils" "1.1.2" + "@trezor/utxo-lib" "2.2.3" + +"@trezor/blockchain-link-utils@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@trezor/blockchain-link-utils/-/blockchain-link-utils-1.2.3.tgz#53cfa05e0661cdcce19858f2b4af8f31fded8649" + integrity sha512-Q+G+o7LaWJWIlRR6VhIVYcNoWGbohv2ApSsT/8/7UQg9FHUqJa3x9z4ulU6mTGVf3XFm4fmRoFrYZJOj/2orDw== + dependencies: + "@mobily/ts-belt" "^3.13.1" + "@solana/web3.js" "^1.95.4" + "@trezor/env-utils" "1.2.1" + "@trezor/utils" "9.2.3" + +"@trezor/blockchain-link@2.3.3": + version "2.3.3" + resolved "https://registry.yarnpkg.com/@trezor/blockchain-link/-/blockchain-link-2.3.3.tgz#99ca4c5c685498e3c1333a7a40d6d06955845ac3" + integrity sha512-njRNNGzFvyKzOSmtuhljbIfnL+eozqNY9DMQWbtMnLlKgQH6kwJTFfn5RsW7rKRTqd7I4DkKWRVT4VXIRJO1bw== + dependencies: + "@solana/buffer-layout" "^4.0.1" + "@solana/web3.js" "^1.95.4" + "@trezor/blockchain-link-types" "1.2.3" + "@trezor/blockchain-link-utils" "1.2.3" + "@trezor/env-utils" "1.2.1" + "@trezor/utils" "9.2.3" + "@trezor/utxo-lib" "2.2.3" + "@types/web" "^0.0.174" + events "^3.3.0" + ripple-lib "^1.10.1" + socks-proxy-agent "8.0.4" + ws "^8.18.0" + +"@trezor/connect-analytics@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@trezor/connect-analytics/-/connect-analytics-1.2.3.tgz#9853bd30c49da36eae3690a69e618983b59c6a22" + integrity sha512-xUXBG7XyEoUdxsFjWG7F9RtzR6zqn34KGIh2ySmCRiz+YM6iDYCxkBZe/2hiaEWKzuCguYBvL7oelDT+CQZIGQ== + dependencies: + "@trezor/analytics" "1.2.3" + +"@trezor/connect-common@0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@trezor/connect-common/-/connect-common-0.2.4.tgz#6eb06ecffdcba66d1ef8cf3161ed4ffe69bbda9a" + integrity sha512-6sQlbnTa7KSjs6ZsfGPznYBXAOn4o2ylA0RHH5SOBdexXwx4+4XlEp2TvEpTCssFgtGONd6/Wwgbhb6MeDLkTA== + dependencies: + "@trezor/env-utils" "1.2.1" + "@trezor/utils" "9.2.3" + +"@trezor/connect-web@^9.2.1": + version "9.4.4" + resolved "https://registry.yarnpkg.com/@trezor/connect-web/-/connect-web-9.4.4.tgz#74b77753267b0dd1c2c20527da2e28a51476fadb" + integrity sha512-sArG/cTsDCic1ZSwqoQPf2Fgyw4PrWDsHElAPC5ohTLo8HHEcTOKSM59X38jrd7DQrs3+EoMQHxNU3EVi6FJEw== + dependencies: + "@trezor/connect" "9.4.4" + "@trezor/connect-common" "0.2.4" + "@trezor/utils" "9.2.3" + +"@trezor/connect@9.4.4": + version "9.4.4" + resolved "https://registry.yarnpkg.com/@trezor/connect/-/connect-9.4.4.tgz#bd2547e1dd78716aafc5f6271388fd37b8adb218" + integrity sha512-s9mnVwdxMQHBkzNj3KfcoVMZN8lwRzeVknrWOE0COZiD5TCyVirEVlaV7jXz95DU0yB7ke1mRDtSV1eRJD3XEA== + dependencies: + "@babel/preset-typescript" "^7.24.7" + "@ethereumjs/common" "^4.4.0" + "@ethereumjs/tx" "^5.4.0" + "@fivebinaries/coin-selection" "2.2.1" + "@trezor/blockchain-link" "2.3.3" + "@trezor/blockchain-link-types" "1.2.3" + "@trezor/connect-analytics" "1.2.3" + "@trezor/connect-common" "0.2.4" + "@trezor/protobuf" "1.2.4" + "@trezor/protocol" "1.2.2" + "@trezor/schema-utils" "1.2.3" + "@trezor/transport" "1.3.4" + "@trezor/utils" "9.2.3" + "@trezor/utxo-lib" "2.2.3" + blakejs "^1.2.1" + bs58 "^6.0.0" + bs58check "^4.0.0" + cross-fetch "^4.0.0" + +"@trezor/env-utils@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@trezor/env-utils/-/env-utils-1.2.1.tgz#58f689b69ba65208d5518fe34ca46054024f2312" + integrity sha512-ESBV+/AWpfJA6qnHk7BgBYFbhNtUKjPZZzQr1LOUiePwFITbVu421b5BHjTSPFVjpbrWo6Ob0IG7u8saJi0G5A== + dependencies: + ua-parser-js "^1.0.37" + +"@trezor/protobuf@1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@trezor/protobuf/-/protobuf-1.2.4.tgz#18a6b9c83b8b89652167cdbed0e2b3daea079fd4" + integrity sha512-609Z8st6lL59DQoAb3XTwyNz3xxXBr1rgcAE6mB8LtVjo37YMO2IL2CXomk0ngybtfwkPq9tU1SgifMdAv0sVw== + dependencies: + "@trezor/schema-utils" "1.2.3" + protobufjs "7.4.0" + +"@trezor/protocol@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@trezor/protocol/-/protocol-1.2.2.tgz#922319cb59da33f605257a59f630345b4866dcd3" + integrity sha512-iXD+Wqpk0FpwJpQbAFKw+8AL6ipfDjQ7g+MYZ7lU1H7/gCxM2XqLI4eW7Il+FAwk7orepDuoSbJSVcsNJYKjOA== + +"@trezor/schema-utils@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@trezor/schema-utils/-/schema-utils-1.2.3.tgz#e94e1f2fa24451db88bfede873719d0bac3eebc4" + integrity sha512-+/GmaSTfUf8nEBSSWz/SV0W/0l37YQBfDMygAKXlKMbtXJI03PHqkEF/jQrt+BP2Gh24gjo5GNqCwx7EIlzZug== + dependencies: + "@sinclair/typebox" "^0.33.7" + ts-mixer "^6.0.3" + +"@trezor/transport@1.3.4": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@trezor/transport/-/transport-1.3.4.tgz#73019543c97668d81846e24eae7ba5fa07fb65f9" + integrity sha512-qKE2d7gML4uDNcTwPTJqgZ6gA79kXX61ZQknCyGXizW3oaTVCu7GP1wZxxW8plzRZVHNCAH9Wdc5mlrAkAooDQ== + dependencies: + "@trezor/protobuf" "1.2.4" + "@trezor/protocol" "1.2.2" + "@trezor/utils" "9.2.3" + cross-fetch "^4.0.0" + long "^4.0.0" + protobufjs "7.4.0" + usb "^2.14.0" + +"@trezor/type-utils@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@trezor/type-utils/-/type-utils-1.1.2.tgz#accb6ad8d0b3f207c09ce2bf4f59605b00523371" + integrity sha512-48VUd5OwgqzsnShMDVxs6SyKrYdl+rQc23fKMNChpYM1Ilw7ea9uKvNN38pEvQHWERKKEtmiRJ8cQD4X9D9MVQ== + +"@trezor/utils@9.2.3": + version "9.2.3" + resolved "https://registry.yarnpkg.com/@trezor/utils/-/utils-9.2.3.tgz#b310ac21767b00b980f58bcfa0eba4966fba20a6" + integrity sha512-nSuI87UUHKwh8loQDiBkvKE7yAQOnJKaxQ0MM45JocYZ/kyfKfipWSsmB1Rm/T6llgCnqHdCvirhfjEI18Zlxg== + dependencies: + bignumber.js "^9.1.2" + +"@trezor/utxo-lib@2.2.3": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@trezor/utxo-lib/-/utxo-lib-2.2.3.tgz#061c9988e60fb7ce36c05a32feb00172791465fd" + integrity sha512-BtQHlFWb02FAtB13g23xsgEO1CJewKyRk0em00kGtpEeIBLLKRq/D1dj6o3B3ERUQHOFvoufZjcYJkJ/WExGWQ== + dependencies: + "@trezor/utils" "9.2.3" + bchaddrjs "^0.5.2" + bech32 "^2.0.0" + bip66 "^2.0.0" + bitcoin-ops "^1.4.1" + blake-hash "^2.0.0" + blakejs "^1.2.1" + bn.js "^5.2.1" + bs58 "^6.0.0" + bs58check "^4.0.0" + create-hmac "^1.1.7" + int64-buffer "^1.0.1" + pushdata-bitcoin "^1.0.1" + tiny-secp256k1 "^1.1.6" + typeforce "^1.18.0" + varuint-bitcoin "2.0.0" + wif "^5.0.0" + "@tronweb3/google-protobuf@^3.21.2": version "3.21.2" resolved "https://registry.yarnpkg.com/@tronweb3/google-protobuf/-/google-protobuf-3.21.2.tgz#0964cf83ed7826d31c3cb4e4ecf07655681631c9" @@ -4158,6 +5724,13 @@ resolved "https://registry.yarnpkg.com/@types/command-line-usage/-/command-line-usage-5.0.2.tgz#ba5e3f6ae5a2009d466679cc431b50635bf1a064" integrity sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg== +"@types/connect@^3.4.33": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + "@types/d3-array@3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/d3-array/-/d3-array-3.0.3.tgz#87d990bf504d14ad6b16766979d04e943c046dac" @@ -4260,6 +5833,13 @@ resolved "https://registry.yarnpkg.com/@types/d3-voronoi/-/d3-voronoi-1.1.12.tgz#99d1bbf5438ac222727493bef2283da62ffc0aa3" integrity sha512-DauBl25PKZZ0WVJr42a6CNvI6efsdzofl9sajqZr2Gf5Gu733WkDdUGiPkUHXiUvYGzNNlFQde2wdZdfQPG+yw== +"@types/debug@^4.1.7": + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== + dependencies: + "@types/ms" "*" + "@types/duplexify@^3.6.0": version "3.6.4" resolved "https://registry.yarnpkg.com/@types/duplexify/-/duplexify-3.6.4.tgz#aa7e916c33fcc05be8769546fd0441d9b368613e" @@ -4362,6 +5942,11 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8" integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== +"@types/lodash@^4.14.136": + version "4.17.13" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.13.tgz#786e2d67cfd95e32862143abe7463a7f90c300eb" + integrity sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg== + "@types/lodash@^4.14.172": version "4.17.10" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.10.tgz#64f3edf656af2fe59e7278b73d3e62404144a6e6" @@ -4390,6 +5975,11 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== +"@types/ms@*": + version "0.7.34" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" + integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== + "@types/node@*", "@types/node@>=13.7.0": version "20.12.8" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.8.tgz#35897bf2bfe3469847ab04634636de09552e8256" @@ -4419,6 +6009,11 @@ dependencies: undici-types "~5.26.4" +"@types/node@^12.12.54": + version "12.20.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== + "@types/node@^13.7.0": version "13.13.52" resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.52.tgz#03c13be70b9031baaed79481c0c0cfb0045e53f7" @@ -4535,6 +6130,21 @@ resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz#b6725d5f4af24ace33b36fafd295136e75509f43" integrity sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA== +"@types/uuid@8.3.4", "@types/uuid@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" + integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== + +"@types/w3c-web-usb@^1.0.6": + version "1.0.10" + resolved "https://registry.yarnpkg.com/@types/w3c-web-usb/-/w3c-web-usb-1.0.10.tgz#cf89cccd2d93b6245e784c19afe0a9f5038d4528" + integrity sha512-CHgUI5kTc/QLMP8hODUHhge0D4vx+9UiAwIGiT0sTy/B2XpdX1U5rJt6JSISgr6ikRT7vxV9EVAFeYZqUnl1gQ== + +"@types/web@^0.0.174": + version "0.0.174" + resolved "https://registry.yarnpkg.com/@types/web/-/web-0.0.174.tgz#381796df30266c77681f3fd56b60063694806412" + integrity sha512-dT8gX38RUQjy+uruZg49EvloEa2S3gR0z2eRi557eTSFKqUSXkSCWYa0IY9uabX9MZPMGOu+1r8Qn6tsvJ1KnQ== + "@types/ws@8.5.9": version "8.5.9" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.9.tgz#384c489f99c83225a53f01ebc3eddf3b8e202a8c" @@ -4542,6 +6152,13 @@ dependencies: "@types/node" "*" +"@types/ws@^7.2.0", "@types/ws@^7.4.4": + version "7.4.7" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" + integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== + dependencies: + "@types/node" "*" + "@types/ws@^8.0.0": version "8.5.12" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.12.tgz#619475fe98f35ccca2a2f6c137702d85ec247b7e" @@ -4549,6 +6166,13 @@ dependencies: "@types/node" "*" +"@types/ws@^8.2.2": + version "8.5.13" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.13.tgz#6414c280875e2691d0d1e080b05addbf5cb91e20" + integrity sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA== + dependencies: + "@types/node" "*" + "@types/ws@^8.5.9": version "8.5.10" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" @@ -4951,6 +6575,51 @@ resolved "https://registry.yarnpkg.com/@vladfrangu/async_event_emitter/-/async_event_emitter-2.2.4.tgz#d3537432c6db6444680a596271dff8ea407343b3" integrity sha512-ButUPz9E9cXMLgvAW8aLAKKJJsPu1dY1/l/E8xzLFuysowXygs6GBcyunK9rnGC4zTsnIc2mQo71rGw9U+Ykug== +"@wallet-standard/app@^1.0.1", "@wallet-standard/app@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@wallet-standard/app/-/app-1.1.0.tgz#2ca32e4675536224ebe55a00ad533b7923d7380a" + integrity sha512-3CijvrO9utx598kjr45hTbbeeykQrQfKmSnxeWOgU25TOEpvcipD/bYDQWIqUv1Oc6KK4YStokSMu/FBNecGUQ== + dependencies: + "@wallet-standard/base" "^1.1.0" + +"@wallet-standard/base@^1.0.1", "@wallet-standard/base@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@wallet-standard/base/-/base-1.1.0.tgz#214093c0597a1e724ee6dbacd84191dfec62bb33" + integrity sha512-DJDQhjKmSNVLKWItoKThJS+CsJQjR9AOBOirBVT1F9YpRyC9oYHE+ZnSf8y8bxUphtKqdQMPVQ2mHohYdRvDVQ== + +"@wallet-standard/core@^1.0.3": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@wallet-standard/core/-/core-1.1.0.tgz#06a2193afe9cda41e626a8e990996e568138da91" + integrity sha512-v2W5q/NlX1qkn2q/JOXQT//pOAdrhz7+nOcO2uiH9+a0uvreL+sdWWqkhFmMcX+HEBjaibdOQMUoIfDhOGX4XA== + dependencies: + "@wallet-standard/app" "^1.1.0" + "@wallet-standard/base" "^1.1.0" + "@wallet-standard/errors" "^0.1.0" + "@wallet-standard/features" "^1.1.0" + "@wallet-standard/wallet" "^1.1.0" + +"@wallet-standard/errors@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@wallet-standard/errors/-/errors-0.1.0.tgz#fb8ae75b365eb5d3c167ec6b88d3c9cb3039b928" + integrity sha512-ag0eq5ixy7rz8M5YUWGi/EoIJ69KJ+KILFNunoufgmXVkiISC7+NIZXJYTJrapni4f9twE1hfT+8+IV2CYCvmg== + dependencies: + chalk "^5.3.0" + commander "^12.1.0" + +"@wallet-standard/features@^1.0.3", "@wallet-standard/features@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@wallet-standard/features/-/features-1.1.0.tgz#f256d7b18940c8d134f66164330db358a8f5200e" + integrity sha512-hiEivWNztx73s+7iLxsuD1sOJ28xtRix58W7Xnz4XzzA/pF0+aicnWgjOdA10doVDEDZdUuZCIIqG96SFNlDUg== + dependencies: + "@wallet-standard/base" "^1.1.0" + +"@wallet-standard/wallet@^1.0.1", "@wallet-standard/wallet@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@wallet-standard/wallet/-/wallet-1.1.0.tgz#a1e46a3f1b2d06a0206058562169b1f0e9652d0f" + integrity sha512-Gt8TnSlDZpAl+RWOOAB/kuvC7RpcdWAlFbHNoi4gsXsfaWa1QCT6LBcfIYTPdOZC9OVZUDwqGuGAcqZejDmHjg== + dependencies: + "@wallet-standard/base" "^1.1.0" + "@walletconnect/browser-utils@^1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@walletconnect/browser-utils/-/browser-utils-1.8.0.tgz#33c10e777aa6be86c713095b5206d63d32df0951" @@ -4972,6 +6641,29 @@ "@walletconnect/types" "^1.8.0" "@walletconnect/utils" "^1.8.0" +"@walletconnect/core@2.17.2": + version "2.17.2" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.17.2.tgz#877dc03f190d7b262bff8ce346330fdf1019cd83" + integrity sha512-O9VUsFg78CbvIaxfQuZMsHcJ4a2Z16DRz/O4S+uOAcGKhH/i/ln8hp864Tb+xRvifWSzaZ6CeAVxk657F+pscA== + dependencies: + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/jsonrpc-ws-connection" "1.0.14" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.0.4" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.17.2" + "@walletconnect/utils" "2.17.2" + "@walletconnect/window-getters" "1.0.1" + events "3.3.0" + lodash.isequal "4.5.0" + uint8arrays "3.1.0" + "@walletconnect/core@^1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-1.8.0.tgz#6b2748b90c999d9d6a70e52e26a8d5e8bfeaa81e" @@ -5023,6 +6715,23 @@ eip1193-provider "1.0.1" eventemitter3 "4.0.7" +"@walletconnect/events@1.0.1", "@walletconnect/events@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c" + integrity sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ== + dependencies: + keyvaluestorage-interface "^1.0.0" + tslib "1.14.1" + +"@walletconnect/heartbeat@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.2.tgz#e8dc5179db7769950c6f9cf59b23516d9b95227d" + integrity sha512-uASiRmC5MwhuRuf05vq4AT48Pq8RMi876zV8rr8cV969uTOzWdB/k+Lj5yI2PBtB1bGQisGen7MM1GcZlQTBXw== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/time" "^1.0.2" + events "^3.3.0" + "@walletconnect/iso-crypto@^1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@walletconnect/iso-crypto/-/iso-crypto-1.8.0.tgz#44ddf337c4f02837c062dbe33fa7ab36789df451" @@ -5042,6 +6751,15 @@ cross-fetch "^3.1.4" tslib "1.14.1" +"@walletconnect/jsonrpc-provider@1.0.14": + version "1.0.14" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.14.tgz#696f3e3b6d728b361f2e8b853cfc6afbdf2e4e3e" + integrity sha512-rtsNY1XqHvWj0EtITNeuf8PHMvlCLiS3EjQL+WOkxEOA4KPxsohFnBDeyPYiNm4ZvkQdLnece36opYidmtbmow== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.8" + "@walletconnect/safe-json" "^1.0.2" + events "^3.3.0" + "@walletconnect/jsonrpc-provider@^1.0.5": version "1.0.13" resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz#9a74da648d015e1fffc745f0c7d629457f53648b" @@ -5051,6 +6769,14 @@ "@walletconnect/safe-json" "^1.0.2" tslib "1.14.1" +"@walletconnect/jsonrpc-types@1.0.4", "@walletconnect/jsonrpc-types@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.4.tgz#ce1a667d79eadf2a2d9d002c152ceb68739c230c" + integrity sha512-P6679fG/M+wuWg9TY8mh6xFSdYnFyFjwFelxyISxMDrlbXokorEVXYOxiqEbrU3x1BmBoCAJJ+vtEaEoMlpCBQ== + dependencies: + events "^3.3.0" + keyvaluestorage-interface "^1.0.0" + "@walletconnect/jsonrpc-types@^1.0.1", "@walletconnect/jsonrpc-types@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz#65e3b77046f1a7fa8347ae02bc1b841abe6f290c" @@ -5059,7 +6785,7 @@ keyvaluestorage-interface "^1.0.0" tslib "1.14.1" -"@walletconnect/jsonrpc-utils@^1.0.3", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.8": +"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.3", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.8": version "1.0.8" resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz#82d0cc6a5d6ff0ecc277cb35f71402c91ad48d72" integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw== @@ -5068,6 +6794,33 @@ "@walletconnect/jsonrpc-types" "^1.0.3" tslib "1.14.1" +"@walletconnect/jsonrpc-ws-connection@1.0.14": + version "1.0.14" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.14.tgz#eec700e74766c7887de2bd76c91a0206628732aa" + integrity sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.6" + "@walletconnect/safe-json" "^1.0.2" + events "^3.3.0" + ws "^7.5.1" + +"@walletconnect/keyvaluestorage@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz#dd2caddabfbaf80f6b8993a0704d8b83115a1842" + integrity sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA== + dependencies: + "@walletconnect/safe-json" "^1.0.1" + idb-keyval "^6.2.1" + unstorage "^1.9.0" + +"@walletconnect/logger@2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.1.2.tgz#813c9af61b96323a99f16c10089bfeb525e2a272" + integrity sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw== + dependencies: + "@walletconnect/safe-json" "^1.0.2" + pino "7.11.0" + "@walletconnect/mobile-registry@^1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz#502cf8ab87330841d794819081e748ebdef7aee5" @@ -5095,18 +6848,52 @@ randombytes "^2.1.0" tslib "1.14.1" +"@walletconnect/relay-api@1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.11.tgz#80ab7ef2e83c6c173be1a59756f95e515fb63224" + integrity sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q== + dependencies: + "@walletconnect/jsonrpc-types" "^1.0.2" + +"@walletconnect/relay-auth@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz#0b5c55c9aa3b0ef61f526ce679f3ff8a5c4c2c7c" + integrity sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ== + dependencies: + "@stablelib/ed25519" "^1.0.2" + "@stablelib/random" "^1.0.1" + "@walletconnect/safe-json" "^1.0.1" + "@walletconnect/time" "^1.0.2" + tslib "1.14.1" + uint8arrays "^3.0.0" + "@walletconnect/safe-json@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.0.tgz#12eeb11d43795199c045fafde97e3c91646683b2" integrity sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg== -"@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": +"@walletconnect/safe-json@1.0.2", "@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.2.tgz#7237e5ca48046e4476154e503c6d3c914126fa77" integrity sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA== dependencies: tslib "1.14.1" +"@walletconnect/sign-client@^2.7.2": + version "2.17.2" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.17.2.tgz#b8bd125d7c34a67916745ebbdbbc834db5518c8b" + integrity sha512-/wigdCIQjlBXSWY43Id0IPvZ5biq4HiiQZti8Ljvx408UYjmqcxcBitbj2UJXMYkid7704JWAB2mw32I1HgshQ== + dependencies: + "@walletconnect/core" "2.17.2" + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.17.2" + "@walletconnect/utils" "2.17.2" + events "3.3.0" + "@walletconnect/signer-connection@^1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@walletconnect/signer-connection/-/signer-connection-1.8.0.tgz#6cdf490df770e504cc1a550bdb5bac7696b130bc" @@ -5128,11 +6915,56 @@ "@walletconnect/utils" "^1.8.0" ws "7.5.3" +"@walletconnect/time@1.0.2", "@walletconnect/time@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" + integrity sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g== + dependencies: + tslib "1.14.1" + +"@walletconnect/types@2.17.2": + version "2.17.2" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.17.2.tgz#f9afff242563be33f377de689b03b482f5b20aee" + integrity sha512-j/+0WuO00lR8ntu7b1+MKe/r59hNwYLFzW0tTmozzhfAlDL+dYwWasDBNq4AH8NbVd7vlPCQWmncH7/6FVtOfQ== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + events "3.3.0" + "@walletconnect/types@^1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-1.8.0.tgz#3f5e85b2d6b149337f727ab8a71b8471d8d9a195" integrity sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg== +"@walletconnect/utils@2.17.2", "@walletconnect/utils@^2.4.5": + version "2.17.2" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.17.2.tgz#b4b12e3f5ebbfd883b2a5c87fb818e53501dc7ea" + integrity sha512-T7eLRiuw96fgwUy2A5NZB5Eu87ukX8RCVoO9lji34RFV4o2IGU9FhTEWyd4QQKI8OuQRjSknhbJs0tU0r0faPw== + dependencies: + "@ethersproject/hash" "5.7.0" + "@ethersproject/transactions" "5.7.0" + "@stablelib/chacha20poly1305" "1.0.1" + "@stablelib/hkdf" "1.0.1" + "@stablelib/random" "1.0.2" + "@stablelib/sha256" "1.0.1" + "@stablelib/x25519" "1.0.3" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.0.4" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.17.2" + "@walletconnect/window-getters" "1.0.1" + "@walletconnect/window-metadata" "1.0.1" + detect-browser "5.3.0" + elliptic "6.6.0" + query-string "7.1.3" + uint8arrays "3.1.0" + "@walletconnect/utils@^1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-1.8.0.tgz#2591a197c1fa7429941fe428876088fda6632060" @@ -5151,7 +6983,7 @@ resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.0.tgz#1053224f77e725dfd611c83931b5f6c98c32bfc8" integrity sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA== -"@walletconnect/window-getters@^1.0.0": +"@walletconnect/window-getters@1.0.1", "@walletconnect/window-getters@^1.0.0", "@walletconnect/window-getters@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc" integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== @@ -5165,6 +6997,14 @@ dependencies: "@walletconnect/window-getters" "^1.0.0" +"@walletconnect/window-metadata@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz#2124f75447b7e989e4e4e1581d55d25bc75f7be5" + integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== + dependencies: + "@walletconnect/window-getters" "^1.0.1" + tslib "1.14.1" + "@whatwg-node/events@^0.0.3": version "0.0.3" resolved "https://registry.yarnpkg.com/@whatwg-node/events/-/events-0.0.3.tgz#13a65dd4f5893f55280f766e29ae48074927acad" @@ -5255,6 +7095,14 @@ resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== +JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + abbrev@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf" @@ -5290,6 +7138,11 @@ acorn@7.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg== +acorn@^8.14.0: + version "8.14.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" + integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== + acorn@^8.7.0, acorn@^8.8.1, acorn@^8.9.0: version "8.11.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" @@ -5324,6 +7177,20 @@ agent-base@^7.0.2, agent-base@^7.1.0: dependencies: debug "^4.3.4" +agent-base@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" + integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== + dependencies: + debug "^4.3.4" + +agentkeepalive@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== + dependencies: + humanize-ms "^1.2.1" + aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -5434,7 +7301,7 @@ ansicolors@~0.3.2: resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== -anymatch@~3.1.2: +anymatch@^3.1.3, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -5624,6 +7491,13 @@ async-lock@1.3.2: resolved "https://registry.yarnpkg.com/async-lock/-/async-lock-1.3.2.tgz#56668613f91c1c55432b4db73e65c9ced664e789" integrity sha512-phnXdS3RP7PPcmP6NWWzWMU0sLTeyvtZCxBPpZdkYE3seGLKSQZs9FrmVO/qwypq98FUtWWUEYxziLkdGk5nnA== +async-mutex@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.4.1.tgz#bccf55b96f2baf8df90ed798cb5544a1f6ee4c2c" + integrity sha512-WfoBo4E/TbCX1G95XTjbWTE3X2XLG0m1Xbv2cwOtuPdyH9CZvnaA5nCt1ucjaKEgW2A5IF71hxrRhr83Je5xjA== + dependencies: + tslib "^2.4.0" + async@^2.6.4: version "2.6.4" resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" @@ -5646,6 +7520,11 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== +atomic-sleep@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" + integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== + auto-bind@~4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb" @@ -5746,11 +7625,33 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" +base-x@^3.0.9: + version "3.0.10" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.10.tgz#62de58653f8762b5d6f8d9fe30fa75f7b2585a75" + integrity sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ== + dependencies: + safe-buffer "^5.0.1" + +base-x@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-4.0.0.tgz#d0e3b7753450c73f8ad2389b5c018a4af7b2224a" + integrity sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw== + +base-x@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-5.0.0.tgz#6d835ceae379130e1a4cb846a70ac4746f28ea9b" + integrity sha512-sMW3VGSX1QWVFA6l8U62MLKz29rRfpTlYdCqLdpLo1/Yd4zZwSbnUaDfciIAowAqvq7YFnWq9hrhdg1KYgc1lQ== + base64-js@^1.0.2, base64-js@^1.3.0, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +base64url@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" + integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== + basic-auth-connect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz#fdb0b43962ca7b40456a7c2bb48fe173da2d2122" @@ -5763,6 +7664,16 @@ basic-auth@~2.0.1: dependencies: safe-buffer "5.1.2" +bchaddrjs@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/bchaddrjs/-/bchaddrjs-0.5.2.tgz#1f52b5077329774e7c82d4882964628106bb11a0" + integrity sha512-OO7gIn3m7ea4FVx4cT8gdlWQR2+++EquhdpWQJH9BQjK63tJJ6ngB3QMZDO6DiBoXiIGUsTPHjlrHVxPGcGxLQ== + dependencies: + bs58check "2.1.2" + buffer "^6.0.3" + cashaddrjs "0.4.4" + stream-browserify "^3.0.0" + bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" @@ -5775,6 +7686,11 @@ bech32@1.1.3, bech32@1.1.4, bech32@^1.1.2, bech32@^1.1.3, bech32@^1.1.4, bech32@ resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== +big-integer@1.6.36: + version "1.6.36" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.36.tgz#78631076265d4ae3555c04f85e7d9d2f3a071a36" + integrity sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg== + big-integer@^1.6.48, big-integer@^1.6.52: version "1.6.52" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85" @@ -5785,7 +7701,14 @@ big.js@^6.1.6: resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.2.1.tgz#7205ce763efb17c2e41f26f121c420c6a7c2744f" integrity sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ== -bignumber.js@^9.0.0, bignumber.js@^9.0.1, bignumber.js@^9.1.2: +bigint-buffer@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" + integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== + dependencies: + bindings "^1.3.0" + +bignumber.js@^9.0.0, bignumber.js@^9.0.1, bignumber.js@^9.1.1, bignumber.js@^9.1.2: version "9.1.2" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== @@ -5834,6 +7757,11 @@ bip66@^1.1.0, bip66@^1.1.5: dependencies: safe-buffer "^5.0.1" +bip66@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bip66/-/bip66-2.0.0.tgz#96b5cca18ad10a009f7c8ea4eb24079e37ec9c79" + integrity sha512-kBG+hSpgvZBrkIm9dt5T1Hd/7xGCPEX2npoxAWZfsK1FvjgaxySEh2WizjyIstWXriKo9K9uJ4u0OnsyLDUPXQ== + bitcoin-bridge-wasm-sdk@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/bitcoin-bridge-wasm-sdk/-/bitcoin-bridge-wasm-sdk-0.1.8.tgz#d4ca69268089740ab0e306e9a5dcfb31ff01f19f" @@ -5852,7 +7780,7 @@ bitcoin-core@^4.1.0: semver "^5.1.0" standard-error "^1.1.0" -bitcoin-ops@^1.3.0, bitcoin-ops@^1.4.0: +bitcoin-ops@^1.3.0, bitcoin-ops@^1.4.0, bitcoin-ops@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz#e45de620398e22fd4ca6023de43974ff42240278" integrity sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow== @@ -5894,7 +7822,16 @@ bl@^4.0.3, bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" -blakejs@^1.1.0: +blake-hash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/blake-hash/-/blake-hash-2.0.0.tgz#af184dce641951126d05b7d1c3de3224f538d66e" + integrity sha512-Igj8YowDu1PRkRsxZA7NVkdFNxH5rKv5cpLxQ0CVXSIA77pVYwCPRQJ2sMew/oneUpfuYRyjG6r8SmmmnbZb1w== + dependencies: + node-addon-api "^3.0.0" + node-gyp-build "^4.2.2" + readable-stream "^3.6.0" + +blakejs@^1.1.0, blakejs@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== @@ -5914,7 +7851,7 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.0, bn.js@^4.11.8, bn.js@^4.11.9: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.0.0, bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: +bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== @@ -5955,6 +7892,20 @@ body-parser@^1.18.3, body-parser@^1.19.0: type-is "~1.6.18" unpipe "1.0.0" +borsh@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" + integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== + dependencies: + bn.js "^5.2.0" + bs58 "^4.0.0" + text-encoding-utf-8 "^1.0.2" + +bowser@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" + integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== + boxen@^5.0.0: version "5.1.2" resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" @@ -5991,7 +7942,7 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.0.1, brorand@^1.1.0: +brorand@^1.0.1, brorand@^1.0.5, brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== @@ -6096,14 +8047,28 @@ bs-logger@0.x: dependencies: fast-json-stable-stringify "2.x" -bs58@^4.0.0: +bs58@^4.0.0, bs58@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== dependencies: base-x "^3.0.2" -bs58check@<3.0.0, bs58check@^2.0.0, bs58check@^2.1.1, bs58check@^2.1.2: +bs58@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279" + integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ== + dependencies: + base-x "^4.0.0" + +bs58@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-6.0.0.tgz#a2cda0130558535dd281a2f8697df79caaf425d8" + integrity sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw== + dependencies: + base-x "^5.0.0" + +bs58check@2.1.2, bs58check@<3.0.0, bs58check@^2.0.0, bs58check@^2.1.1, bs58check@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== @@ -6112,6 +8077,14 @@ bs58check@<3.0.0, bs58check@^2.0.0, bs58check@^2.1.1, bs58check@^2.1.2: create-hash "^1.1.0" safe-buffer "^5.1.2" +bs58check@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-4.0.0.tgz#46cda52a5713b7542dcb78ec2efdf78f5bf1d23c" + integrity sha512-FsGDOnFg9aVI9erdriULkd/JjEWONV/lQE5aYziB5PoBsXRind56lh8doIZIc9X4HoxT5x4bLjMWN1/NB8Zp5g== + dependencies: + "@noble/hashes" "^1.2.0" + bs58 "^6.0.0" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -6162,7 +8135,7 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== -buffer@6.0.3, buffer@^6.0.3: +buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== @@ -6170,7 +8143,7 @@ buffer@6.0.3, buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" -buffer@^5.4.3, buffer@^5.5.0, buffer@^5.7.1: +buffer@^5.1.0, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -6186,6 +8159,13 @@ buffer@~5.4.3: base64-js "^1.0.2" ieee754 "^1.1.4" +bufferutil@^4.0.1: + version "4.0.8" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" + integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== + dependencies: + node-gyp-build "^4.3.0" + builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" @@ -6328,6 +8308,13 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== +cashaddrjs@0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cashaddrjs/-/cashaddrjs-0.4.4.tgz#169f1ae620d325db77700273d972282adeeee331" + integrity sha512-xZkuWdNOh0uq/mxJIng6vYWfTowZLd9F4GMAlp2DwFHlcCqCm91NtuAc47RuV4L7r4PYcY5p6Cr2OKNb4hnkWA== + dependencies: + big-integer "1.6.36" + catharsis@^0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.9.0.tgz#40382a168be0e6da308c277d3a2b3eb40c7d2121" @@ -6335,6 +8322,11 @@ catharsis@^0.9.0: dependencies: lodash "^4.17.15" +cbor-sync@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cbor-sync/-/cbor-sync-1.0.4.tgz#5a11a1ab75c2a14d1af1b237fd84aa8c1593662f" + integrity sha512-GWlXN4wiz0vdWWXBU71Dvc1q3aBo0HytqwAZnXF1wOwjqNnDWA1vZ1gDMFLlqohak31VQzmhiYfiCX5QSSfagA== + chai@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/chai/-/chai-5.1.1.tgz#f035d9792a22b481ead1c65908d14bb62ec1c82c" @@ -6396,7 +8388,7 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^5.2.0: +chalk@^5.2.0, chalk@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== @@ -6465,6 +8457,21 @@ check-error@^2.1.1: optionalDependencies: fsevents "~2.3.2" +chokidar@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + chownr@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" @@ -6488,6 +8495,13 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" +citty@^0.1.5, citty@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/citty/-/citty-0.1.6.tgz#0f7904da1ed4625e1a9ea7e0fa780981aab7c5e4" + integrity sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ== + dependencies: + consola "^3.2.3" + cjson@^0.3.1: version "0.3.3" resolved "https://registry.yarnpkg.com/cjson/-/cjson-0.3.3.tgz#a92d9c786e5bf9b930806329ee05d5d3261b4afa" @@ -6551,6 +8565,15 @@ cli-width@^3.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== +clipboardy@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-4.0.0.tgz#e73ced93a76d19dd379ebf1f297565426dffdca1" + integrity sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w== + dependencies: + execa "^8.0.1" + is-wsl "^3.1.0" + is64bit "^2.0.0" + cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -6687,6 +8710,16 @@ commander@^10.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== +commander@^12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" + integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== + +commander@^2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + commander@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" @@ -6732,6 +8765,11 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +confbox@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.8.tgz#820d73d3b3c82d9bd910652c5d4d599ef8ff8b06" + integrity sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w== + config-chain@^1.1.11: version "1.1.13" resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" @@ -6762,6 +8800,11 @@ connect@^3.7.0: parseurl "~1.3.3" utils-merge "1.0.1" +consola@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f" + integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ== + console-browserify@^1.1.0, console-browserify@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" @@ -6803,6 +8846,11 @@ convert-source-map@^2.0.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== +cookie-es@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-1.2.2.tgz#18ceef9eb513cac1cb6c14bcbf8bdb2679b34821" + integrity sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg== + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -6895,6 +8943,13 @@ crc32-stream@^4.0.2: crc-32 "^1.2.0" readable-stream "^3.4.0" +crc@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" + integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== + dependencies: + buffer "^5.1.0" + create-ecdh@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" @@ -6945,6 +9000,13 @@ cross-fetch@^3.1.4, cross-fetch@^3.1.5: dependencies: node-fetch "^2.6.12" +cross-fetch@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.0.0.tgz#f037aef1580bb3a1a35164ea2a848ba81b445983" + integrity sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g== + dependencies: + node-fetch "^2.6.12" + cross-inspect@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cross-inspect/-/cross-inspect-1.0.0.tgz#5fda1af759a148594d2d58394a9e21364f6849af" @@ -6972,6 +9034,13 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +"crossws@>=0.2.0 <0.4.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/crossws/-/crossws-0.3.1.tgz#7980e0b6688fe23286661c3ab8deeccbaa05ca86" + integrity sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw== + dependencies: + uncrypto "^0.1.3" + crypt@~0.0.1: version "0.0.2" resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" @@ -6994,6 +9063,11 @@ crypto-browserify@^3.11.0, crypto-browserify@^3.12.0: randombytes "^2.0.0" randomfill "^1.0.3" +crypto-js@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" + integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== + crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" @@ -7299,7 +9373,7 @@ debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.3.5: +debug@^4.3.5, debug@~4.3.1, debug@~4.3.2: version "4.3.7" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== @@ -7319,12 +9393,12 @@ decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== -decimal.js@^10.4.3: +decimal.js@^10.2.0, decimal.js@^10.4.3: version "10.4.3" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== -decode-uri-component@^0.2.0: +decode-uri-component@^0.2.0, decode-uri-component@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== @@ -7388,6 +9462,11 @@ define-properties@^1.1.3, define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +defu@^6.1.4: + version "6.1.4" + resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.4.tgz#4e0c9cf9ff68fe5f3d7f2765cc1a012dfdcb0479" + integrity sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg== + degenerator@^3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-3.0.4.tgz#07ccf95bc11044a37a6efc2f66029fb636e31f24" @@ -7405,6 +9484,11 @@ delaunator@5: dependencies: robust-predicates "^3.0.2" +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -7428,6 +9512,11 @@ des.js@^1.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" +destr@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.3.tgz#7f9e97cb3d16dbdca7be52aca1644ce402cfe449" + integrity sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ== + destroy@1.2.0, destroy@^1.0.4: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" @@ -7438,11 +9527,21 @@ detect-browser@5.2.0: resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.2.0.tgz#c9cd5afa96a6a19fda0bbe9e9be48a6b6e1e9c97" integrity sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA== +detect-browser@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" + integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== + detect-indent@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + diff-sequences@^29.6.3: version "29.6.3" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" @@ -7529,6 +9628,14 @@ dotenv@^8.2.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== +draggabilly@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/draggabilly/-/draggabilly-3.0.0.tgz#48defe10a67f346a0338caaa40c0765c4d3912d6" + integrity sha512-aEs+B6prbMZQMxc9lgTpCBfyCUhRur/VFucHhIOvlvvdARTj7TcDmX/cdOUtqbjJJUh7+agyJXR5Z6IFe1MxwQ== + dependencies: + get-size "^3.0.0" + unidragger "^3.0.0" + drbg.js@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b" @@ -7565,6 +9672,16 @@ duplexify@^4.0.0: readable-stream "^3.1.1" stream-shift "^1.0.0" +duplexify@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.3.tgz#a07e1c0d0a2c001158563d32592ba58bddb0236f" + integrity sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA== + dependencies: + end-of-stream "^1.4.1" + inherits "^2.0.3" + readable-stream "^3.1.1" + stream-shift "^1.0.2" + eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" @@ -7639,6 +9756,19 @@ elliptic@6.5.4, elliptic@^6.4.1, elliptic@^6.5.2, elliptic@^6.5.3: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" +elliptic@6.6.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.0.tgz#5919ec723286c1edf28685aa89261d4761afa210" + integrity sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + elliptic@^6.4.0, elliptic@^6.5.4: version "6.5.5" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.5.tgz#c715e09f78b6923977610d4c2346d6ce22e6dded" @@ -7689,13 +9819,29 @@ encoding@^0.1.13: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.1.0, end-of-stream@^1.4.1: +end-of-stream@^1.1.0, end-of-stream@^1.4.1, end-of-stream@^1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" +engine.io-client@~6.6.1: + version "6.6.2" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.6.2.tgz#e0a09e1c90effe5d6264da1c56d7281998f1e50b" + integrity sha512-TAr+NKeoVTjEVW8P3iHguO1LO6RlUz9O5Y8o7EY0fU+gY1NYqas7NN3slpFtbXEsLMHk0h90fJMfKjRkQ0qUIw== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + engine.io-parser "~5.2.1" + ws "~8.17.1" + xmlhttprequest-ssl "~2.1.1" + +engine.io-parser@~5.2.1: + version "5.2.3" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.3.tgz#00dc5b97b1f233a23c9398d0209504cf5f94d92f" + integrity sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q== + entities@^4.4.0, entities@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" @@ -7742,11 +9888,18 @@ es-errors@^1.3.0: resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== -es6-promise@4.2.8: +es6-promise@4.2.8, es6-promise@^4.0.3: version "4.2.8" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== + dependencies: + es6-promise "^4.0.3" + esbuild-android-64@0.14.54: version "0.14.54" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" @@ -8009,6 +10162,13 @@ eth-crypto@^2.6.0: ethers "5.7.2" secp256k1 "5.0.0" +eth-rpc-errors@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a" + integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg== + dependencies: + fast-safe-stringify "^2.0.6" + ethereum-cryptography@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" @@ -8040,7 +10200,7 @@ ethereum-cryptography@^2.0.0: "@scure/bip32" "1.3.1" "@scure/bip39" "1.2.1" -ethereum-cryptography@^2.1.3: +ethereum-cryptography@^2.1.3, ethereum-cryptography@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz#58f2810f8e020aecb97de8c8c76147600b0b8ccf" integrity sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg== @@ -8152,12 +10312,17 @@ ethjs-util@0.1.6, ethjs-util@^0.1.6: is-hex-prefixed "1.0.0" strip-hex-prefix "1.0.0" +ev-emitter@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ev-emitter/-/ev-emitter-2.1.2.tgz#91737a2deae9fa95453e7e86cfae976f8c3ced38" + integrity sha512-jQ5Ql18hdCQ4qS+RCrbLfz1n+Pags27q5TwMKvZyhp5hh2UULUYZUy1keqj6k6SYsdqIYjnmz7xyyEY0V67B8Q== + event-target-shim@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== -eventemitter3@4.0.7: +eventemitter3@4.0.7, eventemitter3@^4.0.7: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== @@ -8167,7 +10332,7 @@ eventemitter3@^3.1.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== -eventemitter3@^5.0.0: +eventemitter3@^5.0.0, eventemitter3@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== @@ -8177,7 +10342,7 @@ events-listener@^1.1.0: resolved "https://registry.yarnpkg.com/events-listener/-/events-listener-1.1.0.tgz#dd49b4628480eba58fde31b870ee346b3990b349" integrity sha512-Kd3EgYfODHueq6GzVfs/VUolh2EgJsS8hkO3KpnDrxVjU3eq63eXM2ujXkhPP+OkeUOhL8CxdfZbQXzryb5C4g== -events@^3.0.0, events@^3.3.0: +events@3.3.0, events@^3.0.0, events@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== @@ -8322,6 +10487,11 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== +eyes@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" + integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== + fancy-canvas@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fancy-canvas/-/fancy-canvas-2.1.0.tgz#44b40e40419ad8ef8304df365e4276767e918552" @@ -8375,11 +10545,26 @@ fast-querystring@^1.1.1: dependencies: fast-decode-uri-component "^1.0.1" +fast-redact@^3.0.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.5.0.tgz#e9ea02f7e57d0cd8438180083e93077e496285e4" + integrity sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A== + +fast-safe-stringify@^2.0.6, fast-safe-stringify@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== + fast-shallow-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz#d4dcaf6472440dcefa6f88b98e3251e27f25628b" integrity sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw== +fast-stable-stringify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" + integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== + fast-text-encoding@^1.0.0, fast-text-encoding@^1.0.3: version "1.0.6" resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz#0aa25f7f638222e3396d72bf936afcf1d42d6867" @@ -8475,6 +10660,11 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + finalhandler@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" @@ -8805,6 +10995,16 @@ get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.4: has-symbols "^1.0.3" hasown "^2.0.0" +get-port-please@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/get-port-please/-/get-port-please-3.1.2.tgz#502795e56217128e4183025c89a48c71652f4e49" + integrity sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ== + +get-size@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-size/-/get-size-3.0.0.tgz#00e39a8042a3de237b2fcf288eaf55d3f472417c" + integrity sha512-Y8aiXLq4leR7807UY0yuKEwif5s3kbVp1nTv+i4jBeoUzByTLKkLWu/HorS6/pB+7gsB0o7OTogC8AoOOeT0Hw== + get-stream@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" @@ -9129,6 +11329,22 @@ gzip-size@^6.0.0: dependencies: duplexer "^0.1.2" +h3@^1.12.0, h3@^1.13.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/h3/-/h3-1.13.0.tgz#b5347a8936529794b6754b440e26c0ab8a60dceb" + integrity sha512-vFEAu/yf8UMUcB4s43OaDaigcqpQd14yanmOsn+NcRX3/guSKncyE2rOYhq8RIchgJrPSs/QiIddnTTR1ddiAg== + dependencies: + cookie-es "^1.2.2" + crossws ">=0.2.0 <0.4.0" + defu "^6.1.4" + destr "^2.0.3" + iron-webcrypto "^1.2.1" + ohash "^1.1.4" + radix3 "^1.1.2" + ufo "^1.5.4" + uncrypto "^0.1.3" + unenv "^1.10.0" + har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -9304,6 +11520,11 @@ http-proxy-agent@^7.0.2: agent-base "^7.1.0" debug "^4.3.4" +http-shutdown@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/http-shutdown/-/http-shutdown-1.2.2.tgz#41bc78fc767637c4c95179bc492f312c0ae64c5f" + integrity sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw== + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -9352,6 +11573,13 @@ human-signals@^5.0.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + husky@^8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" @@ -9501,6 +11729,11 @@ install-artifact-from-github@^1.3.5: resolved "https://registry.yarnpkg.com/install-artifact-from-github/-/install-artifact-from-github-1.3.5.tgz#88c96fe40e5eb21d45586d564208c648a1dbf38d" integrity sha512-gZHC7f/cJgXz7MXlHFBxPVMsvIbev1OQN1uKQYKVJDydGNm9oYf9JstbU4Atnh/eSvk41WtEovoRm+8IF686xg== +int64-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/int64-buffer/-/int64-buffer-1.0.1.tgz#c78d841b444cadf036cd04f8683696c740f15dca" + integrity sha512-+3azY4pXrjAupJHU1V9uGERWlhoqNswJNji6aD/02xac7oxol508AsMC5lxKhEqyZeDFy3enq5OGWXF4u75hiw== + "internmap@1 - 2", internmap@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" @@ -9523,6 +11756,14 @@ invariant@^2.2.4: dependencies: loose-envify "^1.0.0" +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" + ip-regex@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" @@ -9543,6 +11784,11 @@ ipaddr.js@1.9.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== +iron-webcrypto@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz#aa60ff2aa10550630f4c0b11fd2442becdb35a6f" + integrity sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg== + is-absolute@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" @@ -9605,6 +11851,11 @@ is-docker@^2.0.0: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== +is-docker@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" + integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -9627,7 +11878,7 @@ is-generator-function@^1.0.7: dependencies: has-tostringtag "^1.0.0" -is-glob@4.0.3, is-glob@^4.0.1, is-glob@~4.0.1: +is-glob@4.0.3, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -9639,6 +11890,13 @@ is-hex-prefixed@1.0.0: resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== +is-inside-container@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" + integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== + dependencies: + is-docker "^3.0.0" + is-installed-globally@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" @@ -9692,6 +11950,11 @@ is-path-inside@^3.0.2: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + is-potential-custom-element-name@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" @@ -9709,7 +11972,7 @@ is-stream-ended@^0.1.4: resolved "https://registry.yarnpkg.com/is-stream-ended/-/is-stream-ended-0.1.4.tgz#f50224e95e06bce0e356d440a4827cd35b267eda" integrity sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw== -is-stream@^2.0.0: +is-stream@^2.0.0, is-stream@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== @@ -9772,6 +12035,13 @@ is-wsl@^2.1.1: dependencies: is-docker "^2.0.0" +is-wsl@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-3.1.0.tgz#e1c657e39c10090afcbedec61720f6b924c3cbd2" + integrity sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== + dependencies: + is-inside-container "^1.0.0" + is-yarn-global@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" @@ -9786,12 +12056,19 @@ is2@^2.0.6: ip-regex "^4.1.0" is-url "^1.2.4" +is64bit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is64bit/-/is64bit-2.0.0.tgz#198c627cbcb198bbec402251f88e5e1a51236c07" + integrity sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw== + dependencies: + system-architecture "^0.1.0" + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== -isarray@^2.0.1: +isarray@^2.0.1, isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== @@ -9898,6 +12175,24 @@ jake@^10.8.5: filelist "^1.0.4" minimatch "^3.1.2" +jayson@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.3.tgz#db9be2e4287d9fef4fc05b5fe367abe792c2eee8" + integrity sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ== + dependencies: + "@types/connect" "^3.4.33" + "@types/node" "^12.12.54" + "@types/ws" "^7.4.4" + JSONStream "^1.3.5" + commander "^2.20.3" + delay "^5.0.0" + es6-promisify "^5.0.0" + eyes "^0.1.8" + isomorphic-ws "^4.0.1" + json-stringify-safe "^5.0.1" + uuid "^8.3.2" + ws "^7.5.10" + jest-diff@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" @@ -9955,6 +12250,11 @@ jiti@^1.17.1, jiti@^1.18.2: resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== +jiti@^2.1.2: + version "2.4.1" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.4.1.tgz#4de9766ccbfa941d9b6390d2b159a4b295a52e6b" + integrity sha512-yPBThwecp1wS9DmoA4x4KR2h3QoslacnDR8ypuFM962kI4/456Iy1oHx2RAgh4jfZNdn0bctsdadceiBUgpU1g== + jju@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" @@ -9979,6 +12279,11 @@ joycon@^3.1.1: resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.1.1.tgz#bce8596d6ae808f8b68168f5fc69280996894f03" integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw== +js-base64@^3.7.5: + version "3.7.7" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.7.tgz#e51b84bf78fbf5702b9541e2cb7bfcb893b43e79" + integrity sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw== + js-cookie@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" @@ -10067,6 +12372,16 @@ js2xmlparser@^4.0.2: dependencies: xmlcreate "^2.0.4" +jsbi@^3.1.5: + version "3.2.5" + resolved "https://registry.yarnpkg.com/jsbi/-/jsbi-3.2.5.tgz#b37bb90e0e5c2814c1c2a1bcd8c729888a2e37d6" + integrity sha512-aBE4n43IPvjaddScbvWRA2YlTzKEynHzu7MqOyTipdHucf/VxS63ViCjxYRg86M8Rxwbt/GfzHl1kKERkt45fQ== + +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -10130,6 +12445,11 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + json-bigint@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" @@ -10159,6 +12479,11 @@ json-ptr@^3.0.1: resolved "https://registry.yarnpkg.com/json-ptr/-/json-ptr-3.1.1.tgz#184c3d48db659fa9bbc1519f7db6f390ddffb659" integrity sha512-SiSJQ805W1sDUCD1+/t1/1BIrveq2Fe9HJqENxZmMCILmrPI7WhS/pePpIOx85v6/H2z1Vy7AI08GV2TzfXocg== +json-rpc-random-id@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" + integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -10174,7 +12499,17 @@ json-schema@0.4.0: resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== -json-stringify-safe@~5.0.1: +json-stable-stringify@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz#52d4361b47d49168bcc4e564189a42e5a7439454" + integrity sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg== + dependencies: + call-bind "^1.0.5" + isarray "^2.0.5" + jsonify "^0.0.1" + object-keys "^1.1.1" + +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== @@ -10208,6 +12543,21 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +jsonify@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" + integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +jsonschema@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.2.tgz#83ab9c63d65bf4d596f91d81195e78772f6452bc" + integrity sha512-iX5OFQ6yx9NgbHCwse51ohhKgLuLL7Z5cNOeZOPIlDUtAMrxlruHLzVZxbltdHE5mEDXN+75oFOwq6Gn0MZwsA== + jsonschema@^1.4.0: version "1.4.1" resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.1.tgz#cc4c3f0077fb4542982973d8a083b6b34f482dab" @@ -10239,6 +12589,11 @@ jsprim@^1.2.2: json-schema "0.4.0" verror "1.10.0" +jsqr@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsqr/-/jsqr-1.4.0.tgz#8efb8d0a7cc6863cb6d95116b9069123ce9eb2d1" + integrity sha512-dxLob7q65Xg2DvstYkRpkYtmKm2sPJ9oFhrhmudT1dZvNFFTlroai3AWSpLey/w5vMcLBXRgOJsbXpdN9HzU/A== + jwa@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" @@ -10282,7 +12637,7 @@ keccak256@^1.0.6: buffer "^6.0.3" keccak "^3.0.2" -keccak@^3.0.0, keccak@^3.0.2: +keccak@^3.0.0, keccak@^3.0.2, keccak@^3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== @@ -10385,6 +12740,30 @@ linkify-it@^3.0.1: dependencies: uc.micro "^1.0.1" +listhen@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/listhen/-/listhen-1.9.0.tgz#59355f7e4fc1eefda6bc494ae7e9ed13aa7658ef" + integrity sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg== + dependencies: + "@parcel/watcher" "^2.4.1" + "@parcel/watcher-wasm" "^2.4.1" + citty "^0.1.6" + clipboardy "^4.0.0" + consola "^3.2.3" + crossws ">=0.2.0 <0.4.0" + defu "^6.1.4" + get-port-please "^3.1.2" + h3 "^1.12.0" + http-shutdown "^1.2.2" + jiti "^2.1.2" + mlly "^1.7.1" + node-forge "^1.3.1" + pathe "^1.1.2" + std-env "^3.7.0" + ufo "^1.5.4" + untun "^0.1.3" + uqr "^0.1.2" + listr2@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.5.tgz#9dcc50221583e8b4c71c43f9c7dfd0ef546b75d5" @@ -10426,6 +12805,11 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + lodash._objecttypes@~2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz#7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11" @@ -10466,6 +12850,11 @@ lodash.isboolean@^3.0.3: resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== +lodash.isequal@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + lodash.isinteger@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" @@ -10498,6 +12887,11 @@ lodash.memoize@4.x: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + lodash.once@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" @@ -10523,7 +12917,7 @@ lodash.values@^4.3.0: resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347" integrity sha512-r0RwvdCv8id9TUblb/O7rYPwVy6lerCbcawrfdo9iC/1t1wsNMJknO79WNBgwkH0hIeJ08jmvvESbFpNb4jH0Q== -lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@~4.17.0: +lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@~4.17.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -10558,6 +12952,11 @@ logform@^2.3.2, logform@^2.4.0: safe-stable-stringify "^2.3.1" triple-beam "^1.3.0" +loglevel@^1.8.1: + version "1.9.2" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.9.2.tgz#c2e028d6c757720107df4e64508530db6621ba08" + integrity sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg== + long@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" @@ -10611,7 +13010,7 @@ lru-cache@^10.0.1, "lru-cache@^9.1.1 || ^10.0.0": resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484" integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== -lru-cache@^10.2.0: +lru-cache@^10.2.0, lru-cache@^10.4.3: version "10.4.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== @@ -10797,6 +13196,13 @@ merge-descriptors@1.0.1: resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== +merge-options@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-3.0.4.tgz#84709c2aa2a4b24c1981f66c179fe5565cc6dbb7" + integrity sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== + dependencies: + is-plain-obj "^2.1.0" + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -10822,6 +13228,11 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== +micro-ftch@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" + integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== + micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" @@ -10860,6 +13271,11 @@ mime@^2.5.2: resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -11040,6 +13456,16 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== +mlly@^1.7.1, mlly@^1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.3.tgz#d86c0fcd8ad8e16395eb764a5f4b831590cee48c" + integrity sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A== + dependencies: + acorn "^8.14.0" + pathe "^1.1.2" + pkg-types "^1.2.1" + ufo "^1.5.4" + moment@^2.19.3: version "2.30.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" @@ -11066,11 +13492,16 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1, ms@^2.1.3: +ms@2.1.3, ms@^2.0.0, ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +multiformats@^9.4.2: + version "9.9.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" + integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== + mute-stream@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" @@ -11119,6 +13550,11 @@ nanoid@^3.3.7: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== +napi-wasm@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/napi-wasm/-/napi-wasm-1.1.3.tgz#7bb95c88e6561f84880bb67195437b1cfbe99224" + integrity sha512-h/4nMGsHjZDCYmQVNODIrYACVJ+I9KItbG+0si6W/jSjdA9JbWDoU4LLeMXVcEQGHjttI2tuXqDrbGF7qkUHHg== + ncp@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" @@ -11152,11 +13588,26 @@ node-addon-api@^2.0.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== +node-addon-api@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + node-addon-api@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== +node-addon-api@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + +node-addon-api@^8.0.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-8.3.0.tgz#ec3763f18befc1cdf66d11e157ce44d5eddc0603" + integrity sha512-8VOpLHFrOQlAH+qA0ZzuGRlALRA6/LVh8QJldbrC4DY0hXoMP0l4Acq8TzFC018HztWiRqyCEj2aTWY2UvnJUg== + node-emoji@^1.11.0: version "1.11.0" resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" @@ -11164,7 +13615,12 @@ node-emoji@^1.11.0: dependencies: lodash "^4.17.21" -node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7, node-fetch@^2.6.9: +node-fetch-native@^1.6.4: + version "1.6.4" + resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.4.tgz#679fc8fd8111266d47d7e72c379f1bed9acff06e" + integrity sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ== + +node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7, node-fetch@^2.6.9, node-fetch@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -11181,6 +13637,11 @@ node-gyp-build@^4.2.0: resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.7.1.tgz#cd7d2eb48e594874053150a9418ac85af83ca8f7" integrity sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg== +node-gyp-build@^4.2.2, node-gyp-build@^4.3.0, node-gyp-build@^4.5.0: + version "4.8.4" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8" + integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== + node-gyp@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-10.0.1.tgz#205514fc19e5830fa991e4a689f9e81af377a966" @@ -11362,6 +13823,30 @@ object.assign@^4.1.4: has-symbols "^1.0.3" object-keys "^1.1.1" +oblivious-set@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/oblivious-set/-/oblivious-set-1.1.1.tgz#d9d38e9491d51f27a5c3ec1681d2ba40aa81e98b" + integrity sha512-Oh+8fK09mgGmAshFdH6hSVco6KZmd1tTwNFWj35OvzdmJTMZtAkbn05zar2iG3v6sDs1JLEtOiBGNb6BHwkb2w== + +ofetch@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/ofetch/-/ofetch-1.4.1.tgz#b6bf6b0d75ba616cef6519dd8b6385a8bae480ec" + integrity sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw== + dependencies: + destr "^2.0.3" + node-fetch-native "^1.6.4" + ufo "^1.5.4" + +ohash@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/ohash/-/ohash-1.1.4.tgz#ae8d83014ab81157d2c285abf7792e2995fadd72" + integrity sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g== + +on-exit-leak-free@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209" + integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== + on-finished@2.4.1, on-finished@^2.2.0: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" @@ -11754,7 +14239,7 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathe@^1.1.2: +pathe@^1.1.1, pathe@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== @@ -11800,6 +14285,36 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +pino-abstract-transport@v0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0" + integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ== + dependencies: + duplexify "^4.1.2" + split2 "^4.0.0" + +pino-std-serializers@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" + integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== + +pino@7.11.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/pino/-/pino-7.11.0.tgz#0f0ea5c4683dc91388081d44bff10c83125066f6" + integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg== + dependencies: + atomic-sleep "^1.0.0" + fast-redact "^3.0.0" + on-exit-leak-free "^0.2.0" + pino-abstract-transport v0.5.0 + pino-std-serializers "^4.0.0" + process-warning "^1.0.0" + quick-format-unescaped "^4.0.3" + real-require "^0.1.0" + safe-stable-stringify "^2.1.0" + sonic-boom "^2.2.1" + thread-stream "^0.15.1" + pkg-dir@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" @@ -11807,6 +14322,15 @@ pkg-dir@^5.0.0: dependencies: find-up "^5.0.0" +pkg-types@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.2.1.tgz#6ac4e455a5bb4b9a6185c1c79abd544c901db2e5" + integrity sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw== + dependencies: + confbox "^0.1.8" + mlly "^1.7.2" + pathe "^1.1.2" + pngjs@^3.3.0: version "3.4.0" resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" @@ -11913,6 +14437,11 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +process-warning@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" + integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== + process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" @@ -12017,6 +14546,24 @@ protobufjs@7.2.4: "@types/node" ">=13.7.0" long "^5.0.0" +protobufjs@7.4.0: + version "7.4.0" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.4.0.tgz#7efe324ce9b3b61c82aae5de810d287bc08a248a" + integrity sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" + protobufjs@^6.10.2, protobufjs@^6.8.8, protobufjs@~6.11.2, protobufjs@~6.11.3: version "6.11.4" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.4.tgz#29a412c38bf70d89e537b6d02d904a6f448173aa" @@ -12168,11 +14715,25 @@ qr-code-styling@1.6.0-rc.1, qr-code-styling@^1.6.0-rc.1: dependencies: qrcode-generator "^1.4.3" +qr.js@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/qr.js/-/qr.js-0.0.0.tgz#cace86386f59a0db8050fa90d9b6b0e88a1e364f" + integrity sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ== + qrcode-generator@^1.4.3: version "1.4.4" resolved "https://registry.yarnpkg.com/qrcode-generator/-/qrcode-generator-1.4.4.tgz#63f771224854759329a99048806a53ed278740e7" integrity sha512-HM7yY8O2ilqhmULxGMpcHSF1EhJJ9yBj8gvDEuZ6M+KGJ0YY2hKpnXvRD+hZPLrDVck3ExIGhmPtSdcjC+guuw== +qrcode.react@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-1.0.1.tgz#2834bb50e5e275ffe5af6906eff15391fe9e38a5" + integrity sha512-8d3Tackk8IRLXTo67Y+c1rpaiXjoz/Dd2HpcMdW//62/x8J1Nbho14Kh8x974t9prsLHN6XqVgcnRiBGFptQmg== + dependencies: + loose-envify "^1.4.0" + prop-types "^15.6.0" + qr.js "0.0.0" + qrcode@1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.4.4.tgz#f0c43568a7e7510a55efc3b88d9602f71963ea83" @@ -12196,6 +14757,15 @@ qrcode@^1.5.3: pngjs "^5.0.0" yargs "^15.3.1" +qrcode@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.4.tgz#5cb81d86eb57c675febb08cf007fff963405da88" + integrity sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg== + dependencies: + dijkstrajs "^1.0.1" + pngjs "^5.0.0" + yargs "^15.3.1" + qs@6.11.0: version "6.11.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" @@ -12231,6 +14801,16 @@ query-string@6.13.5: split-on-first "^1.0.0" strict-uri-encode "^2.0.0" +query-string@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== + dependencies: + decode-uri-component "^0.2.2" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + querystring-es3@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -12241,6 +14821,16 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +quick-format-unescaped@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" + integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== + +radix3@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/radix3/-/radix3-1.1.2.tgz#fd27d2af3896c6bf4bcdfab6427c69c2afc69ec0" + integrity sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA== + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -12300,6 +14890,16 @@ re2@^1.17.7: nan "^2.18.0" node-gyp "^10.0.1" +react-dom@16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f" + integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.19.1" + react-dom@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" @@ -12328,7 +14928,7 @@ react-lifecycles-compat@^3.0.0: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== -react-modal@^3.16.1: +react-modal@^3.12.1, react-modal@^3.16.1: version "3.16.1" resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.16.1.tgz#34018528fc206561b1a5467fc3beeaddafb39b2b" integrity sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg== @@ -12345,6 +14945,15 @@ react-number-format@^4.9.1: dependencies: prop-types "^15.7.2" +react-qr-reader@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/react-qr-reader/-/react-qr-reader-2.2.1.tgz#dc89046d1c1a1da837a683dd970de5926817d55b" + integrity sha512-EL5JEj53u2yAOgtpAKAVBzD/SiKWn0Bl7AZy6ZrSf1lub7xHwtaXe6XSx36Wbhl1VMGmvmrwYMRwO1aSCT2fwA== + dependencies: + jsqr "^1.2.0" + prop-types "^15.7.2" + webrtc-adapter "^7.2.1" + react-redux@^8.0.5: version "8.1.3" resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.1.3.tgz#4fdc0462d0acb59af29a13c27ffef6f49ab4df46" @@ -12426,6 +15035,15 @@ react-use@^17.4.0: ts-easing "^0.2.0" tslib "^2.1.0" +react@16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" + integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + react@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" @@ -12505,6 +15123,11 @@ readonly-date@^1.0.0: resolved "https://registry.yarnpkg.com/readonly-date/-/readonly-date-1.0.0.tgz#5af785464d8c7d7c40b9d738cbde8c646f97dcd9" integrity sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ== +real-require@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" + integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== + rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -12772,6 +15395,62 @@ ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2: hash-base "^3.0.0" inherits "^2.0.1" +ripple-address-codec@^4.1.1, ripple-address-codec@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ripple-address-codec/-/ripple-address-codec-4.3.1.tgz#68fbaf646bb8567f70743af7f1ce4479f73efbf6" + integrity sha512-Qa3+9wKVvpL/xYtT6+wANsn0A1QcC5CT6IMZbRJZ/1lGt7gmwIfsrCuz1X0+LCEO7zgb+3UT1I1dc0k/5dwKQQ== + dependencies: + base-x "^3.0.9" + create-hash "^1.1.2" + +ripple-binary-codec@^1.1.3: + version "1.11.0" + resolved "https://registry.yarnpkg.com/ripple-binary-codec/-/ripple-binary-codec-1.11.0.tgz#d99c848c51a19746b738785001fb7208704bfe30" + integrity sha512-g7+gs3T+NfoeW6vIq5dcN0CkIT4t/zwRzFxz8X2RzfbrWRnewPUKqQbmBgs05tXLX5NuWPaneiaAVpFpYBcdfw== + dependencies: + assert "^2.0.0" + big-integer "^1.6.48" + buffer "6.0.3" + create-hash "^1.2.0" + decimal.js "^10.2.0" + ripple-address-codec "^4.3.1" + +ripple-keypairs@^1.0.3: + version "1.3.1" + resolved "https://registry.yarnpkg.com/ripple-keypairs/-/ripple-keypairs-1.3.1.tgz#7fa531df36b138134afb53555a87d7f5eb465b2e" + integrity sha512-dmPlraWKJciFJxHcoubDahGnoIalG5e/BtV6HNDUs7wLXmtnLMHt6w4ed9R8MTL2zNrVPiIdI/HCtMMo0Tm7JQ== + dependencies: + bn.js "^5.1.1" + brorand "^1.0.5" + elliptic "^6.5.4" + hash.js "^1.0.3" + ripple-address-codec "^4.3.1" + +ripple-lib-transactionparser@0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/ripple-lib-transactionparser/-/ripple-lib-transactionparser-0.8.2.tgz#7aaad3ba1e1aeee1d5bcff32334a7a838f834dce" + integrity sha512-1teosQLjYHLyOQrKUQfYyMjDR3MAq/Ga+MJuLUfpBMypl4LZB4bEoMcmG99/+WVTEiZOezJmH9iCSvm/MyxD+g== + dependencies: + bignumber.js "^9.0.0" + lodash "^4.17.15" + +ripple-lib@^1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/ripple-lib/-/ripple-lib-1.10.1.tgz#9c353702792b25465cdb269265d6f5bb27b1471b" + integrity sha512-OQk+Syl2JfxKxV2KuF/kBMtnh012I5tNnziP3G4WDGCGSIAgeqkOgkR59IQ0YDNrs1YW8GbApxrdMSRi/QClcA== + dependencies: + "@types/lodash" "^4.14.136" + "@types/ws" "^7.2.0" + bignumber.js "^9.0.0" + https-proxy-agent "^5.0.0" + jsonschema "1.2.2" + lodash "^4.17.4" + ripple-address-codec "^4.1.1" + ripple-binary-codec "^1.1.3" + ripple-keypairs "^1.0.3" + ripple-lib-transactionparser "0.8.2" + ws "^7.2.0" + rlp@^2.2.3, rlp@^2.2.4: version "2.2.7" resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" @@ -12822,11 +15501,34 @@ router@^1.3.1: setprototypeof "1.2.0" utils-merge "1.0.1" +rpc-websockets@^9.0.2: + version "9.0.4" + resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-9.0.4.tgz#9d8ee82533b5d1e13d9ded729e3e38d0d8fa083f" + integrity sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ== + dependencies: + "@swc/helpers" "^0.5.11" + "@types/uuid" "^8.3.4" + "@types/ws" "^8.2.2" + buffer "^6.0.3" + eventemitter3 "^5.0.1" + uuid "^8.3.2" + ws "^8.5.0" + optionalDependencies: + bufferutil "^4.0.1" + utf-8-validate "^5.0.2" + rrweb-cssom@^0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz#c73451a484b86dd7cfb1e0b2898df4b703183e4b" integrity sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg== +rtcpeerconnection-shim@^1.2.15: + version "1.2.15" + resolved "https://registry.yarnpkg.com/rtcpeerconnection-shim/-/rtcpeerconnection-shim-1.2.15.tgz#e7cc189a81b435324c4949aa3dfb51888684b243" + integrity sha512-C6DxhXt7bssQ1nHb154lqeL0SXz5Dx4RczXZu2Aa/L1NJFnEVDxFwCBo3fqtuljhHIGceg5JKBV4XJ0gW5JKyw== + dependencies: + sdp "^2.6.0" + rtl-css-js@^1.16.1: version "1.16.1" resolved "https://registry.yarnpkg.com/rtl-css-js/-/rtl-css-js-1.16.1.tgz#4b48b4354b0ff917a30488d95100fbf7219a3e80" @@ -12846,7 +15548,14 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^7.4.0, rxjs@^7.5.5, rxjs@^7.8.0: +rxjs@6, rxjs@^6.6.3: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +rxjs@^7.4.0, rxjs@^7.5.5, rxjs@^7.8.0, rxjs@^7.8.1: version "7.8.1" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== @@ -12873,6 +15582,11 @@ safe-json-utils@^1.1.1: resolved "https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1" integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ== +safe-stable-stringify@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz#4ca2f8e385f2831c432a719b108a3bf7af42a1dd" + integrity sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA== + safe-stable-stringify@^2.3.1: version "2.4.3" resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" @@ -12883,6 +15597,14 @@ safe-stable-stringify@^2.3.1: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +salmon-adapter-sdk@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/salmon-adapter-sdk/-/salmon-adapter-sdk-1.1.1.tgz#d5fdd2d27b1a6c58e38c188c977eeeeface8b20c" + integrity sha512-28ysSzmDjx2AbotxSggqdclh9MCwlPJUldKkCph48oS5Xtwu0QOg8T9ZRHS2Mben4Y8sTq6VvxXznKssCYFBJA== + dependencies: + "@project-serum/sol-wallet-adapter" "^0.2.6" + eventemitter3 "^4.0.7" + sass@^1.65.1: version "1.69.7" resolved "https://registry.yarnpkg.com/sass/-/sass-1.69.7.tgz#6e7e1c8f51e8162faec3e9619babc7da780af3b7" @@ -12899,6 +15621,14 @@ saxes@^6.0.0: dependencies: xmlchars "^2.2.0" +scheduler@^0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" + integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler@^0.23.0: version "0.23.0" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" @@ -12921,6 +15651,11 @@ scuid@^1.1.0: resolved "https://registry.yarnpkg.com/scuid/-/scuid-1.1.0.tgz#d3f9f920956e737a60f72d0e4ad280bf324d5dab" integrity sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg== +sdp@^2.12.0, sdp@^2.6.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/sdp/-/sdp-2.12.0.tgz#338a106af7560c86e4523f858349680350d53b22" + integrity sha512-jhXqQAQVM+8Xj5EjJGVweuEzgtGWb3tmEEpl3CLP3cStInSbVHSg0QWOGQzNq8pSID4JkpeV2mPqlMDLrm0/Vw== + secp256k1@3.7.1: version "3.7.1" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.7.1.tgz#12e473e0e9a7c2f2d4d4818e722ad0e14cc1e2f1" @@ -13006,6 +15741,11 @@ semver@^7.1.2, semver@^7.5.4: dependencies: lru-cache "^6.0.0" +semver@^7.3.8: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + send@0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" @@ -13257,6 +15997,24 @@ snakecase-keys@^5.1.2, snakecase-keys@^5.4.1: snake-case "^3.0.4" type-fest "^3.12.0" +socket.io-client@^4.6.1: + version "4.8.1" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.8.1.tgz#1941eca135a5490b94281d0323fe2a35f6f291cb" + integrity sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.2" + engine.io-client "~6.6.1" + socket.io-parser "~4.2.4" + +socket.io-parser@~4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" + integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + socks-proxy-agent@5, socks-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz#032fb583048a29ebffec2e6a73fca0761f48177e" @@ -13266,6 +16024,15 @@ socks-proxy-agent@5, socks-proxy-agent@^5.0.0: debug "4" socks "^2.3.3" +socks-proxy-agent@8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz#9071dca17af95f483300316f4b063578fa0db08c" + integrity sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw== + dependencies: + agent-base "^7.1.1" + debug "^4.3.4" + socks "^2.8.3" + socks-proxy-agent@^8.0.1: version "8.0.2" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz#5acbd7be7baf18c46a3f293a840109a430a640ad" @@ -13283,6 +16050,21 @@ socks@^2.3.3, socks@^2.7.1: ip "^2.0.0" smart-buffer "^4.2.0" +socks@^2.8.3: + version "2.8.3" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" + integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== + dependencies: + ip-address "^9.0.5" + smart-buffer "^4.2.0" + +sonic-boom@^2.2.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" + integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg== + dependencies: + atomic-sleep "^1.0.0" + source-map-explorer@^2.5.3: version "2.5.3" resolved "https://registry.yarnpkg.com/source-map-explorer/-/source-map-explorer-2.5.3.tgz#33551b51e33b70f56d15e79083cdd4c43e583b69" @@ -13336,6 +16118,11 @@ split-on-first@^1.0.0: resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== +split2@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== + sponge-case@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/sponge-case/-/sponge-case-1.0.1.tgz#260833b86453883d974f84854cdb63aecc5aef4c" @@ -13343,6 +16130,11 @@ sponge-case@^1.0.1: dependencies: tslib "^2.0.3" +sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -13481,6 +16273,11 @@ stream-shift@^1.0.0: resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== +stream-shift@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b" + integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ== + streamsearch@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" @@ -13496,7 +16293,7 @@ string-env-interpolation@^1.0.1: resolved "https://registry.yarnpkg.com/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz#ad4397ae4ac53fe6c91d1402ad6f6a52862c7152" integrity sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg== -"string-width-cjs@npm:string-width@^4.2.0": +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -13514,15 +16311,6 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -13551,7 +16339,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -13572,13 +16360,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -13653,6 +16434,16 @@ superstatic@^9.0.3: optionalDependencies: re2 "^1.17.7" +superstruct@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-1.0.4.tgz#0adb99a7578bd2f1c526220da6571b2d485d91ca" + integrity sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ== + +superstruct@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-2.0.2.tgz#3f6d32fbdc11c357deff127d591a39b996300c54" + integrity sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A== + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -13719,6 +16510,11 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== +system-architecture@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/system-architecture/-/system-architecture-0.1.0.tgz#71012b3ac141427d97c67c56bc7921af6bff122d" + integrity sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA== + table-layout@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-3.0.2.tgz#69c2be44388a5139b48c59cf21e73b488021769a" @@ -13780,11 +16576,23 @@ test-exclude@^7.0.1: glob "^10.4.1" minimatch "^9.0.4" +text-encoding-utf-8@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" + integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== + text-hex@1.0.x: version "1.0.0" resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== +thread-stream@^0.15.1: + version "0.15.2" + resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-0.15.2.tgz#fb95ad87d2f1e28f07116eb23d85aba3bc0425f4" + integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA== + dependencies: + real-require "^0.1.0" + throttle-debounce@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" @@ -13798,7 +16606,7 @@ through2@^2.0.1: readable-stream "~2.3.6" xtend "~4.0.1" -through@^2.3.6, through@^2.3.8: +"through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== @@ -13821,6 +16629,17 @@ tiny-secp256k1@^1.1.1, tiny-secp256k1@^1.1.3: elliptic "^6.4.0" nan "^2.13.2" +tiny-secp256k1@^1.1.6: + version "1.1.7" + resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.7.tgz#0c1b6b9d2d93404f9093dc7e287b0aa834480573" + integrity sha512-eb+F6NabSnjbLwNoC+2o5ItbmP1kg7HliWue71JgLegQt6A5mTN8YbvTLCazdlg6e5SV6A+r8OGvZYskdlmhqQ== + dependencies: + bindings "^1.3.0" + bn.js "^4.11.8" + create-hmac "^1.1.7" + elliptic "^6.4.0" + nan "^2.13.2" + tinybench@^2.8.0: version "2.9.0" resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" @@ -14046,7 +16865,7 @@ tsconfck@^3.0.3: resolved "https://registry.yarnpkg.com/tsconfck/-/tsconfck-3.1.3.tgz#a8202f51dab684c426314796cdb0bbd0fe0cdf80" integrity sha512-ulNZP1SVpRDesxeMLON/LtWM8HIgAJEIVpVVhBM6gsmvQ8+Rh+ZG7FWGvHh7Ah3pRABwVJWklWCr/BTZSv0xnQ== -tslib@1.14.1: +tslib@1.14.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -14066,6 +16885,11 @@ tslib@^2.0.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.3, tslib@~2.6 resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== +tslib@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tty-browserify@0.0.1, tty-browserify@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" @@ -14157,11 +16981,16 @@ typedarray-to-buffer@3.1.5, typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typeforce@^1.11.3, typeforce@^1.11.5: +typeforce@^1.11.3, typeforce@^1.11.5, typeforce@^1.18.0: version "1.18.0" resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.18.0.tgz#d7416a2c5845e085034d70fcc5b6cc4a90edbfdc" integrity sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g== +typescript@^4.6.2: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + typescript@^5.1.6: version "5.3.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" @@ -14182,21 +17011,55 @@ ua-parser-js@^1.0.35: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.38.tgz#66bb0c4c0e322fe48edfe6d446df6042e62f25e2" integrity sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ== +ua-parser-js@^1.0.37: + version "1.0.39" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.39.tgz#bfc07f361549bf249bd8f4589a4cccec18fd2018" + integrity sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw== + uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== +ufo@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.4.tgz#16d6949674ca0c9e0fbbae1fa20a71d7b1ded754" + integrity sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ== + uglify-js@^3.7.7: version "3.17.4" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== +uint8array-tools@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/uint8array-tools/-/uint8array-tools-0.0.8.tgz#712bab001f8347bd782f45bc47c76ffff32d1e0b" + integrity sha512-xS6+s8e0Xbx++5/0L+yyexukU7pz//Yg6IHg3BKhXotg1JcYtgxVcUctQ0HxLByiJzpAkNFawz1Nz5Xadzo82g== + +uint8arrays@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.0.tgz#8186b8eafce68f28bd29bd29d683a311778901e2" + integrity sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog== + dependencies: + multiformats "^9.4.2" + +uint8arrays@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" + integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== + dependencies: + multiformats "^9.4.2" + unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg== +uncrypto@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/uncrypto/-/uncrypto-0.1.3.tgz#e1288d609226f2d02d8d69ee861fa20d8348ef2b" + integrity sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q== + underscore@~1.13.2: version "1.13.6" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441" @@ -14214,6 +17077,24 @@ undici@5.27.2: dependencies: "@fastify/busboy" "^2.0.0" +unenv@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/unenv/-/unenv-1.10.0.tgz#c3394a6c6e4cfe68d699f87af456fe3f0db39571" + integrity sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ== + dependencies: + consola "^3.2.3" + defu "^6.1.4" + mime "^3.0.0" + node-fetch-native "^1.6.4" + pathe "^1.1.2" + +unidragger@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/unidragger/-/unidragger-3.0.1.tgz#72b2e63f2571ca6e95a884b139dfec764e08c7f3" + integrity sha512-RngbGSwBFmqGBWjkaH+yB677uzR95blSQyxq6hYbrQCejH3Mx1nm8DVOuh3M9k2fQyTstWUG5qlgCnNqV/9jVw== + dependencies: + ev-emitter "^2.0.0" + unique-filename@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-3.0.0.tgz#48ba7a5a16849f5080d26c760c86cf5cf05770ea" @@ -14260,6 +17141,11 @@ unixify@^1.0.0: dependencies: normalize-path "^2.1.1" +unload@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/unload/-/unload-2.4.1.tgz#b0c5b7fb44e17fcbf50dcb8fb53929c59dd226a5" + integrity sha512-IViSAm8Z3sRBYA+9wc0fLQmU9Nrxb16rcDmIiR6Y9LJSZzI7QY5QsDhqPpKOjAn0O9/kfK1TfNEMMAGPTIraPw== + unorm@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.6.0.tgz#029b289661fba714f1a9af439eb51d9b16c205af" @@ -14280,11 +17166,36 @@ unplugin@1.0.1: webpack-sources "^3.2.3" webpack-virtual-modules "^0.5.0" +unstorage@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-1.13.1.tgz#090b30de978ee8755b3ad7bbc00acfade124ac13" + integrity sha512-ELexQHUrG05QVIM/iUeQNdl9FXDZhqLJ4yP59fnmn2jGUh0TEulwOgov1ubOb3Gt2ZGK/VMchJwPDNVEGWQpRg== + dependencies: + anymatch "^3.1.3" + chokidar "^3.6.0" + citty "^0.1.6" + destr "^2.0.3" + h3 "^1.13.0" + listhen "^1.9.0" + lru-cache "^10.4.3" + node-fetch-native "^1.6.4" + ofetch "^1.4.1" + ufo "^1.5.4" + untildify@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== +untun@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/untun/-/untun-0.1.3.tgz#5d10dee37a3a5737ff03d158be877dae0a0e58a6" + integrity sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ== + dependencies: + citty "^0.1.5" + consola "^3.2.3" + pathe "^1.1.1" + update-browserslist-db@^1.0.13: version "1.0.13" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" @@ -14337,6 +17248,11 @@ upper-case@^2.0.2: dependencies: tslib "^2.0.3" +uqr@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/uqr/-/uqr-0.1.2.tgz#5c6cd5dcff9581f9bb35b982cb89e2c483a41d7d" + integrity sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA== + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -14383,11 +17299,27 @@ urql@^4.1.0: "@urql/core" "^5.0.0" wonka "^6.3.2" +usb@^2.14.0: + version "2.14.0" + resolved "https://registry.yarnpkg.com/usb/-/usb-2.14.0.tgz#501f18c11b00c248d607ab6b05a8c7b50eb2f21a" + integrity sha512-I3lzVOH21BsO6qPYvx1C7Ji08lbuM0qmsEtNGAphqlhNME5cz/vExY+jIXZl+HQIRybI/sTxdyLab5tALsL69w== + dependencies: + "@types/w3c-web-usb" "^1.0.6" + node-addon-api "^8.0.0" + node-gyp-build "^4.5.0" + use-sync-external-store@^1.0.0, use-sync-external-store@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== +utf-8-validate@^5.0.2: + version "5.0.10" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" + integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== + dependencies: + node-gyp-build "^4.3.0" + util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -14414,21 +17346,29 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== +uuid@8.3.2, uuid@^8.0.0, uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + uuid@^3.0.1, uuid@^3.3.2: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^8.0.0, uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - uuid@^9.0.0: version "9.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== +uuidv4@^6.2.13: + version "6.2.13" + resolved "https://registry.yarnpkg.com/uuidv4/-/uuidv4-6.2.13.tgz#8f95ec5ef22d1f92c8e5d4c70b735d1c89572cb7" + integrity sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ== + dependencies: + "@types/uuid" "8.3.4" + uuid "8.3.2" + valid-url@^1: version "1.0.9" resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" @@ -14444,6 +17384,13 @@ value-or-promise@^1.0.11, value-or-promise@^1.0.12: resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c" integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== +varuint-bitcoin@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/varuint-bitcoin/-/varuint-bitcoin-2.0.0.tgz#59a53845a87ad18c42f184a3d325074465341523" + integrity sha512-6QZbU/rHO2ZQYpWFDALCDSRsXbAs1VOEmXAxtbtjLtKuMJ/FQ8YbhfxlaiKv5nklci0M6lZtlZyxo9Q+qNnyog== + dependencies: + uint8array-tools "^0.0.8" + varuint-bitcoin@^1.0.4, varuint-bitcoin@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz#e76c138249d06138b480d4c5b40ef53693e24e92" @@ -14624,6 +17571,14 @@ webpack-virtual-modules@^0.5.0: resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz#362f14738a56dae107937ab98ea7062e8bdd3b6c" integrity sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw== +webrtc-adapter@^7.2.1: + version "7.7.1" + resolved "https://registry.yarnpkg.com/webrtc-adapter/-/webrtc-adapter-7.7.1.tgz#b2c227a6144983b35057df67bd984a7d4bfd17f1" + integrity sha512-TbrbBmiQBL9n0/5bvDdORc6ZfRY/Z7JnEj+EYOD1ghseZdpJ+nF2yx14k3LgQKc7JZnG7HAcL+zHnY25So9d7A== + dependencies: + rtcpeerconnection-shim "^1.2.15" + sdp "^2.12.0" + whatwg-encoding@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5" @@ -14716,6 +17671,13 @@ wif@^2.0.1, wif@^2.0.6: dependencies: bs58check "<3.0.0" +wif@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/wif/-/wif-5.0.0.tgz#445e44b8f62e155144d1c970c01ca2ba3979cc3f" + integrity sha512-iFzrC/9ne740qFbNjTZ2FciSRJlHIXoxqk/Y5EnE08QOXu1WjJyCCswwDTYbohAOEnlCtLaAAQBhyaLRFh2hMA== + dependencies: + bs58check "^4.0.0" + winston-transport@^4.4.0, winston-transport@^4.5.0: version "4.6.0" resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.6.0.tgz#f1c1a665ad1b366df72199e27892721832a19e1b" @@ -14757,7 +17719,7 @@ wordwrapjs@^5.1.0: resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-5.1.0.tgz#4c4d20446dcc670b14fa115ef4f8fd9947af2b3a" integrity sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -14784,15 +17746,6 @@ wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" @@ -14832,7 +17785,7 @@ ws@8.14.2: resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== -ws@8.17.1: +ws@8.17.1, ws@~8.17.1: version "8.17.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== @@ -14847,7 +17800,12 @@ ws@^7, ws@^7.2.3, ws@^7.4.0: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -ws@^8.12.0, ws@^8.17.1, ws@^8.18.0: +ws@^7.2.0, ws@^7.5.1, ws@^7.5.10: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== + +ws@^8.12.0, ws@^8.17.1, ws@^8.18.0, ws@^8.5.0: version "8.18.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== @@ -14877,6 +17835,11 @@ xmlcreate@^2.0.4: resolved "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-2.0.4.tgz#0c5ab0f99cdd02a81065fa9cd8f8ae87624889be" integrity sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg== +xmlhttprequest-ssl@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz#e9e8023b3f29ef34b97a859f584c5e6c61418e23" + integrity sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ== + xregexp@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" From b4a41d97372c3384cc36a0f888c5522568613657 Mon Sep 17 00:00:00 2001 From: perfogic Date: Mon, 2 Dec 2024 16:12:21 +0700 Subject: [PATCH 04/21] add poc code for bridging sol token --- src/config/chainInfos.ts | 4 +- .../Balance/TransferConvertToken/index.tsx | 4 +- src/pages/Balance/index.tsx | 34 ++- src/program/web3.ts | 194 ++++++++++++++++++ 4 files changed, 229 insertions(+), 7 deletions(-) create mode 100644 src/program/web3.ts diff --git a/src/config/chainInfos.ts b/src/config/chainInfos.ts index fd3e89d35..b463db5fb 100644 --- a/src/config/chainInfos.ts +++ b/src/config/chainInfos.ts @@ -121,7 +121,8 @@ export const bitcoinMainnet: CustomChainInfo = { } }; -const solChainId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp'; +export const solChainId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp'; + export const solanaMainnet: CustomChainInfo = { rpc: 'https://swr.xnftdata.com/rpc-proxy/', rest: 'https://swr.xnftdata.com/rpc-proxy/', @@ -154,6 +155,7 @@ export const solanaMainnet: CustomChainInfo = { coinMinimalDenom: 'max', coinDecimals: 6, bridgeTo: ['Oraichain'], + contractAddress: 'oraim8c9d1nkfuQk9EzGYEUGxqL3MHQYndRw1huVo5h', coinGeckoId: 'max.clan' as any, coinImageUrl: 'https://pump.mypinata.cloud/ipfs/QmcGwYebsQfYbNSM9QDAMS2wKZ8fZNEiMbezJah1zgEWWS?img-width=256&img-dpr=2' diff --git a/src/pages/Balance/TransferConvertToken/index.tsx b/src/pages/Balance/TransferConvertToken/index.tsx index 826100a1c..c3f124f3e 100644 --- a/src/pages/Balance/TransferConvertToken/index.tsx +++ b/src/pages/Balance/TransferConvertToken/index.tsx @@ -108,8 +108,8 @@ const TransferConvertToken: FC = ({ const onTransferConvert = async (event: React.MouseEvent) => { event.stopPropagation(); try { - const isValid = checkValidAmount(); - if (!isValid) return; + // const isValid = checkValidAmount(); + // if (!isValid) return; setTransferLoading(true); // if on the same kwt network => we convert between native & erc20 tokens diff --git a/src/pages/Balance/index.tsx b/src/pages/Balance/index.tsx index b23cad06c..a434738e1 100644 --- a/src/pages/Balance/index.tsx +++ b/src/pages/Balance/index.tsx @@ -31,7 +31,7 @@ import SearchInput from 'components/SearchInput'; import { displayToast, TToastType } from 'components/Toasts/Toast'; import TokenBalance from 'components/TokenBalance'; import { tokens } from 'config/bridgeTokens'; -import { chainInfos } from 'config/chainInfos'; +import { chainInfos, solChainId } from 'config/chainInfos'; import { NomicContext } from 'context/nomic-context'; import { assert, @@ -93,8 +93,10 @@ import { AppBitcoinClient } from '@oraichain/bitcoin-bridge-contracts-sdk'; import { MsgTransfer } from 'cosmjs-types/ibc/applications/transfer/v1/tx'; import { MsgTransfer as MsgTransferInjective } from '@injectivelabs/sdk-ts/node_modules/cosmjs-types/ibc/applications/transfer/v1/tx'; import { collectWallet, connectWithSigner, getCosmWasmClient } from 'libs/cosmjs'; +import { useWallet } from '@solana/wallet-adapter-react'; +import { Web3SolanaProgramInteraction } from 'program/web3'; -interface BalanceProps { } +interface BalanceProps {} export const isMaintainBridge = false; @@ -131,6 +133,7 @@ const Balance: React.FC = () => { enabled: true, bitcoinAddress: btcAddress }); + const wallet = useWallet(); const ref = useRef(null); //@ts-ignore @@ -472,15 +475,31 @@ const Balance: React.FC = () => { return latestEvmAddress; }; + const handleTransferSol = async ({ + fromToken, + transferAmount + }: { + fromToken: TokenItemType; + transferAmount: number; + }) => { + const web3Solana = new Web3SolanaProgramInteraction(); + const response = await web3Solana.bridgeSolToOrai(wallet, fromToken, transferAmount, oraiAddress); + processTxResult( + fromToken.rpc, + // @ts-ignore-check + response.result + ); + }; + const onClickTransfer = async ( fromAmount: number, from: TokenItemType, to: TokenItemType, toNetworkChainId?: NetworkChainId ) => { - try { - await handleCheckWallet(); + console.log('Hello', { from }, { to }); + try { console.log(from, to); assert(from && to, 'Please choose both from and to tokens'); @@ -514,6 +533,13 @@ const Balance: React.FC = () => { }); } + if (from.chainId == 'Oraichain' && (to.chainId as any) == solChainId) { + return handleTransferSol({ + fromToken: from, + transferAmount: fromAmount + }); + } + let newToToken = to; if (toNetworkChainId) { // ORAICHAIN -> EVM (BSC/ETH/TRON) ( TO: TOKEN ORAIBRIDGE) diff --git a/src/program/web3.ts b/src/program/web3.ts new file mode 100644 index 000000000..4698cc6de --- /dev/null +++ b/src/program/web3.ts @@ -0,0 +1,194 @@ +import { + ComputeBudgetProgram, + Connection, + Keypair, + LAMPORTS_PER_SOL, + PublicKey, + Transaction, + TransactionExpiredTimeoutError, + TransactionInstruction +} from '@solana/web3.js'; +import { createTransferCheckedInstruction, getAssociatedTokenAddressSync } from '@solana/spl-token'; +import * as anchor from '@coral-xyz/anchor'; +import { WalletContextState } from '@solana/wallet-adapter-react'; +import { BN, Program } from '@coral-xyz/anchor'; +import BigNumber from 'bignumber.js'; +import { toAmount, TokenItemType } from '@oraichain/oraidex-common'; + +export const commitmentLevel = 'confirmed'; +export const TOKEN_RESERVES = 1_000_000_000_000_000; +export const LAMPORT_RESERVES = 1_000_000_000; +export const INIT_BONDING_CURVE = 95; + +export const endpoint = process.env.NEXT_PUBLIC_SOLANA_RPC; +export const SOL_RELAYER_ADDRESS = '8WHawEro2j7YQYnL1zjDpiJ4Qnf1AWz913Xmaj9mtqyz'; +export const MEMO_PROGRAM_ID = 'MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr'; + +export class Web3SolanaProgramInteraction { + constructor( + private readonly connection = new Connection(endpoint, { + commitment: commitmentLevel, + wsEndpoint: process.env.NEXT_PUBLIC_SOLANA_WS + }) + ) {} + + bridgeSolToOrai = async ( + wallet: WalletContextState, + token: TokenItemType, + tokenAmountRaw: number, + oraiReceiverAddress: string + ) => { + const mintPubkey = new PublicKey(token.contractAddress); + const relayerPubkey = new PublicKey(SOL_RELAYER_ADDRESS); + + const walletTokenAccount = getAssociatedTokenAddressSync(mintPubkey, wallet.publicKey); + const relayerTokenAccount = getAssociatedTokenAddressSync(mintPubkey, relayerPubkey); + + // check the connection + if (!wallet.publicKey || !this.connection) { + throw new Error('Warning: Wallet not connected'); + } + + const parsedAmount = toAmount(tokenAmountRaw, token.decimals); + let transaction = new Transaction(); + transaction.add( + createTransferCheckedInstruction( + walletTokenAccount, + mintPubkey, + relayerTokenAccount, + wallet.publicKey, + parsedAmount, + token.decimals + ) + ); + transaction.add( + new TransactionInstruction({ + keys: [{ pubkey: wallet.publicKey, isSigner: true, isWritable: true }], + data: Buffer.from(oraiReceiverAddress, 'utf-8'), + programId: new PublicKey('MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr') + }) + ); + transaction.feePayer = wallet.publicKey; + const blockhash = await this.connection.getLatestBlockhash(); + transaction.recentBlockhash = blockhash.blockhash; + + if (wallet.signTransaction) { + const signedTx = await wallet.signTransaction(transaction); + const sTx = signedTx.serialize(); + console.log('---- simulate tx', await this.connection.simulateTransaction(signedTx)); + const signature = await this.connection.sendRawTransaction(sTx, { + preflightCommitment: 'confirmed', + skipPreflight: false + }); + const res = await this.connection.confirmTransaction( + { + signature, + blockhash: blockhash.blockhash, + lastValidBlockHeight: blockhash.lastValidBlockHeight + }, + 'finalized' + ); + console.log('Successfully initialized.\n Signature: ', signature); + return { + result: res + }; + } + }; + + getTokenBalance = async (walletAddress: string, tokenMintAddress: string) => { + const wallet = new PublicKey(walletAddress); + const tokenMint = new PublicKey(tokenMintAddress); + + // Fetch the token account details + const response = await this.connection.getTokenAccountsByOwner(wallet, { + mint: tokenMint + }); + + if (response.value.length == 0) { + console.log('No token account found for the specified mint address.'); + return; + } + + // Get the balance + const tokenAccountInfo = await this.connection.getTokenAccountBalance(response.value[0].pubkey); + + // Convert the balance from integer to decimal format + + console.log(`Token Balance: ${tokenAccountInfo.value.uiAmount}`); + + return tokenAccountInfo.value.uiAmount; + }; + + getSolanaBalance = async (publicKey: PublicKey) => { + const balance = await this.connection.getBalance(publicKey); + const balanceSolana = new BigNumber(balance).dividedBy(LAMPORTS_PER_SOL).toNumber(); + + return balanceSolana; + }; + + getNumberOfOwnedToken = async (walletPublicKey: PublicKey) => { + try { + // // Convert the wallet address to PublicKey + // const walletPublicKey = new PublicKey(walletAddress); + + // Fetch all token accounts owned by the wallet + const tokenAccounts = await this.connection.getParsedTokenAccountsByOwner(walletPublicKey, { + programId: new PublicKey('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA') // SPL Token Program ID + }); + + // Process token accounts to list balances and mint addresses + const tokens = tokenAccounts.value + .map((tokenAccount) => { + const info = tokenAccount.account.data.parsed.info; + const mint = info.mint; // Mint address (unique for each token) + const balance = info.tokenAmount.uiAmount; // Human-readable balance + + return { mint, balance }; + }) + .filter((token) => token.balance > 0); // Filter out zero-balance tokens + + // Count unique tokens and log the results + const uniqueTokens = new Set(tokens.map((token) => token.mint)); + console.log(`You hold ${uniqueTokens.size} unique tokens:`); + // tokens.forEach((token) => { + // console.log(`Token Mint: ${token.mint}, Balance: ${token.balance}`); + // }); + + return { + uniqueTokenCount: uniqueTokens.size, + tokenDetails: tokens + }; + } catch (error) { + console.error('Error fetching token balances:', error); + return { + uniqueTokenCount: 0, + tokenDetails: [] + }; + } + }; + + isTransactionExpiredTimeoutError(error: any) { + return error instanceof TransactionExpiredTimeoutError; + } + + handleTransactionError = async ({ error }: { error: TransactionExpiredTimeoutError }) => { + try { + if (this.isTransactionExpiredTimeoutError(error) || error['signature']) { + const result = await this.connection.getSignatureStatus(error.signature, { + searchTransactionHistory: true + }); + + if (result?.value?.confirmationStatus) { + console.log(result); + + return { transaction: error.signature, result }; + } + } + + return null; + } catch (e) { + console.log(e); + return null; + } + }; +} From bd4c4c2de0790d8bcd30514f3d443ad2cd1714b5 Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Mon, 2 Dec 2024 18:20:49 +0700 Subject: [PATCH 05/21] fix sol bridge --- package.json | 2 + src/assets/icons/max.svg | 9 + .../WalletByNetwork/WalletByNetwork.tsx | 20 +++ .../ModalDisconnect/ModalDisconnect.tsx | 7 + .../WalletManagement/MyWallet/MyWallet.tsx | 17 +- .../WalletManagement/WalletManagement.tsx | 10 +- .../WalletManagement/useResetBalance.ts | 2 +- .../WalletManagement/walletConfig.ts | 11 +- src/config/bridgeTokens.ts | 7 +- src/config/iconInfos.ts | 5 +- src/context/solana-content.tsx | 43 +++++ src/hooks/useLoadTokens.ts | 71 +++++++- src/layouts/App.tsx | 43 +++-- src/pages/Balance/index.tsx | 22 +-- src/pages/UniversalSwap/helpers.ts | 2 +- src/program/web3.ts | 17 +- src/reducer/config.ts | 2 + src/reducer/wallet.ts | 4 +- yarn.lock | 162 +++++++++++++++++- 19 files changed, 401 insertions(+), 55 deletions(-) create mode 100644 src/assets/icons/max.svg create mode 100644 src/context/solana-content.tsx diff --git a/package.json b/package.json index 3761cdb65..89c3c6584 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "type": "module", "dependencies": { "@babel/plugin-proposal-import-wasm-source": "^7.24.7", + "@coral-xyz/anchor": "^0.30.1", "@cosmjs/cosmwasm-stargate": "^0.32.4", "@cosmjs/proto-signing": "^0.32.4", "@cosmjs/stargate": "^0.32.4", @@ -29,6 +30,7 @@ "@react-spring/web": "^9.7.5", "@reduxjs/toolkit": "^1.9.3", "@sentry/react": "7.99.0", + "@solana/spl-token": "^0.4.9", "@solana/wallet-adapter-base": "^0.9.23", "@solana/wallet-adapter-react": "^0.15.35", "@solana/wallet-adapter-react-ui": "^0.9.35", diff --git a/src/assets/icons/max.svg b/src/assets/icons/max.svg new file mode 100644 index 000000000..c51cd0dfa --- /dev/null +++ b/src/assets/icons/max.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx index c79811cb5..985cfafd5 100644 --- a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx +++ b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx @@ -15,6 +15,8 @@ import { useInactiveConnect } from 'hooks/useMetamask'; import Metamask from 'libs/metamask'; import DefaultIcon from 'assets/icons/tokens.svg?react'; import { ChainEnableByNetwork, triggerUnlockOwalletInEvmNetwork } from 'components/WalletManagement/wallet-helper'; +import { useWallet } from '@solana/wallet-adapter-react'; +import { useWalletModal } from '@solana/wallet-adapter-react-ui'; export type ConnectStatus = 'init' | 'confirming-switch' | 'confirming-disconnect' | 'loading' | 'failed' | 'success'; export const WalletByNetwork = ({ walletProvider }: { walletProvider: WalletProvider }) => { @@ -26,10 +28,14 @@ export const WalletByNetwork = ({ walletProvider }: { walletProvider: WalletProv const [, setTronAddress] = useConfigReducer('tronAddress'); const [, setBtcAddress] = useConfigReducer('btcAddress'); const [, setMetamaskAddress] = useConfigReducer('metamaskAddress'); + const [solAddress, setSolanaAddress] = useConfigReducer('solAddress'); const [, setCosmosAddress] = useConfigReducer('cosmosAddress'); const [walletByNetworks, setWalletByNetworks] = useWalletReducer('walletsByNetwork'); const connect = useInactiveConnect(); + const solanaWallet = useWallet(); + const { visible, setVisible } = useWalletModal(); + const handleConfirmSwitch = async () => { setConnectStatus('loading'); await handleConnectWalletByNetwork(currentWalletConnecting); @@ -86,6 +92,14 @@ export const WalletByNetwork = ({ walletProvider }: { walletProvider: WalletProv setBtcAddress(btcAddress); }; + const handleConnectWalletInSolanaNetwork = async (walletType: WalletType) => { + if (walletType === 'owallet') { + // TODO: need check when use multi wallet support solana + } + setVisible(true); + setSolanaAddress(solanaWallet.publicKey.toBase58()); + }; + const handleConnectWalletByNetwork = async (wallet: WalletNetwork) => { try { setConnectStatus('loading'); @@ -102,6 +116,9 @@ export const WalletByNetwork = ({ walletProvider }: { walletProvider: WalletProv case 'bitcoin': await handleConnectWalletInBtcNetwork(wallet.nameRegistry); break; + case 'solana': + await handleConnectWalletInSolanaNetwork(wallet.nameRegistry); + break; default: setConnectStatus('init'); break; @@ -158,6 +175,9 @@ export const WalletByNetwork = ({ walletProvider }: { walletProvider: WalletProv case 'bitcoin': setBtcAddress(undefined); break; + case 'solana': + setSolanaAddress(undefined); + break; default: break; } diff --git a/src/components/WalletManagement/ModalDisconnect/ModalDisconnect.tsx b/src/components/WalletManagement/ModalDisconnect/ModalDisconnect.tsx index 7495f431f..e5cdebfa9 100644 --- a/src/components/WalletManagement/ModalDisconnect/ModalDisconnect.tsx +++ b/src/components/WalletManagement/ModalDisconnect/ModalDisconnect.tsx @@ -22,6 +22,7 @@ export const ModalDisconnect: React.FC<{ const [oraiAddress, setOraiAddress] = useConfigReducer('address'); const [tronAddress, setTronAddress] = useConfigReducer('tronAddress'); const [btcAddress, setBtcAddress] = useConfigReducer('btcAddress'); + const [solAddress, setSolAddress] = useConfigReducer('solAddress'); const [metamaskAddress, setMetamaskAddress] = useConfigReducer('metamaskAddress'); const { isCopied, copiedValue, handleCopy } = useCopyClipboard(); @@ -47,6 +48,9 @@ export const ModalDisconnect: React.FC<{ case 'tron': choosedAddressDisplayByNetwork = tronAddress; break; + case 'solana': + choosedAddressDisplayByNetwork = solAddress; + break; default: break; } @@ -75,6 +79,9 @@ export const ModalDisconnect: React.FC<{ case 'tron': setTronAddress(undefined); break; + case 'solana': + setSolAddress(undefined); + break; default: break; } diff --git a/src/components/WalletManagement/MyWallet/MyWallet.tsx b/src/components/WalletManagement/MyWallet/MyWallet.tsx index 8b22298dc..cd1c6e1c3 100644 --- a/src/components/WalletManagement/MyWallet/MyWallet.tsx +++ b/src/components/WalletManagement/MyWallet/MyWallet.tsx @@ -12,14 +12,16 @@ import { evmWallets, btcWallets, type NetworkType, - WalletNetwork + WalletNetwork, + solanaWallets } from 'components/WalletManagement/walletConfig'; import { tronNetworksWithIcon, cosmosNetworksWithIcon, evmNetworksIconWithoutTron, getListAddressCosmos, - btcNetworksWithIcon + btcNetworksWithIcon, + solanaNetworksWithIcon } from 'helper'; import { useCoinGeckoPrices } from 'hooks/useCoingecko'; import useConfigReducer from 'hooks/useConfigReducer'; @@ -46,6 +48,7 @@ export const MyWallet: React.FC<{ const [oraiAddress] = useConfigReducer('address'); const [tronAddress] = useConfigReducer('tronAddress'); const [btcAddress] = useConfigReducer('btcAddress'); + const [solAddress] = useConfigReducer('solAddress'); const [metamaskAddress] = useConfigReducer('metamaskAddress'); const [cosmosAddresses, setCosmosAddress] = useConfigReducer('cosmosAddress'); @@ -169,6 +172,15 @@ export const MyWallet: React.FC<{ return renderWalletAddress(btcNetworks, btcWalletConnected, (_network) => btcAddress); }; + const renderSolAddresses = () => { + if (!solAddress) return null; + const solWalletConnected = solanaWallets.find((item) => item.nameRegistry === walletByNetworks.solana); + if (!solWalletConnected) return <>; + + const solNetworks = solanaNetworksWithIcon.map((evm) => ({ ...evm, typeChain: 'solana' })); + return renderWalletAddress(solNetworks, solWalletConnected, (_network) => solAddress); + }; + return (
diff --git a/src/components/WalletManagement/WalletManagement.tsx b/src/components/WalletManagement/WalletManagement.tsx index e5fdf4e1d..fde1238f9 100644 --- a/src/components/WalletManagement/WalletManagement.tsx +++ b/src/components/WalletManagement/WalletManagement.tsx @@ -23,6 +23,7 @@ export const WalletManagement: FC<{}> = () => { const [oraiAddress] = useConfigReducer('address'); const [tronAddress] = useConfigReducer('tronAddress'); const [btcAddress] = useConfigReducer('btcAddress'); + const [solAddress] = useConfigReducer('solAddress'); const [metamaskAddress] = useConfigReducer('metamaskAddress'); const [walletByNetworks] = useWalletReducer('walletsByNetwork'); const { handleResetBalance } = useResetBalance(); @@ -85,7 +86,7 @@ export const WalletManagement: FC<{}> = () => { // load balance every time change address useEffect(() => { - const addresses = { oraiAddress, tronAddress, metamaskAddress, btcAddress }; + const addresses = { oraiAddress, tronAddress, metamaskAddress, btcAddress, solAddress }; const filteredAddresses = {}; for (const key in addresses) { @@ -97,20 +98,21 @@ export const WalletManagement: FC<{}> = () => { loadTokenAmounts(filteredAddresses); } // eslint-disable-next-line react-hooks/exhaustive-deps - }, [oraiAddress, tronAddress, metamaskAddress, btcAddress]); + }, [oraiAddress, tronAddress, metamaskAddress, btcAddress, solAddress]); // reset balance when disconnect useEffect(() => { - if (!metamaskAddress || !tronAddress || !oraiAddress || !btcAddress) { + if (!metamaskAddress || !tronAddress || !oraiAddress || !btcAddress || !solAddress) { let arrResetBalance: WalletResetType[] = []; if (!metamaskAddress) arrResetBalance.push('metamask'); if (!tronAddress) arrResetBalance.push('tron'); if (!oraiAddress) arrResetBalance.push('keplr'); if (!btcAddress) arrResetBalance.push('bitcoin'); + if (!solAddress) arrResetBalance.push('phantom'); arrResetBalance.length && handleResetBalance(arrResetBalance); } // eslint-disable-next-line react-hooks/exhaustive-deps - }, [oraiAddress, tronAddress, metamaskAddress, btcAddress]); + }, [oraiAddress, tronAddress, metamaskAddress, btcAddress, solAddress]); const isAnyWalletConnected = Object.values(walletByNetworks).some((wallet) => wallet !== null); useEffect(() => { diff --git a/src/components/WalletManagement/useResetBalance.ts b/src/components/WalletManagement/useResetBalance.ts index 12cedf18f..756f8eb4e 100644 --- a/src/components/WalletManagement/useResetBalance.ts +++ b/src/components/WalletManagement/useResetBalance.ts @@ -3,7 +3,7 @@ import { btcTokens } from 'config/bridgeTokens'; import { useDispatch } from 'react-redux'; import { updateAmounts } from 'reducer/token'; -export type Wallet = WalletType | 'metamask' | 'tron' | 'bitcoin'; +export type Wallet = WalletType | 'metamask' | 'tron' | 'bitcoin' | 'phantom'; export const useResetBalance = () => { const dispatch = useDispatch(); diff --git a/src/components/WalletManagement/walletConfig.ts b/src/components/WalletManagement/walletConfig.ts index 3d4a83d4d..285e2a369 100644 --- a/src/components/WalletManagement/walletConfig.ts +++ b/src/components/WalletManagement/walletConfig.ts @@ -2,6 +2,7 @@ import { WalletType as WalletCosmosType } from '@oraichain/oraidex-common/build/ import KeplrIcon from 'assets/icons/keplr-icon.svg?react'; import MetamaskIcon from 'assets/icons/metamask-icon.svg?react'; import OwalletIcon from 'assets/icons/owallet-icon.svg?react'; +import PhantomIcon from 'assets/icons/phantom.svg?react'; import TronIcon from 'assets/icons/tron-icon.svg?react'; import { cosmosNetworksWithIcon, @@ -102,14 +103,20 @@ export const btcWallets: WalletNetwork[] = [ export const solanaWallets: WalletNetwork[] = [ { - icon: OwalletIcon, + icon: PhantomIcon, name: 'Phantom', nameRegistry: 'phantom', isActive: true } ]; -export const allWallets: WalletNetwork[] = [...cosmosWallets, ...tronWallets, ...evmWallets, ...btcWallets]; +export const allWallets: WalletNetwork[] = [ + ...cosmosWallets, + ...tronWallets, + ...evmWallets, + ...btcWallets, + ...solanaWallets +]; export const walletProvider: WalletProvider[] = [ { diff --git a/src/config/bridgeTokens.ts b/src/config/bridgeTokens.ts index c606360f0..bad3aba10 100644 --- a/src/config/bridgeTokens.ts +++ b/src/config/bridgeTokens.ts @@ -1,6 +1,6 @@ import flatten from 'lodash/flatten'; import uniqBy from 'lodash/uniqBy'; -import { chainInfos, oraichainNetwork } from './chainInfos'; +import { chainInfos, oraichainNetwork, solChainId } from './chainInfos'; import { CustomChainInfo, INJECTIVE_ORAICHAIN_DENOM, @@ -95,6 +95,11 @@ export const btcTokens = uniqBy( (c) => c.denom ); +export const solTokens = uniqBy( + flattenTokens.filter((token) => token.chainId === (solChainId as any)), + (c) => c.denom +); + export const kawaiiTokens = uniqBy( cosmosTokens.filter((token) => token.chainId === 'kawaii_6886-1'), (c) => c.denom diff --git a/src/config/iconInfos.ts b/src/config/iconInfos.ts index 173831005..495670ad6 100644 --- a/src/config/iconInfos.ts +++ b/src/config/iconInfos.ts @@ -29,6 +29,7 @@ import CatIcon from 'assets/icons/icon-simoncat.svg?react'; import HmstrIcon from 'assets/icons/hmstr.svg?react'; import DogecoinIcon from 'assets/icons/dogecoin.svg?react'; import SolanaIcon from 'assets/icons/solana.svg?react'; +import MaxIcon from 'assets/icons/max.svg?react'; import { CustomChainInfo, TokenItemType } from '@oraichain/oraidex-common'; import { bitcoinChainId } from 'helper/constants'; @@ -178,8 +179,8 @@ export const tokensIconInfos: TokenIcon[] = [ }, { coinGeckoId: 'max.clan' as any, - Icon: SolanaIcon, - IconLight: SolanaIcon + Icon: MaxIcon, + IconLight: MaxIcon } ]; diff --git a/src/context/solana-content.tsx b/src/context/solana-content.tsx new file mode 100644 index 000000000..9db7a8530 --- /dev/null +++ b/src/context/solana-content.tsx @@ -0,0 +1,43 @@ +import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react'; +import { WalletModalProvider } from '@solana/wallet-adapter-react-ui'; +import { ReactNode, useMemo } from 'react'; +import { + LedgerWalletAdapter, + PhantomWalletAdapter, + SolflareWalletAdapter, + TorusWalletAdapter +} from '@solana/wallet-adapter-wallets'; +import { WalletAdapterNetwork } from '@solana/wallet-adapter-base'; +import { clusterApiUrl } from '@solana/web3.js'; + +import '@solana/wallet-adapter-react-ui/styles.css'; + +export const SolanaWalletProvider = ({ children }: { children: ReactNode }) => { + // const network = WalletAdapterNetwork.Mainnet; + + const network = WalletAdapterNetwork.Mainnet; + // You can also provide a custom RPC endpoint. + // const endpoint = SOLANA_RPC; + const endpoint = useMemo(() => clusterApiUrl(network), [network]); + + // @solana/wallet-adapter-wallets includes all the adapters but supports tree shaking and lazy loading -- + // Only the wallets you configure here will be compiled into your application, and only the dependencies + // of wallets that your users connect to will be loaded. + const wallets = useMemo( + () => [ + new PhantomWalletAdapter(), + new SolflareWalletAdapter({ network }), + new TorusWalletAdapter(), + new LedgerWalletAdapter() + ], + [network] + ); + // const wallets = [new PhantomWalletAdapter(), new SolflareWalletAdapter()]; + return ( + + + {children} + + + ); +}; diff --git a/src/hooks/useLoadTokens.ts b/src/hooks/useLoadTokens.ts index 09321829d..6c831c220 100644 --- a/src/hooks/useLoadTokens.ts +++ b/src/hooks/useLoadTokens.ts @@ -2,7 +2,7 @@ import { fromBinary, toBinary } from '@cosmjs/cosmwasm-stargate'; import { StargateClient } from '@cosmjs/stargate'; import { MulticallQueryClient } from '@oraichain/common-contracts-sdk'; import { OraiswapTokenTypes } from '@oraichain/oraidex-contracts-sdk'; -import { btcTokens, cosmosTokens, evmTokens, oraichainTokens, tokenMap } from 'config/bridgeTokens'; +import { btcTokens, cosmosTokens, evmTokens, oraichainTokens, solTokens, tokenMap } from 'config/bridgeTokens'; import { genAddressCosmos, getAddress, @@ -26,13 +26,14 @@ import { tronToEthAddress } from '@oraichain/oraidex-common'; import { UniversalSwapHelper } from '@oraichain/oraidex-universal-swap'; -import { chainInfos, evmChains } from 'config/chainInfos'; +import { chainInfos, evmChains, solChainId } from 'config/chainInfos'; import { network } from 'config/networks'; import { ethers } from 'ethers'; import axios from 'rest/request'; import { reduce } from 'lodash'; import { getUtxos } from 'pages/Balance/helpers'; import { bitcoinChainId } from 'helper/constants'; +import { clusterApiUrl, Connection, PublicKey } from '@solana/web3.js'; export type LoadTokenParams = { refresh?: boolean; @@ -40,6 +41,7 @@ export type LoadTokenParams = { oraiAddress?: string; tronAddress?: string; btcAddress?: string; + solAddress?: string; }; async function loadNativeBalance(dispatch: Dispatch, address: string, tokenInfo: { chainId: string; rpc: string }) { @@ -72,7 +74,7 @@ const timer = {}; async function loadTokens( dispatch: Dispatch, - { oraiAddress, metamaskAddress, tronAddress, btcAddress }: LoadTokenParams + { oraiAddress, metamaskAddress, tronAddress, btcAddress, solAddress }: LoadTokenParams ) { try { if (oraiAddress) { @@ -120,6 +122,7 @@ async function loadTokens( ); }, 2000); } + if (btcAddress) { clearTimeout(timer[btcAddress]); timer[btcAddress] = setTimeout(() => { @@ -131,6 +134,17 @@ async function loadTokens( ); }, 2000); } + + if (solAddress) { + clearTimeout(timer[solAddress]); + timer[solAddress] = setTimeout(() => { + loadSolAmounts( + dispatch, + solAddress, + chainInfos.filter((c) => c.chainId == solChainId) + ); + }, 2000); + } } catch (error) { console.log('error load balance: ', error); } @@ -312,6 +326,45 @@ async function loadBtcEntries( } } +async function loadSolEntries( + address: string, + chain: CustomChainInfo, + retryCount?: number +): Promise<[string, string][]> { + try { + const connection = new Connection(chain.rpc, { + commitment: 'confirmed' + // wsEndpoint: NEXT_PUBLIC_SOLANA_WS, + }); + const walletPublicKey = new PublicKey(address); + let [nativeAmount, tokenAmount] = await Promise.all([ + connection.getBalance(walletPublicKey), + connection.getParsedTokenAccountsByOwner(walletPublicKey, { + programId: new PublicKey('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA') + }) + ]); + + let entries: [string, string][] = solTokens.map((item) => { + let amount = nativeAmount.toString(); + if (item?.contractAddress) { + const findAmount = tokenAmount.value.find( + (token) => token.account.data.parsed.info.mint === item.contractAddress + ); + if (findAmount) amount = findAmount.account.data.parsed.info.tokenAmount.amount; + else amount = '0'; + } + return [item.denom, amount]; + }); + return entries; + } catch (error) { + console.log('error querying BTC balance: ', error); + let retry = retryCount ? retryCount + 1 : 1; + if (retry >= EVM_BALANCE_RETRY_COUNT) throw generateError(`Cannot query BTC balance with error: ${error}`); + await new Promise((resolve) => setTimeout(resolve, 2000)); + return loadBtcEntries(address, chain, retry); + } +} + async function loadEvmAmounts(dispatch: Dispatch, evmAddress: string, chains: CustomChainInfo[]) { console.log('---', chains); const amountDetails = Object.fromEntries( @@ -333,6 +386,18 @@ async function loadBtcAmounts(dispatch: Dispatch, btcAddress: string, chains: Cu } } +async function loadSolAmounts(dispatch: Dispatch, solAddress: string, chains: CustomChainInfo[]) { + try { + const amountDetails = Object.fromEntries( + flatten(await Promise.all(chains.map((chain) => loadSolEntries(solAddress, chain)))) + ); + + dispatch(updateAmounts(amountDetails)); + } catch (error) { + console.log('error: loadBtcAmounts', error); + } +} + async function loadKawaiiSubnetAmount(dispatch: Dispatch, kwtAddress: string) { if (!kwtAddress) return; const kawaiiInfo = chainInfos.find((c) => c.chainId === 'kawaii_6886-1'); diff --git a/src/layouts/App.tsx b/src/layouts/App.tsx index 724efc7c9..6f8fba072 100644 --- a/src/layouts/App.tsx +++ b/src/layouts/App.tsx @@ -28,12 +28,15 @@ import { NoticeBanner } from './NoticeBanner'; import Sidebar from './Sidebar'; import SingletonOraiswapV3 from 'libs/contractSingleton'; import { getCosmWasmClient } from 'libs/cosmjs'; +import { SolanaWalletProvider } from 'context/solana-content'; +import { useWallet } from '@solana/wallet-adapter-react'; const App = () => { const [address, setOraiAddress] = useConfigReducer('address'); const [, setTronAddress] = useConfigReducer('tronAddress'); const [, setMetamaskAddress] = useConfigReducer('metamaskAddress'); const [, setBtcAddress] = useConfigReducer('btcAddress'); + const [, setSolAddress] = useConfigReducer('solAddress'); const [, setStatusChangeAccount] = useConfigReducer('statusChangeAccount'); const loadTokenAmounts = useLoadTokens(); const [persistVersion, setPersistVersion] = useConfigReducer('persistVersion'); @@ -45,6 +48,7 @@ const App = () => { const ethOwallet = window.eth_owallet; const dispatch = useDispatch(); + const solanaWallet = useWallet(); useTronEventListener(); @@ -233,6 +237,17 @@ const App = () => { return btcAddress; }; + const handleAddressSolOwallet = async () => { + let solAddress; + if (walletByNetworks.solana === 'phantom' || mobileMode) { + if (solanaWallet.publicKey) { + solAddress = solanaWallet.publicKey.toBase58(); + if (solAddress) setSolAddress(solAddress); + } + } + return solAddress; + }; + const handleAddressTronOwallet = async () => { let tronAddress; @@ -255,12 +270,14 @@ const App = () => { const metamaskAddress = await handleAddressEvmOwallet(); const btcAddress = await handleAddressBtcOwallet(); const tronAddress = await handleAddressTronOwallet(); + const solAddress = await handleAddressSolOwallet(); loadTokenAmounts({ oraiAddress, metamaskAddress, tronAddress, - btcAddress + btcAddress, + solAddress }); } catch (error) { console.log('Error: ', error.message); @@ -274,18 +291,20 @@ const App = () => { const [openBanner, setOpenBanner] = useState(false); return ( - -
- {/* */} - - - {/* {(!bannerTime || Date.now() > bannerTime + 86_400_000) && } */} -
- -
{routes()}
+ + +
+ {/* */} + + + {/* {(!bannerTime || Date.now() > bannerTime + 86_400_000) && } */} +
+ +
{routes()}
+
-
- + + ); }; diff --git a/src/pages/Balance/index.tsx b/src/pages/Balance/index.tsx index a434738e1..86152ceed 100644 --- a/src/pages/Balance/index.tsx +++ b/src/pages/Balance/index.tsx @@ -5,7 +5,6 @@ import { DeliverTxResponse, GasPrice, isDeliverTxFailure } from '@cosmjs/stargat import { Tendermint37Client } from '@cosmjs/tendermint-rpc'; import { CosmosChainId, - flattenTokens, getTokenOnOraichain, KWT_SCAN, NetworkChainId, @@ -30,7 +29,7 @@ import { SelectTokenModal } from 'components/Modals/SelectTokenModal'; import SearchInput from 'components/SearchInput'; import { displayToast, TToastType } from 'components/Toasts/Toast'; import TokenBalance from 'components/TokenBalance'; -import { tokens } from 'config/bridgeTokens'; +import { flattenTokens, tokens } from 'config/bridgeTokens'; import { chainInfos, solChainId } from 'config/chainInfos'; import { NomicContext } from 'context/nomic-context'; import { @@ -482,7 +481,7 @@ const Balance: React.FC = () => { fromToken: TokenItemType; transferAmount: number; }) => { - const web3Solana = new Web3SolanaProgramInteraction(); + const web3Solana = new Web3SolanaProgramInteraction(fromToken.rpc); const response = await web3Solana.bridgeSolToOrai(wallet, fromToken, transferAmount, oraiAddress); processTxResult( fromToken.rpc, @@ -497,10 +496,7 @@ const Balance: React.FC = () => { to: TokenItemType, toNetworkChainId?: NetworkChainId ) => { - console.log('Hello', { from }, { to }); - try { - console.log(from, to); assert(from && to, 'Please choose both from and to tokens'); // get & check balance @@ -533,13 +529,6 @@ const Balance: React.FC = () => { }); } - if (from.chainId == 'Oraichain' && (to.chainId as any) == solChainId) { - return handleTransferSol({ - fromToken: from, - transferAmount: fromAmount - }); - } - let newToToken = to; if (toNetworkChainId) { // ORAICHAIN -> EVM (BSC/ETH/TRON) ( TO: TOKEN ORAIBRIDGE) @@ -554,6 +543,13 @@ const Balance: React.FC = () => { `From token ${from.coinGeckoId} is different from to token ${newToToken.coinGeckoId}` ); + if (newToToken.chainId == 'Oraichain' && (from.chainId as any) == solChainId) { + return handleTransferSol({ + fromToken: from, + transferAmount: fromAmount + }); + } + // hardcode case Neutaro-1 & Noble-1 // if (from.chainId === 'Neutaro-1') return await handleTransferIBC(from, newToToken, fromAmount); diff --git a/src/pages/UniversalSwap/helpers.ts b/src/pages/UniversalSwap/helpers.ts index a3648c048..33a13c259 100644 --- a/src/pages/UniversalSwap/helpers.ts +++ b/src/pages/UniversalSwap/helpers.ts @@ -379,7 +379,7 @@ export const getProtocolsSmartRoute = ( ) => { const protocols = ['Oraidex', 'OraidexV3']; if (useIbcWasm && !useAlphaIbcWasm) return protocols; - if (fromToken.chainId === 'noble-1' || toToken.chainId === 'noble-1') return protocols; + if (fromToken.chainId === 'noble-1' || toToken?.chainId === 'noble-1') return protocols; const allowOsmosisProtocols = ['injective-1', 'Neutaro-1', 'noble-1', 'osmosis-1', 'cosmoshub-4', 'celestia']; const isAllowOsmosisProtocol = diff --git a/src/program/web3.ts b/src/program/web3.ts index 4698cc6de..0b77618d2 100644 --- a/src/program/web3.ts +++ b/src/program/web3.ts @@ -20,17 +20,18 @@ export const TOKEN_RESERVES = 1_000_000_000_000_000; export const LAMPORT_RESERVES = 1_000_000_000; export const INIT_BONDING_CURVE = 95; -export const endpoint = process.env.NEXT_PUBLIC_SOLANA_RPC; export const SOL_RELAYER_ADDRESS = '8WHawEro2j7YQYnL1zjDpiJ4Qnf1AWz913Xmaj9mtqyz'; export const MEMO_PROGRAM_ID = 'MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr'; export class Web3SolanaProgramInteraction { - constructor( - private readonly connection = new Connection(endpoint, { - commitment: commitmentLevel, - wsEndpoint: process.env.NEXT_PUBLIC_SOLANA_WS - }) - ) {} + connection: Connection; + + constructor(solanaRpc: string) { + console.log({ solanaRpc }); + this.connection = new Connection(solanaRpc, { + commitment: commitmentLevel + }); + } bridgeSolToOrai = async ( wallet: WalletContextState, @@ -65,7 +66,7 @@ export class Web3SolanaProgramInteraction { new TransactionInstruction({ keys: [{ pubkey: wallet.publicKey, isSigner: true, isWritable: true }], data: Buffer.from(oraiReceiverAddress, 'utf-8'), - programId: new PublicKey('MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr') + programId: new PublicKey(MEMO_PROGRAM_ID) }) ); transaction.feePayer = wallet.publicKey; diff --git a/src/reducer/config.ts b/src/reducer/config.ts index 39322d7ab..5d7b370fb 100644 --- a/src/reducer/config.ts +++ b/src/reducer/config.ts @@ -25,6 +25,7 @@ export interface ConfigState { metamaskAddress: string | null; tronAddress: string | null; btcAddress: string | null; + solAddress: string | null; cosmosAddress: { [key: string]: string }; allPendingDeposits: { [key: string]: DepositInfo[] }; chainId: string; @@ -71,6 +72,7 @@ const initialState: ConfigState = { bannerTime: 0, btcAddress: '', tronAddress: '', + solAddress: '', walletTypeStore: 'owallet', cosmosAddress: {}, allPendingDeposits: {}, diff --git a/src/reducer/wallet.ts b/src/reducer/wallet.ts index c060ffaf3..d0ec1034b 100644 --- a/src/reducer/wallet.ts +++ b/src/reducer/wallet.ts @@ -6,6 +6,7 @@ export type WalletsByNetwork = { evm: 'owallet' | 'metamask' | null; tron: 'owallet' | 'tronLink' | null; bitcoin: 'owallet' | null; + solana: 'phantom' | null; }; export interface WalletState { @@ -17,7 +18,8 @@ const initialState: WalletState = { cosmos: null, evm: null, tron: null, - bitcoin: null + bitcoin: null, + solana: null } }; diff --git a/yarn.lock b/yarn.lock index 9715ea59a..3770ebd2a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1185,6 +1185,40 @@ "@noble/hashes" "^1.0.0" protobufjs "^6.8.8" +"@coral-xyz/anchor-errors@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor-errors/-/anchor-errors-0.30.1.tgz#bdfd3a353131345244546876eb4afc0e125bec30" + integrity sha512-9Mkradf5yS5xiLWrl9WrpjqOrAV+/W2RQHDlbnAZBivoGpOs1ECjoDCkVk4aRG8ZdiFiB8zQEVlxf+8fKkmSfQ== + +"@coral-xyz/anchor@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor/-/anchor-0.30.1.tgz#17f3e9134c28cd0ea83574c6bab4e410bcecec5d" + integrity sha512-gDXFoF5oHgpriXAaLpxyWBHdCs8Awgf/gLHIo6crv7Aqm937CNdY+x+6hoj7QR5vaJV7MxWSQ0NGFzL3kPbWEQ== + dependencies: + "@coral-xyz/anchor-errors" "^0.30.1" + "@coral-xyz/borsh" "^0.30.1" + "@noble/hashes" "^1.3.1" + "@solana/web3.js" "^1.68.0" + bn.js "^5.1.2" + bs58 "^4.0.1" + buffer-layout "^1.2.2" + camelcase "^6.3.0" + cross-fetch "^3.1.5" + crypto-hash "^1.3.0" + eventemitter3 "^4.0.7" + pako "^2.0.3" + snake-case "^3.0.4" + superstruct "^0.15.4" + toml "^3.0.0" + +"@coral-xyz/borsh@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/borsh/-/borsh-0.30.1.tgz#869d8833abe65685c72e9199b8688477a4f6b0e3" + integrity sha512-aaxswpPrCFKl8vZTbxLssA2RvwX2zmKLlRCIktJOwW+VpVwYtXRtlWiIP+c2pPRKneiTiWCN2GEMSH9j1zTlWQ== + dependencies: + bn.js "^5.1.2" + buffer-layout "^1.2.0" + "@cosmjs/amino@0.31.3", "@cosmjs/amino@^0.31.0", "@cosmjs/amino@^0.31.3": version "0.31.3" resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.31.3.tgz#0f4aa6bd68331c71bd51b187fa64f00eb075db0a" @@ -3590,7 +3624,7 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== -"@noble/hashes@^1.4.0": +"@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0": version "1.6.1" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.1.tgz#df6e5943edcea504bac61395926d6fd67869a0d5" integrity sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w== @@ -4607,13 +4641,111 @@ optionalDependencies: "@react-native-async-storage/async-storage" "^1.17.7" -"@solana/buffer-layout@^4.0.1": +"@solana/buffer-layout-utils@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@solana/buffer-layout-utils/-/buffer-layout-utils-0.2.0.tgz#b45a6cab3293a2eb7597cceb474f229889d875ca" + integrity sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g== + dependencies: + "@solana/buffer-layout" "^4.0.0" + "@solana/web3.js" "^1.32.0" + bigint-buffer "^1.1.5" + bignumber.js "^9.0.1" + +"@solana/buffer-layout@^4.0.0", "@solana/buffer-layout@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== dependencies: buffer "~6.0.3" +"@solana/codecs-core@2.0.0-rc.1": + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@solana/codecs-core/-/codecs-core-2.0.0-rc.1.tgz#1a2d76b9c7b9e7b7aeb3bd78be81c2ba21e3ce22" + integrity sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ== + dependencies: + "@solana/errors" "2.0.0-rc.1" + +"@solana/codecs-data-structures@2.0.0-rc.1": + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@solana/codecs-data-structures/-/codecs-data-structures-2.0.0-rc.1.tgz#d47b2363d99fb3d643f5677c97d64a812982b888" + integrity sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog== + dependencies: + "@solana/codecs-core" "2.0.0-rc.1" + "@solana/codecs-numbers" "2.0.0-rc.1" + "@solana/errors" "2.0.0-rc.1" + +"@solana/codecs-numbers@2.0.0-rc.1": + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@solana/codecs-numbers/-/codecs-numbers-2.0.0-rc.1.tgz#f34978ddf7ea4016af3aaed5f7577c1d9869a614" + integrity sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ== + dependencies: + "@solana/codecs-core" "2.0.0-rc.1" + "@solana/errors" "2.0.0-rc.1" + +"@solana/codecs-strings@2.0.0-rc.1": + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@solana/codecs-strings/-/codecs-strings-2.0.0-rc.1.tgz#e1d9167075b8c5b0b60849f8add69c0f24307018" + integrity sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g== + dependencies: + "@solana/codecs-core" "2.0.0-rc.1" + "@solana/codecs-numbers" "2.0.0-rc.1" + "@solana/errors" "2.0.0-rc.1" + +"@solana/codecs@2.0.0-rc.1": + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@solana/codecs/-/codecs-2.0.0-rc.1.tgz#146dc5db58bd3c28e04b4c805e6096c2d2a0a875" + integrity sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ== + dependencies: + "@solana/codecs-core" "2.0.0-rc.1" + "@solana/codecs-data-structures" "2.0.0-rc.1" + "@solana/codecs-numbers" "2.0.0-rc.1" + "@solana/codecs-strings" "2.0.0-rc.1" + "@solana/options" "2.0.0-rc.1" + +"@solana/errors@2.0.0-rc.1": + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@solana/errors/-/errors-2.0.0-rc.1.tgz#3882120886eab98a37a595b85f81558861b29d62" + integrity sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ== + dependencies: + chalk "^5.3.0" + commander "^12.1.0" + +"@solana/options@2.0.0-rc.1": + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/@solana/options/-/options-2.0.0-rc.1.tgz#06924ba316dc85791fc46726a51403144a85fc4d" + integrity sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA== + dependencies: + "@solana/codecs-core" "2.0.0-rc.1" + "@solana/codecs-data-structures" "2.0.0-rc.1" + "@solana/codecs-numbers" "2.0.0-rc.1" + "@solana/codecs-strings" "2.0.0-rc.1" + "@solana/errors" "2.0.0-rc.1" + +"@solana/spl-token-group@^0.0.7": + version "0.0.7" + resolved "https://registry.yarnpkg.com/@solana/spl-token-group/-/spl-token-group-0.0.7.tgz#83c00f0cd0bda33115468cd28b89d94f8ec1fee4" + integrity sha512-V1N/iX7Cr7H0uazWUT2uk27TMqlqedpXHRqqAbVO2gvmJyT0E0ummMEAVQeXZ05ZhQ/xF39DLSdBp90XebWEug== + dependencies: + "@solana/codecs" "2.0.0-rc.1" + +"@solana/spl-token-metadata@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@solana/spl-token-metadata/-/spl-token-metadata-0.1.6.tgz#d240947aed6e7318d637238022a7b0981b32ae80" + integrity sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA== + dependencies: + "@solana/codecs" "2.0.0-rc.1" + +"@solana/spl-token@^0.4.9": + version "0.4.9" + resolved "https://registry.yarnpkg.com/@solana/spl-token/-/spl-token-0.4.9.tgz#24d032d2935f237925c3b058ba6bb1e1ece5428c" + integrity sha512-g3wbj4F4gq82YQlwqhPB0gHFXfgsC6UmyGMxtSLf/BozT/oKd59465DbnlUK8L8EcimKMavxsVAMoLcEdeCicg== + dependencies: + "@solana/buffer-layout" "^4.0.0" + "@solana/buffer-layout-utils" "^0.2.0" + "@solana/spl-token-group" "^0.0.7" + "@solana/spl-token-metadata" "^0.1.6" + buffer "^6.0.3" + "@solana/wallet-adapter-alpha@^0.1.10": version "0.1.10" resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-alpha/-/wallet-adapter-alpha-0.1.10.tgz#497ac17634dac4de17eba643768df9b30a13129a" @@ -5039,7 +5171,7 @@ "@solana/wallet-standard-core" "^1.1.1" "@solana/wallet-standard-wallet-adapter" "^1.1.2" -"@solana/web3.js@^1.36.0", "@solana/web3.js@^1.63.1", "@solana/web3.js@^1.95.4", "@solana/web3.js@^1.95.5": +"@solana/web3.js@^1.32.0", "@solana/web3.js@^1.36.0", "@solana/web3.js@^1.63.1", "@solana/web3.js@^1.68.0", "@solana/web3.js@^1.95.4", "@solana/web3.js@^1.95.5": version "1.95.5" resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.95.5.tgz#ba70da4c205c64249ed94369fe2d617c0347cd85" integrity sha512-hU9cBrbg1z6gEjLH9vwIckGBVB78Ijm0iZFNk4ocm5OD82piPwuk3MeQ1rfiKD9YQtr95krrcaopb49EmQJlRg== @@ -8130,6 +8262,11 @@ buffer-from@^1.1.1: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +buffer-layout@^1.2.0, buffer-layout@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/buffer-layout/-/buffer-layout-1.2.2.tgz#b9814e7c7235783085f9ca4966a0cfff112259d5" + integrity sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA== + buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" @@ -8271,7 +8408,7 @@ camelcase@^5.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.2.0: +camelcase@^6.2.0, camelcase@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== @@ -9063,6 +9200,11 @@ crypto-browserify@^3.11.0, crypto-browserify@^3.12.0: randombytes "^2.0.0" randomfill "^1.0.3" +crypto-hash@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247" + integrity sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg== + crypto-js@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" @@ -14056,7 +14198,7 @@ pako@1.0.11, pako@~1.0.5: resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== -pako@^2.0.2: +pako@^2.0.2, pako@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== @@ -16434,6 +16576,11 @@ superstatic@^9.0.3: optionalDependencies: re2 "^1.17.7" +superstruct@^0.15.4: + version "0.15.5" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.15.5.tgz#0f0a8d3ce31313f0d84c6096cd4fa1bfdedc9dab" + integrity sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ== + superstruct@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-1.0.4.tgz#0adb99a7578bd2f1c526220da6571b2d485d91ca" @@ -16720,6 +16867,11 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== +toml@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" + integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== + tough-cookie@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-5.0.0.tgz#6b6518e2b5c070cf742d872ee0f4f92d69eac1af" From 976bd386a48385d01c19aa737a5e0f54f9a4ca80 Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Mon, 2 Dec 2024 18:50:44 +0700 Subject: [PATCH 06/21] fix flow wallet sol bridge --- .../WalletByNetwork/WalletByNetwork.tsx | 2 +- .../WalletManagement/useResetBalance.ts | 9 ++++- src/config/chainInfos.ts | 34 +++++++++---------- src/hooks/useLoadTokens.ts | 14 +++----- 4 files changed, 31 insertions(+), 28 deletions(-) diff --git a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx index 985cfafd5..16e6d7d92 100644 --- a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx +++ b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx @@ -96,7 +96,7 @@ export const WalletByNetwork = ({ walletProvider }: { walletProvider: WalletProv if (walletType === 'owallet') { // TODO: need check when use multi wallet support solana } - setVisible(true); + await solanaWallet.select('Phantom' as any); setSolanaAddress(solanaWallet.publicKey.toBase58()); }; diff --git a/src/components/WalletManagement/useResetBalance.ts b/src/components/WalletManagement/useResetBalance.ts index 756f8eb4e..109ca95ab 100644 --- a/src/components/WalletManagement/useResetBalance.ts +++ b/src/components/WalletManagement/useResetBalance.ts @@ -1,5 +1,5 @@ import { EVM_CHAIN_ID_COMMON, WalletType, cosmosTokens, flattenTokens } from '@oraichain/oraidex-common'; -import { btcTokens } from 'config/bridgeTokens'; +import { btcTokens, solTokens } from 'config/bridgeTokens'; import { useDispatch } from 'react-redux'; import { updateAmounts } from 'reducer/token'; @@ -36,6 +36,9 @@ export const useResetBalance = () => { case 'tron': updatedAmounts = resetBalanceTron(); break; + case 'phantom': + updatedAmounts = resetBalanceSol(); + break; default: break; } @@ -63,5 +66,9 @@ export const useResetBalance = () => { return Object.fromEntries(tronTokens.map((t) => [t.denom, '0'])); }; + const resetBalanceSol = () => { + return Object.fromEntries(solTokens.map((t) => [t.denom, '0'])); + }; + return { handleResetBalance }; }; diff --git a/src/config/chainInfos.ts b/src/config/chainInfos.ts index b463db5fb..592f6a210 100644 --- a/src/config/chainInfos.ts +++ b/src/config/chainInfos.ts @@ -142,14 +142,14 @@ export const solanaMainnet: CustomChainInfo = { chainSymbolImageUrl: 'https://upload.wikimedia.org/wikipedia/en/b/b9/Solana_logo.png', networkType: 'svm' as any, currencies: [ - { - coinDenom: 'SOL', - coinMinimalDenom: 'sol', - coinDecimals: 9, - bridgeTo: ['Oraichain'], - coinGeckoId: 'solana' as any, - coinImageUrl: 'https://assets.coingecko.com/coins/images/4128/standard/solana.png?1718769756' - }, + // { + // coinDenom: 'SOL', + // coinMinimalDenom: 'sol', + // coinDecimals: 9, + // bridgeTo: ['Oraichain'], + // coinGeckoId: 'solana' as any, + // coinImageUrl: 'https://assets.coingecko.com/coins/images/4128/standard/solana.png?1718769756' + // }, { coinDenom: 'MAX', coinMinimalDenom: 'max', @@ -229,15 +229,15 @@ export const oraichainNetwork: CustomChainInfo = { ...customOraichainNetwork, currencies: [ ...customOraichainNetwork.currencies, - { - coinDenom: 'SOL', - coinGeckoId: 'solana' as any, - coinMinimalDenom: 'factory/orai1wuvhex9xqs3r539mvc6mtm7n20fcj3qr2m0y9khx6n5vtlngfzes3k0rq9/sol', - bridgeTo: [solChainId] as any, - coinDecimals: 9, - coinImageUrl: - 'https://pump.mypinata.cloud/ipfs/QmcGwYebsQfYbNSM9QDAMS2wKZ8fZNEiMbezJah1zgEWWS?img-width=256&img-dpr=2' - }, + // { + // coinDenom: 'SOL', + // coinGeckoId: 'solana' as any, + // coinMinimalDenom: 'factory/orai1wuvhex9xqs3r539mvc6mtm7n20fcj3qr2m0y9khx6n5vtlngfzes3k0rq9/sol', + // bridgeTo: [solChainId] as any, + // coinDecimals: 9, + // coinImageUrl: + // 'https://pump.mypinata.cloud/ipfs/QmcGwYebsQfYbNSM9QDAMS2wKZ8fZNEiMbezJah1zgEWWS?img-width=256&img-dpr=2' + // }, { coinDenom: 'MAX', coinGeckoId: 'max.clan' as any, diff --git a/src/hooks/useLoadTokens.ts b/src/hooks/useLoadTokens.ts index 6c831c220..6d077b365 100644 --- a/src/hooks/useLoadTokens.ts +++ b/src/hooks/useLoadTokens.ts @@ -334,24 +334,20 @@ async function loadSolEntries( try { const connection = new Connection(chain.rpc, { commitment: 'confirmed' - // wsEndpoint: NEXT_PUBLIC_SOLANA_WS, }); + const walletPublicKey = new PublicKey(address); - let [nativeAmount, tokenAmount] = await Promise.all([ - connection.getBalance(walletPublicKey), - connection.getParsedTokenAccountsByOwner(walletPublicKey, { - programId: new PublicKey('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA') - }) - ]); + const tokenAmount = await connection.getParsedTokenAccountsByOwner(walletPublicKey, { + programId: new PublicKey('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA') + }); let entries: [string, string][] = solTokens.map((item) => { - let amount = nativeAmount.toString(); + let amount = '0'; if (item?.contractAddress) { const findAmount = tokenAmount.value.find( (token) => token.account.data.parsed.info.mint === item.contractAddress ); if (findAmount) amount = findAmount.account.data.parsed.info.tokenAmount.amount; - else amount = '0'; } return [item.denom, amount]; }); From e4414b094631633642d5cef5b72f557f048454b6 Mon Sep 17 00:00:00 2001 From: perfogic Date: Mon, 2 Dec 2024 18:54:04 +0700 Subject: [PATCH 07/21] update handle transfer token --- src/pages/Balance/index.tsx | 10 +-- src/program/web3.ts | 137 ++++++++++++++++++++++-------------- 2 files changed, 88 insertions(+), 59 deletions(-) diff --git a/src/pages/Balance/index.tsx b/src/pages/Balance/index.tsx index 86152ceed..6e3308d33 100644 --- a/src/pages/Balance/index.tsx +++ b/src/pages/Balance/index.tsx @@ -483,11 +483,11 @@ const Balance: React.FC = () => { }) => { const web3Solana = new Web3SolanaProgramInteraction(fromToken.rpc); const response = await web3Solana.bridgeSolToOrai(wallet, fromToken, transferAmount, oraiAddress); - processTxResult( - fromToken.rpc, - // @ts-ignore-check - response.result - ); + const transaction = response?.transaction; + console.log(transaction, response); + displayToast(TToastType.TX_SUCCESSFUL, { + customLink: `https://solscan.io/tx/${transaction}` + }); }; const onClickTransfer = async ( diff --git a/src/program/web3.ts b/src/program/web3.ts index 0b77618d2..41f20988b 100644 --- a/src/program/web3.ts +++ b/src/program/web3.ts @@ -8,7 +8,12 @@ import { TransactionExpiredTimeoutError, TransactionInstruction } from '@solana/web3.js'; -import { createTransferCheckedInstruction, getAssociatedTokenAddressSync } from '@solana/spl-token'; +import { + createAssociatedTokenAccount, + createAssociatedTokenAccountInstruction, + createTransferCheckedInstruction, + getAssociatedTokenAddressSync +} from '@solana/spl-token'; import * as anchor from '@coral-xyz/anchor'; import { WalletContextState } from '@solana/wallet-adapter-react'; import { BN, Program } from '@coral-xyz/anchor'; @@ -27,9 +32,9 @@ export class Web3SolanaProgramInteraction { connection: Connection; constructor(solanaRpc: string) { - console.log({ solanaRpc }); this.connection = new Connection(solanaRpc, { - commitment: commitmentLevel + commitment: commitmentLevel, + wsEndpoint: 'wss://go.getblock.io/bed382d14bfd4f1999fb608b27794e8e' }); } @@ -39,60 +44,84 @@ export class Web3SolanaProgramInteraction { tokenAmountRaw: number, oraiReceiverAddress: string ) => { - const mintPubkey = new PublicKey(token.contractAddress); - const relayerPubkey = new PublicKey(SOL_RELAYER_ADDRESS); - - const walletTokenAccount = getAssociatedTokenAddressSync(mintPubkey, wallet.publicKey); - const relayerTokenAccount = getAssociatedTokenAddressSync(mintPubkey, relayerPubkey); + try { + const mintPubkey = new PublicKey(token.contractAddress); + const relayerPubkey = new PublicKey(SOL_RELAYER_ADDRESS); + + const walletTokenAccount = getAssociatedTokenAddressSync(mintPubkey, wallet.publicKey); + const relayerTokenAccount = getAssociatedTokenAddressSync(mintPubkey, relayerPubkey); + const accountInfo = await this.connection.getAccountInfo(relayerTokenAccount); + const lamports = accountInfo?.lamports || 0; + // check the connection + if (!wallet.publicKey || !this.connection) { + throw new Error('Warning: Wallet not connected'); + } - // check the connection - if (!wallet.publicKey || !this.connection) { - throw new Error('Warning: Wallet not connected'); - } + const parsedAmount = toAmount(tokenAmountRaw, token.decimals); - const parsedAmount = toAmount(tokenAmountRaw, token.decimals); - let transaction = new Transaction(); - transaction.add( - createTransferCheckedInstruction( - walletTokenAccount, - mintPubkey, - relayerTokenAccount, - wallet.publicKey, - parsedAmount, - token.decimals - ) - ); - transaction.add( - new TransactionInstruction({ - keys: [{ pubkey: wallet.publicKey, isSigner: true, isWritable: true }], - data: Buffer.from(oraiReceiverAddress, 'utf-8'), - programId: new PublicKey(MEMO_PROGRAM_ID) - }) - ); - transaction.feePayer = wallet.publicKey; - const blockhash = await this.connection.getLatestBlockhash(); - transaction.recentBlockhash = blockhash.blockhash; - - if (wallet.signTransaction) { - const signedTx = await wallet.signTransaction(transaction); - const sTx = signedTx.serialize(); - console.log('---- simulate tx', await this.connection.simulateTransaction(signedTx)); - const signature = await this.connection.sendRawTransaction(sTx, { - preflightCommitment: 'confirmed', - skipPreflight: false - }); - const res = await this.connection.confirmTransaction( - { - signature, - blockhash: blockhash.blockhash, - lastValidBlockHeight: blockhash.lastValidBlockHeight - }, - 'finalized' + let transaction = new Transaction(); + if (lamports == 0) { + transaction.add( + createAssociatedTokenAccountInstruction(wallet.publicKey, relayerTokenAccount, relayerPubkey, mintPubkey) + ); + } + transaction.add( + createTransferCheckedInstruction( + walletTokenAccount, + mintPubkey, + relayerTokenAccount, + wallet.publicKey, + parsedAmount, + token.decimals + ) ); - console.log('Successfully initialized.\n Signature: ', signature); - return { - result: res - }; + transaction.add( + new TransactionInstruction({ + keys: [{ pubkey: wallet.publicKey, isSigner: true, isWritable: true }], + data: Buffer.from(oraiReceiverAddress, 'utf-8'), + programId: new PublicKey(MEMO_PROGRAM_ID) + }) + ); + transaction.feePayer = wallet.publicKey; + const blockhash = await this.connection.getLatestBlockhash(); + transaction.recentBlockhash = blockhash.blockhash; + + if (wallet.signTransaction) { + const signedTx = await wallet.signTransaction(transaction); + const sTx = signedTx.serialize(); + console.log('---- simulate tx', await this.connection.simulateTransaction(signedTx)); + const signature = await this.connection.sendRawTransaction(sTx, { + preflightCommitment: 'confirmed', + skipPreflight: false + }); + // return { + // transaction: signature + // }; + const res = await this.connection.confirmTransaction( + { + signature, + blockhash: blockhash.blockhash, + lastValidBlockHeight: blockhash.lastValidBlockHeight + }, + 'confirmed' + ); + console.log('Successfully initialized.\n Signature: ', signature); + return { + result: res, + transaction: signature + }; + } + } catch (error) { + console.log('Error in swap transaction', error, error.error); + const { transaction = '', result } = + (await this.handleTransactionError({ + error + })) || {}; + + if (result?.value?.confirmationStatus) { + console.log('----confirm----', { transaction, result }); + return { transaction, result }; + } } }; From 1ec80772679876c6e6749bc92acdce648b36917a Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Tue, 3 Dec 2024 14:45:43 +0700 Subject: [PATCH 08/21] finish sol bridge --- src/helper/index.tsx | 4 +- src/pages/Balance/index.tsx | 160 ++++++++++++------------- src/pages/UniversalSwap/Swap/index.tsx | 2 +- src/pages/UniversalSwap/helpers.ts | 4 +- 4 files changed, 82 insertions(+), 88 deletions(-) diff --git a/src/helper/index.tsx b/src/helper/index.tsx index 92d21fe30..a586faaec 100644 --- a/src/helper/index.tsx +++ b/src/helper/index.tsx @@ -24,7 +24,7 @@ import { CustomChainInfo, EvmDenom, NetworkChainId, TokenItemType } from '@oraic import { isMobile } from '@walletconnect/browser-utils'; import { displayToast, TToastType } from 'components/Toasts/Toast'; import { WalletType } from 'components/WalletManagement/walletConfig'; -import { chainIcons, chainInfos, chainInfosWithIcon, flattenTokensWithIcon } from 'config/chainInfos'; +import { chainIcons, chainInfos, chainInfosWithIcon, flattenTokensWithIcon, solChainId } from 'config/chainInfos'; import { MetamaskOfflineSigner } from 'libs/eip191'; import Keplr from 'libs/keplr'; import { WalletsByNetwork } from 'reducer/wallet'; @@ -108,6 +108,8 @@ export const getTransactionUrl = (chainId: NetworkChainId, transactionHash: stri return `${ETHEREUM_SCAN}/tx/${transactionHash}`; case Networks.tron: return `${TRON_SCAN}/#/transaction/${transactionHash.replace(/^0x/, '')}`; + case Number(solChainId): + return `https://solscan.io/tx/${transactionHash}`; default: // raw string switch (chainId) { diff --git a/src/pages/Balance/index.tsx b/src/pages/Balance/index.tsx index 6e3308d33..18c4805bd 100644 --- a/src/pages/Balance/index.tsx +++ b/src/pages/Balance/index.tsx @@ -6,16 +6,13 @@ import { Tendermint37Client } from '@cosmjs/tendermint-rpc'; import { CosmosChainId, getTokenOnOraichain, - KWT_SCAN, NetworkChainId, - ORAI_BRIDGE_EVM_TRON_DENOM_PREFIX, toAmount, TokenItemType, - tronToEthAddress, calculateTimeoutTimestamp, getCosmosGasPrice } from '@oraichain/oraidex-common'; -import { isSupportedNoPoolSwapEvm, UniversalSwapHandler, UniversalSwapHelper } from '@oraichain/oraidex-universal-swap'; +import { UniversalSwapHandler, UniversalSwapHelper } from '@oraichain/oraidex-universal-swap'; import { isMobile } from '@walletconnect/browser-utils'; import ArrowDownIcon from 'assets/icons/arrow.svg?react'; import ArrowDownIconLight from 'assets/icons/arrow_light.svg?react'; @@ -38,7 +35,6 @@ import { getSpecialCoingecko, getTransactionUrl, handleCheckAddress, - handleCheckWallet, handleErrorTransaction, networks } from 'helper'; @@ -70,14 +66,11 @@ import styles from './Balance.module.scss'; import { calculatorTotalFeeBtc, convertKwt, - convertTransferIBCErc20Kwt, findDefaultToToken, getFeeRate, getUtxos, mapUtxos, moveOraibToOraichain, - transferIbcCustom, - transferIBCKwt, useDepositFeesBitcoinV2, useGetWithdrawlFeesBitcoinV2 } from './helpers'; @@ -94,6 +87,7 @@ import { MsgTransfer as MsgTransferInjective } from '@injectivelabs/sdk-ts/node_ import { collectWallet, connectWithSigner, getCosmWasmClient } from 'libs/cosmjs'; import { useWallet } from '@solana/wallet-adapter-react'; import { Web3SolanaProgramInteraction } from 'program/web3'; +import { refreshBalances } from 'pages/UniversalSwap/helpers'; interface BalanceProps {} @@ -125,6 +119,7 @@ const Balance: React.FC = () => { const [filterNetworkUI, setFilterNetworkUI] = useConfigReducer('filterNetwork'); const [tronAddress] = useConfigReducer('tronAddress'); const [btcAddress] = useConfigReducer('btcAddress'); + const [solAddress] = useConfigReducer('solAddress'); const [addressRecovery, setAddressRecovery] = useState(''); const [isFastMode, setIsFastMode] = useState(true); const depositV2Fee = useDepositFeesBitcoinV2(true); @@ -154,17 +149,16 @@ const Balance: React.FC = () => { address: oraiAddress }); } - }, [isOwallet, oraiAddress]); - useEffect(() => { + if (isOwallet) { getAddress(); } - }, [oraiAddress, isOwallet]); + }, [isOwallet, oraiAddress]); + useOnClickOutside(ref, () => { setTokenBridge([undefined, undefined]); }); - // custom hooks const loadTokenAmounts = useLoadTokens(); const { data: prices } = useCoinGeckoPrices(); useGetFeeConfig(); @@ -237,6 +231,7 @@ const Balance: React.FC = () => { handleErrorTransaction(error); } }; + const onClickToken = useCallback( (token: TokenItemType) => { if (isEqual(from, token)) { @@ -249,30 +244,6 @@ const Balance: React.FC = () => { [otherChainTokens, oraichainTokens, from, to] ); - const refreshBalances = async () => { - try { - if (loadingRefresh) return; - setLoadingRefresh(true); - await loadTokenAmounts({ metamaskAddress, tronAddress, oraiAddress, btcAddress }); - } catch (err) { - console.log({ err }); - } finally { - setTimeout(() => { - setLoadingRefresh(false); - }, 2000); - } - }; - - const handleTransferIBC = async (fromToken: TokenItemType, toToken: TokenItemType, transferAmount: number) => { - let transferAddress = metamaskAddress; - // check tron network and convert address - if (toToken.prefix === ORAI_BRIDGE_EVM_TRON_DENOM_PREFIX) { - transferAddress = tronToEthAddress(tronAddress); - } - const result = await transferIbcCustom(fromToken, toToken, transferAmount, amounts, transferAddress); - processTxResult(fromToken.rpc, result); - }; - const handleTransferBTCToOraichain = async (fromToken: TokenItemType, transferAmount: number, btcAddr: string) => { const isV2 = fromToken.name === 'BTC'; const utxos = await getUtxos(btcAddr, fromToken.rpc); @@ -432,10 +403,12 @@ const Balance: React.FC = () => { } }; - const checkTransferBtc = () => { + const checkTransfer = (fromChainId, toChainId) => { + const isSoltoOraichain = fromChainId === solChainId && toChainId === 'Oraichain'; + const isOraichainToSol = toChainId === 'Oraichain' && toChainId === solChainId; const isBTCtoOraichain = from.chainId === bitcoinChainId && to.chainId === 'Oraichain'; const isOraichainToBTC = from.chainId === 'Oraichain' && to.chainId === bitcoinChainId; - return [isBTCtoOraichain, isBTCtoOraichain || isOraichainToBTC]; + return [isSoltoOraichain, isOraichainToSol, isBTCtoOraichain, isBTCtoOraichain || isOraichainToBTC]; }; const handleTransferBTC = async ({ isBTCToOraichain, fromToken, transferAmount }) => { @@ -450,14 +423,6 @@ const Balance: React.FC = () => { return handleTransferOraichainToBTC(fromToken, transferAmount, btcAddr); }; - const checkTransferKwt = async (fromAmount: number) => { - let result: DeliverTxResponse | string | any; - // convert erc20 to native ==> ORAICHAIN - if (from.contractAddress) result = await convertTransferIBCErc20Kwt(from, to, fromAmount); - else result = await transferIBCKwt(from, to, fromAmount, amounts); - processTxResult(from.rpc, result, `${KWT_SCAN}/tx/${result.transactionHash}`); - }; - const getLatestEvmAddress = async (toNetworkChainId: NetworkChainId) => { const isFromEvmNotTron = from.chainId !== '0x2b6653dc' && EVM_CHAIN_ID.includes(from.chainId); const isToNetworkEvmNotTron = toNetworkChainId !== '0x2b6653dc' && EVM_CHAIN_ID.includes(toNetworkChainId); @@ -465,7 +430,6 @@ const Balance: React.FC = () => { if (isFromEvmNotTron) { await window.Metamask.switchNetwork(from.chainId); } - let latestEvmAddress = metamaskAddress; // need to get latest tron address if cached if (isFromEvmNotTron || isToNetworkEvmNotTron) { @@ -474,7 +438,7 @@ const Balance: React.FC = () => { return latestEvmAddress; }; - const handleTransferSol = async ({ + const handleTransferSolToOraichain = async ({ fromToken, transferAmount }: { @@ -484,10 +448,38 @@ const Balance: React.FC = () => { const web3Solana = new Web3SolanaProgramInteraction(fromToken.rpc); const response = await web3Solana.bridgeSolToOrai(wallet, fromToken, transferAmount, oraiAddress); const transaction = response?.transaction; - console.log(transaction, response); - displayToast(TToastType.TX_SUCCESSFUL, { - customLink: `https://solscan.io/tx/${transaction}` - }); + if (transaction) { + displayToast(TToastType.TX_SUCCESSFUL, { + customLink: getTransactionUrl(fromToken.chainId, transaction) + }); + } + }; + + const handleTransferOraichainToSol = async ({ + fromToken, + transferAmount + }: { + fromToken: TokenItemType; + transferAmount: number; + }) => { + const result = await window.client.sendTokens( + oraiAddress, + oraiAddress, + [ + { + amount: toAmount(transferAmount, fromToken.decimals).toString(), + denom: fromToken.denom + } + ], + 'auto', + solAddress + ); + + if (result) { + displayToast(TToastType.TX_SUCCESSFUL, { + customLink: getTransactionUrl(fromToken.chainId, result.transactionHash) + }); + } }; const onClickTransfer = async ( @@ -498,37 +490,16 @@ const Balance: React.FC = () => { ) => { try { assert(from && to, 'Please choose both from and to tokens'); - - // get & check balance const initFromBalance = amounts[from.denom]; - const subAmounts = getSubAmountDetails(amounts, from); const subAmount = toAmount(toSumDisplay(subAmounts), from.decimals); - const fromBalance = from && initFromBalance ? subAmount + BigInt(initFromBalance) : BigInt(0); - const condition = fromAmount > 0 && toAmount(fromAmount, from.decimals) <= fromBalance; assert(condition, 'Your balance is insufficient to make this transfer'); displayToast(TToastType.TX_BROADCASTING); let result: DeliverTxResponse | string | any; - // [(ERC20)KWT, (ERC20)MILKY] ==> ORAICHAIN - if (from.chainId === 'kawaii_6886-1' && to.chainId === 'Oraichain') { - await checkTransferKwt(fromAmount); - return; - } - - // [BTC Native] <==> ORAICHAIN - let [isBTCToOraichain, isBtcBridge] = checkTransferBtc(); - if (isBtcBridge) { - return handleTransferBTC({ - isBTCToOraichain: isBTCToOraichain, - fromToken: from, - transferAmount: fromAmount - }); - } - let newToToken = to; if (toNetworkChainId) { // ORAICHAIN -> EVM (BSC/ETH/TRON) ( TO: TOKEN ORAIBRIDGE) @@ -543,15 +514,30 @@ const Balance: React.FC = () => { `From token ${from.coinGeckoId} is different from to token ${newToToken.coinGeckoId}` ); - if (newToToken.chainId == 'Oraichain' && (from.chainId as any) == solChainId) { - return handleTransferSol({ + let [isSolToOraichain, isOraichainToSol, isBTCToOraichain, isBtcBridge] = checkTransfer( + from.chainId, + newToToken.chainId + ); + + // [BTC Native] <==> ORAICHAIN + if (isBtcBridge) { + return handleTransferBTC({ + isBTCToOraichain: isBTCToOraichain, fromToken: from, transferAmount: fromAmount }); } - // hardcode case Neutaro-1 & Noble-1 - // if (from.chainId === 'Neutaro-1') return await handleTransferIBC(from, newToToken, fromAmount); + if (isSolToOraichain || isOraichainToSol) { + if (isOraichainToSol) { + return handleTransferOraichainToSol({ fromToken: from, transferAmount: fromAmount }); + } + + return handleTransferSolToOraichain({ + fromToken: from, + transferAmount: fromAmount + }); + } // remaining tokens, we override from & to of onClickTransfer on index.tsx of Balance based on the user's token destination choice // to is Oraibridge tokens @@ -562,7 +548,6 @@ const Balance: React.FC = () => { let simulateAmount = toAmount(fromAmount, from.decimals).toString(); const { isSpecialFromCoingecko } = getSpecialCoingecko(from.coinGeckoId, newToToken.coinGeckoId); - if (isSpecialFromCoingecko && from.chainId === 'Oraichain') { const tokenInfo = getTokenOnOraichain(from.coinGeckoId); const fromTokenInOrai = getTokenOnOraichain(tokenInfo.coinGeckoId, true); @@ -581,10 +566,7 @@ const Balance: React.FC = () => { }; } - if ( - (newToToken.chainId === 'injective-1' && newToToken.coinGeckoId === 'injective-protocol') || - newToToken.chainId === 'kawaii_6886-1' - ) { + if (newToToken.chainId === 'injective-1' && newToToken.coinGeckoId === 'injective-protocol') { simulateAmount = toAmount(fromAmount, newToToken.decimals).toString(); } @@ -684,7 +666,7 @@ const Balance: React.FC = () => { if (hideOtherSmallAmount && !toTotalDisplay(amounts, token)) { return false; } - if (isSupportedNoPoolSwapEvm(token.coinGeckoId)) return false; + if (UniversalSwapHelper.isSupportedNoPoolSwapEvm(token.coinGeckoId)) return false; return token.chainId === chainId; }) .sort((a, b) => { @@ -765,7 +747,17 @@ const Balance: React.FC = () => {
-
+
{ + await refreshBalances( + loadingRefresh, + setLoadingRefresh, + { metamaskAddress, tronAddress, oraiAddress, btcAddress, solAddress }, + loadTokenAmounts + ); + }} + > Refresh balances
diff --git a/src/pages/UniversalSwap/Swap/index.tsx b/src/pages/UniversalSwap/Swap/index.tsx index 8629b7893..571056144 100644 --- a/src/pages/UniversalSwap/Swap/index.tsx +++ b/src/pages/UniversalSwap/Swap/index.tsx @@ -670,7 +670,7 @@ const SwapComponent: React.FC<{ loadingRefresh, setLoadingRefresh, // TODO: need add bitcoinAddress when universal swap support bitcoin - { metamaskAddress, tronAddress, oraiAddress }, + { metamaskAddress, tronAddress, oraiAddress, btcAddress: undefined, solAddress: undefined }, loadTokenAmounts ) } diff --git a/src/pages/UniversalSwap/helpers.ts b/src/pages/UniversalSwap/helpers.ts index 33a13c259..dfc6b4a11 100644 --- a/src/pages/UniversalSwap/helpers.ts +++ b/src/pages/UniversalSwap/helpers.ts @@ -279,13 +279,13 @@ export const getTokenIcon = (token: TokenItemType, theme: string) => { export const refreshBalances = async ( loadingRefresh: boolean, setLoadingRefresh: (boolean) => void, - { metamaskAddress, tronAddress, oraiAddress }, + { metamaskAddress, tronAddress, oraiAddress, btcAddress, solAddress }, callback ) => { try { if (loadingRefresh) return; setLoadingRefresh(true); - await callback({ metamaskAddress, tronAddress, oraiAddress }); + await callback({ metamaskAddress, tronAddress, oraiAddress, btcAddress, solAddress }); } catch (err) { console.log({ err }); } finally { From 1d6ec85516f332db6836703c62ca59b1571f7adc Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Tue, 3 Dec 2024 15:51:03 +0700 Subject: [PATCH 09/21] fix address bridge to sol --- .../WalletByNetwork/WalletByNetwork.tsx | 10 ++++++++-- src/components/WalletManagement/walletConfig.ts | 6 ++++++ src/helper/index.tsx | 3 +++ src/reducer/wallet.ts | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx index 16e6d7d92..bf7312bc6 100644 --- a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx +++ b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx @@ -93,11 +93,16 @@ export const WalletByNetwork = ({ walletProvider }: { walletProvider: WalletProv }; const handleConnectWalletInSolanaNetwork = async (walletType: WalletType) => { + let selectType = 'Phantom'; if (walletType === 'owallet') { // TODO: need check when use multi wallet support solana + selectType = 'OWallet'; + } + await solanaWallet.select(selectType as any); + + if (solanaWallet?.publicKey) { + setSolanaAddress(solanaWallet.publicKey.toBase58()); } - await solanaWallet.select('Phantom' as any); - setSolanaAddress(solanaWallet.publicKey.toBase58()); }; const handleConnectWalletByNetwork = async (wallet: WalletNetwork) => { @@ -176,6 +181,7 @@ export const WalletByNetwork = ({ walletProvider }: { walletProvider: WalletProv setBtcAddress(undefined); break; case 'solana': + await solanaWallet.disconnect(); setSolanaAddress(undefined); break; default: diff --git a/src/components/WalletManagement/walletConfig.ts b/src/components/WalletManagement/walletConfig.ts index 285e2a369..3714ca907 100644 --- a/src/components/WalletManagement/walletConfig.ts +++ b/src/components/WalletManagement/walletConfig.ts @@ -102,6 +102,12 @@ export const btcWallets: WalletNetwork[] = [ ]; export const solanaWallets: WalletNetwork[] = [ + { + icon: OwalletIcon, + name: 'Owallet', + nameRegistry: 'owallet', + isActive: false + }, { icon: PhantomIcon, name: 'Phantom', diff --git a/src/helper/index.tsx b/src/helper/index.tsx index a586faaec..e5e32ee77 100644 --- a/src/helper/index.tsx +++ b/src/helper/index.tsx @@ -412,6 +412,9 @@ export const getAddressTransfer = async (network: CustomChainInfo, walletByNetwo address = await getAddressTransferForEvm(walletByNetworks, network); } else if (isConnectSpecificNetwork(walletByNetworks.cosmos)) { address = await window.Keplr.getKeplrAddr(network.chainId); + } else if (network.networkType == ('svm' as any)) { + const { publicKey } = await window.solana.connect(); + address = publicKey.toBase58(); } return address; } catch (error) { diff --git a/src/reducer/wallet.ts b/src/reducer/wallet.ts index d0ec1034b..ab9b7e9c2 100644 --- a/src/reducer/wallet.ts +++ b/src/reducer/wallet.ts @@ -6,7 +6,7 @@ export type WalletsByNetwork = { evm: 'owallet' | 'metamask' | null; tron: 'owallet' | 'tronLink' | null; bitcoin: 'owallet' | null; - solana: 'phantom' | null; + solana: 'phantom' | 'owallet' | null; }; export interface WalletState { From d883238836d3c8cdc089614abfe1584f570c2683 Mon Sep 17 00:00:00 2001 From: perfogic Date: Tue, 3 Dec 2024 15:29:24 +0700 Subject: [PATCH 10/21] chore: add code staging, and change to env for ez to dynamic --- .env.example | 6 +++++- src/config/chainInfos.ts | 2 +- src/pages/Balance/index.tsx | 2 +- src/program/web3.ts | 16 +++++++++------- src/routes.tsx | 3 --- 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/.env.example b/.env.example index 6845d41d3..1580b0b10 100644 --- a/.env.example +++ b/.env.example @@ -6,4 +6,8 @@ VITE_APP_BASE_API_URL=https://api.oraidex.io VITE_APP_KADO_API_KEY=df0d2b3f-d829-4453-a4f6-1d6e8870e8f4 VITE_APP_MIX_PANEL_ENVIRONMENT=acbafd21a85654933cbb0332c5a6f4f8 -VITE_APP_STRAPI_BASE_URL=https://nice-fireworks-d26703b63e.strapiapp.com \ No newline at end of file +VITE_APP_STRAPI_BASE_URL=https://nice-fireworks-d26703b63e.strapiapp.com + +VITE_APP_SOLANA_RPC= +VITE_APP_SOLANA_WEBSOCKET= +VITE_APP_SOLANA_RELAYER_ADDRESS= diff --git a/src/config/chainInfos.ts b/src/config/chainInfos.ts index 592f6a210..c6090bc2c 100644 --- a/src/config/chainInfos.ts +++ b/src/config/chainInfos.ts @@ -242,7 +242,7 @@ export const oraichainNetwork: CustomChainInfo = { coinDenom: 'MAX', coinGeckoId: 'max.clan' as any, coinMinimalDenom: - 'factory/orai1wuvhex9xqs3r539mvc6mtm7n20fcj3qr2m0y9khx6n5vtlngfzes3k0rq9/oraim8c9d1nkfuQk9EzGYEUGxqL3MHQYndRw1huVo5h', + 'factory/orai17hyr3eg92fv34fdnkend48scu32hn26gqxw3hnwkfy904lk9r09qqzty42/oraim8c9d1nkfuQk9EzGYEUGxqL3MHQYndRw1huVo5h', bridgeTo: [solChainId] as any, coinDecimals: 6, coinImageUrl: diff --git a/src/pages/Balance/index.tsx b/src/pages/Balance/index.tsx index 18c4805bd..2569a6700 100644 --- a/src/pages/Balance/index.tsx +++ b/src/pages/Balance/index.tsx @@ -445,7 +445,7 @@ const Balance: React.FC = () => { fromToken: TokenItemType; transferAmount: number; }) => { - const web3Solana = new Web3SolanaProgramInteraction(fromToken.rpc); + const web3Solana = new Web3SolanaProgramInteraction(); const response = await web3Solana.bridgeSolToOrai(wallet, fromToken, transferAmount, oraiAddress); const transaction = response?.transaction; if (transaction) { diff --git a/src/program/web3.ts b/src/program/web3.ts index 41f20988b..17dd4b2d7 100644 --- a/src/program/web3.ts +++ b/src/program/web3.ts @@ -25,16 +25,19 @@ export const TOKEN_RESERVES = 1_000_000_000_000_000; export const LAMPORT_RESERVES = 1_000_000_000; export const INIT_BONDING_CURVE = 95; -export const SOL_RELAYER_ADDRESS = '8WHawEro2j7YQYnL1zjDpiJ4Qnf1AWz913Xmaj9mtqyz'; +export const SOL_RELAYER_ADDRESS = import.meta.env.VITE_APP_SOLANA_RELAYER_ADDRESS; +export const DEFAULT_SOLANA_RPC = import.meta.env.VITE_APP_SOLANA_RPC; +export const DEFAULT_SOLANA_WEBSOCKET = import.meta.env.VITE_APP_SOLANA_WEBSOCKET; export const MEMO_PROGRAM_ID = 'MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr'; export class Web3SolanaProgramInteraction { connection: Connection; - constructor(solanaRpc: string) { - this.connection = new Connection(solanaRpc, { + constructor() { + console.log(SOL_RELAYER_ADDRESS, DEFAULT_SOLANA_RPC, DEFAULT_SOLANA_WEBSOCKET); + this.connection = new Connection(DEFAULT_SOLANA_RPC, { commitment: commitmentLevel, - wsEndpoint: 'wss://go.getblock.io/bed382d14bfd4f1999fb608b27794e8e' + wsEndpoint: DEFAULT_SOLANA_WEBSOCKET }); } @@ -50,7 +53,9 @@ export class Web3SolanaProgramInteraction { const walletTokenAccount = getAssociatedTokenAddressSync(mintPubkey, wallet.publicKey); const relayerTokenAccount = getAssociatedTokenAddressSync(mintPubkey, relayerPubkey); + console.log(relayerTokenAccount.toBase58(), mintPubkey.toBase58(), relayerPubkey.toBase58()); const accountInfo = await this.connection.getAccountInfo(relayerTokenAccount); + console.log('----accountInfo----', accountInfo); const lamports = accountInfo?.lamports || 0; // check the connection if (!wallet.publicKey || !this.connection) { @@ -94,9 +99,6 @@ export class Web3SolanaProgramInteraction { preflightCommitment: 'confirmed', skipPreflight: false }); - // return { - // transaction: signature - // }; const res = await this.connection.confirmTransaction( { signature, diff --git a/src/routes.tsx b/src/routes.tsx index f7d58d112..a8f286e14 100644 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -5,7 +5,6 @@ import { Suspense } from 'react'; import { Navigate, Route, Routes } from 'react-router-dom'; import Balance from 'pages/Balance'; -import Pools from 'pages/Pools'; import PoolsV3 from 'pages/Pool-V3'; import PoolDetail from 'pages/Pools/PoolDetail'; import UniversalSwap from 'pages/UniversalSwap/index'; @@ -14,8 +13,6 @@ import BitcoinDashboard from 'pages/BitcoinDashboard'; import BitcoinDashboardV2 from 'pages/BitcoinDashboardV2'; import StakingPage from 'pages/Staking'; import DownloadApp from 'pages/DownloadApp'; -import SwapPoolV3 from 'pages/Pool-V3/components/Swap'; -import PositionDetail from 'pages/Pool-V3/components/PositionDetail'; import PoolV3Detail from 'pages/Pool-V3/components/PoolDetail'; export default () => ( From 798761c8981a87cd2291c6f1949a9a0e1cdef85a Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Tue, 3 Dec 2024 15:59:02 +0700 Subject: [PATCH 11/21] fix address bridge to sol --- .../WalletByNetwork/WalletByNetwork.tsx | 6 +++--- src/components/WalletManagement/walletConfig.ts | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx index bf7312bc6..9d2df017d 100644 --- a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx +++ b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx @@ -99,9 +99,9 @@ export const WalletByNetwork = ({ walletProvider }: { walletProvider: WalletProv selectType = 'OWallet'; } await solanaWallet.select(selectType as any); - - if (solanaWallet?.publicKey) { - setSolanaAddress(solanaWallet.publicKey.toBase58()); + const solanaConnect = await window.solana.connect(); + if (solanaConnect?.publicKey) { + setSolanaAddress(solanaConnect?.publicKey.toBase58()); } }; diff --git a/src/components/WalletManagement/walletConfig.ts b/src/components/WalletManagement/walletConfig.ts index 3714ca907..14814e1e2 100644 --- a/src/components/WalletManagement/walletConfig.ts +++ b/src/components/WalletManagement/walletConfig.ts @@ -102,12 +102,12 @@ export const btcWallets: WalletNetwork[] = [ ]; export const solanaWallets: WalletNetwork[] = [ - { - icon: OwalletIcon, - name: 'Owallet', - nameRegistry: 'owallet', - isActive: false - }, + // { + // icon: OwalletIcon, + // name: 'Owallet', + // nameRegistry: 'owallet', + // isActive: false + // }, { icon: PhantomIcon, name: 'Phantom', From 447155069651b24e210cbd42cb043a5e45a2fae3 Mon Sep 17 00:00:00 2001 From: perfogic Date: Tue, 3 Dec 2024 16:56:35 +0700 Subject: [PATCH 12/21] chore: update code fix wallet and handleTransferOraichainToSol --- src/helper/index.tsx | 5 +++-- src/pages/Balance/index.tsx | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/helper/index.tsx b/src/helper/index.tsx index e5e32ee77..1797d46fc 100644 --- a/src/helper/index.tsx +++ b/src/helper/index.tsx @@ -408,13 +408,14 @@ export const getAddressTransferForEvm = async (walletByNetworks: WalletsByNetwor export const getAddressTransfer = async (network: CustomChainInfo, walletByNetworks: WalletsByNetwork) => { try { let address = ''; + if (network.networkType === 'evm') { address = await getAddressTransferForEvm(walletByNetworks, network); - } else if (isConnectSpecificNetwork(walletByNetworks.cosmos)) { - address = await window.Keplr.getKeplrAddr(network.chainId); } else if (network.networkType == ('svm' as any)) { const { publicKey } = await window.solana.connect(); address = publicKey.toBase58(); + } else if (isConnectSpecificNetwork(walletByNetworks.cosmos)) { + address = await window.Keplr.getKeplrAddr(network.chainId); } return address; } catch (error) { diff --git a/src/pages/Balance/index.tsx b/src/pages/Balance/index.tsx index 2569a6700..dd36bb241 100644 --- a/src/pages/Balance/index.tsx +++ b/src/pages/Balance/index.tsx @@ -405,7 +405,7 @@ const Balance: React.FC = () => { const checkTransfer = (fromChainId, toChainId) => { const isSoltoOraichain = fromChainId === solChainId && toChainId === 'Oraichain'; - const isOraichainToSol = toChainId === 'Oraichain' && toChainId === solChainId; + const isOraichainToSol = fromChainId === 'Oraichain' && toChainId === solChainId; const isBTCtoOraichain = from.chainId === bitcoinChainId && to.chainId === 'Oraichain'; const isOraichainToBTC = from.chainId === 'Oraichain' && to.chainId === bitcoinChainId; return [isSoltoOraichain, isOraichainToSol, isBTCtoOraichain, isBTCtoOraichain || isOraichainToBTC]; @@ -462,9 +462,10 @@ const Balance: React.FC = () => { fromToken: TokenItemType; transferAmount: number; }) => { + const receiverAddress = import.meta.env.VITE_APP_ORAICHAIN_RELAYER_ADDRESS; const result = await window.client.sendTokens( oraiAddress, - oraiAddress, + receiverAddress, [ { amount: toAmount(transferAmount, fromToken.decimals).toString(), From cf79fa3d1003ae8054637be97c62843708ce3fbc Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Tue, 3 Dec 2024 16:57:28 +0700 Subject: [PATCH 13/21] support owallet solana --- .../WalletByNetwork/WalletByNetwork.tsx | 13 +++++-------- src/components/WalletManagement/walletConfig.ts | 12 ++++++------ src/helper/index.tsx | 11 ++++++++--- src/types/global.d.ts | 1 + 4 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx index 9d2df017d..3bec9c2b3 100644 --- a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx +++ b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx @@ -93,15 +93,13 @@ export const WalletByNetwork = ({ walletProvider }: { walletProvider: WalletProv }; const handleConnectWalletInSolanaNetwork = async (walletType: WalletType) => { - let selectType = 'Phantom'; + let provider = window?.solana; if (walletType === 'owallet') { - // TODO: need check when use multi wallet support solana - selectType = 'OWallet'; + provider = window?.owalletSolana; } - await solanaWallet.select(selectType as any); - const solanaConnect = await window.solana.connect(); - if (solanaConnect?.publicKey) { - setSolanaAddress(solanaConnect?.publicKey.toBase58()); + const { publicKey } = await provider.connect(); + if (publicKey) { + setSolanaAddress(publicKey.toBase58()); } }; @@ -181,7 +179,6 @@ export const WalletByNetwork = ({ walletProvider }: { walletProvider: WalletProv setBtcAddress(undefined); break; case 'solana': - await solanaWallet.disconnect(); setSolanaAddress(undefined); break; default: diff --git a/src/components/WalletManagement/walletConfig.ts b/src/components/WalletManagement/walletConfig.ts index 14814e1e2..3714ca907 100644 --- a/src/components/WalletManagement/walletConfig.ts +++ b/src/components/WalletManagement/walletConfig.ts @@ -102,12 +102,12 @@ export const btcWallets: WalletNetwork[] = [ ]; export const solanaWallets: WalletNetwork[] = [ - // { - // icon: OwalletIcon, - // name: 'Owallet', - // nameRegistry: 'owallet', - // isActive: false - // }, + { + icon: OwalletIcon, + name: 'Owallet', + nameRegistry: 'owallet', + isActive: false + }, { icon: PhantomIcon, name: 'Phantom', diff --git a/src/helper/index.tsx b/src/helper/index.tsx index e5e32ee77..0f4056043 100644 --- a/src/helper/index.tsx +++ b/src/helper/index.tsx @@ -410,11 +410,16 @@ export const getAddressTransfer = async (network: CustomChainInfo, walletByNetwo let address = ''; if (network.networkType === 'evm') { address = await getAddressTransferForEvm(walletByNetworks, network); - } else if (isConnectSpecificNetwork(walletByNetworks.cosmos)) { - address = await window.Keplr.getKeplrAddr(network.chainId); } else if (network.networkType == ('svm' as any)) { - const { publicKey } = await window.solana.connect(); + let provider = window?.solana; + if (walletByNetworks.solana === 'owallet') { + provider = window?.owalletSolana; + } + + const { publicKey } = await provider.connect(); address = publicKey.toBase58(); + } else if (!['evm', 'svm'].includes(network.networkType) && isConnectSpecificNetwork(walletByNetworks.cosmos)) { + address = await window.Keplr.getKeplrAddr(network.chainId); } return address; } catch (error) { diff --git a/src/types/global.d.ts b/src/types/global.d.ts index 47943cb0d..1e51c7b6a 100644 --- a/src/types/global.d.ts +++ b/src/types/global.d.ts @@ -128,6 +128,7 @@ declare global { client: SigningCosmWasmClient; keplr: keplr; owallet: keplr; + owalletSolana: any; bitcoin: IBitcoin; browser: Browser; queryIfDatasetMinted({ tokenId: string }): Promise; From e917a4f2bee713e299a019fe3e60d04e0550b685 Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Tue, 3 Dec 2024 18:12:17 +0700 Subject: [PATCH 14/21] pumb common --- package.json | 2 +- .../WalletByNetwork/WalletByNetwork.tsx | 5 + src/config/bridgeTokens.ts | 7 +- src/config/chainInfos.ts | 105 +----------------- src/helper/index.tsx | 8 +- src/hooks/useLoadTokens.ts | 5 +- src/layouts/App.tsx | 8 +- src/pages/Balance/index.tsx | 7 +- src/program/web3.ts | 15 +-- yarn.lock | 8 +- 10 files changed, 42 insertions(+), 128 deletions(-) diff --git a/package.json b/package.json index 89c3c6584..8ecfaa856 100644 --- a/package.json +++ b/package.json @@ -157,7 +157,7 @@ "bitcoinjs-lib": "5.2.0", "axios": "0.26.1", "@sentry/react": "7.99.0", - "@oraichain/oraidex-common": "1.1.34" + "@oraichain/oraidex-common": "1.1.35" }, "engines": { "node": "^18 || ^20" diff --git a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx index 3bec9c2b3..bc1188c54 100644 --- a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx +++ b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx @@ -94,9 +94,14 @@ export const WalletByNetwork = ({ walletProvider }: { walletProvider: WalletProv const handleConnectWalletInSolanaNetwork = async (walletType: WalletType) => { let provider = window?.solana; + let selectType = 'Phantom'; if (walletType === 'owallet') { provider = window?.owalletSolana; + selectType = 'OWallet'; } + + solanaWallet.select(selectType as any); + await solanaWallet.connect(); const { publicKey } = await provider.connect(); if (publicKey) { setSolanaAddress(publicKey.toBase58()); diff --git a/src/config/bridgeTokens.ts b/src/config/bridgeTokens.ts index bad3aba10..7120d2203 100644 --- a/src/config/bridgeTokens.ts +++ b/src/config/bridgeTokens.ts @@ -1,6 +1,6 @@ import flatten from 'lodash/flatten'; import uniqBy from 'lodash/uniqBy'; -import { chainInfos, oraichainNetwork, solChainId } from './chainInfos'; +import { chainInfos, oraichainNetwork } from './chainInfos'; import { CustomChainInfo, INJECTIVE_ORAICHAIN_DENOM, @@ -8,7 +8,8 @@ import { MILKYBSC_ORAICHAIN_DENOM, TokenItemType, KWT_BSC_CONTRACT, - MILKY_BSC_CONTRACT + MILKY_BSC_CONTRACT, + solChainId } from '@oraichain/oraidex-common'; import { bitcoinChainId } from 'helper/constants'; @@ -96,7 +97,7 @@ export const btcTokens = uniqBy( ); export const solTokens = uniqBy( - flattenTokens.filter((token) => token.chainId === (solChainId as any)), + flattenTokens.filter((token) => token.chainId === solChainId), (c) => c.denom ); diff --git a/src/config/chainInfos.ts b/src/config/chainInfos.ts index c6090bc2c..8143e8a95 100644 --- a/src/config/chainInfos.ts +++ b/src/config/chainInfos.ts @@ -121,86 +121,8 @@ export const bitcoinMainnet: CustomChainInfo = { } }; -export const solChainId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp'; - -export const solanaMainnet: CustomChainInfo = { - rpc: 'https://swr.xnftdata.com/rpc-proxy/', - rest: 'https://swr.xnftdata.com/rpc-proxy/', - chainId: solChainId as any, - chainName: 'Solana' as any, - bip44: { - coinType: 501 as any - }, - bech32Config: defaultBech32Config('sol'), - stakeCurrency: { - coinDenom: 'SOL', - coinMinimalDenom: 'sol', - coinDecimals: 9, - coinGeckoId: 'solana', - coinImageUrl: 'https://assets.coingecko.com/coins/images/4128/standard/solana.png?1718769756' - }, - chainSymbolImageUrl: 'https://upload.wikimedia.org/wikipedia/en/b/b9/Solana_logo.png', - networkType: 'svm' as any, - currencies: [ - // { - // coinDenom: 'SOL', - // coinMinimalDenom: 'sol', - // coinDecimals: 9, - // bridgeTo: ['Oraichain'], - // coinGeckoId: 'solana' as any, - // coinImageUrl: 'https://assets.coingecko.com/coins/images/4128/standard/solana.png?1718769756' - // }, - { - coinDenom: 'MAX', - coinMinimalDenom: 'max', - coinDecimals: 6, - bridgeTo: ['Oraichain'], - contractAddress: 'oraim8c9d1nkfuQk9EzGYEUGxqL3MHQYndRw1huVo5h', - coinGeckoId: 'max.clan' as any, - coinImageUrl: - 'https://pump.mypinata.cloud/ipfs/QmcGwYebsQfYbNSM9QDAMS2wKZ8fZNEiMbezJah1zgEWWS?img-width=256&img-dpr=2' - } - ], - get feeCurrencies() { - return [ - { - coinDenom: 'SOL', - coinMinimalDenom: 'sol', - coinDecimals: 9, - coinGeckoId: 'solana', - coinImageUrl: 'https://assets.coingecko.com/coins/images/4128/standard/solana.png?1718769756', - gasPriceStep: { - low: 1, - average: 1.25, - high: 1.5 - } - }, - { - coinDenom: 'MAX', - coinMinimalDenom: 'max', - coinDecimals: 6, - coinGeckoId: 'max.clan', - coinImageUrl: - 'https://pump.mypinata.cloud/ipfs/QmcGwYebsQfYbNSM9QDAMS2wKZ8fZNEiMbezJah1zgEWWS?img-width=256&img-dpr=2', - gasPriceStep: { - low: 1, - average: 1.25, - high: 1.5 - } - } - ]; - }, - - features: [], - txExplorer: { - name: 'Sol Scan', - txUrl: 'https://solscan.io/tx/{txHash}', - accountUrl: 'https://solscan.io/address/{address}' - } -}; - export const chainInfosWithIcon = mapListWithIcon( - [...customChainInfos, bitcoinMainnet, oraibtcNetwork, solanaMainnet], + [...customChainInfos, bitcoinMainnet, oraibtcNetwork], chainIcons, 'chainId' ); @@ -228,26 +150,7 @@ export const OraiToken: BridgeAppCurrency = { export const oraichainNetwork: CustomChainInfo = { ...customOraichainNetwork, currencies: [ - ...customOraichainNetwork.currencies, - // { - // coinDenom: 'SOL', - // coinGeckoId: 'solana' as any, - // coinMinimalDenom: 'factory/orai1wuvhex9xqs3r539mvc6mtm7n20fcj3qr2m0y9khx6n5vtlngfzes3k0rq9/sol', - // bridgeTo: [solChainId] as any, - // coinDecimals: 9, - // coinImageUrl: - // 'https://pump.mypinata.cloud/ipfs/QmcGwYebsQfYbNSM9QDAMS2wKZ8fZNEiMbezJah1zgEWWS?img-width=256&img-dpr=2' - // }, - { - coinDenom: 'MAX', - coinGeckoId: 'max.clan' as any, - coinMinimalDenom: - 'factory/orai17hyr3eg92fv34fdnkend48scu32hn26gqxw3hnwkfy904lk9r09qqzty42/oraim8c9d1nkfuQk9EzGYEUGxqL3MHQYndRw1huVo5h', - bridgeTo: [solChainId] as any, - coinDecimals: 6, - coinImageUrl: - 'https://pump.mypinata.cloud/ipfs/QmcGwYebsQfYbNSM9QDAMS2wKZ8fZNEiMbezJah1zgEWWS?img-width=256&img-dpr=2' - } + ...customOraichainNetwork.currencies // { // coinDenom: 'BTC V2', // coinGeckoId: 'bitcoin', @@ -313,7 +216,7 @@ export const OraiBTCBridgeNetwork = { } }; -export const chainInfosWithSdk = [...customChainInfos, bitcoinMainnet, oraibtcNetwork, solanaMainnet]; +export const chainInfosWithSdk = [...customChainInfos, bitcoinMainnet, oraibtcNetwork]; export const chainInfos = mapListWithIcon(chainInfosWithSdk, chainIcons, 'chainId'); // exclude kawaiverse subnet and other special evm that has different cointype @@ -321,4 +224,4 @@ export const evmChains = chainInfos.filter( (c) => c.networkType === 'evm' && c.bip44.coinType === 60 && c.chainId !== '0x1ae6' ); -export const btcChains = chainInfos.filter((c) => c.networkType === ('bitcoin' as any)); +export const btcChains = chainInfos.filter((c) => c.networkType === 'bitcoin'); diff --git a/src/helper/index.tsx b/src/helper/index.tsx index f3d3574c2..a879586ee 100644 --- a/src/helper/index.tsx +++ b/src/helper/index.tsx @@ -11,7 +11,9 @@ import { MULTIPLIER, TRON_SCAN, EVM_CHAIN_ID_COMMON, - WalletType as WalletCosmosType + SOL_SCAN, + WalletType as WalletCosmosType, + solChainId } from '@oraichain/oraidex-common'; import { network } from 'config/networks'; import { serializeError } from 'serialize-error'; @@ -24,7 +26,7 @@ import { CustomChainInfo, EvmDenom, NetworkChainId, TokenItemType } from '@oraic import { isMobile } from '@walletconnect/browser-utils'; import { displayToast, TToastType } from 'components/Toasts/Toast'; import { WalletType } from 'components/WalletManagement/walletConfig'; -import { chainIcons, chainInfos, chainInfosWithIcon, flattenTokensWithIcon, solChainId } from 'config/chainInfos'; +import { chainIcons, chainInfos, chainInfosWithIcon, flattenTokensWithIcon } from 'config/chainInfos'; import { MetamaskOfflineSigner } from 'libs/eip191'; import Keplr from 'libs/keplr'; import { WalletsByNetwork } from 'reducer/wallet'; @@ -109,7 +111,7 @@ export const getTransactionUrl = (chainId: NetworkChainId, transactionHash: stri case Networks.tron: return `${TRON_SCAN}/#/transaction/${transactionHash.replace(/^0x/, '')}`; case Number(solChainId): - return `https://solscan.io/tx/${transactionHash}`; + return `${SOL_SCAN}/tx/${transactionHash}`; default: // raw string switch (chainId) { diff --git a/src/hooks/useLoadTokens.ts b/src/hooks/useLoadTokens.ts index 6d077b365..5a9b4b3fc 100644 --- a/src/hooks/useLoadTokens.ts +++ b/src/hooks/useLoadTokens.ts @@ -23,10 +23,11 @@ import { EVM_BALANCE_RETRY_COUNT, ERC20__factory, getEvmAddress, - tronToEthAddress + tronToEthAddress, + solChainId } from '@oraichain/oraidex-common'; import { UniversalSwapHelper } from '@oraichain/oraidex-universal-swap'; -import { chainInfos, evmChains, solChainId } from 'config/chainInfos'; +import { chainInfos, evmChains } from 'config/chainInfos'; import { network } from 'config/networks'; import { ethers } from 'ethers'; import axios from 'rest/request'; diff --git a/src/layouts/App.tsx b/src/layouts/App.tsx index 6f8fba072..7ad3afff5 100644 --- a/src/layouts/App.tsx +++ b/src/layouts/App.tsx @@ -239,10 +239,10 @@ const App = () => { const handleAddressSolOwallet = async () => { let solAddress; - if (walletByNetworks.solana === 'phantom' || mobileMode) { - if (solanaWallet.publicKey) { - solAddress = solanaWallet.publicKey.toBase58(); - if (solAddress) setSolAddress(solAddress); + if (walletByNetworks.solana === 'owallet' || mobileMode) { + if (window.owalletSolana) { + const { publicKey } = await window.owalletSolana.connect(); + if (publicKey) setSolAddress(publicKey.toBase58()); } } return solAddress; diff --git a/src/pages/Balance/index.tsx b/src/pages/Balance/index.tsx index bfd453ffc..c64dd7e92 100644 --- a/src/pages/Balance/index.tsx +++ b/src/pages/Balance/index.tsx @@ -10,7 +10,9 @@ import { toAmount, TokenItemType, calculateTimeoutTimestamp, - getCosmosGasPrice + getCosmosGasPrice, + solChainId, + ORAICHAIN_RELAYER_ADDRESS } from '@oraichain/oraidex-common'; import { UniversalSwapHandler, UniversalSwapHelper } from '@oraichain/oraidex-universal-swap'; import { isMobile } from '@walletconnect/browser-utils'; @@ -27,7 +29,7 @@ import SearchInput from 'components/SearchInput'; import { displayToast, TToastType } from 'components/Toasts/Toast'; import TokenBalance from 'components/TokenBalance'; import { flattenTokens, tokens } from 'config/bridgeTokens'; -import { chainInfos, solChainId } from 'config/chainInfos'; +import { chainInfos } from 'config/chainInfos'; import { NomicContext } from 'context/nomic-context'; import { assert, @@ -462,7 +464,6 @@ const Balance: React.FC = () => { fromToken: TokenItemType; transferAmount: number; }) => { - const ORAICHAIN_RELAYER_ADDRESS = 'orai1ehmhqcn8erf3dgavrca69zgp4rtxj5kqgtcnyd'; const receiverAddress = ORAICHAIN_RELAYER_ADDRESS; const result = await window.client.sendTokens( oraiAddress, diff --git a/src/program/web3.ts b/src/program/web3.ts index d5de540c2..1b669751f 100644 --- a/src/program/web3.ts +++ b/src/program/web3.ts @@ -18,23 +18,24 @@ import * as anchor from '@coral-xyz/anchor'; import { WalletContextState } from '@solana/wallet-adapter-react'; import { BN, Program } from '@coral-xyz/anchor'; import BigNumber from 'bignumber.js'; -import { toAmount, TokenItemType } from '@oraichain/oraidex-common'; +import { + toAmount, + TokenItemType, + SOL_RELAYER_ADDRESS, + SOLANA_RPC as DEFAULT_SOLANA_RPC, + SOLANA_WEBSOCKET as DEFAULT_SOLANA_WEBSOCKET, + MEMO_PROGRAM_ID +} from '@oraichain/oraidex-common'; export const commitmentLevel = 'confirmed'; export const TOKEN_RESERVES = 1_000_000_000_000_000; export const LAMPORT_RESERVES = 1_000_000_000; export const INIT_BONDING_CURVE = 95; -export const SOL_RELAYER_ADDRESS = '4k7xvinq6nB221iBhcP9uMFCPFh29MxQ6LieMH7cqw45'; -export const DEFAULT_SOLANA_RPC = 'https://swr.xnftdata.com/rpc-proxy/'; -export const DEFAULT_SOLANA_WEBSOCKET = 'wss://go.getblock.io/52d75331a9b74f9fa4a0056f15a1c022'; -export const MEMO_PROGRAM_ID = 'MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr'; - export class Web3SolanaProgramInteraction { connection: Connection; constructor() { - console.log(SOL_RELAYER_ADDRESS, DEFAULT_SOLANA_RPC, DEFAULT_SOLANA_WEBSOCKET); this.connection = new Connection(DEFAULT_SOLANA_RPC, { commitment: commitmentLevel, wsEndpoint: DEFAULT_SOLANA_WEBSOCKET diff --git a/yarn.lock b/yarn.lock index 3770ebd2a..0532dec4a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3847,10 +3847,10 @@ react-use "^17.4.0" react-use-websocket "^4.5.0" -"@oraichain/oraidex-common@1.1.34", "@oraichain/oraidex-common@^1.1.27", "@oraichain/oraidex-common@^1.1.32": - version "1.1.34" - resolved "https://registry.yarnpkg.com/@oraichain/oraidex-common/-/oraidex-common-1.1.34.tgz#257d25408450c438dc2bf0870fa8de9125af92ed" - integrity sha512-3PzjIS7+QlhSl/5w1NDXr5hZ8LXgJP0IqMWK/ZwJNM7yySeWRui6pwzFwariW2AQ/raU/z1Umr1Bh13idfeQ4Q== +"@oraichain/oraidex-common@1.1.35", "@oraichain/oraidex-common@^1.1.27", "@oraichain/oraidex-common@^1.1.32": + version "1.1.35" + resolved "https://registry.yarnpkg.com/@oraichain/oraidex-common/-/oraidex-common-1.1.35.tgz#079df95eb914b896c0cd432176a4f01ae8ffa8a1" + integrity sha512-gDK6/NIk+a+RvroIlcT/wr5DCqe3gzbpBtigs8l0aNRRbT6nTmc1baI0MFyF1TMN8kfQHICYlOoQdr+sx1HtIA== dependencies: "@cosmjs/amino" "^0.32.4" "@cosmjs/cosmwasm-stargate" "^0.32.4" From 4a3ca36ab35305ff004bff9f95df1b25579d17bd Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Tue, 3 Dec 2024 18:26:07 +0700 Subject: [PATCH 15/21] add change account phantom --- .../WalletByNetwork/WalletByNetwork.tsx | 13 +++++++------ .../WalletManagement/walletConfig.ts | 12 ++++++------ src/layouts/App.tsx | 19 +++++++++++++++++++ 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx index bc1188c54..4935d6381 100644 --- a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx +++ b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx @@ -93,16 +93,17 @@ export const WalletByNetwork = ({ walletProvider }: { walletProvider: WalletProv }; const handleConnectWalletInSolanaNetwork = async (walletType: WalletType) => { - let provider = window?.solana; + // let provider = window?.solana; let selectType = 'Phantom'; - if (walletType === 'owallet') { - provider = window?.owalletSolana; - selectType = 'OWallet'; - } + // if (walletType === 'owallet') { + // provider = window?.owalletSolana; + // selectType = 'OWallet'; + // } solanaWallet.select(selectType as any); await solanaWallet.connect(); - const { publicKey } = await provider.connect(); + const publicKey = solanaWallet?.publicKey; + // const { publicKey } = await provider.connect(); if (publicKey) { setSolanaAddress(publicKey.toBase58()); } diff --git a/src/components/WalletManagement/walletConfig.ts b/src/components/WalletManagement/walletConfig.ts index 3714ca907..d146a34aa 100644 --- a/src/components/WalletManagement/walletConfig.ts +++ b/src/components/WalletManagement/walletConfig.ts @@ -102,12 +102,12 @@ export const btcWallets: WalletNetwork[] = [ ]; export const solanaWallets: WalletNetwork[] = [ - { - icon: OwalletIcon, - name: 'Owallet', - nameRegistry: 'owallet', - isActive: false - }, + // { + // icon: OwalletIcon, + // name: 'Owallet', + // nameRegistry: 'owallet', + // isActive: true + // }, { icon: PhantomIcon, name: 'Phantom', diff --git a/src/layouts/App.tsx b/src/layouts/App.tsx index 7ad3afff5..7b7362077 100644 --- a/src/layouts/App.tsx +++ b/src/layouts/App.tsx @@ -248,6 +248,25 @@ const App = () => { return solAddress; }; + useEffect(() => { + if (window?.solana) { + window.solana?.on('accountChanged', (publicKeySol: any) => { + if (publicKeySol) { + // Set new public key and continue as usual + console.log(`Switched to account ${publicKeySol.toBase58()}`); + setSolAddress(publicKeySol.toBase58()); + } else { + // // Attempt to reconnect to Phantom + window.solana.connect().catch((error: any) => { + console.log({ errorSolAccountChanged: error }); + }); + } + }); + } + + return () => {}; + }, []); + const handleAddressTronOwallet = async () => { let tronAddress; From f02b4eeaf43885eee8be12fdbd8b3af85b86bb1e Mon Sep 17 00:00:00 2001 From: perfogic Date: Wed, 4 Dec 2024 09:56:20 +0700 Subject: [PATCH 16/21] feat: fix code for staging sol bridge and error in loading cache node_modules --- src/config/chainInfos.ts | 28 ++++++++++++++++++---------- src/pages/Balance/index.tsx | 4 ++-- src/program/web3.ts | 7 +++++-- vite.config.ts | 3 +++ 4 files changed, 28 insertions(+), 14 deletions(-) diff --git a/src/config/chainInfos.ts b/src/config/chainInfos.ts index 8143e8a95..288ee43ef 100644 --- a/src/config/chainInfos.ts +++ b/src/config/chainInfos.ts @@ -5,7 +5,8 @@ import { ChainIdEnum, BridgeAppCurrency, CustomChainInfo, - defaultBech32Config + defaultBech32Config, + solChainId } from '@oraichain/oraidex-common'; import BitcoinIcon from 'assets/icons/bitcoin.svg?react'; import OraiIcon from 'assets/icons/oraichain.svg?react'; @@ -150,15 +151,22 @@ export const OraiToken: BridgeAppCurrency = { export const oraichainNetwork: CustomChainInfo = { ...customOraichainNetwork, currencies: [ - ...customOraichainNetwork.currencies - // { - // coinDenom: 'BTC V2', - // coinGeckoId: 'bitcoin', - // coinMinimalDenom: CWBitcoinFactoryDenom, - // bridgeTo: ['bitcoin'] as any, - // coinDecimals: 14 as any, - // coinImageUrl: 'https://s2.coinmarketcap.com/static/img/coins/64x64/1.png' - // } + ...customOraichainNetwork.currencies.map((cur) => { + if (cur.coinGeckoId === 'max.clan') { + return { + coinDenom: 'MAX', + coinGeckoId: 'max.clan', + coinMinimalDenom: + 'factory/orai17hyr3eg92fv34fdnkend48scu32hn26gqxw3hnwkfy904lk9r09qqzty42/oraim8c9d1nkfuQk9EzGYEUGxqL3MHQYndRw1huVo5h', + bridgeTo: [solChainId], + coinDecimals: 6, + coinImageUrl: + 'https://pump.mypinata.cloud/ipfs/QmcGwYebsQfYbNSM9QDAMS2wKZ8fZNEiMbezJah1zgEWWS?img-width=256&img-dpr=2' + } as any; + } + + return cur; + }) ] }; diff --git a/src/pages/Balance/index.tsx b/src/pages/Balance/index.tsx index c64dd7e92..776ddfaf6 100644 --- a/src/pages/Balance/index.tsx +++ b/src/pages/Balance/index.tsx @@ -11,8 +11,7 @@ import { TokenItemType, calculateTimeoutTimestamp, getCosmosGasPrice, - solChainId, - ORAICHAIN_RELAYER_ADDRESS + solChainId } from '@oraichain/oraidex-common'; import { UniversalSwapHandler, UniversalSwapHelper } from '@oraichain/oraidex-universal-swap'; import { isMobile } from '@walletconnect/browser-utils'; @@ -90,6 +89,7 @@ import { collectWallet, connectWithSigner, getCosmWasmClient } from 'libs/cosmjs import { useWallet } from '@solana/wallet-adapter-react'; import { Web3SolanaProgramInteraction } from 'program/web3'; import { refreshBalances } from 'pages/UniversalSwap/helpers'; +import { ORAICHAIN_RELAYER_ADDRESS } from 'program/web3'; interface BalanceProps {} diff --git a/src/program/web3.ts b/src/program/web3.ts index 1b669751f..b622707a9 100644 --- a/src/program/web3.ts +++ b/src/program/web3.ts @@ -21,16 +21,19 @@ import BigNumber from 'bignumber.js'; import { toAmount, TokenItemType, - SOL_RELAYER_ADDRESS, + SOL_RELAYER_ADDRESS as STAGING_SOL_RELAYER_ADDRESS, SOLANA_RPC as DEFAULT_SOLANA_RPC, SOLANA_WEBSOCKET as DEFAULT_SOLANA_WEBSOCKET, - MEMO_PROGRAM_ID + MEMO_PROGRAM_ID, + ORAICHAIN_RELAYER_ADDRESS as STAGING_ORAICHAIN_RELAYER_ADDRESS } from '@oraichain/oraidex-common'; export const commitmentLevel = 'confirmed'; export const TOKEN_RESERVES = 1_000_000_000_000_000; export const LAMPORT_RESERVES = 1_000_000_000; export const INIT_BONDING_CURVE = 95; +export const SOL_RELAYER_ADDRESS = STAGING_SOL_RELAYER_ADDRESS; +export const ORAICHAIN_RELAYER_ADDRESS = STAGING_ORAICHAIN_RELAYER_ADDRESS; export class Web3SolanaProgramInteraction { connection: Connection; diff --git a/vite.config.ts b/vite.config.ts index 510f52d48..d19df1a10 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -37,5 +37,8 @@ export default defineConfig({ commonjsOptions: { transformMixedEsModules: true }, outDir: path.resolve(__dirname, 'build'), rollupOptions: {} + }, + optimizeDeps: { + exclude: ['node_modules/.cache'] } }); From a398d4b48abb6c1bd152f0f7173814505c2f1a77 Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Wed, 4 Dec 2024 11:31:44 +0700 Subject: [PATCH 17/21] add support owallet solana --- .../WalletByNetwork/WalletByNetwork.tsx | 13 +++++------ .../WalletManagement/walletConfig.ts | 12 +++++----- src/layouts/App.tsx | 22 +++++++++++-------- src/libs/utils.ts | 2 +- 4 files changed, 26 insertions(+), 23 deletions(-) diff --git a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx index 4935d6381..bc1188c54 100644 --- a/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx +++ b/src/components/WalletManagement/ModalChooseWallet/WalletByNetwork/WalletByNetwork.tsx @@ -93,17 +93,16 @@ export const WalletByNetwork = ({ walletProvider }: { walletProvider: WalletProv }; const handleConnectWalletInSolanaNetwork = async (walletType: WalletType) => { - // let provider = window?.solana; + let provider = window?.solana; let selectType = 'Phantom'; - // if (walletType === 'owallet') { - // provider = window?.owalletSolana; - // selectType = 'OWallet'; - // } + if (walletType === 'owallet') { + provider = window?.owalletSolana; + selectType = 'OWallet'; + } solanaWallet.select(selectType as any); await solanaWallet.connect(); - const publicKey = solanaWallet?.publicKey; - // const { publicKey } = await provider.connect(); + const { publicKey } = await provider.connect(); if (publicKey) { setSolanaAddress(publicKey.toBase58()); } diff --git a/src/components/WalletManagement/walletConfig.ts b/src/components/WalletManagement/walletConfig.ts index d146a34aa..29e6398a9 100644 --- a/src/components/WalletManagement/walletConfig.ts +++ b/src/components/WalletManagement/walletConfig.ts @@ -102,12 +102,12 @@ export const btcWallets: WalletNetwork[] = [ ]; export const solanaWallets: WalletNetwork[] = [ - // { - // icon: OwalletIcon, - // name: 'Owallet', - // nameRegistry: 'owallet', - // isActive: true - // }, + { + icon: OwalletIcon, + name: 'Owallet', + nameRegistry: 'owallet', + isActive: true + }, { icon: PhantomIcon, name: 'Phantom', diff --git a/src/layouts/App.tsx b/src/layouts/App.tsx index 7b7362077..55c9fac7f 100644 --- a/src/layouts/App.tsx +++ b/src/layouts/App.tsx @@ -242,23 +242,27 @@ const App = () => { if (walletByNetworks.solana === 'owallet' || mobileMode) { if (window.owalletSolana) { const { publicKey } = await window.owalletSolana.connect(); - if (publicKey) setSolAddress(publicKey.toBase58()); + if (publicKey) { + solAddress = publicKey.toBase58(); + setSolAddress(solAddress); + } } } return solAddress; }; useEffect(() => { - if (window?.solana) { - window.solana?.on('accountChanged', (publicKeySol: any) => { + const provider = window?.solana; + if (provider) { + provider?.on('accountChanged', (publicKeySol: any) => { if (publicKeySol) { - // Set new public key and continue as usual - console.log(`Switched to account ${publicKeySol.toBase58()}`); - setSolAddress(publicKeySol.toBase58()); + const solAddress = publicKeySol.toBase58(); + setSolAddress(solAddress); + loadTokenAmounts({ solAddress }); } else { - // // Attempt to reconnect to Phantom - window.solana.connect().catch((error: any) => { - console.log({ errorSolAccountChanged: error }); + // Attempt to reconnect to Phantom or Owallet + provider.connect().catch((error: any) => { + console.error({ errorSolAccountChanged: error }); }); } }); diff --git a/src/libs/utils.ts b/src/libs/utils.ts index c31c8feb8..c4dcb1fd4 100644 --- a/src/libs/utils.ts +++ b/src/libs/utils.ts @@ -75,7 +75,7 @@ export const toSumDisplay = (amounts: AmountDetails): number => { // update later const balance = amounts[denom]; if (!balance) continue; - amount += toDisplay(balance, tokenMap[denom].decimals); + amount += toDisplay(balance, tokenMap[denom]?.decimals); } return amount; }; From 1c046422c26c572f5c1c03cb17023a940ce3e92e Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Wed, 4 Dec 2024 15:44:01 +0700 Subject: [PATCH 18/21] add s20 orai --- package.json | 2 +- src/config/chainInfos.ts | 19 +------------------ src/program/web3.ts | 8 +++----- yarn.lock | 8 ++++---- 4 files changed, 9 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index 8ecfaa856..449c83f8c 100644 --- a/package.json +++ b/package.json @@ -157,7 +157,7 @@ "bitcoinjs-lib": "5.2.0", "axios": "0.26.1", "@sentry/react": "7.99.0", - "@oraichain/oraidex-common": "1.1.35" + "@oraichain/oraidex-common": "1.1.37" }, "engines": { "node": "^18 || ^20" diff --git a/src/config/chainInfos.ts b/src/config/chainInfos.ts index 288ee43ef..1ed6faeb5 100644 --- a/src/config/chainInfos.ts +++ b/src/config/chainInfos.ts @@ -150,24 +150,7 @@ export const OraiToken: BridgeAppCurrency = { export const oraichainNetwork: CustomChainInfo = { ...customOraichainNetwork, - currencies: [ - ...customOraichainNetwork.currencies.map((cur) => { - if (cur.coinGeckoId === 'max.clan') { - return { - coinDenom: 'MAX', - coinGeckoId: 'max.clan', - coinMinimalDenom: - 'factory/orai17hyr3eg92fv34fdnkend48scu32hn26gqxw3hnwkfy904lk9r09qqzty42/oraim8c9d1nkfuQk9EzGYEUGxqL3MHQYndRw1huVo5h', - bridgeTo: [solChainId], - coinDecimals: 6, - coinImageUrl: - 'https://pump.mypinata.cloud/ipfs/QmcGwYebsQfYbNSM9QDAMS2wKZ8fZNEiMbezJah1zgEWWS?img-width=256&img-dpr=2' - } as any; - } - - return cur; - }) - ] + currencies: [...customOraichainNetwork.currencies] }; export const OraiBTCBridgeNetwork = { diff --git a/src/program/web3.ts b/src/program/web3.ts index b622707a9..8cc538723 100644 --- a/src/program/web3.ts +++ b/src/program/web3.ts @@ -21,19 +21,17 @@ import BigNumber from 'bignumber.js'; import { toAmount, TokenItemType, - SOL_RELAYER_ADDRESS as STAGING_SOL_RELAYER_ADDRESS, SOLANA_RPC as DEFAULT_SOLANA_RPC, SOLANA_WEBSOCKET as DEFAULT_SOLANA_WEBSOCKET, - MEMO_PROGRAM_ID, - ORAICHAIN_RELAYER_ADDRESS as STAGING_ORAICHAIN_RELAYER_ADDRESS + MEMO_PROGRAM_ID } from '@oraichain/oraidex-common'; export const commitmentLevel = 'confirmed'; export const TOKEN_RESERVES = 1_000_000_000_000_000; export const LAMPORT_RESERVES = 1_000_000_000; export const INIT_BONDING_CURVE = 95; -export const SOL_RELAYER_ADDRESS = STAGING_SOL_RELAYER_ADDRESS; -export const ORAICHAIN_RELAYER_ADDRESS = STAGING_ORAICHAIN_RELAYER_ADDRESS; +export const SOL_RELAYER_ADDRESS = 'Ej1Gp4XrujjR1Hjng4oYXu2wSYj3uqJZMwALkEjxrBjw'; +export const ORAICHAIN_RELAYER_ADDRESS = 'orai103hs35s556n0f8r69j036wvhya6ttz450u4jra'; export class Web3SolanaProgramInteraction { connection: Connection; diff --git a/yarn.lock b/yarn.lock index 0532dec4a..e315c32a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3847,10 +3847,10 @@ react-use "^17.4.0" react-use-websocket "^4.5.0" -"@oraichain/oraidex-common@1.1.35", "@oraichain/oraidex-common@^1.1.27", "@oraichain/oraidex-common@^1.1.32": - version "1.1.35" - resolved "https://registry.yarnpkg.com/@oraichain/oraidex-common/-/oraidex-common-1.1.35.tgz#079df95eb914b896c0cd432176a4f01ae8ffa8a1" - integrity sha512-gDK6/NIk+a+RvroIlcT/wr5DCqe3gzbpBtigs8l0aNRRbT6nTmc1baI0MFyF1TMN8kfQHICYlOoQdr+sx1HtIA== +"@oraichain/oraidex-common@1.1.37", "@oraichain/oraidex-common@^1.1.27", "@oraichain/oraidex-common@^1.1.32": + version "1.1.37" + resolved "https://registry.yarnpkg.com/@oraichain/oraidex-common/-/oraidex-common-1.1.37.tgz#6b93bf48ff414e5e17de5e9638ef9fa3cb2e2eaf" + integrity sha512-utJeNJZFQj/fY7h0SaY+jkW82PuVk1Dt9+d+RZbuQpY+ng+vd9dfhAA8UMtXKW3S7wrnhi/YqdKZGr+PciaO7Q== dependencies: "@cosmjs/amino" "^0.32.4" "@cosmjs/cosmwasm-stargate" "^0.32.4" From 5a657199bcbee688ae651625e219c3a82f34a3b7 Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Wed, 4 Dec 2024 16:34:09 +0700 Subject: [PATCH 19/21] fix accounts changes phantom --- src/layouts/App.tsx | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/layouts/App.tsx b/src/layouts/App.tsx index 55c9fac7f..f64f38806 100644 --- a/src/layouts/App.tsx +++ b/src/layouts/App.tsx @@ -7,7 +7,7 @@ import { isMobile } from '@walletconnect/browser-utils'; import { TToastType, displayToast } from 'components/Toasts/Toast'; import { network } from 'config/networks'; import { ThemeProvider } from 'context/theme-context'; -import { getListAddressCosmos, interfaceRequestTron } from 'helper'; +import { getListAddressCosmos, getWalletByNetworkFromStorage, interfaceRequestTron } from 'helper'; import useConfigReducer from 'hooks/useConfigReducer'; import useLoadTokens from 'hooks/useLoadTokens'; import { useTronEventListener } from 'hooks/useTronLink'; @@ -255,15 +255,18 @@ const App = () => { const provider = window?.solana; if (provider) { provider?.on('accountChanged', (publicKeySol: any) => { - if (publicKeySol) { - const solAddress = publicKeySol.toBase58(); - setSolAddress(solAddress); - loadTokenAmounts({ solAddress }); - } else { - // Attempt to reconnect to Phantom or Owallet - provider.connect().catch((error: any) => { - console.error({ errorSolAccountChanged: error }); - }); + const wallet = getWalletByNetworkFromStorage(); + if (wallet.solana === 'phantom') { + if (publicKeySol) { + const solAddress = publicKeySol.toBase58(); + setSolAddress(solAddress); + loadTokenAmounts({ solAddress }); + } else { + // Attempt to reconnect to Phantom or Owallet + provider.connect().catch((error: any) => { + console.error({ errorSolAccountChanged: error }); + }); + } } }); } From c10085c1342db63e62ec7716e54393a53668b074 Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Wed, 4 Dec 2024 17:30:04 +0700 Subject: [PATCH 20/21] update relayer address --- src/program/web3.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/program/web3.ts b/src/program/web3.ts index 8cc538723..f7a00060c 100644 --- a/src/program/web3.ts +++ b/src/program/web3.ts @@ -30,8 +30,8 @@ export const commitmentLevel = 'confirmed'; export const TOKEN_RESERVES = 1_000_000_000_000_000; export const LAMPORT_RESERVES = 1_000_000_000; export const INIT_BONDING_CURVE = 95; -export const SOL_RELAYER_ADDRESS = 'Ej1Gp4XrujjR1Hjng4oYXu2wSYj3uqJZMwALkEjxrBjw'; -export const ORAICHAIN_RELAYER_ADDRESS = 'orai103hs35s556n0f8r69j036wvhya6ttz450u4jra'; +export const SOL_RELAYER_ADDRESS = 'HGPezSRSzZNXiBhzEXPw1gwCqsdbW7Psy5TjeyB78x8j'; +export const ORAICHAIN_RELAYER_ADDRESS = 'orai1ym6qytsu7skv2flw89y0mkey4gn7wl9q4y6r5p'; export class Web3SolanaProgramInteraction { connection: Connection; From 2cae1921b17e4eb5904b4ecb2f7c5b47309500fb Mon Sep 17 00:00:00 2001 From: Hau Nguyen Van Date: Wed, 4 Dec 2024 19:00:52 +0700 Subject: [PATCH 21/21] fix account fails sol --- src/pages/Balance/index.tsx | 23 ++++++++++++++++++++++- src/program/web3.ts | 11 +++++++---- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/pages/Balance/index.tsx b/src/pages/Balance/index.tsx index 776ddfaf6..4c8fe36bb 100644 --- a/src/pages/Balance/index.tsx +++ b/src/pages/Balance/index.tsx @@ -11,7 +11,8 @@ import { TokenItemType, calculateTimeoutTimestamp, getCosmosGasPrice, - solChainId + solChainId, + SOLANA_RPC } from '@oraichain/oraidex-common'; import { UniversalSwapHandler, UniversalSwapHelper } from '@oraichain/oraidex-universal-swap'; import { isMobile } from '@walletconnect/browser-utils'; @@ -91,6 +92,9 @@ import { Web3SolanaProgramInteraction } from 'program/web3'; import { refreshBalances } from 'pages/UniversalSwap/helpers'; import { ORAICHAIN_RELAYER_ADDRESS } from 'program/web3'; +import { clusterApiUrl, Connection, PublicKey } from '@solana/web3.js'; +import { getAccount, getAssociatedTokenAddress } from '@solana/spl-token'; + interface BalanceProps {} export const isMaintainBridge = false; @@ -533,6 +537,23 @@ const Balance: React.FC = () => { if (isSolToOraichain || isOraichainToSol) { if (isOraichainToSol) { + const connection = new Connection(SOLANA_RPC, 'confirmed'); + const tokenAccountPubkey = new PublicKey(solAddress); + console.log({ + newToToken: newToToken.contractAddress, + solAddress + }); + + const tokenAccount = await getAssociatedTokenAddress( + new PublicKey(newToToken.contractAddress), + tokenAccountPubkey + ); + + const getTokenAccount = await connection.getAccountInfo(tokenAccount); + if ((getTokenAccount?.lamports || 0) === 0) { + throw generateError('The destination token account is not initalized! Please try with an active account!'); + } + return handleTransferOraichainToSol({ fromToken: from, transferAmount: fromAmount }); } diff --git a/src/program/web3.ts b/src/program/web3.ts index f7a00060c..c1eb94c75 100644 --- a/src/program/web3.ts +++ b/src/program/web3.ts @@ -37,10 +37,13 @@ export class Web3SolanaProgramInteraction { connection: Connection; constructor() { - this.connection = new Connection(DEFAULT_SOLANA_RPC, { - commitment: commitmentLevel, - wsEndpoint: DEFAULT_SOLANA_WEBSOCKET - }); + this.connection = new Connection( + 'https://alien-stylish-road.solana-mainnet.quiknode.pro/4a5144638133c97e486d36e03fa4a82ea99c9add/', + { + commitment: commitmentLevel, + wsEndpoint: DEFAULT_SOLANA_WEBSOCKET + } + ); } bridgeSolToOrai = async (