aboutsummaryrefslogtreecommitdiffstats
path: root/lib/payments.ts
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-02-14 15:46:01 -0800
committerAdam Soltys <[email protected]>2026-02-14 15:46:01 -0800
commit526b21bc668c453250ebce8dece9ba330bac0133 (patch)
tree5e9c84a2cca6b4a5766c6cdc9f33f6c62f5776f3 /lib/payments.ts
parent843c343db567cd224dadf347ac16736bdc8b24a8 (diff)
downloadcoinos-server-526b21bc668c453250ebce8dece9ba330bac0133.tar.gz
coinos-server-526b21bc668c453250ebce8dece9ba330bac0133.zip
custodial ark sends
Diffstat (limited to 'lib/payments.ts')
-rw-r--r--lib/payments.ts22
1 files changed, 8 insertions, 14 deletions
diff --git a/lib/payments.ts b/lib/payments.ts
index f6a6bd23..03b52dfa 100644
--- a/lib/payments.ts
+++ b/lib/payments.ts
@@ -520,6 +520,14 @@ const pay = async ({ aid = undefined, amount, to, user }) => {
});
if (to.startsWith("ark") || to.startsWith("tark")) {
+ // Check for local vault - do internal transfer
+ const vault = await g(`arkaddr:${to}`);
+ if (vault) {
+ const recipient = await getUser(vault.uid);
+ if (recipient)
+ return sendInternal({ amount, recipient, sender: user });
+ }
+
const txid = await sendArk(to, amount);
const p = await debit({
hash: txid,
@@ -528,20 +536,6 @@ const pay = async ({ aid = undefined, amount, to, user }) => {
type: PaymentType.ark,
});
- const vault = await g(`arkaddr:${to}`);
- if (vault) {
- const { rate, currency } = await getUserRate(user);
- await createArkPayment({
- aid: vault.aid,
- uid: vault.uid,
- amount,
- hash: txid,
- rate,
- currency,
- extraHashMappings: [txid],
- });
- }
-
return p;
}