#!/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" offline_tool enable-wire \ --master_key $master_key \ --output $b \ --payto_uri "" \ --bank_label "" \ --priority 4 offline_tool upload --input $b --url $url"/management/wire" echo "[OK] /management/wire" offline_tool disable-wire \ --master_key $master_key \ --output $b \ --payto_uri "" offline_tool upload --input $b --url $url"/management/wire/disable" echo "[OK] /management/wire/disable" # wtid (after base32 decode) must be 32bytes wtid="000G40R40M30E209185GR38E1W8124GK2GAHC5RR34D1P70X3RFG" offline_tool drain \ --master_key $master_key \ --output $b \ --debit_account_section "" \ --credit_payto_uri "" \ --wtid $wtid \ --date 0 \ --amount $zero_euro offline_tool upload --input $b --url $url"/management/drain" echo "[OK] /management/drain"