aboutsummaryrefslogtreecommitdiffstats
path: root/lib/payments.ts
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-03-12 17:09:01 -0700
committerAdam Soltys <[email protected]>2026-03-13 15:14:51 -0700
commitd3ee2bbc3baa33140f18a95c3e4b78a797330ad0 (patch)
tree53692c72057f824628cc740f5766f8169b169be5 /lib/payments.ts
parent6cdb3175ec10fcf27efea6d4ed076af33f19d3ac (diff)
downloadcoinos-server-d3ee2bbc3baa33140f18a95c3e4b78a797330ad0.tar.gz
coinos-server-d3ee2bbc3baa33140f18a95c3e4b78a797330ad0.zip
ark fixes
Diffstat (limited to 'lib/payments.ts')
-rw-r--r--lib/payments.ts18
1 files changed, 11 insertions, 7 deletions
diff --git a/lib/payments.ts b/lib/payments.ts
index 417c0b8d..dfbdd3c4 100644
--- a/lib/payments.ts
+++ b/lib/payments.ts
@@ -390,9 +390,9 @@ export const completePayment = async (inv, p, user) => {
inv.forwarded = true;
await s(`invoice:${inv.id}`, inv);
- // Skip forward if destination belongs to the same user
+ // Skip forward if destination is the same account (not just same user)
const destInv = await getInvoice(inv.forward).catch(() => null);
- if (destInv?.uid === id) return;
+ if (destInv?.uid === id && destInv?.aid === aid) return;
await pay({ amount: p.amount, to: inv.forward, user });
} catch (e) {
@@ -762,6 +762,7 @@ export const sendOnchain = async (params) => {
p.fee = fee;
p.hex = hex;
+ (p as any).address = params.address;
(p as any).bumpReserve = bumpReserve;
(p as any).p2aVout = p2aVout;
(p as any).parentVsize = parentVsize;
@@ -896,19 +897,22 @@ export const sendOnchain = async (params) => {
p.fee = fee;
p.hex = hex;
+ (p as any).address = params.address;
- if (isBitcoin && bumpReserve > 0) {
- (p as any).bumpReserve = bumpReserve;
- (p as any).p2aVout = p2aVout;
- (p as any).parentVsize = parentVsize;
+ if (isBitcoin) {
p.confirmed = false;
+ if (bumpReserve > 0) {
+ (p as any).bumpReserve = bumpReserve;
+ (p as any).p2aVout = p2aVout;
+ (p as any).parentVsize = parentVsize;
+ }
}
await s(`payment:${p.id}`, p);
await node.sendRawTransaction(hex);
- if (isBitcoin && bumpReserve > 0) {
+ if (isBitcoin) {
await db.sAdd("outgoing:unconfirmed", p.id);
}