logos-execution-zone/keycard_tests.sh

99 lines
4.1 KiB
Bash
Raw Normal View History

2026-05-14 21:19:25 -04:00
#!/bin/bash
2026-04-26 21:29:54 -04:00
# Run wallet_with_keycard.sh first
source venv/bin/activate # Load the appropriate virtual environment
2026-05-01 19:35:57 -04:00
source venv/bin/activate
2026-05-01 02:44:36 -04:00
export KEYCARD_PIN=111111
2026-04-26 21:29:54 -04:00
2026-05-01 19:35:57 -04:00
# =============================================================================
# Keycard setup
# =============================================================================
echo "=== Test: wallet keycard available ==="
2026-04-26 21:29:54 -04:00
wallet keycard available
# Install a new mnemonic phrase to keycard
2026-05-12 18:07:44 -04:00
echo "Test: wallet keycard load"
export KEYCARD_MNEMONIC="fashion degree mountain wool question damp current pond grow dolphin chronic then"
wallet keycard load
unset KEYCARD_MNEMONIC
2026-04-26 21:29:54 -04:00
2026-05-15 09:07:35 -04:00
echo "Test: wallet auth-transfer init --account-id \"m/44'/60'/0'/0/0\""
wallet auth-transfer init --account-id "m/44'/60'/0'/0/0"
2026-04-26 21:29:54 -04:00
2026-05-14 21:19:25 -04:00
echo "Test: wallet account get --account-id \"m/44'/60'/0'/0/0\""
wallet account get --account-id "m/44'/60'/0'/0/0"
2026-04-26 21:29:54 -04:00
2026-05-14 21:19:25 -04:00
echo "Test: wallet pinata claim --to \"m/44'/60'/0'/0/0\""
wallet pinata claim --to "m/44'/60'/0'/0/0"
2026-04-26 21:29:54 -04:00
2026-05-14 21:19:25 -04:00
echo "Test: wallet account get --account-id \"m/44'/60'/0'/0/0\""
wallet account get --account-id "m/44'/60'/0'/0/0"
2026-05-06 20:35:46 -04:00
2026-05-14 21:19:25 -04:00
echo "Test: wallet auth-transfer init and send between two keycard accounts"
2026-05-15 09:07:35 -04:00
wallet auth-transfer init --account-id "m/44'/60'/0'/0/1"
2026-05-14 21:19:25 -04:00
wallet auth-transfer send --amount 40 --from "m/44'/60'/0'/0/0" --to "m/44'/60'/0'/0/1"
2026-04-26 21:29:54 -04:00
2026-05-14 21:19:25 -04:00
echo "Test: wallet account get --account-id \"m/44'/60'/0'/0/0\""
wallet account get --account-id "m/44'/60'/0'/0/0"
2026-04-26 21:29:54 -04:00
2026-05-14 21:19:25 -04:00
echo "Test: wallet account get --account-id \"m/44'/60'/0'/0/1\""
wallet account get --account-id "m/44'/60'/0'/0/1"
2026-05-15 09:07:35 -04:00
# Send from keycard account to a local wallet account
echo "Test: create local wallet account"
LOCAL_ACCOUNT_ID=$(wallet account new public 2>&1 | grep -oP '(?<=Public/)\S+')
echo "Created local account: Public/${LOCAL_ACCOUNT_ID}"
echo "Test: wallet auth-transfer init local account"
wallet auth-transfer init --account-id "Public/${LOCAL_ACCOUNT_ID}"
echo "Test: wallet auth-transfer send from keycard to local account"
wallet auth-transfer send --amount 10 --from "m/44'/60'/0'/0/0" --to "Public/${LOCAL_ACCOUNT_ID}"
echo "Test: wallet account get --account-id \"m/44'/60'/0'/0/0\""
wallet account get --account-id "m/44'/60'/0'/0/0"
echo "Test: wallet account get --account-id \"Public/${LOCAL_ACCOUNT_ID}\""
wallet account get --account-id "Public/${LOCAL_ACCOUNT_ID}"
# Create a local wallet account, fund it, and send to keycard account (co-signed: local key + keycard)
echo "Test: wallet auth-transfer send from local account to keycard account"
wallet auth-transfer send --amount 10 --from "Public/${LOCAL_ACCOUNT_ID}" --to "m/44'/60'/0'/0/1"
echo "Test: wallet account get --account-id \"Public/${LOCAL_ACCOUNT_ID}\""
wallet account get --account-id "Public/${LOCAL_ACCOUNT_ID}"
echo "Test: wallet account get --account-id \"m/44'/60'/0'/0/1\""
wallet account get --account-id "m/44'/60'/0'/0/1"
2026-05-14 21:19:25 -04:00
# Send from keycard account to a local wallet account (foreign recipient — no signature needed)
2026-05-15 09:07:35 -04:00
echo "Test: wallet account get --account-id \"m/44'/60'/0'/0/0\""
wallet account get --account-id "Public/7wHg9sbJwc6h3NP1S9bekfAzB8CHifEcxKswCKUt3YQo"
2026-05-14 21:19:25 -04:00
echo "Test: wallet auth-transfer send from keycard to local account"
wallet auth-transfer send --amount 10 --from "m/44'/60'/0'/0/0" --to "Public/7wHg9sbJwc6h3NP1S9bekfAzB8CHifEcxKswCKUt3YQo"
echo "Test: wallet account get --account-id \"m/44'/60'/0'/0/0\""
wallet account get --account-id "m/44'/60'/0'/0/0"
2026-05-15 09:07:35 -04:00
echo "Test: wallet account get --account-id \"m/44'/60'/0'/0/0\""
wallet account get --account-id "Public/7wHg9sbJwc6h3NP1S9bekfAzB8CHifEcxKswCKUt3YQo"
2026-04-26 21:29:54 -04:00
2026-05-01 19:35:57 -04:00
echo "=== Test: account get path 0 ==="
2026-05-15 18:15:54 -04:00
wallet account get --account-id "m/44'/60'/0'/0/0"
2026-05-01 19:35:57 -04:00
echo "=== Test: account get path 1 ==="
2026-05-15 18:15:54 -04:00
wallet account get --account-id "m/44'/60'/0'/0/1"
2026-05-01 19:35:57 -04:00
echo ""
echo "=== Test (1): Shielded auth-transfer to owned private account ==="
2026-05-04 21:28:29 -04:00
wallet auth-transfer send --amount 2 \
2026-05-15 18:15:54 -04:00
--from "m/44'/60'/0'/0/0" \
2026-05-04 21:28:29 -04:00
--to-npk "55204e2934045b044f06d8222b454d46b54788f33c7dec4f6733d441703bb0e6" \
--to-vpk "02a8626b0c0ad9383c5678dad48c3969b4174fb377cdb03a6259648032c774cec8"
2026-05-01 19:35:57 -04:00
echo "Shielded auth-transfer sent"
2026-05-15 18:15:54 -04:00
sleep 15
wallet account get --account-id "m/44'/60'/0'/0/0"