diff options
| author | Adam Soltys <[email protected]> | 2026-03-22 15:41:08 +0000 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-03-22 15:41:12 +0000 |
| commit | af568c46cb3da198ea8614d21616bac3951f3262 (patch) | |
| tree | ccf52aceb6dc7ae85555c19730dc9dcf0f8df34c /lib | |
| parent | 5df889030899915c4c99e776464a49978ee8b0db (diff) | |
| download | coinos-server-af568c46cb3da198ea8614d21616bac3951f3262.tar.gz coinos-server-af568c46cb3da198ea8614d21616bac3951f3262.zip | |
verify ark amounts
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/ark.ts | 5 | ||||
| -rw-r--r-- | lib/payments.ts | 2 |
2 files changed, 4 insertions, 3 deletions
@@ -230,7 +230,7 @@ let cachedArkBalance: any = null; export const getArkBalance = () => cachedArkBalance; -export const verifyArkVtxo = async (hash: string) => { +export const verifyArkVtxo = async (hash: string): Promise<{ found: boolean; amount: number }> => { const { bech32m } = await import("@scure/base"); const serverAddr = await getArkAddress(); const decoded = bech32m.decode(serverAddr, 1023); @@ -240,5 +240,6 @@ export const verifyArkVtxo = async (hash: string) => { `${config.ark.arkServerUrl}/v1/indexer/vtxos?scripts=5120${vtxoHex}&spendable_only=true`, ); const { vtxos } = await r.json() as any; - return vtxos?.some((v: any) => v.outpoint?.txid === hash) ?? false; + const vtxo = vtxos?.find((v: any) => v.outpoint?.txid === hash); + return { found: !!vtxo, amount: vtxo?.amount ?? 0 }; }; diff --git a/lib/payments.ts b/lib/payments.ts index 78f20684..b82ea767 100644 --- a/lib/payments.ts +++ b/lib/payments.ts @@ -88,7 +88,7 @@ export const getUserRate = async (user) => { }; export const acquireArkLock = async (hash) => { - const locked = await db.set(`arklock:${hash}`, "1", { NX: true, EX: 60 }); + const locked = await db.set(`arklock:${hash}`, "1", { NX: true }); if (!locked) fail("Already processed"); }; |
