add sweepAll for Monero send-all; add copy buttons for accounts/subaddresses

This commit is contained in:
2026-05-26 13:09:18 +08:00
parent 915f6f36f6
commit 34602a4bfa
7 changed files with 113 additions and 10 deletions
+1
View File
@@ -16,6 +16,7 @@ export {
getFeeEstimate,
getDaemonHeight,
transfer,
sweepAll,
isWalletOpen,
isConnected,
listWallets,
+27
View File
@@ -423,6 +423,33 @@ export async function getDaemonHeight(
}
}
export async function sweepAll(
state: MoneroWalletState,
address: string,
priority: number = 0,
accountIndex: number = 0,
): Promise<{ txHash: string; fee: string; amount: string }> {
if (!state.wallet) throw new Error('Wallet RPC not started')
console.log(
`[monero] sweepAll: ${address} priority=${priority} account=${accountIndex}`,
)
const result = await rawRpc(state, 'sweep_all', {
address,
priority,
account_index: accountIndex,
get_tx_keys: true,
get_tx_hex: false,
get_tx_metadata: false,
})
const txHash = result.tx_hash_list?.[0] ?? ''
const fee = result.fee_list?.[0]?.toString() ?? '0'
const amount = result.amount_list?.[0]?.toString() ?? '0'
console.log(
`[monero] sweepAll result: tx_hash=${txHash} fee=${fee} amount=${amount}`,
)
return { txHash, fee, amount }
}
export async function transfer(
state: MoneroWalletState,
address: string,