mirror of
https://github.com/logos-blockchain/logos-execution-zone.git
synced 2026-06-30 19:09:36 +00:00
* feat: add basic commands for communicating with keycard * initialize changes * reorganization * add script file for easier wallet access * update commands * fixes * fixed load for non continuous run * Updates for signatures with keycard * fix BIP-340 signatures for fixed sized messages * fmt * refactor and add pin support to program facades * fix unit test * fixes * Revert "fixes" This reverts commit 41f34f4ff4145b7abb60fd9bec168ae4b60f23b4. * fixes * fixes * Removed privacy keycard calls * Revert "Removed privacy keycard calls" This reverts commit d70ef505a1f40b87159099761f5fce5a31e3f17b. * Add domain separators * Removed privacy txs for keycard * CI fixes * CI fixes * addressed some comments * fix ci * initialize branch * ci fixes * fix integration test issue and updated keycard firmware * addressed more comments * fixed deny * remove keycard-py * fixed from earlier merge * add hash_message tests * add test * fix deny * CI fixes * fixed integration tests * Update public.rs * update artifacts * privacy command fixes * ci and comments * addressed comments * comment fixes * fixes from merging main * adding support to other programs * expanded support * ci fixes * ci and add private account keys test * some fixes and setup notes * Ci fixes * ci fixes * update key paths to avoid collisions in tests * added separated files for keycard_tests_2.sh * first round of comments * Revert "Merge branch 'main' into marvin/keycard-commands" This reverts commit 3fce53f663a3996938dddf77680854570063ca21, reversing changes made to e7b42a5177641455a8917bd2e29db20afd9690e5. * python comments * addressed comments * compile error fixed * fix artifacts * fix main merge error * adjust signer logic workflow * updating logic * fmt * refactored * clippy fix * minor fix * addressing comments * minor fix * ci fix * addressed deferred comments * clean up * minor cleanup * ci fixes * fmt fix * feat!(wallet): Merged `SigningGroup` with `AccountManager` (#500) * feat: account manager extension * feat(wallet): added unified way of sending public transactions to all facades * fix(wallet): no sign option added * fix(deny): deny fix * fix(wallet): suggestion 1 * fix(wallet): suggestion fix 1 * feat!: Add new path for externally provided seed to the circuit. BREAKING CHANGE: add identity variants to the circuit and change semantics for `Claim::Authorized` for private PDAs * feat(ci): use separate job per each integration tests module * feat(ci): cache rust artifacts * feat(ci): build integration tests binary once and reuse it * fix(wallet): fmt * ci: add bench-regression workflow with criterion-compare for crypto_primitives_bench * fix(wallet): merge postfix * feat!(wallet): SigningGroup merged with AccountManager * fix(ci): deny and artifacts fix * fix(deny): deny fix * fix keycard and lint --------- Co-authored-by: Sergio Chouhy <sergio.chouhy@gmail.com> Co-authored-by: Daniil Polyakov <arjentix@gmail.com> Co-authored-by: Moudy <m.ellaz@hotmail.com> Co-authored-by: Sergio Chouhy <41742639+schouhy@users.noreply.github.com> Co-authored-by: jonesmarvin8 <83104039+jonesmarvin8@users.noreply.github.com> * addressed comments * minor comments * Rebase to main * CI fixes --------- Co-authored-by: Pravdyvy <46261001+Pravdyvy@users.noreply.github.com> Co-authored-by: Sergio Chouhy <sergio.chouhy@gmail.com> Co-authored-by: Daniil Polyakov <arjentix@gmail.com> Co-authored-by: Moudy <m.ellaz@hotmail.com> Co-authored-by: Sergio Chouhy <41742639+schouhy@users.noreply.github.com>
133 lines
4.8 KiB
Bash
Executable File
133 lines
4.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# Run wallet_with_keycard.sh first
|
|
|
|
source venv/bin/activate # Load the appropriate virtual environment
|
|
|
|
export KEYCARD_PIN=111111
|
|
|
|
# Tests wallet keycard available
|
|
# - Checks whether smart reader and keycard are both available.
|
|
echo "Test: wallet keycard available"
|
|
wallet keycard available
|
|
|
|
# Install a new mnemonic phrase to keycard
|
|
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
|
|
|
|
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"
|
|
|
|
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 pinata claim --to \"m/44'/60'/0'/0/0\""
|
|
wallet pinata claim --to "m/44'/60'/0'/0/0"
|
|
|
|
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 ""
|
|
echo "=== Test: Keycard account to Keycard account ==="
|
|
wallet auth-transfer init --account-id "m/44'/60'/0'/0/1"
|
|
wallet auth-transfer send --amount 40 --from "m/44'/60'/0'/0/0" --to "m/44'/60'/0'/0/1"
|
|
|
|
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 \"m/44'/60'/0'/0/1\""
|
|
wallet account get --account-id "m/44'/60'/0'/0/1"
|
|
|
|
echo ""
|
|
echo "=== Test: Keycard account to public local 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}"
|
|
|
|
echo ""
|
|
echo "=== Test: public local account to Keycard account ==="
|
|
|
|
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"
|
|
|
|
echo ""
|
|
echo "=== Test: Keycard account to foreign recipient (no signature required) ==="
|
|
echo "Test: wallet account get --account-id \"m/44'/60'/0'/0/0\""
|
|
wallet account get --account-id "Public/7wHg9sbJwc6h3NP1S9bekfAzB8CHifEcxKswCKUt3YQo"
|
|
|
|
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"
|
|
|
|
echo "Test: wallet account get --account-id \"m/44'/60'/0'/0/0\""
|
|
wallet account get --account-id "Public/7wHg9sbJwc6h3NP1S9bekfAzB8CHifEcxKswCKUt3YQo"
|
|
|
|
echo ""
|
|
echo "=== Test: Shielded auth-transfer to owned private account ==="
|
|
|
|
SHIELDED_RECV=$(wallet account new private | grep -o 'Private/[^[:space:]]*' | head -1)
|
|
echo "Private recipient: $SHIELDED_RECV"
|
|
SHIELDED_KEYS=$(wallet account show-keys --account-id "$SHIELDED_RECV")
|
|
SHIELDED_NPK=$(echo "$SHIELDED_KEYS" | head -1)
|
|
SHIELDED_VPK=$(echo "$SHIELDED_KEYS" | tail -1)
|
|
|
|
wallet auth-transfer send --amount 2 \
|
|
--from "m/44'/60'/0'/0/0" \
|
|
--to-npk "$SHIELDED_NPK" \
|
|
--to-vpk "$SHIELDED_VPK"
|
|
echo "Shielded auth-transfer sent"
|
|
|
|
sleep 15
|
|
wallet account get --account-id "m/44'/60'/0'/0/0"
|
|
|
|
echo ""
|
|
echo "=== Test: Deshielded auth-transfer: private account → keycard path 1 ==="
|
|
|
|
PRIV_SENDER=$(wallet account new private | grep -o 'Private/[^[:space:]]*' | head -1)
|
|
echo "Fresh private sender account: $PRIV_SENDER"
|
|
|
|
wallet auth-transfer init --account-id "$PRIV_SENDER"
|
|
|
|
echo "Test: wallet pinata claim to private sender"
|
|
wallet pinata claim --to "$PRIV_SENDER"
|
|
|
|
sleep 15
|
|
|
|
echo "priv-sender state after claim:"
|
|
wallet account get --account-id "$PRIV_SENDER"
|
|
|
|
wallet auth-transfer send \
|
|
--from "$PRIV_SENDER" \
|
|
--to "m/44'/60'/0'/0/1" \
|
|
--amount 5
|
|
echo "Deshielded transfer of 5: $PRIV_SENDER → keycard path 1"
|
|
|
|
sleep 15
|
|
|
|
echo "priv-sender state (balance should have decreased by 5):"
|
|
wallet account get --account-id "$PRIV_SENDER"
|
|
echo "Keycard path 1 state (balance should have increased by 5):"
|
|
wallet account get --account-id "m/44'/60'/0'/0/1"
|