mte/test/offline_management.sh
2026-02-25 20:13:39 +01:00

89 lines
2.3 KiB
Bash
Executable file

#!/bin/bash
set -e
a="/tmp/a.json"
b="/tmp/b.json"
url="http://localhost:3434"
auditor_pub="A17JXR3E6J4CXDPYT7S1H25PGJ3ABS26TQ38654QCX0TB59RPMF0"
master_key="./default/master_offline_private_key"
zero_euro="KUDO:0.0"
offline_tool() {
dune exec offline -- "$@" > /dev/null
}
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)
offline_tool revoke-denom \
--master_key $master_key \
--output $b \
--rsa \
$rsa_pub
h_denom=$(dune exec offline -- hash64 $rsa_pub)
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"
offline_tool enable-auditor \
--master_key $master_key \
--output $b \
--auditor_url "auditor.example.com" \
--auditor_name "auditor example" \
--auditor_pub $auditor_pub
offline_tool upload --input $b --url $url"/management/auditors"
echo "[OK] /management/auditors"
offline_tool disable-auditor \
--master_key $master_key \
--output $b \
--auditor_pub $auditor_pub
offline_tool upload --input $b --url $url"/management/auditors/"$auditor_pub"/disable"
echo "[OK] /management/auditors/\$AUDITOR_PUB/disable"
offline_tool wire-fee \
--master_key $master_key \
--output $b \
--wire_method "xxx" \
--fee_start 0 \
--fee_end 99999999 \
--closing_fee $zero_euro \
--wire_fee $zero_euro
offline_tool upload --input $b --url $url"/management/wire-fee"
echo "[OK] /management/wire-fee"
offline_tool global-fees \
--master_key $master_key \
--output $b \
--start_date 0 \
--end_date 99999999 \
--history_fee $zero_euro \
--account_fee $zero_euro \
--purse_fee $zero_euro \
--history_expiration 9999999 \
--purse_account_limit 1 \
--purse_timeout 9999999
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