Add per-account transaction filtering and QR codes for Monero
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
<script lang="ts">
|
||||
import { electrobun } from '$lib/electrobun.js'
|
||||
|
||||
let { text, size = 128 }: { text: string; size?: number } = $props()
|
||||
|
||||
let svgContent = $state('')
|
||||
|
||||
$effect(() => {
|
||||
if (!text || !electrobun.rpc) return
|
||||
svgContent = ''
|
||||
electrobun.rpc.request
|
||||
.generateQrCode({ text, size })
|
||||
.then((svg) => {
|
||||
svgContent = svg
|
||||
})
|
||||
})
|
||||
</script>
|
||||
|
||||
{#if svgContent}
|
||||
{@html svgContent}
|
||||
{/if}
|
||||
@@ -123,6 +123,7 @@ export type RPC = {
|
||||
fetchTokenBalances: { params: { address: string; chainid: string }; response: TokenBalanceResult[] }
|
||||
fetchTransactionDetails: { params: { hash: string; chainid: string; address?: string }; response: TransactionDetails | null }
|
||||
openExternal: { params: { url: string }; response: void }
|
||||
generateQrCode: { params: { text: string; size?: number }; response: string }
|
||||
moneroBinaryStatus: { params: {}; response: MoneroBinaryStatus }
|
||||
moneroDownloadBinary: { params: {}; response: void }
|
||||
moneroStart: { params: { daemonAddress?: string }; response: MoneroWalletStatus }
|
||||
@@ -131,7 +132,7 @@ export type RPC = {
|
||||
moneroRestoreWallet: { params: { name: string; password: string; mnemonic: string; restoreHeight?: number }; response: { address: string } }
|
||||
moneroOpenWallet: { params: { name: string; password: string }; response: void }
|
||||
moneroGetBalance: { params: {}; response: MoneroBalance }
|
||||
moneroGetTransactions: { params: {}; response: MoneroTxEntry[] }
|
||||
moneroGetTransactions: { params: { accountIndex?: number }; response: MoneroTxEntry[] }
|
||||
moneroWalletStatus: { params: {}; response: MoneroWalletStatus }
|
||||
moneroGetAccounts: { params: {}; response: MoneroAccountEntry[] }
|
||||
moneroListWallets: { params: {}; response: string[] }
|
||||
|
||||
@@ -39,6 +39,7 @@ export const MoneroWallet = () => {
|
||||
let wallets = $state<string[]>([])
|
||||
let loading = $state(false)
|
||||
let error = $state('')
|
||||
let selectedAccountIndex = $state(0)
|
||||
|
||||
const checkBiometric = async () => {
|
||||
if (!electrobun.rpc) return
|
||||
@@ -218,7 +219,9 @@ export const MoneroWallet = () => {
|
||||
daemonHeight = bal.daemonHeight
|
||||
}
|
||||
const [result] = await tryCatch(
|
||||
electrobun.rpc.request.moneroGetTransactions({}),
|
||||
electrobun.rpc.request.moneroGetTransactions({
|
||||
accountIndex: selectedAccountIndex,
|
||||
}),
|
||||
)
|
||||
txs = result ?? []
|
||||
await fetchAccounts()
|
||||
@@ -273,6 +276,8 @@ export const MoneroWallet = () => {
|
||||
set downloading(v: boolean) { downloading = v },
|
||||
set running(v: boolean) { running = v },
|
||||
set connected(v: boolean) { connected = v },
|
||||
get selectedAccountIndex() { return selectedAccountIndex },
|
||||
set selectedAccountIndex(v: number) { selectedAccountIndex = v },
|
||||
init,
|
||||
login,
|
||||
logout,
|
||||
|
||||
Reference in New Issue
Block a user