From 2b286dfa62c5cf3c3b9e14df1c3a528476edf41e Mon Sep 17 00:00:00 2001 From: xdeq Date: Wed, 18 Sep 2024 23:40:30 +0300 Subject: [PATCH 1/3] feat: leap wallet integration --- assets/logos/keplr.png | Bin 0 -> 21579 bytes assets/logos/leap.png | Bin 0 -> 3136 bytes components/Connection.vue | 90 +--------- components/modals/ConnectModal.vue | 233 ++++++++++++++++++++++++++ components/modals/ModalsManager.vue | 2 + components/modals/PayForBlobModal.vue | 47 +----- components/modals/SendModal.vue | 77 +++------ components/modals/StakingModal.vue | 85 +++------- services/{keplr.js => wallet.js} | 29 ++-- store/app.js | 4 + store/modals.js | 1 + 11 files changed, 311 insertions(+), 257 deletions(-) create mode 100644 assets/logos/keplr.png create mode 100644 assets/logos/leap.png create mode 100644 components/modals/ConnectModal.vue rename services/{keplr.js => wallet.js} (87%) diff --git a/assets/logos/keplr.png b/assets/logos/keplr.png new file mode 100644 index 0000000000000000000000000000000000000000..34a73c9da03c58b8d8250f704875a5e65aa46361 GIT binary patch literal 21579 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

&kmb0=3pYc!TnN&;PuxI<_-}2NvXL#qEmDqm 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 /** UI */ import Button from "@/components/ui/Button.vue" -import Spinner from "@/components/ui/Spinner.vue" -import Tooltip from "@/components/ui/Tooltip.vue" -import { Dropdown, DropdownItem, DropdownDivider } from "@/components/ui/Dropdown" +import { Dropdown, DropdownTitle, DropdownItem, DropdownDivider } from "@/components/ui/Dropdown" /** Services */ import amp from "@/services/amp" -import { suggestChain, getAccounts, disconnect } from "@/services/keplr" +import { disconnect } from "~/services/wallet" import { arabica, mocha, mainnet } from "@/services/chains" -/** API */ -import { fetchAddressByHash } from "@/services/api/address" - /** Store */ import { useAppStore } from "@/store/app" import { useModalsStore } from "@/store/modals" @@ -23,14 +18,13 @@ const notificationsStore = useNotificationsStore() const router = useRouter() -const isWalletAvailable = ref(false) const isFetchingAccounts = ref(false) const { hostname } = useRequestURL() switch (hostname) { case "celenium.io": - // case "dev.celenium.io": + // case "dev.celenium.io": appStore.network = mainnet break @@ -44,58 +38,10 @@ switch (hostname) { default: appStore.network = arabica break - } -const getBalance = async () => { - const key = await window.keplr.getKey(appStore.network.chainId) - - if (key) { - const { data } = await fetchAddressByHash(key.bech32Address) - - if (data.value?.balance) { - appStore.balance = parseFloat(data.value.balance.spendable / 1_000_000) || 0 - } - } -} - -onMounted(async () => { - isWalletAvailable.value = !!window.keplr -}) - const handleConnect = async () => { - try { - await suggestChain(appStore.network) - - isFetchingAccounts.value = true - - const accounts = await getAccounts(appStore.network) - if (accounts.length) { - appStore.address = accounts[0].address - } - - getBalance() - - isFetchingAccounts.value = false - - amp.log("connect") - } catch (error) { - amp.log("rejectConnect") - - switch (error.message) { - case "Request rejected": - notificationsStore.create({ - notification: { - type: "info", - icon: "close", - title: "Request rejected", - description: "You canceled the Keplr wallet request", - autoDestroy: true, - }, - }) - break - } - } + modalsStore.open("connect") } const handleCopy = (target) => { @@ -131,32 +77,7 @@ const handleDisconnect = () => { diff --git a/components/modals/ConnectModal.vue b/components/modals/ConnectModal.vue index 9583ab0a..8dc937ce 100644 --- a/components/modals/ConnectModal.vue +++ b/components/modals/ConnectModal.vue @@ -41,7 +41,7 @@ const handleConnect = async (target) => { window.wallet = window[target] try { - await connect(appStore.network) + await connect(JSON.parse(JSON.stringify(appStore.network))) const accounts = await getAccounts(appStore.network) if (accounts.length) { @@ -89,8 +89,10 @@ const handleConnect = async (target) => { - By connecting your wallet, you agree to Terms of Service and - Privacy Policy. + By connecting your wallet, you agree to + Terms of Service and + Privacy Policy. @@ -138,8 +140,8 @@ const handleConnect = async (target) => { From e583871cc86dd4facee30b13087635eeb1253d86 Mon Sep 17 00:00:00 2001 From: xdeq Date: Tue, 24 Sep 2024 22:32:53 +0300 Subject: [PATCH 3/3] fix(Connect): badge overflow --- components/modals/ConnectModal.vue | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/components/modals/ConnectModal.vue b/components/modals/ConnectModal.vue index 8dc937ce..35228466 100644 --- a/components/modals/ConnectModal.vue +++ b/components/modals/ConnectModal.vue @@ -79,11 +79,11 @@ const handleConnect = async (target) => { Connect Wallet - + {{ getNetworkName() }} - + {{ address }} @@ -186,17 +186,28 @@ const handleConnect = async (target) => { margin-top: 8px; } -.network_badge { - background: var(--brand); - border-radius: 6px; +.badge { + max-width: 250px; + + -webkit-line-clamp: 1; + white-space: nowrap; - padding: 6px; -} -.address_badge { - background: var(--op-5); border-radius: 6px; padding: 6px; + + &.network { + background: var(--brand); + } + + &.address { + background: var(--op-5); + } + + & span { + text-overflow: ellipsis; + overflow: hidden; + } } .wallet {