diff --git a/README.md b/README.md index 83ce1c9..d116244 100644 --- a/README.md +++ b/README.md @@ -67,8 +67,7 @@ apps/desktop/ ## Dependencies -- [Ethers](https://docs.ethers.org) — EVM wallet operations -- [Viem](https://viem.sh) — EVM chain RPC calls +- [Viem](https://viem.sh) — EVM chain RPC calls + wallet operations - [monero-ts](https://github.com/woodser/monero-ts) — Monero RPC client - [Drizzle ORM](https://orm.drizzle.team) — SQLite schema + queries - [Svelte 5](https://svelte.dev) — UI framework diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 0d1e677..fd4028b 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -19,7 +19,6 @@ "@koins/utils": "workspace:*", "drizzle-orm": "^1.0.0-beta.22", "electrobun": "^1.18.1", - "ethers": "^6.16.0", "mode-watcher": "^1.1.0", "monero-ts": "^0.11.8", "qrcode": "^1.5.4", diff --git a/apps/desktop/src/lib/states/wallet.svelte.ts b/apps/desktop/src/lib/states/wallet.svelte.ts index 9e05e37..a2e8687 100644 --- a/apps/desktop/src/lib/states/wallet.svelte.ts +++ b/apps/desktop/src/lib/states/wallet.svelte.ts @@ -1,4 +1,5 @@ -import { JsonRpcProvider, HDNodeWallet, formatEther } from 'ethers' +import { mnemonicToAccount } from 'viem/accounts' +import { createPublicClient, http, formatEther } from 'viem' import { electrobun, type TxEntry, type MoneroTxEntry, type MoneroAccountEntry } from '$lib/electrobun' import { tryCatch } from '@koins/utils' @@ -180,7 +181,7 @@ export const Wallet = () => { loading = true error = '' try { - HDNodeWallet.fromPhrase(phrase.trim()) + mnemonicToAccount(phrase.trim()) await electrobun.rpc?.request.setSecret({ service: 'koins', name: 'vault', @@ -293,11 +294,11 @@ export const Wallet = () => { loading = true error = '' tokenBalances = [] - const wallet = HDNodeWallet.fromPhrase(seed) - address = wallet.address - const provider = new JsonRpcProvider(net().rpc) + const account = mnemonicToAccount(seed) + address = account.address + const client = createPublicClient({ transport: http(net().rpc) }) const [nativeBal, nativeBalError] = await tryCatch( - provider.getBalance(wallet.address), + client.getBalance({ address: account.address }), ) if (nativeBalError) { @@ -309,7 +310,7 @@ export const Wallet = () => { const [bals, balsError] = await tryCatch( electrobun.rpc.request.fetchTokenBalances({ - address: wallet.address, + address: address, chainid: net().chainid, }), )