aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-02-05 09:34:17 -0800
committerAdam Soltys <[email protected]>2026-02-06 09:00:09 -0800
commit7c40346355346fb59a86d11cdbef1a7da00e8da8 (patch)
tree4112444b006f5f9cfcd52a3783c305305fc21a55 /scripts
parent1ebc40afc14a75d7fe157b2c6c20ffea9dedb5eb (diff)
downloadcoinos-server-7c40346355346fb59a86d11cdbef1a7da00e8da8.tar.gz
coinos-server-7c40346355346fb59a86d11cdbef1a7da00e8da8.zip
microsats
Diffstat (limited to 'scripts')
-rw-r--r--scripts/ark-send.ts21
-rwxr-xr-xscripts/tb.sh82
2 files changed, 70 insertions, 33 deletions
diff --git a/scripts/ark-send.ts b/scripts/ark-send.ts
new file mode 100644
index 00000000..c6b3140d
--- /dev/null
+++ b/scripts/ark-send.ts
@@ -0,0 +1,21 @@
+import { sendArk } from "../lib/ark";
+
+const address = process.argv[2];
+const amount = parseInt(process.argv[3]);
+
+if (!address || !amount) {
+ console.log("Usage: bun scripts/ark-send.ts <ark_address> <amount_sats>");
+ process.exit(1);
+}
+
+console.log(`Sending ${amount} sats to ${address}...`);
+
+sendArk(address, amount)
+ .then((result) => {
+ console.log("Success!");
+ console.log("Result:", JSON.stringify(result, null, 2));
+ })
+ .catch((e) => {
+ console.error("Error:", e.message);
+ process.exit(1);
+ });
diff --git a/scripts/tb.sh b/scripts/tb.sh
index 03daead8..c9450b54 100755
--- a/scripts/tb.sh
+++ b/scripts/tb.sh
@@ -16,7 +16,8 @@ _user_id() {
# Query TB accounts via bun in app container
# Args: space-separated list of bigint IDs (as decimal strings)
-# Returns: id credits_posted debits_posted balance (one line per account)
+# Returns: id credits_posted debits_posted balance_micro balance_sats (one line per account)
+# Note: balances stored in microsats (1 sat = 1,000,000 microsats)
_tb_lookup() {
local ids="$1"
docker exec app bun -e "
@@ -31,10 +32,11 @@ _tb_lookup() {
for (const id of ids) {
const a = found.get(id.toString());
if (a) {
- const bal = a.credits_posted - a.debits_posted;
- console.log(id.toString() + ' ' + a.credits_posted.toString() + ' ' + a.debits_posted.toString() + ' ' + bal.toString());
+ const micro = a.credits_posted - a.debits_posted;
+ const sats = Number(micro / 1000000n);
+ console.log(id.toString() + ' ' + a.credits_posted.toString() + ' ' + a.debits_posted.toString() + ' ' + micro.toString() + ' ' + sats.toString());
} else {
- console.log(id.toString() + ' 0 0 0');
+ console.log(id.toString() + ' 0 0 0 0');
}
}
c.destroy();
@@ -67,8 +69,9 @@ tb-balance() {
if [ -z "$uid" ]; then echo "User not found: $1"; return 1; fi
local account_id=$(_uuid2int "$uid")
local result=$(_tb_lookup "$account_id")
- local bal=$(echo "$result" | awk '{print $4}')
- echo "$1: $bal sats"
+ local micro=$(echo "$result" | awk '{print $4}')
+ local sats=$(echo "$result" | awk '{print $5}')
+ echo "$1: $sats sats ($micro μsats)"
}
# Get pending balance for a username
@@ -78,8 +81,9 @@ tb-pending() {
if [ -z "$uid" ]; then echo "User not found: $1"; return 1; fi
local pending_id=$(python3 -c "print(int('${uid//-/}', 16) ^ (5 << 64))")
local result=$(_tb_lookup "$pending_id")
- local bal=$(echo "$result" | awk '{print $4}')
- echo "$1: $bal sats pending"
+ local micro=$(echo "$result" | awk '{print $4}')
+ local sats=$(echo "$result" | awk '{print $5}')
+ echo "$1: $sats sats pending ($micro μsats)"
}
# Get fee credits for a username
@@ -90,13 +94,16 @@ tb-credits() {
local ids
IFS=$'\n' read -d '' -ra ids < <(_derive_ids "$uid")
local result=$(_tb_lookup "${ids[2]},${ids[3]},${ids[4]}")
- local btc=$(echo "$result" | sed -n '1p' | awk '{print $4}')
- local ln=$(echo "$result" | sed -n '2p' | awk '{print $4}')
- local lq=$(echo "$result" | sed -n '3p' | awk '{print $4}')
+ local btc_micro=$(echo "$result" | sed -n '1p' | awk '{print $4}')
+ local btc_sats=$(echo "$result" | sed -n '1p' | awk '{print $5}')
+ local ln_micro=$(echo "$result" | sed -n '2p' | awk '{print $4}')
+ local ln_sats=$(echo "$result" | sed -n '2p' | awk '{print $5}')
+ local lq_micro=$(echo "$result" | sed -n '3p' | awk '{print $4}')
+ local lq_sats=$(echo "$result" | sed -n '3p' | awk '{print $5}')
echo "$1 credits:"
- echo " bitcoin: $btc"
- echo " lightning: $ln"
- echo " liquid: $lq"
+ echo " bitcoin: $btc_sats sats ($btc_micro μsats)"
+ echo " lightning: $ln_sats sats ($ln_micro μsats)"
+ echo " liquid: $lq_sats sats ($lq_micro μsats)"
}
# Full summary for a username
@@ -107,32 +114,41 @@ tb-user() {
local ids
IFS=$'\n' read -d '' -ra ids < <(_derive_ids "$uid")
local result=$(_tb_lookup "${ids[0]},${ids[1]},${ids[2]},${ids[3]},${ids[4]}")
- local bal=$(echo "$result" | sed -n '1p' | awk '{print $4}')
- local pending=$(echo "$result" | sed -n '2p' | awk '{print $4}')
- local btc=$(echo "$result" | sed -n '3p' | awk '{print $4}')
- local ln=$(echo "$result" | sed -n '4p' | awk '{print $4}')
- local lq=$(echo "$result" | sed -n '5p' | awk '{print $4}')
+ local bal_micro=$(echo "$result" | sed -n '1p' | awk '{print $4}')
+ local bal_sats=$(echo "$result" | sed -n '1p' | awk '{print $5}')
+ local pend_micro=$(echo "$result" | sed -n '2p' | awk '{print $4}')
+ local pend_sats=$(echo "$result" | sed -n '2p' | awk '{print $5}')
+ local btc_micro=$(echo "$result" | sed -n '3p' | awk '{print $4}')
+ local btc_sats=$(echo "$result" | sed -n '3p' | awk '{print $5}')
+ local ln_micro=$(echo "$result" | sed -n '4p' | awk '{print $4}')
+ local ln_sats=$(echo "$result" | sed -n '4p' | awk '{print $5}')
+ local lq_micro=$(echo "$result" | sed -n '5p' | awk '{print $4}')
+ local lq_sats=$(echo "$result" | sed -n '5p' | awk '{print $5}')
echo "$1 ($uid)"
- echo " balance: $bal sats"
- echo " pending: $pending sats"
+ echo " balance: $bal_sats sats ($bal_micro μsats)"
+ echo " pending: $pend_sats sats ($pend_micro μsats)"
echo " credits:"
- echo " bitcoin: $btc"
- echo " lightning: $ln"
- echo " liquid: $lq"
+ echo " bitcoin: $btc_sats sats ($btc_micro μsats)"
+ echo " lightning: $ln_sats sats ($ln_micro μsats)"
+ echo " liquid: $lq_sats sats ($lq_micro μsats)"
}
# Show house account balances
tb-house() {
local result=$(_tb_lookup "1,2,3,4")
- local sats=$(echo "$result" | sed -n '1p' | awk '{print $4}')
- local btc=$(echo "$result" | sed -n '2p' | awk '{print $4}')
- local ln=$(echo "$result" | sed -n '3p' | awk '{print $4}')
- local lq=$(echo "$result" | sed -n '4p' | awk '{print $4}')
- echo "House accounts:"
- echo " sats (1): $sats"
- echo " btc credit (2): $btc"
- echo " ln credit (3): $ln"
- echo " lq credit (4): $lq"
+ local sats_micro=$(echo "$result" | sed -n '1p' | awk '{print $4}')
+ local sats=$(echo "$result" | sed -n '1p' | awk '{print $5}')
+ local btc_micro=$(echo "$result" | sed -n '2p' | awk '{print $4}')
+ local btc=$(echo "$result" | sed -n '2p' | awk '{print $5}')
+ local ln_micro=$(echo "$result" | sed -n '3p' | awk '{print $4}')
+ local ln=$(echo "$result" | sed -n '3p' | awk '{print $5}')
+ local lq_micro=$(echo "$result" | sed -n '4p' | awk '{print $4}')
+ local lq=$(echo "$result" | sed -n '4p' | awk '{print $5}')
+ echo "House accounts (in microsats, 1 sat = 1,000,000 μsats):"
+ echo " sats (1): $sats sats ($sats_micro μsats)"
+ echo " btc credit (2): $btc sats ($btc_micro μsats)"
+ echo " ln credit (3): $ln sats ($ln_micro μsats)"
+ echo " lq credit (4): $lq sats ($lq_micro μsats)"
}
# Raw TB account lookup by numeric ID(s), comma-separated