diff options
| author | Adam Soltys <[email protected]> | 2026-02-14 15:46:01 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-02-14 15:46:01 -0800 |
| commit | 526b21bc668c453250ebce8dece9ba330bac0133 (patch) | |
| tree | 5e9c84a2cca6b4a5766c6cdc9f33f6c62f5776f3 /lib/payments.ts | |
| parent | 843c343db567cd224dadf347ac16736bdc8b24a8 (diff) | |
| download | coinos-server-526b21bc668c453250ebce8dece9ba330bac0133.tar.gz coinos-server-526b21bc668c453250ebce8dece9ba330bac0133.zip | |
custodial ark sends
Diffstat (limited to 'lib/payments.ts')
| -rw-r--r-- | lib/payments.ts | 22 |
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; } |
