Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression tests for triple masking #254

Merged
merged 4 commits into from
Mar 24, 2022
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion tools/devnet/env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export FIN_DEBUG="${FIN_DEBUG:=$TMP_DEBUG}"
export DEVNET="$FIN_DEBUG/devnet"

# binary config
BIN_CFG_DEFAULT=debug
BIN_CFG_DEFAULT=release
BIN_CFG="${BIN_CFG:=$BIN_CFG_DEFAULT}"
BIN="target/$BIN_CFG"

Expand Down
27 changes: 27 additions & 0 deletions tools/regression/triple_masking/scripts/create_test_bars.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@

target/release/fn setup -O ~/.findora/mnenomic.key -S http://0.0.0.0

echo "\n\n\n Simple transfer 1"
echo "------------------------------------------------------------------------------"
target/release/fn transfer --amount 210000000 --asset FRA -T fra1ck6mu4fgmh7n3g0y5jm0zjrq6hwgckut9q2tf5fpwhrdgkhgdp9qhla5t5
sleep 10

echo "\n\n\n Simple transfer 2"
echo "------------------------------------------------------------------------------"
target/release/fn transfer --amount 210000000 --asset FRA -T fra1ck6mu4fgmh7n3g0y5jm0zjrq6hwgckut9q2tf5fpwhrdgkhgdp9qhla5t5
sleep 10

echo "\n\n\n Simple transfer 3"
echo "------------------------------------------------------------------------------"
target/release/fn transfer --amount 210000000 --asset FRA -T fra1ck6mu4fgmh7n3g0y5jm0zjrq6hwgckut9q2tf5fpwhrdgkhgdp9qhla5t5
sleep 10

echo "\n\n\n Simple transfer 4"
echo "------------------------------------------------------------------------------"
target/release/fn transfer --amount 210000000 --asset FRA -T fra1ck6mu4fgmh7n3g0y5jm0zjrq6hwgckut9q2tf5fpwhrdgkhgdp9qhla5t5
sleep 10

echo "\n\n\n Simple transfer 5"
echo "------------------------------------------------------------------------------"
target/release/fn transfer --amount 210000000 --asset FRA -T fra1ck6mu4fgmh7n3g0y5jm0zjrq6hwgckut9q2tf5fpwhrdgkhgdp9qhla5t5
sleep 10
4 changes: 4 additions & 0 deletions tools/regression/triple_masking/scripts/env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FILE_MNEMONIC="mnemonic-temp.keys"
FILE_ANON_KEYS="anon-keys-temp.keys"

BAR_SEC_KEY="21ZXFhLnhhjNiPGOn_0UDRLWGQWer4A7dv6MY4nM-e4="
29 changes: 29 additions & 0 deletions tools/regression/triple_masking/scripts/setup_wallets.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#rm mnemonic-temp.keys anon-keys-temp.keys

# These wallets would be used to move Anonymous funds around

echo "double quit tape enough charge fancy mandate ostrich this program laundry insect either escape cement van turtle loud immense load tip spike inquiry spice" > mnemonic-temp.keys

echo "
{
\"axfr_secret_key\": \"J7PqRhmBOE_gadFs4rB4lcKuz_YoWa5VSlALyKuZdQjNBryPSYZhRczonGNY3-mp86LWW8TJ6clirfk4gk03Tw==\",
\"axfr_public_key\": \"zQa8j0mGYUXM6JxjWN_pqfOi1lvEyenJYq35OIJNN08=\",
\"enc_key\": \"Gu558brzFchoqQR9oi8QP54KZKSQ18Djzt82C4YUyFg=\",
\"dec_key\": \"4GNC0J_qOXV2kww5BC5bOCyrTEfCodX5BoFaj06uN1s=\"
}" > anon-keys-temp.keys

fn setup -O mnemonic-temp.keys -S http://0.0.0.0

echo "New BAR wallet with Balance:"
target/release/fn wallet --show


rm anon-keys-temp2.keys
echo "
{
\"axfr_secret_key\": \"MwdsbYhTp4Io062nV7E2HkJfsnaTCZpkdjr6aijv2Aem3KjuGWqf4TLB_-20b305Ja3Pop8NS8tgMNUOVXUL5Q==\",
\"axfr_public_key\": \"ptyo7hlqn-Eywf_ttG99OSWtz6KfDUvLYDDVDlV1C-U=\",
\"enc_key\": \"SAmB7Oji4sAgENLaLb4PFclxQL_DRrEkXcYp6eXuXwI=\",
\"dec_key\": \"AEq1ZUFk_fB__YaNjQ3D2taGOnMZAx4adpB6RbnPj24=\"
}" >> anon-keys-temp2.keys
sleep 5
102 changes: 102 additions & 0 deletions tools/regression/triple_masking/test_triple_masking.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
#!/usr/bin/env bash

set -e

EVM_SCRIPTS_PATH="tools/regression/evm/scripts"
TRIPLE_MASKING_SCRIPTS_PATH="tools/regression/triple_masking/scripts"
source $EVM_SCRIPTS_PATH/env.sh
source $TRIPLE_MASKING_SCRIPTS_PATH/env.sh
let SLEEP_INTERVAL=($BLOCK_INTERVAL + 1)

#Setup environment
./$EVM_SCRIPTS_PATH/setup.sh

#Run Tests
echo -e "${YEL}Run test cases and verify results${NC}"


./$TRIPLE_MASKING_SCRIPTS_PATH/create_test_bars.sh
#Verify
python $REGRESSION_PATH/evm.py verify-balance --sec-key $BAR_SEC_KEY --amount 1050000000
echo

./$TRIPLE_MASKING_SCRIPTS_PATH/setup_wallets.sh


echo "\n\n\n Bar To Abar Conversion"
echo "==============================================================================="
# convert bar to abar
sleep 1
fn convert-bar-to-abar --anon-keys ./$FILE_ANON_KEYS --txo-sid 3

sleep 20

#Verify
python $REGRESSION_PATH/evm.py verify-balance --sec-key $BAR_SEC_KEY --amount 839990000
echo

randomiser1=$(tail -n 1 owned_randomizers)
echo "\n\n Owned Abars after Bar to Abar conversion"
sleep 20 #Do not remove/decrease
fn owned-abars -p zQa8j0mGYUXM6JxjWN_pqfOi1lvEyenJYq35OIJNN08= -r $randomiser1


echo "\n\n\n Anonymous Transfer from Sender1 to Receiver1"
echo "------------------------------------------------------------------------------"
fn anon-transfer --amount 189990000 --anon-keys ./anon-keys-temp.keys --to-axfr-public-key ptyo7hlqn-Eywf_ttG99OSWtz6KfDUvLYDDVDlV1C-U= --to-enc-key SAmB7Oji4sAgENLaLb4PFclxQL_DRrEkXcYp6eXuXwI= --randomizer $randomiser1

randomiser2=$(tail -n 1 sent_randomizers)
echo "\n\n Owned Abars for Receiver1 after Anon Transfer 1"
sleep 30
echo $randomiser2 > /dev/null
fn owned-abars -p ptyo7hlqn-Eywf_ttG99OSWtz6KfDUvLYDDVDlV1C-U= -r $randomiser2

echo "\n\n\n Anonymous Transfer from Receiver1 (Sender2) to Receiver2"
echo "------------------------------------------------------------------------------"
fn anon-transfer --amount 169990000 --anon-keys ./anon-keys-temp2.keys --to-axfr-public-key BdECoTzLNQHlKq1oGMI2kdh27yp_I2CZen0FGYLFkM0= --to-enc-key Ox5L-mGxzOFfd4fef7WZGJMdO-EKBVnnJypZiEl_9FQ= --randomizer $randomiser2

randomiser3=$(tail -n 1 sent_randomizers)
echo "\n\n Owned Abars for Receiver2 after Anon Transfer 2"
sleep 30
echo $randomiser3 > /dev/null
fn owned-abars -p BdECoTzLNQHlKq1oGMI2kdh27yp_I2CZen0FGYLFkM0= -r $randomiser3

sleep 2
echo "\n\n\n Fetch merkle proof for Anon Transfer 2"
echo "------------------------------------------------------------------------------"
fn anon-fetch-merkle-proof -a 2

#Verify
python $REGRESSION_PATH/evm.py verify-balance --sec-key $BAR_SEC_KEY --amount 839990000
echo

fn owned-utxos

echo "\n\n\n Bar To Abar Conversion"
echo "==============================================================================="
# convert bar to abar
sleep 1
fn convert-bar-to-abar --anon-keys ./$FILE_ANON_KEYS --txo-sid 9
sleep 5
fn convert-bar-to-abar --anon-keys ./$FILE_ANON_KEYS --txo-sid 12
sleep 5

#Verify
python $REGRESSION_PATH/evm.py verify-balance --sec-key $BAR_SEC_KEY --amount 419970000
echo

tail -n 2 owned_randomizers > randomizer_file
randomiser=$(awk 'FNR>=1 && FNR<=1' randomizer_file)
echo "\n\n Owned Abars after Bar to Abar conversion 1"
sleep 20
target/release/fn owned-abars -p zQa8j0mGYUXM6JxjWN_pqfOi1lvEyenJYq35OIJNN08= -r $randomiser
fee_randomiser=$(awk 'FNR>=2 && FNR<=2' randomizer_file)
echo "\n\n Owned Abars after Bar to Abar conversion 2"
sleep 20
target/release/fn owned-abars -p zQa8j0mGYUXM6JxjWN_pqfOi1lvEyenJYq35OIJNN08= -r $fee_randomiser

target/release/fn convert-abar-to-bar --anon-keys ./anon-keys-temp.keys -r $randomiser -F $fee_randomiser --to-wallet-address fra1ck6mu4fgmh7n3g0y5jm0zjrq6hwgckut9q2tf5fpwhrdgkhgdp9qhla5t5
sleep 20
#Verify
python $REGRESSION_PATH/evm.py verify-balance --sec-key $BAR_SEC_KEY --amount 629980000
echo
2 changes: 0 additions & 2 deletions tools/triple_masking/bar_to_abar_convert.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

set -e

echo "\n\n\n Simple transfer 1"
echo "------------------------------------------------------------------------------"
Expand All @@ -17,7 +16,6 @@ target/release/fn transfer --amount 210000000 --asset FRA -T fra1ck6mu4fgmh7n3g0
sleep 5

# setup the new wallet
set +e

FILE_MNEMONIC="mnemonic-temp.keys"
FILE_ANON_KEYS="anon-keys-temp.keys"
Expand Down