diff --git a/package.json b/package.json index aea27450..82362494 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@cosmjs/cosmwasm-stargate": "^0.31.1", - "@delphi-labs/shuttle-react": "^3.8.0", + "@delphi-labs/shuttle-react": "^3.9.0", "@keplr-wallet/cosmos": "^0.12.20", "@sentry/nextjs": "^7.64.0", "@splinetool/react-spline": "^2.2.1", @@ -72,4 +72,4 @@ "tailwindcss": "^3.3.3", "typescript": "5.2.2" } -} \ No newline at end of file +} diff --git a/public/images/wallets/cosmostation-wc.png b/public/images/wallets/cosmostation-wc.png new file mode 100644 index 00000000..68599ee8 Binary files /dev/null and b/public/images/wallets/cosmostation-wc.png differ diff --git a/public/images/wallets/cosmostation.png b/public/images/wallets/cosmostation.png new file mode 100644 index 00000000..68ba11be Binary files /dev/null and b/public/images/wallets/cosmostation.png differ diff --git a/public/images/wallets/keplr-wc.png b/public/images/wallets/keplr-wc.png new file mode 100644 index 00000000..cb64b3d5 Binary files /dev/null and b/public/images/wallets/keplr-wc.png differ diff --git a/public/images/wallets/keplr.png b/public/images/wallets/keplr.png index 0db08c87..7c7dcf70 100644 Binary files a/public/images/wallets/keplr.png and b/public/images/wallets/keplr.png differ diff --git a/public/images/wallets/leap-snap.png b/public/images/wallets/leap-snap.png new file mode 100644 index 00000000..3b4f6faa Binary files /dev/null and b/public/images/wallets/leap-snap.png differ diff --git a/public/images/wallets/leap-wc.png b/public/images/wallets/leap-wc.png new file mode 100644 index 00000000..f1db809c Binary files /dev/null and b/public/images/wallets/leap-wc.png differ diff --git a/public/images/wallets/leap.png b/public/images/wallets/leap.png new file mode 100644 index 00000000..5cdf0a63 Binary files /dev/null and b/public/images/wallets/leap.png differ diff --git a/public/images/wallets/station.png b/public/images/wallets/station.png index 41c27bd2..3bcf6441 100644 Binary files a/public/images/wallets/station.png and b/public/images/wallets/station.png differ diff --git a/public/images/wallets/xdefi.png b/public/images/wallets/xdefi.png new file mode 100644 index 00000000..5342a2cc Binary files /dev/null and b/public/images/wallets/xdefi.png differ diff --git a/public/images/wallets/xdelfi.png b/public/images/wallets/xdelfi.png deleted file mode 100644 index 2de78526..00000000 Binary files a/public/images/wallets/xdelfi.png and /dev/null differ diff --git a/src/components/Wallet/WalletConnectProvider.tsx b/src/components/Wallet/WalletConnectProvider.tsx index d926e648..7b2a1c7f 100644 --- a/src/components/Wallet/WalletConnectProvider.tsx +++ b/src/components/Wallet/WalletConnectProvider.tsx @@ -4,6 +4,8 @@ import { KeplrExtensionProvider, KeplrMobileProvider, LeapCosmosExtensionProvider, + LeapCosmosMobileProvider, + LeapMetamaskCosmosSnapExtensionProvider, ShuttleProvider, StationExtensionProvider, WalletExtensionProvider, @@ -37,6 +39,9 @@ const mobileProviders: WalletMobileProvider[] = [ new KeplrMobileProvider({ networks: getSupportedChainsInfos(WalletID.KeplrMobile), }), + new LeapCosmosMobileProvider({ + networks: getSupportedChainsInfos(WalletID.LeapMobile), + }), new CosmostationMobileProvider({ networks: getSupportedChainsInfos(WalletID.CosmostationMobile), }), @@ -44,10 +49,13 @@ const mobileProviders: WalletMobileProvider[] = [ const extensionProviders: WalletExtensionProvider[] = [ new KeplrExtensionProvider({ networks: getSupportedChainsInfos(WalletID.Keplr) }), - new StationExtensionProvider({ networks: getSupportedChainsInfos(WalletID.Station) }), new LeapCosmosExtensionProvider({ networks: getSupportedChainsInfos(WalletID.Leap) }), + new LeapMetamaskCosmosSnapExtensionProvider({ + networks: getSupportedChainsInfos(WalletID.LeapSnap), + }), new CosmostationExtensionProvider({ networks: getSupportedChainsInfos(WalletID.Cosmostation) }), new XDEFICosmosExtensionProvider({ networks: getSupportedChainsInfos(WalletID.Xdefi) }), + new StationExtensionProvider({ networks: getSupportedChainsInfos(WalletID.Station) }), ] export const WalletConnectProvider: FC = ({ children }) => { diff --git a/src/components/Wallet/WalletConnectedButton.tsx b/src/components/Wallet/WalletConnectedButton.tsx index 6d1b7fae..446663ea 100644 --- a/src/components/Wallet/WalletConnectedButton.tsx +++ b/src/components/Wallet/WalletConnectedButton.tsx @@ -23,6 +23,7 @@ import { ChainInfoID } from 'types/enums/wallet' import { getBaseAsset, getEnabledMarketAssets } from 'utils/assets' import { truncate } from 'utils/formatters' import { getPage, getRoute } from 'utils/route' +import WalletSelect from './WalletSelect' export default function WalletConnectedButton() { // --------------- @@ -62,6 +63,15 @@ export default function WalletConnectedButton() { if (!currentWallet) return disconnectWallet(currentWallet) useStore.setState({ client: undefined, address: undefined, accounts: null, balances: [] }) + if (focusComponent) + useStore.setState({ + focusComponent: { + component: , + onClose: () => { + useStore.setState({ focusComponent: null }) + }, + }, + }) navigate(getRoute(getPage(pathname))) } diff --git a/src/components/Wallet/WalletConnecting.tsx b/src/components/Wallet/WalletConnecting.tsx index 21df9be6..42c4947e 100644 --- a/src/components/Wallet/WalletConnecting.tsx +++ b/src/components/Wallet/WalletConnecting.tsx @@ -55,7 +55,12 @@ export default function WalletConnecting(props: Props) { useStore.setState({ client: walletClient, address: response.account.address, - focusComponent: { component: }, + focusComponent: { + component: , + onClose: () => { + useStore.setState({ focusComponent: null }) + }, + }, }) } catch (error) { setIsConnecting(false) diff --git a/src/components/Wallet/WalletSelect.tsx b/src/components/Wallet/WalletSelect.tsx index a037c9c5..4d78bfa0 100644 --- a/src/components/Wallet/WalletSelect.tsx +++ b/src/components/Wallet/WalletSelect.tsx @@ -28,6 +28,7 @@ interface WalletOptionProps { name: string imageSrc: string handleClick: () => void + showLoader?: boolean } const currentChainId = ENV.CHAIN_ID @@ -37,8 +38,9 @@ function WalletOption(props: WalletOptionProps) { return (