From a0afd0973888af1e88996504beb5bd3ac1535c1f Mon Sep 17 00:00:00 2001 From: Polybius93 Date: Mon, 23 Dec 2024 16:43:00 +0100 Subject: [PATCH 1/7] feat: add garden swap functionality and ui components --- package.json | 8 +- public/images/gear-icon.svg | 4 + public/images/swap-arrow.svg | 3 + src/app/app.tsx | 79 +- src/app/components/header/components/tabs.tsx | 5 + .../swap/components/swap-amount-card.tsx | 96 + .../swap/components/swap-button.tsx | 21 + .../components/swap-extra-details-card.tsx | 47 + .../swap/components/swap-header.tsx | 17 + .../swap/components/swap-networks-menu.tsx | 77 + .../swap/components/swap-settings-menu.tsx | 31 + .../swap/components/swap-token-label.tsx | 25 + .../components/swap.orderbook.copy-button.tsx | 61 + .../swap.orderbook.order.asset-value.tsx | 20 + .../swap.orderbook.order.details.field.tsx | 33 + .../swap.orderbook.order.details.tsx | 43 + .../swap.orderbook.order.tsx | 170 + .../swap.orderbook.orderlist.tsx | 39 + .../swap.orderbook/swap.orderbook.tsx | 30 + src/app/components/swap/pages/swap-page.tsx | 18 + src/app/components/swap/swap.tsx | 179 + src/app/functions/configuration.functions.ts | 5 +- src/app/hooks/use-swap-order-status.ts | 85 + src/app/hooks/use-swap.ts | 262 ++ src/shared/constants/swap.constants.ts | 6 + src/styles/app-theme.ts | 1 + updates.patch | 3492 +++++++++++++++++ vite.config.ts | 1 + yarn.lock | 1018 +++-- 29 files changed, 5548 insertions(+), 328 deletions(-) create mode 100644 public/images/gear-icon.svg create mode 100644 public/images/swap-arrow.svg create mode 100644 src/app/components/swap/components/swap-amount-card.tsx create mode 100644 src/app/components/swap/components/swap-button.tsx create mode 100644 src/app/components/swap/components/swap-extra-details-card.tsx create mode 100644 src/app/components/swap/components/swap-header.tsx create mode 100644 src/app/components/swap/components/swap-networks-menu.tsx create mode 100644 src/app/components/swap/components/swap-settings-menu.tsx create mode 100644 src/app/components/swap/components/swap-token-label.tsx create mode 100644 src/app/components/swap/components/swap.orderbook/components/swap.orderbook.copy-button.tsx create mode 100644 src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.asset-value.tsx create mode 100644 src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/components/swap.orderbook.order.details.field.tsx create mode 100644 src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/swap.orderbook.order.details.tsx create mode 100644 src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/swap.orderbook.order.tsx create mode 100644 src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/swap.orderbook.orderlist.tsx create mode 100644 src/app/components/swap/components/swap.orderbook/swap.orderbook.tsx create mode 100644 src/app/components/swap/pages/swap-page.tsx create mode 100644 src/app/components/swap/swap.tsx create mode 100644 src/app/hooks/use-swap-order-status.ts create mode 100644 src/app/hooks/use-swap.ts create mode 100644 src/shared/constants/swap.constants.ts create mode 100644 updates.patch diff --git a/package.json b/package.json index 9e7e5305..78f846a0 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,9 @@ "@fontsource/inter": "^5.0.18", "@fontsource/onest": "^5.0.3", "@fontsource/poppins": "^5.0.8", + "@gardenfi/core": "0.3.0-beta.14", + "@gardenfi/orderbook": "0.2.0-beta.41", + "@gardenfi/react-hooks": "0.0.1-beta.135", "@gemwallet/api": "^3.8.0", "@ledgerhq/hw-app-xrp": "^6.29.4", "@ledgerhq/hw-transport-webusb": "^6.28.6", @@ -41,12 +44,13 @@ "@types/chrome": "^0.0.248", "@types/d3": "^7.4.3", "@types/ramda": "^0.30.1", + "@wagmi/core": "^2.16.1", "apexcharts": "^3.49.1", "buffer": "^6.0.3", "concurrently": "^8.2.2", "d3": "^7.9.0", "decimal.js": "^10.4.3", - "dlc-btc-lib": "2.5.1", + "dlc-btc-lib": "2.5.3", "dotenv": "^16.3.1", "ethers": "5.7.2", "formik": "^2.4.5", @@ -66,7 +70,7 @@ "redux-persist-expire": "^1.1.1", "viem": "2.x", "vite-plugin-toml": "^0.7.0", - "wagmi": "^2.12.2", + "wagmi": "2.14.3", "xrpl": "^4.0.0" }, "devDependencies": { diff --git a/public/images/gear-icon.svg b/public/images/gear-icon.svg new file mode 100644 index 00000000..51c3eeb1 --- /dev/null +++ b/public/images/gear-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/images/swap-arrow.svg b/public/images/swap-arrow.svg new file mode 100644 index 00000000..799bfe41 --- /dev/null +++ b/public/images/swap-arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/app/app.tsx b/src/app/app.tsx index f3cc5404..099cd7e5 100644 --- a/src/app/app.tsx +++ b/src/app/app.tsx @@ -2,7 +2,9 @@ import { Route } from 'react-router-dom'; import { AppLayout } from '@components/app.layout'; import { MerchantDetails } from '@components/proof-of-reserve/components/merchant-details/merchant-details'; +import { SwapPage } from '@components/swap/pages/swap-page'; import { getWagmiConfiguration } from '@functions/configuration.functions'; +import { GardenProvider, environment } from '@gardenfi/react-hooks'; import { AttestorDetailsPage } from '@pages/attestor-details/attestor-details-page'; import { AttestorDetailsSelectPage } from '@pages/attestor-details/attestor-details-select-page'; import { MyVaults } from '@pages/my-vaults/my-vaults'; @@ -31,39 +33,50 @@ export function App(): React.JSX.Element { return ( - - - - - - - - - - - - } /> - } /> - {/* } /> */} - } /> - } /> - } - /> - } /> - } /> - - - - - - - - - - - + + + + + + + + + + + + + } /> + } /> + {/* } /> */} + } /> + } /> + } + /> + } + /> + } /> + } /> + + + + + + + + + + + + ); diff --git a/src/app/components/header/components/tabs.tsx b/src/app/components/header/components/tabs.tsx index 8e7ab180..7507add6 100644 --- a/src/app/components/header/components/tabs.tsx +++ b/src/app/components/header/components/tabs.tsx @@ -30,6 +30,11 @@ export function NavigationTabs({ isActive={activeTab === '/how-it-works'} handleClick={() => handleTabClick('/how-it-works')} /> */} + handleTabClick('/swap')} + /> {isActiveTabs && ( <> diff --git a/src/app/components/swap/components/swap-amount-card.tsx b/src/app/components/swap/components/swap-amount-card.tsx new file mode 100644 index 00000000..c6164fc8 --- /dev/null +++ b/src/app/components/swap/components/swap-amount-card.tsx @@ -0,0 +1,96 @@ +import { HStack, Input, Text, VStack } from '@chakra-ui/react'; +import { Asset } from '@gardenfi/orderbook'; + +import { SwapTokenLabel } from './swap-token-label'; + +interface SwapAmountCardProps { + direction: string; + asset: Asset; + amount?: string; + amountInUSD?: string; + setAmount?: (amount: string) => void; + balance?: number; + transactionGasFee?: number; +} + +const assetDetails = { + iBTC: { + assetColor: 'purple.01', + assetSymbol: 'iBTC', + assetLogo: '/images/logos/ibtc-logo.svg', + }, + BTC: { + assetColor: 'orange.01', + assetSymbol: 'BTC', + assetLogo: '/images/logos/bitcoin-logo.svg', + }, +}; + +export function SwapAmountCard({ + direction, + amount, + asset, + amountInUSD, + setAmount, +}: SwapAmountCardProps): React.JSX.Element | null { + const isBTC = asset.symbol === 'BTC'; + const { assetColor, assetSymbol, assetLogo } = assetDetails[isBTC ? 'BTC' : 'iBTC']; + + return ( + + + {direction} + + + + {direction === 'From' ? ( + setAmount?.(e.target.value)} + borderColor={'white.01'} + color={'white.01'} + focusBorderColor={'rgba(50, 201, 247, 1)'} // accent.lightBlue.01 + /> + ) : ( + + {amount} + + )} + + + + + {amountInUSD} USD + + + + + ); +} diff --git a/src/app/components/swap/components/swap-button.tsx b/src/app/components/swap/components/swap-button.tsx new file mode 100644 index 00000000..8a09bda4 --- /dev/null +++ b/src/app/components/swap/components/swap-button.tsx @@ -0,0 +1,21 @@ +import React from 'react'; + +import { Button } from '@chakra-ui/react'; + +interface SwapButtonProps { + isDisabled?: boolean; + onClick: () => void; +} + +export function SwapButton({ onClick, isDisabled }: SwapButtonProps): React.JSX.Element { + return ( + + ); +} diff --git a/src/app/components/swap/components/swap-extra-details-card.tsx b/src/app/components/swap/components/swap-extra-details-card.tsx new file mode 100644 index 00000000..03fbd7cd --- /dev/null +++ b/src/app/components/swap/components/swap-extra-details-card.tsx @@ -0,0 +1,47 @@ +// import { HStack, Text, VStack } from '@chakra-ui/react'; + +// interface SwapExtraDetailsCardProps { +// gasFee: number; +// } + +// export function SwapExtraDetailsCard({ gasFee }: SwapExtraDetailsCardProps): React.JSX.Element { +// return ( +// +// +// +// Gas Fee +// +// +// {gasFee} +// +// +// +// +// Rate +// +// +// 1 BTC = 1 dlcBTC +// +// +// +// +// Slippage Tolerance +// +// +// Auto +// +// +// +// ); +// } + +// TODO: Add back this component diff --git a/src/app/components/swap/components/swap-header.tsx b/src/app/components/swap/components/swap-header.tsx new file mode 100644 index 00000000..afa0820d --- /dev/null +++ b/src/app/components/swap/components/swap-header.tsx @@ -0,0 +1,17 @@ +import { HStack, Text } from '@chakra-ui/react'; + +// import { SwapNetworksMenu } from './swap-networks-menu'; + +export function SwapHeader(): React.JSX.Element { + return ( + + + Swap + + + {/* {}} /> */} + {/* {}} /> */} + + + ); +} diff --git a/src/app/components/swap/components/swap-networks-menu.tsx b/src/app/components/swap/components/swap-networks-menu.tsx new file mode 100644 index 00000000..7577473c --- /dev/null +++ b/src/app/components/swap/components/swap-networks-menu.tsx @@ -0,0 +1,77 @@ +// import { Image, Menu, MenuButton, MenuItem, MenuList } from '@chakra-ui/react'; +// import { EthereumNetworkID } from 'dlc-btc-lib/models'; +// import { useAccount, useConfig, useSwitchChain } from 'wagmi'; + +// interface SwapNetworksMenuProps { +// isMenuOpen: boolean; +// setIsMenuOpen: (isMenuOpen: boolean) => void; +// } + +// const getNetworkLogo = (ethereumNetworkId?: EthereumNetworkID) => { +// switch (ethereumNetworkId) { +// case EthereumNetworkID.Arbitrum: +// case EthereumNetworkID.ArbitrumSepolia: +// return './images/logos/arbitrum-token.svg'; +// case EthereumNetworkID.Sepolia: +// case EthereumNetworkID.Mainnet: +// return './images/logos/eth-token.svg'; +// case EthereumNetworkID.BaseSepolia: +// case EthereumNetworkID.Base: +// return './images/logos/base-token.svg'; +// default: +// return './images/logos/arbitrum-token.svg'; +// } +// }; + +// export function SwapNetworksMenu({ +// isMenuOpen, +// setIsMenuOpen, +// }: SwapNetworksMenuProps): React.JSX.Element | null { +// const { chains } = useConfig(); +// const { chain, isConnected } = useAccount(); +// const { switchChain } = useSwitchChain(); +// //TODO: maybe add the network logo to the setstate? + +// if (!isConnected) { +// return null; +// } + +// return ( +// +// setIsMenuOpen(!isMenuOpen)} +// h={'50px'} +// w={'50px'} +// bg={'background.content.02'} +// border={'none'} +// boxShadow={'2px 2px 4px rgba(0, 0, 0, 0.5)'} +// > +// {'Selected +// +// +// {chains.map(ethereumNetwork => { +// return ( +// { +// switchChain({ chainId: ethereumNetwork.id }); +// setIsMenuOpen(!isMenuOpen); +// getNetworkLogo(chain?.id.toString() as EthereumNetworkID); +// }} +// > +// {ethereumNetwork.name} +// +// ); +// })} +// +// +// ); +// } + +// TODO: Add back this component diff --git a/src/app/components/swap/components/swap-settings-menu.tsx b/src/app/components/swap/components/swap-settings-menu.tsx new file mode 100644 index 00000000..0ac41e30 --- /dev/null +++ b/src/app/components/swap/components/swap-settings-menu.tsx @@ -0,0 +1,31 @@ +// import { Image, Menu, MenuButton, MenuItem, MenuList } from '@chakra-ui/react'; + +// interface SwapSettingsMenuProps { +// isMenuOpen: boolean; +// setIsMenuOpen: (isMenuOpen: boolean) => void; +// } + +// export function SwapSettingsMenu({ +// isMenuOpen, +// setIsMenuOpen, +// }: SwapSettingsMenuProps): React.JSX.Element { +// return ( +// +// setIsMenuOpen(!isMenuOpen)} +// h={'50px'} +// w={'50px'} +// bg={'background.content.02'} +// border={'none'} +// boxShadow={'2px 2px 4px rgba(0, 0, 0, 0.5)'} +// > +// {'Gear +// +// +// Profile Settings +// +// +// ); +// } + +// TODO: Add back this component diff --git a/src/app/components/swap/components/swap-token-label.tsx b/src/app/components/swap/components/swap-token-label.tsx new file mode 100644 index 00000000..8fc058ad --- /dev/null +++ b/src/app/components/swap/components/swap-token-label.tsx @@ -0,0 +1,25 @@ +import { HStack, Image, Text } from '@chakra-ui/react'; + +interface SwapTokenLabelProps { + tokenImage: string; + tokenDisplay: string; +} + +export function SwapTokenLabel({ + tokenImage, + tokenDisplay, +}: SwapTokenLabelProps): React.JSX.Element { + return ( + + {tokenDisplay} + + {tokenDisplay} + + + ); +} diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.copy-button.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.copy-button.tsx new file mode 100644 index 00000000..d1ad84c6 --- /dev/null +++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.copy-button.tsx @@ -0,0 +1,61 @@ +import { useState } from 'react'; + +import { CheckCircleIcon, CopyIcon } from '@chakra-ui/icons'; +import { HStack, IconButton, PlacementWithLogical, Tooltip } from '@chakra-ui/react'; + +interface CopyButtonProps { + textToCopy: string; + placement?: PlacementWithLogical; +} + +export function CopyButton({ textToCopy, placement = 'left' }: CopyButtonProps): React.JSX.Element { + const [copied, setCopied] = useState(false); + + const handleCopy = async () => { + try { + await navigator.clipboard.writeText(textToCopy); + setCopied(true); + setTimeout(() => setCopied(false), 2000); + } catch (error: any) { + // eslint-disable-next-line no-console + console.error('Failed to copy to Clipboard', error); + } + }; + + return ( + + + + ) : ( + + ) + } + /> + + + ); +} diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.asset-value.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.asset-value.tsx new file mode 100644 index 00000000..8cedca4d --- /dev/null +++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.asset-value.tsx @@ -0,0 +1,20 @@ +import { Text, VStack } from '@chakra-ui/react'; + +interface AssetValueProps { + label: string; + amount: string; + asset: string; +} + +export function OrderAmount({ label, amount, asset }: AssetValueProps): React.JSX.Element { + return ( + + + {label} + + + {amount} {asset} + + + ); +} diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/components/swap.orderbook.order.details.field.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/components/swap.orderbook.order.details.field.tsx new file mode 100644 index 00000000..77278d28 --- /dev/null +++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/components/swap.orderbook.order.details.field.tsx @@ -0,0 +1,33 @@ +// components/TransactionField.tsx +import { HStack, Text } from '@chakra-ui/react'; +import { truncateAddress } from 'dlc-btc-lib/utilities'; + +import { CopyButton } from '../../../../../../swap.orderbook.copy-button'; + +interface DetailsFieldProps { + label: string; + value: string; + shouldTruncate?: boolean; + includeCopyButton?: boolean; +} + +export function DetailsField({ + label, + value, + shouldTruncate = true, + includeCopyButton = true, +}: DetailsFieldProps): React.JSX.Element { + return ( + + + {label} + + + + {shouldTruncate ? truncateAddress(value) : value} + + {includeCopyButton && } + + + ); +} diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/swap.orderbook.order.details.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/swap.orderbook.order.details.tsx new file mode 100644 index 00000000..d49f70a8 --- /dev/null +++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/swap.orderbook.order.details.tsx @@ -0,0 +1,43 @@ +import { VStack } from '@chakra-ui/react'; +import { MatchedOrder } from '@gardenfi/orderbook'; + +import { DetailsField } from './components/swap.orderbook.order.details.field'; + +interface OrderDetailsProps { + order: MatchedOrder; +} + +export function OrderDetails({ order }: OrderDetailsProps): React.JSX.Element { + const { + destination_swap: { redeemer: to, redeem_tx_hash }, + created_at, + source_swap: { initiator: from, initiate_tx_hash, refund_tx_hash }, + } = order; + + const creationDate = new Date(created_at).toLocaleDateString('en-US'); + + return ( + + + + + {initiate_tx_hash && } + {redeem_tx_hash && } + {refund_tx_hash && } + + ); +} diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/swap.orderbook.order.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/swap.orderbook.order.tsx new file mode 100644 index 00000000..8c0b5cbc --- /dev/null +++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/swap.orderbook.order.tsx @@ -0,0 +1,170 @@ +import React, { useState } from 'react'; + +import { Button, Collapse, HStack, Text, VStack } from '@chakra-ui/react'; +import { OrderStatus } from '@gardenfi/core'; +import { MatchedOrder } from '@gardenfi/orderbook'; +import { useGarden } from '@gardenfi/react-hooks'; +import { useOrderStatus } from '@hooks/use-swap-order-status'; +import Decimal from 'decimal.js'; +import { truncateAddress, unshiftValue } from 'dlc-btc-lib/utilities'; + +import { StatusLabel } from '@shared/constants/swap.constants'; + +import { CopyButton } from '../../../swap.orderbook.copy-button'; +import { OrderAmount } from './components/swap.orderbook.order.asset-value'; +import { OrderDetails } from './components/swap.orderbook.order.details/swap.orderbook.order.details'; + +function StatusButton({ + isInitiating, + onInitiate, +}: { + isInitiating: boolean; + onInitiate: () => void; +}): React.JSX.Element { + return ( + + ); +} + +const getStatusLabel = (status: OrderStatus): StatusLabel => { + switch (status) { + case OrderStatus.Redeemed: + case OrderStatus.Refunded: + case OrderStatus.CounterPartyRedeemed: + case OrderStatus.CounterPartyRedeemDetected: + return StatusLabel.Completed; + case OrderStatus.Matched: + return StatusLabel.Initiate; + case OrderStatus.DeadLineExceeded: + return StatusLabel.Expired; + default: + return StatusLabel.Pending; + } +}; + +interface OrderProps { + order: MatchedOrder; +} + +export function Order({ order }: OrderProps): React.JSX.Element { + const orderStatus = useOrderStatus(order); + + const [modelIsVisible, setModelIsVisible] = useState(false); + const [isInitiating, setIsInitiating] = useState(false); + const { evmInitiate } = useGarden(); + + const { source_swap, destination_swap } = order; + const sourceAmount = unshiftValue(new Decimal(source_swap.amount).toNumber()).toString(); + const destinationAmount = unshiftValue( + new Decimal(destination_swap.amount).toNumber() + ).toString(); + const userFriendlyStatus = orderStatus && getStatusLabel(orderStatus); + + const isFromBTC = order.source_swap.chain.toLowerCase().includes('bitcoin'); + const fromLabel = isFromBTC ? 'BTC' : 'iBTC'; + const toLabel = isFromBTC ? 'iBTC' : 'BTC'; + + const handleInitiate = async () => { + if (!evmInitiate) return; + setIsInitiating(true); + try { + const res = await evmInitiate(order); + if (!res.ok) { + throw new Error('Failed to initiate'); + } + } catch (error) { + alert('Failed to initiate'); + } finally { + setIsInitiating(false); + } + }; + + return ( + + + + Order ID: {truncateAddress(source_swap.swap_id)} + + + + + + + + + + Status + + {userFriendlyStatus === StatusLabel.Initiate && !isFromBTC ? ( + + ) : ( + + {userFriendlyStatus} + + )} + + + + + + + + Please initiate the swap by sending the BTC to the address below. + + + + {truncateAddress(source_swap.swap_id)} + + + + + + + + + + + ); +} diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/swap.orderbook.orderlist.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/swap.orderbook.orderlist.tsx new file mode 100644 index 00000000..e611fb69 --- /dev/null +++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/swap.orderbook.orderlist.tsx @@ -0,0 +1,39 @@ +import { VStack } from '@chakra-ui/react'; +import { FadeLayer } from '@components/fade-layer/fade-layer'; +import { MatchedOrder } from '@gardenfi/orderbook'; +import { scrollBarCSS } from '@styles/css-styles'; + +import { Order } from './components/swap.orderbook.order/swap.orderbook.order'; + +interface OrderListProps { + orders: MatchedOrder[]; +} + +export function OrderList({ orders }: OrderListProps): React.JSX.Element { + return ( + + + + {orders.map(order => ( + + ))} + + + + ); +} diff --git a/src/app/components/swap/components/swap.orderbook/swap.orderbook.tsx b/src/app/components/swap/components/swap.orderbook/swap.orderbook.tsx new file mode 100644 index 00000000..cebbc384 --- /dev/null +++ b/src/app/components/swap/components/swap.orderbook/swap.orderbook.tsx @@ -0,0 +1,30 @@ +import { useCallback, useEffect, useState } from 'react'; + +import { MatchedOrder } from '@gardenfi/orderbook'; +import { useGarden } from '@gardenfi/react-hooks'; + +import { OrderList } from './components/swap.orderbook.orderlist/swap.orderbook.orderlist'; + +const POLLING_INTERVAL = 10000; +const ORDERS_PER_PAGE = 4; + +export function Orderbook(): React.JSX.Element { + const { orderBook } = useGarden(); + const [orders, setOrders] = useState([]); + + const fetchOrders = useCallback(async () => { + if (!orderBook) return; + const res = await orderBook.fetchOrders(true, false, { + per_page: ORDERS_PER_PAGE, + }); + setOrders(res.val.data); + }, [orderBook]); + + useEffect(() => { + void fetchOrders(); + const intervalId = setInterval(fetchOrders, POLLING_INTERVAL); + return () => clearInterval(intervalId); + }, [fetchOrders]); + + return ; +} diff --git a/src/app/components/swap/pages/swap-page.tsx b/src/app/components/swap/pages/swap-page.tsx new file mode 100644 index 00000000..c1234356 --- /dev/null +++ b/src/app/components/swap/pages/swap-page.tsx @@ -0,0 +1,18 @@ +import { HStack } from '@chakra-ui/react'; +import { PageLayout } from '@pages/components/page.layout'; + +import { breakpoints } from '@shared/utils'; + +import { Orderbook } from '../components/swap.orderbook/swap.orderbook'; +import { Swap } from '../swap'; + +export function SwapPage(): React.JSX.Element { + return ( + + + + + + + ); +} diff --git a/src/app/components/swap/swap.tsx b/src/app/components/swap/swap.tsx new file mode 100644 index 00000000..efbd6f07 --- /dev/null +++ b/src/app/components/swap/swap.tsx @@ -0,0 +1,179 @@ +import { CheckCircleIcon, ChevronDownIcon, ChevronUpIcon } from '@chakra-ui/icons'; +import { Button, HStack, Input, Spinner, Text, VStack } from '@chakra-ui/react'; +import { useBitcoinPrice } from '@hooks/use-bitcoin-price'; +import { useSwap } from '@hooks/use-swap'; +import Decimal from 'decimal.js'; +import { truncateAddress } from 'dlc-btc-lib/utilities'; + +import { SwapAmountCard } from './components/swap-amount-card'; +import { SwapButton } from './components/swap-button'; +import { SwapHeader } from './components/swap-header'; + +const assetValueInUSD = (assetAmount: string, currentBitcoinPrice: number): string => { + try { + return `$ ${new Decimal(assetAmount).mul(currentBitcoinPrice).toNumber().toLocaleString('en-US')}`; + } catch (error) { + return '0'; + } +}; + +export function Swap(): React.JSX.Element { + const { + inputToken, + setTokens, + inputAmount, + validateAndSetInputAmount, + outputToken, + outputAmount, + handleSwap, + bitcoinAddress, + setBitcoinAddress, + isQuoteLoading, + quoteError, + swapError, + isProcessing, + isCompleted, + } = useSwap(); + + const { bitcoinPrice } = useBitcoinPrice(); + + return ( + + + + {outputToken.symbol === 'BTC' ? ( + <> + + + + + + + ) : ( + <> + + + + + + + )} + {isQuoteLoading || + (isProcessing && ( + + + Loading + + ))} + {quoteError || + (swapError && ( + + {`Error: ${quoteError ? quoteError : swapError}`} + + ))} + {isCompleted && ( + + {`Swap Request Sent, Order ID: ${truncateAddress(isCompleted)}`} + + + )} + + + + + {`${outputToken.symbol === 'BTC' ? 'Receive' : 'Refund'}`} Address + + setBitcoinAddress(e.target.value)} + borderColor={'white.03'} + color={'white'} + focusBorderColor={'rgba(255,255,255,1)'} + isInvalid={!bitcoinAddress} + placeholder="Enter Bitcoin Address" + /> + + {/* */} + {isQuoteLoading || + isProcessing || + (quoteError === null && ( + handleSwap()} /> + ))} + + ); +} diff --git a/src/app/functions/configuration.functions.ts b/src/app/functions/configuration.functions.ts index 263dc1f7..a694488a 100644 --- a/src/app/functions/configuration.functions.ts +++ b/src/app/functions/configuration.functions.ts @@ -86,13 +86,14 @@ export function getWagmiConfiguration(ethereumNetworkIDs: EthereumNetworkID[]): function clientToSigner(client: Client): providers.JsonRpcSigner { const { account, chain, transport } = client; - const network = { chainId: chain.id, name: chain.name, ensAddress: chain.contracts?.ensRegistry?.address, }; - return new providers.Web3Provider(transport, network).getSigner(account.address); + const provider = new providers.Web3Provider(transport, network); + const signer = provider.getSigner(account.address); + return signer; } export function useEthersSigner({ chainId }: { chainId?: number } = {}): diff --git a/src/app/hooks/use-swap-order-status.ts b/src/app/hooks/use-swap-order-status.ts new file mode 100644 index 00000000..94253c70 --- /dev/null +++ b/src/app/hooks/use-swap-order-status.ts @@ -0,0 +1,85 @@ +import { useEffect, useState } from 'react'; + +import { OrderStatus, ParseOrderStatus } from '@gardenfi/core'; +import { Chain, MatchedOrder } from '@gardenfi/orderbook'; +import { GARDEN_CONFIG } from '@gardenfi/react-hooks'; + +async function fetchJson(url: string, options?: RequestInit): Promise { + const response = await fetch(url, { + headers: { 'Content-Type': 'application/json' }, + ...options, + }); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + return response.json() as Promise; +} + +const createAPI = (isTestnet: boolean) => { + const apiConfiguration = isTestnet ? GARDEN_CONFIG.testnet : GARDEN_CONFIG.mainnet; + + if (!apiConfiguration) { + throw new Error('Invalid Configuration'); + } + + Object.entries(apiConfiguration).forEach(([key, value]) => { + if (!value) throw new Error(`Missing ${key} in config`); + }); + + return { + home: 'https://garden.finance', + data: { + data: apiConfiguration, + assets: `${apiConfiguration.blockNumberFetcherUrl}/assets`, + blockNumbers: (network: 'mainnet' | 'testnet') => + `${apiConfiguration.blockNumberFetcherUrl}/blocknumber/${network}`, + }, + orderbook: apiConfiguration.orderBookUrl, + quote: apiConfiguration.quoteUrl, + mempool: { + testnet: 'https://mempool.space/testnet4/api', + mainnet: 'https://mempool.space/api', + }, + }; +}; + +export const useOrderStatus = (order: MatchedOrder): OrderStatus | undefined => { + const [blockNumbers, setBlockNumbers] = useState | null>(null); + const [status, setStatus] = useState(); + + const isTestnet = ['testnet', 'devnet', 'localhost'].includes(appConfiguration.appEnvironment); + + useEffect(() => { + const fetchBlockNumbers = async () => { + try { + const data = await fetchJson>( + createAPI(isTestnet).data.blockNumbers('testnet') + ); + setBlockNumbers(data); + } catch (error) { + // eslint-disable-next-line no-console + console.error('Failed to fetch Block Numbers:', error); + } + }; + + void fetchBlockNumbers(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + useEffect(() => { + if (!blockNumbers) return; + + const { source_swap, destination_swap } = order; + const sourceBlockNumber = blockNumbers[source_swap.chain]; + const destinationBlockNumber = blockNumbers[destination_swap.chain]; + + if (!sourceBlockNumber || !destinationBlockNumber) return; + + const orderStatus = ParseOrderStatus(order, sourceBlockNumber, destinationBlockNumber); + setStatus(orderStatus); + }, [blockNumbers, order]); + + return status; +}; diff --git a/src/app/hooks/use-swap.ts b/src/app/hooks/use-swap.ts new file mode 100644 index 00000000..b90f3f42 --- /dev/null +++ b/src/app/hooks/use-swap.ts @@ -0,0 +1,262 @@ +import { useEffect, useState } from 'react'; + +import { SwapParams } from '@gardenfi/core'; +import { Asset, SupportedAssets } from '@gardenfi/orderbook'; +import { useGarden } from '@gardenfi/react-hooks'; +import Decimal from 'decimal.js'; +import { isBitcoinAddress } from 'dlc-btc-lib/bitcoin-functions'; +import { shiftValue, unshiftValue } from 'dlc-btc-lib/utilities'; + +import { BITCOIN_NETWORK_MAP } from '@shared/constants/bitcoin.constants'; + +interface QuoteParams { + fromAsset: Asset; + toAsset: Asset; + amount: number; + isExactOut?: boolean; +} + +enum SupportedEVMNetworks { + ArbitrumSepolia = '421614', + BaseSepolia = '84532', +} + +const SUPPORTED_ASSETS_BTC_MAP = { + mainnet: SupportedAssets.mainnet.bitcoin_primary, + testnet: SupportedAssets.testnet.bitcoin_testnet_primary, + devnet: SupportedAssets.testnet.bitcoin_testnet_primary, + localhost: SupportedAssets.testnet.bitcoin_testnet_primary, +}; + +const SUPPORTED_ASSETS_IBTC_MAP = { + [SupportedEVMNetworks.ArbitrumSepolia]: + SupportedAssets.testnet.arbitrum_sepolia_0xdfe6d9363ee96152d39391009a6723819d9e25eb, + [SupportedEVMNetworks.BaseSepolia]: + SupportedAssets.testnet.base_sepolia_0xbcdad29ac77e5bb27fd528ab0045af630259fe4f, +}; + +function useDebounce(value: T, delay: number): T { + const [debouncedValue, setDebouncedValue] = useState(value); + + useEffect(() => { + const timer = setTimeout(() => { + setDebouncedValue(value); + }, delay); + + return () => { + clearTimeout(timer); + }; + }, [value, delay]); + + return debouncedValue; +} + +interface UseSwapReturnType { + handleSwap: () => void; + inputToken: Asset; + setTokens: () => void; + inputAmount: string; + validateAndSetInputAmount: (amount: string) => void; + outputToken: Asset; + setOutputToken: (token: Asset) => void; + outputAmount: string | undefined; + bitcoinAddress: string; + setBitcoinAddress: (address: string) => void; + isQuoteLoading: boolean; + quoteError: string | null; + swapError: string | null; + isProcessing: boolean; + isCompleted: string | null; +} + +export function useSwap(): UseSwapReturnType { + const { initializeSecretManager, swapAndInitiate, getQuote } = useGarden(); + + const [inputToken, setInputToken] = useState( + SUPPORTED_ASSETS_IBTC_MAP[SupportedEVMNetworks.ArbitrumSepolia] + ); + const [inputAmount, setInputAmount] = useState('0.01'); + + const [outputToken, setOutputToken] = useState( + SUPPORTED_ASSETS_BTC_MAP[appConfiguration.appEnvironment] + ); + const [outputAmount, setOutputAmount] = useState(); + + const [isQuoteLoading, setIsQuoteLoading] = useState(false); + const [quoteError, setQuoteError] = useState(null); + + const debouncedInputAmount = useDebounce(inputAmount, 500); + + const [bitcoinAddress, setBitcoinAddress] = useState(''); + + const [isCompleted, setIsCompleted] = useState(null); + const [swapError, setSwapError] = useState(null); + + const [isProcessing, setIsProcessing] = useState(false); + + function setTokens() { + setInputToken(outputToken); + setOutputToken(inputToken); + } + + function validateAndSetInputAmount(value: string) { + setInputAmount(value); + } + + useEffect(() => { + let timeoutId: NodeJS.Timeout; + + if (isCompleted || swapError) { + timeoutId = setTimeout(() => { + setIsCompleted(null); + setSwapError(null); + }, 5000); + } + + return () => { + if (timeoutId) { + clearTimeout(timeoutId); + } + }; + }, [isCompleted, swapError]); + + useEffect(() => { + const updateQuote = async () => { + if (Number(debouncedInputAmount) <= 0) { + setOutputAmount('0'); + return; + } + + setIsQuoteLoading(true); + setQuoteError(null); + + try { + const sendAmount = shiftValue(Number(debouncedInputAmount)); + + const { amount } = await fetchQuote({ + fromAsset: inputToken, + toAsset: outputToken, + amount: sendAmount, + }); + + setOutputAmount(unshiftValue(new Decimal(amount).toNumber()).toString()); // Assuming 8 decimals for BTC + } catch (error) { + setQuoteError(error instanceof Error ? error.message : 'Failed to fetch quote'); + setOutputAmount('0'); + } finally { + setIsQuoteLoading(false); + } + }; + + void updateQuote(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [debouncedInputAmount, inputToken, outputToken, getQuote]); + + const initializeSecret = async () => { + if (!initializeSecretManager) { + throw new Error('Secret Manager initializer not available'); + } + + const response = await initializeSecretManager(); + + if (!response.ok || !response.val.getMasterPrivKey()) { + throw new Error('Failed to initialize Secret Manager'); + } + + return response; + }; + + const fetchQuote = async (quoteParams: QuoteParams) => { + if (!getQuote) { + throw new Error('Quote service not available'); + } + + const quote = await getQuote(quoteParams); + + if (quote.error) { + throw new Error(quote.error); + } + + const [strategy, amount] = Object.entries(quote.val.quotes)[0]; + + return { strategy, amount }; + }; + + const executeSwap = async (swapParams: SwapParams) => { + if (!swapAndInitiate) { + throw new Error('Swap service not available'); + } + + const response = await swapAndInitiate(swapParams); + + if (response.error) { + throw new Error(response.error); + } + + return response; + }; + + const handleSwap = async () => { + try { + setIsProcessing(true); + + if (!isBitcoinAddress(bitcoinAddress, BITCOIN_NETWORK_MAP[appConfiguration.bitcoinNetwork])) { + setSwapError('Invalid Bitcoin Address'); + return; + } + + await initializeSecret(); + + const sendAmount = shiftValue(new Decimal(inputAmount).toNumber()); + + const { strategy, amount } = await fetchQuote({ + fromAsset: inputToken, + toAsset: outputToken, + amount: sendAmount, + }); + + const swapParams = { + fromAsset: inputToken, + toAsset: outputToken, + sendAmount: sendAmount.toString(), + receiveAmount: amount.toString(), + additionalData: { + strategyId: strategy, + btcAddress: bitcoinAddress, + }, + }; + + const response = await executeSwap(swapParams); + + if (response.error) { + throw response.error; + } + + setIsCompleted(response.val.source_swap.swap_id); + + return response; + } catch (error) { + setSwapError(error instanceof Error ? error.message : 'Failed to Swap'); + } finally { + setIsProcessing(false); + } + }; + + return { + handleSwap, + setTokens, + inputToken, + inputAmount, + validateAndSetInputAmount, + setOutputToken, + outputToken, + outputAmount, + bitcoinAddress, + setBitcoinAddress, + isQuoteLoading, + isCompleted, + isProcessing, + quoteError, + swapError, + }; +} diff --git a/src/shared/constants/swap.constants.ts b/src/shared/constants/swap.constants.ts new file mode 100644 index 00000000..4edec054 --- /dev/null +++ b/src/shared/constants/swap.constants.ts @@ -0,0 +1,6 @@ +export enum StatusLabel { + Completed = 'Completed', + Pending = 'In Progress', + Expired = 'Expired', + Initiate = 'Awaiting Initiate', +} diff --git a/src/styles/app-theme.ts b/src/styles/app-theme.ts index db734c9d..525c0039 100644 --- a/src/styles/app-theme.ts +++ b/src/styles/app-theme.ts @@ -49,6 +49,7 @@ export const appTheme = extendTheme({ 'background.website.01': 'rgba(0, 0, 0, 1)', 'background.container.01': 'rgba(23, 24, 29, 1)', 'background.content.01': 'rgba(51, 51, 51, 1)', + 'background.content.02': 'rgba(77, 77, 77, 1)', 'grey.01': 'rgba(181, 182, 187, 1)', 'border.lightBlue.01': 'rgba(50, 201, 247,0.75)', 'border.white.01': 'rgba(255,255,255,0.25)', diff --git a/updates.patch b/updates.patch new file mode 100644 index 00000000..bb6ac350 --- /dev/null +++ b/updates.patch @@ -0,0 +1,3492 @@ +diff --git a/package.json b/package.json +index 9e7e530..c98aa62 100644 +--- a/package.json ++++ b/package.json +@@ -31,6 +31,9 @@ + "@fontsource/onest": "^5.0.3", + "@fontsource/poppins": "^5.0.8", + "@gemwallet/api": "^3.8.0", ++ "@gardenfi/core": "0.3.0-beta.14", ++ "@gardenfi/orderbook": "0.2.0-beta.41", ++ "@gardenfi/react-hooks": "0.0.1-beta.135", + "@ledgerhq/hw-app-xrp": "^6.29.4", + "@ledgerhq/hw-transport-webusb": "^6.28.6", + "@netlify/functions": "^2.8.1", +@@ -46,7 +49,7 @@ + "concurrently": "^8.2.2", + "d3": "^7.9.0", + "decimal.js": "^10.4.3", +- "dlc-btc-lib": "2.5.1", ++ "dlc-btc-lib": "2.5.3", + "dotenv": "^16.3.1", + "ethers": "5.7.2", + "formik": "^2.4.5", +@@ -64,9 +67,9 @@ + "redux": "^4.2.1", + "redux-persist": "^6.0.0", + "redux-persist-expire": "^1.1.1", +- "viem": "2.x", ++ "viem": "^2.20.1", + "vite-plugin-toml": "^0.7.0", +- "wagmi": "^2.12.2", ++ "wagmi": "2.14.3", + "xrpl": "^4.0.0" + }, + "devDependencies": { +diff --git a/public/images/gear-icon.svg b/public/images/gear-icon.svg +new file mode 100644 +index 0000000..51c3eeb +--- /dev/null ++++ b/public/images/gear-icon.svg +@@ -0,0 +1,4 @@ ++ ++ ++ ++ +diff --git a/public/images/swap-arrow.svg b/public/images/swap-arrow.svg +new file mode 100644 +index 0000000..799bfe4 +--- /dev/null ++++ b/public/images/swap-arrow.svg +@@ -0,0 +1,3 @@ ++ ++ ++ +diff --git a/src/app/app.tsx b/src/app/app.tsx +index f3cc540..099cd7e 100644 +--- a/src/app/app.tsx ++++ b/src/app/app.tsx +@@ -2,7 +2,9 @@ import { Route } from 'react-router-dom'; + + import { AppLayout } from '@components/app.layout'; + import { MerchantDetails } from '@components/proof-of-reserve/components/merchant-details/merchant-details'; ++import { SwapPage } from '@components/swap/pages/swap-page'; + import { getWagmiConfiguration } from '@functions/configuration.functions'; ++import { GardenProvider, environment } from '@gardenfi/react-hooks'; + import { AttestorDetailsPage } from '@pages/attestor-details/attestor-details-page'; + import { AttestorDetailsSelectPage } from '@pages/attestor-details/attestor-details-select-page'; + import { MyVaults } from '@pages/my-vaults/my-vaults'; +@@ -31,39 +33,50 @@ export function App(): React.JSX.Element { + return ( + + +- +- +- +- +- +- +- +- +- +- +- +- } /> +- } /> +- {/* } /> */} +- } /> +- } /> +- } +- /> +- } /> +- } /> +- +- +- +- +- +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ } /> ++ } /> ++ {/* } /> */} ++ } /> ++ } /> ++ } ++ /> ++ } ++ /> ++ } /> ++ } /> ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + ); +diff --git a/src/app/components/header/components/tabs.tsx b/src/app/components/header/components/tabs.tsx +index 8e7ab18..7507add 100644 +--- a/src/app/components/header/components/tabs.tsx ++++ b/src/app/components/header/components/tabs.tsx +@@ -30,6 +30,11 @@ export function NavigationTabs({ + isActive={activeTab === '/how-it-works'} + handleClick={() => handleTabClick('/how-it-works')} + /> */} ++ handleTabClick('/swap')} ++ /> + + {isActiveTabs && ( + <> +diff --git a/src/app/components/mint-unmint/components/burn-transaction-screen/burn-transaction-screen.tsx b/src/app/components/mint-unmint/components/burn-transaction-screen/burn-transaction-screen.tsx +index 7515979..6dd46ed 100644 +--- a/src/app/components/mint-unmint/components/burn-transaction-screen/burn-transaction-screen.tsx ++++ b/src/app/components/mint-unmint/components/burn-transaction-screen/burn-transaction-screen.tsx +@@ -42,7 +42,7 @@ export function BurnTokenTransactionForm({ + + const { ethereumNetworkConfiguration } = useContext(EthereumNetworkConfigurationContext); + +- const signer = useEthersSigner(); ++ const { getEthersSigner } = useEthersSigner(); + + const { unmintStep } = useSelector((state: RootState) => state.mintunmint); + const [isSubmitting, setIsSubmitting] = useState(false); +@@ -60,8 +60,11 @@ export function BurnTokenTransactionForm({ + if (currentRisk === 'High') throw new Error('Risk Level is too high'); + const formattedWithdrawAmount = BigInt(shiftValue(withdrawAmount)); + ++ const signer = await getEthersSigner(); ++ if (!signer) throw new Error('No signer available'); ++ + await withdraw( +- ethereumNetworkConfiguration.dlcManagerContract.connect(signer!), ++ ethereumNetworkConfiguration.dlcManagerContract.connect(signer), + currentVault.uuid, + formattedWithdrawAmount + ); +diff --git a/src/app/components/mint-unmint/components/setup-vault-screen/setup-vault-screen.tsx b/src/app/components/mint-unmint/components/setup-vault-screen/setup-vault-screen.tsx +index 43121e4..13dc3ce 100644 +--- a/src/app/components/mint-unmint/components/setup-vault-screen/setup-vault-screen.tsx ++++ b/src/app/components/mint-unmint/components/setup-vault-screen/setup-vault-screen.tsx +@@ -24,7 +24,7 @@ export function SetupVaultScreen(): React.JSX.Element { + const { ethereumNetworkConfiguration } = useContext(EthereumNetworkConfigurationContext); + const { rippleNetworkConfiguration } = useContext(RippleNetworkConfigurationContext); + +- const signer = useEthersSigner(); ++ const { getEthersSigner } = useEthersSigner(); + + const [isSubmitting, setIsSubmitting] = useState(false); + +@@ -40,7 +40,7 @@ export function SetupVaultScreen(): React.JSX.Element { + ); + break; + case NetworkType.EVM: +- await setupVault(ethereumNetworkConfiguration.dlcManagerContract.connect(signer!)); ++ await setupVault(ethereumNetworkConfiguration.dlcManagerContract.connect()); + break; + default: + throw new Error('Unsupported Network Type'); +diff --git a/src/app/components/swap/components/swap-amount-card.tsx b/src/app/components/swap/components/swap-amount-card.tsx +new file mode 100644 +index 0000000..c6164fc +--- /dev/null ++++ b/src/app/components/swap/components/swap-amount-card.tsx +@@ -0,0 +1,96 @@ ++import { HStack, Input, Text, VStack } from '@chakra-ui/react'; ++import { Asset } from '@gardenfi/orderbook'; ++ ++import { SwapTokenLabel } from './swap-token-label'; ++ ++interface SwapAmountCardProps { ++ direction: string; ++ asset: Asset; ++ amount?: string; ++ amountInUSD?: string; ++ setAmount?: (amount: string) => void; ++ balance?: number; ++ transactionGasFee?: number; ++} ++ ++const assetDetails = { ++ iBTC: { ++ assetColor: 'purple.01', ++ assetSymbol: 'iBTC', ++ assetLogo: '/images/logos/ibtc-logo.svg', ++ }, ++ BTC: { ++ assetColor: 'orange.01', ++ assetSymbol: 'BTC', ++ assetLogo: '/images/logos/bitcoin-logo.svg', ++ }, ++}; ++ ++export function SwapAmountCard({ ++ direction, ++ amount, ++ asset, ++ amountInUSD, ++ setAmount, ++}: SwapAmountCardProps): React.JSX.Element | null { ++ const isBTC = asset.symbol === 'BTC'; ++ const { assetColor, assetSymbol, assetLogo } = assetDetails[isBTC ? 'BTC' : 'iBTC']; ++ ++ return ( ++ ++ ++ {direction} ++ ++ ++ ++ {direction === 'From' ? ( ++ setAmount?.(e.target.value)} ++ borderColor={'white.01'} ++ color={'white.01'} ++ focusBorderColor={'rgba(50, 201, 247, 1)'} // accent.lightBlue.01 ++ /> ++ ) : ( ++ ++ {amount} ++ ++ )} ++ ++ ++ ++ ++ {amountInUSD} USD ++ ++ ++ ++ ++ ); ++} +diff --git a/src/app/components/swap/components/swap-button.tsx b/src/app/components/swap/components/swap-button.tsx +new file mode 100644 +index 0000000..8a09bda +--- /dev/null ++++ b/src/app/components/swap/components/swap-button.tsx +@@ -0,0 +1,21 @@ ++import React from 'react'; ++ ++import { Button } from '@chakra-ui/react'; ++ ++interface SwapButtonProps { ++ isDisabled?: boolean; ++ onClick: () => void; ++} ++ ++export function SwapButton({ onClick, isDisabled }: SwapButtonProps): React.JSX.Element { ++ return ( ++ ++ ); ++} +diff --git a/src/app/components/swap/components/swap-extra-details-card.tsx b/src/app/components/swap/components/swap-extra-details-card.tsx +new file mode 100644 +index 0000000..03fbd7c +--- /dev/null ++++ b/src/app/components/swap/components/swap-extra-details-card.tsx +@@ -0,0 +1,47 @@ ++// import { HStack, Text, VStack } from '@chakra-ui/react'; ++ ++// interface SwapExtraDetailsCardProps { ++// gasFee: number; ++// } ++ ++// export function SwapExtraDetailsCard({ gasFee }: SwapExtraDetailsCardProps): React.JSX.Element { ++// return ( ++// ++// ++// ++// Gas Fee ++// ++// ++// {gasFee} ++// ++// ++// ++// ++// Rate ++// ++// ++// 1 BTC = 1 dlcBTC ++// ++// ++// ++// ++// Slippage Tolerance ++// ++// ++// Auto ++// ++// ++// ++// ); ++// } ++ ++// TODO: Add back this component +diff --git a/src/app/components/swap/components/swap-header.tsx b/src/app/components/swap/components/swap-header.tsx +new file mode 100644 +index 0000000..90f91a5 +--- /dev/null ++++ b/src/app/components/swap/components/swap-header.tsx +@@ -0,0 +1,17 @@ ++import { HStack, Text } from '@chakra-ui/react'; ++ ++import { SwapNetworksMenu } from './swap-networks-menu'; ++ ++export function SwapHeader(): React.JSX.Element { ++ return ( ++ ++ ++ Swap ++ ++ ++ {/* {}} /> */} ++ {/* {}} /> */} ++ ++ ++ ); ++} +diff --git a/src/app/components/swap/components/swap-networks-menu.tsx b/src/app/components/swap/components/swap-networks-menu.tsx +new file mode 100644 +index 0000000..1127f28 +--- /dev/null ++++ b/src/app/components/swap/components/swap-networks-menu.tsx +@@ -0,0 +1,75 @@ ++import { Image, Menu, MenuButton, MenuItem, MenuList } from '@chakra-ui/react'; ++import { EthereumNetworkID } from 'dlc-btc-lib/models'; ++import { useAccount, useConfig, useSwitchChain } from 'wagmi'; ++ ++interface SwapNetworksMenuProps { ++ isMenuOpen: boolean; ++ setIsMenuOpen: (isMenuOpen: boolean) => void; ++} ++ ++const getNetworkLogo = (ethereumNetworkId?: EthereumNetworkID) => { ++ switch (ethereumNetworkId) { ++ case EthereumNetworkID.Arbitrum: ++ case EthereumNetworkID.ArbitrumSepolia: ++ return './images/logos/arbitrum-token.svg'; ++ case EthereumNetworkID.Sepolia: ++ case EthereumNetworkID.Mainnet: ++ return './images/logos/eth-token.svg'; ++ case EthereumNetworkID.BaseSepolia: ++ case EthereumNetworkID.Base: ++ return './images/logos/base-token.svg'; ++ default: ++ return './images/logos/arbitrum-token.svg'; ++ } ++}; ++ ++export function SwapNetworksMenu({ ++ isMenuOpen, ++ setIsMenuOpen, ++}: SwapNetworksMenuProps): React.JSX.Element | null { ++ const { chains } = useConfig(); ++ const { chain, isConnected } = useAccount(); ++ const { switchChain } = useSwitchChain(); ++ //TODO: maybe add the network logo to the setstate? ++ ++ if (!isConnected) { ++ return null; ++ } ++ ++ return ( ++ ++ setIsMenuOpen(!isMenuOpen)} ++ h={'50px'} ++ w={'50px'} ++ bg={'background.content.02'} ++ border={'none'} ++ boxShadow={'2px 2px 4px rgba(0, 0, 0, 0.5)'} ++ > ++ {'Selected ++ ++ ++ {chains.map(ethereumNetwork => { ++ return ( ++ { ++ switchChain({ chainId: ethereumNetwork.id }); ++ setIsMenuOpen(!isMenuOpen); ++ getNetworkLogo(chain?.id.toString() as EthereumNetworkID); ++ }} ++ > ++ {ethereumNetwork.name} ++ ++ ); ++ })} ++ ++ ++ ); ++} +diff --git a/src/app/components/swap/components/swap-settings-menu.tsx b/src/app/components/swap/components/swap-settings-menu.tsx +new file mode 100644 +index 0000000..0ac41e3 +--- /dev/null ++++ b/src/app/components/swap/components/swap-settings-menu.tsx +@@ -0,0 +1,31 @@ ++// import { Image, Menu, MenuButton, MenuItem, MenuList } from '@chakra-ui/react'; ++ ++// interface SwapSettingsMenuProps { ++// isMenuOpen: boolean; ++// setIsMenuOpen: (isMenuOpen: boolean) => void; ++// } ++ ++// export function SwapSettingsMenu({ ++// isMenuOpen, ++// setIsMenuOpen, ++// }: SwapSettingsMenuProps): React.JSX.Element { ++// return ( ++// ++// setIsMenuOpen(!isMenuOpen)} ++// h={'50px'} ++// w={'50px'} ++// bg={'background.content.02'} ++// border={'none'} ++// boxShadow={'2px 2px 4px rgba(0, 0, 0, 0.5)'} ++// > ++// {'Gear ++// ++// ++// Profile Settings ++// ++// ++// ); ++// } ++ ++// TODO: Add back this component +diff --git a/src/app/components/swap/components/swap-token-label.tsx b/src/app/components/swap/components/swap-token-label.tsx +new file mode 100644 +index 0000000..8fc058a +--- /dev/null ++++ b/src/app/components/swap/components/swap-token-label.tsx +@@ -0,0 +1,25 @@ ++import { HStack, Image, Text } from '@chakra-ui/react'; ++ ++interface SwapTokenLabelProps { ++ tokenImage: string; ++ tokenDisplay: string; ++} ++ ++export function SwapTokenLabel({ ++ tokenImage, ++ tokenDisplay, ++}: SwapTokenLabelProps): React.JSX.Element { ++ return ( ++ ++ {tokenDisplay} ++ ++ {tokenDisplay} ++ ++ ++ ); ++} +diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.copy-button.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.copy-button.tsx +new file mode 100644 +index 0000000..d1ad84c +--- /dev/null ++++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.copy-button.tsx +@@ -0,0 +1,61 @@ ++import { useState } from 'react'; ++ ++import { CheckCircleIcon, CopyIcon } from '@chakra-ui/icons'; ++import { HStack, IconButton, PlacementWithLogical, Tooltip } from '@chakra-ui/react'; ++ ++interface CopyButtonProps { ++ textToCopy: string; ++ placement?: PlacementWithLogical; ++} ++ ++export function CopyButton({ textToCopy, placement = 'left' }: CopyButtonProps): React.JSX.Element { ++ const [copied, setCopied] = useState(false); ++ ++ const handleCopy = async () => { ++ try { ++ await navigator.clipboard.writeText(textToCopy); ++ setCopied(true); ++ setTimeout(() => setCopied(false), 2000); ++ } catch (error: any) { ++ // eslint-disable-next-line no-console ++ console.error('Failed to copy to Clipboard', error); ++ } ++ }; ++ ++ return ( ++ ++ ++ ++ ) : ( ++ ++ ) ++ } ++ /> ++ ++ ++ ); ++} +diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.asset-value.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.asset-value.tsx +new file mode 100644 +index 0000000..8cedca4 +--- /dev/null ++++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.asset-value.tsx +@@ -0,0 +1,20 @@ ++import { Text, VStack } from '@chakra-ui/react'; ++ ++interface AssetValueProps { ++ label: string; ++ amount: string; ++ asset: string; ++} ++ ++export function OrderAmount({ label, amount, asset }: AssetValueProps): React.JSX.Element { ++ return ( ++ ++ ++ {label} ++ ++ ++ {amount} {asset} ++ ++ ++ ); ++} +diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/components/swap.orderbook.order.details.field.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/components/swap.orderbook.order.details.field.tsx +new file mode 100644 +index 0000000..77278d2 +--- /dev/null ++++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/components/swap.orderbook.order.details.field.tsx +@@ -0,0 +1,33 @@ ++// components/TransactionField.tsx ++import { HStack, Text } from '@chakra-ui/react'; ++import { truncateAddress } from 'dlc-btc-lib/utilities'; ++ ++import { CopyButton } from '../../../../../../swap.orderbook.copy-button'; ++ ++interface DetailsFieldProps { ++ label: string; ++ value: string; ++ shouldTruncate?: boolean; ++ includeCopyButton?: boolean; ++} ++ ++export function DetailsField({ ++ label, ++ value, ++ shouldTruncate = true, ++ includeCopyButton = true, ++}: DetailsFieldProps): React.JSX.Element { ++ return ( ++ ++ ++ {label} ++ ++ ++ ++ {shouldTruncate ? truncateAddress(value) : value} ++ ++ {includeCopyButton && } ++ ++ ++ ); ++} +diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/swap.orderbook.order.details.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/swap.orderbook.order.details.tsx +new file mode 100644 +index 0000000..d49f70a +--- /dev/null ++++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/swap.orderbook.order.details.tsx +@@ -0,0 +1,43 @@ ++import { VStack } from '@chakra-ui/react'; ++import { MatchedOrder } from '@gardenfi/orderbook'; ++ ++import { DetailsField } from './components/swap.orderbook.order.details.field'; ++ ++interface OrderDetailsProps { ++ order: MatchedOrder; ++} ++ ++export function OrderDetails({ order }: OrderDetailsProps): React.JSX.Element { ++ const { ++ destination_swap: { redeemer: to, redeem_tx_hash }, ++ created_at, ++ source_swap: { initiator: from, initiate_tx_hash, refund_tx_hash }, ++ } = order; ++ ++ const creationDate = new Date(created_at).toLocaleDateString('en-US'); ++ ++ return ( ++ ++ ++ ++ ++ {initiate_tx_hash && } ++ {redeem_tx_hash && } ++ {refund_tx_hash && } ++ ++ ); ++} +diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/swap.orderbook.order.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/swap.orderbook.order.tsx +new file mode 100644 +index 0000000..8c0b5cb +--- /dev/null ++++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/swap.orderbook.order.tsx +@@ -0,0 +1,170 @@ ++import React, { useState } from 'react'; ++ ++import { Button, Collapse, HStack, Text, VStack } from '@chakra-ui/react'; ++import { OrderStatus } from '@gardenfi/core'; ++import { MatchedOrder } from '@gardenfi/orderbook'; ++import { useGarden } from '@gardenfi/react-hooks'; ++import { useOrderStatus } from '@hooks/use-swap-order-status'; ++import Decimal from 'decimal.js'; ++import { truncateAddress, unshiftValue } from 'dlc-btc-lib/utilities'; ++ ++import { StatusLabel } from '@shared/constants/swap.constants'; ++ ++import { CopyButton } from '../../../swap.orderbook.copy-button'; ++import { OrderAmount } from './components/swap.orderbook.order.asset-value'; ++import { OrderDetails } from './components/swap.orderbook.order.details/swap.orderbook.order.details'; ++ ++function StatusButton({ ++ isInitiating, ++ onInitiate, ++}: { ++ isInitiating: boolean; ++ onInitiate: () => void; ++}): React.JSX.Element { ++ return ( ++ ++ ); ++} ++ ++const getStatusLabel = (status: OrderStatus): StatusLabel => { ++ switch (status) { ++ case OrderStatus.Redeemed: ++ case OrderStatus.Refunded: ++ case OrderStatus.CounterPartyRedeemed: ++ case OrderStatus.CounterPartyRedeemDetected: ++ return StatusLabel.Completed; ++ case OrderStatus.Matched: ++ return StatusLabel.Initiate; ++ case OrderStatus.DeadLineExceeded: ++ return StatusLabel.Expired; ++ default: ++ return StatusLabel.Pending; ++ } ++}; ++ ++interface OrderProps { ++ order: MatchedOrder; ++} ++ ++export function Order({ order }: OrderProps): React.JSX.Element { ++ const orderStatus = useOrderStatus(order); ++ ++ const [modelIsVisible, setModelIsVisible] = useState(false); ++ const [isInitiating, setIsInitiating] = useState(false); ++ const { evmInitiate } = useGarden(); ++ ++ const { source_swap, destination_swap } = order; ++ const sourceAmount = unshiftValue(new Decimal(source_swap.amount).toNumber()).toString(); ++ const destinationAmount = unshiftValue( ++ new Decimal(destination_swap.amount).toNumber() ++ ).toString(); ++ const userFriendlyStatus = orderStatus && getStatusLabel(orderStatus); ++ ++ const isFromBTC = order.source_swap.chain.toLowerCase().includes('bitcoin'); ++ const fromLabel = isFromBTC ? 'BTC' : 'iBTC'; ++ const toLabel = isFromBTC ? 'iBTC' : 'BTC'; ++ ++ const handleInitiate = async () => { ++ if (!evmInitiate) return; ++ setIsInitiating(true); ++ try { ++ const res = await evmInitiate(order); ++ if (!res.ok) { ++ throw new Error('Failed to initiate'); ++ } ++ } catch (error) { ++ alert('Failed to initiate'); ++ } finally { ++ setIsInitiating(false); ++ } ++ }; ++ ++ return ( ++ ++ ++ ++ Order ID: {truncateAddress(source_swap.swap_id)} ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Status ++ ++ {userFriendlyStatus === StatusLabel.Initiate && !isFromBTC ? ( ++ ++ ) : ( ++ ++ {userFriendlyStatus} ++ ++ )} ++ ++ ++ ++ ++ ++ ++ ++ Please initiate the swap by sending the BTC to the address below. ++ ++ ++ ++ {truncateAddress(source_swap.swap_id)} ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ); ++} +diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/swap.orderbook.orderlist.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/swap.orderbook.orderlist.tsx +new file mode 100644 +index 0000000..c63dd13 +--- /dev/null ++++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/swap.orderbook.orderlist.tsx +@@ -0,0 +1,40 @@ ++import { VStack } from '@chakra-ui/react'; ++import { FadeLayer } from '@components/fade-layer/fade-layer'; ++import { MatchedOrder } from '@gardenfi/orderbook'; ++import { useOrderStatus } from '@hooks/use-swap-order-status'; ++import { scrollBarCSS } from '@styles/css-styles'; ++ ++import { Order } from './components/swap.orderbook.order/swap.orderbook.order'; ++ ++interface OrderListProps { ++ orders: MatchedOrder[]; ++} ++ ++export function OrderList({ orders }: OrderListProps): React.JSX.Element { ++ return ( ++ ++ ++ ++ {orders.map(order => ( ++ ++ ))} ++ ++ ++ ++ ); ++} +diff --git a/src/app/components/swap/components/swap.orderbook/swap.orderbook.tsx b/src/app/components/swap/components/swap.orderbook/swap.orderbook.tsx +new file mode 100644 +index 0000000..cebbc38 +--- /dev/null ++++ b/src/app/components/swap/components/swap.orderbook/swap.orderbook.tsx +@@ -0,0 +1,30 @@ ++import { useCallback, useEffect, useState } from 'react'; ++ ++import { MatchedOrder } from '@gardenfi/orderbook'; ++import { useGarden } from '@gardenfi/react-hooks'; ++ ++import { OrderList } from './components/swap.orderbook.orderlist/swap.orderbook.orderlist'; ++ ++const POLLING_INTERVAL = 10000; ++const ORDERS_PER_PAGE = 4; ++ ++export function Orderbook(): React.JSX.Element { ++ const { orderBook } = useGarden(); ++ const [orders, setOrders] = useState([]); ++ ++ const fetchOrders = useCallback(async () => { ++ if (!orderBook) return; ++ const res = await orderBook.fetchOrders(true, false, { ++ per_page: ORDERS_PER_PAGE, ++ }); ++ setOrders(res.val.data); ++ }, [orderBook]); ++ ++ useEffect(() => { ++ void fetchOrders(); ++ const intervalId = setInterval(fetchOrders, POLLING_INTERVAL); ++ return () => clearInterval(intervalId); ++ }, [fetchOrders]); ++ ++ return ; ++} +diff --git a/src/app/components/swap/pages/swap-page.tsx b/src/app/components/swap/pages/swap-page.tsx +new file mode 100644 +index 0000000..c123435 +--- /dev/null ++++ b/src/app/components/swap/pages/swap-page.tsx +@@ -0,0 +1,18 @@ ++import { HStack } from '@chakra-ui/react'; ++import { PageLayout } from '@pages/components/page.layout'; ++ ++import { breakpoints } from '@shared/utils'; ++ ++import { Orderbook } from '../components/swap.orderbook/swap.orderbook'; ++import { Swap } from '../swap'; ++ ++export function SwapPage(): React.JSX.Element { ++ return ( ++ ++ ++ ++ ++ ++ ++ ); ++} +diff --git a/src/app/components/swap/swap.tsx b/src/app/components/swap/swap.tsx +new file mode 100644 +index 0000000..baa9a32 +--- /dev/null ++++ b/src/app/components/swap/swap.tsx +@@ -0,0 +1,177 @@ ++import { CheckCircleIcon, ChevronDownIcon, ChevronUpIcon } from '@chakra-ui/icons'; ++import { Button, HStack, Input, Spinner, Text, VStack } from '@chakra-ui/react'; ++import { useBitcoinPrice } from '@hooks/use-bitcoin-price'; ++import { useSwap } from '@hooks/use-swap'; ++import Decimal from 'decimal.js'; ++import { truncateAddress } from 'dlc-btc-lib/utilities'; ++ ++import { BITCOIN_NETWORK_MAP } from '@shared/constants/bitcoin.constants'; ++ ++import { SwapAmountCard } from './components/swap-amount-card'; ++import { SwapButton } from './components/swap-button'; ++import { SwapHeader } from './components/swap-header'; ++ ++const assetValueInUSD = (assetAmount: string, currentBitcoinPrice: number): string => { ++ try { ++ return `$ ${new Decimal(assetAmount).mul(currentBitcoinPrice).toNumber().toLocaleString('en-US')}`; ++ } catch (error) { ++ return '0'; ++ } ++}; ++ ++export function Swap(): React.JSX.Element { ++ const { ++ inputToken, ++ setTokens, ++ inputAmount, ++ validateAndSetInputAmount, ++ outputToken, ++ outputAmount, ++ handleSwap, ++ bitcoinAddress, ++ setBitcoinAddress, ++ isQuoteLoading, ++ quoteError, ++ swapError, ++ isCompleted, ++ } = useSwap(BITCOIN_NETWORK_MAP[appConfiguration.bitcoinNetwork]); ++ ++ const { bitcoinPrice } = useBitcoinPrice(); ++ ++ return ( ++ ++ ++ ++ {outputToken.symbol === 'BTC' ? ( ++ <> ++ ++ ++ ++ ++ ++ ++ ) : ( ++ <> ++ ++ ++ ++ ++ ++ ++ )} ++ {isQuoteLoading && ( ++ ++ ++ Loading Quote ++ ++ )} ++ {quoteError || ++ (swapError && ( ++ ++ {`Error: ${quoteError ? quoteError : swapError}`} ++ ++ ))} ++ {isCompleted && ( ++ ++ {`Swap Request Sent, Order ID: ${truncateAddress('asds')}`} ++ ++ ++ )} ++ ++ ++ ++ ++ {`${outputToken.symbol === 'BTC' ? 'Receive' : 'Refund'}`} Address ++ ++ setBitcoinAddress(e.target.value)} ++ borderColor={'white.03'} ++ color={'white'} ++ focusBorderColor={'rgba(255,255,255,1)'} ++ isInvalid={!bitcoinAddress} ++ placeholder="Enter Bitcoin Address" ++ /> ++ ++ {/* */} ++ {isQuoteLoading || ++ (quoteError === null && ( ++ handleSwap()} /> ++ ))} ++ ++ ); ++} +diff --git a/src/app/functions/configuration.functions.ts b/src/app/functions/configuration.functions.ts +index 263dc1f..1c11b51 100644 +--- a/src/app/functions/configuration.functions.ts ++++ b/src/app/functions/configuration.functions.ts +@@ -4,7 +4,7 @@ import { RippleNetwork, RippleNetworkID } from '@models/ripple.models'; + import { supportedEthereumNetworks } from 'dlc-btc-lib/constants'; + import { getEthereumContract, getProvider } from 'dlc-btc-lib/ethereum-functions'; + import { EthereumDeploymentPlan, EthereumNetwork, EthereumNetworkID } from 'dlc-btc-lib/models'; +-import { Contract, providers } from 'ethers'; ++import { BrowserProvider, Contract, JsonRpcSigner } from 'ethers'; + import { filter, fromPairs, includes, map, pipe } from 'ramda'; + import { Account, Chain, Client, HttpTransport, Transport, http } from 'viem'; + import { Config, createConfig, useConnectorClient } from 'wagmi'; +@@ -84,7 +84,7 @@ export function getWagmiConfiguration(ethereumNetworkIDs: EthereumNetworkID[]): + }); + } + +-function clientToSigner(client: Client): providers.JsonRpcSigner { ++async function clientToSigner(client: Client): Promise { + const { account, chain, transport } = client; + + const network = { +@@ -92,12 +92,20 @@ function clientToSigner(client: Client): providers.Js + name: chain.name, + ensAddress: chain.contracts?.ensRegistry?.address, + }; +- return new providers.Web3Provider(transport, network).getSigner(account.address); ++ return await new BrowserProvider(transport, network).getSigner(account.address); + } + +-export function useEthersSigner({ chainId }: { chainId?: number } = {}): +- | providers.JsonRpcSigner +- | undefined { ++export function useEthersSigner({ chainId }: { chainId?: number } = {}): { ++ getEthersSigner: () => Promise; ++} { + const { data: client } = useConnectorClient({ chainId }); +- return useMemo(() => (client ? clientToSigner(client) : undefined), [client]); ++ ++ async function getEthersSigner() { ++ if (!client) return undefined; ++ return await clientToSigner(client); ++ } ++ ++ return { ++ getEthersSigner, ++ }; + } +diff --git a/src/app/hooks/use-swap-order-status.ts b/src/app/hooks/use-swap-order-status.ts +new file mode 100644 +index 0000000..a55775f +--- /dev/null ++++ b/src/app/hooks/use-swap-order-status.ts +@@ -0,0 +1,84 @@ ++import { useEffect, useState } from 'react'; ++ ++import { OrderStatus, ParseOrderStatus } from '@gardenfi/core'; ++import { Chain, MatchedOrder } from '@gardenfi/orderbook'; ++import { GARDEN_CONFIG } from '@gardenfi/react-hooks'; ++ ++async function fetchJson(url: string, options?: RequestInit): Promise { ++ const response = await fetch(url, { ++ headers: { 'Content-Type': 'application/json' }, ++ ...options, ++ }); ++ ++ if (!response.ok) { ++ throw new Error(`HTTP error! status: ${response.status}`); ++ } ++ ++ return response.json() as Promise; ++} ++ ++const createAPI = (isTestnet: boolean) => { ++ const apiConfiguration = isTestnet ? GARDEN_CONFIG.testnet : GARDEN_CONFIG.mainnet; ++ ++ if (!apiConfiguration) { ++ throw new Error('Invalid Configuration'); ++ } ++ ++ Object.entries(apiConfiguration).forEach(([key, value]) => { ++ if (!value) throw new Error(`Missing ${key} in config`); ++ }); ++ ++ return { ++ home: 'https://garden.finance', ++ data: { ++ data: apiConfiguration, ++ assets: `${apiConfiguration.blockNumberFetcherUrl}/assets`, ++ blockNumbers: (network: 'mainnet' | 'testnet') => ++ `${apiConfiguration.blockNumberFetcherUrl}/blocknumber/${network}`, ++ }, ++ orderbook: apiConfiguration.orderBookUrl, ++ quote: apiConfiguration.quoteUrl, ++ mempool: { ++ testnet: 'https://mempool.space/testnet4/api', ++ mainnet: 'https://mempool.space/api', ++ }, ++ }; ++}; ++ ++export const useOrderStatus = (order: MatchedOrder) => { ++ const [blockNumbers, setBlockNumbers] = useState | null>(null); ++ const [status, setStatus] = useState(); ++ ++ const isTestnet = ['testnet', 'devnet', 'localhost'].includes(appConfiguration.appEnvironment); ++ ++ useEffect(() => { ++ const fetchBlockNumbers = async () => { ++ try { ++ const data = await fetchJson>( ++ createAPI(isTestnet).data.blockNumbers('testnet') ++ ); ++ setBlockNumbers(data); ++ } catch (error) { ++ // eslint-disable-next-line no-console ++ console.error('Failed to fetch Block Numbers:', error); ++ } ++ }; ++ ++ void fetchBlockNumbers(); ++ }, []); ++ ++ useEffect(() => { ++ if (!blockNumbers) return; ++ ++ const { source_swap, destination_swap } = order; ++ const sourceBlockNumber = blockNumbers[source_swap.chain]; ++ const destinationBlockNumber = blockNumbers[destination_swap.chain]; ++ ++ if (!sourceBlockNumber || !destinationBlockNumber) return; ++ ++ const orderStatus = ParseOrderStatus(order, sourceBlockNumber, destinationBlockNumber); ++ setStatus(orderStatus); ++ }, [blockNumbers, order]); ++ ++ return status; ++}; +diff --git a/src/app/hooks/use-swap.ts b/src/app/hooks/use-swap.ts +new file mode 100644 +index 0000000..2d5d535 +--- /dev/null ++++ b/src/app/hooks/use-swap.ts +@@ -0,0 +1,256 @@ ++import { useEffect, useState } from 'react'; ++ ++import { SwapParams } from '@gardenfi/core'; ++import { Asset, SupportedAssets } from '@gardenfi/orderbook'; ++import { useGarden } from '@gardenfi/react-hooks'; ++import Decimal from 'decimal.js'; ++import { isBitcoinAddress } from 'dlc-btc-lib/bitcoin-functions'; ++import { Network } from 'dlc-btc-lib/models'; ++import { shiftValue, unshiftValue } from 'dlc-btc-lib/utilities'; ++ ++import { BITCOIN_NETWORK_MAP } from '@shared/constants/bitcoin.constants'; ++ ++interface QuoteParams { ++ fromAsset: Asset; ++ toAsset: Asset; ++ amount: number; ++ isExactOut?: boolean; ++} ++ ++enum SupportedEVMNetworks { ++ ArbitrumSepolia = '421614', ++ BaseSepolia = '84532', ++} ++ ++const SUPPORTED_ASSETS_BTC_MAP = { ++ mainnet: SupportedAssets.mainnet.bitcoin_primary, ++ testnet: SupportedAssets.testnet.bitcoin_testnet_primary, ++ devnet: SupportedAssets.testnet.bitcoin_testnet_primary, ++ localhost: SupportedAssets.testnet.bitcoin_testnet_primary, ++}; ++ ++const SUPPORTED_ASSETS_IBTC_MAP = { ++ [SupportedEVMNetworks.ArbitrumSepolia]: ++ SupportedAssets.testnet.arbitrum_sepolia_0xdfe6d9363ee96152d39391009a6723819d9e25eb, ++ [SupportedEVMNetworks.BaseSepolia]: ++ SupportedAssets.testnet.base_sepolia_0xbcdad29ac77e5bb27fd528ab0045af630259fe4f, ++}; ++ ++function useDebounce(value: T, delay: number): T { ++ const [debouncedValue, setDebouncedValue] = useState(value); ++ ++ useEffect(() => { ++ const timer = setTimeout(() => { ++ setDebouncedValue(value); ++ }, delay); ++ ++ return () => { ++ clearTimeout(timer); ++ }; ++ }, [value, delay]); ++ ++ return debouncedValue; ++} ++ ++interface UseSwapReturnType { ++ handleSwap: () => void; ++ inputToken: Asset; ++ setTokens: () => void; ++ inputAmount: string; ++ validateAndSetInputAmount: (amount: string) => void; ++ outputToken: Asset; ++ setOutputToken: (token: Asset) => void; ++ outputAmount: string | undefined; ++ bitcoinAddress: string; ++ setBitcoinAddress: (address: string) => void; ++ isQuoteLoading: boolean; ++ quoteError: string | null; ++ swapError: string | null; ++ isCompleted: string | null; ++} ++ ++export function useSwap(_bitcoinNetwork: Network): UseSwapReturnType { ++ const { initializeSecretManager, swapAndInitiate, getQuote } = useGarden(); ++ ++ const [inputToken, setInputToken] = useState( ++ SUPPORTED_ASSETS_IBTC_MAP[SupportedEVMNetworks.ArbitrumSepolia] ++ ); ++ const [inputAmount, setInputAmount] = useState('0.01'); ++ ++ const [outputToken, setOutputToken] = useState( ++ SUPPORTED_ASSETS_BTC_MAP[appConfiguration.appEnvironment] ++ ); ++ const [outputAmount, setOutputAmount] = useState(); ++ ++ const [isQuoteLoading, setIsQuoteLoading] = useState(false); ++ const [quoteError, setQuoteError] = useState(null); ++ ++ const debouncedInputAmount = useDebounce(inputAmount, 500); ++ ++ const [bitcoinAddress, setBitcoinAddress] = useState(''); ++ ++ const [isCompleted, setIsCompleted] = useState(null); ++ const [swapError, setSwapError] = useState(null); ++ ++ function setTokens() { ++ setInputToken(outputToken); ++ setOutputToken(inputToken); ++ } ++ ++ function validateAndSetInputAmount(value: string) { ++ setInputAmount(value); ++ } ++ ++ useEffect(() => { ++ let timeoutId: NodeJS.Timeout; ++ ++ if (isCompleted || swapError) { ++ timeoutId = setTimeout(() => { ++ setIsCompleted(null); ++ setSwapError(null); ++ }, 5000); ++ } ++ ++ return () => { ++ if (timeoutId) { ++ clearTimeout(timeoutId); ++ } ++ }; ++ }, [isCompleted, swapError]); ++ ++ useEffect(() => { ++ const updateQuote = async () => { ++ if (Number(debouncedInputAmount) <= 0) { ++ setOutputAmount('0'); ++ return; ++ } ++ ++ setIsQuoteLoading(true); ++ setQuoteError(null); ++ ++ try { ++ const sendAmount = shiftValue(Number(debouncedInputAmount)); ++ ++ const { amount } = await fetchQuote({ ++ fromAsset: inputToken, ++ toAsset: outputToken, ++ amount: sendAmount, ++ }); ++ ++ setOutputAmount(unshiftValue(new Decimal(amount).toNumber()).toString()); // Assuming 8 decimals for BTC ++ } catch (error) { ++ setQuoteError(error instanceof Error ? error.message : 'Failed to fetch quote'); ++ setOutputAmount('0'); ++ } finally { ++ setIsQuoteLoading(false); ++ } ++ }; ++ ++ void updateQuote(); ++ // eslint-disable-next-line react-hooks/exhaustive-deps ++ }, [debouncedInputAmount, inputToken, outputToken, getQuote]); ++ ++ const initializeSecret = async () => { ++ if (!initializeSecretManager) { ++ throw new Error('Secret Manager initializer not available'); ++ } ++ ++ const response = await initializeSecretManager(); ++ ++ if (!response.ok || !response.val.getMasterPrivKey()) { ++ throw new Error('Failed to initialize Secret Manager'); ++ } ++ ++ return response; ++ }; ++ ++ const fetchQuote = async (quoteParams: QuoteParams) => { ++ if (!getQuote) { ++ throw new Error('Quote service not available'); ++ } ++ ++ const quote = await getQuote(quoteParams); ++ ++ if (quote.error) { ++ throw new Error(quote.error); ++ } ++ ++ const [strategy, amount] = Object.entries(quote.val.quotes)[0]; ++ ++ return { strategy, amount }; ++ }; ++ ++ const executeSwap = async (swapParams: SwapParams) => { ++ if (!swapAndInitiate) { ++ throw new Error('Swap service not available'); ++ } ++ ++ const response = await swapAndInitiate(swapParams); ++ ++ if (response.error) { ++ throw new Error(response.error); ++ } ++ ++ return response; ++ }; ++ ++ const handleSwap = async () => { ++ try { ++ if (!isBitcoinAddress(bitcoinAddress, BITCOIN_NETWORK_MAP[appConfiguration.bitcoinNetwork])) { ++ setSwapError('Invalid Bitcoin Address'); ++ return; ++ } ++ ++ await initializeSecret(); ++ ++ const sendAmount = shiftValue(new Decimal(inputAmount).toNumber()); ++ ++ const { strategy, amount } = await fetchQuote({ ++ fromAsset: inputToken, ++ toAsset: outputToken, ++ amount: sendAmount, ++ }); ++ ++ const swapParams = { ++ fromAsset: inputToken, ++ toAsset: outputToken, ++ sendAmount: sendAmount.toString(), ++ receiveAmount: amount.toString(), ++ additionalData: { ++ strategyId: strategy, ++ btcAddress: bitcoinAddress, ++ }, ++ }; ++ ++ const response = await executeSwap(swapParams); ++ ++ if (response.error) { ++ setSwapError(response.error); ++ return response; ++ } ++ ++ setIsCompleted(response.val.source_swap.swap_id); ++ ++ return response; ++ } catch (error) { ++ setSwapError(error instanceof Error ? error.message : 'Failed to Swap'); ++ } ++ }; ++ ++ return { ++ handleSwap, ++ setTokens, ++ inputToken, ++ inputAmount, ++ validateAndSetInputAmount, ++ setOutputToken, ++ outputToken, ++ outputAmount, ++ bitcoinAddress, ++ setBitcoinAddress, ++ isQuoteLoading, ++ isCompleted, ++ quoteError, ++ swapError, ++ }; ++} +diff --git a/src/shared/constants/swap.constants.ts b/src/shared/constants/swap.constants.ts +new file mode 100644 +index 0000000..4edec05 +--- /dev/null ++++ b/src/shared/constants/swap.constants.ts +@@ -0,0 +1,6 @@ ++export enum StatusLabel { ++ Completed = 'Completed', ++ Pending = 'In Progress', ++ Expired = 'Expired', ++ Initiate = 'Awaiting Initiate', ++} +diff --git a/src/shared/utils.ts b/src/shared/utils.ts +index e7f5233..27a72f4 100644 +--- a/src/shared/utils.ts ++++ b/src/shared/utils.ts +@@ -54,6 +54,8 @@ export function formatEvent(event: DetailedEvent): FormattedEvent { + export function parseAssetAmount(assetAmount: string): Decimal { + const isValidNumber = /^-?\d*\.?\d*$/.test(assetAmount); + ++ console.log('isValidNumber', isValidNumber); ++ + if (isValidNumber) { + try { + return new Decimal(assetAmount); +diff --git a/src/styles/app-theme.ts b/src/styles/app-theme.ts +index db734c9..525c003 100644 +--- a/src/styles/app-theme.ts ++++ b/src/styles/app-theme.ts +@@ -49,6 +49,7 @@ export const appTheme = extendTheme({ + 'background.website.01': 'rgba(0, 0, 0, 1)', + 'background.container.01': 'rgba(23, 24, 29, 1)', + 'background.content.01': 'rgba(51, 51, 51, 1)', ++ 'background.content.02': 'rgba(77, 77, 77, 1)', + 'grey.01': 'rgba(181, 182, 187, 1)', + 'border.lightBlue.01': 'rgba(50, 201, 247,0.75)', + 'border.white.01': 'rgba(255,255,255,0.25)', +diff --git a/vite.config.ts b/vite.config.ts +index 4070689..972271f 100644 +--- a/vite.config.ts ++++ b/vite.config.ts +@@ -80,6 +80,7 @@ export default defineConfig(async ({ mode }) => { + target: 'esnext', + }, + define: { ++ global: 'window', + appConfiguration, + }, + resolve: { +diff --git a/yarn.lock b/yarn.lock +index 135c23f..0f26539 100644 +--- a/yarn.lock ++++ b/yarn.lock +@@ -12,6 +12,11 @@ + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" + integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== + ++"@adraffy/ens-normalize@^1.10.1": ++ version "1.11.0" ++ resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.11.0.tgz#42cc67c5baa407ac25059fcd7d405cc5ecdb0c33" ++ integrity sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg== ++ + "@ampproject/remapping@^2.2.0": + version "2.3.0" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" +@@ -201,10 +206,10 @@ + dependencies: + regenerator-runtime "^0.14.0" + +-"@babel/runtime@^7.19.4": +- version "7.25.0" +- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.0.tgz#3af9a91c1b739c569d5d80cc917280919c544ecb" +- integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw== ++"@babel/runtime@^7.26.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" + +@@ -292,6 +297,37 @@ + "@noble/hashes" "^1.1.5" + "@noble/secp256k1" "^1.7.1" + ++"@catalogfi/extension@^0.1.1": ++ version "0.1.1" ++ resolved "https://registry.yarnpkg.com/@catalogfi/extension/-/extension-0.1.1.tgz#b07400f2365a32dd13a7cdefe65949e0705a5342" ++ integrity sha512-ny4xiQ95VdjFWDR2T22xLQxUY99yKRD4EOlxZInKCHGB0jnQaUrsj9iKGZ2DRGUGPpH/iDkruoXjibw7s78BIw== ++ ++"@catalogfi/utils@^0.1.10", "@catalogfi/utils@^0.1.11", "@catalogfi/utils@^0.1.6": ++ version "0.1.11" ++ resolved "https://registry.yarnpkg.com/@catalogfi/utils/-/utils-0.1.11.tgz#3ccdba102b88cb036ae0b14f7b300e0fc83c93f6" ++ integrity sha512-+rt2I4W5ip6odg8ZSmoTyCY0GllPzSYqWz8xRyvgN58MVJJMAFjsp4XwyWzkIfKCRKOJve/vjYdZQx92CTO2gw== ++ ++"@catalogfi/wallets@^0.2.51": ++ version "0.2.54" ++ resolved "https://registry.yarnpkg.com/@catalogfi/wallets/-/wallets-0.2.54.tgz#8d5323b381dd70964e2dac45a2d89015a3e3a743" ++ integrity sha512-ffcvXPx/qklyjR8HLr2ni/hZFA8mL+DgQxMmozTRF2UV0ngLx8aURDHN/FHg2vQ6MU5cYLEl3h+H8frPKRfL4w== ++ dependencies: ++ "@catalogfi/extension" "^0.1.1" ++ "@catalogfi/utils" "^0.1.10" ++ "@noble/hashes" "^1.4.0" ++ bip32 "^4.0.0" ++ bip39 "^3.1.0" ++ bitcoinjs-lib "^6.1.5" ++ bufferutil "^4.0.8" ++ dotenv "^16.3.1" ++ ecpair "^2.1.0" ++ tiny-secp256k1 "^2.2.3" ++ typechain "^8.3.2" ++ utf-8-validate "^6.0.3" ++ uuid "^9.0.1" ++ viem "^2.20.1" ++ yup "^1.4.0" ++ + "@chakra-ui/accordion@2.3.1": + version "2.3.1" + resolved "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.3.1.tgz" +@@ -1105,17 +1141,15 @@ + resolved "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.2.0.tgz" + integrity sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ== + +-"@coinbase/wallet-sdk@4.0.4": +- version "4.0.4" +- resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-4.0.4.tgz#634cd89bac93eeaf381a1f026476794e53431ed6" +- integrity sha512-74c040CRnGhfRjr3ArnkAgud86erIqdkPHNt5HR1k9u97uTIZCJww9eGYT67Qf7gHPpGS/xW8Be1D4dvRm63FA== ++"@coinbase/wallet-sdk@4.2.3": ++ version "4.2.3" ++ resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-4.2.3.tgz#a30fa0605b24bc42c37f52a62d2442bcbb7734af" ++ integrity sha512-BcyHZ/Ec84z0emORzqdXDv4P0oV+tV3a0OirfA8Ko1JGBIAVvB+hzLvZzCDvnuZx7MTK+Dd8Y9Tjlo446BpCIg== + dependencies: +- buffer "^6.0.3" ++ "@noble/hashes" "^1.4.0" + clsx "^1.2.1" + eventemitter3 "^5.0.1" +- keccak "^3.0.3" +- preact "^10.16.0" +- sha.js "^2.4.11" ++ preact "^10.24.2" + + "@dfns/sdk-browser@^0.5.9": + version "0.5.9" +@@ -1135,6 +1169,11 @@ + cross-fetch "3.1.6" + uuid "9.0.0" + ++"@ecies/ciphers@^0.2.1": ++ version "0.2.2" ++ resolved "https://registry.yarnpkg.com/@ecies/ciphers/-/ciphers-0.2.2.tgz#82a15b10a6e502b63fb30915d944b2eaf3ff17ff" ++ integrity sha512-ylfGR7PyTd+Rm2PqQowG08BCKA22QuX8NzrL+LxAAvazN10DMwdJ2fWwAzRj05FI/M8vNFGm3cv9Wq/GFWCBLg== ++ + "@emotion/babel-plugin@^11.11.0": + version "11.11.0" + resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz" +@@ -1893,6 +1932,58 @@ + resolved "https://registry.npmjs.org/@fontsource/poppins/-/poppins-5.0.12.tgz" + integrity sha512-0qzBxtIJLh82iMJ9pCXKYwGs1zyS+jyUmwVJ59+JdYnEaFVkDsxVOk9yDWfVOs14ALUneodU2m5YSGma6dCYCw== + ++"@gardenfi/core@0.3.0-beta.14", "@gardenfi/core@^0.3.0-beta.14": ++ version "0.3.0-beta.14" ++ resolved "https://registry.yarnpkg.com/@gardenfi/core/-/core-0.3.0-beta.14.tgz#e66599cff3ddb4584648d628dbae02d4aa3836a6" ++ integrity sha512-V73jDvdchN09UqYdcyOCI4s4ekHY94NLoGnxqp2579y6sSYjqJf+5WXyn89Pb7bjrCOpYOfldivWKXYfwfLkWQ== ++ dependencies: ++ "@catalogfi/utils" "^0.1.6" ++ "@catalogfi/wallets" "^0.2.51" ++ "@gardenfi/orderbook" "^0.2.0-beta.41" ++ "@gardenfi/utils" "^0.0.1-beta.19" ++ bignumber.js "^9.1.2" ++ bitcoinjs-lib "^6.1.6" ++ tiny-secp256k1 "^2.2.3" ++ varuint-bitcoin "^1.1.2" ++ viem "^2.21.15" ++ ++"@gardenfi/orderbook@0.2.0-beta.41", "@gardenfi/orderbook@^0.2.0-beta.41": ++ version "0.2.0-beta.41" ++ resolved "https://registry.yarnpkg.com/@gardenfi/orderbook/-/orderbook-0.2.0-beta.41.tgz#a802ddba48023956160fa2d2fda0676c520a5dbb" ++ integrity sha512-I8GisEgUGNX84WKZSKEAqMsSD9wvfY9hzY5iL2V5vc+jqblpc+5Exbk/yVFINI3DoqtuaVb1h/dqTmMFotu0hA== ++ dependencies: ++ "@catalogfi/utils" "^0.1.6" ++ "@gardenfi/utils" "^0.0.1-beta.19" ++ bufferutil "^4.0.8" ++ siwe "^2.1.4" ++ utf-8-validate "^6.0.3" ++ viem "^2.21.15" ++ ws "^8.14.2" ++ ++"@gardenfi/react-hooks@0.0.1-beta.135": ++ version "0.0.1-beta.135" ++ resolved "https://registry.yarnpkg.com/@gardenfi/react-hooks/-/react-hooks-0.0.1-beta.135.tgz#a74d538b455b4a2baff1401eb65c4ea42e194c80" ++ integrity sha512-I4R391jusGV30K8s+6cDgc7xwAcwj1rUeg2Uw3a/N96KjO2f0l+cn8NQZsSIcJMzL4GTgICpQv2Ci/JIe0VdbQ== ++ dependencies: ++ "@catalogfi/utils" "^0.1.6" ++ "@catalogfi/wallets" "^0.2.51" ++ "@gardenfi/core" "^0.3.0-beta.14" ++ "@gardenfi/orderbook" "^0.2.0-beta.41" ++ "@gardenfi/utils" "^0.0.1-beta.19" ++ react "^18.3.1" ++ viem "^2.21.15" ++ wagmi "^2.12.16" ++ ++"@gardenfi/utils@^0.0.1-beta.19": ++ version "0.0.1-beta.19" ++ resolved "https://registry.yarnpkg.com/@gardenfi/utils/-/utils-0.0.1-beta.19.tgz#e74cdc12ff04bed142ebedc32f063daec145ef06" ++ integrity sha512-hgTc3iy2TM7Rr2J7ApM+yzSOSsisHW3T3+PKMWcBZcc4CIwBAquTCRdQNkMKFbawsvB4LMieIiWYWjm+IQqckQ== ++ dependencies: ++ "@catalogfi/utils" "^0.1.11" ++ axios "^1.7.2" ++ jwt-decode "^4.0.0" ++ viem "^2.21.15" ++ + "@gemwallet/api@3.8.0", "@gemwallet/api@^3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@gemwallet/api/-/api-3.8.0.tgz#46bc47789848c7ac9cc620613e0a1757dc8668a1" +@@ -2152,10 +2243,10 @@ + resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-3.1.1.tgz#e89b840a7af8097a8ed4953d8dc8470d1302d3ef" + integrity sha512-ihb3B0T/wJm1eUuArYP4lCTSEoZsClHhuWyfo/kMX3m/odpqNcPfsz5O2A3NT7dXCAgWPGDQGPqygCpgeniKMw== + +-"@metamask/sdk-communication-layer@0.27.0": +- version "0.27.0" +- resolved "https://registry.yarnpkg.com/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.27.0.tgz#8d618fadd39f11627d5b3ef1bc72867439e33ff4" +- integrity sha512-G9LCaQzIqp5WmUmvHN6UUdjWrBh67MbRobmbbs5fcc2+9XFhj3vBgtyleUYjun91jSlPHoZeo+f/Pj4/WoPIJg== ++"@metamask/sdk-communication-layer@0.31.0": ++ version "0.31.0" ++ resolved "https://registry.yarnpkg.com/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.31.0.tgz#0acc063b62aa09d044c7aab65801712d760e53b2" ++ integrity sha512-V9CxdzabDPjQVgmKGHsyU3SYt4Af27g+4DbGCx0fLoHqN/i1RBDZqs/LYbJX3ykJCANzE+llz/MolMCMrzM2RA== + dependencies: + bufferutil "^4.0.8" + date-fns "^2.29.3" +@@ -2163,38 +2254,35 @@ + utf-8-validate "^5.0.2" + uuid "^8.3.2" + +-"@metamask/sdk-install-modal-web@0.26.5": +- version "0.26.5" +- resolved "https://registry.yarnpkg.com/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.26.5.tgz#b696c78818adaff85d01a4f41fecc8fd2c80bc59" +- integrity sha512-qVA9Nk+NorGx5hXyODy5wskptE8R7RNYTYt49VbQpJogqbbVe1dnJ98+KaA43PBN4XYMCXmcIhULNiEHGsLynA== ++"@metamask/sdk-install-modal-web@0.31.2": ++ version "0.31.2" ++ resolved "https://registry.yarnpkg.com/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.31.2.tgz#bb8c92a6844a632be8525e7bb5a35924a926d6cd" ++ integrity sha512-KPv36kQjmTwErU8g2neuHHSgkD5+1hp4D6ERfk5Kc2r73aOYNCdG9wDGRUmFmcY2MKkeK1EuDyZfJ4FPU30fxQ== + dependencies: +- qr-code-styling "^1.6.0-rc.1" ++ "@paulmillr/qr" "^0.2.1" + +-"@metamask/sdk@0.27.0": +- version "0.27.0" +- resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.27.0.tgz#38617985b8305a0f5d482cdd7af8ddec87968bb7" +- integrity sha512-6sMjr/0qR700X1svPGEQ4rBdtccidBLeTC27fYQc7r9ROgSixB1DUUAyu/LoySVqt3Hu/Zm7NnAHXuT228ht7A== ++"@metamask/sdk@0.31.2": ++ version "0.31.2" ++ resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.31.2.tgz#2ec1c1c7cf6a444e65104862e83814a493047d72" ++ integrity sha512-6MWON2g1j7XwAHWam4trusGxeyhQweNLEHPsfuIxSwcsXoEm08Jj80OglJxQI4KwjcDnjSWBkQGG3mmK6ug/cA== + dependencies: ++ "@babel/runtime" "^7.26.0" + "@metamask/onboarding" "^1.0.1" + "@metamask/providers" "16.1.0" +- "@metamask/sdk-communication-layer" "0.27.0" +- "@metamask/sdk-install-modal-web" "0.26.5" +- "@types/dom-screen-wake-lock" "^1.0.0" ++ "@metamask/sdk-communication-layer" "0.31.0" ++ "@metamask/sdk-install-modal-web" "0.31.2" ++ "@paulmillr/qr" "^0.2.1" + bowser "^2.9.0" + cross-fetch "^4.0.0" + debug "^4.3.4" +- eciesjs "^0.3.15" ++ eciesjs "^0.4.11" + eth-rpc-errors "^4.0.3" +- eventemitter2 "^6.4.7" +- i18next "23.11.5" +- i18next-browser-languagedetector "7.1.0" ++ eventemitter2 "^6.4.9" + obj-multiplex "^1.0.0" + pump "^3.0.0" +- qrcode-terminal-nooctal "^0.12.1" +- react-native-webview "^11.26.0" + readable-stream "^3.6.2" +- rollup-plugin-visualizer "^5.9.2" + socket.io-client "^4.5.1" ++ tslib "^2.6.0" + util "^0.12.4" + uuid "^8.3.2" + +@@ -2333,6 +2421,11 @@ + "@netlify/node-cookies" "^0.1.0" + urlpattern-polyfill "8.0.2" + ++"@noble/ciphers@^1.0.0": ++ version "1.1.3" ++ resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.1.3.tgz#eb27085aa7ce94d8c6eaeb64299bab0589920ec1" ++ integrity sha512-Ygv6WnWJHLLiW4fnNDC1z+i13bud+enXOFRBlpxI+NJliPWx5wdR+oWlTjLuBPTqjUjtHXtjkU6w3kuuH6upZA== ++ + "@noble/curves@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.0.tgz#f05771ef64da724997f69ee1261b2417a49522d6" +@@ -2347,23 +2440,40 @@ + dependencies: + "@noble/hashes" "1.4.0" + +-"@noble/curves@^1.0.0", "@noble/curves@~1.6.0": ++"@noble/curves@1.6.0", "@noble/curves@^1.0.0", "@noble/curves@^1.6.0", "@noble/curves@~1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.6.0.tgz#be5296ebcd5a1730fccea4786d420f87abfeb40b" + integrity sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ== + dependencies: + "@noble/hashes" "1.5.0" + ++"@noble/curves@1.7.0", "@noble/curves@~1.7.0": ++ 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.4.0", "@noble/hashes@^1.1.5", "@noble/hashes@^1.2.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0", "@noble/hashes@~1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz" + integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== + +-"@noble/hashes@1.5.0", "@noble/hashes@^1.0.0", "@noble/hashes@~1.5.0": ++"@noble/hashes@1.5.0", "@noble/hashes@^1.0.0", "@noble/hashes@^1.5.0", "@noble/hashes@~1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" + integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== + ++"@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.6.1", "@noble/hashes@^1.1.2", "@noble/hashes@~1.6.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.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz" +@@ -2482,6 +2592,11 @@ + "@parcel/watcher-win32-ia32" "2.4.1" + "@parcel/watcher-win32-x64" "2.4.1" + ++"@paulmillr/qr@^0.2.1": ++ version "0.2.1" ++ resolved "https://registry.yarnpkg.com/@paulmillr/qr/-/qr-0.2.1.tgz#76ade7080be4ac4824f638146fd8b6db1805eeca" ++ integrity sha512-IHnV6A+zxU7XwmKFinmYjUcwlyK9+xkG3/s9KcQhI9BjQKycrJ1JRO+FbNYPwZiPKW3je/DR0k7w8/gLa5eaxQ== ++ + "@playwright/test@^1.39.0": + version "1.42.1" + resolved "https://registry.npmjs.org/@playwright/test/-/test-1.42.1.tgz" +@@ -2667,10 +2782,10 @@ + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.2.tgz#851959c4c1c3c6647aba1f388198c8243aed6917" + integrity sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ== + +-"@safe-global/safe-apps-provider@0.18.3": +- version "0.18.3" +- resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.3.tgz#805a42e24f5dde803cb96dac251a3c9e256de45b" +- integrity sha512-f/0cNv3S4v7p8rowAjj0hDCg8Q8P/wBjp5twkNWeBdvd0RDr7BuRBPPk74LCqmjQ82P+1ltLlkmVFSmxTIT7XQ== ++"@safe-global/safe-apps-provider@0.18.5": ++ version "0.18.5" ++ resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.5.tgz#745a932bda3739a8a298ae44ec6c465f6c4773b7" ++ integrity sha512-9v9wjBi3TwLsEJ3C2ujYoexp3pFJ0omDLH/GX91e2QB+uwCKTBYyhxFSrTQ9qzoyQd+bfsk4gjOGW87QcJhf7g== + dependencies: + "@safe-global/safe-apps-sdk" "^9.1.0" + events "^3.3.0" +@@ -2708,6 +2823,11 @@ + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.9.tgz#e5e142fbbfe251091f9c5f1dd4c834ac04c3dbd1" + integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg== + ++"@scure/base@~1.2.1": ++ version "1.2.1" ++ resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.1.tgz#dd0b2a533063ca612c17aa9ad26424a2ff5aa865" ++ integrity sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ== ++ + "@scure/bip32@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67" +@@ -2717,7 +2837,7 @@ + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" + +-"@scure/bip32@^1.3.1": ++"@scure/bip32@1.5.0", "@scure/bip32@^1.3.1", "@scure/bip32@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.5.0.tgz#dd4a2e1b8a9da60e012e776d954c4186db6328e6" + integrity sha512-8EnFYkqEQdnkuGBVpCzKxyIwDCBLDVj3oiX0EKUFre/tOjL/Hqba1D6n/8RcmaQy4f95qQFrO2A8Sr6ybh4NRw== +@@ -2726,6 +2846,15 @@ + "@noble/hashes" "~1.5.0" + "@scure/base" "~1.1.7" + ++"@scure/bip32@1.6.0": ++ version "1.6.0" ++ resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.6.0.tgz#6dbc6b4af7c9101b351f41231a879d8da47e0891" ++ integrity sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA== ++ dependencies: ++ "@noble/curves" "~1.7.0" ++ "@noble/hashes" "~1.6.0" ++ "@scure/base" "~1.2.1" ++ + "@scure/bip39@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.3.0.tgz#0f258c16823ddd00739461ac31398b4e7d6a18c3" +@@ -2734,7 +2863,7 @@ + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" + +-"@scure/bip39@^1.2.1": ++"@scure/bip39@1.4.0", "@scure/bip39@^1.2.1", "@scure/bip39@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.4.0.tgz#664d4f851564e2e1d4bffa0339f9546ea55960a6" + integrity sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw== +@@ -2742,6 +2871,14 @@ + "@noble/hashes" "~1.5.0" + "@scure/base" "~1.1.8" + ++"@scure/bip39@1.5.0": ++ version "1.5.0" ++ resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.0.tgz#c8f9533dbd787641b047984356531d84485f19be" ++ integrity sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A== ++ dependencies: ++ "@noble/hashes" "~1.6.0" ++ "@scure/base" "~1.2.1" ++ + "@scure/btc-signer@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@scure/btc-signer/-/btc-signer-1.3.2.tgz#56cf02a2e318097b1e4f531fac8ef114bdf4ddc8" +@@ -2762,6 +2899,16 @@ + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" + integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== + ++"@spruceid/siwe-parser@^2.1.2": ++ version "2.1.2" ++ resolved "https://registry.yarnpkg.com/@spruceid/siwe-parser/-/siwe-parser-2.1.2.tgz#3e13e7d3ac0bfdaf109a07342590eb21daee2fc3" ++ integrity sha512-d/r3S1LwJyMaRAKQ0awmo9whfXeE88Qt00vRj91q5uv5ATtWIQEGJ67Yr5eSZw5zp1/fZCXZYuEckt8lSkereQ== ++ dependencies: ++ "@noble/hashes" "^1.1.2" ++ apg-js "^4.3.0" ++ uri-js "^4.4.1" ++ valid-url "^1.0.9" ++ + "@stablelib/aead@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" +@@ -3225,11 +3372,6 @@ + dependencies: + "@types/ms" "*" + +-"@types/dom-screen-wake-lock@^1.0.0": +- version "1.0.3" +- resolved "https://registry.yarnpkg.com/@types/dom-screen-wake-lock/-/dom-screen-wake-lock-1.0.3.tgz#c3588a5f6f40fae957f9ce5be9bc4927a61bb9a0" +- integrity sha512-3Iten7X3Zgwvk6kh6/NRdwN7WbZ760YgFCsF5AxDifltUQzW1RaW+WRmcVtgwFzLjaNu64H+0MPJ13yRa8g3Dw== +- + "@types/estree@1.0.5", "@types/estree@^1.0.0": + version "1.0.5" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" +@@ -3309,6 +3451,11 @@ + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + ++"@types/prettier@^2.1.1": ++ version "2.7.3" ++ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" ++ integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== ++ + "@types/prop-types@*": + version "15.7.12" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz" +@@ -3362,13 +3509,6 @@ + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz" + integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== + +-"@types/secp256k1@^4.0.6": +- version "4.0.6" +- resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.6.tgz#d60ba2349a51c2cbc5e816dcd831a42029d376bf" +- integrity sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ== +- dependencies: +- "@types/node" "*" +- + "@types/semver@^7.5.0": + version "7.5.8" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz" +@@ -3529,32 +3669,31 @@ + loupe "^2.3.6" + pretty-format "^29.5.0" + +-"@wagmi/connectors@5.1.2": +- version "5.1.2" +- resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.1.2.tgz#f94a030b277c7c2cf00cf67606c4c907b24fcb58" +- integrity sha512-UX5LqDdGXrTdHBpL9wrJbcjK7/rtpOjx6YSIkO26TdPp6UyxQvEmY2XY6hdgBwHVx9xPaiVNIrWoexa5pRJUNA== ++"@wagmi/connectors@5.7.0": ++ version "5.7.0" ++ resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.7.0.tgz#a5e6c5403009b37f912210fc5d96727b4caa6a2b" ++ integrity sha512-cPMmHBGw28fll7VQJC9iF6ngdQ17STTzspqRIjlTkz44zhjwMTf7shw+JJUmqw+0uK7DqRbf/xUHlZE2IVd2mg== + dependencies: +- "@coinbase/wallet-sdk" "4.0.4" +- "@metamask/sdk" "0.27.0" +- "@safe-global/safe-apps-provider" "0.18.3" ++ "@coinbase/wallet-sdk" "4.2.3" ++ "@metamask/sdk" "0.31.2" ++ "@safe-global/safe-apps-provider" "0.18.5" + "@safe-global/safe-apps-sdk" "9.1.0" +- "@walletconnect/ethereum-provider" "2.14.0" +- "@walletconnect/modal" "2.6.2" ++ "@walletconnect/ethereum-provider" "2.17.0" + cbw-sdk "npm:@coinbase/wallet-sdk@3.9.3" + +-"@wagmi/core@2.13.1": +- version "2.13.1" +- resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.13.1.tgz#d9cf910775eca0e1aeb6fe9ad787264ee32632f3" +- integrity sha512-6ZdgI6dYfpa+IZPU0DZ3XQEQVzs003tKCERzSUNkxmt5cwSMg0XB1kvF5vU9MuPP96K6IcGkqSwAtgCmM5uy2w== ++"@wagmi/core@2.16.0": ++ version "2.16.0" ++ resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.16.0.tgz#b997b2544cd80b4aac4df25ccb2436bf77f9fbe1" ++ integrity sha512-sy4n7Jv6YCbT2jp4zQ/9H6l0A8StsN7P8mm2BRuODgW2w6Fj4j6h2xgYJD2tIjJHkLU/nvPJ7audZ55X7XQU/g== + dependencies: + eventemitter3 "5.0.1" + mipd "0.0.7" +- zustand "4.4.1" ++ zustand "5.0.0" + +-"@walletconnect/core@2.14.0": +- version "2.14.0" +- resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.14.0.tgz#e8afb01455968b02aaf26c74f3bfcc9b82678a39" +- integrity sha512-E/dgBM9q3judXnTfZQ5ILvDpeSdDpabBLsXtYXa3Nyc26cfNplfLJ2nXm9FgtTdhM1nZ7yx4+zDPiXawBRZl2g== ++"@walletconnect/core@2.17.0": ++ version "2.17.0" ++ resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.17.0.tgz#bf490e85a4702eff0f7cf81ba0d3c1016dffff33" ++ integrity sha512-On+uSaCfWdsMIQsECwWHZBmUXfrnqmv6B8SXRRuTJgd8tUpEvBkLQH4X7XkSm3zW6ozEkQTCagZ2ox2YPn3kbw== + dependencies: + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-provider" "1.0.14" +@@ -3563,14 +3702,13 @@ + "@walletconnect/jsonrpc-ws-connection" "1.0.14" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" +- "@walletconnect/relay-api" "1.0.10" ++ "@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.14.0" +- "@walletconnect/utils" "2.14.0" ++ "@walletconnect/types" "2.17.0" ++ "@walletconnect/utils" "2.17.0" + events "3.3.0" +- isomorphic-unfetch "3.1.0" + lodash.isequal "4.5.0" + uint8arrays "3.1.0" + +@@ -3581,20 +3719,20 @@ + dependencies: + tslib "1.14.1" + +-"@walletconnect/ethereum-provider@2.14.0": +- version "2.14.0" +- resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.14.0.tgz#0ed4ba9b383c889b56e0af87181756d900fc504a" +- integrity sha512-Cc2/DCn85VciA10BrsNWFM//3VC1D8yjwrjfUKjGndLPDz0YIdAxTgYZViIlMjE0lzQC/DMvPYEAnGfW0O1Bwg== ++"@walletconnect/ethereum-provider@2.17.0": ++ version "2.17.0" ++ resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.17.0.tgz#d74feaaed6180a6799e96760d7ee867ff3a083d2" ++ integrity sha512-b+KTAXOb6JjoxkwpgYQQKPUcTwENGmdEdZoIDLeRicUmZTn/IQKfkMoC2frClB4YxkyoVMtj1oMV2JAax+yu9A== + dependencies: + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" +- "@walletconnect/modal" "2.6.2" +- "@walletconnect/sign-client" "2.14.0" +- "@walletconnect/types" "2.14.0" +- "@walletconnect/universal-provider" "2.14.0" +- "@walletconnect/utils" "2.14.0" ++ "@walletconnect/modal" "2.7.0" ++ "@walletconnect/sign-client" "2.17.0" ++ "@walletconnect/types" "2.17.0" ++ "@walletconnect/universal-provider" "2.17.0" ++ "@walletconnect/utils" "2.17.0" + events "3.3.0" + + "@walletconnect/events@1.0.1", "@walletconnect/events@^1.0.1": +@@ -3677,35 +3815,35 @@ + "@walletconnect/safe-json" "^1.0.2" + pino "7.11.0" + +-"@walletconnect/modal-core@2.6.2": +- version "2.6.2" +- resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.6.2.tgz#d73e45d96668764e0c8668ea07a45bb8b81119e9" +- integrity sha512-cv8ibvdOJQv2B+nyxP9IIFdxvQznMz8OOr/oR/AaUZym4hjXNL/l1a2UlSQBXrVjo3xxbouMxLb3kBsHoYP2CA== ++"@walletconnect/modal-core@2.7.0": ++ version "2.7.0" ++ resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.7.0.tgz#73c13c3b7b0abf9ccdbac9b242254a86327ce0a4" ++ integrity sha512-oyMIfdlNdpyKF2kTJowTixZSo0PGlCJRdssUN/EZdA6H6v03hZnf09JnwpljZNfir2M65Dvjm/15nGrDQnlxSA== + dependencies: + valtio "1.11.2" + +-"@walletconnect/modal-ui@2.6.2": +- version "2.6.2" +- resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.6.2.tgz#fa57c087c57b7f76aaae93deab0f84bb68b59cf9" +- integrity sha512-rbdstM1HPGvr7jprQkyPggX7rP4XiCG85ZA+zWBEX0dVQg8PpAgRUqpeub4xQKDgY7pY/xLRXSiCVdWGqvG2HA== ++"@walletconnect/modal-ui@2.7.0": ++ version "2.7.0" ++ resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.7.0.tgz#dbbb7ee46a5a25f7d39db622706f2d197b268cbb" ++ integrity sha512-gERYvU7D7K1ANCN/8vUgsE0d2hnRemfAFZ2novm9aZBg7TEd/4EgB+AqbJ+1dc7GhOL6dazckVq78TgccHb7mQ== + dependencies: +- "@walletconnect/modal-core" "2.6.2" ++ "@walletconnect/modal-core" "2.7.0" + lit "2.8.0" + motion "10.16.2" + qrcode "1.5.3" + +-"@walletconnect/modal@2.6.2": +- version "2.6.2" +- resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.6.2.tgz#4b534a836f5039eeb3268b80be7217a94dd12651" +- integrity sha512-eFopgKi8AjKf/0U4SemvcYw9zlLpx9njVN8sf6DAkowC2Md0gPU/UNEbH1Wwj407pEKnEds98pKWib1NN1ACoA== ++"@walletconnect/modal@2.7.0": ++ version "2.7.0" ++ resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.7.0.tgz#55f969796d104cce1205f5f844d8f8438b79723a" ++ integrity sha512-RQVt58oJ+rwqnPcIvRFeMGKuXb9qkgSmwz4noF8JZGUym3gUAzVs+uW2NQ1Owm9XOJAV+sANrtJ+VoVq1ftElw== + dependencies: +- "@walletconnect/modal-core" "2.6.2" +- "@walletconnect/modal-ui" "2.6.2" ++ "@walletconnect/modal-core" "2.7.0" ++ "@walletconnect/modal-ui" "2.7.0" + +-"@walletconnect/relay-api@1.0.10": +- version "1.0.10" +- resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.10.tgz#5aef3cd07c21582b968136179aa75849dcc65499" +- integrity sha512-tqrdd4zU9VBNqUaXXQASaexklv6A54yEyQQEXYOCr+Jz8Ket0dmPBDyg19LVSNUN2cipAghQc45/KVmfFJ0cYw== ++"@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" + +@@ -3728,19 +3866,19 @@ + dependencies: + tslib "1.14.1" + +-"@walletconnect/sign-client@2.14.0": +- version "2.14.0" +- resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.14.0.tgz#36533ef0976a869d815624217527482c90937fc8" +- integrity sha512-UrB3S3eLjPYfBLCN3WJ5u7+WcZ8kFMe/QIDqLf76Jk6TaLwkSUy563LvnSw4KW/kA+/cY1KBSdUDfX1tzYJJXg== ++"@walletconnect/sign-client@2.17.0": ++ version "2.17.0" ++ resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.17.0.tgz#efe811b1bb10082d964e2f0378aaa1b40f424503" ++ integrity sha512-sErYwvSSHQolNXni47L3Bm10ptJc1s1YoJvJd34s5E9h9+d3rj7PrhbiW9X82deN+Dm5oA8X9tC4xty1yIBrVg== + dependencies: +- "@walletconnect/core" "2.14.0" ++ "@walletconnect/core" "2.17.0" + "@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.14.0" +- "@walletconnect/utils" "2.14.0" ++ "@walletconnect/types" "2.17.0" ++ "@walletconnect/utils" "2.17.0" + events "3.3.0" + + "@walletconnect/time@1.0.2", "@walletconnect/time@^1.0.2": +@@ -3750,10 +3888,10 @@ + dependencies: + tslib "1.14.1" + +-"@walletconnect/types@2.14.0": +- version "2.14.0" +- resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.14.0.tgz#af3d4799b8ac5d166251af12bc024276f82f9b91" +- integrity sha512-vevMi4jZLJ55vLuFOicQFmBBbLyb+S0sZS4IsaBdZkQflfGIq34HkN13c/KPl4Ye0aoR4/cUcUSitmGIzEQM5g== ++"@walletconnect/types@2.17.0": ++ version "2.17.0" ++ resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.17.0.tgz#20eda5791e3172f8ab9146caa3f317701d4b3232" ++ integrity sha512-i1pn9URpvt9bcjRDkabuAmpA9K7mzyKoLJlbsAujRVX7pfaG7wur7u9Jz0bk1HxvuABL5LHNncTnVKSXKQ5jZA== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" +@@ -3762,38 +3900,40 @@ + "@walletconnect/logger" "2.1.2" + events "3.3.0" + +-"@walletconnect/universal-provider@2.14.0": +- version "2.14.0" +- resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.14.0.tgz#39d029be80374894b5f4249b76282dd9211d8b9f" +- integrity sha512-Mr8uoTmD6H0+Hh+3gxBu4l3T2uP/nNPR02sVtwEujNum++F727mMk+ifPRIpkVo21V/bvXFEy8sHTs5hqyq5iA== ++"@walletconnect/universal-provider@2.17.0": ++ version "2.17.0" ++ resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.17.0.tgz#c9d4bbd9b8f0e41b500b2488ccbc207dc5f7a170" ++ integrity sha512-d3V5Be7AqLrvzcdMZSBS8DmGDRdqnyLk1DWmRKAGgR6ieUWykhhUKlvfeoZtvJrIXrY7rUGYpH1X41UtFkW5Pw== + dependencies: + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" +- "@walletconnect/sign-client" "2.14.0" +- "@walletconnect/types" "2.14.0" +- "@walletconnect/utils" "2.14.0" ++ "@walletconnect/sign-client" "2.17.0" ++ "@walletconnect/types" "2.17.0" ++ "@walletconnect/utils" "2.17.0" + events "3.3.0" + +-"@walletconnect/utils@2.14.0": +- version "2.14.0" +- resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.14.0.tgz#48493ffe1e902815fda3cbd5cc5409288a066d35" +- integrity sha512-vRVomYQEtEAyCK2c5bzzEvtgxaGGITF8mWuIL+WYSAMyEJLY97mirP2urDucNwcUczwxUgI+no9RiNFbUHreQQ== ++"@walletconnect/utils@2.17.0": ++ version "2.17.0" ++ resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.17.0.tgz#02b3af0b80d0c1a994d692d829d066271b04d071" ++ integrity sha512-1aeQvjwsXy4Yh9G6g2eGmXrEl+BzkNjHRdCrGdMYqFTFa8ROEJfTGsSH3pLsNDlOY94CoBUvJvM55q/PMoN/FQ== + dependencies: + "@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/relay-api" "1.0.10" ++ "@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.14.0" ++ "@walletconnect/types" "2.17.0" + "@walletconnect/window-getters" "1.0.1" + "@walletconnect/window-metadata" "1.0.1" + detect-browser "5.3.0" ++ elliptic "^6.5.7" + query-string "7.1.3" + uint8arrays "3.1.0" + +@@ -3866,6 +4006,16 @@ abitype@1.0.5: + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.5.tgz#29d0daa3eea867ca90f7e4123144c1d1270774b6" + integrity sha512-YzDhti7cjlfaBhHutMaboYB21Ha3rXR9QTkNJFzYC4kC8YclaiwPBBBJY8ejFdu2wnJeZCVZSMlQJ7fi8S6hsw== + ++abitype@1.0.6, abitype@^1.0.6: ++ version "1.0.6" ++ resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.6.tgz#76410903e1d88e34f1362746e2d407513c38565b" ++ integrity sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A== ++ ++abitype@1.0.7: ++ version "1.0.7" ++ resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.7.tgz#876a0005d211e1c9132825d45bcee7b46416b284" ++ integrity sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw== ++ + abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" +@@ -3948,6 +4098,11 @@ apexcharts@^3.49.1: + svg.resize.js "^1.4.3" + svg.select.js "^3.0.1" + ++apg-js@^4.3.0: ++ version "4.4.0" ++ resolved "https://registry.yarnpkg.com/apg-js/-/apg-js-4.4.0.tgz#09dcecab0731fbde233b9f2352fdd2d07e56b2cf" ++ integrity sha512-fefmXFknJmtgtNEXfPwZKYkMFX4Fyeyz+fNF6JWp87biGOPslJbCBVU158zvKRZfHBKnJDy8CMM40oLFGkXT8Q== ++ + argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" +@@ -3967,6 +4122,16 @@ aria-query@^5.3.0: + dependencies: + dequal "^2.0.3" + ++array-back@^3.0.1, array-back@^3.1.0: ++ version "3.1.0" ++ resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" ++ integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== ++ ++array-back@^4.0.1, array-back@^4.0.2: ++ version "4.0.2" ++ resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" ++ integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== ++ + array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz" +@@ -4088,6 +4253,11 @@ async-mutex@^0.2.6: + dependencies: + tslib "^2.0.0" + ++asynckit@^0.4.0: ++ version "0.4.0" ++ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" ++ integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== ++ + atomic-sleep@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" +@@ -4105,6 +4275,15 @@ axe-core@=4.7.0: + resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz" + integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== + ++axios@^1.7.2: ++ version "1.7.9" ++ resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.9.tgz#d7d071380c132a24accda1b2cfc1535b79ec650a" ++ integrity sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw== ++ dependencies: ++ follow-redirects "^1.15.6" ++ form-data "^4.0.0" ++ proxy-from-env "^1.1.0" ++ + axobject-query@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz" +@@ -4153,7 +4332,7 @@ bech32@^2.0.0: + resolved "https://registry.npmjs.org/bech32/-/bech32-2.0.0.tgz" + integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg== + +-bignumber.js@^9.0.0: ++bignumber.js@^9.0.0, 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== +@@ -4203,6 +4382,13 @@ bip32@^2.0.4: + typeforce "^1.11.5" + wif "^2.0.6" + ++bip39@^3.1.0: ++ version "3.1.0" ++ resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.1.0.tgz#c55a418deaf48826a6ceb34ac55b3ee1577e18a3" ++ integrity sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A== ++ dependencies: ++ "@noble/hashes" "^1.2.0" ++ + bip66@^1.1.0: + version "1.1.5" + resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" +@@ -4265,6 +4451,18 @@ bitcoinjs-lib@^6.1.3: + typeforce "^1.11.3" + varuint-bitcoin "^1.1.2" + ++bitcoinjs-lib@^6.1.5, bitcoinjs-lib@^6.1.6: ++ version "6.1.7" ++ resolved "https://registry.yarnpkg.com/bitcoinjs-lib/-/bitcoinjs-lib-6.1.7.tgz#0f98dec1333d658574eefa455295668cfae38bb0" ++ integrity sha512-tlf/r2DGMbF7ky1MgUqXHzypYHakkEnm0SZP23CJKIqNY/5uNAnMbFhMJdhjrL/7anfb/U8+AlpdjPWjPnAalg== ++ dependencies: ++ "@noble/hashes" "^1.2.0" ++ bech32 "^2.0.0" ++ bip174 "^2.1.1" ++ bs58check "^3.0.1" ++ typeforce "^1.11.3" ++ varuint-bitcoin "^1.1.2" ++ + bn.js@^4.11.8, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" +@@ -4448,9 +4646,9 @@ chalk@^2.4.2: + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +-chalk@^4.0.0, chalk@^4.1.2: ++chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" +- resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" ++ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" +@@ -4554,6 +4752,33 @@ color2k@^2.0.2: + resolved "https://registry.npmjs.org/color2k/-/color2k-2.0.3.tgz" + integrity sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog== + ++combined-stream@^1.0.8: ++ version "1.0.8" ++ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" ++ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== ++ dependencies: ++ delayed-stream "~1.0.0" ++ ++command-line-args@^5.1.1: ++ version "5.2.1" ++ resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" ++ integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== ++ dependencies: ++ array-back "^3.1.0" ++ find-replace "^3.0.0" ++ lodash.camelcase "^4.3.0" ++ typical "^4.0.0" ++ ++command-line-usage@^6.1.0: ++ version "6.1.3" ++ resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" ++ integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== ++ dependencies: ++ array-back "^4.0.2" ++ chalk "^2.4.2" ++ table-layout "^1.0.2" ++ typical "^5.2.0" ++ + commander@7: + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" +@@ -5128,6 +5353,11 @@ deep-eql@^4.1.3: + dependencies: + type-detect "^4.0.0" + ++deep-extend@~0.6.0: ++ version "0.6.0" ++ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" ++ integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== ++ + deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" +@@ -5147,11 +5377,6 @@ define-data-property@^1.0.1, define-data-property@^1.1.4: + es-errors "^1.3.0" + gopd "^1.0.1" + +-define-lazy-prop@^2.0.0: +- version "2.0.0" +- resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" +- integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== +- + define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" +@@ -5178,6 +5403,11 @@ delaunator@5: + dependencies: + robust-predicates "^3.0.2" + ++delayed-stream@~1.0.0: ++ version "1.0.0" ++ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" ++ integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== ++ + dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" +@@ -5220,10 +5450,10 @@ dir-glob@^3.0.1: + dependencies: + path-type "^4.0.0" + +-dlc-btc-lib@2.5.1: +- version "2.5.1" +- resolved "https://registry.yarnpkg.com/dlc-btc-lib/-/dlc-btc-lib-2.5.1.tgz#b1eb33c0a56a244fcb109da4704854cf8a585c15" +- integrity sha512-YRfIsfsgzmUcepowZYaLjY/1E2MJbN5zIhEhS1NgiJsDBjNVAiZTHLY7RiX3eNValgFSnsY3IpUyF6piPap72A== ++dlc-btc-lib@2.5.3: ++ version "2.5.3" ++ resolved "https://registry.yarnpkg.com/dlc-btc-lib/-/dlc-btc-lib-2.5.3.tgz#a7a7df7236ad14877c77d2df172e29627ebb4816" ++ integrity sha512-QFN0nGO9P3zhfydI9j07iUxhxyRrxVRD941WhIXblw/YZDVXT8+PYW4GciSlU8KiydtHtYD+fWkUkSgUeC5kaQ== + dependencies: + "@dfns/sdk" "^0.5.9" + "@dfns/sdk-browser" "^0.5.9" +@@ -5276,14 +5506,15 @@ duplexify@^4.1.2: + readable-stream "^3.1.1" + stream-shift "^1.0.2" + +-eciesjs@^0.3.15: +- version "0.3.19" +- resolved "https://registry.yarnpkg.com/eciesjs/-/eciesjs-0.3.19.tgz#a22e9e1efe3fdedec02c828e2632ae0d4a073676" +- integrity sha512-b+PkRDZ3ym7HEcnbxc22CMVCpgsnr8+gGgST3U5PtgeX1luvINgfXW7efOyUtmn/jFtA/lg5ywBi/Uazf4oeaA== ++eciesjs@^0.4.11: ++ version "0.4.12" ++ resolved "https://registry.yarnpkg.com/eciesjs/-/eciesjs-0.4.12.tgz#0ce482454953592e07b79b4824751f3b5c508b56" ++ integrity sha512-DGejvMCihsRAmKRFQiL6KZDE34vWVd0gvXlykFq1aEzJy/rD65AVyAIUZKZOvgvaP9ATQRcHGEZV5DfgrgjA4w== + dependencies: +- "@types/secp256k1" "^4.0.6" +- futoin-hkdf "^1.5.3" +- secp256k1 "^5.0.0" ++ "@ecies/ciphers" "^0.2.1" ++ "@noble/ciphers" "^1.0.0" ++ "@noble/curves" "^1.6.0" ++ "@noble/hashes" "^1.5.0" + + ecpair@^2.1.0: + version "2.1.0" +@@ -5325,10 +5556,10 @@ elliptic@^6.4.0: + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +-elliptic@^6.5.4: +- version "6.5.6" +- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.6.tgz#ee5f7c3a00b98a2144ac84d67d01f04d438fa53e" +- integrity sha512-mpzdtpeCLuS3BmE3pO3Cpp5bbjlOPY2Q0PgoF+Od1XZrHLYI28Xe3ossCmYCQt11FQKEYd9+PF8jymTvtWJSHQ== ++elliptic@^6.5.7: ++ version "6.6.1" ++ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" ++ integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" +@@ -5561,11 +5792,6 @@ escalade@^3.1.1: + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +-escape-string-regexp@2.0.0: +- version "2.0.0" +- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" +- integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== +- + escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" +@@ -5829,7 +6055,7 @@ ethereum-cryptography@^2.0.0: + + ethers@5.7.2: + version "5.7.2" +- resolved "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz" ++ resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" + integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== + dependencies: + "@ethersproject/abi" "5.7.0" +@@ -5868,7 +6094,7 @@ event-target-shim@^5.0.0: + 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== + +-eventemitter2@^6.4.7: ++eventemitter2@^6.4.9: + version "6.4.9" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.9.tgz#41f2750781b4230ed58827bc119d293471ecb125" + integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg== +@@ -5980,6 +6206,13 @@ filter-obj@^1.1.0: + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + ++find-replace@^3.0.0: ++ version "3.0.0" ++ resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" ++ integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== ++ dependencies: ++ array-back "^3.0.1" ++ + find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" +@@ -6022,6 +6255,11 @@ focus-lock@^1.3.2: + dependencies: + tslib "^2.0.3" + ++follow-redirects@^1.15.6: ++ version "1.15.9" ++ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" ++ integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== ++ + for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" +@@ -6029,6 +6267,15 @@ for-each@^0.3.3: + dependencies: + is-callable "^1.1.3" + ++form-data@^4.0.0: ++ version "4.0.1" ++ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" ++ integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== ++ dependencies: ++ asynckit "^0.4.0" ++ combined-stream "^1.0.8" ++ mime-types "^2.1.12" ++ + formik@^2.4.5: + version "2.4.5" + resolved "https://registry.npmjs.org/formik/-/formik-2.4.5.tgz" +@@ -6057,6 +6304,15 @@ framesync@6.1.2: + dependencies: + tslib "2.4.0" + ++fs-extra@^7.0.0: ++ version "7.0.1" ++ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" ++ integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== ++ dependencies: ++ graceful-fs "^4.1.2" ++ jsonfile "^4.0.0" ++ universalify "^0.1.0" ++ + fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" +@@ -6092,11 +6348,6 @@ functions-have-names@^1.2.3: + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +-futoin-hkdf@^1.5.3: +- version "1.5.3" +- resolved "https://registry.yarnpkg.com/futoin-hkdf/-/futoin-hkdf-1.5.3.tgz#6c8024f2e1429da086d4e18289ef2239ad33ee35" +- integrity sha512-SewY5KdMpaoCeh7jachEWFsh1nNlaDjNHZXWqL5IGwtpEYHTgkr2+AMCgNwKWkcc0wpSYrZfR7he4WdmHFtDxQ== +- + gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" +@@ -6161,6 +6412,18 @@ glob-parent@^6.0.2: + dependencies: + is-glob "^4.0.3" + ++glob@7.1.7: ++ version "7.1.7" ++ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" ++ integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== ++ dependencies: ++ fs.realpath "^1.0.0" ++ inflight "^1.0.4" ++ inherits "2" ++ minimatch "^3.0.4" ++ once "^1.3.0" ++ path-is-absolute "^1.0.0" ++ + glob@^7.1.3: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" +@@ -6211,6 +6474,11 @@ gopd@^1.0.1: + dependencies: + get-intrinsic "^1.1.3" + ++graceful-fs@^4.1.2, graceful-fs@^4.1.6: ++ version "4.2.11" ++ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" ++ integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== ++ + graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" +@@ -6326,20 +6594,6 @@ human-signals@^5.0.0: + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" + integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== + +-i18next-browser-languagedetector@7.1.0: +- version "7.1.0" +- resolved "https://registry.yarnpkg.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.1.0.tgz#01876fac51f86b78975e79b48ccb62e2313a2d7d" +- integrity sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA== +- dependencies: +- "@babel/runtime" "^7.19.4" +- +-i18next@23.11.5: +- version "23.11.5" +- resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.11.5.tgz#d71eb717a7e65498d87d0594f2664237f9e361ef" +- integrity sha512-41pvpVbW9rhZPk5xjCX2TPJi2861LEig/YRhUkY+1FQ2IQPS0bKUDYnEqY8XPPbB48h1uIwLnP9iiEfuSl20CA== +- dependencies: +- "@babel/runtime" "^7.23.2" +- + iconv-lite@0.6: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" +@@ -6407,7 +6661,7 @@ internal-slot@^1.0.7: + resolved "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz" + integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== + +-invariant@2.2.4, invariant@^2.2.4: ++invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== +@@ -6495,11 +6749,6 @@ is-date-object@^1.0.1, is-date-object@^1.0.5: + dependencies: + has-tostringtag "^1.0.0" + +-is-docker@^2.0.0, is-docker@^2.1.1: +- version "2.2.1" +- 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" +@@ -6641,13 +6890,6 @@ is-weakset@^2.0.3: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + +-is-wsl@^2.2.0: +- version "2.2.0" +- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" +- integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== +- 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" +@@ -6677,19 +6919,16 @@ isexe@^2.0.0: + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +-isomorphic-unfetch@3.1.0: +- version "3.1.0" +- resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz#87341d5f4f7b63843d468438128cb087b7c3e98f" +- integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q== +- dependencies: +- node-fetch "^2.6.1" +- unfetch "^4.2.0" +- + isows@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.4.tgz#810cd0d90cc4995c26395d2aa4cfa4037ebdf061" + integrity sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ== + ++isows@1.0.6: ++ version "1.0.6" ++ resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.6.tgz#0da29d706fa51551c663c627ace42769850f86e7" ++ integrity sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw== ++ + iterator.prototype@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" +@@ -6711,9 +6950,9 @@ jiti@^1.21.0: + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" + integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== + +-js-sha3@0.8.0: ++js-sha3@0.8.0, js-sha3@^0.8.0: + version "0.8.0" +- resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" ++ resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: +@@ -6783,6 +7022,13 @@ jsonc-parser@^3.2.0: + resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz" + integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== + ++jsonfile@^4.0.0: ++ version "4.0.0" ++ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" ++ integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== ++ optionalDependencies: ++ graceful-fs "^4.1.6" ++ + "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: + version "3.3.5" + resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" +@@ -6793,6 +7039,11 @@ jsonc-parser@^3.2.0: + object.assign "^4.1.4" + object.values "^1.1.6" + ++jwt-decode@^4.0.0: ++ version "4.0.0" ++ resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-4.0.0.tgz#2270352425fd413785b2faf11f6e755c5151bd4b" ++ integrity sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA== ++ + keccak@^3.0.3: + version "3.0.4" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" +@@ -6933,6 +7184,11 @@ lodash-es@^4.17.21: + resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + ++lodash.camelcase@^4.3.0: ++ version "4.3.0" ++ resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" ++ integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== ++ + lodash.isequal@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" +@@ -6948,9 +7204,9 @@ lodash.mergewith@4.6.2: + resolved "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz" + integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== + +-lodash@^4.17.21: ++lodash@^4.17.15, lodash@^4.17.21: + version "4.17.21" +- resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" ++ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + + loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: +@@ -7045,6 +7301,18 @@ micromatch@^4.0.5: + braces "^3.0.3" + picomatch "^2.3.1" + ++mime-db@1.52.0: ++ version "1.52.0" ++ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" ++ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== ++ ++mime-types@^2.1.12: ++ version "2.1.35" ++ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" ++ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== ++ dependencies: ++ mime-db "1.52.0" ++ + mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" +@@ -7072,9 +7340,9 @@ minimatch@9.0.3: + dependencies: + brace-expansion "^2.0.1" + +-minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: ++minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" +- resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" ++ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" +@@ -7089,6 +7357,11 @@ mipd@0.0.7: + resolved "https://registry.yarnpkg.com/mipd/-/mipd-0.0.7.tgz#bb5559e21fa18dc3d9fe1c08902ef14b7ce32fd9" + integrity sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg== + ++mkdirp@^1.0.4: ++ version "1.0.4" ++ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" ++ integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== ++ + mlly@^1.2.0, mlly@^1.4.0: + version "1.6.1" + resolved "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz" +@@ -7143,7 +7416,7 @@ ms@2.1.2: + + ms@^2.1.1: + version "2.1.3" +- resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" ++ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + + multiformats@^9.4.2: +@@ -7176,11 +7449,6 @@ 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@^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" +@@ -7191,7 +7459,7 @@ node-fetch-native@^1.6.2, node-fetch-native@^1.6.3, node-fetch-native@^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.11, node-fetch@^2.6.12: ++node-fetch@^2.6.11, node-fetch@^2.6.12: + 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== +@@ -7338,15 +7606,6 @@ onetime@^6.0.0: + dependencies: + mimic-fn "^4.0.0" + +-open@^8.4.0: +- version "8.4.2" +- resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" +- integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== +- dependencies: +- define-lazy-prop "^2.0.0" +- is-docker "^2.1.1" +- is-wsl "^2.2.0" +- + optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" +@@ -7359,6 +7618,19 @@ optionator@^0.9.3: + prelude-ls "^1.2.1" + type-check "^0.4.0" + ++ox@0.1.2: ++ version "0.1.2" ++ resolved "https://registry.yarnpkg.com/ox/-/ox-0.1.2.tgz#0f791be2ccabeaf4928e6d423498fe1c8094e560" ++ integrity sha512-ak/8K0Rtphg9vnRJlbOdaX9R7cmxD2MiSthjWGaQdMk3D7hrAlDoM+6Lxn7hN52Za3vrXfZ7enfke/5WjolDww== ++ dependencies: ++ "@adraffy/ens-normalize" "^1.10.1" ++ "@noble/curves" "^1.6.0" ++ "@noble/hashes" "^1.5.0" ++ "@scure/bip32" "^1.5.0" ++ "@scure/bip39" "^1.4.0" ++ abitype "^1.0.6" ++ eventemitter3 "5.0.1" ++ + p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" +@@ -7572,11 +7844,21 @@ preact@^10.16.0: + resolved "https://registry.yarnpkg.com/preact/-/preact-10.23.1.tgz#d400107289bc979881c5212cb5f5cd22cd1dc38c" + integrity sha512-O5UdRsNh4vdZaTieWe3XOgSpdMAmkIYBCT3VhQDlKrzyCm8lUYsk0fmVEvoQQifoOjFRTaHZO69ylrzTW2BH+A== + ++preact@^10.24.2: ++ version "10.25.2" ++ resolved "https://registry.yarnpkg.com/preact/-/preact-10.25.2.tgz#e141e18a547ae0082dae48d044e0d8267e2547d2" ++ integrity sha512-GEts1EH3oMnqdOIeXhlbBSddZ9nrINd070WBOiPO2ous1orrKGUM4SMDbwyjSWD1iMS2dBvaDjAa5qUhz3TXqw== ++ + prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + ++prettier@^2.3.1: ++ version "2.8.8" ++ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" ++ integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== ++ + prettier@^3.0.3: + version "3.2.5" + resolved "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz" +@@ -7623,11 +7905,21 @@ prop-types@15.8.1, prop-types@^15.6.2, prop-types@^15.8.1: + object-assign "^4.1.1" + react-is "^16.13.1" + ++property-expr@^2.0.5: ++ version "2.0.6" ++ resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.6.tgz#f77bc00d5928a6c748414ad12882e83f24aec1e8" ++ integrity sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA== ++ + proxy-compare@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.1.tgz#17818e33d1653fbac8c2ec31406bce8a2966f600" + integrity sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA== + ++proxy-from-env@^1.1.0: ++ version "1.1.0" ++ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" ++ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== ++ + pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" +@@ -7648,23 +7940,6 @@ pushdata-bitcoin@^1.0.1: + dependencies: + bitcoin-ops "^1.3.0" + +-qr-code-styling@^1.6.0-rc.1: +- version "1.6.0-rc.1" +- resolved "https://registry.yarnpkg.com/qr-code-styling/-/qr-code-styling-1.6.0-rc.1.tgz#6c89e185fa50cc9135101085c12ae95b06f1b290" +- integrity sha512-ModRIiW6oUnsP18QzrRYZSc/CFKFKIdj7pUs57AEVH20ajlglRpN3HukjHk0UbNMTlKGuaYl7Gt6/O5Gg2NU2Q== +- dependencies: +- qrcode-generator "^1.4.3" +- +-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-terminal-nooctal@^0.12.1: +- version "0.12.1" +- resolved "https://registry.yarnpkg.com/qrcode-terminal-nooctal/-/qrcode-terminal-nooctal-0.12.1.tgz#45016aca0d82b2818de7af0a06d072ad671fbe2e" +- integrity sha512-jy/kkD0iIMDjTucB+5T6KBsnirlhegDH47vHgrj5MejchSQmi/EAMM0xMFeePgV9CJkkAapNakpVUWYgHvtdKg== +- + qrcode@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" +@@ -7791,14 +8066,6 @@ react-is@^18.0.0: + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +-react-native-webview@^11.26.0: +- version "11.26.1" +- resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-11.26.1.tgz#658c09ed5162dc170b361e48c2dd26c9712879da" +- integrity sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw== +- dependencies: +- escape-string-regexp "2.0.0" +- invariant "2.2.4" +- + react-redux@^8.1.3: + version "8.1.3" + resolved "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz" +@@ -7875,6 +8142,13 @@ react@^18.2.0: + dependencies: + loose-envify "^1.1.0" + ++react@^18.3.1: ++ version "18.3.1" ++ resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" ++ integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== ++ dependencies: ++ loose-envify "^1.1.0" ++ + readable-stream@^2.3.3: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" +@@ -7920,6 +8194,11 @@ real-require@^0.1.0: + resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" + integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== + ++reduce-flatten@^2.0.0: ++ version "2.0.0" ++ resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" ++ integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== ++ + redux-persist-expire@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/redux-persist-expire/-/redux-persist-expire-1.1.1.tgz" +@@ -8062,16 +8341,6 @@ robust-predicates@^3.0.2: + resolved "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz" + integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== + +-rollup-plugin-visualizer@^5.9.2: +- version "5.12.0" +- resolved "https://registry.yarnpkg.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz#661542191ce78ee4f378995297260d0c1efb1302" +- integrity sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ== +- dependencies: +- open "^8.4.0" +- picomatch "^2.3.1" +- source-map "^0.7.4" +- yargs "^17.5.1" +- + rollup@^3.27.1: + version "3.29.4" + resolved "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz" +@@ -8180,15 +8449,6 @@ scure@1.6.0: + dependencies: + pluralize "^7.0.0" + +-secp256k1@^5.0.0: +- version "5.0.0" +- resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-5.0.0.tgz#be6f0c8c7722e2481e9773336d351de8cddd12f7" +- integrity sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA== +- dependencies: +- elliptic "^6.5.4" +- node-addon-api "^5.0.0" +- node-gyp-build "^4.2.0" +- + semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" +@@ -8298,6 +8558,16 @@ sisteransi@^1.0.5: + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + ++siwe@^2.1.4: ++ version "2.3.2" ++ resolved "https://registry.yarnpkg.com/siwe/-/siwe-2.3.2.tgz#0794ae25f734f3068de0ab093ddd2f7867bc2d67" ++ integrity sha512-aSf+6+Latyttbj5nMu6GF3doMfv2UYj83hhwZgUF20ky6fTS83uVhkQABdIVnEuS8y1bBdk7p6ltb9SmlhTTlA== ++ dependencies: ++ "@spruceid/siwe-parser" "^2.1.2" ++ "@stablelib/random" "^1.0.1" ++ uri-js "^4.4.1" ++ valid-url "^1.0.9" ++ + slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" +@@ -8351,7 +8621,7 @@ source-map@^0.6.0: + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +-source-map@^0.7.3, source-map@^0.7.4: ++source-map@^0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== +@@ -8396,6 +8666,11 @@ strict-uri-encode@^2.0.0: + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + ++string-format@^2.0.0: ++ version "2.0.0" ++ resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" ++ integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== ++ + string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" +@@ -8590,6 +8865,16 @@ system-architecture@^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@^1.0.2: ++ version "1.0.2" ++ resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" ++ integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== ++ dependencies: ++ array-back "^4.0.1" ++ deep-extend "~0.6.0" ++ typical "^5.2.0" ++ wordwrapjs "^4.0.0" ++ + text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" +@@ -8602,6 +8887,11 @@ thread-stream@^0.15.1: + dependencies: + real-require "^0.1.0" + ++tiny-case@^1.0.3: ++ version "1.0.3" ++ resolved "https://registry.yarnpkg.com/tiny-case/-/tiny-case-1.0.3.tgz#d980d66bc72b5d5a9ca86fb7c9ffdb9c898ddd03" ++ integrity sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q== ++ + tiny-invariant@^1.0.6: + version "1.3.3" + resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz" +@@ -8618,7 +8908,7 @@ tiny-secp256k1@1.1.6: + elliptic "^6.4.0" + nan "^2.13.2" + +-tiny-secp256k1@2.2.3: ++tiny-secp256k1@2.2.3, tiny-secp256k1@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-2.2.3.tgz#fe1dde11a64fcee2091157d4b78bcb300feb9b65" + integrity sha512-SGcL07SxcPN2nGKHTCvRMkQLYPSoeFcvArUSCYtjVARiFAWU44cCIqYS0mYAU6nY7XfvwURuTIGo2Omt3ZQr0Q== +@@ -8680,6 +8970,11 @@ toml-eslint-parser@^0.9.3: + dependencies: + eslint-visitor-keys "^3.0.0" + ++toposort@^2.0.2: ++ version "2.0.2" ++ resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" ++ integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg== ++ + tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" +@@ -8695,6 +8990,21 @@ ts-api-utils@^1.0.1: + resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + ++ts-command-line-args@^2.2.0: ++ version "2.5.1" ++ resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz#e64456b580d1d4f6d948824c274cf6fa5f45f7f0" ++ integrity sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw== ++ dependencies: ++ chalk "^4.1.0" ++ command-line-args "^5.1.1" ++ command-line-usage "^6.1.0" ++ string-format "^2.0.0" ++ ++ts-essentials@^7.0.1: ++ version "7.0.3" ++ resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.3.tgz#686fd155a02133eedcc5362dc8b5056cde3e5a38" ++ integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== ++ + ts-toolbelt@^9.6.0: + version "9.6.0" + resolved "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz" +@@ -8733,6 +9043,11 @@ tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0: + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + ++tslib@^2.6.0: ++ version "2.8.1" ++ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" ++ integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== ++ + tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" +@@ -8762,6 +9077,27 @@ type-fest@^0.20.2: + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + ++type-fest@^2.19.0: ++ version "2.19.0" ++ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" ++ integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== ++ ++typechain@^8.3.2: ++ version "8.3.2" ++ resolved "https://registry.yarnpkg.com/typechain/-/typechain-8.3.2.tgz#1090dd8d9c57b6ef2aed3640a516bdbf01b00d73" ++ integrity sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q== ++ dependencies: ++ "@types/prettier" "^2.1.1" ++ debug "^4.3.1" ++ fs-extra "^7.0.0" ++ glob "7.1.7" ++ js-sha3 "^0.8.0" ++ lodash "^4.17.15" ++ mkdirp "^1.0.4" ++ prettier "^2.3.1" ++ ts-command-line-args "^2.2.0" ++ ts-essentials "^7.0.1" ++ + typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz" +@@ -8823,6 +9159,16 @@ typescript@^5.2.2: + resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz" + integrity sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg== + ++typical@^4.0.0: ++ version "4.0.0" ++ resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" ++ integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== ++ ++typical@^5.2.0: ++ version "5.2.0" ++ resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" ++ integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== ++ + ufo@^1.3.2: + version "1.5.3" + resolved "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz" +@@ -8888,10 +9234,10 @@ unenv@^1.9.0: + node-fetch-native "^1.6.4" + pathe "^1.1.2" + +-unfetch@^4.2.0: +- version "4.2.0" +- resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" +- integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== ++universalify@^0.1.0: ++ version "0.1.2" ++ resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" ++ integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + + unstorage@^1.9.0: + version "1.10.2" +@@ -8931,9 +9277,9 @@ uqr@^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: ++uri-js@^4.2.2, uri-js@^4.4.1: + version "4.4.1" +- resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" ++ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" +@@ -8975,6 +9321,13 @@ utf-8-validate@^5.0.2: + dependencies: + node-gyp-build "^4.3.0" + ++utf-8-validate@^6.0.3: ++ version "6.0.5" ++ resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-6.0.5.tgz#8087d39902be2cc15bdb21a426697ff256d65aab" ++ integrity sha512-EYZR+OpIXp9Y1eG1iueg8KRsY8TuT8VNgnanZ0uA3STqhHQTLwbl+WX76/9X5OY12yQubymBpaBSmMPkSTQcKA== ++ dependencies: ++ node-gyp-build "^4.3.0" ++ + util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" +@@ -9006,6 +9359,11 @@ uuid@^9.0.1: + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + ++valid-url@^1.0.9: ++ version "1.0.9" ++ resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" ++ integrity sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA== ++ + valtio@1.11.2: + version "1.11.2" + resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.11.2.tgz#b8049c02dfe65620635d23ebae9121a741bb6530" +@@ -9021,7 +9379,7 @@ varuint-bitcoin@1.1.2, varuint-bitcoin@^1.0.4, varuint-bitcoin@^1.1.2: + dependencies: + safe-buffer "^5.1.1" + +-viem@2.x, viem@^2.1.1: ++viem@^2.1.1: + version "2.18.6" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.18.6.tgz#527c54a032cdd4c1f1795fcb44072e8c3efd16c6" + integrity sha512-KughUodIEjzkC+KfQ4+259yRXYfo0VLkZQ7NVC3RGfCMMOiVWaOxHjmcaY0FnZzKX3pwrlMyTAZbwH9tVAN/Yw== +@@ -9036,6 +9394,36 @@ viem@2.x, viem@^2.1.1: + webauthn-p256 "0.0.5" + ws "8.17.1" + ++viem@^2.20.1: ++ version "2.21.49" ++ resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.49.tgz#528d5e54747ba3125041cd753459a4ce673aaaa6" ++ integrity sha512-NNItYfTv4+yGE5DDKc+S/g2S7KeJn047GwgEYG60FAJlK0FzwuP6lQKSeQ8k7Y4VasfuKPqiT+XiilcCtTRiDQ== ++ dependencies: ++ "@noble/curves" "1.6.0" ++ "@noble/hashes" "1.5.0" ++ "@scure/bip32" "1.5.0" ++ "@scure/bip39" "1.4.0" ++ abitype "1.0.6" ++ isows "1.0.6" ++ ox "0.1.2" ++ webauthn-p256 "0.0.10" ++ ws "8.18.0" ++ ++viem@^2.21.15: ++ version "2.21.55" ++ resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.55.tgz#a57ad31fcf2a0f6c011b1909f02c94421ec4f781" ++ integrity sha512-PgXew7C11cAuEtOSgRyQx2kJxEOPUwIwZA9dMglRByqJuFVA7wSGZZOOo/93iylAA8E15bEdqy9xulU3oKZ70Q== ++ dependencies: ++ "@noble/curves" "1.7.0" ++ "@noble/hashes" "1.6.1" ++ "@scure/bip32" "1.6.0" ++ "@scure/bip39" "1.5.0" ++ abitype "1.0.7" ++ isows "1.0.6" ++ ox "0.1.2" ++ webauthn-p256 "0.0.10" ++ ws "8.18.0" ++ + vite-node@0.34.6: + version "0.34.6" + resolved "https://registry.npmjs.org/vite-node/-/vite-node-0.34.6.tgz" +@@ -9113,13 +9501,13 @@ vitest@^0.34.6: + vite-node "0.34.6" + why-is-node-running "^2.2.2" + +-wagmi@^2.12.2: +- version "2.12.2" +- resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.12.2.tgz#1d3b1dea0783c05245aed72a29bce756eb4f0bd8" +- integrity sha512-gIZdAgmHJjENdOdkD/Zpu85NR16k/uMB3H/yGBz1q9bDAE8oguuBxRUEhuMt6jAC95RB96+7hMVfL9kBtHnu+g== ++wagmi@2.14.3, wagmi@^2.12.16: ++ version "2.14.3" ++ resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.14.3.tgz#3abfe5e9f796890d75d1b7d506e9dccd6b87f254" ++ integrity sha512-sr8o7+EBw22GhieDyXLv8Zr2vgC6xKrYoSuUIpq0xOqEhvMP1q880VtR4lFG1capc2QEWvK72pJ/+jpsEQcMYQ== + dependencies: +- "@wagmi/connectors" "5.1.2" +- "@wagmi/core" "2.13.1" ++ "@wagmi/connectors" "5.7.0" ++ "@wagmi/core" "2.16.0" + use-sync-external-store "1.2.0" + + web-encoding@1.1.5: +@@ -9136,6 +9524,14 @@ web-streams-polyfill@^3.1.1: + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" + integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== + ++webauthn-p256@0.0.10: ++ version "0.0.10" ++ resolved "https://registry.yarnpkg.com/webauthn-p256/-/webauthn-p256-0.0.10.tgz#877e75abe8348d3e14485932968edf3325fd2fdd" ++ integrity sha512-EeYD+gmIT80YkSIDb2iWq0lq2zbHo1CxHlQTeJ+KkCILWpVy3zASH3ByD4bopzfk0uCwXxLqKGLqp2W4O28VFA== ++ dependencies: ++ "@noble/curves" "^1.4.0" ++ "@noble/hashes" "^1.4.0" ++ + webauthn-p256@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/webauthn-p256/-/webauthn-p256-0.0.5.tgz#0baebd2ba8a414b21cc09c0d40f9dd0be96a06bd" +@@ -9244,6 +9640,14 @@ wif@^2.0.1, wif@^2.0.6: + dependencies: + bs58check "<3.0.0" + ++wordwrapjs@^4.0.0: ++ version "4.0.1" ++ resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" ++ integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== ++ dependencies: ++ reduce-flatten "^2.0.0" ++ typical "^5.2.0" ++ + wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" +@@ -9277,16 +9681,16 @@ ws@8.17.1, ws@~8.17.1: + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + ++ws@8.18.0, ws@^8.13.0, ws@^8.14.2: ++ version "8.18.0" ++ resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" ++ integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== ++ + ws@^7.5.1: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== + +-ws@^8.13.0: +- version "8.18.0" +- resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" +- integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== +- + xmlhttprequest-ssl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" +@@ -9367,7 +9771,7 @@ yargs@^15.3.1: + y18n "^4.0.0" + yargs-parser "^18.1.2" + +-yargs@^17.5.1, yargs@^17.7.2: ++yargs@^17.7.2: + version "17.7.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== +@@ -9399,9 +9803,17 @@ youtube-player@5.5.2: + load-script "^1.0.0" + sister "^3.0.0" + +-zustand@4.4.1: +- version "4.4.1" +- resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.1.tgz#0cd3a3e4756f21811bd956418fdc686877e8b3b0" +- integrity sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw== ++yup@^1.4.0: ++ version "1.6.0" ++ resolved "https://registry.yarnpkg.com/yup/-/yup-1.6.0.tgz#70d4e81ed7b73564f86efa25c7c469cadcabf665" ++ integrity sha512-/dny6arMf5CV6ZPAGpXYVw0wR8qcDF15H8zILTQWoRf6jHN1nJNFL1IAlFfUMlO7QGifMVHZle/l8YJdxtWfxg== + dependencies: +- use-sync-external-store "1.2.0" ++ property-expr "^2.0.5" ++ tiny-case "^1.0.3" ++ toposort "^2.0.2" ++ type-fest "^2.19.0" ++ ++zustand@5.0.0: ++ version "5.0.0" ++ resolved "https://registry.yarnpkg.com/zustand/-/zustand-5.0.0.tgz#71f8aaecf185592a3ba2743d7516607361899da9" ++ integrity sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ== diff --git a/vite.config.ts b/vite.config.ts index 4070689d..972271fb 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -80,6 +80,7 @@ export default defineConfig(async ({ mode }) => { target: 'esnext', }, define: { + global: 'window', appConfiguration, }, resolve: { diff --git a/yarn.lock b/yarn.lock index 135c23f8..26fbeff8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,6 +12,11 @@ resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== +"@adraffy/ens-normalize@^1.10.1": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.11.0.tgz#42cc67c5baa407ac25059fcd7d405cc5ecdb0c33" + integrity sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg== + "@ampproject/remapping@^2.2.0": version "2.3.0" resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" @@ -201,10 +206,10 @@ dependencies: regenerator-runtime "^0.14.0" -"@babel/runtime@^7.19.4": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.0.tgz#3af9a91c1b739c569d5d80cc917280919c544ecb" - integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw== +"@babel/runtime@^7.26.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" @@ -292,6 +297,37 @@ "@noble/hashes" "^1.1.5" "@noble/secp256k1" "^1.7.1" +"@catalogfi/extension@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@catalogfi/extension/-/extension-0.1.1.tgz#b07400f2365a32dd13a7cdefe65949e0705a5342" + integrity sha512-ny4xiQ95VdjFWDR2T22xLQxUY99yKRD4EOlxZInKCHGB0jnQaUrsj9iKGZ2DRGUGPpH/iDkruoXjibw7s78BIw== + +"@catalogfi/utils@^0.1.10", "@catalogfi/utils@^0.1.11", "@catalogfi/utils@^0.1.6": + version "0.1.11" + resolved "https://registry.yarnpkg.com/@catalogfi/utils/-/utils-0.1.11.tgz#3ccdba102b88cb036ae0b14f7b300e0fc83c93f6" + integrity sha512-+rt2I4W5ip6odg8ZSmoTyCY0GllPzSYqWz8xRyvgN58MVJJMAFjsp4XwyWzkIfKCRKOJve/vjYdZQx92CTO2gw== + +"@catalogfi/wallets@^0.2.51": + version "0.2.54" + resolved "https://registry.yarnpkg.com/@catalogfi/wallets/-/wallets-0.2.54.tgz#8d5323b381dd70964e2dac45a2d89015a3e3a743" + integrity sha512-ffcvXPx/qklyjR8HLr2ni/hZFA8mL+DgQxMmozTRF2UV0ngLx8aURDHN/FHg2vQ6MU5cYLEl3h+H8frPKRfL4w== + dependencies: + "@catalogfi/extension" "^0.1.1" + "@catalogfi/utils" "^0.1.10" + "@noble/hashes" "^1.4.0" + bip32 "^4.0.0" + bip39 "^3.1.0" + bitcoinjs-lib "^6.1.5" + bufferutil "^4.0.8" + dotenv "^16.3.1" + ecpair "^2.1.0" + tiny-secp256k1 "^2.2.3" + typechain "^8.3.2" + utf-8-validate "^6.0.3" + uuid "^9.0.1" + viem "^2.20.1" + yup "^1.4.0" + "@chakra-ui/accordion@2.3.1": version "2.3.1" resolved "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.3.1.tgz" @@ -1105,17 +1141,15 @@ resolved "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.2.0.tgz" integrity sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ== -"@coinbase/wallet-sdk@4.0.4": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-4.0.4.tgz#634cd89bac93eeaf381a1f026476794e53431ed6" - integrity sha512-74c040CRnGhfRjr3ArnkAgud86erIqdkPHNt5HR1k9u97uTIZCJww9eGYT67Qf7gHPpGS/xW8Be1D4dvRm63FA== +"@coinbase/wallet-sdk@4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-4.2.3.tgz#a30fa0605b24bc42c37f52a62d2442bcbb7734af" + integrity sha512-BcyHZ/Ec84z0emORzqdXDv4P0oV+tV3a0OirfA8Ko1JGBIAVvB+hzLvZzCDvnuZx7MTK+Dd8Y9Tjlo446BpCIg== dependencies: - buffer "^6.0.3" + "@noble/hashes" "^1.4.0" clsx "^1.2.1" eventemitter3 "^5.0.1" - keccak "^3.0.3" - preact "^10.16.0" - sha.js "^2.4.11" + preact "^10.24.2" "@dfns/sdk-browser@^0.5.9": version "0.5.9" @@ -1135,6 +1169,11 @@ cross-fetch "3.1.6" uuid "9.0.0" +"@ecies/ciphers@^0.2.1": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@ecies/ciphers/-/ciphers-0.2.2.tgz#82a15b10a6e502b63fb30915d944b2eaf3ff17ff" + integrity sha512-ylfGR7PyTd+Rm2PqQowG08BCKA22QuX8NzrL+LxAAvazN10DMwdJ2fWwAzRj05FI/M8vNFGm3cv9Wq/GFWCBLg== + "@emotion/babel-plugin@^11.11.0": version "11.11.0" resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz" @@ -1893,6 +1932,58 @@ resolved "https://registry.npmjs.org/@fontsource/poppins/-/poppins-5.0.12.tgz" integrity sha512-0qzBxtIJLh82iMJ9pCXKYwGs1zyS+jyUmwVJ59+JdYnEaFVkDsxVOk9yDWfVOs14ALUneodU2m5YSGma6dCYCw== +"@gardenfi/core@0.3.0-beta.14", "@gardenfi/core@^0.3.0-beta.14": + version "0.3.0-beta.14" + resolved "https://registry.yarnpkg.com/@gardenfi/core/-/core-0.3.0-beta.14.tgz#e66599cff3ddb4584648d628dbae02d4aa3836a6" + integrity sha512-V73jDvdchN09UqYdcyOCI4s4ekHY94NLoGnxqp2579y6sSYjqJf+5WXyn89Pb7bjrCOpYOfldivWKXYfwfLkWQ== + dependencies: + "@catalogfi/utils" "^0.1.6" + "@catalogfi/wallets" "^0.2.51" + "@gardenfi/orderbook" "^0.2.0-beta.41" + "@gardenfi/utils" "^0.0.1-beta.19" + bignumber.js "^9.1.2" + bitcoinjs-lib "^6.1.6" + tiny-secp256k1 "^2.2.3" + varuint-bitcoin "^1.1.2" + viem "^2.21.15" + +"@gardenfi/orderbook@0.2.0-beta.41", "@gardenfi/orderbook@^0.2.0-beta.41": + version "0.2.0-beta.41" + resolved "https://registry.yarnpkg.com/@gardenfi/orderbook/-/orderbook-0.2.0-beta.41.tgz#a802ddba48023956160fa2d2fda0676c520a5dbb" + integrity sha512-I8GisEgUGNX84WKZSKEAqMsSD9wvfY9hzY5iL2V5vc+jqblpc+5Exbk/yVFINI3DoqtuaVb1h/dqTmMFotu0hA== + dependencies: + "@catalogfi/utils" "^0.1.6" + "@gardenfi/utils" "^0.0.1-beta.19" + bufferutil "^4.0.8" + siwe "^2.1.4" + utf-8-validate "^6.0.3" + viem "^2.21.15" + ws "^8.14.2" + +"@gardenfi/react-hooks@0.0.1-beta.135": + version "0.0.1-beta.135" + resolved "https://registry.yarnpkg.com/@gardenfi/react-hooks/-/react-hooks-0.0.1-beta.135.tgz#a74d538b455b4a2baff1401eb65c4ea42e194c80" + integrity sha512-I4R391jusGV30K8s+6cDgc7xwAcwj1rUeg2Uw3a/N96KjO2f0l+cn8NQZsSIcJMzL4GTgICpQv2Ci/JIe0VdbQ== + dependencies: + "@catalogfi/utils" "^0.1.6" + "@catalogfi/wallets" "^0.2.51" + "@gardenfi/core" "^0.3.0-beta.14" + "@gardenfi/orderbook" "^0.2.0-beta.41" + "@gardenfi/utils" "^0.0.1-beta.19" + react "^18.3.1" + viem "^2.21.15" + wagmi "^2.12.16" + +"@gardenfi/utils@^0.0.1-beta.19": + version "0.0.1-beta.19" + resolved "https://registry.yarnpkg.com/@gardenfi/utils/-/utils-0.0.1-beta.19.tgz#e74cdc12ff04bed142ebedc32f063daec145ef06" + integrity sha512-hgTc3iy2TM7Rr2J7ApM+yzSOSsisHW3T3+PKMWcBZcc4CIwBAquTCRdQNkMKFbawsvB4LMieIiWYWjm+IQqckQ== + dependencies: + "@catalogfi/utils" "^0.1.11" + axios "^1.7.2" + jwt-decode "^4.0.0" + viem "^2.21.15" + "@gemwallet/api@3.8.0", "@gemwallet/api@^3.8.0": version "3.8.0" resolved "https://registry.yarnpkg.com/@gemwallet/api/-/api-3.8.0.tgz#46bc47789848c7ac9cc620613e0a1757dc8668a1" @@ -2152,10 +2243,10 @@ resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-3.1.1.tgz#e89b840a7af8097a8ed4953d8dc8470d1302d3ef" integrity sha512-ihb3B0T/wJm1eUuArYP4lCTSEoZsClHhuWyfo/kMX3m/odpqNcPfsz5O2A3NT7dXCAgWPGDQGPqygCpgeniKMw== -"@metamask/sdk-communication-layer@0.27.0": - version "0.27.0" - resolved "https://registry.yarnpkg.com/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.27.0.tgz#8d618fadd39f11627d5b3ef1bc72867439e33ff4" - integrity sha512-G9LCaQzIqp5WmUmvHN6UUdjWrBh67MbRobmbbs5fcc2+9XFhj3vBgtyleUYjun91jSlPHoZeo+f/Pj4/WoPIJg== +"@metamask/sdk-communication-layer@0.31.0": + version "0.31.0" + resolved "https://registry.yarnpkg.com/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.31.0.tgz#0acc063b62aa09d044c7aab65801712d760e53b2" + integrity sha512-V9CxdzabDPjQVgmKGHsyU3SYt4Af27g+4DbGCx0fLoHqN/i1RBDZqs/LYbJX3ykJCANzE+llz/MolMCMrzM2RA== dependencies: bufferutil "^4.0.8" date-fns "^2.29.3" @@ -2163,38 +2254,35 @@ utf-8-validate "^5.0.2" uuid "^8.3.2" -"@metamask/sdk-install-modal-web@0.26.5": - version "0.26.5" - resolved "https://registry.yarnpkg.com/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.26.5.tgz#b696c78818adaff85d01a4f41fecc8fd2c80bc59" - integrity sha512-qVA9Nk+NorGx5hXyODy5wskptE8R7RNYTYt49VbQpJogqbbVe1dnJ98+KaA43PBN4XYMCXmcIhULNiEHGsLynA== +"@metamask/sdk-install-modal-web@0.31.2": + version "0.31.2" + resolved "https://registry.yarnpkg.com/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.31.2.tgz#bb8c92a6844a632be8525e7bb5a35924a926d6cd" + integrity sha512-KPv36kQjmTwErU8g2neuHHSgkD5+1hp4D6ERfk5Kc2r73aOYNCdG9wDGRUmFmcY2MKkeK1EuDyZfJ4FPU30fxQ== dependencies: - qr-code-styling "^1.6.0-rc.1" + "@paulmillr/qr" "^0.2.1" -"@metamask/sdk@0.27.0": - version "0.27.0" - resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.27.0.tgz#38617985b8305a0f5d482cdd7af8ddec87968bb7" - integrity sha512-6sMjr/0qR700X1svPGEQ4rBdtccidBLeTC27fYQc7r9ROgSixB1DUUAyu/LoySVqt3Hu/Zm7NnAHXuT228ht7A== +"@metamask/sdk@0.31.2": + version "0.31.2" + resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.31.2.tgz#2ec1c1c7cf6a444e65104862e83814a493047d72" + integrity sha512-6MWON2g1j7XwAHWam4trusGxeyhQweNLEHPsfuIxSwcsXoEm08Jj80OglJxQI4KwjcDnjSWBkQGG3mmK6ug/cA== dependencies: + "@babel/runtime" "^7.26.0" "@metamask/onboarding" "^1.0.1" "@metamask/providers" "16.1.0" - "@metamask/sdk-communication-layer" "0.27.0" - "@metamask/sdk-install-modal-web" "0.26.5" - "@types/dom-screen-wake-lock" "^1.0.0" + "@metamask/sdk-communication-layer" "0.31.0" + "@metamask/sdk-install-modal-web" "0.31.2" + "@paulmillr/qr" "^0.2.1" bowser "^2.9.0" cross-fetch "^4.0.0" debug "^4.3.4" - eciesjs "^0.3.15" + eciesjs "^0.4.11" eth-rpc-errors "^4.0.3" - eventemitter2 "^6.4.7" - i18next "23.11.5" - i18next-browser-languagedetector "7.1.0" + eventemitter2 "^6.4.9" obj-multiplex "^1.0.0" pump "^3.0.0" - qrcode-terminal-nooctal "^0.12.1" - react-native-webview "^11.26.0" readable-stream "^3.6.2" - rollup-plugin-visualizer "^5.9.2" socket.io-client "^4.5.1" + tslib "^2.6.0" util "^0.12.4" uuid "^8.3.2" @@ -2333,6 +2421,11 @@ "@netlify/node-cookies" "^0.1.0" urlpattern-polyfill "8.0.2" +"@noble/ciphers@^1.0.0": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.1.3.tgz#eb27085aa7ce94d8c6eaeb64299bab0589920ec1" + integrity sha512-Ygv6WnWJHLLiW4fnNDC1z+i13bud+enXOFRBlpxI+NJliPWx5wdR+oWlTjLuBPTqjUjtHXtjkU6w3kuuH6upZA== + "@noble/curves@1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.0.tgz#f05771ef64da724997f69ee1261b2417a49522d6" @@ -2347,23 +2440,40 @@ dependencies: "@noble/hashes" "1.4.0" -"@noble/curves@^1.0.0", "@noble/curves@~1.6.0": +"@noble/curves@1.6.0", "@noble/curves@^1.0.0", "@noble/curves@^1.6.0", "@noble/curves@~1.6.0": version "1.6.0" resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.6.0.tgz#be5296ebcd5a1730fccea4786d420f87abfeb40b" integrity sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ== dependencies: "@noble/hashes" "1.5.0" +"@noble/curves@1.7.0", "@noble/curves@~1.7.0": + 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.4.0", "@noble/hashes@^1.1.5", "@noble/hashes@^1.2.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0", "@noble/hashes@~1.4.0": version "1.4.0" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz" integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== -"@noble/hashes@1.5.0", "@noble/hashes@^1.0.0", "@noble/hashes@~1.5.0": +"@noble/hashes@1.5.0", "@noble/hashes@^1.0.0", "@noble/hashes@^1.5.0", "@noble/hashes@~1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== +"@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.6.1", "@noble/hashes@^1.1.2", "@noble/hashes@~1.6.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.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz" @@ -2482,6 +2592,11 @@ "@parcel/watcher-win32-ia32" "2.4.1" "@parcel/watcher-win32-x64" "2.4.1" +"@paulmillr/qr@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@paulmillr/qr/-/qr-0.2.1.tgz#76ade7080be4ac4824f638146fd8b6db1805eeca" + integrity sha512-IHnV6A+zxU7XwmKFinmYjUcwlyK9+xkG3/s9KcQhI9BjQKycrJ1JRO+FbNYPwZiPKW3je/DR0k7w8/gLa5eaxQ== + "@playwright/test@^1.39.0": version "1.42.1" resolved "https://registry.npmjs.org/@playwright/test/-/test-1.42.1.tgz" @@ -2667,10 +2782,10 @@ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.2.tgz#851959c4c1c3c6647aba1f388198c8243aed6917" integrity sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ== -"@safe-global/safe-apps-provider@0.18.3": - version "0.18.3" - resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.3.tgz#805a42e24f5dde803cb96dac251a3c9e256de45b" - integrity sha512-f/0cNv3S4v7p8rowAjj0hDCg8Q8P/wBjp5twkNWeBdvd0RDr7BuRBPPk74LCqmjQ82P+1ltLlkmVFSmxTIT7XQ== +"@safe-global/safe-apps-provider@0.18.5": + version "0.18.5" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.5.tgz#745a932bda3739a8a298ae44ec6c465f6c4773b7" + integrity sha512-9v9wjBi3TwLsEJ3C2ujYoexp3pFJ0omDLH/GX91e2QB+uwCKTBYyhxFSrTQ9qzoyQd+bfsk4gjOGW87QcJhf7g== dependencies: "@safe-global/safe-apps-sdk" "^9.1.0" events "^3.3.0" @@ -2708,6 +2823,11 @@ resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.9.tgz#e5e142fbbfe251091f9c5f1dd4c834ac04c3dbd1" integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg== +"@scure/base@~1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.1.tgz#dd0b2a533063ca612c17aa9ad26424a2ff5aa865" + integrity sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ== + "@scure/bip32@1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67" @@ -2717,7 +2837,7 @@ "@noble/hashes" "~1.4.0" "@scure/base" "~1.1.6" -"@scure/bip32@^1.3.1": +"@scure/bip32@1.5.0", "@scure/bip32@^1.3.1", "@scure/bip32@^1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.5.0.tgz#dd4a2e1b8a9da60e012e776d954c4186db6328e6" integrity sha512-8EnFYkqEQdnkuGBVpCzKxyIwDCBLDVj3oiX0EKUFre/tOjL/Hqba1D6n/8RcmaQy4f95qQFrO2A8Sr6ybh4NRw== @@ -2726,6 +2846,15 @@ "@noble/hashes" "~1.5.0" "@scure/base" "~1.1.7" +"@scure/bip32@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.6.0.tgz#6dbc6b4af7c9101b351f41231a879d8da47e0891" + integrity sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA== + dependencies: + "@noble/curves" "~1.7.0" + "@noble/hashes" "~1.6.0" + "@scure/base" "~1.2.1" + "@scure/bip39@1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.3.0.tgz#0f258c16823ddd00739461ac31398b4e7d6a18c3" @@ -2734,7 +2863,7 @@ "@noble/hashes" "~1.4.0" "@scure/base" "~1.1.6" -"@scure/bip39@^1.2.1": +"@scure/bip39@1.4.0", "@scure/bip39@^1.2.1", "@scure/bip39@^1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.4.0.tgz#664d4f851564e2e1d4bffa0339f9546ea55960a6" integrity sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw== @@ -2742,6 +2871,14 @@ "@noble/hashes" "~1.5.0" "@scure/base" "~1.1.8" +"@scure/bip39@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.0.tgz#c8f9533dbd787641b047984356531d84485f19be" + integrity sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A== + dependencies: + "@noble/hashes" "~1.6.0" + "@scure/base" "~1.2.1" + "@scure/btc-signer@1.3.2": version "1.3.2" resolved "https://registry.yarnpkg.com/@scure/btc-signer/-/btc-signer-1.3.2.tgz#56cf02a2e318097b1e4f531fac8ef114bdf4ddc8" @@ -2762,6 +2899,16 @@ resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== +"@spruceid/siwe-parser@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@spruceid/siwe-parser/-/siwe-parser-2.1.2.tgz#3e13e7d3ac0bfdaf109a07342590eb21daee2fc3" + integrity sha512-d/r3S1LwJyMaRAKQ0awmo9whfXeE88Qt00vRj91q5uv5ATtWIQEGJ67Yr5eSZw5zp1/fZCXZYuEckt8lSkereQ== + dependencies: + "@noble/hashes" "^1.1.2" + apg-js "^4.3.0" + uri-js "^4.4.1" + valid-url "^1.0.9" + "@stablelib/aead@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" @@ -3225,11 +3372,6 @@ dependencies: "@types/ms" "*" -"@types/dom-screen-wake-lock@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/dom-screen-wake-lock/-/dom-screen-wake-lock-1.0.3.tgz#c3588a5f6f40fae957f9ce5be9bc4927a61bb9a0" - integrity sha512-3Iten7X3Zgwvk6kh6/NRdwN7WbZ760YgFCsF5AxDifltUQzW1RaW+WRmcVtgwFzLjaNu64H+0MPJ13yRa8g3Dw== - "@types/estree@1.0.5", "@types/estree@^1.0.0": version "1.0.5" resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" @@ -3309,6 +3451,11 @@ resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== +"@types/prettier@^2.1.1": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== + "@types/prop-types@*": version "15.7.12" resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz" @@ -3362,13 +3509,6 @@ resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz" integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== -"@types/secp256k1@^4.0.6": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.6.tgz#d60ba2349a51c2cbc5e816dcd831a42029d376bf" - integrity sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ== - dependencies: - "@types/node" "*" - "@types/semver@^7.5.0": version "7.5.8" resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz" @@ -3529,32 +3669,40 @@ loupe "^2.3.6" pretty-format "^29.5.0" -"@wagmi/connectors@5.1.2": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.1.2.tgz#f94a030b277c7c2cf00cf67606c4c907b24fcb58" - integrity sha512-UX5LqDdGXrTdHBpL9wrJbcjK7/rtpOjx6YSIkO26TdPp6UyxQvEmY2XY6hdgBwHVx9xPaiVNIrWoexa5pRJUNA== +"@wagmi/connectors@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.7.0.tgz#a5e6c5403009b37f912210fc5d96727b4caa6a2b" + integrity sha512-cPMmHBGw28fll7VQJC9iF6ngdQ17STTzspqRIjlTkz44zhjwMTf7shw+JJUmqw+0uK7DqRbf/xUHlZE2IVd2mg== dependencies: - "@coinbase/wallet-sdk" "4.0.4" - "@metamask/sdk" "0.27.0" - "@safe-global/safe-apps-provider" "0.18.3" + "@coinbase/wallet-sdk" "4.2.3" + "@metamask/sdk" "0.31.2" + "@safe-global/safe-apps-provider" "0.18.5" "@safe-global/safe-apps-sdk" "9.1.0" - "@walletconnect/ethereum-provider" "2.14.0" - "@walletconnect/modal" "2.6.2" + "@walletconnect/ethereum-provider" "2.17.0" cbw-sdk "npm:@coinbase/wallet-sdk@3.9.3" -"@wagmi/core@2.13.1": - version "2.13.1" - resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.13.1.tgz#d9cf910775eca0e1aeb6fe9ad787264ee32632f3" - integrity sha512-6ZdgI6dYfpa+IZPU0DZ3XQEQVzs003tKCERzSUNkxmt5cwSMg0XB1kvF5vU9MuPP96K6IcGkqSwAtgCmM5uy2w== +"@wagmi/core@2.16.0": + version "2.16.0" + resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.16.0.tgz#b997b2544cd80b4aac4df25ccb2436bf77f9fbe1" + integrity sha512-sy4n7Jv6YCbT2jp4zQ/9H6l0A8StsN7P8mm2BRuODgW2w6Fj4j6h2xgYJD2tIjJHkLU/nvPJ7audZ55X7XQU/g== dependencies: eventemitter3 "5.0.1" mipd "0.0.7" - zustand "4.4.1" + zustand "5.0.0" -"@walletconnect/core@2.14.0": - version "2.14.0" - resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.14.0.tgz#e8afb01455968b02aaf26c74f3bfcc9b82678a39" - integrity sha512-E/dgBM9q3judXnTfZQ5ILvDpeSdDpabBLsXtYXa3Nyc26cfNplfLJ2nXm9FgtTdhM1nZ7yx4+zDPiXawBRZl2g== +"@wagmi/core@^2.16.1": + version "2.16.1" + resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.16.1.tgz#fb4ccd2be30d550b051f7e1833c5597acd6bef38" + integrity sha512-PFP43jEeyzCp9ZKM+G/H50Gb68XT9J9xLIHvznTvPZOphlnVOVMpZTUARukOQZvmZXZoD2CUTJxT820YrZfjcw== + dependencies: + eventemitter3 "5.0.1" + mipd "0.0.7" + zustand "5.0.0" + +"@walletconnect/core@2.17.0": + version "2.17.0" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.17.0.tgz#bf490e85a4702eff0f7cf81ba0d3c1016dffff33" + integrity sha512-On+uSaCfWdsMIQsECwWHZBmUXfrnqmv6B8SXRRuTJgd8tUpEvBkLQH4X7XkSm3zW6ozEkQTCagZ2ox2YPn3kbw== dependencies: "@walletconnect/heartbeat" "1.2.2" "@walletconnect/jsonrpc-provider" "1.0.14" @@ -3563,14 +3711,13 @@ "@walletconnect/jsonrpc-ws-connection" "1.0.14" "@walletconnect/keyvaluestorage" "1.1.1" "@walletconnect/logger" "2.1.2" - "@walletconnect/relay-api" "1.0.10" + "@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.14.0" - "@walletconnect/utils" "2.14.0" + "@walletconnect/types" "2.17.0" + "@walletconnect/utils" "2.17.0" events "3.3.0" - isomorphic-unfetch "3.1.0" lodash.isequal "4.5.0" uint8arrays "3.1.0" @@ -3581,20 +3728,20 @@ dependencies: tslib "1.14.1" -"@walletconnect/ethereum-provider@2.14.0": - version "2.14.0" - resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.14.0.tgz#0ed4ba9b383c889b56e0af87181756d900fc504a" - integrity sha512-Cc2/DCn85VciA10BrsNWFM//3VC1D8yjwrjfUKjGndLPDz0YIdAxTgYZViIlMjE0lzQC/DMvPYEAnGfW0O1Bwg== +"@walletconnect/ethereum-provider@2.17.0": + version "2.17.0" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.17.0.tgz#d74feaaed6180a6799e96760d7ee867ff3a083d2" + integrity sha512-b+KTAXOb6JjoxkwpgYQQKPUcTwENGmdEdZoIDLeRicUmZTn/IQKfkMoC2frClB4YxkyoVMtj1oMV2JAax+yu9A== dependencies: "@walletconnect/jsonrpc-http-connection" "1.0.8" "@walletconnect/jsonrpc-provider" "1.0.14" "@walletconnect/jsonrpc-types" "1.0.4" "@walletconnect/jsonrpc-utils" "1.0.8" - "@walletconnect/modal" "2.6.2" - "@walletconnect/sign-client" "2.14.0" - "@walletconnect/types" "2.14.0" - "@walletconnect/universal-provider" "2.14.0" - "@walletconnect/utils" "2.14.0" + "@walletconnect/modal" "2.7.0" + "@walletconnect/sign-client" "2.17.0" + "@walletconnect/types" "2.17.0" + "@walletconnect/universal-provider" "2.17.0" + "@walletconnect/utils" "2.17.0" events "3.3.0" "@walletconnect/events@1.0.1", "@walletconnect/events@^1.0.1": @@ -3677,35 +3824,35 @@ "@walletconnect/safe-json" "^1.0.2" pino "7.11.0" -"@walletconnect/modal-core@2.6.2": - version "2.6.2" - resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.6.2.tgz#d73e45d96668764e0c8668ea07a45bb8b81119e9" - integrity sha512-cv8ibvdOJQv2B+nyxP9IIFdxvQznMz8OOr/oR/AaUZym4hjXNL/l1a2UlSQBXrVjo3xxbouMxLb3kBsHoYP2CA== +"@walletconnect/modal-core@2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.7.0.tgz#73c13c3b7b0abf9ccdbac9b242254a86327ce0a4" + integrity sha512-oyMIfdlNdpyKF2kTJowTixZSo0PGlCJRdssUN/EZdA6H6v03hZnf09JnwpljZNfir2M65Dvjm/15nGrDQnlxSA== dependencies: valtio "1.11.2" -"@walletconnect/modal-ui@2.6.2": - version "2.6.2" - resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.6.2.tgz#fa57c087c57b7f76aaae93deab0f84bb68b59cf9" - integrity sha512-rbdstM1HPGvr7jprQkyPggX7rP4XiCG85ZA+zWBEX0dVQg8PpAgRUqpeub4xQKDgY7pY/xLRXSiCVdWGqvG2HA== +"@walletconnect/modal-ui@2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.7.0.tgz#dbbb7ee46a5a25f7d39db622706f2d197b268cbb" + integrity sha512-gERYvU7D7K1ANCN/8vUgsE0d2hnRemfAFZ2novm9aZBg7TEd/4EgB+AqbJ+1dc7GhOL6dazckVq78TgccHb7mQ== dependencies: - "@walletconnect/modal-core" "2.6.2" + "@walletconnect/modal-core" "2.7.0" lit "2.8.0" motion "10.16.2" qrcode "1.5.3" -"@walletconnect/modal@2.6.2": - version "2.6.2" - resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.6.2.tgz#4b534a836f5039eeb3268b80be7217a94dd12651" - integrity sha512-eFopgKi8AjKf/0U4SemvcYw9zlLpx9njVN8sf6DAkowC2Md0gPU/UNEbH1Wwj407pEKnEds98pKWib1NN1ACoA== +"@walletconnect/modal@2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.7.0.tgz#55f969796d104cce1205f5f844d8f8438b79723a" + integrity sha512-RQVt58oJ+rwqnPcIvRFeMGKuXb9qkgSmwz4noF8JZGUym3gUAzVs+uW2NQ1Owm9XOJAV+sANrtJ+VoVq1ftElw== dependencies: - "@walletconnect/modal-core" "2.6.2" - "@walletconnect/modal-ui" "2.6.2" + "@walletconnect/modal-core" "2.7.0" + "@walletconnect/modal-ui" "2.7.0" -"@walletconnect/relay-api@1.0.10": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.10.tgz#5aef3cd07c21582b968136179aa75849dcc65499" - integrity sha512-tqrdd4zU9VBNqUaXXQASaexklv6A54yEyQQEXYOCr+Jz8Ket0dmPBDyg19LVSNUN2cipAghQc45/KVmfFJ0cYw== +"@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" @@ -3728,19 +3875,19 @@ dependencies: tslib "1.14.1" -"@walletconnect/sign-client@2.14.0": - version "2.14.0" - resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.14.0.tgz#36533ef0976a869d815624217527482c90937fc8" - integrity sha512-UrB3S3eLjPYfBLCN3WJ5u7+WcZ8kFMe/QIDqLf76Jk6TaLwkSUy563LvnSw4KW/kA+/cY1KBSdUDfX1tzYJJXg== +"@walletconnect/sign-client@2.17.0": + version "2.17.0" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.17.0.tgz#efe811b1bb10082d964e2f0378aaa1b40f424503" + integrity sha512-sErYwvSSHQolNXni47L3Bm10ptJc1s1YoJvJd34s5E9h9+d3rj7PrhbiW9X82deN+Dm5oA8X9tC4xty1yIBrVg== dependencies: - "@walletconnect/core" "2.14.0" + "@walletconnect/core" "2.17.0" "@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.14.0" - "@walletconnect/utils" "2.14.0" + "@walletconnect/types" "2.17.0" + "@walletconnect/utils" "2.17.0" events "3.3.0" "@walletconnect/time@1.0.2", "@walletconnect/time@^1.0.2": @@ -3750,10 +3897,10 @@ dependencies: tslib "1.14.1" -"@walletconnect/types@2.14.0": - version "2.14.0" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.14.0.tgz#af3d4799b8ac5d166251af12bc024276f82f9b91" - integrity sha512-vevMi4jZLJ55vLuFOicQFmBBbLyb+S0sZS4IsaBdZkQflfGIq34HkN13c/KPl4Ye0aoR4/cUcUSitmGIzEQM5g== +"@walletconnect/types@2.17.0": + version "2.17.0" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.17.0.tgz#20eda5791e3172f8ab9146caa3f317701d4b3232" + integrity sha512-i1pn9URpvt9bcjRDkabuAmpA9K7mzyKoLJlbsAujRVX7pfaG7wur7u9Jz0bk1HxvuABL5LHNncTnVKSXKQ5jZA== dependencies: "@walletconnect/events" "1.0.1" "@walletconnect/heartbeat" "1.2.2" @@ -3762,38 +3909,40 @@ "@walletconnect/logger" "2.1.2" events "3.3.0" -"@walletconnect/universal-provider@2.14.0": - version "2.14.0" - resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.14.0.tgz#39d029be80374894b5f4249b76282dd9211d8b9f" - integrity sha512-Mr8uoTmD6H0+Hh+3gxBu4l3T2uP/nNPR02sVtwEujNum++F727mMk+ifPRIpkVo21V/bvXFEy8sHTs5hqyq5iA== +"@walletconnect/universal-provider@2.17.0": + version "2.17.0" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.17.0.tgz#c9d4bbd9b8f0e41b500b2488ccbc207dc5f7a170" + integrity sha512-d3V5Be7AqLrvzcdMZSBS8DmGDRdqnyLk1DWmRKAGgR6ieUWykhhUKlvfeoZtvJrIXrY7rUGYpH1X41UtFkW5Pw== dependencies: "@walletconnect/jsonrpc-http-connection" "1.0.8" "@walletconnect/jsonrpc-provider" "1.0.14" "@walletconnect/jsonrpc-types" "1.0.4" "@walletconnect/jsonrpc-utils" "1.0.8" "@walletconnect/logger" "2.1.2" - "@walletconnect/sign-client" "2.14.0" - "@walletconnect/types" "2.14.0" - "@walletconnect/utils" "2.14.0" + "@walletconnect/sign-client" "2.17.0" + "@walletconnect/types" "2.17.0" + "@walletconnect/utils" "2.17.0" events "3.3.0" -"@walletconnect/utils@2.14.0": - version "2.14.0" - resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.14.0.tgz#48493ffe1e902815fda3cbd5cc5409288a066d35" - integrity sha512-vRVomYQEtEAyCK2c5bzzEvtgxaGGITF8mWuIL+WYSAMyEJLY97mirP2urDucNwcUczwxUgI+no9RiNFbUHreQQ== +"@walletconnect/utils@2.17.0": + version "2.17.0" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.17.0.tgz#02b3af0b80d0c1a994d692d829d066271b04d071" + integrity sha512-1aeQvjwsXy4Yh9G6g2eGmXrEl+BzkNjHRdCrGdMYqFTFa8ROEJfTGsSH3pLsNDlOY94CoBUvJvM55q/PMoN/FQ== dependencies: "@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/relay-api" "1.0.10" + "@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.14.0" + "@walletconnect/types" "2.17.0" "@walletconnect/window-getters" "1.0.1" "@walletconnect/window-metadata" "1.0.1" detect-browser "5.3.0" + elliptic "^6.5.7" query-string "7.1.3" uint8arrays "3.1.0" @@ -3866,6 +4015,16 @@ abitype@1.0.5: resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.5.tgz#29d0daa3eea867ca90f7e4123144c1d1270774b6" integrity sha512-YzDhti7cjlfaBhHutMaboYB21Ha3rXR9QTkNJFzYC4kC8YclaiwPBBBJY8ejFdu2wnJeZCVZSMlQJ7fi8S6hsw== +abitype@1.0.6, abitype@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.6.tgz#76410903e1d88e34f1362746e2d407513c38565b" + integrity sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A== + +abitype@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.7.tgz#876a0005d211e1c9132825d45bcee7b46416b284" + integrity sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw== + abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" @@ -3948,6 +4107,11 @@ apexcharts@^3.49.1: svg.resize.js "^1.4.3" svg.select.js "^3.0.1" +apg-js@^4.3.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/apg-js/-/apg-js-4.4.0.tgz#09dcecab0731fbde233b9f2352fdd2d07e56b2cf" + integrity sha512-fefmXFknJmtgtNEXfPwZKYkMFX4Fyeyz+fNF6JWp87biGOPslJbCBVU158zvKRZfHBKnJDy8CMM40oLFGkXT8Q== + argparse@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" @@ -3967,6 +4131,16 @@ aria-query@^5.3.0: dependencies: dequal "^2.0.3" +array-back@^3.0.1, array-back@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" + integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== + +array-back@^4.0.1, array-back@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== + array-buffer-byte-length@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz" @@ -4088,6 +4262,11 @@ async-mutex@^0.2.6: dependencies: tslib "^2.0.0" +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + atomic-sleep@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" @@ -4105,6 +4284,15 @@ axe-core@=4.7.0: resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz" integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== +axios@^1.7.2: + version "1.7.9" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.9.tgz#d7d071380c132a24accda1b2cfc1535b79ec650a" + integrity sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axobject-query@^3.2.1: version "3.2.1" resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz" @@ -4153,7 +4341,7 @@ bech32@^2.0.0: resolved "https://registry.npmjs.org/bech32/-/bech32-2.0.0.tgz" integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg== -bignumber.js@^9.0.0: +bignumber.js@^9.0.0, 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== @@ -4203,6 +4391,13 @@ bip32@^2.0.4: typeforce "^1.11.5" wif "^2.0.6" +bip39@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.1.0.tgz#c55a418deaf48826a6ceb34ac55b3ee1577e18a3" + integrity sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A== + dependencies: + "@noble/hashes" "^1.2.0" + bip66@^1.1.0: version "1.1.5" resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" @@ -4265,6 +4460,18 @@ bitcoinjs-lib@^6.1.3: typeforce "^1.11.3" varuint-bitcoin "^1.1.2" +bitcoinjs-lib@^6.1.5, bitcoinjs-lib@^6.1.6: + version "6.1.7" + resolved "https://registry.yarnpkg.com/bitcoinjs-lib/-/bitcoinjs-lib-6.1.7.tgz#0f98dec1333d658574eefa455295668cfae38bb0" + integrity sha512-tlf/r2DGMbF7ky1MgUqXHzypYHakkEnm0SZP23CJKIqNY/5uNAnMbFhMJdhjrL/7anfb/U8+AlpdjPWjPnAalg== + dependencies: + "@noble/hashes" "^1.2.0" + bech32 "^2.0.0" + bip174 "^2.1.1" + bs58check "^3.0.1" + typeforce "^1.11.3" + varuint-bitcoin "^1.1.2" + bn.js@^4.11.8, bn.js@^4.11.9: version "4.12.0" resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" @@ -4448,9 +4655,9 @@ chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.2: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -4554,6 +4761,33 @@ color2k@^2.0.2: resolved "https://registry.npmjs.org/color2k/-/color2k-2.0.3.tgz" integrity sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog== +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +command-line-args@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" + integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== + dependencies: + array-back "^3.1.0" + find-replace "^3.0.0" + lodash.camelcase "^4.3.0" + typical "^4.0.0" + +command-line-usage@^6.1.0: + version "6.1.3" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" + integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== + dependencies: + array-back "^4.0.2" + chalk "^2.4.2" + table-layout "^1.0.2" + typical "^5.2.0" + commander@7: version "7.2.0" resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" @@ -5128,6 +5362,11 @@ deep-eql@^4.1.3: dependencies: type-detect "^4.0.0" +deep-extend@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + deep-is@^0.1.3: version "0.1.4" resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" @@ -5147,11 +5386,6 @@ define-data-property@^1.0.1, define-data-property@^1.1.4: es-errors "^1.3.0" gopd "^1.0.1" -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" @@ -5178,6 +5412,11 @@ delaunator@5: dependencies: robust-predicates "^3.0.2" +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + dequal@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" @@ -5220,10 +5459,10 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dlc-btc-lib@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/dlc-btc-lib/-/dlc-btc-lib-2.5.1.tgz#b1eb33c0a56a244fcb109da4704854cf8a585c15" - integrity sha512-YRfIsfsgzmUcepowZYaLjY/1E2MJbN5zIhEhS1NgiJsDBjNVAiZTHLY7RiX3eNValgFSnsY3IpUyF6piPap72A== +dlc-btc-lib@2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/dlc-btc-lib/-/dlc-btc-lib-2.5.3.tgz#a7a7df7236ad14877c77d2df172e29627ebb4816" + integrity sha512-QFN0nGO9P3zhfydI9j07iUxhxyRrxVRD941WhIXblw/YZDVXT8+PYW4GciSlU8KiydtHtYD+fWkUkSgUeC5kaQ== dependencies: "@dfns/sdk" "^0.5.9" "@dfns/sdk-browser" "^0.5.9" @@ -5276,14 +5515,15 @@ duplexify@^4.1.2: readable-stream "^3.1.1" stream-shift "^1.0.2" -eciesjs@^0.3.15: - version "0.3.19" - resolved "https://registry.yarnpkg.com/eciesjs/-/eciesjs-0.3.19.tgz#a22e9e1efe3fdedec02c828e2632ae0d4a073676" - integrity sha512-b+PkRDZ3ym7HEcnbxc22CMVCpgsnr8+gGgST3U5PtgeX1luvINgfXW7efOyUtmn/jFtA/lg5ywBi/Uazf4oeaA== +eciesjs@^0.4.11: + version "0.4.12" + resolved "https://registry.yarnpkg.com/eciesjs/-/eciesjs-0.4.12.tgz#0ce482454953592e07b79b4824751f3b5c508b56" + integrity sha512-DGejvMCihsRAmKRFQiL6KZDE34vWVd0gvXlykFq1aEzJy/rD65AVyAIUZKZOvgvaP9ATQRcHGEZV5DfgrgjA4w== dependencies: - "@types/secp256k1" "^4.0.6" - futoin-hkdf "^1.5.3" - secp256k1 "^5.0.0" + "@ecies/ciphers" "^0.2.1" + "@noble/ciphers" "^1.0.0" + "@noble/curves" "^1.6.0" + "@noble/hashes" "^1.5.0" ecpair@^2.1.0: version "2.1.0" @@ -5325,10 +5565,10 @@ elliptic@^6.4.0: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" -elliptic@^6.5.4: - version "6.5.6" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.6.tgz#ee5f7c3a00b98a2144ac84d67d01f04d438fa53e" - integrity sha512-mpzdtpeCLuS3BmE3pO3Cpp5bbjlOPY2Q0PgoF+Od1XZrHLYI28Xe3ossCmYCQt11FQKEYd9+PF8jymTvtWJSHQ== +elliptic@^6.5.7: + version "6.6.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" + integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== dependencies: bn.js "^4.11.9" brorand "^1.1.0" @@ -5561,11 +5801,6 @@ escalade@^3.1.1: resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== -escape-string-regexp@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" @@ -5829,7 +6064,7 @@ ethereum-cryptography@^2.0.0: ethers@5.7.2: version "5.7.2" - resolved "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== dependencies: "@ethersproject/abi" "5.7.0" @@ -5868,7 +6103,7 @@ event-target-shim@^5.0.0: 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== -eventemitter2@^6.4.7: +eventemitter2@^6.4.9: version "6.4.9" resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.9.tgz#41f2750781b4230ed58827bc119d293471ecb125" integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg== @@ -5980,6 +6215,13 @@ filter-obj@^1.1.0: resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== +find-replace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" + integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== + dependencies: + array-back "^3.0.1" + find-root@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" @@ -6022,6 +6264,11 @@ focus-lock@^1.3.2: dependencies: tslib "^2.0.3" +follow-redirects@^1.15.6: + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + for-each@^0.3.3: version "0.3.3" resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" @@ -6029,6 +6276,15 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" +form-data@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" + integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + formik@^2.4.5: version "2.4.5" resolved "https://registry.npmjs.org/formik/-/formik-2.4.5.tgz" @@ -6057,6 +6313,15 @@ framesync@6.1.2: dependencies: tslib "2.4.0" +fs-extra@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" @@ -6092,11 +6357,6 @@ functions-have-names@^1.2.3: resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== -futoin-hkdf@^1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/futoin-hkdf/-/futoin-hkdf-1.5.3.tgz#6c8024f2e1429da086d4e18289ef2239ad33ee35" - integrity sha512-SewY5KdMpaoCeh7jachEWFsh1nNlaDjNHZXWqL5IGwtpEYHTgkr2+AMCgNwKWkcc0wpSYrZfR7he4WdmHFtDxQ== - gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" @@ -6161,6 +6421,18 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" +glob@7.1.7: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^7.1.3: version "7.2.3" resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" @@ -6211,6 +6483,11 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" +graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + graphemer@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" @@ -6326,20 +6603,6 @@ human-signals@^5.0.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== -i18next-browser-languagedetector@7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.1.0.tgz#01876fac51f86b78975e79b48ccb62e2313a2d7d" - integrity sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA== - dependencies: - "@babel/runtime" "^7.19.4" - -i18next@23.11.5: - version "23.11.5" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.11.5.tgz#d71eb717a7e65498d87d0594f2664237f9e361ef" - integrity sha512-41pvpVbW9rhZPk5xjCX2TPJi2861LEig/YRhUkY+1FQ2IQPS0bKUDYnEqY8XPPbB48h1uIwLnP9iiEfuSl20CA== - dependencies: - "@babel/runtime" "^7.23.2" - iconv-lite@0.6: version "0.6.3" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" @@ -6407,7 +6670,7 @@ internal-slot@^1.0.7: resolved "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz" integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== -invariant@2.2.4, invariant@^2.2.4: +invariant@^2.2.4: version "2.2.4" resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -6495,11 +6758,6 @@ is-date-object@^1.0.1, is-date-object@^1.0.5: dependencies: has-tostringtag "^1.0.0" -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - 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" @@ -6641,13 +6899,6 @@ is-weakset@^2.0.3: call-bind "^1.0.7" get-intrinsic "^1.2.4" -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - 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" @@ -6677,19 +6928,16 @@ isexe@^2.0.0: resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isomorphic-unfetch@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz#87341d5f4f7b63843d468438128cb087b7c3e98f" - integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q== - dependencies: - node-fetch "^2.6.1" - unfetch "^4.2.0" - isows@1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.4.tgz#810cd0d90cc4995c26395d2aa4cfa4037ebdf061" integrity sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ== +isows@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.6.tgz#0da29d706fa51551c663c627ace42769850f86e7" + integrity sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw== + iterator.prototype@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" @@ -6711,9 +6959,9 @@ jiti@^1.21.0: resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== -js-sha3@0.8.0: +js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" - resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: @@ -6783,6 +7031,13 @@ jsonc-parser@^3.2.0: resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz" integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: version "3.3.5" resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" @@ -6793,6 +7048,11 @@ jsonc-parser@^3.2.0: object.assign "^4.1.4" object.values "^1.1.6" +jwt-decode@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-4.0.0.tgz#2270352425fd413785b2faf11f6e755c5151bd4b" + integrity sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA== + keccak@^3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" @@ -6933,6 +7193,11 @@ lodash-es@^4.17.21: resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + lodash.isequal@4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" @@ -6948,9 +7213,9 @@ lodash.mergewith@4.6.2: resolved "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz" integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== -lodash@^4.17.21: +lodash@^4.17.15, lodash@^4.17.21: version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: @@ -7045,6 +7310,18 @@ micromatch@^4.0.5: braces "^3.0.3" picomatch "^2.3.1" +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + mime@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" @@ -7072,9 +7349,9 @@ minimatch@9.0.3: dependencies: brace-expansion "^2.0.1" -minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" @@ -7089,6 +7366,11 @@ mipd@0.0.7: resolved "https://registry.yarnpkg.com/mipd/-/mipd-0.0.7.tgz#bb5559e21fa18dc3d9fe1c08902ef14b7ce32fd9" integrity sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg== +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + mlly@^1.2.0, mlly@^1.4.0: version "1.6.1" resolved "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz" @@ -7143,7 +7425,7 @@ ms@2.1.2: ms@^2.1.1: version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== multiformats@^9.4.2: @@ -7176,11 +7458,6 @@ 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@^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" @@ -7191,7 +7468,7 @@ node-fetch-native@^1.6.2, node-fetch-native@^1.6.3, node-fetch-native@^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.11, node-fetch@^2.6.12: +node-fetch@^2.6.11, node-fetch@^2.6.12: 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== @@ -7338,15 +7615,6 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" -open@^8.4.0: - version "8.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - optionator@^0.9.3: version "0.9.3" resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" @@ -7359,6 +7627,19 @@ optionator@^0.9.3: prelude-ls "^1.2.1" type-check "^0.4.0" +ox@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ox/-/ox-0.1.2.tgz#0f791be2ccabeaf4928e6d423498fe1c8094e560" + integrity sha512-ak/8K0Rtphg9vnRJlbOdaX9R7cmxD2MiSthjWGaQdMk3D7hrAlDoM+6Lxn7hN52Za3vrXfZ7enfke/5WjolDww== + dependencies: + "@adraffy/ens-normalize" "^1.10.1" + "@noble/curves" "^1.6.0" + "@noble/hashes" "^1.5.0" + "@scure/bip32" "^1.5.0" + "@scure/bip39" "^1.4.0" + abitype "^1.0.6" + eventemitter3 "5.0.1" + p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -7572,11 +7853,21 @@ preact@^10.16.0: resolved "https://registry.yarnpkg.com/preact/-/preact-10.23.1.tgz#d400107289bc979881c5212cb5f5cd22cd1dc38c" integrity sha512-O5UdRsNh4vdZaTieWe3XOgSpdMAmkIYBCT3VhQDlKrzyCm8lUYsk0fmVEvoQQifoOjFRTaHZO69ylrzTW2BH+A== +preact@^10.24.2: + version "10.25.2" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.25.2.tgz#e141e18a547ae0082dae48d044e0d8267e2547d2" + integrity sha512-GEts1EH3oMnqdOIeXhlbBSddZ9nrINd070WBOiPO2ous1orrKGUM4SMDbwyjSWD1iMS2dBvaDjAa5qUhz3TXqw== + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +prettier@^2.3.1: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + prettier@^3.0.3: version "3.2.5" resolved "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz" @@ -7623,11 +7914,21 @@ prop-types@15.8.1, prop-types@^15.6.2, prop-types@^15.8.1: object-assign "^4.1.1" react-is "^16.13.1" +property-expr@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.6.tgz#f77bc00d5928a6c748414ad12882e83f24aec1e8" + integrity sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA== + proxy-compare@2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.1.tgz#17818e33d1653fbac8c2ec31406bce8a2966f600" integrity sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA== +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -7648,23 +7949,6 @@ pushdata-bitcoin@^1.0.1: dependencies: bitcoin-ops "^1.3.0" -qr-code-styling@^1.6.0-rc.1: - version "1.6.0-rc.1" - resolved "https://registry.yarnpkg.com/qr-code-styling/-/qr-code-styling-1.6.0-rc.1.tgz#6c89e185fa50cc9135101085c12ae95b06f1b290" - integrity sha512-ModRIiW6oUnsP18QzrRYZSc/CFKFKIdj7pUs57AEVH20ajlglRpN3HukjHk0UbNMTlKGuaYl7Gt6/O5Gg2NU2Q== - dependencies: - qrcode-generator "^1.4.3" - -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-terminal-nooctal@^0.12.1: - version "0.12.1" - resolved "https://registry.yarnpkg.com/qrcode-terminal-nooctal/-/qrcode-terminal-nooctal-0.12.1.tgz#45016aca0d82b2818de7af0a06d072ad671fbe2e" - integrity sha512-jy/kkD0iIMDjTucB+5T6KBsnirlhegDH47vHgrj5MejchSQmi/EAMM0xMFeePgV9CJkkAapNakpVUWYgHvtdKg== - qrcode@1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" @@ -7791,14 +8075,6 @@ react-is@^18.0.0: resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -react-native-webview@^11.26.0: - version "11.26.1" - resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-11.26.1.tgz#658c09ed5162dc170b361e48c2dd26c9712879da" - integrity sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw== - dependencies: - escape-string-regexp "2.0.0" - invariant "2.2.4" - react-redux@^8.1.3: version "8.1.3" resolved "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz" @@ -7875,6 +8151,13 @@ react@^18.2.0: dependencies: loose-envify "^1.1.0" +react@^18.3.1: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== + dependencies: + loose-envify "^1.1.0" + readable-stream@^2.3.3: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" @@ -7920,6 +8203,11 @@ real-require@^0.1.0: resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== +reduce-flatten@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" + integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== + redux-persist-expire@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/redux-persist-expire/-/redux-persist-expire-1.1.1.tgz" @@ -8062,16 +8350,6 @@ robust-predicates@^3.0.2: resolved "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz" integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== -rollup-plugin-visualizer@^5.9.2: - version "5.12.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz#661542191ce78ee4f378995297260d0c1efb1302" - integrity sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ== - dependencies: - open "^8.4.0" - picomatch "^2.3.1" - source-map "^0.7.4" - yargs "^17.5.1" - rollup@^3.27.1: version "3.29.4" resolved "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz" @@ -8180,15 +8458,6 @@ scure@1.6.0: dependencies: pluralize "^7.0.0" -secp256k1@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-5.0.0.tgz#be6f0c8c7722e2481e9773336d351de8cddd12f7" - integrity sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA== - dependencies: - elliptic "^6.5.4" - node-addon-api "^5.0.0" - node-gyp-build "^4.2.0" - semver@^6.3.1: version "6.3.1" resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" @@ -8298,6 +8567,16 @@ sisteransi@^1.0.5: resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== +siwe@^2.1.4: + version "2.3.2" + resolved "https://registry.yarnpkg.com/siwe/-/siwe-2.3.2.tgz#0794ae25f734f3068de0ab093ddd2f7867bc2d67" + integrity sha512-aSf+6+Latyttbj5nMu6GF3doMfv2UYj83hhwZgUF20ky6fTS83uVhkQABdIVnEuS8y1bBdk7p6ltb9SmlhTTlA== + dependencies: + "@spruceid/siwe-parser" "^2.1.2" + "@stablelib/random" "^1.0.1" + uri-js "^4.4.1" + valid-url "^1.0.9" + slash@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" @@ -8351,7 +8630,7 @@ source-map@^0.6.0: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3, source-map@^0.7.4: +source-map@^0.7.3: version "0.7.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== @@ -8396,6 +8675,11 @@ strict-uri-encode@^2.0.0: resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== +string-format@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" + integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== + string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" @@ -8590,6 +8874,16 @@ system-architecture@^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@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" + integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== + dependencies: + array-back "^4.0.1" + deep-extend "~0.6.0" + typical "^5.2.0" + wordwrapjs "^4.0.0" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" @@ -8602,6 +8896,11 @@ thread-stream@^0.15.1: dependencies: real-require "^0.1.0" +tiny-case@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-case/-/tiny-case-1.0.3.tgz#d980d66bc72b5d5a9ca86fb7c9ffdb9c898ddd03" + integrity sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q== + tiny-invariant@^1.0.6: version "1.3.3" resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz" @@ -8618,7 +8917,7 @@ tiny-secp256k1@1.1.6: elliptic "^6.4.0" nan "^2.13.2" -tiny-secp256k1@2.2.3: +tiny-secp256k1@2.2.3, tiny-secp256k1@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-2.2.3.tgz#fe1dde11a64fcee2091157d4b78bcb300feb9b65" integrity sha512-SGcL07SxcPN2nGKHTCvRMkQLYPSoeFcvArUSCYtjVARiFAWU44cCIqYS0mYAU6nY7XfvwURuTIGo2Omt3ZQr0Q== @@ -8680,6 +8979,11 @@ toml-eslint-parser@^0.9.3: dependencies: eslint-visitor-keys "^3.0.0" +toposort@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" + integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg== + tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" @@ -8695,6 +8999,21 @@ ts-api-utils@^1.0.1: resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz" integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== +ts-command-line-args@^2.2.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz#e64456b580d1d4f6d948824c274cf6fa5f45f7f0" + integrity sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw== + dependencies: + chalk "^4.1.0" + command-line-args "^5.1.1" + command-line-usage "^6.1.0" + string-format "^2.0.0" + +ts-essentials@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.3.tgz#686fd155a02133eedcc5362dc8b5056cde3e5a38" + integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== + ts-toolbelt@^9.6.0: version "9.6.0" resolved "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz" @@ -8733,6 +9052,11 @@ tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0: resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +tslib@^2.6.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" @@ -8762,6 +9086,27 @@ type-fest@^0.20.2: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== +type-fest@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +typechain@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/typechain/-/typechain-8.3.2.tgz#1090dd8d9c57b6ef2aed3640a516bdbf01b00d73" + integrity sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q== + dependencies: + "@types/prettier" "^2.1.1" + debug "^4.3.1" + fs-extra "^7.0.0" + glob "7.1.7" + js-sha3 "^0.8.0" + lodash "^4.17.15" + mkdirp "^1.0.4" + prettier "^2.3.1" + ts-command-line-args "^2.2.0" + ts-essentials "^7.0.1" + typed-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz" @@ -8823,6 +9168,16 @@ typescript@^5.2.2: resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz" integrity sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg== +typical@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" + integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== + +typical@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" + integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== + ufo@^1.3.2: version "1.5.3" resolved "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz" @@ -8888,10 +9243,10 @@ unenv@^1.9.0: node-fetch-native "^1.6.4" pathe "^1.1.2" -unfetch@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" - integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== unstorage@^1.9.0: version "1.10.2" @@ -8931,9 +9286,9 @@ uqr@^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: +uri-js@^4.2.2, uri-js@^4.4.1: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" @@ -8975,6 +9330,13 @@ utf-8-validate@^5.0.2: dependencies: node-gyp-build "^4.3.0" +utf-8-validate@^6.0.3: + version "6.0.5" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-6.0.5.tgz#8087d39902be2cc15bdb21a426697ff256d65aab" + integrity sha512-EYZR+OpIXp9Y1eG1iueg8KRsY8TuT8VNgnanZ0uA3STqhHQTLwbl+WX76/9X5OY12yQubymBpaBSmMPkSTQcKA== + dependencies: + node-gyp-build "^4.3.0" + util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" @@ -9006,6 +9368,11 @@ uuid@^9.0.1: resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== +valid-url@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" + integrity sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA== + valtio@1.11.2: version "1.11.2" resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.11.2.tgz#b8049c02dfe65620635d23ebae9121a741bb6530" @@ -9021,7 +9388,22 @@ varuint-bitcoin@1.1.2, varuint-bitcoin@^1.0.4, varuint-bitcoin@^1.1.2: dependencies: safe-buffer "^5.1.1" -viem@2.x, viem@^2.1.1: +viem@2.x: + version "2.21.57" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.57.tgz#bedbb444bb42e07ccc2264a9a0441903a113aab8" + integrity sha512-Mw4f4Dw0+Y/wSHdynVmP4uh+Cw15HEoj8BOKvKH5nGA6oFZYRxSy9Ruu7ZG8jexeAVCZ57aIuXb0gNg6Vb1x0g== + dependencies: + "@noble/curves" "1.7.0" + "@noble/hashes" "1.6.1" + "@scure/bip32" "1.6.0" + "@scure/bip39" "1.5.0" + abitype "1.0.7" + isows "1.0.6" + ox "0.1.2" + webauthn-p256 "0.0.10" + ws "8.18.0" + +viem@^2.1.1: version "2.18.6" resolved "https://registry.yarnpkg.com/viem/-/viem-2.18.6.tgz#527c54a032cdd4c1f1795fcb44072e8c3efd16c6" integrity sha512-KughUodIEjzkC+KfQ4+259yRXYfo0VLkZQ7NVC3RGfCMMOiVWaOxHjmcaY0FnZzKX3pwrlMyTAZbwH9tVAN/Yw== @@ -9036,6 +9418,36 @@ viem@2.x, viem@^2.1.1: webauthn-p256 "0.0.5" ws "8.17.1" +viem@^2.20.1: + version "2.21.49" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.49.tgz#528d5e54747ba3125041cd753459a4ce673aaaa6" + integrity sha512-NNItYfTv4+yGE5DDKc+S/g2S7KeJn047GwgEYG60FAJlK0FzwuP6lQKSeQ8k7Y4VasfuKPqiT+XiilcCtTRiDQ== + dependencies: + "@noble/curves" "1.6.0" + "@noble/hashes" "1.5.0" + "@scure/bip32" "1.5.0" + "@scure/bip39" "1.4.0" + abitype "1.0.6" + isows "1.0.6" + ox "0.1.2" + webauthn-p256 "0.0.10" + ws "8.18.0" + +viem@^2.21.15: + version "2.21.55" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.55.tgz#a57ad31fcf2a0f6c011b1909f02c94421ec4f781" + integrity sha512-PgXew7C11cAuEtOSgRyQx2kJxEOPUwIwZA9dMglRByqJuFVA7wSGZZOOo/93iylAA8E15bEdqy9xulU3oKZ70Q== + dependencies: + "@noble/curves" "1.7.0" + "@noble/hashes" "1.6.1" + "@scure/bip32" "1.6.0" + "@scure/bip39" "1.5.0" + abitype "1.0.7" + isows "1.0.6" + ox "0.1.2" + webauthn-p256 "0.0.10" + ws "8.18.0" + vite-node@0.34.6: version "0.34.6" resolved "https://registry.npmjs.org/vite-node/-/vite-node-0.34.6.tgz" @@ -9113,13 +9525,13 @@ vitest@^0.34.6: vite-node "0.34.6" why-is-node-running "^2.2.2" -wagmi@^2.12.2: - version "2.12.2" - resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.12.2.tgz#1d3b1dea0783c05245aed72a29bce756eb4f0bd8" - integrity sha512-gIZdAgmHJjENdOdkD/Zpu85NR16k/uMB3H/yGBz1q9bDAE8oguuBxRUEhuMt6jAC95RB96+7hMVfL9kBtHnu+g== +wagmi@2.14.3, wagmi@^2.12.16: + version "2.14.3" + resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.14.3.tgz#3abfe5e9f796890d75d1b7d506e9dccd6b87f254" + integrity sha512-sr8o7+EBw22GhieDyXLv8Zr2vgC6xKrYoSuUIpq0xOqEhvMP1q880VtR4lFG1capc2QEWvK72pJ/+jpsEQcMYQ== dependencies: - "@wagmi/connectors" "5.1.2" - "@wagmi/core" "2.13.1" + "@wagmi/connectors" "5.7.0" + "@wagmi/core" "2.16.0" use-sync-external-store "1.2.0" web-encoding@1.1.5: @@ -9136,6 +9548,14 @@ web-streams-polyfill@^3.1.1: resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== +webauthn-p256@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/webauthn-p256/-/webauthn-p256-0.0.10.tgz#877e75abe8348d3e14485932968edf3325fd2fdd" + integrity sha512-EeYD+gmIT80YkSIDb2iWq0lq2zbHo1CxHlQTeJ+KkCILWpVy3zASH3ByD4bopzfk0uCwXxLqKGLqp2W4O28VFA== + dependencies: + "@noble/curves" "^1.4.0" + "@noble/hashes" "^1.4.0" + webauthn-p256@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/webauthn-p256/-/webauthn-p256-0.0.5.tgz#0baebd2ba8a414b21cc09c0d40f9dd0be96a06bd" @@ -9244,6 +9664,14 @@ wif@^2.0.1, wif@^2.0.6: dependencies: bs58check "<3.0.0" +wordwrapjs@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" + integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== + dependencies: + reduce-flatten "^2.0.0" + typical "^5.2.0" + wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" @@ -9277,16 +9705,16 @@ ws@8.17.1, ws@~8.17.1: resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== +ws@8.18.0, ws@^8.13.0, ws@^8.14.2: + version "8.18.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" + integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== + ws@^7.5.1: version "7.5.10" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== -ws@^8.13.0: - version "8.18.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" - integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== - xmlhttprequest-ssl@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" @@ -9367,7 +9795,7 @@ yargs@^15.3.1: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^17.5.1, yargs@^17.7.2: +yargs@^17.7.2: version "17.7.2" resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== @@ -9399,9 +9827,17 @@ youtube-player@5.5.2: load-script "^1.0.0" sister "^3.0.0" -zustand@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.1.tgz#0cd3a3e4756f21811bd956418fdc686877e8b3b0" - integrity sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw== +yup@^1.4.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/yup/-/yup-1.6.0.tgz#70d4e81ed7b73564f86efa25c7c469cadcabf665" + integrity sha512-/dny6arMf5CV6ZPAGpXYVw0wR8qcDF15H8zILTQWoRf6jHN1nJNFL1IAlFfUMlO7QGifMVHZle/l8YJdxtWfxg== dependencies: - use-sync-external-store "1.2.0" + property-expr "^2.0.5" + tiny-case "^1.0.3" + toposort "^2.0.2" + type-fest "^2.19.0" + +zustand@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-5.0.0.tgz#71f8aaecf185592a3ba2743d7516607361899da9" + integrity sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ== From 39711f259deb0b4cfcc31c35fa8b81dac886827a Mon Sep 17 00:00:00 2001 From: Polybius93 Date: Mon, 6 Jan 2025 16:08:25 +0100 Subject: [PATCH 2/7] feat: update gardenfi packages, modify functions according to changes --- package.json | 13 +++-- src/app/app.tsx | 11 +--- src/app/components/swap/swap.tsx | 33 ++++++----- src/app/hooks/use-swap-order-status.ts | 8 ++- src/app/hooks/use-swap.ts | 34 +++--------- src/app/providers/swap-context-provider.tsx | 29 ++++++++++ yarn.lock | 61 ++++++++------------- 7 files changed, 94 insertions(+), 95 deletions(-) create mode 100644 src/app/providers/swap-context-provider.tsx diff --git a/package.json b/package.json index 78f846a0..b2290853 100644 --- a/package.json +++ b/package.json @@ -30,9 +30,10 @@ "@fontsource/inter": "^5.0.18", "@fontsource/onest": "^5.0.3", "@fontsource/poppins": "^5.0.8", - "@gardenfi/core": "0.3.0-beta.14", - "@gardenfi/orderbook": "0.2.0-beta.41", - "@gardenfi/react-hooks": "0.0.1-beta.135", + "@gardenfi/core": "2.0.1", + "@gardenfi/orderbook": "2.0.0", + "@gardenfi/react-hooks": "2.0.0", + "@gardenfi/utils": "2.0.0", "@gemwallet/api": "^3.8.0", "@ledgerhq/hw-app-xrp": "^6.29.4", "@ledgerhq/hw-transport-webusb": "^6.28.6", @@ -50,7 +51,7 @@ "concurrently": "^8.2.2", "d3": "^7.9.0", "decimal.js": "^10.4.3", - "dlc-btc-lib": "2.5.3", + "dlc-btc-lib": "2.5.5", "dotenv": "^16.3.1", "ethers": "5.7.2", "formik": "^2.4.5", @@ -68,9 +69,9 @@ "redux": "^4.2.1", "redux-persist": "^6.0.0", "redux-persist-expire": "^1.1.1", - "viem": "2.x", "vite-plugin-toml": "^0.7.0", - "wagmi": "2.14.3", + "viem": "^2.21.15", + "wagmi": "^2.12.16", "xrpl": "^4.0.0" }, "devDependencies": { diff --git a/src/app/app.tsx b/src/app/app.tsx index 099cd7e5..6533785d 100644 --- a/src/app/app.tsx +++ b/src/app/app.tsx @@ -4,7 +4,6 @@ import { AppLayout } from '@components/app.layout'; import { MerchantDetails } from '@components/proof-of-reserve/components/merchant-details/merchant-details'; import { SwapPage } from '@components/swap/pages/swap-page'; import { getWagmiConfiguration } from '@functions/configuration.functions'; -import { GardenProvider, environment } from '@gardenfi/react-hooks'; import { AttestorDetailsPage } from '@pages/attestor-details/attestor-details-page'; import { AttestorDetailsSelectPage } from '@pages/attestor-details/attestor-details-select-page'; import { MyVaults } from '@pages/my-vaults/my-vaults'; @@ -18,6 +17,7 @@ import { NetworkConfigurationContextProvider } from '@providers/network-configur import { NetworkConnectionContextProvider } from '@providers/network-connection.provider'; import { ProofOfReserveContextProvider } from '@providers/proof-of-reserve-context-provider'; import { RippleNetworkConfigurationContextProvider } from '@providers/ripple-network-configuration.provider'; +import { SwapContextProvider } from '@providers/swap-context-provider'; import { XRPWalletContextProvider } from '@providers/xrp-wallet-context-provider'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { WagmiProvider } from 'wagmi'; @@ -33,12 +33,7 @@ export function App(): React.JSX.Element { return ( - + @@ -76,7 +71,7 @@ export function App(): React.JSX.Element { - + ); diff --git a/src/app/components/swap/swap.tsx b/src/app/components/swap/swap.tsx index efbd6f07..5aca3053 100644 --- a/src/app/components/swap/swap.tsx +++ b/src/app/components/swap/swap.tsx @@ -1,3 +1,5 @@ +import { useEffect } from 'react'; + import { CheckCircleIcon, ChevronDownIcon, ChevronUpIcon } from '@chakra-ui/icons'; import { Button, HStack, Input, Spinner, Text, VStack } from '@chakra-ui/react'; import { useBitcoinPrice } from '@hooks/use-bitcoin-price'; @@ -37,6 +39,12 @@ export function Swap(): React.JSX.Element { const { bitcoinPrice } = useBitcoinPrice(); + useEffect(() => { + console.log('isProcessing', isProcessing); + console.log('isCompleted', isCompleted); + console.log('quoteError', quoteError); + }, [isProcessing, isCompleted, quoteError]); + return ( )} - {isQuoteLoading || - (isProcessing && ( - - - Loading - - ))} - {quoteError || - (swapError && ( - - {`Error: ${quoteError ? quoteError : swapError}`} - - ))} + {(isQuoteLoading || isProcessing) && ( + + + Loading + + )} + {(quoteError || swapError) && ( + + {quoteError || swapError} + + )} {isCompleted && ( )} - {`${outputToken.symbol === 'BTC' ? 'Receive' : 'Refund'}`} Address diff --git a/src/app/hooks/use-swap-order-status.ts b/src/app/hooks/use-swap-order-status.ts index 94253c70..aa3f2136 100644 --- a/src/app/hooks/use-swap-order-status.ts +++ b/src/app/hooks/use-swap-order-status.ts @@ -4,7 +4,7 @@ import { OrderStatus, ParseOrderStatus } from '@gardenfi/core'; import { Chain, MatchedOrder } from '@gardenfi/orderbook'; import { GARDEN_CONFIG } from '@gardenfi/react-hooks'; -async function fetchJson(url: string, options?: RequestInit): Promise { +async function fetchJSON(url: string, options?: RequestInit): Promise { const response = await fetch(url, { headers: { 'Content-Type': 'application/json' }, ...options, @@ -54,10 +54,10 @@ export const useOrderStatus = (order: MatchedOrder): OrderStatus | undefined => useEffect(() => { const fetchBlockNumbers = async () => { try { - const data = await fetchJson>( + const currentBlockNumbers = await fetchJSON>( createAPI(isTestnet).data.blockNumbers('testnet') ); - setBlockNumbers(data); + setBlockNumbers(currentBlockNumbers); } catch (error) { // eslint-disable-next-line no-console console.error('Failed to fetch Block Numbers:', error); @@ -72,12 +72,14 @@ export const useOrderStatus = (order: MatchedOrder): OrderStatus | undefined => if (!blockNumbers) return; const { source_swap, destination_swap } = order; + const sourceBlockNumber = blockNumbers[source_swap.chain]; const destinationBlockNumber = blockNumbers[destination_swap.chain]; if (!sourceBlockNumber || !destinationBlockNumber) return; const orderStatus = ParseOrderStatus(order, sourceBlockNumber, destinationBlockNumber); + setStatus(orderStatus); }, [blockNumbers, order]); diff --git a/src/app/hooks/use-swap.ts b/src/app/hooks/use-swap.ts index b90f3f42..9132274d 100644 --- a/src/app/hooks/use-swap.ts +++ b/src/app/hooks/use-swap.ts @@ -22,17 +22,15 @@ enum SupportedEVMNetworks { } const SUPPORTED_ASSETS_BTC_MAP = { - mainnet: SupportedAssets.mainnet.bitcoin_primary, - testnet: SupportedAssets.testnet.bitcoin_testnet_primary, - devnet: SupportedAssets.testnet.bitcoin_testnet_primary, - localhost: SupportedAssets.testnet.bitcoin_testnet_primary, + mainnet: SupportedAssets.mainnet.bitcoin_BTC, + testnet: SupportedAssets.testnet.bitcoin_testnet_BTC, + devnet: SupportedAssets.testnet.bitcoin_testnet_BTC, + localhost: SupportedAssets.testnet.bitcoin_testnet_BTC, }; const SUPPORTED_ASSETS_IBTC_MAP = { - [SupportedEVMNetworks.ArbitrumSepolia]: - SupportedAssets.testnet.arbitrum_sepolia_0xdfe6d9363ee96152d39391009a6723819d9e25eb, - [SupportedEVMNetworks.BaseSepolia]: - SupportedAssets.testnet.base_sepolia_0xbcdad29ac77e5bb27fd528ab0045af630259fe4f, + [SupportedEVMNetworks.ArbitrumSepolia]: SupportedAssets.testnet.arbitrum_sepolia_iBTC, + [SupportedEVMNetworks.BaseSepolia]: SupportedAssets.testnet.base_sepolia_iBTC, }; function useDebounce(value: T, delay: number): T { @@ -70,7 +68,7 @@ interface UseSwapReturnType { } export function useSwap(): UseSwapReturnType { - const { initializeSecretManager, swapAndInitiate, getQuote } = useGarden(); + const { swapAndInitiate, getQuote } = useGarden(); const [inputToken, setInputToken] = useState( SUPPORTED_ASSETS_IBTC_MAP[SupportedEVMNetworks.ArbitrumSepolia] @@ -139,7 +137,7 @@ export function useSwap(): UseSwapReturnType { amount: sendAmount, }); - setOutputAmount(unshiftValue(new Decimal(amount).toNumber()).toString()); // Assuming 8 decimals for BTC + setOutputAmount(unshiftValue(new Decimal(amount).toNumber()).toString()); } catch (error) { setQuoteError(error instanceof Error ? error.message : 'Failed to fetch quote'); setOutputAmount('0'); @@ -152,20 +150,6 @@ export function useSwap(): UseSwapReturnType { // eslint-disable-next-line react-hooks/exhaustive-deps }, [debouncedInputAmount, inputToken, outputToken, getQuote]); - const initializeSecret = async () => { - if (!initializeSecretManager) { - throw new Error('Secret Manager initializer not available'); - } - - const response = await initializeSecretManager(); - - if (!response.ok || !response.val.getMasterPrivKey()) { - throw new Error('Failed to initialize Secret Manager'); - } - - return response; - }; - const fetchQuote = async (quoteParams: QuoteParams) => { if (!getQuote) { throw new Error('Quote service not available'); @@ -205,8 +189,6 @@ export function useSwap(): UseSwapReturnType { return; } - await initializeSecret(); - const sendAmount = shiftValue(new Decimal(inputAmount).toNumber()); const { strategy, amount } = await fetchQuote({ diff --git a/src/app/providers/swap-context-provider.tsx b/src/app/providers/swap-context-provider.tsx new file mode 100644 index 00000000..e25ac32c --- /dev/null +++ b/src/app/providers/swap-context-provider.tsx @@ -0,0 +1,29 @@ +import React from 'react'; + +import { GardenProvider } from '@gardenfi/react-hooks'; +import { Environment } from '@gardenfi/utils'; +import { HasChildren } from '@models/has-children'; +import { useWalletClient } from 'wagmi'; + +const SWAP_ENVIRONMENT_MAP = { + mainnet: Environment.MAINNET, + testnet: Environment.TESTNET, + devnet: Environment.TESTNET, + localhost: Environment.TESTNET, +}; + +export function SwapContextProvider({ children }: HasChildren): React.JSX.Element { + const { data: walletClient } = useWalletClient(); + + return ( + + {children} + + ); +} diff --git a/yarn.lock b/yarn.lock index 22d8e0ad..69069240 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1932,52 +1932,52 @@ resolved "https://registry.npmjs.org/@fontsource/poppins/-/poppins-5.0.12.tgz" integrity sha512-0qzBxtIJLh82iMJ9pCXKYwGs1zyS+jyUmwVJ59+JdYnEaFVkDsxVOk9yDWfVOs14ALUneodU2m5YSGma6dCYCw== -"@gardenfi/core@0.3.0-beta.14", "@gardenfi/core@^0.3.0-beta.14": - version "0.3.0-beta.14" - resolved "https://registry.yarnpkg.com/@gardenfi/core/-/core-0.3.0-beta.14.tgz#e66599cff3ddb4584648d628dbae02d4aa3836a6" - integrity sha512-V73jDvdchN09UqYdcyOCI4s4ekHY94NLoGnxqp2579y6sSYjqJf+5WXyn89Pb7bjrCOpYOfldivWKXYfwfLkWQ== +"@gardenfi/core@2.0.1", "@gardenfi/core@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@gardenfi/core/-/core-2.0.1.tgz#987a49267c08c1f8b7951d1c6a0c15d2dd14328d" + integrity sha512-EQrLsJPpagUwqV85f/eNUi8uEWe/4oXE560rX8u1SCfaZM2MAeaat3+K6yUjWTkSuuR0gUQlga0TnTj2Zb76og== dependencies: "@catalogfi/utils" "^0.1.6" "@catalogfi/wallets" "^0.2.51" - "@gardenfi/orderbook" "^0.2.0-beta.41" - "@gardenfi/utils" "^0.0.1-beta.19" + "@gardenfi/orderbook" "^2.0.0" + "@gardenfi/utils" "^2.0.0" bignumber.js "^9.1.2" bitcoinjs-lib "^6.1.6" tiny-secp256k1 "^2.2.3" varuint-bitcoin "^1.1.2" viem "^2.21.15" -"@gardenfi/orderbook@0.2.0-beta.41", "@gardenfi/orderbook@^0.2.0-beta.41": - version "0.2.0-beta.41" - resolved "https://registry.yarnpkg.com/@gardenfi/orderbook/-/orderbook-0.2.0-beta.41.tgz#a802ddba48023956160fa2d2fda0676c520a5dbb" - integrity sha512-I8GisEgUGNX84WKZSKEAqMsSD9wvfY9hzY5iL2V5vc+jqblpc+5Exbk/yVFINI3DoqtuaVb1h/dqTmMFotu0hA== +"@gardenfi/orderbook@2.0.0", "@gardenfi/orderbook@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@gardenfi/orderbook/-/orderbook-2.0.0.tgz#d13b3d3e8667245a8b1ffe52e262e0b83ad33359" + integrity sha512-mNBhgrpCRkMP9far0883hZ1eECBujioyc+joetHuhRJ//dOzWvHSaEP+uxdb4WNhcWahb6ZbHLa7+FBa3+DdJQ== dependencies: "@catalogfi/utils" "^0.1.6" - "@gardenfi/utils" "^0.0.1-beta.19" + "@gardenfi/utils" "^2.0.0" bufferutil "^4.0.8" siwe "^2.1.4" utf-8-validate "^6.0.3" viem "^2.21.15" ws "^8.14.2" -"@gardenfi/react-hooks@0.0.1-beta.135": - version "0.0.1-beta.135" - resolved "https://registry.yarnpkg.com/@gardenfi/react-hooks/-/react-hooks-0.0.1-beta.135.tgz#a74d538b455b4a2baff1401eb65c4ea42e194c80" - integrity sha512-I4R391jusGV30K8s+6cDgc7xwAcwj1rUeg2Uw3a/N96KjO2f0l+cn8NQZsSIcJMzL4GTgICpQv2Ci/JIe0VdbQ== +"@gardenfi/react-hooks@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@gardenfi/react-hooks/-/react-hooks-2.0.0.tgz#03d7c3d6fd982adb21901b04ded2f8f3ffe557cd" + integrity sha512-lG14FCBM09p84PVSld2k1x091uEE4oUjJUcUgHItSvTwy3x7rvRbj4jEoeYdq4gyTmLMCYRWOFOjA+HKkTIadg== dependencies: "@catalogfi/utils" "^0.1.6" "@catalogfi/wallets" "^0.2.51" - "@gardenfi/core" "^0.3.0-beta.14" - "@gardenfi/orderbook" "^0.2.0-beta.41" - "@gardenfi/utils" "^0.0.1-beta.19" + "@gardenfi/core" "^2.0.0" + "@gardenfi/orderbook" "^2.0.0" + "@gardenfi/utils" "^2.0.0" react "^18.3.1" viem "^2.21.15" wagmi "^2.12.16" -"@gardenfi/utils@^0.0.1-beta.19": - version "0.0.1-beta.19" - resolved "https://registry.yarnpkg.com/@gardenfi/utils/-/utils-0.0.1-beta.19.tgz#e74cdc12ff04bed142ebedc32f063daec145ef06" - integrity sha512-hgTc3iy2TM7Rr2J7ApM+yzSOSsisHW3T3+PKMWcBZcc4CIwBAquTCRdQNkMKFbawsvB4LMieIiWYWjm+IQqckQ== +"@gardenfi/utils@2.0.0", "@gardenfi/utils@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@gardenfi/utils/-/utils-2.0.0.tgz#2d68dae3ebc7d0bc4fdcec74af50b714cdc0338b" + integrity sha512-J0q0L76+hIi+N6QOWko8idizxuo2fTNs9fGMxwXkpA1pQigHdSdBbdYg8GmJQhZk0a1tim8D6mjB6GaOIx0xEA== dependencies: "@catalogfi/utils" "^0.1.11" axios "^1.7.2" @@ -9388,21 +9388,6 @@ varuint-bitcoin@1.1.2, varuint-bitcoin@^1.0.4, varuint-bitcoin@^1.1.2: dependencies: safe-buffer "^5.1.1" -viem@2.x: - version "2.21.57" - resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.57.tgz#bedbb444bb42e07ccc2264a9a0441903a113aab8" - integrity sha512-Mw4f4Dw0+Y/wSHdynVmP4uh+Cw15HEoj8BOKvKH5nGA6oFZYRxSy9Ruu7ZG8jexeAVCZ57aIuXb0gNg6Vb1x0g== - dependencies: - "@noble/curves" "1.7.0" - "@noble/hashes" "1.6.1" - "@scure/bip32" "1.6.0" - "@scure/bip39" "1.5.0" - abitype "1.0.7" - isows "1.0.6" - ox "0.1.2" - webauthn-p256 "0.0.10" - ws "8.18.0" - viem@^2.1.1: version "2.18.6" resolved "https://registry.yarnpkg.com/viem/-/viem-2.18.6.tgz#527c54a032cdd4c1f1795fcb44072e8c3efd16c6" @@ -9525,7 +9510,7 @@ vitest@^0.34.6: vite-node "0.34.6" why-is-node-running "^2.2.2" -wagmi@2.14.3, wagmi@^2.12.16: +wagmi@^2.12.16: version "2.14.3" resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.14.3.tgz#3abfe5e9f796890d75d1b7d506e9dccd6b87f254" integrity sha512-sr8o7+EBw22GhieDyXLv8Zr2vgC6xKrYoSuUIpq0xOqEhvMP1q880VtR4lFG1capc2QEWvK72pJ/+jpsEQcMYQ== From 717164e758595aa7539996d7bf109028abb695ef Mon Sep 17 00:00:00 2001 From: Polybius93 Date: Mon, 6 Jan 2025 16:22:01 +0100 Subject: [PATCH 3/7] feat: remove unnecessary logs, fix yarn lock --- src/app/components/swap/swap.tsx | 8 -- vite.config.ts | 3 + yarn.lock | 197 ++++++++++++++++--------------- 3 files changed, 104 insertions(+), 104 deletions(-) diff --git a/src/app/components/swap/swap.tsx b/src/app/components/swap/swap.tsx index 5aca3053..fe9ecc2b 100644 --- a/src/app/components/swap/swap.tsx +++ b/src/app/components/swap/swap.tsx @@ -1,5 +1,3 @@ -import { useEffect } from 'react'; - import { CheckCircleIcon, ChevronDownIcon, ChevronUpIcon } from '@chakra-ui/icons'; import { Button, HStack, Input, Spinner, Text, VStack } from '@chakra-ui/react'; import { useBitcoinPrice } from '@hooks/use-bitcoin-price'; @@ -39,12 +37,6 @@ export function Swap(): React.JSX.Element { const { bitcoinPrice } = useBitcoinPrice(); - useEffect(() => { - console.log('isProcessing', isProcessing); - console.log('isCompleted', isCompleted); - console.log('quoteError', quoteError); - }, [isProcessing, isCompleted, quoteError]); - return ( { plugins: [react(), wasm(), ViteToml()], build: { target: 'esnext', + rollupOptions: { + external: ['@safe-window/safe-apps-sdk'] + } }, define: { global: 'window', diff --git a/yarn.lock b/yarn.lock index 69069240..659b7fea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -308,9 +308,9 @@ integrity sha512-+rt2I4W5ip6odg8ZSmoTyCY0GllPzSYqWz8xRyvgN58MVJJMAFjsp4XwyWzkIfKCRKOJve/vjYdZQx92CTO2gw== "@catalogfi/wallets@^0.2.51": - version "0.2.54" - resolved "https://registry.yarnpkg.com/@catalogfi/wallets/-/wallets-0.2.54.tgz#8d5323b381dd70964e2dac45a2d89015a3e3a743" - integrity sha512-ffcvXPx/qklyjR8HLr2ni/hZFA8mL+DgQxMmozTRF2UV0ngLx8aURDHN/FHg2vQ6MU5cYLEl3h+H8frPKRfL4w== + version "0.2.55" + resolved "https://registry.yarnpkg.com/@catalogfi/wallets/-/wallets-0.2.55.tgz#6ca83146809d57ae600005821bdf2dad6e66106b" + integrity sha512-wPQyKWrLfzZ7Ranwd4Zi6GI6VxC4dA0u5wqrqQSMb/IcJeS5KL0ila1LaVvrM7rTpJ7G2dHFECvzgV59W0K/8A== dependencies: "@catalogfi/extension" "^0.1.1" "@catalogfi/utils" "^0.1.10" @@ -1169,7 +1169,7 @@ cross-fetch "3.1.6" uuid "9.0.0" -"@ecies/ciphers@^0.2.1": +"@ecies/ciphers@^0.2.2": version "0.2.2" resolved "https://registry.yarnpkg.com/@ecies/ciphers/-/ciphers-0.2.2.tgz#82a15b10a6e502b63fb30915d944b2eaf3ff17ff" integrity sha512-ylfGR7PyTd+Rm2PqQowG08BCKA22QuX8NzrL+LxAAvazN10DMwdJ2fWwAzRj05FI/M8vNFGm3cv9Wq/GFWCBLg== @@ -2261,10 +2261,10 @@ dependencies: "@paulmillr/qr" "^0.2.1" -"@metamask/sdk@0.31.2": - version "0.31.2" - resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.31.2.tgz#2ec1c1c7cf6a444e65104862e83814a493047d72" - integrity sha512-6MWON2g1j7XwAHWam4trusGxeyhQweNLEHPsfuIxSwcsXoEm08Jj80OglJxQI4KwjcDnjSWBkQGG3mmK6ug/cA== +"@metamask/sdk@0.31.4": + version "0.31.4" + resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.31.4.tgz#2f9266e994ba838652925dc83e3409adfcae75ae" + integrity sha512-HLUN4IZGdyiy5YeebXmXi+ndpmrl6zslCQLdR2QHplIy4JmUL/eDyKNFiK7eBLVKXVVIDYFIb6g1iSEb+i8Kew== dependencies: "@babel/runtime" "^7.26.0" "@metamask/onboarding" "^1.0.1" @@ -2422,9 +2422,9 @@ urlpattern-polyfill "8.0.2" "@noble/ciphers@^1.0.0": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.1.3.tgz#eb27085aa7ce94d8c6eaeb64299bab0589920ec1" - integrity sha512-Ygv6WnWJHLLiW4fnNDC1z+i13bud+enXOFRBlpxI+NJliPWx5wdR+oWlTjLuBPTqjUjtHXtjkU6w3kuuH6upZA== + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.2.0.tgz#a7858e18eb620f6b2a327a7f0e647b6a78fd0727" + integrity sha512-YGdEUzYEd+82jeaVbSKKVp1jFZb8LwaNMIIzHFkihGvYdd/KKAr7KaJHdEdSYGredE3ssSravXIa0Jxg28Sv5w== "@noble/curves@1.4.0": version "1.4.0" @@ -2440,26 +2440,33 @@ dependencies: "@noble/hashes" "1.4.0" -"@noble/curves@1.6.0", "@noble/curves@^1.0.0", "@noble/curves@^1.6.0", "@noble/curves@~1.6.0": +"@noble/curves@1.7.0", "@noble/curves@~1.7.0": + 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/curves@^1.0.0", "@noble/curves@~1.6.0": version "1.6.0" resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.6.0.tgz#be5296ebcd5a1730fccea4786d420f87abfeb40b" integrity sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ== dependencies: "@noble/hashes" "1.5.0" -"@noble/curves@1.7.0", "@noble/curves@~1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.7.0.tgz#0512360622439256df892f21d25b388f52505e45" - integrity sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw== +"@noble/curves@^1.6.0", "@noble/curves@~1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.0.tgz#fe035a23959e6aeadf695851b51a87465b5ba8f7" + integrity sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ== dependencies: - "@noble/hashes" "1.6.0" + "@noble/hashes" "1.7.0" "@noble/hashes@1.4.0", "@noble/hashes@^1.1.5", "@noble/hashes@^1.2.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0", "@noble/hashes@~1.4.0": version "1.4.0" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz" integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== -"@noble/hashes@1.5.0", "@noble/hashes@^1.0.0", "@noble/hashes@^1.5.0", "@noble/hashes@~1.5.0": +"@noble/hashes@1.5.0", "@noble/hashes@^1.0.0", "@noble/hashes@~1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== @@ -2469,11 +2476,16 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.0.tgz#d4bfb516ad6e7b5111c216a5cc7075f4cf19e6c5" integrity sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ== -"@noble/hashes@1.6.1", "@noble/hashes@^1.1.2", "@noble/hashes@~1.6.0": +"@noble/hashes@1.6.1", "@noble/hashes@~1.6.0": version "1.6.1" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.1.tgz#df6e5943edcea504bac61395926d6fd67869a0d5" integrity sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w== +"@noble/hashes@1.7.0", "@noble/hashes@^1.1.2", "@noble/hashes@^1.5.0", "@noble/hashes@~1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.0.tgz#5d9e33af2c7d04fee35de1519b80c958b2e35e39" + integrity sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w== + "@noble/secp256k1@^1.7.1": version "1.7.1" resolved "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz" @@ -2837,7 +2849,16 @@ "@noble/hashes" "~1.4.0" "@scure/base" "~1.1.6" -"@scure/bip32@1.5.0", "@scure/bip32@^1.3.1", "@scure/bip32@^1.5.0": +"@scure/bip32@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.6.0.tgz#6dbc6b4af7c9101b351f41231a879d8da47e0891" + integrity sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA== + dependencies: + "@noble/curves" "~1.7.0" + "@noble/hashes" "~1.6.0" + "@scure/base" "~1.2.1" + +"@scure/bip32@^1.3.1": version "1.5.0" resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.5.0.tgz#dd4a2e1b8a9da60e012e776d954c4186db6328e6" integrity sha512-8EnFYkqEQdnkuGBVpCzKxyIwDCBLDVj3oiX0EKUFre/tOjL/Hqba1D6n/8RcmaQy4f95qQFrO2A8Sr6ybh4NRw== @@ -2846,13 +2867,13 @@ "@noble/hashes" "~1.5.0" "@scure/base" "~1.1.7" -"@scure/bip32@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.6.0.tgz#6dbc6b4af7c9101b351f41231a879d8da47e0891" - integrity sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA== +"@scure/bip32@^1.5.0": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.6.1.tgz#848eca1bc96f6b5ce6aa750798853fb142dace05" + integrity sha512-jSO+5Ud1E588Y+LFo8TaB8JVPNAZw/lGGao+1SepHDeTs2dFLurdNIAgUuDlwezqEjRjElkCJajVrtrZaBxvaQ== dependencies: - "@noble/curves" "~1.7.0" - "@noble/hashes" "~1.6.0" + "@noble/curves" "~1.8.0" + "@noble/hashes" "~1.7.0" "@scure/base" "~1.2.1" "@scure/bip39@1.3.0": @@ -2863,7 +2884,15 @@ "@noble/hashes" "~1.4.0" "@scure/base" "~1.1.6" -"@scure/bip39@1.4.0", "@scure/bip39@^1.2.1", "@scure/bip39@^1.4.0": +"@scure/bip39@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.0.tgz#c8f9533dbd787641b047984356531d84485f19be" + integrity sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A== + dependencies: + "@noble/hashes" "~1.6.0" + "@scure/base" "~1.2.1" + +"@scure/bip39@^1.2.1": version "1.4.0" resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.4.0.tgz#664d4f851564e2e1d4bffa0339f9546ea55960a6" integrity sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw== @@ -2871,12 +2900,12 @@ "@noble/hashes" "~1.5.0" "@scure/base" "~1.1.8" -"@scure/bip39@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.0.tgz#c8f9533dbd787641b047984356531d84485f19be" - integrity sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A== +"@scure/bip39@^1.4.0": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.1.tgz#a056868d672c7203a6035c808893742a79e151f6" + integrity sha512-GnlufVSP9UdAo/H2Patfv22VTtpNTyfi+I3qCKpvuB5l1KWzEYx+l2TNpBy9Ksh4xTs3Rn06tBlpWCi/1Vz8gw== dependencies: - "@noble/hashes" "~1.6.0" + "@noble/hashes" "~1.7.0" "@scure/base" "~1.2.1" "@scure/btc-signer@1.3.2": @@ -3669,31 +3698,22 @@ loupe "^2.3.6" pretty-format "^29.5.0" -"@wagmi/connectors@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.7.0.tgz#a5e6c5403009b37f912210fc5d96727b4caa6a2b" - integrity sha512-cPMmHBGw28fll7VQJC9iF6ngdQ17STTzspqRIjlTkz44zhjwMTf7shw+JJUmqw+0uK7DqRbf/xUHlZE2IVd2mg== +"@wagmi/connectors@5.7.3": + version "5.7.3" + resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.7.3.tgz#0e6d274d4734cbfeb8ad964b63b1edcfade42c63" + integrity sha512-i7Gk5M/Fc9gMvkVHbqw2kGtXvY8POsSY798/9I5npyglVjBddxoVk3xTYmcYTB1VIa4Fi0T2gLTHpQnpLrq1CQ== dependencies: "@coinbase/wallet-sdk" "4.2.3" - "@metamask/sdk" "0.31.2" + "@metamask/sdk" "0.31.4" "@safe-global/safe-apps-provider" "0.18.5" "@safe-global/safe-apps-sdk" "9.1.0" "@walletconnect/ethereum-provider" "2.17.0" cbw-sdk "npm:@coinbase/wallet-sdk@3.9.3" -"@wagmi/core@2.16.0": - version "2.16.0" - resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.16.0.tgz#b997b2544cd80b4aac4df25ccb2436bf77f9fbe1" - integrity sha512-sy4n7Jv6YCbT2jp4zQ/9H6l0A8StsN7P8mm2BRuODgW2w6Fj4j6h2xgYJD2tIjJHkLU/nvPJ7audZ55X7XQU/g== - dependencies: - eventemitter3 "5.0.1" - mipd "0.0.7" - zustand "5.0.0" - -"@wagmi/core@^2.16.1": - version "2.16.1" - resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.16.1.tgz#fb4ccd2be30d550b051f7e1833c5597acd6bef38" - integrity sha512-PFP43jEeyzCp9ZKM+G/H50Gb68XT9J9xLIHvznTvPZOphlnVOVMpZTUARukOQZvmZXZoD2CUTJxT820YrZfjcw== +"@wagmi/core@2.16.3", "@wagmi/core@^2.16.1": + version "2.16.3" + resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.16.3.tgz#abbff0a19e75beaad56ffb90da772641552d49c3" + integrity sha512-SVovoWHaQ2AIkmGf+ucNijT6AHXcTMffFcLmcFF6++y21x+ge7Gkh3UoJiU91SDDv8n08eTQ9jbyia3GEgU5jQ== dependencies: eventemitter3 "5.0.1" mipd "0.0.7" @@ -4015,16 +4035,16 @@ abitype@1.0.5: resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.5.tgz#29d0daa3eea867ca90f7e4123144c1d1270774b6" integrity sha512-YzDhti7cjlfaBhHutMaboYB21Ha3rXR9QTkNJFzYC4kC8YclaiwPBBBJY8ejFdu2wnJeZCVZSMlQJ7fi8S6hsw== -abitype@1.0.6, abitype@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.6.tgz#76410903e1d88e34f1362746e2d407513c38565b" - integrity sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A== - abitype@1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.7.tgz#876a0005d211e1c9132825d45bcee7b46416b284" integrity sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw== +abitype@^1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.8.tgz#3554f28b2e9d6e9f35eb59878193eabd1b9f46ba" + integrity sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg== + abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" @@ -5516,11 +5536,11 @@ duplexify@^4.1.2: stream-shift "^1.0.2" eciesjs@^0.4.11: - version "0.4.12" - resolved "https://registry.yarnpkg.com/eciesjs/-/eciesjs-0.4.12.tgz#0ce482454953592e07b79b4824751f3b5c508b56" - integrity sha512-DGejvMCihsRAmKRFQiL6KZDE34vWVd0gvXlykFq1aEzJy/rD65AVyAIUZKZOvgvaP9ATQRcHGEZV5DfgrgjA4w== + version "0.4.13" + resolved "https://registry.yarnpkg.com/eciesjs/-/eciesjs-0.4.13.tgz#89fbe2bc37d6dced8c3d1bccac21cceb20bcdcf3" + integrity sha512-zBdtR4K+wbj10bWPpIOF9DW+eFYQu8miU5ypunh0t4Bvt83ZPlEWgT5Dq/0G6uwEXumZKjfb5BZxYUZQ2Hzn/Q== dependencies: - "@ecies/ciphers" "^0.2.1" + "@ecies/ciphers" "^0.2.2" "@noble/ciphers" "^1.0.0" "@noble/curves" "^1.6.0" "@noble/hashes" "^1.5.0" @@ -6064,7 +6084,7 @@ ethereum-cryptography@^2.0.0: ethers@5.7.2: version "5.7.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" + resolved "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz" integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== dependencies: "@ethersproject/abi" "5.7.0" @@ -7425,7 +7445,7 @@ ms@2.1.2: ms@^2.1.1: version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== multiformats@^9.4.2: @@ -7627,10 +7647,10 @@ optionator@^0.9.3: prelude-ls "^1.2.1" type-check "^0.4.0" -ox@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ox/-/ox-0.1.2.tgz#0f791be2ccabeaf4928e6d423498fe1c8094e560" - integrity sha512-ak/8K0Rtphg9vnRJlbOdaX9R7cmxD2MiSthjWGaQdMk3D7hrAlDoM+6Lxn7hN52Za3vrXfZ7enfke/5WjolDww== +ox@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/ox/-/ox-0.6.0.tgz#ba8f89d68b5e8afe717c8a947ffacc0669ea155d" + integrity sha512-blUzTLidvUlshv0O02CnLFqBLidNzPoAZdIth894avUAotTuWziznv6IENv5idRuOSSP3dH8WzcYw84zVdu0Aw== dependencies: "@adraffy/ens-normalize" "^1.10.1" "@noble/curves" "^1.6.0" @@ -7854,9 +7874,9 @@ preact@^10.16.0: integrity sha512-O5UdRsNh4vdZaTieWe3XOgSpdMAmkIYBCT3VhQDlKrzyCm8lUYsk0fmVEvoQQifoOjFRTaHZO69ylrzTW2BH+A== preact@^10.24.2: - version "10.25.2" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.25.2.tgz#e141e18a547ae0082dae48d044e0d8267e2547d2" - integrity sha512-GEts1EH3oMnqdOIeXhlbBSddZ9nrINd070WBOiPO2ous1orrKGUM4SMDbwyjSWD1iMS2dBvaDjAa5qUhz3TXqw== + version "10.25.4" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.25.4.tgz#c1d00bee9d7b9dcd06a2311d9951973b506ae8ac" + integrity sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA== prelude-ls@^1.2.1: version "1.2.1" @@ -9403,25 +9423,10 @@ viem@^2.1.1: webauthn-p256 "0.0.5" ws "8.17.1" -viem@^2.20.1: - version "2.21.49" - resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.49.tgz#528d5e54747ba3125041cd753459a4ce673aaaa6" - integrity sha512-NNItYfTv4+yGE5DDKc+S/g2S7KeJn047GwgEYG60FAJlK0FzwuP6lQKSeQ8k7Y4VasfuKPqiT+XiilcCtTRiDQ== - dependencies: - "@noble/curves" "1.6.0" - "@noble/hashes" "1.5.0" - "@scure/bip32" "1.5.0" - "@scure/bip39" "1.4.0" - abitype "1.0.6" - isows "1.0.6" - ox "0.1.2" - webauthn-p256 "0.0.10" - ws "8.18.0" - -viem@^2.21.15: - version "2.21.55" - resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.55.tgz#a57ad31fcf2a0f6c011b1909f02c94421ec4f781" - integrity sha512-PgXew7C11cAuEtOSgRyQx2kJxEOPUwIwZA9dMglRByqJuFVA7wSGZZOOo/93iylAA8E15bEdqy9xulU3oKZ70Q== +viem@^2.20.1, viem@^2.21.15: + version "2.22.2" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.22.2.tgz#ec25affced2491ea3984cc8ce5d3d4b760ae85b1" + integrity sha512-HNATy2rwkQcC1JRYBJJujJTtVtDkWlQEB7GvAtn4GBXdbBROnjs8pGXwJAWhb/crErVk5yJ/Fh50yGtA9VZh8A== dependencies: "@noble/curves" "1.7.0" "@noble/hashes" "1.6.1" @@ -9429,7 +9434,7 @@ viem@^2.21.15: "@scure/bip39" "1.5.0" abitype "1.0.7" isows "1.0.6" - ox "0.1.2" + ox "0.6.0" webauthn-p256 "0.0.10" ws "8.18.0" @@ -9511,12 +9516,12 @@ vitest@^0.34.6: why-is-node-running "^2.2.2" wagmi@^2.12.16: - version "2.14.3" - resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.14.3.tgz#3abfe5e9f796890d75d1b7d506e9dccd6b87f254" - integrity sha512-sr8o7+EBw22GhieDyXLv8Zr2vgC6xKrYoSuUIpq0xOqEhvMP1q880VtR4lFG1capc2QEWvK72pJ/+jpsEQcMYQ== + version "2.14.6" + resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.14.6.tgz#046db4c119f53c276c9f2d4b0034fe2ebc3ff05c" + integrity sha512-h8KDjPiXywZcKAbGttGDlZpwabZynR4lZ8eDO63tNgfxiMyhld0M5bMcB/u7XnH2xFgd0gq7PA2RVz96XMjazw== dependencies: - "@wagmi/connectors" "5.7.0" - "@wagmi/core" "2.16.0" + "@wagmi/connectors" "5.7.3" + "@wagmi/core" "2.16.3" use-sync-external-store "1.2.0" web-encoding@1.1.5: @@ -9813,9 +9818,9 @@ youtube-player@5.5.2: sister "^3.0.0" yup@^1.4.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/yup/-/yup-1.6.0.tgz#70d4e81ed7b73564f86efa25c7c469cadcabf665" - integrity sha512-/dny6arMf5CV6ZPAGpXYVw0wR8qcDF15H8zILTQWoRf6jHN1nJNFL1IAlFfUMlO7QGifMVHZle/l8YJdxtWfxg== + version "1.6.1" + resolved "https://registry.yarnpkg.com/yup/-/yup-1.6.1.tgz#8defcff9daaf9feac178029c0e13b616563ada4b" + integrity sha512-JED8pB50qbA4FOkDol0bYF/p60qSEDQqBD0/qeIrUCG1KbPBIQ776fCUNb9ldbPcSTxA69g/47XTo4TqWiuXOA== dependencies: property-expr "^2.0.5" tiny-case "^1.0.3" From b33ffd368495b68331833fc339cd9546873864d0 Mon Sep 17 00:00:00 2001 From: Polybius93 Date: Mon, 6 Jan 2025 16:42:47 +0100 Subject: [PATCH 4/7] feat: modify wagmi version --- package.json | 3 +- updates.patch | 3492 ------------------------------------------------- yarn.lock | 4 +- 3 files changed, 3 insertions(+), 3496 deletions(-) delete mode 100644 updates.patch diff --git a/package.json b/package.json index b2290853..0f9317e7 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,6 @@ "@types/chrome": "^0.0.248", "@types/d3": "^7.4.3", "@types/ramda": "^0.30.1", - "@wagmi/core": "^2.16.1", "apexcharts": "^3.49.1", "buffer": "^6.0.3", "concurrently": "^8.2.2", @@ -71,7 +70,7 @@ "redux-persist-expire": "^1.1.1", "vite-plugin-toml": "^0.7.0", "viem": "^2.21.15", - "wagmi": "^2.12.16", + "wagmi": "2.14.6", "xrpl": "^4.0.0" }, "devDependencies": { diff --git a/updates.patch b/updates.patch deleted file mode 100644 index bb6ac350..00000000 --- a/updates.patch +++ /dev/null @@ -1,3492 +0,0 @@ -diff --git a/package.json b/package.json -index 9e7e530..c98aa62 100644 ---- a/package.json -+++ b/package.json -@@ -31,6 +31,9 @@ - "@fontsource/onest": "^5.0.3", - "@fontsource/poppins": "^5.0.8", - "@gemwallet/api": "^3.8.0", -+ "@gardenfi/core": "0.3.0-beta.14", -+ "@gardenfi/orderbook": "0.2.0-beta.41", -+ "@gardenfi/react-hooks": "0.0.1-beta.135", - "@ledgerhq/hw-app-xrp": "^6.29.4", - "@ledgerhq/hw-transport-webusb": "^6.28.6", - "@netlify/functions": "^2.8.1", -@@ -46,7 +49,7 @@ - "concurrently": "^8.2.2", - "d3": "^7.9.0", - "decimal.js": "^10.4.3", -- "dlc-btc-lib": "2.5.1", -+ "dlc-btc-lib": "2.5.3", - "dotenv": "^16.3.1", - "ethers": "5.7.2", - "formik": "^2.4.5", -@@ -64,9 +67,9 @@ - "redux": "^4.2.1", - "redux-persist": "^6.0.0", - "redux-persist-expire": "^1.1.1", -- "viem": "2.x", -+ "viem": "^2.20.1", - "vite-plugin-toml": "^0.7.0", -- "wagmi": "^2.12.2", -+ "wagmi": "2.14.3", - "xrpl": "^4.0.0" - }, - "devDependencies": { -diff --git a/public/images/gear-icon.svg b/public/images/gear-icon.svg -new file mode 100644 -index 0000000..51c3eeb ---- /dev/null -+++ b/public/images/gear-icon.svg -@@ -0,0 +1,4 @@ -+ -+ -+ -+ -diff --git a/public/images/swap-arrow.svg b/public/images/swap-arrow.svg -new file mode 100644 -index 0000000..799bfe4 ---- /dev/null -+++ b/public/images/swap-arrow.svg -@@ -0,0 +1,3 @@ -+ -+ -+ -diff --git a/src/app/app.tsx b/src/app/app.tsx -index f3cc540..099cd7e 100644 ---- a/src/app/app.tsx -+++ b/src/app/app.tsx -@@ -2,7 +2,9 @@ import { Route } from 'react-router-dom'; - - import { AppLayout } from '@components/app.layout'; - import { MerchantDetails } from '@components/proof-of-reserve/components/merchant-details/merchant-details'; -+import { SwapPage } from '@components/swap/pages/swap-page'; - import { getWagmiConfiguration } from '@functions/configuration.functions'; -+import { GardenProvider, environment } from '@gardenfi/react-hooks'; - import { AttestorDetailsPage } from '@pages/attestor-details/attestor-details-page'; - import { AttestorDetailsSelectPage } from '@pages/attestor-details/attestor-details-select-page'; - import { MyVaults } from '@pages/my-vaults/my-vaults'; -@@ -31,39 +33,50 @@ export function App(): React.JSX.Element { - return ( - - -- -- -- -- -- -- -- -- -- -- -- -- } /> -- } /> -- {/* } /> */} -- } /> -- } /> -- } -- /> -- } /> -- } /> -- -- -- -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ } /> -+ } /> -+ {/* } /> */} -+ } /> -+ } /> -+ } -+ /> -+ } -+ /> -+ } /> -+ } /> -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - ); -diff --git a/src/app/components/header/components/tabs.tsx b/src/app/components/header/components/tabs.tsx -index 8e7ab18..7507add 100644 ---- a/src/app/components/header/components/tabs.tsx -+++ b/src/app/components/header/components/tabs.tsx -@@ -30,6 +30,11 @@ export function NavigationTabs({ - isActive={activeTab === '/how-it-works'} - handleClick={() => handleTabClick('/how-it-works')} - /> */} -+ handleTabClick('/swap')} -+ /> - - {isActiveTabs && ( - <> -diff --git a/src/app/components/mint-unmint/components/burn-transaction-screen/burn-transaction-screen.tsx b/src/app/components/mint-unmint/components/burn-transaction-screen/burn-transaction-screen.tsx -index 7515979..6dd46ed 100644 ---- a/src/app/components/mint-unmint/components/burn-transaction-screen/burn-transaction-screen.tsx -+++ b/src/app/components/mint-unmint/components/burn-transaction-screen/burn-transaction-screen.tsx -@@ -42,7 +42,7 @@ export function BurnTokenTransactionForm({ - - const { ethereumNetworkConfiguration } = useContext(EthereumNetworkConfigurationContext); - -- const signer = useEthersSigner(); -+ const { getEthersSigner } = useEthersSigner(); - - const { unmintStep } = useSelector((state: RootState) => state.mintunmint); - const [isSubmitting, setIsSubmitting] = useState(false); -@@ -60,8 +60,11 @@ export function BurnTokenTransactionForm({ - if (currentRisk === 'High') throw new Error('Risk Level is too high'); - const formattedWithdrawAmount = BigInt(shiftValue(withdrawAmount)); - -+ const signer = await getEthersSigner(); -+ if (!signer) throw new Error('No signer available'); -+ - await withdraw( -- ethereumNetworkConfiguration.dlcManagerContract.connect(signer!), -+ ethereumNetworkConfiguration.dlcManagerContract.connect(signer), - currentVault.uuid, - formattedWithdrawAmount - ); -diff --git a/src/app/components/mint-unmint/components/setup-vault-screen/setup-vault-screen.tsx b/src/app/components/mint-unmint/components/setup-vault-screen/setup-vault-screen.tsx -index 43121e4..13dc3ce 100644 ---- a/src/app/components/mint-unmint/components/setup-vault-screen/setup-vault-screen.tsx -+++ b/src/app/components/mint-unmint/components/setup-vault-screen/setup-vault-screen.tsx -@@ -24,7 +24,7 @@ export function SetupVaultScreen(): React.JSX.Element { - const { ethereumNetworkConfiguration } = useContext(EthereumNetworkConfigurationContext); - const { rippleNetworkConfiguration } = useContext(RippleNetworkConfigurationContext); - -- const signer = useEthersSigner(); -+ const { getEthersSigner } = useEthersSigner(); - - const [isSubmitting, setIsSubmitting] = useState(false); - -@@ -40,7 +40,7 @@ export function SetupVaultScreen(): React.JSX.Element { - ); - break; - case NetworkType.EVM: -- await setupVault(ethereumNetworkConfiguration.dlcManagerContract.connect(signer!)); -+ await setupVault(ethereumNetworkConfiguration.dlcManagerContract.connect()); - break; - default: - throw new Error('Unsupported Network Type'); -diff --git a/src/app/components/swap/components/swap-amount-card.tsx b/src/app/components/swap/components/swap-amount-card.tsx -new file mode 100644 -index 0000000..c6164fc ---- /dev/null -+++ b/src/app/components/swap/components/swap-amount-card.tsx -@@ -0,0 +1,96 @@ -+import { HStack, Input, Text, VStack } from '@chakra-ui/react'; -+import { Asset } from '@gardenfi/orderbook'; -+ -+import { SwapTokenLabel } from './swap-token-label'; -+ -+interface SwapAmountCardProps { -+ direction: string; -+ asset: Asset; -+ amount?: string; -+ amountInUSD?: string; -+ setAmount?: (amount: string) => void; -+ balance?: number; -+ transactionGasFee?: number; -+} -+ -+const assetDetails = { -+ iBTC: { -+ assetColor: 'purple.01', -+ assetSymbol: 'iBTC', -+ assetLogo: '/images/logos/ibtc-logo.svg', -+ }, -+ BTC: { -+ assetColor: 'orange.01', -+ assetSymbol: 'BTC', -+ assetLogo: '/images/logos/bitcoin-logo.svg', -+ }, -+}; -+ -+export function SwapAmountCard({ -+ direction, -+ amount, -+ asset, -+ amountInUSD, -+ setAmount, -+}: SwapAmountCardProps): React.JSX.Element | null { -+ const isBTC = asset.symbol === 'BTC'; -+ const { assetColor, assetSymbol, assetLogo } = assetDetails[isBTC ? 'BTC' : 'iBTC']; -+ -+ return ( -+ -+ -+ {direction} -+ -+ -+ -+ {direction === 'From' ? ( -+ setAmount?.(e.target.value)} -+ borderColor={'white.01'} -+ color={'white.01'} -+ focusBorderColor={'rgba(50, 201, 247, 1)'} // accent.lightBlue.01 -+ /> -+ ) : ( -+ -+ {amount} -+ -+ )} -+ -+ -+ -+ -+ {amountInUSD} USD -+ -+ -+ -+ -+ ); -+} -diff --git a/src/app/components/swap/components/swap-button.tsx b/src/app/components/swap/components/swap-button.tsx -new file mode 100644 -index 0000000..8a09bda ---- /dev/null -+++ b/src/app/components/swap/components/swap-button.tsx -@@ -0,0 +1,21 @@ -+import React from 'react'; -+ -+import { Button } from '@chakra-ui/react'; -+ -+interface SwapButtonProps { -+ isDisabled?: boolean; -+ onClick: () => void; -+} -+ -+export function SwapButton({ onClick, isDisabled }: SwapButtonProps): React.JSX.Element { -+ return ( -+ -+ ); -+} -diff --git a/src/app/components/swap/components/swap-extra-details-card.tsx b/src/app/components/swap/components/swap-extra-details-card.tsx -new file mode 100644 -index 0000000..03fbd7c ---- /dev/null -+++ b/src/app/components/swap/components/swap-extra-details-card.tsx -@@ -0,0 +1,47 @@ -+// import { HStack, Text, VStack } from '@chakra-ui/react'; -+ -+// interface SwapExtraDetailsCardProps { -+// gasFee: number; -+// } -+ -+// export function SwapExtraDetailsCard({ gasFee }: SwapExtraDetailsCardProps): React.JSX.Element { -+// return ( -+// -+// -+// -+// Gas Fee -+// -+// -+// {gasFee} -+// -+// -+// -+// -+// Rate -+// -+// -+// 1 BTC = 1 dlcBTC -+// -+// -+// -+// -+// Slippage Tolerance -+// -+// -+// Auto -+// -+// -+// -+// ); -+// } -+ -+// TODO: Add back this component -diff --git a/src/app/components/swap/components/swap-header.tsx b/src/app/components/swap/components/swap-header.tsx -new file mode 100644 -index 0000000..90f91a5 ---- /dev/null -+++ b/src/app/components/swap/components/swap-header.tsx -@@ -0,0 +1,17 @@ -+import { HStack, Text } from '@chakra-ui/react'; -+ -+import { SwapNetworksMenu } from './swap-networks-menu'; -+ -+export function SwapHeader(): React.JSX.Element { -+ return ( -+ -+ -+ Swap -+ -+ -+ {/* {}} /> */} -+ {/* {}} /> */} -+ -+ -+ ); -+} -diff --git a/src/app/components/swap/components/swap-networks-menu.tsx b/src/app/components/swap/components/swap-networks-menu.tsx -new file mode 100644 -index 0000000..1127f28 ---- /dev/null -+++ b/src/app/components/swap/components/swap-networks-menu.tsx -@@ -0,0 +1,75 @@ -+import { Image, Menu, MenuButton, MenuItem, MenuList } from '@chakra-ui/react'; -+import { EthereumNetworkID } from 'dlc-btc-lib/models'; -+import { useAccount, useConfig, useSwitchChain } from 'wagmi'; -+ -+interface SwapNetworksMenuProps { -+ isMenuOpen: boolean; -+ setIsMenuOpen: (isMenuOpen: boolean) => void; -+} -+ -+const getNetworkLogo = (ethereumNetworkId?: EthereumNetworkID) => { -+ switch (ethereumNetworkId) { -+ case EthereumNetworkID.Arbitrum: -+ case EthereumNetworkID.ArbitrumSepolia: -+ return './images/logos/arbitrum-token.svg'; -+ case EthereumNetworkID.Sepolia: -+ case EthereumNetworkID.Mainnet: -+ return './images/logos/eth-token.svg'; -+ case EthereumNetworkID.BaseSepolia: -+ case EthereumNetworkID.Base: -+ return './images/logos/base-token.svg'; -+ default: -+ return './images/logos/arbitrum-token.svg'; -+ } -+}; -+ -+export function SwapNetworksMenu({ -+ isMenuOpen, -+ setIsMenuOpen, -+}: SwapNetworksMenuProps): React.JSX.Element | null { -+ const { chains } = useConfig(); -+ const { chain, isConnected } = useAccount(); -+ const { switchChain } = useSwitchChain(); -+ //TODO: maybe add the network logo to the setstate? -+ -+ if (!isConnected) { -+ return null; -+ } -+ -+ return ( -+ -+ setIsMenuOpen(!isMenuOpen)} -+ h={'50px'} -+ w={'50px'} -+ bg={'background.content.02'} -+ border={'none'} -+ boxShadow={'2px 2px 4px rgba(0, 0, 0, 0.5)'} -+ > -+ {'Selected -+ -+ -+ {chains.map(ethereumNetwork => { -+ return ( -+ { -+ switchChain({ chainId: ethereumNetwork.id }); -+ setIsMenuOpen(!isMenuOpen); -+ getNetworkLogo(chain?.id.toString() as EthereumNetworkID); -+ }} -+ > -+ {ethereumNetwork.name} -+ -+ ); -+ })} -+ -+ -+ ); -+} -diff --git a/src/app/components/swap/components/swap-settings-menu.tsx b/src/app/components/swap/components/swap-settings-menu.tsx -new file mode 100644 -index 0000000..0ac41e3 ---- /dev/null -+++ b/src/app/components/swap/components/swap-settings-menu.tsx -@@ -0,0 +1,31 @@ -+// import { Image, Menu, MenuButton, MenuItem, MenuList } from '@chakra-ui/react'; -+ -+// interface SwapSettingsMenuProps { -+// isMenuOpen: boolean; -+// setIsMenuOpen: (isMenuOpen: boolean) => void; -+// } -+ -+// export function SwapSettingsMenu({ -+// isMenuOpen, -+// setIsMenuOpen, -+// }: SwapSettingsMenuProps): React.JSX.Element { -+// return ( -+// -+// setIsMenuOpen(!isMenuOpen)} -+// h={'50px'} -+// w={'50px'} -+// bg={'background.content.02'} -+// border={'none'} -+// boxShadow={'2px 2px 4px rgba(0, 0, 0, 0.5)'} -+// > -+// {'Gear -+// -+// -+// Profile Settings -+// -+// -+// ); -+// } -+ -+// TODO: Add back this component -diff --git a/src/app/components/swap/components/swap-token-label.tsx b/src/app/components/swap/components/swap-token-label.tsx -new file mode 100644 -index 0000000..8fc058a ---- /dev/null -+++ b/src/app/components/swap/components/swap-token-label.tsx -@@ -0,0 +1,25 @@ -+import { HStack, Image, Text } from '@chakra-ui/react'; -+ -+interface SwapTokenLabelProps { -+ tokenImage: string; -+ tokenDisplay: string; -+} -+ -+export function SwapTokenLabel({ -+ tokenImage, -+ tokenDisplay, -+}: SwapTokenLabelProps): React.JSX.Element { -+ return ( -+ -+ {tokenDisplay} -+ -+ {tokenDisplay} -+ -+ -+ ); -+} -diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.copy-button.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.copy-button.tsx -new file mode 100644 -index 0000000..d1ad84c ---- /dev/null -+++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.copy-button.tsx -@@ -0,0 +1,61 @@ -+import { useState } from 'react'; -+ -+import { CheckCircleIcon, CopyIcon } from '@chakra-ui/icons'; -+import { HStack, IconButton, PlacementWithLogical, Tooltip } from '@chakra-ui/react'; -+ -+interface CopyButtonProps { -+ textToCopy: string; -+ placement?: PlacementWithLogical; -+} -+ -+export function CopyButton({ textToCopy, placement = 'left' }: CopyButtonProps): React.JSX.Element { -+ const [copied, setCopied] = useState(false); -+ -+ const handleCopy = async () => { -+ try { -+ await navigator.clipboard.writeText(textToCopy); -+ setCopied(true); -+ setTimeout(() => setCopied(false), 2000); -+ } catch (error: any) { -+ // eslint-disable-next-line no-console -+ console.error('Failed to copy to Clipboard', error); -+ } -+ }; -+ -+ return ( -+ -+ -+ -+ ) : ( -+ -+ ) -+ } -+ /> -+ -+ -+ ); -+} -diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.asset-value.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.asset-value.tsx -new file mode 100644 -index 0000000..8cedca4 ---- /dev/null -+++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.asset-value.tsx -@@ -0,0 +1,20 @@ -+import { Text, VStack } from '@chakra-ui/react'; -+ -+interface AssetValueProps { -+ label: string; -+ amount: string; -+ asset: string; -+} -+ -+export function OrderAmount({ label, amount, asset }: AssetValueProps): React.JSX.Element { -+ return ( -+ -+ -+ {label} -+ -+ -+ {amount} {asset} -+ -+ -+ ); -+} -diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/components/swap.orderbook.order.details.field.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/components/swap.orderbook.order.details.field.tsx -new file mode 100644 -index 0000000..77278d2 ---- /dev/null -+++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/components/swap.orderbook.order.details.field.tsx -@@ -0,0 +1,33 @@ -+// components/TransactionField.tsx -+import { HStack, Text } from '@chakra-ui/react'; -+import { truncateAddress } from 'dlc-btc-lib/utilities'; -+ -+import { CopyButton } from '../../../../../../swap.orderbook.copy-button'; -+ -+interface DetailsFieldProps { -+ label: string; -+ value: string; -+ shouldTruncate?: boolean; -+ includeCopyButton?: boolean; -+} -+ -+export function DetailsField({ -+ label, -+ value, -+ shouldTruncate = true, -+ includeCopyButton = true, -+}: DetailsFieldProps): React.JSX.Element { -+ return ( -+ -+ -+ {label} -+ -+ -+ -+ {shouldTruncate ? truncateAddress(value) : value} -+ -+ {includeCopyButton && } -+ -+ -+ ); -+} -diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/swap.orderbook.order.details.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/swap.orderbook.order.details.tsx -new file mode 100644 -index 0000000..d49f70a ---- /dev/null -+++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/components/swap.orderbook.order.details/swap.orderbook.order.details.tsx -@@ -0,0 +1,43 @@ -+import { VStack } from '@chakra-ui/react'; -+import { MatchedOrder } from '@gardenfi/orderbook'; -+ -+import { DetailsField } from './components/swap.orderbook.order.details.field'; -+ -+interface OrderDetailsProps { -+ order: MatchedOrder; -+} -+ -+export function OrderDetails({ order }: OrderDetailsProps): React.JSX.Element { -+ const { -+ destination_swap: { redeemer: to, redeem_tx_hash }, -+ created_at, -+ source_swap: { initiator: from, initiate_tx_hash, refund_tx_hash }, -+ } = order; -+ -+ const creationDate = new Date(created_at).toLocaleDateString('en-US'); -+ -+ return ( -+ -+ -+ -+ -+ {initiate_tx_hash && } -+ {redeem_tx_hash && } -+ {refund_tx_hash && } -+ -+ ); -+} -diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/swap.orderbook.order.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/swap.orderbook.order.tsx -new file mode 100644 -index 0000000..8c0b5cb ---- /dev/null -+++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/components/swap.orderbook.order/swap.orderbook.order.tsx -@@ -0,0 +1,170 @@ -+import React, { useState } from 'react'; -+ -+import { Button, Collapse, HStack, Text, VStack } from '@chakra-ui/react'; -+import { OrderStatus } from '@gardenfi/core'; -+import { MatchedOrder } from '@gardenfi/orderbook'; -+import { useGarden } from '@gardenfi/react-hooks'; -+import { useOrderStatus } from '@hooks/use-swap-order-status'; -+import Decimal from 'decimal.js'; -+import { truncateAddress, unshiftValue } from 'dlc-btc-lib/utilities'; -+ -+import { StatusLabel } from '@shared/constants/swap.constants'; -+ -+import { CopyButton } from '../../../swap.orderbook.copy-button'; -+import { OrderAmount } from './components/swap.orderbook.order.asset-value'; -+import { OrderDetails } from './components/swap.orderbook.order.details/swap.orderbook.order.details'; -+ -+function StatusButton({ -+ isInitiating, -+ onInitiate, -+}: { -+ isInitiating: boolean; -+ onInitiate: () => void; -+}): React.JSX.Element { -+ return ( -+ -+ ); -+} -+ -+const getStatusLabel = (status: OrderStatus): StatusLabel => { -+ switch (status) { -+ case OrderStatus.Redeemed: -+ case OrderStatus.Refunded: -+ case OrderStatus.CounterPartyRedeemed: -+ case OrderStatus.CounterPartyRedeemDetected: -+ return StatusLabel.Completed; -+ case OrderStatus.Matched: -+ return StatusLabel.Initiate; -+ case OrderStatus.DeadLineExceeded: -+ return StatusLabel.Expired; -+ default: -+ return StatusLabel.Pending; -+ } -+}; -+ -+interface OrderProps { -+ order: MatchedOrder; -+} -+ -+export function Order({ order }: OrderProps): React.JSX.Element { -+ const orderStatus = useOrderStatus(order); -+ -+ const [modelIsVisible, setModelIsVisible] = useState(false); -+ const [isInitiating, setIsInitiating] = useState(false); -+ const { evmInitiate } = useGarden(); -+ -+ const { source_swap, destination_swap } = order; -+ const sourceAmount = unshiftValue(new Decimal(source_swap.amount).toNumber()).toString(); -+ const destinationAmount = unshiftValue( -+ new Decimal(destination_swap.amount).toNumber() -+ ).toString(); -+ const userFriendlyStatus = orderStatus && getStatusLabel(orderStatus); -+ -+ const isFromBTC = order.source_swap.chain.toLowerCase().includes('bitcoin'); -+ const fromLabel = isFromBTC ? 'BTC' : 'iBTC'; -+ const toLabel = isFromBTC ? 'iBTC' : 'BTC'; -+ -+ const handleInitiate = async () => { -+ if (!evmInitiate) return; -+ setIsInitiating(true); -+ try { -+ const res = await evmInitiate(order); -+ if (!res.ok) { -+ throw new Error('Failed to initiate'); -+ } -+ } catch (error) { -+ alert('Failed to initiate'); -+ } finally { -+ setIsInitiating(false); -+ } -+ }; -+ -+ return ( -+ -+ -+ -+ Order ID: {truncateAddress(source_swap.swap_id)} -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Status -+ -+ {userFriendlyStatus === StatusLabel.Initiate && !isFromBTC ? ( -+ -+ ) : ( -+ -+ {userFriendlyStatus} -+ -+ )} -+ -+ -+ -+ -+ -+ -+ -+ Please initiate the swap by sending the BTC to the address below. -+ -+ -+ -+ {truncateAddress(source_swap.swap_id)} -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ ); -+} -diff --git a/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/swap.orderbook.orderlist.tsx b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/swap.orderbook.orderlist.tsx -new file mode 100644 -index 0000000..c63dd13 ---- /dev/null -+++ b/src/app/components/swap/components/swap.orderbook/components/swap.orderbook.orderlist/swap.orderbook.orderlist.tsx -@@ -0,0 +1,40 @@ -+import { VStack } from '@chakra-ui/react'; -+import { FadeLayer } from '@components/fade-layer/fade-layer'; -+import { MatchedOrder } from '@gardenfi/orderbook'; -+import { useOrderStatus } from '@hooks/use-swap-order-status'; -+import { scrollBarCSS } from '@styles/css-styles'; -+ -+import { Order } from './components/swap.orderbook.order/swap.orderbook.order'; -+ -+interface OrderListProps { -+ orders: MatchedOrder[]; -+} -+ -+export function OrderList({ orders }: OrderListProps): React.JSX.Element { -+ return ( -+ -+ -+ -+ {orders.map(order => ( -+ -+ ))} -+ -+ -+ -+ ); -+} -diff --git a/src/app/components/swap/components/swap.orderbook/swap.orderbook.tsx b/src/app/components/swap/components/swap.orderbook/swap.orderbook.tsx -new file mode 100644 -index 0000000..cebbc38 ---- /dev/null -+++ b/src/app/components/swap/components/swap.orderbook/swap.orderbook.tsx -@@ -0,0 +1,30 @@ -+import { useCallback, useEffect, useState } from 'react'; -+ -+import { MatchedOrder } from '@gardenfi/orderbook'; -+import { useGarden } from '@gardenfi/react-hooks'; -+ -+import { OrderList } from './components/swap.orderbook.orderlist/swap.orderbook.orderlist'; -+ -+const POLLING_INTERVAL = 10000; -+const ORDERS_PER_PAGE = 4; -+ -+export function Orderbook(): React.JSX.Element { -+ const { orderBook } = useGarden(); -+ const [orders, setOrders] = useState([]); -+ -+ const fetchOrders = useCallback(async () => { -+ if (!orderBook) return; -+ const res = await orderBook.fetchOrders(true, false, { -+ per_page: ORDERS_PER_PAGE, -+ }); -+ setOrders(res.val.data); -+ }, [orderBook]); -+ -+ useEffect(() => { -+ void fetchOrders(); -+ const intervalId = setInterval(fetchOrders, POLLING_INTERVAL); -+ return () => clearInterval(intervalId); -+ }, [fetchOrders]); -+ -+ return ; -+} -diff --git a/src/app/components/swap/pages/swap-page.tsx b/src/app/components/swap/pages/swap-page.tsx -new file mode 100644 -index 0000000..c123435 ---- /dev/null -+++ b/src/app/components/swap/pages/swap-page.tsx -@@ -0,0 +1,18 @@ -+import { HStack } from '@chakra-ui/react'; -+import { PageLayout } from '@pages/components/page.layout'; -+ -+import { breakpoints } from '@shared/utils'; -+ -+import { Orderbook } from '../components/swap.orderbook/swap.orderbook'; -+import { Swap } from '../swap'; -+ -+export function SwapPage(): React.JSX.Element { -+ return ( -+ -+ -+ -+ -+ -+ -+ ); -+} -diff --git a/src/app/components/swap/swap.tsx b/src/app/components/swap/swap.tsx -new file mode 100644 -index 0000000..baa9a32 ---- /dev/null -+++ b/src/app/components/swap/swap.tsx -@@ -0,0 +1,177 @@ -+import { CheckCircleIcon, ChevronDownIcon, ChevronUpIcon } from '@chakra-ui/icons'; -+import { Button, HStack, Input, Spinner, Text, VStack } from '@chakra-ui/react'; -+import { useBitcoinPrice } from '@hooks/use-bitcoin-price'; -+import { useSwap } from '@hooks/use-swap'; -+import Decimal from 'decimal.js'; -+import { truncateAddress } from 'dlc-btc-lib/utilities'; -+ -+import { BITCOIN_NETWORK_MAP } from '@shared/constants/bitcoin.constants'; -+ -+import { SwapAmountCard } from './components/swap-amount-card'; -+import { SwapButton } from './components/swap-button'; -+import { SwapHeader } from './components/swap-header'; -+ -+const assetValueInUSD = (assetAmount: string, currentBitcoinPrice: number): string => { -+ try { -+ return `$ ${new Decimal(assetAmount).mul(currentBitcoinPrice).toNumber().toLocaleString('en-US')}`; -+ } catch (error) { -+ return '0'; -+ } -+}; -+ -+export function Swap(): React.JSX.Element { -+ const { -+ inputToken, -+ setTokens, -+ inputAmount, -+ validateAndSetInputAmount, -+ outputToken, -+ outputAmount, -+ handleSwap, -+ bitcoinAddress, -+ setBitcoinAddress, -+ isQuoteLoading, -+ quoteError, -+ swapError, -+ isCompleted, -+ } = useSwap(BITCOIN_NETWORK_MAP[appConfiguration.bitcoinNetwork]); -+ -+ const { bitcoinPrice } = useBitcoinPrice(); -+ -+ return ( -+ -+ -+ -+ {outputToken.symbol === 'BTC' ? ( -+ <> -+ -+ -+ -+ -+ -+ -+ ) : ( -+ <> -+ -+ -+ -+ -+ -+ -+ )} -+ {isQuoteLoading && ( -+ -+ -+ Loading Quote -+ -+ )} -+ {quoteError || -+ (swapError && ( -+ -+ {`Error: ${quoteError ? quoteError : swapError}`} -+ -+ ))} -+ {isCompleted && ( -+ -+ {`Swap Request Sent, Order ID: ${truncateAddress('asds')}`} -+ -+ -+ )} -+ -+ -+ -+ -+ {`${outputToken.symbol === 'BTC' ? 'Receive' : 'Refund'}`} Address -+ -+ setBitcoinAddress(e.target.value)} -+ borderColor={'white.03'} -+ color={'white'} -+ focusBorderColor={'rgba(255,255,255,1)'} -+ isInvalid={!bitcoinAddress} -+ placeholder="Enter Bitcoin Address" -+ /> -+ -+ {/* */} -+ {isQuoteLoading || -+ (quoteError === null && ( -+ handleSwap()} /> -+ ))} -+ -+ ); -+} -diff --git a/src/app/functions/configuration.functions.ts b/src/app/functions/configuration.functions.ts -index 263dc1f..1c11b51 100644 ---- a/src/app/functions/configuration.functions.ts -+++ b/src/app/functions/configuration.functions.ts -@@ -4,7 +4,7 @@ import { RippleNetwork, RippleNetworkID } from '@models/ripple.models'; - import { supportedEthereumNetworks } from 'dlc-btc-lib/constants'; - import { getEthereumContract, getProvider } from 'dlc-btc-lib/ethereum-functions'; - import { EthereumDeploymentPlan, EthereumNetwork, EthereumNetworkID } from 'dlc-btc-lib/models'; --import { Contract, providers } from 'ethers'; -+import { BrowserProvider, Contract, JsonRpcSigner } from 'ethers'; - import { filter, fromPairs, includes, map, pipe } from 'ramda'; - import { Account, Chain, Client, HttpTransport, Transport, http } from 'viem'; - import { Config, createConfig, useConnectorClient } from 'wagmi'; -@@ -84,7 +84,7 @@ export function getWagmiConfiguration(ethereumNetworkIDs: EthereumNetworkID[]): - }); - } - --function clientToSigner(client: Client): providers.JsonRpcSigner { -+async function clientToSigner(client: Client): Promise { - const { account, chain, transport } = client; - - const network = { -@@ -92,12 +92,20 @@ function clientToSigner(client: Client): providers.Js - name: chain.name, - ensAddress: chain.contracts?.ensRegistry?.address, - }; -- return new providers.Web3Provider(transport, network).getSigner(account.address); -+ return await new BrowserProvider(transport, network).getSigner(account.address); - } - --export function useEthersSigner({ chainId }: { chainId?: number } = {}): -- | providers.JsonRpcSigner -- | undefined { -+export function useEthersSigner({ chainId }: { chainId?: number } = {}): { -+ getEthersSigner: () => Promise; -+} { - const { data: client } = useConnectorClient({ chainId }); -- return useMemo(() => (client ? clientToSigner(client) : undefined), [client]); -+ -+ async function getEthersSigner() { -+ if (!client) return undefined; -+ return await clientToSigner(client); -+ } -+ -+ return { -+ getEthersSigner, -+ }; - } -diff --git a/src/app/hooks/use-swap-order-status.ts b/src/app/hooks/use-swap-order-status.ts -new file mode 100644 -index 0000000..a55775f ---- /dev/null -+++ b/src/app/hooks/use-swap-order-status.ts -@@ -0,0 +1,84 @@ -+import { useEffect, useState } from 'react'; -+ -+import { OrderStatus, ParseOrderStatus } from '@gardenfi/core'; -+import { Chain, MatchedOrder } from '@gardenfi/orderbook'; -+import { GARDEN_CONFIG } from '@gardenfi/react-hooks'; -+ -+async function fetchJson(url: string, options?: RequestInit): Promise { -+ const response = await fetch(url, { -+ headers: { 'Content-Type': 'application/json' }, -+ ...options, -+ }); -+ -+ if (!response.ok) { -+ throw new Error(`HTTP error! status: ${response.status}`); -+ } -+ -+ return response.json() as Promise; -+} -+ -+const createAPI = (isTestnet: boolean) => { -+ const apiConfiguration = isTestnet ? GARDEN_CONFIG.testnet : GARDEN_CONFIG.mainnet; -+ -+ if (!apiConfiguration) { -+ throw new Error('Invalid Configuration'); -+ } -+ -+ Object.entries(apiConfiguration).forEach(([key, value]) => { -+ if (!value) throw new Error(`Missing ${key} in config`); -+ }); -+ -+ return { -+ home: 'https://garden.finance', -+ data: { -+ data: apiConfiguration, -+ assets: `${apiConfiguration.blockNumberFetcherUrl}/assets`, -+ blockNumbers: (network: 'mainnet' | 'testnet') => -+ `${apiConfiguration.blockNumberFetcherUrl}/blocknumber/${network}`, -+ }, -+ orderbook: apiConfiguration.orderBookUrl, -+ quote: apiConfiguration.quoteUrl, -+ mempool: { -+ testnet: 'https://mempool.space/testnet4/api', -+ mainnet: 'https://mempool.space/api', -+ }, -+ }; -+}; -+ -+export const useOrderStatus = (order: MatchedOrder) => { -+ const [blockNumbers, setBlockNumbers] = useState | null>(null); -+ const [status, setStatus] = useState(); -+ -+ const isTestnet = ['testnet', 'devnet', 'localhost'].includes(appConfiguration.appEnvironment); -+ -+ useEffect(() => { -+ const fetchBlockNumbers = async () => { -+ try { -+ const data = await fetchJson>( -+ createAPI(isTestnet).data.blockNumbers('testnet') -+ ); -+ setBlockNumbers(data); -+ } catch (error) { -+ // eslint-disable-next-line no-console -+ console.error('Failed to fetch Block Numbers:', error); -+ } -+ }; -+ -+ void fetchBlockNumbers(); -+ }, []); -+ -+ useEffect(() => { -+ if (!blockNumbers) return; -+ -+ const { source_swap, destination_swap } = order; -+ const sourceBlockNumber = blockNumbers[source_swap.chain]; -+ const destinationBlockNumber = blockNumbers[destination_swap.chain]; -+ -+ if (!sourceBlockNumber || !destinationBlockNumber) return; -+ -+ const orderStatus = ParseOrderStatus(order, sourceBlockNumber, destinationBlockNumber); -+ setStatus(orderStatus); -+ }, [blockNumbers, order]); -+ -+ return status; -+}; -diff --git a/src/app/hooks/use-swap.ts b/src/app/hooks/use-swap.ts -new file mode 100644 -index 0000000..2d5d535 ---- /dev/null -+++ b/src/app/hooks/use-swap.ts -@@ -0,0 +1,256 @@ -+import { useEffect, useState } from 'react'; -+ -+import { SwapParams } from '@gardenfi/core'; -+import { Asset, SupportedAssets } from '@gardenfi/orderbook'; -+import { useGarden } from '@gardenfi/react-hooks'; -+import Decimal from 'decimal.js'; -+import { isBitcoinAddress } from 'dlc-btc-lib/bitcoin-functions'; -+import { Network } from 'dlc-btc-lib/models'; -+import { shiftValue, unshiftValue } from 'dlc-btc-lib/utilities'; -+ -+import { BITCOIN_NETWORK_MAP } from '@shared/constants/bitcoin.constants'; -+ -+interface QuoteParams { -+ fromAsset: Asset; -+ toAsset: Asset; -+ amount: number; -+ isExactOut?: boolean; -+} -+ -+enum SupportedEVMNetworks { -+ ArbitrumSepolia = '421614', -+ BaseSepolia = '84532', -+} -+ -+const SUPPORTED_ASSETS_BTC_MAP = { -+ mainnet: SupportedAssets.mainnet.bitcoin_primary, -+ testnet: SupportedAssets.testnet.bitcoin_testnet_primary, -+ devnet: SupportedAssets.testnet.bitcoin_testnet_primary, -+ localhost: SupportedAssets.testnet.bitcoin_testnet_primary, -+}; -+ -+const SUPPORTED_ASSETS_IBTC_MAP = { -+ [SupportedEVMNetworks.ArbitrumSepolia]: -+ SupportedAssets.testnet.arbitrum_sepolia_0xdfe6d9363ee96152d39391009a6723819d9e25eb, -+ [SupportedEVMNetworks.BaseSepolia]: -+ SupportedAssets.testnet.base_sepolia_0xbcdad29ac77e5bb27fd528ab0045af630259fe4f, -+}; -+ -+function useDebounce(value: T, delay: number): T { -+ const [debouncedValue, setDebouncedValue] = useState(value); -+ -+ useEffect(() => { -+ const timer = setTimeout(() => { -+ setDebouncedValue(value); -+ }, delay); -+ -+ return () => { -+ clearTimeout(timer); -+ }; -+ }, [value, delay]); -+ -+ return debouncedValue; -+} -+ -+interface UseSwapReturnType { -+ handleSwap: () => void; -+ inputToken: Asset; -+ setTokens: () => void; -+ inputAmount: string; -+ validateAndSetInputAmount: (amount: string) => void; -+ outputToken: Asset; -+ setOutputToken: (token: Asset) => void; -+ outputAmount: string | undefined; -+ bitcoinAddress: string; -+ setBitcoinAddress: (address: string) => void; -+ isQuoteLoading: boolean; -+ quoteError: string | null; -+ swapError: string | null; -+ isCompleted: string | null; -+} -+ -+export function useSwap(_bitcoinNetwork: Network): UseSwapReturnType { -+ const { initializeSecretManager, swapAndInitiate, getQuote } = useGarden(); -+ -+ const [inputToken, setInputToken] = useState( -+ SUPPORTED_ASSETS_IBTC_MAP[SupportedEVMNetworks.ArbitrumSepolia] -+ ); -+ const [inputAmount, setInputAmount] = useState('0.01'); -+ -+ const [outputToken, setOutputToken] = useState( -+ SUPPORTED_ASSETS_BTC_MAP[appConfiguration.appEnvironment] -+ ); -+ const [outputAmount, setOutputAmount] = useState(); -+ -+ const [isQuoteLoading, setIsQuoteLoading] = useState(false); -+ const [quoteError, setQuoteError] = useState(null); -+ -+ const debouncedInputAmount = useDebounce(inputAmount, 500); -+ -+ const [bitcoinAddress, setBitcoinAddress] = useState(''); -+ -+ const [isCompleted, setIsCompleted] = useState(null); -+ const [swapError, setSwapError] = useState(null); -+ -+ function setTokens() { -+ setInputToken(outputToken); -+ setOutputToken(inputToken); -+ } -+ -+ function validateAndSetInputAmount(value: string) { -+ setInputAmount(value); -+ } -+ -+ useEffect(() => { -+ let timeoutId: NodeJS.Timeout; -+ -+ if (isCompleted || swapError) { -+ timeoutId = setTimeout(() => { -+ setIsCompleted(null); -+ setSwapError(null); -+ }, 5000); -+ } -+ -+ return () => { -+ if (timeoutId) { -+ clearTimeout(timeoutId); -+ } -+ }; -+ }, [isCompleted, swapError]); -+ -+ useEffect(() => { -+ const updateQuote = async () => { -+ if (Number(debouncedInputAmount) <= 0) { -+ setOutputAmount('0'); -+ return; -+ } -+ -+ setIsQuoteLoading(true); -+ setQuoteError(null); -+ -+ try { -+ const sendAmount = shiftValue(Number(debouncedInputAmount)); -+ -+ const { amount } = await fetchQuote({ -+ fromAsset: inputToken, -+ toAsset: outputToken, -+ amount: sendAmount, -+ }); -+ -+ setOutputAmount(unshiftValue(new Decimal(amount).toNumber()).toString()); // Assuming 8 decimals for BTC -+ } catch (error) { -+ setQuoteError(error instanceof Error ? error.message : 'Failed to fetch quote'); -+ setOutputAmount('0'); -+ } finally { -+ setIsQuoteLoading(false); -+ } -+ }; -+ -+ void updateQuote(); -+ // eslint-disable-next-line react-hooks/exhaustive-deps -+ }, [debouncedInputAmount, inputToken, outputToken, getQuote]); -+ -+ const initializeSecret = async () => { -+ if (!initializeSecretManager) { -+ throw new Error('Secret Manager initializer not available'); -+ } -+ -+ const response = await initializeSecretManager(); -+ -+ if (!response.ok || !response.val.getMasterPrivKey()) { -+ throw new Error('Failed to initialize Secret Manager'); -+ } -+ -+ return response; -+ }; -+ -+ const fetchQuote = async (quoteParams: QuoteParams) => { -+ if (!getQuote) { -+ throw new Error('Quote service not available'); -+ } -+ -+ const quote = await getQuote(quoteParams); -+ -+ if (quote.error) { -+ throw new Error(quote.error); -+ } -+ -+ const [strategy, amount] = Object.entries(quote.val.quotes)[0]; -+ -+ return { strategy, amount }; -+ }; -+ -+ const executeSwap = async (swapParams: SwapParams) => { -+ if (!swapAndInitiate) { -+ throw new Error('Swap service not available'); -+ } -+ -+ const response = await swapAndInitiate(swapParams); -+ -+ if (response.error) { -+ throw new Error(response.error); -+ } -+ -+ return response; -+ }; -+ -+ const handleSwap = async () => { -+ try { -+ if (!isBitcoinAddress(bitcoinAddress, BITCOIN_NETWORK_MAP[appConfiguration.bitcoinNetwork])) { -+ setSwapError('Invalid Bitcoin Address'); -+ return; -+ } -+ -+ await initializeSecret(); -+ -+ const sendAmount = shiftValue(new Decimal(inputAmount).toNumber()); -+ -+ const { strategy, amount } = await fetchQuote({ -+ fromAsset: inputToken, -+ toAsset: outputToken, -+ amount: sendAmount, -+ }); -+ -+ const swapParams = { -+ fromAsset: inputToken, -+ toAsset: outputToken, -+ sendAmount: sendAmount.toString(), -+ receiveAmount: amount.toString(), -+ additionalData: { -+ strategyId: strategy, -+ btcAddress: bitcoinAddress, -+ }, -+ }; -+ -+ const response = await executeSwap(swapParams); -+ -+ if (response.error) { -+ setSwapError(response.error); -+ return response; -+ } -+ -+ setIsCompleted(response.val.source_swap.swap_id); -+ -+ return response; -+ } catch (error) { -+ setSwapError(error instanceof Error ? error.message : 'Failed to Swap'); -+ } -+ }; -+ -+ return { -+ handleSwap, -+ setTokens, -+ inputToken, -+ inputAmount, -+ validateAndSetInputAmount, -+ setOutputToken, -+ outputToken, -+ outputAmount, -+ bitcoinAddress, -+ setBitcoinAddress, -+ isQuoteLoading, -+ isCompleted, -+ quoteError, -+ swapError, -+ }; -+} -diff --git a/src/shared/constants/swap.constants.ts b/src/shared/constants/swap.constants.ts -new file mode 100644 -index 0000000..4edec05 ---- /dev/null -+++ b/src/shared/constants/swap.constants.ts -@@ -0,0 +1,6 @@ -+export enum StatusLabel { -+ Completed = 'Completed', -+ Pending = 'In Progress', -+ Expired = 'Expired', -+ Initiate = 'Awaiting Initiate', -+} -diff --git a/src/shared/utils.ts b/src/shared/utils.ts -index e7f5233..27a72f4 100644 ---- a/src/shared/utils.ts -+++ b/src/shared/utils.ts -@@ -54,6 +54,8 @@ export function formatEvent(event: DetailedEvent): FormattedEvent { - export function parseAssetAmount(assetAmount: string): Decimal { - const isValidNumber = /^-?\d*\.?\d*$/.test(assetAmount); - -+ console.log('isValidNumber', isValidNumber); -+ - if (isValidNumber) { - try { - return new Decimal(assetAmount); -diff --git a/src/styles/app-theme.ts b/src/styles/app-theme.ts -index db734c9..525c003 100644 ---- a/src/styles/app-theme.ts -+++ b/src/styles/app-theme.ts -@@ -49,6 +49,7 @@ export const appTheme = extendTheme({ - 'background.website.01': 'rgba(0, 0, 0, 1)', - 'background.container.01': 'rgba(23, 24, 29, 1)', - 'background.content.01': 'rgba(51, 51, 51, 1)', -+ 'background.content.02': 'rgba(77, 77, 77, 1)', - 'grey.01': 'rgba(181, 182, 187, 1)', - 'border.lightBlue.01': 'rgba(50, 201, 247,0.75)', - 'border.white.01': 'rgba(255,255,255,0.25)', -diff --git a/vite.config.ts b/vite.config.ts -index 4070689..972271f 100644 ---- a/vite.config.ts -+++ b/vite.config.ts -@@ -80,6 +80,7 @@ export default defineConfig(async ({ mode }) => { - target: 'esnext', - }, - define: { -+ global: 'window', - appConfiguration, - }, - resolve: { -diff --git a/yarn.lock b/yarn.lock -index 135c23f..0f26539 100644 ---- a/yarn.lock -+++ b/yarn.lock -@@ -12,6 +12,11 @@ - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" - integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== - -+"@adraffy/ens-normalize@^1.10.1": -+ version "1.11.0" -+ resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.11.0.tgz#42cc67c5baa407ac25059fcd7d405cc5ecdb0c33" -+ integrity sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg== -+ - "@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" -@@ -201,10 +206,10 @@ - dependencies: - regenerator-runtime "^0.14.0" - --"@babel/runtime@^7.19.4": -- version "7.25.0" -- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.0.tgz#3af9a91c1b739c569d5d80cc917280919c544ecb" -- integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw== -+"@babel/runtime@^7.26.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" - -@@ -292,6 +297,37 @@ - "@noble/hashes" "^1.1.5" - "@noble/secp256k1" "^1.7.1" - -+"@catalogfi/extension@^0.1.1": -+ version "0.1.1" -+ resolved "https://registry.yarnpkg.com/@catalogfi/extension/-/extension-0.1.1.tgz#b07400f2365a32dd13a7cdefe65949e0705a5342" -+ integrity sha512-ny4xiQ95VdjFWDR2T22xLQxUY99yKRD4EOlxZInKCHGB0jnQaUrsj9iKGZ2DRGUGPpH/iDkruoXjibw7s78BIw== -+ -+"@catalogfi/utils@^0.1.10", "@catalogfi/utils@^0.1.11", "@catalogfi/utils@^0.1.6": -+ version "0.1.11" -+ resolved "https://registry.yarnpkg.com/@catalogfi/utils/-/utils-0.1.11.tgz#3ccdba102b88cb036ae0b14f7b300e0fc83c93f6" -+ integrity sha512-+rt2I4W5ip6odg8ZSmoTyCY0GllPzSYqWz8xRyvgN58MVJJMAFjsp4XwyWzkIfKCRKOJve/vjYdZQx92CTO2gw== -+ -+"@catalogfi/wallets@^0.2.51": -+ version "0.2.54" -+ resolved "https://registry.yarnpkg.com/@catalogfi/wallets/-/wallets-0.2.54.tgz#8d5323b381dd70964e2dac45a2d89015a3e3a743" -+ integrity sha512-ffcvXPx/qklyjR8HLr2ni/hZFA8mL+DgQxMmozTRF2UV0ngLx8aURDHN/FHg2vQ6MU5cYLEl3h+H8frPKRfL4w== -+ dependencies: -+ "@catalogfi/extension" "^0.1.1" -+ "@catalogfi/utils" "^0.1.10" -+ "@noble/hashes" "^1.4.0" -+ bip32 "^4.0.0" -+ bip39 "^3.1.0" -+ bitcoinjs-lib "^6.1.5" -+ bufferutil "^4.0.8" -+ dotenv "^16.3.1" -+ ecpair "^2.1.0" -+ tiny-secp256k1 "^2.2.3" -+ typechain "^8.3.2" -+ utf-8-validate "^6.0.3" -+ uuid "^9.0.1" -+ viem "^2.20.1" -+ yup "^1.4.0" -+ - "@chakra-ui/accordion@2.3.1": - version "2.3.1" - resolved "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.3.1.tgz" -@@ -1105,17 +1141,15 @@ - resolved "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.2.0.tgz" - integrity sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ== - --"@coinbase/wallet-sdk@4.0.4": -- version "4.0.4" -- resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-4.0.4.tgz#634cd89bac93eeaf381a1f026476794e53431ed6" -- integrity sha512-74c040CRnGhfRjr3ArnkAgud86erIqdkPHNt5HR1k9u97uTIZCJww9eGYT67Qf7gHPpGS/xW8Be1D4dvRm63FA== -+"@coinbase/wallet-sdk@4.2.3": -+ version "4.2.3" -+ resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-4.2.3.tgz#a30fa0605b24bc42c37f52a62d2442bcbb7734af" -+ integrity sha512-BcyHZ/Ec84z0emORzqdXDv4P0oV+tV3a0OirfA8Ko1JGBIAVvB+hzLvZzCDvnuZx7MTK+Dd8Y9Tjlo446BpCIg== - dependencies: -- buffer "^6.0.3" -+ "@noble/hashes" "^1.4.0" - clsx "^1.2.1" - eventemitter3 "^5.0.1" -- keccak "^3.0.3" -- preact "^10.16.0" -- sha.js "^2.4.11" -+ preact "^10.24.2" - - "@dfns/sdk-browser@^0.5.9": - version "0.5.9" -@@ -1135,6 +1169,11 @@ - cross-fetch "3.1.6" - uuid "9.0.0" - -+"@ecies/ciphers@^0.2.1": -+ version "0.2.2" -+ resolved "https://registry.yarnpkg.com/@ecies/ciphers/-/ciphers-0.2.2.tgz#82a15b10a6e502b63fb30915d944b2eaf3ff17ff" -+ integrity sha512-ylfGR7PyTd+Rm2PqQowG08BCKA22QuX8NzrL+LxAAvazN10DMwdJ2fWwAzRj05FI/M8vNFGm3cv9Wq/GFWCBLg== -+ - "@emotion/babel-plugin@^11.11.0": - version "11.11.0" - resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz" -@@ -1893,6 +1932,58 @@ - resolved "https://registry.npmjs.org/@fontsource/poppins/-/poppins-5.0.12.tgz" - integrity sha512-0qzBxtIJLh82iMJ9pCXKYwGs1zyS+jyUmwVJ59+JdYnEaFVkDsxVOk9yDWfVOs14ALUneodU2m5YSGma6dCYCw== - -+"@gardenfi/core@0.3.0-beta.14", "@gardenfi/core@^0.3.0-beta.14": -+ version "0.3.0-beta.14" -+ resolved "https://registry.yarnpkg.com/@gardenfi/core/-/core-0.3.0-beta.14.tgz#e66599cff3ddb4584648d628dbae02d4aa3836a6" -+ integrity sha512-V73jDvdchN09UqYdcyOCI4s4ekHY94NLoGnxqp2579y6sSYjqJf+5WXyn89Pb7bjrCOpYOfldivWKXYfwfLkWQ== -+ dependencies: -+ "@catalogfi/utils" "^0.1.6" -+ "@catalogfi/wallets" "^0.2.51" -+ "@gardenfi/orderbook" "^0.2.0-beta.41" -+ "@gardenfi/utils" "^0.0.1-beta.19" -+ bignumber.js "^9.1.2" -+ bitcoinjs-lib "^6.1.6" -+ tiny-secp256k1 "^2.2.3" -+ varuint-bitcoin "^1.1.2" -+ viem "^2.21.15" -+ -+"@gardenfi/orderbook@0.2.0-beta.41", "@gardenfi/orderbook@^0.2.0-beta.41": -+ version "0.2.0-beta.41" -+ resolved "https://registry.yarnpkg.com/@gardenfi/orderbook/-/orderbook-0.2.0-beta.41.tgz#a802ddba48023956160fa2d2fda0676c520a5dbb" -+ integrity sha512-I8GisEgUGNX84WKZSKEAqMsSD9wvfY9hzY5iL2V5vc+jqblpc+5Exbk/yVFINI3DoqtuaVb1h/dqTmMFotu0hA== -+ dependencies: -+ "@catalogfi/utils" "^0.1.6" -+ "@gardenfi/utils" "^0.0.1-beta.19" -+ bufferutil "^4.0.8" -+ siwe "^2.1.4" -+ utf-8-validate "^6.0.3" -+ viem "^2.21.15" -+ ws "^8.14.2" -+ -+"@gardenfi/react-hooks@0.0.1-beta.135": -+ version "0.0.1-beta.135" -+ resolved "https://registry.yarnpkg.com/@gardenfi/react-hooks/-/react-hooks-0.0.1-beta.135.tgz#a74d538b455b4a2baff1401eb65c4ea42e194c80" -+ integrity sha512-I4R391jusGV30K8s+6cDgc7xwAcwj1rUeg2Uw3a/N96KjO2f0l+cn8NQZsSIcJMzL4GTgICpQv2Ci/JIe0VdbQ== -+ dependencies: -+ "@catalogfi/utils" "^0.1.6" -+ "@catalogfi/wallets" "^0.2.51" -+ "@gardenfi/core" "^0.3.0-beta.14" -+ "@gardenfi/orderbook" "^0.2.0-beta.41" -+ "@gardenfi/utils" "^0.0.1-beta.19" -+ react "^18.3.1" -+ viem "^2.21.15" -+ wagmi "^2.12.16" -+ -+"@gardenfi/utils@^0.0.1-beta.19": -+ version "0.0.1-beta.19" -+ resolved "https://registry.yarnpkg.com/@gardenfi/utils/-/utils-0.0.1-beta.19.tgz#e74cdc12ff04bed142ebedc32f063daec145ef06" -+ integrity sha512-hgTc3iy2TM7Rr2J7ApM+yzSOSsisHW3T3+PKMWcBZcc4CIwBAquTCRdQNkMKFbawsvB4LMieIiWYWjm+IQqckQ== -+ dependencies: -+ "@catalogfi/utils" "^0.1.11" -+ axios "^1.7.2" -+ jwt-decode "^4.0.0" -+ viem "^2.21.15" -+ - "@gemwallet/api@3.8.0", "@gemwallet/api@^3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@gemwallet/api/-/api-3.8.0.tgz#46bc47789848c7ac9cc620613e0a1757dc8668a1" -@@ -2152,10 +2243,10 @@ - resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-3.1.1.tgz#e89b840a7af8097a8ed4953d8dc8470d1302d3ef" - integrity sha512-ihb3B0T/wJm1eUuArYP4lCTSEoZsClHhuWyfo/kMX3m/odpqNcPfsz5O2A3NT7dXCAgWPGDQGPqygCpgeniKMw== - --"@metamask/sdk-communication-layer@0.27.0": -- version "0.27.0" -- resolved "https://registry.yarnpkg.com/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.27.0.tgz#8d618fadd39f11627d5b3ef1bc72867439e33ff4" -- integrity sha512-G9LCaQzIqp5WmUmvHN6UUdjWrBh67MbRobmbbs5fcc2+9XFhj3vBgtyleUYjun91jSlPHoZeo+f/Pj4/WoPIJg== -+"@metamask/sdk-communication-layer@0.31.0": -+ version "0.31.0" -+ resolved "https://registry.yarnpkg.com/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.31.0.tgz#0acc063b62aa09d044c7aab65801712d760e53b2" -+ integrity sha512-V9CxdzabDPjQVgmKGHsyU3SYt4Af27g+4DbGCx0fLoHqN/i1RBDZqs/LYbJX3ykJCANzE+llz/MolMCMrzM2RA== - dependencies: - bufferutil "^4.0.8" - date-fns "^2.29.3" -@@ -2163,38 +2254,35 @@ - utf-8-validate "^5.0.2" - uuid "^8.3.2" - --"@metamask/sdk-install-modal-web@0.26.5": -- version "0.26.5" -- resolved "https://registry.yarnpkg.com/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.26.5.tgz#b696c78818adaff85d01a4f41fecc8fd2c80bc59" -- integrity sha512-qVA9Nk+NorGx5hXyODy5wskptE8R7RNYTYt49VbQpJogqbbVe1dnJ98+KaA43PBN4XYMCXmcIhULNiEHGsLynA== -+"@metamask/sdk-install-modal-web@0.31.2": -+ version "0.31.2" -+ resolved "https://registry.yarnpkg.com/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.31.2.tgz#bb8c92a6844a632be8525e7bb5a35924a926d6cd" -+ integrity sha512-KPv36kQjmTwErU8g2neuHHSgkD5+1hp4D6ERfk5Kc2r73aOYNCdG9wDGRUmFmcY2MKkeK1EuDyZfJ4FPU30fxQ== - dependencies: -- qr-code-styling "^1.6.0-rc.1" -+ "@paulmillr/qr" "^0.2.1" - --"@metamask/sdk@0.27.0": -- version "0.27.0" -- resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.27.0.tgz#38617985b8305a0f5d482cdd7af8ddec87968bb7" -- integrity sha512-6sMjr/0qR700X1svPGEQ4rBdtccidBLeTC27fYQc7r9ROgSixB1DUUAyu/LoySVqt3Hu/Zm7NnAHXuT228ht7A== -+"@metamask/sdk@0.31.2": -+ version "0.31.2" -+ resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.31.2.tgz#2ec1c1c7cf6a444e65104862e83814a493047d72" -+ integrity sha512-6MWON2g1j7XwAHWam4trusGxeyhQweNLEHPsfuIxSwcsXoEm08Jj80OglJxQI4KwjcDnjSWBkQGG3mmK6ug/cA== - dependencies: -+ "@babel/runtime" "^7.26.0" - "@metamask/onboarding" "^1.0.1" - "@metamask/providers" "16.1.0" -- "@metamask/sdk-communication-layer" "0.27.0" -- "@metamask/sdk-install-modal-web" "0.26.5" -- "@types/dom-screen-wake-lock" "^1.0.0" -+ "@metamask/sdk-communication-layer" "0.31.0" -+ "@metamask/sdk-install-modal-web" "0.31.2" -+ "@paulmillr/qr" "^0.2.1" - bowser "^2.9.0" - cross-fetch "^4.0.0" - debug "^4.3.4" -- eciesjs "^0.3.15" -+ eciesjs "^0.4.11" - eth-rpc-errors "^4.0.3" -- eventemitter2 "^6.4.7" -- i18next "23.11.5" -- i18next-browser-languagedetector "7.1.0" -+ eventemitter2 "^6.4.9" - obj-multiplex "^1.0.0" - pump "^3.0.0" -- qrcode-terminal-nooctal "^0.12.1" -- react-native-webview "^11.26.0" - readable-stream "^3.6.2" -- rollup-plugin-visualizer "^5.9.2" - socket.io-client "^4.5.1" -+ tslib "^2.6.0" - util "^0.12.4" - uuid "^8.3.2" - -@@ -2333,6 +2421,11 @@ - "@netlify/node-cookies" "^0.1.0" - urlpattern-polyfill "8.0.2" - -+"@noble/ciphers@^1.0.0": -+ version "1.1.3" -+ resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.1.3.tgz#eb27085aa7ce94d8c6eaeb64299bab0589920ec1" -+ integrity sha512-Ygv6WnWJHLLiW4fnNDC1z+i13bud+enXOFRBlpxI+NJliPWx5wdR+oWlTjLuBPTqjUjtHXtjkU6w3kuuH6upZA== -+ - "@noble/curves@1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.0.tgz#f05771ef64da724997f69ee1261b2417a49522d6" -@@ -2347,23 +2440,40 @@ - dependencies: - "@noble/hashes" "1.4.0" - --"@noble/curves@^1.0.0", "@noble/curves@~1.6.0": -+"@noble/curves@1.6.0", "@noble/curves@^1.0.0", "@noble/curves@^1.6.0", "@noble/curves@~1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.6.0.tgz#be5296ebcd5a1730fccea4786d420f87abfeb40b" - integrity sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ== - dependencies: - "@noble/hashes" "1.5.0" - -+"@noble/curves@1.7.0", "@noble/curves@~1.7.0": -+ 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.4.0", "@noble/hashes@^1.1.5", "@noble/hashes@^1.2.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0", "@noble/hashes@~1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz" - integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== - --"@noble/hashes@1.5.0", "@noble/hashes@^1.0.0", "@noble/hashes@~1.5.0": -+"@noble/hashes@1.5.0", "@noble/hashes@^1.0.0", "@noble/hashes@^1.5.0", "@noble/hashes@~1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" - integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== - -+"@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.6.1", "@noble/hashes@^1.1.2", "@noble/hashes@~1.6.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.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz" -@@ -2482,6 +2592,11 @@ - "@parcel/watcher-win32-ia32" "2.4.1" - "@parcel/watcher-win32-x64" "2.4.1" - -+"@paulmillr/qr@^0.2.1": -+ version "0.2.1" -+ resolved "https://registry.yarnpkg.com/@paulmillr/qr/-/qr-0.2.1.tgz#76ade7080be4ac4824f638146fd8b6db1805eeca" -+ integrity sha512-IHnV6A+zxU7XwmKFinmYjUcwlyK9+xkG3/s9KcQhI9BjQKycrJ1JRO+FbNYPwZiPKW3je/DR0k7w8/gLa5eaxQ== -+ - "@playwright/test@^1.39.0": - version "1.42.1" - resolved "https://registry.npmjs.org/@playwright/test/-/test-1.42.1.tgz" -@@ -2667,10 +2782,10 @@ - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.2.tgz#851959c4c1c3c6647aba1f388198c8243aed6917" - integrity sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ== - --"@safe-global/safe-apps-provider@0.18.3": -- version "0.18.3" -- resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.3.tgz#805a42e24f5dde803cb96dac251a3c9e256de45b" -- integrity sha512-f/0cNv3S4v7p8rowAjj0hDCg8Q8P/wBjp5twkNWeBdvd0RDr7BuRBPPk74LCqmjQ82P+1ltLlkmVFSmxTIT7XQ== -+"@safe-global/safe-apps-provider@0.18.5": -+ version "0.18.5" -+ resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.5.tgz#745a932bda3739a8a298ae44ec6c465f6c4773b7" -+ integrity sha512-9v9wjBi3TwLsEJ3C2ujYoexp3pFJ0omDLH/GX91e2QB+uwCKTBYyhxFSrTQ9qzoyQd+bfsk4gjOGW87QcJhf7g== - dependencies: - "@safe-global/safe-apps-sdk" "^9.1.0" - events "^3.3.0" -@@ -2708,6 +2823,11 @@ - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.9.tgz#e5e142fbbfe251091f9c5f1dd4c834ac04c3dbd1" - integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg== - -+"@scure/base@~1.2.1": -+ version "1.2.1" -+ resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.1.tgz#dd0b2a533063ca612c17aa9ad26424a2ff5aa865" -+ integrity sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ== -+ - "@scure/bip32@1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67" -@@ -2717,7 +2837,7 @@ - "@noble/hashes" "~1.4.0" - "@scure/base" "~1.1.6" - --"@scure/bip32@^1.3.1": -+"@scure/bip32@1.5.0", "@scure/bip32@^1.3.1", "@scure/bip32@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.5.0.tgz#dd4a2e1b8a9da60e012e776d954c4186db6328e6" - integrity sha512-8EnFYkqEQdnkuGBVpCzKxyIwDCBLDVj3oiX0EKUFre/tOjL/Hqba1D6n/8RcmaQy4f95qQFrO2A8Sr6ybh4NRw== -@@ -2726,6 +2846,15 @@ - "@noble/hashes" "~1.5.0" - "@scure/base" "~1.1.7" - -+"@scure/bip32@1.6.0": -+ version "1.6.0" -+ resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.6.0.tgz#6dbc6b4af7c9101b351f41231a879d8da47e0891" -+ integrity sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA== -+ dependencies: -+ "@noble/curves" "~1.7.0" -+ "@noble/hashes" "~1.6.0" -+ "@scure/base" "~1.2.1" -+ - "@scure/bip39@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.3.0.tgz#0f258c16823ddd00739461ac31398b4e7d6a18c3" -@@ -2734,7 +2863,7 @@ - "@noble/hashes" "~1.4.0" - "@scure/base" "~1.1.6" - --"@scure/bip39@^1.2.1": -+"@scure/bip39@1.4.0", "@scure/bip39@^1.2.1", "@scure/bip39@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.4.0.tgz#664d4f851564e2e1d4bffa0339f9546ea55960a6" - integrity sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw== -@@ -2742,6 +2871,14 @@ - "@noble/hashes" "~1.5.0" - "@scure/base" "~1.1.8" - -+"@scure/bip39@1.5.0": -+ version "1.5.0" -+ resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.0.tgz#c8f9533dbd787641b047984356531d84485f19be" -+ integrity sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A== -+ dependencies: -+ "@noble/hashes" "~1.6.0" -+ "@scure/base" "~1.2.1" -+ - "@scure/btc-signer@1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@scure/btc-signer/-/btc-signer-1.3.2.tgz#56cf02a2e318097b1e4f531fac8ef114bdf4ddc8" -@@ -2762,6 +2899,16 @@ - resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" - integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== - -+"@spruceid/siwe-parser@^2.1.2": -+ version "2.1.2" -+ resolved "https://registry.yarnpkg.com/@spruceid/siwe-parser/-/siwe-parser-2.1.2.tgz#3e13e7d3ac0bfdaf109a07342590eb21daee2fc3" -+ integrity sha512-d/r3S1LwJyMaRAKQ0awmo9whfXeE88Qt00vRj91q5uv5ATtWIQEGJ67Yr5eSZw5zp1/fZCXZYuEckt8lSkereQ== -+ dependencies: -+ "@noble/hashes" "^1.1.2" -+ apg-js "^4.3.0" -+ uri-js "^4.4.1" -+ valid-url "^1.0.9" -+ - "@stablelib/aead@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" -@@ -3225,11 +3372,6 @@ - dependencies: - "@types/ms" "*" - --"@types/dom-screen-wake-lock@^1.0.0": -- version "1.0.3" -- resolved "https://registry.yarnpkg.com/@types/dom-screen-wake-lock/-/dom-screen-wake-lock-1.0.3.tgz#c3588a5f6f40fae957f9ce5be9bc4927a61bb9a0" -- integrity sha512-3Iten7X3Zgwvk6kh6/NRdwN7WbZ760YgFCsF5AxDifltUQzW1RaW+WRmcVtgwFzLjaNu64H+0MPJ13yRa8g3Dw== -- - "@types/estree@1.0.5", "@types/estree@^1.0.0": - version "1.0.5" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" -@@ -3309,6 +3451,11 @@ - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" - integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== - -+"@types/prettier@^2.1.1": -+ version "2.7.3" -+ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" -+ integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== -+ - "@types/prop-types@*": - version "15.7.12" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz" -@@ -3362,13 +3509,6 @@ - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz" - integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== - --"@types/secp256k1@^4.0.6": -- version "4.0.6" -- resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.6.tgz#d60ba2349a51c2cbc5e816dcd831a42029d376bf" -- integrity sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ== -- dependencies: -- "@types/node" "*" -- - "@types/semver@^7.5.0": - version "7.5.8" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz" -@@ -3529,32 +3669,31 @@ - loupe "^2.3.6" - pretty-format "^29.5.0" - --"@wagmi/connectors@5.1.2": -- version "5.1.2" -- resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.1.2.tgz#f94a030b277c7c2cf00cf67606c4c907b24fcb58" -- integrity sha512-UX5LqDdGXrTdHBpL9wrJbcjK7/rtpOjx6YSIkO26TdPp6UyxQvEmY2XY6hdgBwHVx9xPaiVNIrWoexa5pRJUNA== -+"@wagmi/connectors@5.7.0": -+ version "5.7.0" -+ resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.7.0.tgz#a5e6c5403009b37f912210fc5d96727b4caa6a2b" -+ integrity sha512-cPMmHBGw28fll7VQJC9iF6ngdQ17STTzspqRIjlTkz44zhjwMTf7shw+JJUmqw+0uK7DqRbf/xUHlZE2IVd2mg== - dependencies: -- "@coinbase/wallet-sdk" "4.0.4" -- "@metamask/sdk" "0.27.0" -- "@safe-global/safe-apps-provider" "0.18.3" -+ "@coinbase/wallet-sdk" "4.2.3" -+ "@metamask/sdk" "0.31.2" -+ "@safe-global/safe-apps-provider" "0.18.5" - "@safe-global/safe-apps-sdk" "9.1.0" -- "@walletconnect/ethereum-provider" "2.14.0" -- "@walletconnect/modal" "2.6.2" -+ "@walletconnect/ethereum-provider" "2.17.0" - cbw-sdk "npm:@coinbase/wallet-sdk@3.9.3" - --"@wagmi/core@2.13.1": -- version "2.13.1" -- resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.13.1.tgz#d9cf910775eca0e1aeb6fe9ad787264ee32632f3" -- integrity sha512-6ZdgI6dYfpa+IZPU0DZ3XQEQVzs003tKCERzSUNkxmt5cwSMg0XB1kvF5vU9MuPP96K6IcGkqSwAtgCmM5uy2w== -+"@wagmi/core@2.16.0": -+ version "2.16.0" -+ resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.16.0.tgz#b997b2544cd80b4aac4df25ccb2436bf77f9fbe1" -+ integrity sha512-sy4n7Jv6YCbT2jp4zQ/9H6l0A8StsN7P8mm2BRuODgW2w6Fj4j6h2xgYJD2tIjJHkLU/nvPJ7audZ55X7XQU/g== - dependencies: - eventemitter3 "5.0.1" - mipd "0.0.7" -- zustand "4.4.1" -+ zustand "5.0.0" - --"@walletconnect/core@2.14.0": -- version "2.14.0" -- resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.14.0.tgz#e8afb01455968b02aaf26c74f3bfcc9b82678a39" -- integrity sha512-E/dgBM9q3judXnTfZQ5ILvDpeSdDpabBLsXtYXa3Nyc26cfNplfLJ2nXm9FgtTdhM1nZ7yx4+zDPiXawBRZl2g== -+"@walletconnect/core@2.17.0": -+ version "2.17.0" -+ resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.17.0.tgz#bf490e85a4702eff0f7cf81ba0d3c1016dffff33" -+ integrity sha512-On+uSaCfWdsMIQsECwWHZBmUXfrnqmv6B8SXRRuTJgd8tUpEvBkLQH4X7XkSm3zW6ozEkQTCagZ2ox2YPn3kbw== - dependencies: - "@walletconnect/heartbeat" "1.2.2" - "@walletconnect/jsonrpc-provider" "1.0.14" -@@ -3563,14 +3702,13 @@ - "@walletconnect/jsonrpc-ws-connection" "1.0.14" - "@walletconnect/keyvaluestorage" "1.1.1" - "@walletconnect/logger" "2.1.2" -- "@walletconnect/relay-api" "1.0.10" -+ "@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.14.0" -- "@walletconnect/utils" "2.14.0" -+ "@walletconnect/types" "2.17.0" -+ "@walletconnect/utils" "2.17.0" - events "3.3.0" -- isomorphic-unfetch "3.1.0" - lodash.isequal "4.5.0" - uint8arrays "3.1.0" - -@@ -3581,20 +3719,20 @@ - dependencies: - tslib "1.14.1" - --"@walletconnect/ethereum-provider@2.14.0": -- version "2.14.0" -- resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.14.0.tgz#0ed4ba9b383c889b56e0af87181756d900fc504a" -- integrity sha512-Cc2/DCn85VciA10BrsNWFM//3VC1D8yjwrjfUKjGndLPDz0YIdAxTgYZViIlMjE0lzQC/DMvPYEAnGfW0O1Bwg== -+"@walletconnect/ethereum-provider@2.17.0": -+ version "2.17.0" -+ resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.17.0.tgz#d74feaaed6180a6799e96760d7ee867ff3a083d2" -+ integrity sha512-b+KTAXOb6JjoxkwpgYQQKPUcTwENGmdEdZoIDLeRicUmZTn/IQKfkMoC2frClB4YxkyoVMtj1oMV2JAax+yu9A== - dependencies: - "@walletconnect/jsonrpc-http-connection" "1.0.8" - "@walletconnect/jsonrpc-provider" "1.0.14" - "@walletconnect/jsonrpc-types" "1.0.4" - "@walletconnect/jsonrpc-utils" "1.0.8" -- "@walletconnect/modal" "2.6.2" -- "@walletconnect/sign-client" "2.14.0" -- "@walletconnect/types" "2.14.0" -- "@walletconnect/universal-provider" "2.14.0" -- "@walletconnect/utils" "2.14.0" -+ "@walletconnect/modal" "2.7.0" -+ "@walletconnect/sign-client" "2.17.0" -+ "@walletconnect/types" "2.17.0" -+ "@walletconnect/universal-provider" "2.17.0" -+ "@walletconnect/utils" "2.17.0" - events "3.3.0" - - "@walletconnect/events@1.0.1", "@walletconnect/events@^1.0.1": -@@ -3677,35 +3815,35 @@ - "@walletconnect/safe-json" "^1.0.2" - pino "7.11.0" - --"@walletconnect/modal-core@2.6.2": -- version "2.6.2" -- resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.6.2.tgz#d73e45d96668764e0c8668ea07a45bb8b81119e9" -- integrity sha512-cv8ibvdOJQv2B+nyxP9IIFdxvQznMz8OOr/oR/AaUZym4hjXNL/l1a2UlSQBXrVjo3xxbouMxLb3kBsHoYP2CA== -+"@walletconnect/modal-core@2.7.0": -+ version "2.7.0" -+ resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.7.0.tgz#73c13c3b7b0abf9ccdbac9b242254a86327ce0a4" -+ integrity sha512-oyMIfdlNdpyKF2kTJowTixZSo0PGlCJRdssUN/EZdA6H6v03hZnf09JnwpljZNfir2M65Dvjm/15nGrDQnlxSA== - dependencies: - valtio "1.11.2" - --"@walletconnect/modal-ui@2.6.2": -- version "2.6.2" -- resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.6.2.tgz#fa57c087c57b7f76aaae93deab0f84bb68b59cf9" -- integrity sha512-rbdstM1HPGvr7jprQkyPggX7rP4XiCG85ZA+zWBEX0dVQg8PpAgRUqpeub4xQKDgY7pY/xLRXSiCVdWGqvG2HA== -+"@walletconnect/modal-ui@2.7.0": -+ version "2.7.0" -+ resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.7.0.tgz#dbbb7ee46a5a25f7d39db622706f2d197b268cbb" -+ integrity sha512-gERYvU7D7K1ANCN/8vUgsE0d2hnRemfAFZ2novm9aZBg7TEd/4EgB+AqbJ+1dc7GhOL6dazckVq78TgccHb7mQ== - dependencies: -- "@walletconnect/modal-core" "2.6.2" -+ "@walletconnect/modal-core" "2.7.0" - lit "2.8.0" - motion "10.16.2" - qrcode "1.5.3" - --"@walletconnect/modal@2.6.2": -- version "2.6.2" -- resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.6.2.tgz#4b534a836f5039eeb3268b80be7217a94dd12651" -- integrity sha512-eFopgKi8AjKf/0U4SemvcYw9zlLpx9njVN8sf6DAkowC2Md0gPU/UNEbH1Wwj407pEKnEds98pKWib1NN1ACoA== -+"@walletconnect/modal@2.7.0": -+ version "2.7.0" -+ resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.7.0.tgz#55f969796d104cce1205f5f844d8f8438b79723a" -+ integrity sha512-RQVt58oJ+rwqnPcIvRFeMGKuXb9qkgSmwz4noF8JZGUym3gUAzVs+uW2NQ1Owm9XOJAV+sANrtJ+VoVq1ftElw== - dependencies: -- "@walletconnect/modal-core" "2.6.2" -- "@walletconnect/modal-ui" "2.6.2" -+ "@walletconnect/modal-core" "2.7.0" -+ "@walletconnect/modal-ui" "2.7.0" - --"@walletconnect/relay-api@1.0.10": -- version "1.0.10" -- resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.10.tgz#5aef3cd07c21582b968136179aa75849dcc65499" -- integrity sha512-tqrdd4zU9VBNqUaXXQASaexklv6A54yEyQQEXYOCr+Jz8Ket0dmPBDyg19LVSNUN2cipAghQc45/KVmfFJ0cYw== -+"@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" - -@@ -3728,19 +3866,19 @@ - dependencies: - tslib "1.14.1" - --"@walletconnect/sign-client@2.14.0": -- version "2.14.0" -- resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.14.0.tgz#36533ef0976a869d815624217527482c90937fc8" -- integrity sha512-UrB3S3eLjPYfBLCN3WJ5u7+WcZ8kFMe/QIDqLf76Jk6TaLwkSUy563LvnSw4KW/kA+/cY1KBSdUDfX1tzYJJXg== -+"@walletconnect/sign-client@2.17.0": -+ version "2.17.0" -+ resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.17.0.tgz#efe811b1bb10082d964e2f0378aaa1b40f424503" -+ integrity sha512-sErYwvSSHQolNXni47L3Bm10ptJc1s1YoJvJd34s5E9h9+d3rj7PrhbiW9X82deN+Dm5oA8X9tC4xty1yIBrVg== - dependencies: -- "@walletconnect/core" "2.14.0" -+ "@walletconnect/core" "2.17.0" - "@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.14.0" -- "@walletconnect/utils" "2.14.0" -+ "@walletconnect/types" "2.17.0" -+ "@walletconnect/utils" "2.17.0" - events "3.3.0" - - "@walletconnect/time@1.0.2", "@walletconnect/time@^1.0.2": -@@ -3750,10 +3888,10 @@ - dependencies: - tslib "1.14.1" - --"@walletconnect/types@2.14.0": -- version "2.14.0" -- resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.14.0.tgz#af3d4799b8ac5d166251af12bc024276f82f9b91" -- integrity sha512-vevMi4jZLJ55vLuFOicQFmBBbLyb+S0sZS4IsaBdZkQflfGIq34HkN13c/KPl4Ye0aoR4/cUcUSitmGIzEQM5g== -+"@walletconnect/types@2.17.0": -+ version "2.17.0" -+ resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.17.0.tgz#20eda5791e3172f8ab9146caa3f317701d4b3232" -+ integrity sha512-i1pn9URpvt9bcjRDkabuAmpA9K7mzyKoLJlbsAujRVX7pfaG7wur7u9Jz0bk1HxvuABL5LHNncTnVKSXKQ5jZA== - dependencies: - "@walletconnect/events" "1.0.1" - "@walletconnect/heartbeat" "1.2.2" -@@ -3762,38 +3900,40 @@ - "@walletconnect/logger" "2.1.2" - events "3.3.0" - --"@walletconnect/universal-provider@2.14.0": -- version "2.14.0" -- resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.14.0.tgz#39d029be80374894b5f4249b76282dd9211d8b9f" -- integrity sha512-Mr8uoTmD6H0+Hh+3gxBu4l3T2uP/nNPR02sVtwEujNum++F727mMk+ifPRIpkVo21V/bvXFEy8sHTs5hqyq5iA== -+"@walletconnect/universal-provider@2.17.0": -+ version "2.17.0" -+ resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.17.0.tgz#c9d4bbd9b8f0e41b500b2488ccbc207dc5f7a170" -+ integrity sha512-d3V5Be7AqLrvzcdMZSBS8DmGDRdqnyLk1DWmRKAGgR6ieUWykhhUKlvfeoZtvJrIXrY7rUGYpH1X41UtFkW5Pw== - dependencies: - "@walletconnect/jsonrpc-http-connection" "1.0.8" - "@walletconnect/jsonrpc-provider" "1.0.14" - "@walletconnect/jsonrpc-types" "1.0.4" - "@walletconnect/jsonrpc-utils" "1.0.8" - "@walletconnect/logger" "2.1.2" -- "@walletconnect/sign-client" "2.14.0" -- "@walletconnect/types" "2.14.0" -- "@walletconnect/utils" "2.14.0" -+ "@walletconnect/sign-client" "2.17.0" -+ "@walletconnect/types" "2.17.0" -+ "@walletconnect/utils" "2.17.0" - events "3.3.0" - --"@walletconnect/utils@2.14.0": -- version "2.14.0" -- resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.14.0.tgz#48493ffe1e902815fda3cbd5cc5409288a066d35" -- integrity sha512-vRVomYQEtEAyCK2c5bzzEvtgxaGGITF8mWuIL+WYSAMyEJLY97mirP2urDucNwcUczwxUgI+no9RiNFbUHreQQ== -+"@walletconnect/utils@2.17.0": -+ version "2.17.0" -+ resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.17.0.tgz#02b3af0b80d0c1a994d692d829d066271b04d071" -+ integrity sha512-1aeQvjwsXy4Yh9G6g2eGmXrEl+BzkNjHRdCrGdMYqFTFa8ROEJfTGsSH3pLsNDlOY94CoBUvJvM55q/PMoN/FQ== - dependencies: - "@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/relay-api" "1.0.10" -+ "@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.14.0" -+ "@walletconnect/types" "2.17.0" - "@walletconnect/window-getters" "1.0.1" - "@walletconnect/window-metadata" "1.0.1" - detect-browser "5.3.0" -+ elliptic "^6.5.7" - query-string "7.1.3" - uint8arrays "3.1.0" - -@@ -3866,6 +4006,16 @@ abitype@1.0.5: - resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.5.tgz#29d0daa3eea867ca90f7e4123144c1d1270774b6" - integrity sha512-YzDhti7cjlfaBhHutMaboYB21Ha3rXR9QTkNJFzYC4kC8YclaiwPBBBJY8ejFdu2wnJeZCVZSMlQJ7fi8S6hsw== - -+abitype@1.0.6, abitype@^1.0.6: -+ version "1.0.6" -+ resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.6.tgz#76410903e1d88e34f1362746e2d407513c38565b" -+ integrity sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A== -+ -+abitype@1.0.7: -+ version "1.0.7" -+ resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.7.tgz#876a0005d211e1c9132825d45bcee7b46416b284" -+ integrity sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw== -+ - abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" -@@ -3948,6 +4098,11 @@ apexcharts@^3.49.1: - svg.resize.js "^1.4.3" - svg.select.js "^3.0.1" - -+apg-js@^4.3.0: -+ version "4.4.0" -+ resolved "https://registry.yarnpkg.com/apg-js/-/apg-js-4.4.0.tgz#09dcecab0731fbde233b9f2352fdd2d07e56b2cf" -+ integrity sha512-fefmXFknJmtgtNEXfPwZKYkMFX4Fyeyz+fNF6JWp87biGOPslJbCBVU158zvKRZfHBKnJDy8CMM40oLFGkXT8Q== -+ - argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" -@@ -3967,6 +4122,16 @@ aria-query@^5.3.0: - dependencies: - dequal "^2.0.3" - -+array-back@^3.0.1, array-back@^3.1.0: -+ version "3.1.0" -+ resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" -+ integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== -+ -+array-back@^4.0.1, array-back@^4.0.2: -+ version "4.0.2" -+ resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" -+ integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== -+ - array-buffer-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz" -@@ -4088,6 +4253,11 @@ async-mutex@^0.2.6: - dependencies: - tslib "^2.0.0" - -+asynckit@^0.4.0: -+ version "0.4.0" -+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" -+ integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -+ - atomic-sleep@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" -@@ -4105,6 +4275,15 @@ axe-core@=4.7.0: - resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz" - integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== - -+axios@^1.7.2: -+ version "1.7.9" -+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.9.tgz#d7d071380c132a24accda1b2cfc1535b79ec650a" -+ integrity sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw== -+ dependencies: -+ follow-redirects "^1.15.6" -+ form-data "^4.0.0" -+ proxy-from-env "^1.1.0" -+ - axobject-query@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz" -@@ -4153,7 +4332,7 @@ bech32@^2.0.0: - resolved "https://registry.npmjs.org/bech32/-/bech32-2.0.0.tgz" - integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg== - --bignumber.js@^9.0.0: -+bignumber.js@^9.0.0, 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== -@@ -4203,6 +4382,13 @@ bip32@^2.0.4: - typeforce "^1.11.5" - wif "^2.0.6" - -+bip39@^3.1.0: -+ version "3.1.0" -+ resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.1.0.tgz#c55a418deaf48826a6ceb34ac55b3ee1577e18a3" -+ integrity sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A== -+ dependencies: -+ "@noble/hashes" "^1.2.0" -+ - bip66@^1.1.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" -@@ -4265,6 +4451,18 @@ bitcoinjs-lib@^6.1.3: - typeforce "^1.11.3" - varuint-bitcoin "^1.1.2" - -+bitcoinjs-lib@^6.1.5, bitcoinjs-lib@^6.1.6: -+ version "6.1.7" -+ resolved "https://registry.yarnpkg.com/bitcoinjs-lib/-/bitcoinjs-lib-6.1.7.tgz#0f98dec1333d658574eefa455295668cfae38bb0" -+ integrity sha512-tlf/r2DGMbF7ky1MgUqXHzypYHakkEnm0SZP23CJKIqNY/5uNAnMbFhMJdhjrL/7anfb/U8+AlpdjPWjPnAalg== -+ dependencies: -+ "@noble/hashes" "^1.2.0" -+ bech32 "^2.0.0" -+ bip174 "^2.1.1" -+ bs58check "^3.0.1" -+ typeforce "^1.11.3" -+ varuint-bitcoin "^1.1.2" -+ - bn.js@^4.11.8, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" -@@ -4448,9 +4646,9 @@ chalk@^2.4.2: - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - --chalk@^4.0.0, chalk@^4.1.2: -+chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" -- resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" -+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" -@@ -4554,6 +4752,33 @@ color2k@^2.0.2: - resolved "https://registry.npmjs.org/color2k/-/color2k-2.0.3.tgz" - integrity sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog== - -+combined-stream@^1.0.8: -+ version "1.0.8" -+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" -+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== -+ dependencies: -+ delayed-stream "~1.0.0" -+ -+command-line-args@^5.1.1: -+ version "5.2.1" -+ resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" -+ integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== -+ dependencies: -+ array-back "^3.1.0" -+ find-replace "^3.0.0" -+ lodash.camelcase "^4.3.0" -+ typical "^4.0.0" -+ -+command-line-usage@^6.1.0: -+ version "6.1.3" -+ resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" -+ integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== -+ dependencies: -+ array-back "^4.0.2" -+ chalk "^2.4.2" -+ table-layout "^1.0.2" -+ typical "^5.2.0" -+ - commander@7: - version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" -@@ -5128,6 +5353,11 @@ deep-eql@^4.1.3: - dependencies: - type-detect "^4.0.0" - -+deep-extend@~0.6.0: -+ version "0.6.0" -+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" -+ integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -+ - deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" -@@ -5147,11 +5377,6 @@ define-data-property@^1.0.1, define-data-property@^1.1.4: - es-errors "^1.3.0" - gopd "^1.0.1" - --define-lazy-prop@^2.0.0: -- version "2.0.0" -- resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" -- integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -- - define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" -@@ -5178,6 +5403,11 @@ delaunator@5: - dependencies: - robust-predicates "^3.0.2" - -+delayed-stream@~1.0.0: -+ version "1.0.0" -+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" -+ integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -+ - dequal@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" -@@ -5220,10 +5450,10 @@ dir-glob@^3.0.1: - dependencies: - path-type "^4.0.0" - --dlc-btc-lib@2.5.1: -- version "2.5.1" -- resolved "https://registry.yarnpkg.com/dlc-btc-lib/-/dlc-btc-lib-2.5.1.tgz#b1eb33c0a56a244fcb109da4704854cf8a585c15" -- integrity sha512-YRfIsfsgzmUcepowZYaLjY/1E2MJbN5zIhEhS1NgiJsDBjNVAiZTHLY7RiX3eNValgFSnsY3IpUyF6piPap72A== -+dlc-btc-lib@2.5.3: -+ version "2.5.3" -+ resolved "https://registry.yarnpkg.com/dlc-btc-lib/-/dlc-btc-lib-2.5.3.tgz#a7a7df7236ad14877c77d2df172e29627ebb4816" -+ integrity sha512-QFN0nGO9P3zhfydI9j07iUxhxyRrxVRD941WhIXblw/YZDVXT8+PYW4GciSlU8KiydtHtYD+fWkUkSgUeC5kaQ== - dependencies: - "@dfns/sdk" "^0.5.9" - "@dfns/sdk-browser" "^0.5.9" -@@ -5276,14 +5506,15 @@ duplexify@^4.1.2: - readable-stream "^3.1.1" - stream-shift "^1.0.2" - --eciesjs@^0.3.15: -- version "0.3.19" -- resolved "https://registry.yarnpkg.com/eciesjs/-/eciesjs-0.3.19.tgz#a22e9e1efe3fdedec02c828e2632ae0d4a073676" -- integrity sha512-b+PkRDZ3ym7HEcnbxc22CMVCpgsnr8+gGgST3U5PtgeX1luvINgfXW7efOyUtmn/jFtA/lg5ywBi/Uazf4oeaA== -+eciesjs@^0.4.11: -+ version "0.4.12" -+ resolved "https://registry.yarnpkg.com/eciesjs/-/eciesjs-0.4.12.tgz#0ce482454953592e07b79b4824751f3b5c508b56" -+ integrity sha512-DGejvMCihsRAmKRFQiL6KZDE34vWVd0gvXlykFq1aEzJy/rD65AVyAIUZKZOvgvaP9ATQRcHGEZV5DfgrgjA4w== - dependencies: -- "@types/secp256k1" "^4.0.6" -- futoin-hkdf "^1.5.3" -- secp256k1 "^5.0.0" -+ "@ecies/ciphers" "^0.2.1" -+ "@noble/ciphers" "^1.0.0" -+ "@noble/curves" "^1.6.0" -+ "@noble/hashes" "^1.5.0" - - ecpair@^2.1.0: - version "2.1.0" -@@ -5325,10 +5556,10 @@ elliptic@^6.4.0: - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - --elliptic@^6.5.4: -- version "6.5.6" -- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.6.tgz#ee5f7c3a00b98a2144ac84d67d01f04d438fa53e" -- integrity sha512-mpzdtpeCLuS3BmE3pO3Cpp5bbjlOPY2Q0PgoF+Od1XZrHLYI28Xe3ossCmYCQt11FQKEYd9+PF8jymTvtWJSHQ== -+elliptic@^6.5.7: -+ version "6.6.1" -+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" -+ integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" -@@ -5561,11 +5792,6 @@ escalade@^3.1.1: - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - --escape-string-regexp@2.0.0: -- version "2.0.0" -- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" -- integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -- - escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" -@@ -5829,7 +6055,7 @@ ethereum-cryptography@^2.0.0: - - ethers@5.7.2: - version "5.7.2" -- resolved "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz" -+ resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" - integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== - dependencies: - "@ethersproject/abi" "5.7.0" -@@ -5868,7 +6094,7 @@ event-target-shim@^5.0.0: - 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== - --eventemitter2@^6.4.7: -+eventemitter2@^6.4.9: - version "6.4.9" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.9.tgz#41f2750781b4230ed58827bc119d293471ecb125" - integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg== -@@ -5980,6 +6206,13 @@ filter-obj@^1.1.0: - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" - integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== - -+find-replace@^3.0.0: -+ version "3.0.0" -+ resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" -+ integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== -+ dependencies: -+ array-back "^3.0.1" -+ - find-root@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" -@@ -6022,6 +6255,11 @@ focus-lock@^1.3.2: - dependencies: - tslib "^2.0.3" - -+follow-redirects@^1.15.6: -+ version "1.15.9" -+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" -+ integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== -+ - for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" -@@ -6029,6 +6267,15 @@ for-each@^0.3.3: - dependencies: - is-callable "^1.1.3" - -+form-data@^4.0.0: -+ version "4.0.1" -+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" -+ integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== -+ dependencies: -+ asynckit "^0.4.0" -+ combined-stream "^1.0.8" -+ mime-types "^2.1.12" -+ - formik@^2.4.5: - version "2.4.5" - resolved "https://registry.npmjs.org/formik/-/formik-2.4.5.tgz" -@@ -6057,6 +6304,15 @@ framesync@6.1.2: - dependencies: - tslib "2.4.0" - -+fs-extra@^7.0.0: -+ version "7.0.1" -+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" -+ integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== -+ dependencies: -+ graceful-fs "^4.1.2" -+ jsonfile "^4.0.0" -+ universalify "^0.1.0" -+ - fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" -@@ -6092,11 +6348,6 @@ functions-have-names@^1.2.3: - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - --futoin-hkdf@^1.5.3: -- version "1.5.3" -- resolved "https://registry.yarnpkg.com/futoin-hkdf/-/futoin-hkdf-1.5.3.tgz#6c8024f2e1429da086d4e18289ef2239ad33ee35" -- integrity sha512-SewY5KdMpaoCeh7jachEWFsh1nNlaDjNHZXWqL5IGwtpEYHTgkr2+AMCgNwKWkcc0wpSYrZfR7he4WdmHFtDxQ== -- - gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" -@@ -6161,6 +6412,18 @@ glob-parent@^6.0.2: - dependencies: - is-glob "^4.0.3" - -+glob@7.1.7: -+ version "7.1.7" -+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" -+ integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== -+ dependencies: -+ fs.realpath "^1.0.0" -+ inflight "^1.0.4" -+ inherits "2" -+ minimatch "^3.0.4" -+ once "^1.3.0" -+ path-is-absolute "^1.0.0" -+ - glob@^7.1.3: - version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" -@@ -6211,6 +6474,11 @@ gopd@^1.0.1: - dependencies: - get-intrinsic "^1.1.3" - -+graceful-fs@^4.1.2, graceful-fs@^4.1.6: -+ version "4.2.11" -+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" -+ integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== -+ - graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" -@@ -6326,20 +6594,6 @@ human-signals@^5.0.0: - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" - integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== - --i18next-browser-languagedetector@7.1.0: -- version "7.1.0" -- resolved "https://registry.yarnpkg.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.1.0.tgz#01876fac51f86b78975e79b48ccb62e2313a2d7d" -- integrity sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA== -- dependencies: -- "@babel/runtime" "^7.19.4" -- --i18next@23.11.5: -- version "23.11.5" -- resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.11.5.tgz#d71eb717a7e65498d87d0594f2664237f9e361ef" -- integrity sha512-41pvpVbW9rhZPk5xjCX2TPJi2861LEig/YRhUkY+1FQ2IQPS0bKUDYnEqY8XPPbB48h1uIwLnP9iiEfuSl20CA== -- dependencies: -- "@babel/runtime" "^7.23.2" -- - iconv-lite@0.6: - version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" -@@ -6407,7 +6661,7 @@ internal-slot@^1.0.7: - resolved "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz" - integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== - --invariant@2.2.4, invariant@^2.2.4: -+invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== -@@ -6495,11 +6749,6 @@ is-date-object@^1.0.1, is-date-object@^1.0.5: - dependencies: - has-tostringtag "^1.0.0" - --is-docker@^2.0.0, is-docker@^2.1.1: -- version "2.2.1" -- 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" -@@ -6641,13 +6890,6 @@ is-weakset@^2.0.3: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - --is-wsl@^2.2.0: -- version "2.2.0" -- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" -- integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== -- 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" -@@ -6677,19 +6919,16 @@ isexe@^2.0.0: - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - --isomorphic-unfetch@3.1.0: -- version "3.1.0" -- resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz#87341d5f4f7b63843d468438128cb087b7c3e98f" -- integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q== -- dependencies: -- node-fetch "^2.6.1" -- unfetch "^4.2.0" -- - isows@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.4.tgz#810cd0d90cc4995c26395d2aa4cfa4037ebdf061" - integrity sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ== - -+isows@1.0.6: -+ version "1.0.6" -+ resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.6.tgz#0da29d706fa51551c663c627ace42769850f86e7" -+ integrity sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw== -+ - iterator.prototype@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" -@@ -6711,9 +6950,9 @@ jiti@^1.21.0: - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" - integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== - --js-sha3@0.8.0: -+js-sha3@0.8.0, js-sha3@^0.8.0: - version "0.8.0" -- resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" -+ resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: -@@ -6783,6 +7022,13 @@ jsonc-parser@^3.2.0: - resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz" - integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== - -+jsonfile@^4.0.0: -+ version "4.0.0" -+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" -+ integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== -+ optionalDependencies: -+ graceful-fs "^4.1.6" -+ - "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: - version "3.3.5" - resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" -@@ -6793,6 +7039,11 @@ jsonc-parser@^3.2.0: - object.assign "^4.1.4" - object.values "^1.1.6" - -+jwt-decode@^4.0.0: -+ version "4.0.0" -+ resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-4.0.0.tgz#2270352425fd413785b2faf11f6e755c5151bd4b" -+ integrity sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA== -+ - keccak@^3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" -@@ -6933,6 +7184,11 @@ lodash-es@^4.17.21: - resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" - integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== - -+lodash.camelcase@^4.3.0: -+ version "4.3.0" -+ resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" -+ integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== -+ - lodash.isequal@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" -@@ -6948,9 +7204,9 @@ lodash.mergewith@4.6.2: - resolved "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz" - integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== - --lodash@^4.17.21: -+lodash@^4.17.15, lodash@^4.17.21: - version "4.17.21" -- resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" -+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - - loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: -@@ -7045,6 +7301,18 @@ micromatch@^4.0.5: - braces "^3.0.3" - picomatch "^2.3.1" - -+mime-db@1.52.0: -+ version "1.52.0" -+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" -+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -+ -+mime-types@^2.1.12: -+ version "2.1.35" -+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" -+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== -+ dependencies: -+ mime-db "1.52.0" -+ - mime@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" -@@ -7072,9 +7340,9 @@ minimatch@9.0.3: - dependencies: - brace-expansion "^2.0.1" - --minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: -+minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" -- resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" -+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" -@@ -7089,6 +7357,11 @@ mipd@0.0.7: - resolved "https://registry.yarnpkg.com/mipd/-/mipd-0.0.7.tgz#bb5559e21fa18dc3d9fe1c08902ef14b7ce32fd9" - integrity sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg== - -+mkdirp@^1.0.4: -+ version "1.0.4" -+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" -+ integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -+ - mlly@^1.2.0, mlly@^1.4.0: - version "1.6.1" - resolved "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz" -@@ -7143,7 +7416,7 @@ ms@2.1.2: - - ms@^2.1.1: - version "2.1.3" -- resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" -+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - - multiformats@^9.4.2: -@@ -7176,11 +7449,6 @@ 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@^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" -@@ -7191,7 +7459,7 @@ node-fetch-native@^1.6.2, node-fetch-native@^1.6.3, node-fetch-native@^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.11, node-fetch@^2.6.12: -+node-fetch@^2.6.11, node-fetch@^2.6.12: - 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== -@@ -7338,15 +7606,6 @@ onetime@^6.0.0: - dependencies: - mimic-fn "^4.0.0" - --open@^8.4.0: -- version "8.4.2" -- resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" -- integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== -- dependencies: -- define-lazy-prop "^2.0.0" -- is-docker "^2.1.1" -- is-wsl "^2.2.0" -- - optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" -@@ -7359,6 +7618,19 @@ optionator@^0.9.3: - prelude-ls "^1.2.1" - type-check "^0.4.0" - -+ox@0.1.2: -+ version "0.1.2" -+ resolved "https://registry.yarnpkg.com/ox/-/ox-0.1.2.tgz#0f791be2ccabeaf4928e6d423498fe1c8094e560" -+ integrity sha512-ak/8K0Rtphg9vnRJlbOdaX9R7cmxD2MiSthjWGaQdMk3D7hrAlDoM+6Lxn7hN52Za3vrXfZ7enfke/5WjolDww== -+ dependencies: -+ "@adraffy/ens-normalize" "^1.10.1" -+ "@noble/curves" "^1.6.0" -+ "@noble/hashes" "^1.5.0" -+ "@scure/bip32" "^1.5.0" -+ "@scure/bip39" "^1.4.0" -+ abitype "^1.0.6" -+ eventemitter3 "5.0.1" -+ - p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" -@@ -7572,11 +7844,21 @@ preact@^10.16.0: - resolved "https://registry.yarnpkg.com/preact/-/preact-10.23.1.tgz#d400107289bc979881c5212cb5f5cd22cd1dc38c" - integrity sha512-O5UdRsNh4vdZaTieWe3XOgSpdMAmkIYBCT3VhQDlKrzyCm8lUYsk0fmVEvoQQifoOjFRTaHZO69ylrzTW2BH+A== - -+preact@^10.24.2: -+ version "10.25.2" -+ resolved "https://registry.yarnpkg.com/preact/-/preact-10.25.2.tgz#e141e18a547ae0082dae48d044e0d8267e2547d2" -+ integrity sha512-GEts1EH3oMnqdOIeXhlbBSddZ9nrINd070WBOiPO2ous1orrKGUM4SMDbwyjSWD1iMS2dBvaDjAa5qUhz3TXqw== -+ - prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -+prettier@^2.3.1: -+ version "2.8.8" -+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" -+ integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== -+ - prettier@^3.0.3: - version "3.2.5" - resolved "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz" -@@ -7623,11 +7905,21 @@ prop-types@15.8.1, prop-types@^15.6.2, prop-types@^15.8.1: - object-assign "^4.1.1" - react-is "^16.13.1" - -+property-expr@^2.0.5: -+ version "2.0.6" -+ resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.6.tgz#f77bc00d5928a6c748414ad12882e83f24aec1e8" -+ integrity sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA== -+ - proxy-compare@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.1.tgz#17818e33d1653fbac8c2ec31406bce8a2966f600" - integrity sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA== - -+proxy-from-env@^1.1.0: -+ version "1.1.0" -+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" -+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== -+ - pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" -@@ -7648,23 +7940,6 @@ pushdata-bitcoin@^1.0.1: - dependencies: - bitcoin-ops "^1.3.0" - --qr-code-styling@^1.6.0-rc.1: -- version "1.6.0-rc.1" -- resolved "https://registry.yarnpkg.com/qr-code-styling/-/qr-code-styling-1.6.0-rc.1.tgz#6c89e185fa50cc9135101085c12ae95b06f1b290" -- integrity sha512-ModRIiW6oUnsP18QzrRYZSc/CFKFKIdj7pUs57AEVH20ajlglRpN3HukjHk0UbNMTlKGuaYl7Gt6/O5Gg2NU2Q== -- dependencies: -- qrcode-generator "^1.4.3" -- --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-terminal-nooctal@^0.12.1: -- version "0.12.1" -- resolved "https://registry.yarnpkg.com/qrcode-terminal-nooctal/-/qrcode-terminal-nooctal-0.12.1.tgz#45016aca0d82b2818de7af0a06d072ad671fbe2e" -- integrity sha512-jy/kkD0iIMDjTucB+5T6KBsnirlhegDH47vHgrj5MejchSQmi/EAMM0xMFeePgV9CJkkAapNakpVUWYgHvtdKg== -- - qrcode@1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" -@@ -7791,14 +8066,6 @@ react-is@^18.0.0: - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - --react-native-webview@^11.26.0: -- version "11.26.1" -- resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-11.26.1.tgz#658c09ed5162dc170b361e48c2dd26c9712879da" -- integrity sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw== -- dependencies: -- escape-string-regexp "2.0.0" -- invariant "2.2.4" -- - react-redux@^8.1.3: - version "8.1.3" - resolved "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz" -@@ -7875,6 +8142,13 @@ react@^18.2.0: - dependencies: - loose-envify "^1.1.0" - -+react@^18.3.1: -+ version "18.3.1" -+ resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" -+ integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== -+ dependencies: -+ loose-envify "^1.1.0" -+ - readable-stream@^2.3.3: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" -@@ -7920,6 +8194,11 @@ real-require@^0.1.0: - resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" - integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== - -+reduce-flatten@^2.0.0: -+ version "2.0.0" -+ resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" -+ integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== -+ - redux-persist-expire@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/redux-persist-expire/-/redux-persist-expire-1.1.1.tgz" -@@ -8062,16 +8341,6 @@ robust-predicates@^3.0.2: - resolved "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz" - integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg== - --rollup-plugin-visualizer@^5.9.2: -- version "5.12.0" -- resolved "https://registry.yarnpkg.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz#661542191ce78ee4f378995297260d0c1efb1302" -- integrity sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ== -- dependencies: -- open "^8.4.0" -- picomatch "^2.3.1" -- source-map "^0.7.4" -- yargs "^17.5.1" -- - rollup@^3.27.1: - version "3.29.4" - resolved "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz" -@@ -8180,15 +8449,6 @@ scure@1.6.0: - dependencies: - pluralize "^7.0.0" - --secp256k1@^5.0.0: -- version "5.0.0" -- resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-5.0.0.tgz#be6f0c8c7722e2481e9773336d351de8cddd12f7" -- integrity sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA== -- dependencies: -- elliptic "^6.5.4" -- node-addon-api "^5.0.0" -- node-gyp-build "^4.2.0" -- - semver@^6.3.1: - version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" -@@ -8298,6 +8558,16 @@ sisteransi@^1.0.5: - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -+siwe@^2.1.4: -+ version "2.3.2" -+ resolved "https://registry.yarnpkg.com/siwe/-/siwe-2.3.2.tgz#0794ae25f734f3068de0ab093ddd2f7867bc2d67" -+ integrity sha512-aSf+6+Latyttbj5nMu6GF3doMfv2UYj83hhwZgUF20ky6fTS83uVhkQABdIVnEuS8y1bBdk7p6ltb9SmlhTTlA== -+ dependencies: -+ "@spruceid/siwe-parser" "^2.1.2" -+ "@stablelib/random" "^1.0.1" -+ uri-js "^4.4.1" -+ valid-url "^1.0.9" -+ - slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" -@@ -8351,7 +8621,7 @@ source-map@^0.6.0: - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - --source-map@^0.7.3, source-map@^0.7.4: -+source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== -@@ -8396,6 +8666,11 @@ strict-uri-encode@^2.0.0: - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== - -+string-format@^2.0.0: -+ version "2.0.0" -+ resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" -+ integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== -+ - string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" -@@ -8590,6 +8865,16 @@ system-architecture@^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@^1.0.2: -+ version "1.0.2" -+ resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" -+ integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== -+ dependencies: -+ array-back "^4.0.1" -+ deep-extend "~0.6.0" -+ typical "^5.2.0" -+ wordwrapjs "^4.0.0" -+ - text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" -@@ -8602,6 +8887,11 @@ thread-stream@^0.15.1: - dependencies: - real-require "^0.1.0" - -+tiny-case@^1.0.3: -+ version "1.0.3" -+ resolved "https://registry.yarnpkg.com/tiny-case/-/tiny-case-1.0.3.tgz#d980d66bc72b5d5a9ca86fb7c9ffdb9c898ddd03" -+ integrity sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q== -+ - tiny-invariant@^1.0.6: - version "1.3.3" - resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz" -@@ -8618,7 +8908,7 @@ tiny-secp256k1@1.1.6: - elliptic "^6.4.0" - nan "^2.13.2" - --tiny-secp256k1@2.2.3: -+tiny-secp256k1@2.2.3, tiny-secp256k1@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-2.2.3.tgz#fe1dde11a64fcee2091157d4b78bcb300feb9b65" - integrity sha512-SGcL07SxcPN2nGKHTCvRMkQLYPSoeFcvArUSCYtjVARiFAWU44cCIqYS0mYAU6nY7XfvwURuTIGo2Omt3ZQr0Q== -@@ -8680,6 +8970,11 @@ toml-eslint-parser@^0.9.3: - dependencies: - eslint-visitor-keys "^3.0.0" - -+toposort@^2.0.2: -+ version "2.0.2" -+ resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" -+ integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg== -+ - tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" -@@ -8695,6 +8990,21 @@ ts-api-utils@^1.0.1: - resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz" - integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== - -+ts-command-line-args@^2.2.0: -+ version "2.5.1" -+ resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz#e64456b580d1d4f6d948824c274cf6fa5f45f7f0" -+ integrity sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw== -+ dependencies: -+ chalk "^4.1.0" -+ command-line-args "^5.1.1" -+ command-line-usage "^6.1.0" -+ string-format "^2.0.0" -+ -+ts-essentials@^7.0.1: -+ version "7.0.3" -+ resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.3.tgz#686fd155a02133eedcc5362dc8b5056cde3e5a38" -+ integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== -+ - ts-toolbelt@^9.6.0: - version "9.6.0" - resolved "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz" -@@ -8733,6 +9043,11 @@ tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0: - resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -+tslib@^2.6.0: -+ version "2.8.1" -+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" -+ integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== -+ - tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" -@@ -8762,6 +9077,27 @@ type-fest@^0.20.2: - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -+type-fest@^2.19.0: -+ version "2.19.0" -+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" -+ integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== -+ -+typechain@^8.3.2: -+ version "8.3.2" -+ resolved "https://registry.yarnpkg.com/typechain/-/typechain-8.3.2.tgz#1090dd8d9c57b6ef2aed3640a516bdbf01b00d73" -+ integrity sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q== -+ dependencies: -+ "@types/prettier" "^2.1.1" -+ debug "^4.3.1" -+ fs-extra "^7.0.0" -+ glob "7.1.7" -+ js-sha3 "^0.8.0" -+ lodash "^4.17.15" -+ mkdirp "^1.0.4" -+ prettier "^2.3.1" -+ ts-command-line-args "^2.2.0" -+ ts-essentials "^7.0.1" -+ - typed-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz" -@@ -8823,6 +9159,16 @@ typescript@^5.2.2: - resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz" - integrity sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg== - -+typical@^4.0.0: -+ version "4.0.0" -+ resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" -+ integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== -+ -+typical@^5.2.0: -+ version "5.2.0" -+ resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" -+ integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== -+ - ufo@^1.3.2: - version "1.5.3" - resolved "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz" -@@ -8888,10 +9234,10 @@ unenv@^1.9.0: - node-fetch-native "^1.6.4" - pathe "^1.1.2" - --unfetch@^4.2.0: -- version "4.2.0" -- resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" -- integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== -+universalify@^0.1.0: -+ version "0.1.2" -+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" -+ integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - - unstorage@^1.9.0: - version "1.10.2" -@@ -8931,9 +9277,9 @@ uqr@^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: -+uri-js@^4.2.2, uri-js@^4.4.1: - version "4.4.1" -- resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" -+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" -@@ -8975,6 +9321,13 @@ utf-8-validate@^5.0.2: - dependencies: - node-gyp-build "^4.3.0" - -+utf-8-validate@^6.0.3: -+ version "6.0.5" -+ resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-6.0.5.tgz#8087d39902be2cc15bdb21a426697ff256d65aab" -+ integrity sha512-EYZR+OpIXp9Y1eG1iueg8KRsY8TuT8VNgnanZ0uA3STqhHQTLwbl+WX76/9X5OY12yQubymBpaBSmMPkSTQcKA== -+ dependencies: -+ node-gyp-build "^4.3.0" -+ - util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" -@@ -9006,6 +9359,11 @@ uuid@^9.0.1: - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -+valid-url@^1.0.9: -+ version "1.0.9" -+ resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" -+ integrity sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA== -+ - valtio@1.11.2: - version "1.11.2" - resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.11.2.tgz#b8049c02dfe65620635d23ebae9121a741bb6530" -@@ -9021,7 +9379,7 @@ varuint-bitcoin@1.1.2, varuint-bitcoin@^1.0.4, varuint-bitcoin@^1.1.2: - dependencies: - safe-buffer "^5.1.1" - --viem@2.x, viem@^2.1.1: -+viem@^2.1.1: - version "2.18.6" - resolved "https://registry.yarnpkg.com/viem/-/viem-2.18.6.tgz#527c54a032cdd4c1f1795fcb44072e8c3efd16c6" - integrity sha512-KughUodIEjzkC+KfQ4+259yRXYfo0VLkZQ7NVC3RGfCMMOiVWaOxHjmcaY0FnZzKX3pwrlMyTAZbwH9tVAN/Yw== -@@ -9036,6 +9394,36 @@ viem@2.x, viem@^2.1.1: - webauthn-p256 "0.0.5" - ws "8.17.1" - -+viem@^2.20.1: -+ version "2.21.49" -+ resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.49.tgz#528d5e54747ba3125041cd753459a4ce673aaaa6" -+ integrity sha512-NNItYfTv4+yGE5DDKc+S/g2S7KeJn047GwgEYG60FAJlK0FzwuP6lQKSeQ8k7Y4VasfuKPqiT+XiilcCtTRiDQ== -+ dependencies: -+ "@noble/curves" "1.6.0" -+ "@noble/hashes" "1.5.0" -+ "@scure/bip32" "1.5.0" -+ "@scure/bip39" "1.4.0" -+ abitype "1.0.6" -+ isows "1.0.6" -+ ox "0.1.2" -+ webauthn-p256 "0.0.10" -+ ws "8.18.0" -+ -+viem@^2.21.15: -+ version "2.21.55" -+ resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.55.tgz#a57ad31fcf2a0f6c011b1909f02c94421ec4f781" -+ integrity sha512-PgXew7C11cAuEtOSgRyQx2kJxEOPUwIwZA9dMglRByqJuFVA7wSGZZOOo/93iylAA8E15bEdqy9xulU3oKZ70Q== -+ dependencies: -+ "@noble/curves" "1.7.0" -+ "@noble/hashes" "1.6.1" -+ "@scure/bip32" "1.6.0" -+ "@scure/bip39" "1.5.0" -+ abitype "1.0.7" -+ isows "1.0.6" -+ ox "0.1.2" -+ webauthn-p256 "0.0.10" -+ ws "8.18.0" -+ - vite-node@0.34.6: - version "0.34.6" - resolved "https://registry.npmjs.org/vite-node/-/vite-node-0.34.6.tgz" -@@ -9113,13 +9501,13 @@ vitest@^0.34.6: - vite-node "0.34.6" - why-is-node-running "^2.2.2" - --wagmi@^2.12.2: -- version "2.12.2" -- resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.12.2.tgz#1d3b1dea0783c05245aed72a29bce756eb4f0bd8" -- integrity sha512-gIZdAgmHJjENdOdkD/Zpu85NR16k/uMB3H/yGBz1q9bDAE8oguuBxRUEhuMt6jAC95RB96+7hMVfL9kBtHnu+g== -+wagmi@2.14.3, wagmi@^2.12.16: -+ version "2.14.3" -+ resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.14.3.tgz#3abfe5e9f796890d75d1b7d506e9dccd6b87f254" -+ integrity sha512-sr8o7+EBw22GhieDyXLv8Zr2vgC6xKrYoSuUIpq0xOqEhvMP1q880VtR4lFG1capc2QEWvK72pJ/+jpsEQcMYQ== - dependencies: -- "@wagmi/connectors" "5.1.2" -- "@wagmi/core" "2.13.1" -+ "@wagmi/connectors" "5.7.0" -+ "@wagmi/core" "2.16.0" - use-sync-external-store "1.2.0" - - web-encoding@1.1.5: -@@ -9136,6 +9524,14 @@ web-streams-polyfill@^3.1.1: - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" - integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== - -+webauthn-p256@0.0.10: -+ version "0.0.10" -+ resolved "https://registry.yarnpkg.com/webauthn-p256/-/webauthn-p256-0.0.10.tgz#877e75abe8348d3e14485932968edf3325fd2fdd" -+ integrity sha512-EeYD+gmIT80YkSIDb2iWq0lq2zbHo1CxHlQTeJ+KkCILWpVy3zASH3ByD4bopzfk0uCwXxLqKGLqp2W4O28VFA== -+ dependencies: -+ "@noble/curves" "^1.4.0" -+ "@noble/hashes" "^1.4.0" -+ - webauthn-p256@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/webauthn-p256/-/webauthn-p256-0.0.5.tgz#0baebd2ba8a414b21cc09c0d40f9dd0be96a06bd" -@@ -9244,6 +9640,14 @@ wif@^2.0.1, wif@^2.0.6: - dependencies: - bs58check "<3.0.0" - -+wordwrapjs@^4.0.0: -+ version "4.0.1" -+ resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" -+ integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== -+ dependencies: -+ reduce-flatten "^2.0.0" -+ typical "^5.2.0" -+ - wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" -@@ -9277,16 +9681,16 @@ ws@8.17.1, ws@~8.17.1: - resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" - integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== - -+ws@8.18.0, ws@^8.13.0, ws@^8.14.2: -+ version "8.18.0" -+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" -+ integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== -+ - ws@^7.5.1: - version "7.5.10" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" - integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== - --ws@^8.13.0: -- version "8.18.0" -- resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" -- integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== -- - xmlhttprequest-ssl@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" -@@ -9367,7 +9771,7 @@ yargs@^15.3.1: - y18n "^4.0.0" - yargs-parser "^18.1.2" - --yargs@^17.5.1, yargs@^17.7.2: -+yargs@^17.7.2: - version "17.7.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== -@@ -9399,9 +9803,17 @@ youtube-player@5.5.2: - load-script "^1.0.0" - sister "^3.0.0" - --zustand@4.4.1: -- version "4.4.1" -- resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.1.tgz#0cd3a3e4756f21811bd956418fdc686877e8b3b0" -- integrity sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw== -+yup@^1.4.0: -+ version "1.6.0" -+ resolved "https://registry.yarnpkg.com/yup/-/yup-1.6.0.tgz#70d4e81ed7b73564f86efa25c7c469cadcabf665" -+ integrity sha512-/dny6arMf5CV6ZPAGpXYVw0wR8qcDF15H8zILTQWoRf6jHN1nJNFL1IAlFfUMlO7QGifMVHZle/l8YJdxtWfxg== - dependencies: -- use-sync-external-store "1.2.0" -+ property-expr "^2.0.5" -+ tiny-case "^1.0.3" -+ toposort "^2.0.2" -+ type-fest "^2.19.0" -+ -+zustand@5.0.0: -+ version "5.0.0" -+ resolved "https://registry.yarnpkg.com/zustand/-/zustand-5.0.0.tgz#71f8aaecf185592a3ba2743d7516607361899da9" -+ integrity sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ== diff --git a/yarn.lock b/yarn.lock index 659b7fea..d4d8fa9d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3710,7 +3710,7 @@ "@walletconnect/ethereum-provider" "2.17.0" cbw-sdk "npm:@coinbase/wallet-sdk@3.9.3" -"@wagmi/core@2.16.3", "@wagmi/core@^2.16.1": +"@wagmi/core@2.16.3": version "2.16.3" resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.16.3.tgz#abbff0a19e75beaad56ffb90da772641552d49c3" integrity sha512-SVovoWHaQ2AIkmGf+ucNijT6AHXcTMffFcLmcFF6++y21x+ge7Gkh3UoJiU91SDDv8n08eTQ9jbyia3GEgU5jQ== @@ -9515,7 +9515,7 @@ vitest@^0.34.6: vite-node "0.34.6" why-is-node-running "^2.2.2" -wagmi@^2.12.16: +wagmi@2.14.6, wagmi@^2.12.16: version "2.14.6" resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.14.6.tgz#046db4c119f53c276c9f2d4b0034fe2ebc3ff05c" integrity sha512-h8KDjPiXywZcKAbGttGDlZpwabZynR4lZ8eDO63tNgfxiMyhld0M5bMcB/u7XnH2xFgd0gq7PA2RVz96XMjazw== From 5324e410a320abb8c6dadc2d95c34577cedf150c Mon Sep 17 00:00:00 2001 From: Polybius93 Date: Tue, 7 Jan 2025 09:58:03 +0100 Subject: [PATCH 5/7] feat: update gardenfi packages --- package.json | 4 ++-- vite.config.ts | 10 +++++++++- yarn.lock | 18 +++++++++--------- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 0f9317e7..91f8dfc3 100644 --- a/package.json +++ b/package.json @@ -30,9 +30,9 @@ "@fontsource/inter": "^5.0.18", "@fontsource/onest": "^5.0.3", "@fontsource/poppins": "^5.0.8", - "@gardenfi/core": "2.0.1", + "@gardenfi/core": "2.0.2", "@gardenfi/orderbook": "2.0.0", - "@gardenfi/react-hooks": "2.0.0", + "@gardenfi/react-hooks": "2.0.1", "@gardenfi/utils": "2.0.0", "@gemwallet/api": "^3.8.0", "@ledgerhq/hw-app-xrp": "^6.29.4", diff --git a/vite.config.ts b/vite.config.ts index 014a3402..9bf72cff 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -86,7 +86,7 @@ export default defineConfig(async ({ mode }) => { build: { target: 'esnext', rollupOptions: { - external: ['@safe-window/safe-apps-sdk'] + external: ['@safe-window/safe-apps-sdk', '@safe-window/safe-apps-provider'], } }, define: { @@ -95,6 +95,14 @@ export default defineConfig(async ({ mode }) => { }, resolve: { alias: [ + { + find: '@safe-window/safe-apps-provider', + replacement: '@safe-global/safe-apps-provider' + }, + { + find: '@safe-window/safe-apps-sdk', + replacement: '@safe-global/safe-apps-sdk' + }, { find: "@store", replacement: resolve(__dirname, './src/app/store') diff --git a/yarn.lock b/yarn.lock index d4d8fa9d..75baa9d7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1932,10 +1932,10 @@ resolved "https://registry.npmjs.org/@fontsource/poppins/-/poppins-5.0.12.tgz" integrity sha512-0qzBxtIJLh82iMJ9pCXKYwGs1zyS+jyUmwVJ59+JdYnEaFVkDsxVOk9yDWfVOs14ALUneodU2m5YSGma6dCYCw== -"@gardenfi/core@2.0.1", "@gardenfi/core@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@gardenfi/core/-/core-2.0.1.tgz#987a49267c08c1f8b7951d1c6a0c15d2dd14328d" - integrity sha512-EQrLsJPpagUwqV85f/eNUi8uEWe/4oXE560rX8u1SCfaZM2MAeaat3+K6yUjWTkSuuR0gUQlga0TnTj2Zb76og== +"@gardenfi/core@2.0.2", "@gardenfi/core@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@gardenfi/core/-/core-2.0.2.tgz#c435dd4719efa2018c901d17de514a6da032a339" + integrity sha512-beLMDkbLHpCRlIUERNiFlm4+R2QUbx/wG98SDzQYZ5Xp+25vzkpAW1BCQtBZrWqS0OmO7CgXBax7l/TxZWcQ6w== dependencies: "@catalogfi/utils" "^0.1.6" "@catalogfi/wallets" "^0.2.51" @@ -1960,14 +1960,14 @@ viem "^2.21.15" ws "^8.14.2" -"@gardenfi/react-hooks@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@gardenfi/react-hooks/-/react-hooks-2.0.0.tgz#03d7c3d6fd982adb21901b04ded2f8f3ffe557cd" - integrity sha512-lG14FCBM09p84PVSld2k1x091uEE4oUjJUcUgHItSvTwy3x7rvRbj4jEoeYdq4gyTmLMCYRWOFOjA+HKkTIadg== +"@gardenfi/react-hooks@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@gardenfi/react-hooks/-/react-hooks-2.0.1.tgz#183cb4882050c5592ff13e84ed38f7561c979d75" + integrity sha512-+d92pJYQ3th4cFzUx2ixVyeqcEBMm5VefIEIf3Zg1JxbXbxrfHCSB3uZa6KAN9t+JbRhM74r2nqyP1C6N9wqhQ== dependencies: "@catalogfi/utils" "^0.1.6" "@catalogfi/wallets" "^0.2.51" - "@gardenfi/core" "^2.0.0" + "@gardenfi/core" "^2.0.2" "@gardenfi/orderbook" "^2.0.0" "@gardenfi/utils" "^2.0.0" react "^18.3.1" From d12f551dc443871e61c6cef03587c239f4fd46a3 Mon Sep 17 00:00:00 2001 From: Polybius93 Date: Tue, 7 Jan 2025 12:45:25 +0100 Subject: [PATCH 6/7] feat: update gardenfi package --- package.json | 5 +++-- vite.config.ts | 12 ------------ yarn.lock | 46 ++++++++++++++++++++++++++++++++++++++++------ 3 files changed, 43 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 91f8dfc3..3de19790 100644 --- a/package.json +++ b/package.json @@ -32,13 +32,14 @@ "@fontsource/poppins": "^5.0.8", "@gardenfi/core": "2.0.2", "@gardenfi/orderbook": "2.0.0", - "@gardenfi/react-hooks": "2.0.1", + "@gardenfi/react-hooks": "2.0.3", "@gardenfi/utils": "2.0.0", "@gemwallet/api": "^3.8.0", "@ledgerhq/hw-app-xrp": "^6.29.4", "@ledgerhq/hw-transport-webusb": "^6.28.6", "@netlify/functions": "^2.8.1", "@reduxjs/toolkit": "^1.9.7", + "@rollup/plugin-inject": "^5.0.5", "@tanstack/react-form": "^0.33.0", "@tanstack/react-query": "^5.51.16", "@trivago/prettier-plugin-sort-imports": "^4.2.1", @@ -68,8 +69,8 @@ "redux": "^4.2.1", "redux-persist": "^6.0.0", "redux-persist-expire": "^1.1.1", - "vite-plugin-toml": "^0.7.0", "viem": "^2.21.15", + "vite-plugin-toml": "^0.7.0", "wagmi": "2.14.6", "xrpl": "^4.0.0" }, diff --git a/vite.config.ts b/vite.config.ts index 9bf72cff..bf2ce212 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -85,24 +85,12 @@ export default defineConfig(async ({ mode }) => { plugins: [react(), wasm(), ViteToml()], build: { target: 'esnext', - rollupOptions: { - external: ['@safe-window/safe-apps-sdk', '@safe-window/safe-apps-provider'], - } }, define: { - global: 'window', appConfiguration, }, resolve: { alias: [ - { - find: '@safe-window/safe-apps-provider', - replacement: '@safe-global/safe-apps-provider' - }, - { - find: '@safe-window/safe-apps-sdk', - replacement: '@safe-global/safe-apps-sdk' - }, { find: "@store", replacement: resolve(__dirname, './src/app/store') diff --git a/yarn.lock b/yarn.lock index 75baa9d7..c2ef36e7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1960,10 +1960,10 @@ viem "^2.21.15" ws "^8.14.2" -"@gardenfi/react-hooks@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@gardenfi/react-hooks/-/react-hooks-2.0.1.tgz#183cb4882050c5592ff13e84ed38f7561c979d75" - integrity sha512-+d92pJYQ3th4cFzUx2ixVyeqcEBMm5VefIEIf3Zg1JxbXbxrfHCSB3uZa6KAN9t+JbRhM74r2nqyP1C6N9wqhQ== +"@gardenfi/react-hooks@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@gardenfi/react-hooks/-/react-hooks-2.0.3.tgz#8e9afd30467773db46655670459b612f29da18ba" + integrity sha512-jD+JhVHOvxUbbZc7IembVPU5/ZwMAcAKGljJ1vAxVkeGEoAeBv2Qz2aqY5A2bepOodgovPkkTb/6KpK4f0oFOw== dependencies: "@catalogfi/utils" "^0.1.6" "@catalogfi/wallets" "^0.2.51" @@ -1972,7 +1972,6 @@ "@gardenfi/utils" "^2.0.0" react "^18.3.1" viem "^2.21.15" - wagmi "^2.12.16" "@gardenfi/utils@2.0.0", "@gardenfi/utils@^2.0.0": version "2.0.0" @@ -2039,6 +2038,11 @@ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" @@ -2710,6 +2714,24 @@ dependencies: web-streams-polyfill "^3.1.1" +"@rollup/plugin-inject@^5.0.5": + version "5.0.5" + resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz#616f3a73fe075765f91c5bec90176608bed277a3" + integrity sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg== + dependencies: + "@rollup/pluginutils" "^5.0.1" + estree-walker "^2.0.2" + magic-string "^0.30.3" + +"@rollup/pluginutils@^5.0.1": + version "5.1.4" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz#bb94f1f9eaaac944da237767cdfee6c5b2262d4a" + integrity sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^4.0.2" + "@rollup/pluginutils@^5.0.5": version "5.1.0" resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz" @@ -7278,6 +7300,13 @@ magic-string@^0.30.1: dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" +magic-string@^0.30.3: + version "0.30.17" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" + integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" @@ -7767,6 +7796,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" + integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== + pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" @@ -9515,7 +9549,7 @@ vitest@^0.34.6: vite-node "0.34.6" why-is-node-running "^2.2.2" -wagmi@2.14.6, wagmi@^2.12.16: +wagmi@2.14.6: version "2.14.6" resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.14.6.tgz#046db4c119f53c276c9f2d4b0034fe2ebc3ff05c" integrity sha512-h8KDjPiXywZcKAbGttGDlZpwabZynR4lZ8eDO63tNgfxiMyhld0M5bMcB/u7XnH2xFgd0gq7PA2RVz96XMjazw== From ac1c9ea4860f2ace1226586c49aa0edae4ed664f Mon Sep 17 00:00:00 2001 From: Polybius93 Date: Tue, 7 Jan 2025 15:16:28 +0100 Subject: [PATCH 7/7] feat: modified vite config, updated gardenfi version, updated swap header --- package.json | 1 + .../swap/components/swap-header.tsx | 19 +- src/app/hooks/use-swap.ts | 13 +- vite.config.ts | 13 +- yarn.lock | 469 +++++++++++++++++- 5 files changed, 483 insertions(+), 32 deletions(-) diff --git a/package.json b/package.json index 3de19790..19646b24 100644 --- a/package.json +++ b/package.json @@ -70,6 +70,7 @@ "redux-persist": "^6.0.0", "redux-persist-expire": "^1.1.1", "viem": "^2.21.15", + "vite-plugin-node-polyfills": "^0.22.0", "vite-plugin-toml": "^0.7.0", "wagmi": "2.14.6", "xrpl": "^4.0.0" diff --git a/src/app/components/swap/components/swap-header.tsx b/src/app/components/swap/components/swap-header.tsx index afa0820d..c899ab3b 100644 --- a/src/app/components/swap/components/swap-header.tsx +++ b/src/app/components/swap/components/swap-header.tsx @@ -2,16 +2,25 @@ import { HStack, Text } from '@chakra-ui/react'; // import { SwapNetworksMenu } from './swap-networks-menu'; +const SupportedEVMNetworks = { + mainnet: 'Arbitrum', + testnet: 'Arbitrum Sepolia', + devnet: 'Arbitrum Sepolia', + localhost: 'Arbitrum Sepolia', +}; export function SwapHeader(): React.JSX.Element { return ( - + Swap - - {/* {}} /> */} - {/* {}} /> */} - + + on {SupportedEVMNetworks[appConfiguration.appEnvironment]} + + {/* */} + {/* {}} /> */} + {/* {}} /> */} + {/* */} ); } diff --git a/src/app/hooks/use-swap.ts b/src/app/hooks/use-swap.ts index 9132274d..e15f8ab2 100644 --- a/src/app/hooks/use-swap.ts +++ b/src/app/hooks/use-swap.ts @@ -16,11 +16,6 @@ interface QuoteParams { isExactOut?: boolean; } -enum SupportedEVMNetworks { - ArbitrumSepolia = '421614', - BaseSepolia = '84532', -} - const SUPPORTED_ASSETS_BTC_MAP = { mainnet: SupportedAssets.mainnet.bitcoin_BTC, testnet: SupportedAssets.testnet.bitcoin_testnet_BTC, @@ -29,8 +24,10 @@ const SUPPORTED_ASSETS_BTC_MAP = { }; const SUPPORTED_ASSETS_IBTC_MAP = { - [SupportedEVMNetworks.ArbitrumSepolia]: SupportedAssets.testnet.arbitrum_sepolia_iBTC, - [SupportedEVMNetworks.BaseSepolia]: SupportedAssets.testnet.base_sepolia_iBTC, + mainnet: SupportedAssets.mainnet.arbitrum_iBTC, + testnet: SupportedAssets.testnet.arbitrum_sepolia_iBTC, + devnet: SupportedAssets.testnet.arbitrum_sepolia_iBTC, + localhost: SupportedAssets.testnet.arbitrum_sepolia_iBTC, }; function useDebounce(value: T, delay: number): T { @@ -71,7 +68,7 @@ export function useSwap(): UseSwapReturnType { const { swapAndInitiate, getQuote } = useGarden(); const [inputToken, setInputToken] = useState( - SUPPORTED_ASSETS_IBTC_MAP[SupportedEVMNetworks.ArbitrumSepolia] + SUPPORTED_ASSETS_IBTC_MAP[appConfiguration.appEnvironment] ); const [inputAmount, setInputAmount] = useState('0.01'); diff --git a/vite.config.ts b/vite.config.ts index bf2ce212..f54ae53c 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -6,6 +6,7 @@ import { readFileSync } from 'fs'; import wasm from 'vite-plugin-wasm'; import { EthereumNetworkID } from 'dlc-btc-lib/models'; import { supportedEthereumNetworks } from 'dlc-btc-lib/constants'; +import { nodePolyfills } from "vite-plugin-node-polyfills"; const SOLIDITY_CONTRACT_URL = 'https://raw.githubusercontent.com/DLC-link/dlc-solidity'; @@ -82,8 +83,13 @@ export default defineConfig(async ({ mode }) => { return { - plugins: [react(), wasm(), ViteToml()], - build: { + plugins: [react(), wasm(), ViteToml(),nodePolyfills({ + globals: { + process: true, + Buffer: true, + global: true, + }, + })], build: { target: 'esnext', }, define: { @@ -115,8 +121,7 @@ export default defineConfig(async ({ mode }) => { find: "@pages", replacement: resolve(__dirname, './src/app/pages') }, - { - find: "@shared", + { find: "@shared", replacement: resolve(__dirname, './src/shared') }, { diff --git a/yarn.lock b/yarn.lock index c2ef36e7..fe01ce91 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4287,6 +4287,26 @@ arraybuffer.prototype.slice@^1.0.3: is-array-buffer "^3.0.4" is-shared-array-buffer "^1.0.2" +asn1.js@^4.10.1: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +assert@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" + integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== + dependencies: + call-bind "^1.0.2" + is-nan "^1.3.2" + object-is "^1.1.5" + object.assign "^4.1.4" + util "^0.12.5" + assertion-error@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" @@ -4514,6 +4534,11 @@ bitcoinjs-lib@^6.1.5, bitcoinjs-lib@^6.1.6: typeforce "^1.11.3" varuint-bitcoin "^1.1.2" +bn.js@^4.0.0, bn.js@^4.1.0: + version "4.12.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.1.tgz#215741fe3c9dba2d7e12c001d0cfdbae43975ba7" + integrity sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg== + bn.js@^4.11.8, bn.js@^4.11.9: version "4.12.0" resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" @@ -4558,11 +4583,81 @@ braces@^3.0.3, braces@~3.0.2: dependencies: fill-range "^7.1.1" -brorand@^1.1.0: +brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== +browser-resolve@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-2.0.0.tgz#99b7304cb392f8d73dba741bb2d7da28c6d7842b" + integrity sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ== + dependencies: + resolve "^1.17.0" + +browserify-aes@^1.0.4, browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.1.tgz#06e530907fe2949dc21fc3c2e2302e10b1437238" + integrity sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ== + dependencies: + bn.js "^5.2.1" + randombytes "^2.1.0" + safe-buffer "^5.2.1" + +browserify-sign@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.3.tgz#7afe4c01ec7ee59a89a558a4b75bd85ae62d4208" + integrity sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw== + dependencies: + bn.js "^5.2.1" + browserify-rsa "^4.1.0" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.5" + hash-base "~3.0" + inherits "^2.0.4" + parse-asn1 "^5.1.7" + readable-stream "^2.3.8" + safe-buffer "^5.2.1" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + browserslist@^4.22.2: version "4.23.0" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" @@ -4609,6 +4704,11 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +buffer-xor@^1.0.3: + version "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: version "6.0.3" resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" @@ -4617,6 +4717,14 @@ buffer@6.0.3, buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" +buffer@^5.7.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + bufferutil@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" @@ -4624,11 +4732,34 @@ bufferutil@^4.0.8: 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" + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== + cac@^6.7.14: version "6.7.14" resolved "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz" integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== +call-bind-apply-helpers@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz#32e5892e6361b29b0b545ba6f7763378daca2840" + integrity sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bind@^1.0.0: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" + get-intrinsic "^1.2.4" + set-function-length "^1.2.2" + call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: version "1.0.7" resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" @@ -4727,6 +4858,14 @@ chokidar@^3.6.0: optionalDependencies: fsevents "~2.3.2" +cipher-base@^1.0.0: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.6.tgz#8fe672437d01cd6c4561af5334e0cc50ff1955f7" + integrity sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw== + dependencies: + inherits "^2.0.4" + safe-buffer "^5.2.1" + cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" @@ -4870,6 +5009,16 @@ consola@^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: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== + convert-source-map@^1.5.0: version "1.9.0" resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" @@ -4923,7 +5072,15 @@ crc-32@^1.2.0: resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== -create-hash@^1.1.0, create-hash@^1.2.0: +create-ecdh@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== @@ -4934,7 +5091,7 @@ create-hash@^1.1.0, create-hash@^1.2.0: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@^1.1.3, create-hmac@^1.1.7: +create-hmac@^1.1.3, create-hmac@^1.1.4, create-hmac@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== @@ -4946,6 +5103,11 @@ create-hmac@^1.1.3, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" +create-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + cross-fetch@3.1.6: version "3.1.6" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.6.tgz#bae05aa31a4da760969756318feeee6e70f15d6c" @@ -4981,6 +5143,24 @@ crossws@^0.2.0, crossws@^0.2.4: resolved "https://registry.yarnpkg.com/crossws/-/crossws-0.2.4.tgz#82a8b518bff1018ab1d21ced9e35ffbe1681ad03" integrity sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg== +crypto-browserify@^3.11.0: + version "3.12.1" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.1.tgz#bb8921bec9acc81633379aa8f52d69b0b69e0dac" + integrity sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ== + dependencies: + browserify-cipher "^1.0.1" + browserify-sign "^4.2.3" + create-ecdh "^4.0.4" + create-hash "^1.2.0" + create-hmac "^1.1.7" + diffie-hellman "^5.0.3" + hash-base "~3.0.4" + inherits "^2.0.4" + pbkdf2 "^3.1.2" + public-encrypt "^4.0.3" + randombytes "^2.1.0" + randomfill "^1.0.4" + css-box-model@1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz" @@ -5464,6 +5644,14 @@ dequal@^2.0.3: resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== +des.js@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" + integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== + dependencies: + 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" @@ -5489,6 +5677,15 @@ diff-sequences@^29.4.3: resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== +diffie-hellman@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + dijkstrajs@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" @@ -5542,6 +5739,11 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +domain-browser@4.22.0: + version "4.22.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.22.0.tgz#6ddd34220ec281f9a65d3386d267ddd35c491f9f" + integrity sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw== + dotenv@^16.3.1: version "16.4.5" resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz" @@ -5607,7 +5809,7 @@ elliptic@^6.4.0: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" -elliptic@^6.5.7: +elliptic@^6.5.3, elliptic@^6.5.5, elliptic@^6.5.7: version "6.6.1" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== @@ -6155,11 +6357,19 @@ eventemitter3@5.0.1, eventemitter3@^5.0.1: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== -events@3.3.0, events@^3.3.0: +events@3.3.0, events@^3.0.0, events@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + execa@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" @@ -6599,6 +6809,14 @@ hash-base@^3.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" +hash-base@~3.0, hash-base@~3.0.4: + version "3.0.5" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.5.tgz#52480e285395cf7fba17dc4c9e47acdc7f248a8a" + integrity sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg== + dependencies: + inherits "^2.0.4" + safe-buffer "^5.2.1" + hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" @@ -6640,6 +6858,11 @@ http-shutdown@^1.2.2: resolved "https://registry.yarnpkg.com/http-shutdown/-/http-shutdown-1.2.2.tgz#41bc78fc767637c4c95179bc492f312c0ae64c5f" integrity sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw== +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== + human-signals@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" @@ -6657,7 +6880,7 @@ idb-keyval@^6.2.1: resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-6.2.1.tgz#94516d625346d16f56f3b33855da11bfded2db33" integrity sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg== -ieee754@^1.2.1: +ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -6693,7 +6916,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -6786,6 +7009,13 @@ is-core-module@^2.13.0, is-core-module@^2.13.1: dependencies: hasown "^2.0.0" +is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== + dependencies: + hasown "^2.0.2" + is-data-view@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz" @@ -6848,6 +7078,14 @@ is-map@^2.0.3: resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz" integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== +is-nan@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" + integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + is-negative-zero@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz" @@ -6970,6 +7208,11 @@ isexe@^2.0.0: resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +isomorphic-timers-promises@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz#e4137c24dbc54892de8abae3a4b5c1ffff381598" + integrity sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ== + isows@1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.4.tgz#810cd0d90cc4995c26395d2aa4cfa4037ebdf061" @@ -7359,6 +7602,14 @@ micromatch@^4.0.5: braces "^3.0.3" picomatch "^2.3.1" +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" @@ -7539,6 +7790,39 @@ node-releases@^2.0.14: resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-stdlib-browser@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/node-stdlib-browser/-/node-stdlib-browser-1.3.0.tgz#6e04d149f9abfc345a2271b2820a75df0f9cd7de" + integrity sha512-g/koYzOr9Fb1Jc+tHUHlFd5gODjGn48tHexUK8q6iqOVriEgSnd3/1T7myBYc+0KBVze/7F7n65ec9rW6OD7xw== + dependencies: + assert "^2.0.0" + browser-resolve "^2.0.0" + browserify-zlib "^0.2.0" + buffer "^5.7.1" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + create-require "^1.1.1" + crypto-browserify "^3.11.0" + domain-browser "4.22.0" + events "^3.0.0" + https-browserify "^1.0.0" + isomorphic-timers-promises "^1.0.1" + os-browserify "^0.3.0" + path-browserify "^1.0.1" + pkg-dir "^5.0.0" + process "^0.11.10" + punycode "^1.4.1" + querystring-es3 "^0.2.1" + readable-stream "^3.6.0" + stream-browserify "^3.0.0" + stream-http "^3.2.0" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.1" + url "^0.11.4" + util "^0.12.4" + vm-browserify "^1.0.1" + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -7570,6 +7854,14 @@ object-inspect@^1.13.1: resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== +object-is@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + object-keys@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" @@ -7676,6 +7968,11 @@ optionator@^0.9.3: prelude-ls "^1.2.1" type-check "^0.4.0" +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== + ox@0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/ox/-/ox-0.6.0.tgz#ba8f89d68b5e8afe717c8a947ffacc0669ea155d" @@ -7729,6 +8026,11 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" @@ -7736,6 +8038,18 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-asn1@^5.0.0, parse-asn1@^5.1.7: + version "5.1.7" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.7.tgz#73cdaaa822125f9647165625eb45f8a051d2df06" + integrity sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg== + dependencies: + asn1.js "^4.10.1" + browserify-aes "^1.2.0" + evp_bytestokey "^1.0.3" + hash-base "~3.0" + pbkdf2 "^3.1.2" + safe-buffer "^5.2.1" + parse-json@^5.0.0: version "5.2.0" resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" @@ -7746,6 +8060,11 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" +path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + path-exists@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" @@ -7786,6 +8105,17 @@ pathval@^1.1.1: resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== +pbkdf2@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" @@ -7841,6 +8171,13 @@ pino@7.11.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" + integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== + dependencies: + find-up "^5.0.0" + pkg-types@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz" @@ -7983,6 +8320,18 @@ proxy-from-env@^1.1.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== +public-encrypt@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -7991,6 +8340,11 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + punycode@^2.1.0: version "2.3.1" resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" @@ -8013,6 +8367,13 @@ qrcode@1.5.3: pngjs "^5.0.0" yargs "^15.3.1" +qs@^6.12.3: + version "6.13.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.1.tgz#3ce5fc72bd3a8171b85c99b93c65dd20b7d1b16e" + integrity sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg== + dependencies: + side-channel "^1.0.6" + query-string@7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" @@ -8023,6 +8384,11 @@ query-string@7.1.3: 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" + integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" @@ -8043,13 +8409,21 @@ ramda@0.30.1, ramda@^0.30.1: resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.30.1.tgz#7108ac95673062b060025052cd5143ae8fc605bf" integrity sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw== -randombytes@^2.0.1, randombytes@^2.1.0: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" +randomfill@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + react-apexcharts@^1.4.1: version "1.4.1" resolved "https://registry.npmjs.org/react-apexcharts/-/react-apexcharts-1.4.1.tgz" @@ -8212,7 +8586,7 @@ react@^18.3.1: dependencies: loose-envify "^1.1.0" -readable-stream@^2.3.3: +readable-stream@^2.3.3, readable-stream@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -8225,7 +8599,7 @@ readable-stream@^2.3.3: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.1.1, readable-stream@^3.6.0, readable-stream@^3.6.2: +readable-stream@^3.1.1, readable-stream@^3.5.0, readable-stream@^3.6.0, readable-stream@^3.6.2: version "3.6.2" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -8335,6 +8709,15 @@ resolve-from@^4.0.0: resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve@^1.17.0: + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== + dependencies: + is-core-module "^2.16.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + resolve@^1.19.0, resolve@^1.22.4: version "1.22.8" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" @@ -8464,7 +8847,7 @@ safe-array-concat@^1.1.2: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -8544,7 +8927,7 @@ set-cookie-parser@^2.4.8: resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.7.0.tgz#ef5552b56dc01baae102acb5fc9fb8cd060c30f9" integrity sha512-lXLOiqpkUumhRdFF3k1osNXCy9akgx/dyPZ5p8qAg9seJzXr5ZrlqZuWIMuY6ejOsVLE6flJ5/h3lsn57fQ/PQ== -set-function-length@^1.2.1: +set-function-length@^1.2.1, set-function-length@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== @@ -8566,6 +8949,11 @@ set-function-name@^2.0.1, set-function-name@^2.0.2: functions-have-names "^1.2.3" has-property-descriptors "^1.0.2" +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + sha.js@2, sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: version "2.4.11" resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" @@ -8714,6 +9102,24 @@ std-env@^3.3.3, std-env@^3.7.0: resolved "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz" integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== +stream-browserify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +stream-http@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" + integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.4" + readable-stream "^3.6.0" + xtend "^4.0.2" + stream-shift@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b" @@ -8789,7 +9195,7 @@ string.prototype.trimstart@^1.0.7: define-properties "^1.2.1" es-object-atoms "^1.0.0" -string_decoder@^1.1.1, string_decoder@^1.3.0: +string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -8950,6 +9356,13 @@ thread-stream@^0.15.1: dependencies: real-require "^0.1.0" +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" + tiny-case@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/tiny-case/-/tiny-case-1.0.3.tgz#d980d66bc72b5d5a9ca86fb7c9ffdb9c898ddd03" @@ -9118,6 +9531,11 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" +tty-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" + integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== + turbo-stream@2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/turbo-stream/-/turbo-stream-2.4.0.tgz#1e4fca6725e90fa14ac4adb782f2d3759a5695f0" @@ -9347,6 +9765,14 @@ uri-js@^4.2.2, uri-js@^4.4.1: dependencies: punycode "^2.1.0" +url@^0.11.4: + version "0.11.4" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.4.tgz#adca77b3562d56b72746e76b330b7f27b6721f3c" + integrity sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg== + dependencies: + punycode "^1.4.1" + qs "^6.12.3" + urlpattern-polyfill@8.0.2: version "8.0.2" resolved "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz" @@ -9396,7 +9822,7 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util@^0.12.3, util@^0.12.4: +util@^0.12.3, util@^0.12.4, util@^0.12.5: version "0.12.5" resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== @@ -9484,6 +9910,14 @@ vite-node@0.34.6: picocolors "^1.0.0" vite "^3.0.0 || ^4.0.0 || ^5.0.0-0" +vite-plugin-node-polyfills@^0.22.0: + version "0.22.0" + resolved "https://registry.yarnpkg.com/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.22.0.tgz#d0afcf82eb985fc02244620d7cec1ddd1c6e0864" + integrity sha512-F+G3LjiGbG8QpbH9bZ//GSBr9i1InSTkaulfUHFa9jkLqVGORFBoqc2A/Yu5Mmh1kNAbiAeKeK+6aaQUf3x0JA== + dependencies: + "@rollup/plugin-inject" "^5.0.5" + node-stdlib-browser "^1.2.0" + vite-plugin-toml@^0.7.0: version "0.7.0" resolved "https://registry.npmjs.org/vite-plugin-toml/-/vite-plugin-toml-0.7.0.tgz" @@ -9549,6 +9983,11 @@ vitest@^0.34.6: vite-node "0.34.6" why-is-node-running "^2.2.2" +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + wagmi@2.14.6: version "2.14.6" resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.14.6.tgz#046db4c119f53c276c9f2d4b0034fe2ebc3ff05c" @@ -9759,7 +10198,7 @@ xrpl@4.0.0, xrpl@^4.0.0: ripple-binary-codec "^2.1.0" ripple-keypairs "^2.0.0" -xtend@^4.0.1: +xtend@^4.0.1, xtend@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==