aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ark.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/ark.ts
parent843c343db567cd224dadf347ac16736bdc8b24a8 (diff)
downloadcoinos-server-526b21bc668c453250ebce8dece9ba330bac0133.tar.gz
coinos-server-526b21bc668c453250ebce8dece9ba330bac0133.zip
custodial ark sends
Diffstat (limited to 'lib/ark.ts')
-rw-r--r--lib/ark.ts14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/ark.ts b/lib/ark.ts
index 00ea4db4..0d2d180f 100644
--- a/lib/ark.ts
+++ b/lib/ark.ts
@@ -9,16 +9,22 @@ let wallet: any;
const getWallet = async () => {
if (wallet) return wallet;
- const { arkPrivateKey, arkServerUrl } = config.ark;
+ const { arkPrivateKey, arkServerUrl, esploraUrl } = config.ark;
const identity = SingleKey.fromHex(arkPrivateKey);
- wallet = await Wallet.create({ identity, arkServerUrl });
+ wallet = await Wallet.create({ identity, arkServerUrl, esploraUrl });
return wallet;
};
export const sendArk = async (address: string, amount: number) => {
- const w = await getWallet();
- return w.sendBitcoin({ address, amount });
+ const timeout = new Promise((_, reject) =>
+ setTimeout(() => reject(new Error("Ark send timed out")), 45000),
+ );
+ const send = async () => {
+ const w = await getWallet();
+ return w.sendBitcoin({ address, amount });
+ };
+ return Promise.race([send(), timeout]);
};
export const getArkAddress = async () => {