From 376ff340ad9a0e15efec997c560f7e4db765f65c Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 8 Nov 2022 16:33:17 -0800 Subject: handle on-chain deposits --- src/lib/socket.js | 13 ++++++++++--- src/lib/store.js | 1 + 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src/lib') diff --git a/src/lib/socket.js b/src/lib/socket.js index 079c8f96..6678b979 100644 --- a/src/lib/socket.js +++ b/src/lib/socket.js @@ -1,7 +1,8 @@ import { get } from 'svelte/store'; -import { invoices, invoice, request, newPayment, last, rate, user } from '$lib/store'; +import { invoices, invoice, request, newPayment, last, rate, txns, user } from '$lib/store'; import { success, sat } from '$lib/utils'; import { env } from '$env/dynamic/public'; +import { invalidate } from '$app/navigation'; const socketUrl = env.PUBLIC_SOCKET; const btc = env.PUBLIC_BTC; @@ -41,9 +42,15 @@ export const messages = (data) => ({ if (get(user).account_id !== data.account_id) return; - newPayment.set(true); + let payments = get(txns); + let i = payments.findIndex((p) => p.id === data.id); + if (~i) (payments[i] = data), txns.set(payments); + else newPayment.set(true); + + invalidate((url) => url.pathname === '/payments'); + if (amount > 0) { - success(`Received ${sat(amount)}!`); + success(`${data.confirmed ? 'Received' : 'Detected'} ${sat(amount)}!`); } else { success(`Sent ${sat(amount)}!`); } diff --git a/src/lib/store.js b/src/lib/store.js index 3faa234b..3105419c 100644 --- a/src/lib/store.js +++ b/src/lib/store.js @@ -46,3 +46,4 @@ export const pin = persistSession('pin', undefined, 5 * 60 * 1000); export const last = writable(); export const request = writable(); export const invoice = writable(); +export const txns = persistLocal('transactions', []); -- cgit v1.2.3