mte/test/offline_management.sh

85 lines
2.2 KiB
Bash
Raw Normal View History

2026-02-03 12:52:19 +01:00
#!/bin/bash
set -e
2026-02-10 14:48:02 +01:00
a="/tmp/a.json"
b="/tmp/b.json"
2026-02-10 14:48:02 +01:00
url="http://localhost:3434"
2026-02-21 23:40:58 +01:00
auditor_pub="A17JXR3E6J4CXDPYT7S1H25PGJ3ABS26TQ38654QCX0TB59RPMF0"
2026-02-10 11:59:51 +01:00
master_key="./default/master_offline_private_key"
2026-02-21 23:40:58 +01:00
zero_euro="KUDO:0.0"
2026-02-10 14:48:02 +01:00
offline_tool() {
dune exec offline -- "$@" > /dev/null
}
2026-02-10 14:48:02 +01:00
offline_tool download --output $a --url $url"/management/keys"
offline_tool sign \
--master_key $master_key \
--input $a \
--output $b
offline_tool upload --input $b --url $url"/management/keys"
echo "[OK] /management/keys"
offline_tool download --output $a --url $url"/keys"
rsa_pub=$(jq -r '.denominations[0].denoms[0].rsa_pub' $a)
h_denom=$(dune exec offline -- hash64 $rsa_pub)
offline_tool revoke-denom \
--master_key $master_key \
--output $b \
$h_denom
offline_tool upload --input $b --url $url"/management/denominations/"$h_denom"/revoke"
echo "[OK] /management/denominations/\$H_DENOM/revoke"
pub=$(jq -r '.signkeys[0].key' $a)
offline_tool revoke-signkey \
--master_key $master_key \
--output $b \
$pub
offline_tool upload --input $b --url $url"/management/signkeys/"$pub"/revoke"
echo "[OK] /management/signkeys/\$EXCHANGE_PUB/revoke"
2026-02-10 14:48:02 +01:00
offline_tool enable-auditor \
2026-02-10 11:59:51 +01:00
--master_key $master_key \
2026-02-03 22:03:25 +01:00
--output $b \
--auditor_url "auditor.example.com" \
--auditor_name "auditor example" \
--auditor_pub $auditor_pub \
--validity_start 0
2026-02-10 14:48:02 +01:00
offline_tool upload --input $b --url $url"/management/auditors"
echo "[OK] /management/auditors"
# todo test disable auditor
2026-02-10 14:48:02 +01:00
offline_tool wire-fee \
2026-02-10 11:59:51 +01:00
--master_key $master_key \
2026-02-03 22:03:25 +01:00
--output $b \
2026-02-07 01:01:05 +01:00
--wire_method "xxx" \
--fee_start 0 \
--fee_end 99999999 \
--closing_fee $zero_euro \
--wire_fee $zero_euro
2026-02-10 14:48:02 +01:00
offline_tool upload --input $b --url $url"/management/wire-fee"
echo "[OK] /management/wire-fee"
2026-02-10 14:48:02 +01:00
offline_tool global-fees \
2026-02-10 11:59:51 +01:00
--master_key $master_key \
2026-02-03 22:03:25 +01:00
--output $b \
--start_date 0 \
--end_date 99999999 \
--history_fee $zero_euro \
--account_fee $zero_euro \
--purse_fee $zero_euro \
--history_expiration 9999999 \
2026-02-03 22:03:25 +01:00
--purse_account_limit 1 \
--purse_timeout 9999999
2026-02-10 14:48:02 +01:00
offline_tool upload --input $b --url $url"/management/global-fees"
echo "[OK] /management/global-fees"
# todo test enable wire
# todo test disable wire
# todo test drain
# todo test aml-officer
# todo test partners