#!/bin/bash set -e a="/tmp/a.json" b="/tmp/b.json" url="http://10.0.0.2:3434" auditor_pub="A17JXR3E6J4CXDPYT7S1H25PGJ3ABS26TQ38654QCX0TB59RPMF0" master_key="./default/master_offline_private_key" zero_kudos="KUDOS:0.0" # TODO launch mte.exe and kill it a then end with its PID mte-offline-tool() { dune exec mte-offline-tool -- "$@" > /dev/null } mte-offline-tool download --output $a --url $url"/management/keys" mte-offline-tool sign \ --master_key $master_key \ --input $a \ --output $b mte-offline-tool upload --input $b --url $url"/management/keys" echo "[OK] /management/keys" mte-offline-tool download --output $a --url $url"/keys" rsa_pub=$(jq -r '.denominations[0].denoms[0].rsa_pub' $a) h_denom=$(dune exec mte-offline-tool -- compute-denomination-hash $rsa_pub) mte-offline-tool revoke-denom \ --master_key $master_key \ --output $b \ $h_denom mte-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) mte-offline-tool revoke-signkey \ --master_key $master_key \ --output $b \ $pub mte-offline-tool upload --input $b --url $url"/management/signkeys/"$pub"/revoke" echo "[OK] /management/signkeys/\$EXCHANGE_PUB/revoke" mte-offline-tool enable-auditor \ --master_key $master_key \ --output $b \ --auditor_url "auditor.example.com" \ --auditor_name "auditor example" \ --auditor_pub $auditor_pub mte-offline-tool upload --input $b --url $url"/management/auditors" echo "[OK] /management/auditors" mte-offline-tool disable-auditor \ --master_key $master_key \ --output $b \ --auditor_pub $auditor_pub mte-offline-tool upload --input $b --url $url"/management/auditors/"$auditor_pub"/disable" echo "[OK] /management/auditors/\$AUDITOR_PUB/disable" mte-offline-tool wire-fee \ --master_key $master_key \ --output $b \ --wire_method "x-taler-bank" \ --fee_start 0 \ --fee_end 99999999 \ --closing_fee $zero_kudos \ --wire_fee $zero_kudos mte-offline-tool upload --input $b --url $url"/management/wire-fee" echo "[OK] /management/wire-fee" mte-offline-tool global-fees \ --master_key $master_key \ --output $b \ --start_date 0 \ --end_date 99999999 \ --history_fee $zero_kudos \ --account_fee $zero_kudos \ --purse_fee $zero_kudos \ --history_expiration 9999999 \ --purse_account_limit 1 \ --purse_timeout 9999999 mte-offline-tool upload --input $b --url $url"/management/global-fees" echo "[OK] /management/global-fees" mte-offline-tool enable-wire \ --master_key $master_key \ --output $b \ --payto_uri "" \ --bank_label "" \ --priority 4 mte-offline-tool upload --input $b --url $url"/management/wire" echo "[OK] /management/wire" mte-offline-tool disable-wire \ --master_key $master_key \ --output $b \ --payto_uri "" mte-offline-tool upload --input $b --url $url"/management/wire/disable" echo "[OK] /management/wire/disable" # wtid (after base32 decode) must be 32bytes wtid="000G40R40M30E209185GR38E1W8124GK2GAHC5RR34D1P70X3RFG" mte-offline-tool drain \ --master_key $master_key \ --output $b \ --debit_account_section "" \ --credit_payto_uri "" \ --wtid $wtid \ --date 0 \ --amount $zero_kudos mte-offline-tool upload --input $b --url $url"/management/drain" echo "[OK] /management/drain" mte-offline-tool download --output $a --url $url"/keys" mte-validate keys $a echo "[OK] /keys validation"