131 lines
3.7 KiB
Bash
Executable file
131 lines
3.7 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
a="/tmp/a.json"
|
|
b="/tmp/b.json"
|
|
zero_kudos="KUDOS:0.0"
|
|
|
|
url="http://10.0.0.2:3434"
|
|
|
|
if [ ! -d ./keys ]; then
|
|
echo "./keys folder not found"
|
|
exit 1
|
|
fi
|
|
master_key="./keys/master"
|
|
#auditor_pub=$(cat "./keys/auditor_0.pub")
|
|
auditor_pub="BQCHC907487KZD5BYD7S8AV2RY8Z5QZSJQVM4JJ8VBH17SPET2BG"
|
|
|
|
|
|
# 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"
|
|
|
|
# re-do a 'POST /management/keys' to be sure the exchange has a valid signkey after revoke-signkey
|
|
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"
|
|
|
|
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"
|
|
dune exec test/validate.exe -- keys $a
|
|
echo "[OK] /keys validation"
|