Bitcoin sidechain automation test is flaky
Bitcoin sidechain automation test is flaky. It fails sometimes.
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$ pwd
/home/kiran/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$ ls -lrt
total 152
-rw-rw-r-- 1 kiran kiran 626 Jan 21 00:35 test_pp_transfer.py
-rw-rw-r-- 1 kiran kiran 4773 Jan 21 00:35 test_pp_son.py
-rw-rw-r-- 1 kiran kiran 7447 Jan 21 00:35 test_pp_inital_state.py
-rw-rw-r-- 1 kiran kiran 4870 Jan 21 00:35 test_hive_son.py
-rw-rw-r-- 1 kiran kiran 1299 Jan 21 00:35 test_hive_inital_state.py
-rw-rw-r-- 1 kiran kiran 4237 Jan 21 00:35 test_eth_son.py
-rw-rw-r-- 1 kiran kiran 3204 Jan 21 00:35 test_btc_son.py
-rw-rw-r-- 1 kiran kiran 559 Jan 21 00:35 test_btc_init_state.py
-rw-rw-r-- 1 kiran kiran 782 Jan 21 00:35 string_utils.py
-rw-rw-r-- 1 kiran kiran 79 Jan 21 00:35 requirements.txt
-rw-rw-r-- 1 kiran kiran 2049 Jan 21 00:35 README.md
-rw-rw-r-- 1 kiran kiran 10218 Jan 21 00:35 pp_utils.py
-rwxrwxr-x 1 kiran kiran 2674 Jan 21 00:35 main.py
-rw-rw-r-- 1 kiran kiran 481 Jan 21 00:35 json_utils.py
-rwxrwxr-x 1 kiran kiran 2718 Jan 21 00:35 hive_utils.py
-rw-rw-r-- 1 kiran kiran 48204 Jan 21 00:35 expected_values.py
-rwxrwxr-x 1 kiran kiran 2044 Jan 21 00:35 ethereum_utils.py
-rwxrwxr-x 1 kiran kiran 7156 Jan 21 00:35 docker_utils.py
-rw-rw-r-- 1 kiran kiran 451 Jan 21 00:35 conftest.py
-rwxrwxr-x 1 kiran kiran 3588 Jan 21 00:35 bitcoin_utils.py
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$ pytest test_btc_son.py
==================================================================================================================================================== test session starts ====================================================================================================================================================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/kiran/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests
collected 2 items
test_btc_son.py .. [100%]
==================================================================================================================================================== 2 passed in 52.05s =====================================================================================================================================================
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$ pytest test_btc_son.py
==================================================================================================================================================== test session starts ====================================================================================================================================================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/kiran/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests
collected 2 items
test_btc_son.py FF [100%]
========================================================================================================================================================= FAILURES ==========================================================================================================================================================
_____________________________________________________________________________________________________________________________________________________ test_btc_deposit ______________________________________________________________________________________________________________________________________________________
def test_btc_deposit():
# Setup deposit parameters
deposit_amount = 30
# Find out SON-related addresses
sidechain_deposit_addr = pp_get_sidechain_address_by_account_and_sidechain(
ACCOUNT_PP, "bitcoin")["deposit_address"]
pw_addr = pp_get_active_son_primary_wallet_address("bitcoin")
# Save initial balances
balance0 = pp_get_account_balance(ACCOUNT_PP, "BTC")
btc_balance0 = btc_getbalance()
pw_balance0 = btc_listunspent_amount_per_address(pw_addr, "son-wallet")
# Make the deposit itself
btc_sendtoaddress(sidechain_deposit_addr, deposit_amount)
# Wait for complete transaction handling
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(15)
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(10)
# Get new balances
balance1 = pp_get_account_balance(ACCOUNT_PP, "BTC")
btc_balance1 = btc_getbalance()
pw_balance1 = btc_listunspent_amount_per_address(pw_addr, "son-wallet")
# Verify proper increases
> assert round(balance1 * BTC_PRECISION) == round(balance0 * BTC_PRECISION) + \
deposit_amount * BTC_PRECISION - BTC_TRANSCTION_FEE * BTC_PRECISION
E assert 3999959999 == ((999980000 + (30 * 100000000)) - (0.0002 * 100000000))
E + where 3999959999 = round((39.99959999 * 100000000))
E + and 999980000 = round((9.9998 * 100000000))
test_btc_son.py:42: AssertionError
--------------------------------------------------------------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------------------------------------------------------------
*************** Peerplays command:
get_sidechain_address_by_account_and_sidechain account02 bitcoin
-->
{
"id": "1.38.1",
"sidechain_address_account": "1.2.53",
"sidechain": "bitcoin",
"deposit_public_key": "02b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0d",
"deposit_address": "bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7",
"deposit_address_data": "{ \"redeemScript\": \"2102b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0dac635167007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a268\", \"witnessScript\": \"002068558698952c37ea52bf3accc2f55f29333da3b900c33dcb86e3818f036ad903\" }",
"withdraw_public_key": "0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5",
"withdraw_address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"valid_from": "2023-01-20T18:55:42",
"expires": "2106-02-07T06:28:15"
}
*************** Peerplays command:
get_active_son_wallet
-->
{
"id": "1.35.0",
"valid_from": "2023-01-20T19:00:00",
"expires": "2106-02-07T06:28:15",
"addresses": [[
"bitcoin",
"{\n \"address\": \"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\",\n \"redeemScript\": \"007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a2\"\n}\n"
],[
"ethereum",
"0x572eA65762bFFf521C11Ce5334FfaaF4bDD4974e"
]
],
"sons": [[
"bitcoin",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "03456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "02d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "0228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666"
}
]
],[
"ethereum",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "5fbbb31be52608d2f52247e8400b7fcaa9e0bc12"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "76ce31bd03f601c3fc13732def921c5bac282676"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "09ee460834498a4ee361beb819470061b7381b49"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "6aefbd09209e1ee2e0a589d31e732f69b77713d2"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "631e128b16f9adcf1bb6385112b1519c917d77a7"
}
]
],[
"hive",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "sonaccount01"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "sonaccount02"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "sonaccount03"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "sonaccount04"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "sonaccount05"
}
]
]
]
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
9.99980000 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" getbalance
-->
14635.93726480
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="son-wallet" listunspent 1 9999999 "[\"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\"]" true
-->
[
{
"txid": "5969f62de3b1c9f60623cb3a58b113760e3d66028d66e7399cbb7bbb965d9c40",
"vout": 1,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 9.99980000,
"confirmations": 1,
"spendable": false,
"solvable": false,
"safe": true
}
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" sendtoaddress bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7 30 "" "" false
-->
fddcbd9df84a467cf670f5e2c8e0875ac47edff377ae354d5cd2568756c750d5
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"692948839ff24560f1b687f6356ddce19a7d5c2d7e77aebfd1bd6d7077059c58"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"7c92e1bdd6be01bd14f78f97fdbfd2c7340895058863f0595a69f38b533028aa"
]
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
39.99959999 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" getbalance
-->
14609.06223420
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="son-wallet" listunspent 1 9999999 "[\"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\"]" true
-->
[
{
"txid": "5969f62de3b1c9f60623cb3a58b113760e3d66028d66e7399cbb7bbb965d9c40",
"vout": 1,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 9.99980000,
"confirmations": 3,
"spendable": false,
"solvable": false,
"safe": true
},
{
"txid": "49edbf4d39178b0f5ef24479e10211b75d83f35d21fa868463ae358b3c149ae3",
"vout": 0,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 29.99979999,
"confirmations": 1,
"spendable": false,
"solvable": false,
"safe": true
}
]
____________________________________________________________________________________________________________________________________________________ test_btc_withdrawal ____________________________________________________________________________________________________________________________________________________
def test_btc_withdrawal():
# Setup withdrawal parameters
withdraw_amount = 20
# Find out SON-related addresses
sidechain_withdraw_addr = pp_get_sidechain_address_by_account_and_sidechain(
ACCOUNT_PP, "bitcoin")["withdraw_address"]
# Save initial balances
balance0 = pp_get_account_balance(ACCOUNT_PP, "BTC")
son_balance0 = pp_get_account_balance("son-account", "BTC")
btc_balance0 = btc_listunspent_amount_per_address(sidechain_withdraw_addr)
# Make the withdrawal itself
pp_transfer(ACCOUNT_PP, "son-account", withdraw_amount, "BTC")
# Get new balances - first, before bitcoin block generation
balance1 = pp_get_account_balance(ACCOUNT_PP, "BTC")
son_balance1 = pp_get_account_balance("son-account", "BTC")
# Verify proper balance changes
assert round(balance1 * BTC_PRECISION) == round(balance0 * \
BTC_PRECISION) - withdraw_amount * BTC_PRECISION
assert round(son_balance1 * BTC_PRECISION) == round(son_balance0 *
BTC_PRECISION) + withdraw_amount * BTC_PRECISION
# Wait for complete transaction handling
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(15)
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(10)
# Get new balance after bitcoin block generation
btc_balance1 = btc_listunspent_amount_per_address(sidechain_withdraw_addr)
# Verify proper balance increase
> assert round(btc_balance1 * BTC_PRECISION) == round(btc_balance0 * BTC_PRECISION) + \
withdraw_amount * BTC_PRECISION - BTC_TRANSCTION_FEE * BTC_PRECISION
E assert 94999959999 == ((92999980000 + (20 * 100000000)) - (0.0002 * 100000000))
E + where 94999959999 = round((949.99959999 * 100000000))
E + and 92999980000 = round((929.9998 * 100000000))
test_btc_son.py:85: AssertionError
--------------------------------------------------------------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------------------------------------------------------------
*************** Peerplays command:
get_sidechain_address_by_account_and_sidechain account02 bitcoin
-->
{
"id": "1.38.1",
"sidechain_address_account": "1.2.53",
"sidechain": "bitcoin",
"deposit_public_key": "02b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0d",
"deposit_address": "bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7",
"deposit_address_data": "{ \"redeemScript\": \"2102b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0dac635167007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a268\", \"witnessScript\": \"002068558698952c37ea52bf3accc2f55f29333da3b900c33dcb86e3818f036ad903\" }",
"withdraw_public_key": "0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5",
"withdraw_address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"valid_from": "2023-01-20T18:55:42",
"expires": "2106-02-07T06:28:15"
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
39.99959999 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Peerplays command:
list_account_balances son-account
-->
0 BTC
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" listunspent 1 9999999 "[\"2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1\"]" true
-->
[
{
"txid": "5969f62de3b1c9f60623cb3a58b113760e3d66028d66e7399cbb7bbb965d9c40",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 3,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "3a58669ebf92e4cd3f31861f0ef0f3ecc8b83b7006f8d13cc66fc17f7f6ee3e5",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 910.00000000,
"confirmations": 7,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
}
]
*************** Peerplays command:
transfer account02 son-account 20 BTC "" true
-->
{
"ref_block_num": 409,
"ref_block_prefix": 2026611662,
"expiration": "2023-01-20T19:15:27",
"operations": [[
0,{
"fee": {
"amount": 0,
"asset_id": "1.3.0"
},
"from": "1.2.53",
"to": "1.2.19",
"amount": {
"amount": 2000000000,
"asset_id": "1.3.1"
},
"extensions": []
}
]
],
"extensions": [],
"signatures": [
"1f67ae71ddc2e915c9ae5684bff138b063846e61787e2a76c1225de0d4b872702669e99a91c30c86666d8e041806144dbfc47309c9a683513cbe4e92006a6f31e5"
]
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
19.99959999 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Peerplays command:
list_account_balances son-account
-->
20 BTC
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"55f5743d1009d2c198ddea15359b76bba93d13e2e1d69b09240fe159abd5dfe3"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"1223a3fd8fc7ac0b87f35bdf091cbfe7ab14faa372395c1ee0f3174e39f3d234"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" listunspent 1 9999999 "[\"2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1\"]" true
-->
[
{
"txid": "5969f62de3b1c9f60623cb3a58b113760e3d66028d66e7399cbb7bbb965d9c40",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 5,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "eef8886f945bce67e808505dfc6c232c827c953e67ba97c34ce79ec154c70b4d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 1,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "3a58669ebf92e4cd3f31861f0ef0f3ecc8b83b7006f8d13cc66fc17f7f6ee3e5",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 910.00000000,
"confirmations": 9,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
}
]
================================================================================================================================================== short test summary info ==================================================================================================================================================
FAILED test_btc_son.py::test_btc_deposit - assert 3999959999 == ((999980000 + (30 * 100000000)) - (0.0002 * 100000000))
FAILED test_btc_son.py::test_btc_withdrawal - assert 94999959999 == ((92999980000 + (20 * 100000000)) - (0.0002 * 100000000))
==================================================================================================================================================== 2 failed in 52.03s =====================================================================================================================================================
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$ pytest test_btc_son.py
==================================================================================================================================================== test session starts ====================================================================================================================================================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/kiran/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests
collected 2 items
test_btc_son.py FF [100%]
========================================================================================================================================================= FAILURES ==========================================================================================================================================================
_____________________________________________________________________________________________________________________________________________________ test_btc_deposit ______________________________________________________________________________________________________________________________________________________
def test_btc_deposit():
# Setup deposit parameters
deposit_amount = 30
# Find out SON-related addresses
sidechain_deposit_addr = pp_get_sidechain_address_by_account_and_sidechain(
ACCOUNT_PP, "bitcoin")["deposit_address"]
pw_addr = pp_get_active_son_primary_wallet_address("bitcoin")
# Save initial balances
balance0 = pp_get_account_balance(ACCOUNT_PP, "BTC")
btc_balance0 = btc_getbalance()
pw_balance0 = btc_listunspent_amount_per_address(pw_addr, "son-wallet")
# Make the deposit itself
btc_sendtoaddress(sidechain_deposit_addr, deposit_amount)
# Wait for complete transaction handling
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(15)
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(10)
# Get new balances
balance1 = pp_get_account_balance(ACCOUNT_PP, "BTC")
btc_balance1 = btc_getbalance()
pw_balance1 = btc_listunspent_amount_per_address(pw_addr, "son-wallet")
# Verify proper increases
> assert round(balance1 * BTC_PRECISION) == round(balance0 * BTC_PRECISION) + \
deposit_amount * BTC_PRECISION - BTC_TRANSCTION_FEE * BTC_PRECISION
E assert 4999939998 == ((1999959999 + (30 * 100000000)) - (0.0002 * 100000000))
E + where 4999939998 = round((49.99939998 * 100000000))
E + and 1999959999 = round((19.99959999 * 100000000))
test_btc_son.py:42: AssertionError
--------------------------------------------------------------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------------------------------------------------------------
*************** Peerplays command:
get_sidechain_address_by_account_and_sidechain account02 bitcoin
-->
{
"id": "1.38.1",
"sidechain_address_account": "1.2.53",
"sidechain": "bitcoin",
"deposit_public_key": "02b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0d",
"deposit_address": "bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7",
"deposit_address_data": "{ \"redeemScript\": \"2102b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0dac635167007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a268\", \"witnessScript\": \"002068558698952c37ea52bf3accc2f55f29333da3b900c33dcb86e3818f036ad903\" }",
"withdraw_public_key": "0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5",
"withdraw_address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"valid_from": "2023-01-20T18:55:42",
"expires": "2106-02-07T06:28:15"
}
*************** Peerplays command:
get_active_son_wallet
-->
{
"id": "1.35.0",
"valid_from": "2023-01-20T19:00:00",
"expires": "2106-02-07T06:28:15",
"addresses": [[
"bitcoin",
"{\n \"address\": \"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\",\n \"redeemScript\": \"007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a2\"\n}\n"
],[
"ethereum",
"0x572eA65762bFFf521C11Ce5334FfaaF4bDD4974e"
]
],
"sons": [[
"bitcoin",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "03456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "02d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "0228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666"
}
]
],[
"ethereum",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "5fbbb31be52608d2f52247e8400b7fcaa9e0bc12"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "76ce31bd03f601c3fc13732def921c5bac282676"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "09ee460834498a4ee361beb819470061b7381b49"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "6aefbd09209e1ee2e0a589d31e732f69b77713d2"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "631e128b16f9adcf1bb6385112b1519c917d77a7"
}
]
],[
"hive",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "sonaccount01"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "sonaccount02"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "sonaccount03"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "sonaccount04"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "sonaccount05"
}
]
]
]
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
19.99959999 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" getbalance
-->
14632.18703419
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="son-wallet" listunspent 1 9999999 "[\"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\"]" true
-->
[
{
"txid": "eef8886f945bce67e808505dfc6c232c827c953e67ba97c34ce79ec154c70b4d",
"vout": 1,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 19.99959999,
"confirmations": 1,
"spendable": false,
"solvable": false,
"safe": true
}
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" sendtoaddress bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7 30 "" "" false
-->
77883d1717043bd69801237c928b8c7ef905a74779ae3ef82a402cda4c3f8bf1
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"6f8b8a8f0743acd79ab7ce0bb99830146785936a9b4359a20c6c6d7f671df6ad"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"41ae189e5d38c5a36547bc433eb436284cfb79eeeedc8012abaf3e3d2f6489d5"
]
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
49.99939998 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" getbalance
-->
14605.31200359
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="son-wallet" listunspent 1 9999999 "[\"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\"]" true
-->
[
{
"txid": "7498b965b25666dd920aad0356a61538800dc29186cc9a36df2a0691572d363a",
"vout": 0,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 29.99979999,
"confirmations": 1,
"spendable": false,
"solvable": false,
"safe": true
},
{
"txid": "eef8886f945bce67e808505dfc6c232c827c953e67ba97c34ce79ec154c70b4d",
"vout": 1,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 19.99959999,
"confirmations": 3,
"spendable": false,
"solvable": false,
"safe": true
}
]
____________________________________________________________________________________________________________________________________________________ test_btc_withdrawal ____________________________________________________________________________________________________________________________________________________
def test_btc_withdrawal():
# Setup withdrawal parameters
withdraw_amount = 20
# Find out SON-related addresses
sidechain_withdraw_addr = pp_get_sidechain_address_by_account_and_sidechain(
ACCOUNT_PP, "bitcoin")["withdraw_address"]
# Save initial balances
balance0 = pp_get_account_balance(ACCOUNT_PP, "BTC")
son_balance0 = pp_get_account_balance("son-account", "BTC")
btc_balance0 = btc_listunspent_amount_per_address(sidechain_withdraw_addr)
# Make the withdrawal itself
pp_transfer(ACCOUNT_PP, "son-account", withdraw_amount, "BTC")
# Get new balances - first, before bitcoin block generation
balance1 = pp_get_account_balance(ACCOUNT_PP, "BTC")
son_balance1 = pp_get_account_balance("son-account", "BTC")
# Verify proper balance changes
assert round(balance1 * BTC_PRECISION) == round(balance0 * \
BTC_PRECISION) - withdraw_amount * BTC_PRECISION
assert round(son_balance1 * BTC_PRECISION) == round(son_balance0 *
BTC_PRECISION) + withdraw_amount * BTC_PRECISION
# Wait for complete transaction handling
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(15)
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(10)
# Get new balance after bitcoin block generation
btc_balance1 = btc_listunspent_amount_per_address(sidechain_withdraw_addr)
# Verify proper balance increase
> assert round(btc_balance1 * BTC_PRECISION) == round(btc_balance0 * BTC_PRECISION) + \
withdraw_amount * BTC_PRECISION - BTC_TRANSCTION_FEE * BTC_PRECISION
E assert 94999959999 == ((94999959999 + (20 * 100000000)) - (0.0002 * 100000000))
E + where 94999959999 = round((949.99959999 * 100000000))
E + and 94999959999 = round((949.99959999 * 100000000))
test_btc_son.py:85: AssertionError
--------------------------------------------------------------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------------------------------------------------------------
*************** Peerplays command:
get_sidechain_address_by_account_and_sidechain account02 bitcoin
-->
{
"id": "1.38.1",
"sidechain_address_account": "1.2.53",
"sidechain": "bitcoin",
"deposit_public_key": "02b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0d",
"deposit_address": "bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7",
"deposit_address_data": "{ \"redeemScript\": \"2102b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0dac635167007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a268\", \"witnessScript\": \"002068558698952c37ea52bf3accc2f55f29333da3b900c33dcb86e3818f036ad903\" }",
"withdraw_public_key": "0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5",
"withdraw_address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"valid_from": "2023-01-20T18:55:42",
"expires": "2106-02-07T06:28:15"
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
49.99939998 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Peerplays command:
list_account_balances son-account
-->
0 BTC
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" listunspent 1 9999999 "[\"2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1\"]" true
-->
[
{
"txid": "5969f62de3b1c9f60623cb3a58b113760e3d66028d66e7399cbb7bbb965d9c40",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 7,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "eef8886f945bce67e808505dfc6c232c827c953e67ba97c34ce79ec154c70b4d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 3,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "3a58669ebf92e4cd3f31861f0ef0f3ecc8b83b7006f8d13cc66fc17f7f6ee3e5",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 910.00000000,
"confirmations": 11,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
}
]
*************** Peerplays command:
transfer account02 son-account 20 BTC "" true
-->
{
"ref_block_num": 483,
"ref_block_prefix": 3019118994,
"expiration": "2023-01-20T19:19:09",
"operations": [[
0,{
"fee": {
"amount": 0,
"asset_id": "1.3.0"
},
"from": "1.2.53",
"to": "1.2.19",
"amount": {
"amount": 2000000000,
"asset_id": "1.3.1"
},
"extensions": []
}
]
],
"extensions": [],
"signatures": [
"1f4b6331219f59e51251458c2e335219c4ecdf28d61ad4bb3560258dad2810db072f0b90309090a5db62d439eb9c6f886de956f71ef1f811858aca0fc78950a22c"
]
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
29.99939998 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Peerplays command:
list_account_balances son-account
-->
20 BTC
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"64e89d235a0b88f16eb55a30d89fc368823972f72fa58c2bc7951f7d2b807f94"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"02b3f626e6dc27b4aca541d4ff95959c5ea42083b6c872cea86d4c2d14969cd5"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" listunspent 1 9999999 "[\"2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1\"]" true
-->
[
{
"txid": "5969f62de3b1c9f60623cb3a58b113760e3d66028d66e7399cbb7bbb965d9c40",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 9,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "eef8886f945bce67e808505dfc6c232c827c953e67ba97c34ce79ec154c70b4d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 5,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "3a58669ebf92e4cd3f31861f0ef0f3ecc8b83b7006f8d13cc66fc17f7f6ee3e5",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 910.00000000,
"confirmations": 13,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
}
]
================================================================================================================================================== short test summary info ==================================================================================================================================================
FAILED test_btc_son.py::test_btc_deposit - assert 4999939998 == ((1999959999 + (30 * 100000000)) - (0.0002 * 100000000))
FAILED test_btc_son.py::test_btc_withdrawal - assert 94999959999 == ((94999959999 + (20 * 100000000)) - (0.0002 * 100000000))
==================================================================================================================================================== 2 failed in 52.12s =====================================================================================================================================================
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$ pytest test_btc_son.py
==================================================================================================================================================== test session starts ====================================================================================================================================================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/kiran/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests
collected 2 items
test_btc_son.py F. [100%]
========================================================================================================================================================= FAILURES ==========================================================================================================================================================
_____________________________________________________________________________________________________________________________________________________ test_btc_deposit ______________________________________________________________________________________________________________________________________________________
def test_btc_deposit():
# Setup deposit parameters
deposit_amount = 30
# Find out SON-related addresses
sidechain_deposit_addr = pp_get_sidechain_address_by_account_and_sidechain(
ACCOUNT_PP, "bitcoin")["deposit_address"]
pw_addr = pp_get_active_son_primary_wallet_address("bitcoin")
# Save initial balances
balance0 = pp_get_account_balance(ACCOUNT_PP, "BTC")
btc_balance0 = btc_getbalance()
pw_balance0 = btc_listunspent_amount_per_address(pw_addr, "son-wallet")
# Make the deposit itself
btc_sendtoaddress(sidechain_deposit_addr, deposit_amount)
# Wait for complete transaction handling
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(15)
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(10)
# Get new balances
balance1 = pp_get_account_balance(ACCOUNT_PP, "BTC")
btc_balance1 = btc_getbalance()
pw_balance1 = btc_listunspent_amount_per_address(pw_addr, "son-wallet")
# Verify proper increases
assert round(balance1 * BTC_PRECISION) == round(balance0 * BTC_PRECISION) + \
deposit_amount * BTC_PRECISION - BTC_TRANSCTION_FEE * BTC_PRECISION
> assert round(pw_balance1 * BTC_PRECISION) == round(pw_balance0 * BTC_PRECISION) + \
deposit_amount * BTC_PRECISION - BTC_TRANSCTION_FEE * BTC_PRECISION
E assert 5999919998 == ((0 + (30 * 100000000)) - (0.0002 * 100000000))
E + where 5999919998 = round((59.99919998 * 100000000))
E + and 0 = round((0 * 100000000))
test_btc_son.py:44: AssertionError
--------------------------------------------------------------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------------------------------------------------------------
*************** Peerplays command:
get_sidechain_address_by_account_and_sidechain account02 bitcoin
-->
{
"id": "1.38.1",
"sidechain_address_account": "1.2.53",
"sidechain": "bitcoin",
"deposit_public_key": "02b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0d",
"deposit_address": "bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7",
"deposit_address_data": "{ \"redeemScript\": \"2102b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0dac635167007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a268\", \"witnessScript\": \"002068558698952c37ea52bf3accc2f55f29333da3b900c33dcb86e3818f036ad903\" }",
"withdraw_public_key": "0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5",
"withdraw_address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"valid_from": "2023-01-20T18:55:42",
"expires": "2106-02-07T06:28:15"
}
*************** Peerplays command:
get_active_son_wallet
-->
{
"id": "1.35.0",
"valid_from": "2023-01-20T19:00:00",
"expires": "2106-02-07T06:28:15",
"addresses": [[
"bitcoin",
"{\n \"address\": \"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\",\n \"redeemScript\": \"007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a2\"\n}\n"
],[
"ethereum",
"0x572eA65762bFFf521C11Ce5334FfaaF4bDD4974e"
]
],
"sons": [[
"bitcoin",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "03456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "02d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "0228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666"
}
]
],[
"ethereum",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "5fbbb31be52608d2f52247e8400b7fcaa9e0bc12"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "76ce31bd03f601c3fc13732def921c5bac282676"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "09ee460834498a4ee361beb819470061b7381b49"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "6aefbd09209e1ee2e0a589d31e732f69b77713d2"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "631e128b16f9adcf1bb6385112b1519c917d77a7"
}
]
],[
"hive",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "sonaccount01"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "sonaccount02"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "sonaccount03"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "sonaccount04"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "sonaccount05"
}
]
]
]
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
29.99939998 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" getbalance
-->
14608.43700359
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="son-wallet" listunspent 1 9999999 "[\"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\"]" true
-->
[
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" sendtoaddress bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7 30 "" "" false
-->
36b6caee203a45056c1f7ee5b81da3a9b6a066e3ebb903955e1c12b0bcd9e4fd
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"65279ea3d4f03b59fe82e80c80026260ec9c97c43d48709e2ef31988d84e7017"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"692fe4f4db8d25a778bb0dfcbfa5ddf20b7c0ef37c0dd33055727197cc662fa2"
]
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
59.99919998 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" getbalance
-->
14601.56177298
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="son-wallet" listunspent 1 9999999 "[\"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\"]" true
-->
[
{
"txid": "62d9362947282350f47b566c9fc176130b95e81d8cb0b17928d82d388e2c3fdb",
"vout": 1,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 29.99939998,
"confirmations": 2,
"spendable": false,
"solvable": false,
"safe": true
},
{
"txid": "fa8828ad31eb64dbb31f240f3012b0f4cafd8aaa3a2a7d8e75cf43f4f9a405ef",
"vout": 0,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 29.99980000,
"confirmations": 1,
"spendable": false,
"solvable": false,
"safe": true
}
]
================================================================================================================================================== short test summary info ==================================================================================================================================================
FAILED test_btc_son.py::test_btc_deposit - assert 5999919998 == ((0 + (30 * 100000000)) - (0.0002 * 100000000))
=============================================================================================================================================== 1 failed, 1 passed in 52.12s ================================================================================================================================================
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$ pytest test_btc_son.py
==================================================================================================================================================== test session starts ====================================================================================================================================================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/kiran/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests
collected 2 items
test_btc_son.py .. [100%]
==================================================================================================================================================== 2 passed in 52.03s =====================================================================================================================================================
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$ pytest test_btc_son.py
==================================================================================================================================================== test session starts ====================================================================================================================================================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/kiran/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests
collected 2 items
test_btc_son.py .. [100%]
==================================================================================================================================================== 2 passed in 52.11s =====================================================================================================================================================
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$ pytest test_btc_son.py
==================================================================================================================================================== test session starts ====================================================================================================================================================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/kiran/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests
collected 2 items
test_btc_son.py .. [100%]
==================================================================================================================================================== 2 passed in 52.02s =====================================================================================================================================================
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$ pytest test_btc_son.py
==================================================================================================================================================== test session starts ====================================================================================================================================================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/kiran/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests
collected 2 items
test_btc_son.py .. [100%]
==================================================================================================================================================== 2 passed in 52.10s =====================================================================================================================================================
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$ pytest test_btc_son.py
==================================================================================================================================================== test session starts ====================================================================================================================================================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/kiran/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests
collected 2 items
test_btc_son.py FF [100%]
========================================================================================================================================================= FAILURES ==========================================================================================================================================================
_____________________________________________________________________________________________________________________________________________________ test_btc_deposit ______________________________________________________________________________________________________________________________________________________
def test_btc_deposit():
# Setup deposit parameters
deposit_amount = 30
# Find out SON-related addresses
sidechain_deposit_addr = pp_get_sidechain_address_by_account_and_sidechain(
ACCOUNT_PP, "bitcoin")["deposit_address"]
pw_addr = pp_get_active_son_primary_wallet_address("bitcoin")
# Save initial balances
balance0 = pp_get_account_balance(ACCOUNT_PP, "BTC")
btc_balance0 = btc_getbalance()
pw_balance0 = btc_listunspent_amount_per_address(pw_addr, "son-wallet")
# Make the deposit itself
btc_sendtoaddress(sidechain_deposit_addr, deposit_amount)
# Wait for complete transaction handling
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(15)
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(10)
# Get new balances
balance1 = pp_get_account_balance(ACCOUNT_PP, "BTC")
btc_balance1 = btc_getbalance()
pw_balance1 = btc_listunspent_amount_per_address(pw_addr, "son-wallet")
# Verify proper increases
> assert round(balance1 * BTC_PRECISION) == round(balance0 * BTC_PRECISION) + \
deposit_amount * BTC_PRECISION - BTC_TRANSCTION_FEE * BTC_PRECISION
E assert 10999791921 == ((7999839998 + (30 * 100000000)) - (0.0002 * 100000000))
E + where 10999791921 = round((109.99791921 * 100000000))
E + and 7999839998 = round((79.99839998 * 100000000))
test_btc_son.py:42: AssertionError
--------------------------------------------------------------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------------------------------------------------------------
*************** Peerplays command:
get_sidechain_address_by_account_and_sidechain account02 bitcoin
-->
{
"id": "1.38.1",
"sidechain_address_account": "1.2.53",
"sidechain": "bitcoin",
"deposit_public_key": "02b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0d",
"deposit_address": "bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7",
"deposit_address_data": "{ \"redeemScript\": \"2102b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0dac635167007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a268\", \"witnessScript\": \"002068558698952c37ea52bf3accc2f55f29333da3b900c33dcb86e3818f036ad903\" }",
"withdraw_public_key": "0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5",
"withdraw_address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"valid_from": "2023-01-20T18:55:42",
"expires": "2106-02-07T06:28:15"
}
*************** Peerplays command:
get_active_son_wallet
-->
{
"id": "1.35.0",
"valid_from": "2023-01-20T19:00:00",
"expires": "2106-02-07T06:28:15",
"addresses": [[
"bitcoin",
"{\n \"address\": \"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\",\n \"redeemScript\": \"007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a2\"\n}\n"
],[
"ethereum",
"0x572eA65762bFFf521C11Ce5334FfaaF4bDD4974e"
]
],
"sons": [[
"bitcoin",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "03456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "02d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "0228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666"
}
]
],[
"ethereum",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "5fbbb31be52608d2f52247e8400b7fcaa9e0bc12"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "76ce31bd03f601c3fc13732def921c5bac282676"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "09ee460834498a4ee361beb819470061b7381b49"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "6aefbd09209e1ee2e0a589d31e732f69b77713d2"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "631e128b16f9adcf1bb6385112b1519c917d77a7"
}
]
],[
"hive",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "sonaccount01"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "sonaccount02"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "sonaccount03"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "sonaccount04"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "sonaccount05"
}
]
]
]
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
79.99839998 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" getbalance
-->
14609.68565058
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="son-wallet" listunspent 1 9999999 "[\"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\"]" true
-->
[
{
"txid": "a64fea1fdc75e91b204d5a518df517cd0b20152b0479381b428f2f9d8a3e5eb9",
"vout": 1,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 79.99839996,
"confirmations": 1,
"spendable": false,
"solvable": false,
"safe": true
}
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" sendtoaddress bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7 30 "" "" false
-->
2f9f77ec485a5ce2fef7e613204106eb561d7b48cfa6eb4b41d78a058717234d
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"251ff569d356f292a80490a3862598089c373360f6093dfc93c4490ebc440010"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"4d96dff58a148d0bbdfe345c197e981bd97e1213a5286c1f6fc5e71497f173ea"
]
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
109.99791921 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" getbalance
-->
14582.81057703
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="son-wallet" listunspent 1 9999999 "[\"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\"]" true
-->
[
{
"txid": "a64fea1fdc75e91b204d5a518df517cd0b20152b0479381b428f2f9d8a3e5eb9",
"vout": 1,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 79.99839996,
"confirmations": 3,
"spendable": false,
"solvable": false,
"safe": true
},
{
"txid": "1e42cd2f913dbcae70c335a8c5e2195b11d675aaadc95d7aa43878671324f7c4",
"vout": 0,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 29.99951923,
"confirmations": 1,
"spendable": false,
"solvable": false,
"safe": true
}
]
____________________________________________________________________________________________________________________________________________________ test_btc_withdrawal ____________________________________________________________________________________________________________________________________________________
def test_btc_withdrawal():
# Setup withdrawal parameters
withdraw_amount = 20
# Find out SON-related addresses
sidechain_withdraw_addr = pp_get_sidechain_address_by_account_and_sidechain(
ACCOUNT_PP, "bitcoin")["withdraw_address"]
# Save initial balances
balance0 = pp_get_account_balance(ACCOUNT_PP, "BTC")
son_balance0 = pp_get_account_balance("son-account", "BTC")
btc_balance0 = btc_listunspent_amount_per_address(sidechain_withdraw_addr)
# Make the withdrawal itself
pp_transfer(ACCOUNT_PP, "son-account", withdraw_amount, "BTC")
# Get new balances - first, before bitcoin block generation
balance1 = pp_get_account_balance(ACCOUNT_PP, "BTC")
son_balance1 = pp_get_account_balance("son-account", "BTC")
# Verify proper balance changes
assert round(balance1 * BTC_PRECISION) == round(balance0 * \
BTC_PRECISION) - withdraw_amount * BTC_PRECISION
assert round(son_balance1 * BTC_PRECISION) == round(son_balance0 *
BTC_PRECISION) + withdraw_amount * BTC_PRECISION
# Wait for complete transaction handling
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(15)
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(10)
# Get new balance after bitcoin block generation
btc_balance1 = btc_listunspent_amount_per_address(sidechain_withdraw_addr)
# Verify proper balance increase
> assert round(btc_balance1 * BTC_PRECISION) == round(btc_balance0 * BTC_PRECISION) + \
withdraw_amount * BTC_PRECISION - BTC_TRANSCTION_FEE * BTC_PRECISION
E assert 106999839998 == ((106999839998 + (20 * 100000000)) - (0.0002 * 100000000))
E + where 106999839998 = round((1069.99839998 * 100000000))
E + and 106999839998 = round((1069.99839998 * 100000000))
test_btc_son.py:85: AssertionError
--------------------------------------------------------------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------------------------------------------------------------
*************** Peerplays command:
get_sidechain_address_by_account_and_sidechain account02 bitcoin
-->
{
"id": "1.38.1",
"sidechain_address_account": "1.2.53",
"sidechain": "bitcoin",
"deposit_public_key": "02b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0d",
"deposit_address": "bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7",
"deposit_address_data": "{ \"redeemScript\": \"2102b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0dac635167007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a268\", \"witnessScript\": \"002068558698952c37ea52bf3accc2f55f29333da3b900c33dcb86e3818f036ad903\" }",
"withdraw_public_key": "0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5",
"withdraw_address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"valid_from": "2023-01-20T18:55:42",
"expires": "2106-02-07T06:28:15"
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
109.99791921 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Peerplays command:
list_account_balances son-account
-->
0 BTC
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" listunspent 1 9999999 "[\"2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1\"]" true
-->
[
{
"txid": "833084aadd70178fc723cddf4a07c2d24456602088e2235c81c023d35299a404",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 19,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "68d3400dd56876573399e77b3e8f874b4cbc408fee2a0abde6ef741052a0570d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 11,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "5969f62de3b1c9f60623cb3a58b113760e3d66028d66e7399cbb7bbb965d9c40",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 31,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "eef8886f945bce67e808505dfc6c232c827c953e67ba97c34ce79ec154c70b4d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 27,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "55eb01e33739c862f8ebb6914b1b5c9d61798a101da410e1518f6132ca75a47b",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 7,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "958a9302ca6334687768e5ed808f551467e1b5ccb6c725cd639736a17fa98683",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 15,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "a64fea1fdc75e91b204d5a518df517cd0b20152b0479381b428f2f9d8a3e5eb9",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 3,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "62d9362947282350f47b566c9fc176130b95e81d8cb0b17928d82d388e2c3fdb",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 22,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "3a58669ebf92e4cd3f31861f0ef0f3ecc8b83b7006f8d13cc66fc17f7f6ee3e5",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 910.00000000,
"confirmations": 35,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
}
]
*************** Peerplays command:
transfer account02 son-account 20 BTC "" true
-->
{
"ref_block_num": 926,
"ref_block_prefix": 4145689335,
"expiration": "2023-01-20T19:41:45",
"operations": [[
0,{
"fee": {
"amount": 0,
"asset_id": "1.3.0"
},
"from": "1.2.53",
"to": "1.2.19",
"amount": {
"amount": 2000000000,
"asset_id": "1.3.1"
},
"extensions": []
}
]
],
"extensions": [],
"signatures": [
"200c5d7e85ce7c2594919a7c6f73313a6e0ba005ec9e19b4aa3eb3948cbacf2d7701d7b7736e12d61b9024875ae62a49ac03b5081af66e7a0158555fae84ca6c3c"
]
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
89.99791921 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Peerplays command:
list_account_balances son-account
-->
20 BTC
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"29acb76cd2659b53c6fe563ec370d16ed1ef7648330b19bab2ce893efc69deaf"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"0b82d85ad94605e2ed6498d01459718b30a27f15204e61e5333efeb246a4da44"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" listunspent 1 9999999 "[\"2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1\"]" true
-->
[
{
"txid": "833084aadd70178fc723cddf4a07c2d24456602088e2235c81c023d35299a404",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 21,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "68d3400dd56876573399e77b3e8f874b4cbc408fee2a0abde6ef741052a0570d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 13,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "5969f62de3b1c9f60623cb3a58b113760e3d66028d66e7399cbb7bbb965d9c40",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 33,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "eef8886f945bce67e808505dfc6c232c827c953e67ba97c34ce79ec154c70b4d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 29,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "55eb01e33739c862f8ebb6914b1b5c9d61798a101da410e1518f6132ca75a47b",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 9,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "958a9302ca6334687768e5ed808f551467e1b5ccb6c725cd639736a17fa98683",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 17,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "a64fea1fdc75e91b204d5a518df517cd0b20152b0479381b428f2f9d8a3e5eb9",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 5,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "62d9362947282350f47b566c9fc176130b95e81d8cb0b17928d82d388e2c3fdb",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 24,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "3a58669ebf92e4cd3f31861f0ef0f3ecc8b83b7006f8d13cc66fc17f7f6ee3e5",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 910.00000000,
"confirmations": 37,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
}
]
================================================================================================================================================== short test summary info ==================================================================================================================================================
FAILED test_btc_son.py::test_btc_deposit - assert 10999791921 == ((7999839998 + (30 * 100000000)) - (0.0002 * 100000000))
FAILED test_btc_son.py::test_btc_withdrawal - assert 106999839998 == ((106999839998 + (20 * 100000000)) - (0.0002 * 100000000))
==================================================================================================================================================== 2 failed in 52.10s =====================================================================================================================================================
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$ pytest test_btc_son.py
==================================================================================================================================================== test session starts ====================================================================================================================================================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/kiran/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests
collected 2 items
test_btc_son.py FF [100%]
========================================================================================================================================================= FAILURES ==========================================================================================================================================================
_____________________________________________________________________________________________________________________________________________________ test_btc_deposit ______________________________________________________________________________________________________________________________________________________
def test_btc_deposit():
# Setup deposit parameters
deposit_amount = 30
# Find out SON-related addresses
sidechain_deposit_addr = pp_get_sidechain_address_by_account_and_sidechain(
ACCOUNT_PP, "bitcoin")["deposit_address"]
pw_addr = pp_get_active_son_primary_wallet_address("bitcoin")
# Save initial balances
balance0 = pp_get_account_balance(ACCOUNT_PP, "BTC")
btc_balance0 = btc_getbalance()
pw_balance0 = btc_listunspent_amount_per_address(pw_addr, "son-wallet")
# Make the deposit itself
btc_sendtoaddress(sidechain_deposit_addr, deposit_amount)
# Wait for complete transaction handling
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(15)
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(10)
# Get new balances
balance1 = pp_get_account_balance(ACCOUNT_PP, "BTC")
btc_balance1 = btc_getbalance()
pw_balance1 = btc_listunspent_amount_per_address(pw_addr, "son-wallet")
# Verify proper increases
> assert round(balance1 * BTC_PRECISION) == round(balance0 * BTC_PRECISION) + \
deposit_amount * BTC_PRECISION - BTC_TRANSCTION_FEE * BTC_PRECISION
E assert 11999743790 == ((8999791921 + (30 * 100000000)) - (0.0002 * 100000000))
E + where 11999743790 = round((119.9974379 * 100000000))
E + and 8999791921 = round((89.99791921 * 100000000))
test_btc_son.py:42: AssertionError
--------------------------------------------------------------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------------------------------------------------------------
*************** Peerplays command:
get_sidechain_address_by_account_and_sidechain account02 bitcoin
-->
{
"id": "1.38.1",
"sidechain_address_account": "1.2.53",
"sidechain": "bitcoin",
"deposit_public_key": "02b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0d",
"deposit_address": "bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7",
"deposit_address_data": "{ \"redeemScript\": \"2102b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0dac635167007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a268\", \"witnessScript\": \"002068558698952c37ea52bf3accc2f55f29333da3b900c33dcb86e3818f036ad903\" }",
"withdraw_public_key": "0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5",
"withdraw_address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"valid_from": "2023-01-20T18:55:42",
"expires": "2106-02-07T06:28:15"
}
*************** Peerplays command:
get_active_son_wallet
-->
{
"id": "1.35.0",
"valid_from": "2023-01-20T19:00:00",
"expires": "2106-02-07T06:28:15",
"addresses": [[
"bitcoin",
"{\n \"address\": \"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\",\n \"redeemScript\": \"007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a2\"\n}\n"
],[
"ethereum",
"0x572eA65762bFFf521C11Ce5334FfaaF4bDD4974e"
]
],
"sons": [[
"bitcoin",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "03456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "02d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "0228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666"
}
]
],[
"ethereum",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "5fbbb31be52608d2f52247e8400b7fcaa9e0bc12"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "76ce31bd03f601c3fc13732def921c5bac282676"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "09ee460834498a4ee361beb819470061b7381b49"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "6aefbd09209e1ee2e0a589d31e732f69b77713d2"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "631e128b16f9adcf1bb6385112b1519c917d77a7"
}
]
],[
"hive",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "sonaccount01"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "sonaccount02"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "sonaccount03"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "sonaccount04"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "sonaccount05"
}
]
]
]
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
89.99791921 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" getbalance
-->
14585.93557703
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="son-wallet" listunspent 1 9999999 "[\"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\"]" true
-->
[
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" sendtoaddress bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7 30 "" "" false
-->
5dab47592a8b49b1de7a7b04dfbc5d74b0b0be205751be9d9e621ed33763ac56
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"6a8da4ec617a892dbcbadf774c37d1520aa499c5cd69f561cae7e03f22b92cdb"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"58ebc538e4c5bd3f5aa744b0e82cee6b889b932adff3a6f5350f12c68cfa087f"
]
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
119.99743790 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" getbalance
-->
14579.06002271
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="son-wallet" listunspent 1 9999999 "[\"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\"]" true
-->
[
{
"txid": "7a5af30b444bde6567a5c1f04f98a45dd3ec5b3603350027c65572283c85d69d",
"vout": 1,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 89.99791919,
"confirmations": 2,
"spendable": false,
"solvable": false,
"safe": true
},
{
"txid": "c3080256056bd25978ca6afc0253ac01a0acc8905467549ee90c198cd60f5ad2",
"vout": 0,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 29.99951869,
"confirmations": 1,
"spendable": false,
"solvable": false,
"safe": true
}
]
____________________________________________________________________________________________________________________________________________________ test_btc_withdrawal ____________________________________________________________________________________________________________________________________________________
def test_btc_withdrawal():
# Setup withdrawal parameters
withdraw_amount = 20
# Find out SON-related addresses
sidechain_withdraw_addr = pp_get_sidechain_address_by_account_and_sidechain(
ACCOUNT_PP, "bitcoin")["withdraw_address"]
# Save initial balances
balance0 = pp_get_account_balance(ACCOUNT_PP, "BTC")
son_balance0 = pp_get_account_balance("son-account", "BTC")
btc_balance0 = btc_listunspent_amount_per_address(sidechain_withdraw_addr)
# Make the withdrawal itself
pp_transfer(ACCOUNT_PP, "son-account", withdraw_amount, "BTC")
# Get new balances - first, before bitcoin block generation
balance1 = pp_get_account_balance(ACCOUNT_PP, "BTC")
son_balance1 = pp_get_account_balance("son-account", "BTC")
# Verify proper balance changes
assert round(balance1 * BTC_PRECISION) == round(balance0 * \
BTC_PRECISION) - withdraw_amount * BTC_PRECISION
assert round(son_balance1 * BTC_PRECISION) == round(son_balance0 *
BTC_PRECISION) + withdraw_amount * BTC_PRECISION
# Wait for complete transaction handling
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(15)
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(10)
# Get new balance after bitcoin block generation
btc_balance1 = btc_listunspent_amount_per_address(sidechain_withdraw_addr)
# Verify proper balance increase
> assert round(btc_balance1 * BTC_PRECISION) == round(btc_balance0 * BTC_PRECISION) + \
withdraw_amount * BTC_PRECISION - BTC_TRANSCTION_FEE * BTC_PRECISION
E assert 110999743789 == ((108999791921 + (20 * 100000000)) - (0.0002 * 100000000))
E + where 110999743789 = round((1109.99743789 * 100000000))
E + and 108999791921 = round((1089.99791921 * 100000000))
test_btc_son.py:85: AssertionError
--------------------------------------------------------------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------------------------------------------------------------
*************** Peerplays command:
get_sidechain_address_by_account_and_sidechain account02 bitcoin
-->
{
"id": "1.38.1",
"sidechain_address_account": "1.2.53",
"sidechain": "bitcoin",
"deposit_public_key": "02b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0d",
"deposit_address": "bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7",
"deposit_address_data": "{ \"redeemScript\": \"2102b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0dac635167007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a268\", \"witnessScript\": \"002068558698952c37ea52bf3accc2f55f29333da3b900c33dcb86e3818f036ad903\" }",
"withdraw_public_key": "0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5",
"withdraw_address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"valid_from": "2023-01-20T18:55:42",
"expires": "2106-02-07T06:28:15"
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
119.99743790 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Peerplays command:
list_account_balances son-account
-->
0 BTC
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" listunspent 1 9999999 "[\"2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1\"]" true
-->
[
{
"txid": "833084aadd70178fc723cddf4a07c2d24456602088e2235c81c023d35299a404",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 23,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "68d3400dd56876573399e77b3e8f874b4cbc408fee2a0abde6ef741052a0570d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 15,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "5969f62de3b1c9f60623cb3a58b113760e3d66028d66e7399cbb7bbb965d9c40",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 35,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "eef8886f945bce67e808505dfc6c232c827c953e67ba97c34ce79ec154c70b4d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 31,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "55eb01e33739c862f8ebb6914b1b5c9d61798a101da410e1518f6132ca75a47b",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 11,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "958a9302ca6334687768e5ed808f551467e1b5ccb6c725cd639736a17fa98683",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 19,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "7a5af30b444bde6567a5c1f04f98a45dd3ec5b3603350027c65572283c85d69d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99951923,
"confirmations": 2,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "a64fea1fdc75e91b204d5a518df517cd0b20152b0479381b428f2f9d8a3e5eb9",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 7,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "62d9362947282350f47b566c9fc176130b95e81d8cb0b17928d82d388e2c3fdb",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 26,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "3a58669ebf92e4cd3f31861f0ef0f3ecc8b83b7006f8d13cc66fc17f7f6ee3e5",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 910.00000000,
"confirmations": 39,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
}
]
*************** Peerplays command:
transfer account02 son-account 20 BTC "" true
-->
{
"ref_block_num": 975,
"ref_block_prefix": 4276612581,
"expiration": "2023-01-20T19:44:12",
"operations": [[
0,{
"fee": {
"amount": 0,
"asset_id": "1.3.0"
},
"from": "1.2.53",
"to": "1.2.19",
"amount": {
"amount": 2000000000,
"asset_id": "1.3.1"
},
"extensions": []
}
]
],
"extensions": [],
"signatures": [
"1f3f782b35d0df7fdd20ba95576b5f694b4510c3b704f345ddf2ee763a0b2509c71bf11960940c4d57c0008133f11deefe09fa3986473def3856e73cc57de0d776"
]
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
99.99743790 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Peerplays command:
list_account_balances son-account
-->
20 BTC
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"292faa5fc8a84fde1b3c73a28d7a01e86e52e51cf43f26a6c352b0437ef6b299"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"18bd211b06ac39bf33a0a575632cf8a8ec2fe7f2c3329c024c9cb5778f6bf5de"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" listunspent 1 9999999 "[\"2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1\"]" true
-->
[
{
"txid": "833084aadd70178fc723cddf4a07c2d24456602088e2235c81c023d35299a404",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 25,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "68d3400dd56876573399e77b3e8f874b4cbc408fee2a0abde6ef741052a0570d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 17,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "5969f62de3b1c9f60623cb3a58b113760e3d66028d66e7399cbb7bbb965d9c40",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 37,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "eef8886f945bce67e808505dfc6c232c827c953e67ba97c34ce79ec154c70b4d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 33,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "55eb01e33739c862f8ebb6914b1b5c9d61798a101da410e1518f6132ca75a47b",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 13,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "6ef70436f43528fc5465712206634a0172f68d0efedf5714f472bd2799f65d81",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99951868,
"confirmations": 1,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "958a9302ca6334687768e5ed808f551467e1b5ccb6c725cd639736a17fa98683",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 21,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "7a5af30b444bde6567a5c1f04f98a45dd3ec5b3603350027c65572283c85d69d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99951923,
"confirmations": 4,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "a64fea1fdc75e91b204d5a518df517cd0b20152b0479381b428f2f9d8a3e5eb9",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 9,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "62d9362947282350f47b566c9fc176130b95e81d8cb0b17928d82d388e2c3fdb",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 28,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "3a58669ebf92e4cd3f31861f0ef0f3ecc8b83b7006f8d13cc66fc17f7f6ee3e5",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 910.00000000,
"confirmations": 41,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
}
]
================================================================================================================================================== short test summary info ==================================================================================================================================================
FAILED test_btc_son.py::test_btc_deposit - assert 11999743790 == ((8999791921 + (30 * 100000000)) - (0.0002 * 100000000))
FAILED test_btc_son.py::test_btc_withdrawal - assert 110999743789 == ((108999791921 + (20 * 100000000)) - (0.0002 * 100000000))
==================================================================================================================================================== 2 failed in 52.00s =====================================================================================================================================================
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$ pytest test_btc_son.py
==================================================================================================================================================== test session starts ====================================================================================================================================================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/kiran/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests
collected 2 items
test_btc_son.py FF [100%]
========================================================================================================================================================= FAILURES ==========================================================================================================================================================
_____________________________________________________________________________________________________________________________________________________ test_btc_deposit ______________________________________________________________________________________________________________________________________________________
def test_btc_deposit():
# Setup deposit parameters
deposit_amount = 30
# Find out SON-related addresses
sidechain_deposit_addr = pp_get_sidechain_address_by_account_and_sidechain(
ACCOUNT_PP, "bitcoin")["deposit_address"]
pw_addr = pp_get_active_son_primary_wallet_address("bitcoin")
# Save initial balances
balance0 = pp_get_account_balance(ACCOUNT_PP, "BTC")
btc_balance0 = btc_getbalance()
pw_balance0 = btc_listunspent_amount_per_address(pw_addr, "son-wallet")
# Make the deposit itself
btc_sendtoaddress(sidechain_deposit_addr, deposit_amount)
# Wait for complete transaction handling
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(15)
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(10)
# Get new balances
balance1 = pp_get_account_balance(ACCOUNT_PP, "BTC")
btc_balance1 = btc_getbalance()
pw_balance1 = btc_listunspent_amount_per_address(pw_addr, "son-wallet")
# Verify proper increases
> assert round(balance1 * BTC_PRECISION) == round(balance0 * BTC_PRECISION) + \
deposit_amount * BTC_PRECISION - BTC_TRANSCTION_FEE * BTC_PRECISION
E assert 12999656361 == ((9999743790 + (30 * 100000000)) - (0.0002 * 100000000))
E + where 12999656361 = round((129.99656361 * 100000000))
E + and 9999743790 = round((99.9974379 * 100000000))
test_btc_son.py:42: AssertionError
--------------------------------------------------------------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------------------------------------------------------------
*************** Peerplays command:
get_sidechain_address_by_account_and_sidechain account02 bitcoin
-->
{
"id": "1.38.1",
"sidechain_address_account": "1.2.53",
"sidechain": "bitcoin",
"deposit_public_key": "02b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0d",
"deposit_address": "bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7",
"deposit_address_data": "{ \"redeemScript\": \"2102b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0dac635167007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a268\", \"witnessScript\": \"002068558698952c37ea52bf3accc2f55f29333da3b900c33dcb86e3818f036ad903\" }",
"withdraw_public_key": "0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5",
"withdraw_address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"valid_from": "2023-01-20T18:55:42",
"expires": "2106-02-07T06:28:15"
}
*************** Peerplays command:
get_active_son_wallet
-->
{
"id": "1.35.0",
"valid_from": "2023-01-20T19:00:00",
"expires": "2106-02-07T06:28:15",
"addresses": [[
"bitcoin",
"{\n \"address\": \"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\",\n \"redeemScript\": \"007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a2\"\n}\n"
],[
"ethereum",
"0x572eA65762bFFf521C11Ce5334FfaaF4bDD4974e"
]
],
"sons": [[
"bitcoin",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "03456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "02d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "0228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666"
}
]
],[
"ethereum",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "5fbbb31be52608d2f52247e8400b7fcaa9e0bc12"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "76ce31bd03f601c3fc13732def921c5bac282676"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "09ee460834498a4ee361beb819470061b7381b49"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "6aefbd09209e1ee2e0a589d31e732f69b77713d2"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "631e128b16f9adcf1bb6385112b1519c917d77a7"
}
]
],[
"hive",[{
"son_id": "1.33.0",
"weight": 1,
"signing_key": "TEST8TCQFzyYDp3DPgWZ24261fMPSCzXxVyoF3miWeTj6JTi2DZdrL",
"public_key": "sonaccount01"
},{
"son_id": "1.33.1",
"weight": 1,
"signing_key": "TEST82qv1LKFvwVKD9pg5JQf6qqwLcoeqUniQjWJ3wKTodyWa7gHUs",
"public_key": "sonaccount02"
},{
"son_id": "1.33.2",
"weight": 1,
"signing_key": "TEST6xdp7MrEPnaNK9GuF3KTeTizgGN6JC5nPmxx81higFepSZ8N7r",
"public_key": "sonaccount03"
},{
"son_id": "1.33.3",
"weight": 1,
"signing_key": "TEST55j32Up75gHCxJBPN18vEytL9anDgEVFtsaCii38keGQG71X22",
"public_key": "sonaccount04"
},{
"son_id": "1.33.4",
"weight": 1,
"signing_key": "TEST68bX5bB16GkEAig6w2WTh9NbM9nHa66CemnDRx2njRY9bbWXhU",
"public_key": "sonaccount05"
}
]
]
]
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
99.99743790 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" getbalance
-->
14601.40329139
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="son-wallet" listunspent 1 9999999 "[\"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\"]" true
-->
[
{
"txid": "6ef70436f43528fc5465712206634a0172f68d0efedf5714f472bd2799f65d81",
"vout": 1,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 99.99743788,
"confirmations": 1,
"spendable": false,
"solvable": false,
"safe": true
}
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" sendtoaddress bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7 30 "" "" false
-->
0dd62ac1644c822a18830040f72e090d362f1e19ee1772d9b6600f6eb7659a38
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"57497f32129883f7c8792bb1263162e1ce930973c05c19413b828b3a3beac55c"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"321a5cc57eb0d02cab27d3e6b9aa969bab79795688d0b80e68fbc55350945b77"
]
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
129.99656361 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" getbalance
-->
14572.96571775
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="son-wallet" listunspent 1 9999999 "[\"bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2\"]" true
-->
[
{
"txid": "a8540f5ff43b5f687ce7e16a5933e47645cfa4554964435117bdae74316d8516",
"vout": 0,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 29.99912571,
"confirmations": 1,
"spendable": false,
"solvable": false,
"safe": true
},
{
"txid": "6ef70436f43528fc5465712206634a0172f68d0efedf5714f472bd2799f65d81",
"vout": 1,
"address": "bcrt1qkncreuvqc6rn8zp5u75rfdh537lsscnlwrq0xzeqgkmzg7202cpsywt3h2",
"label": "",
"scriptPubKey": "0020b4f03cf180c687338834e7a834b6f48fbf08627f70c0f30b2045b624794f5603",
"amount": 99.99743788,
"confirmations": 3,
"spendable": false,
"solvable": false,
"safe": true
}
]
____________________________________________________________________________________________________________________________________________________ test_btc_withdrawal ____________________________________________________________________________________________________________________________________________________
def test_btc_withdrawal():
# Setup withdrawal parameters
withdraw_amount = 20
# Find out SON-related addresses
sidechain_withdraw_addr = pp_get_sidechain_address_by_account_and_sidechain(
ACCOUNT_PP, "bitcoin")["withdraw_address"]
# Save initial balances
balance0 = pp_get_account_balance(ACCOUNT_PP, "BTC")
son_balance0 = pp_get_account_balance("son-account", "BTC")
btc_balance0 = btc_listunspent_amount_per_address(sidechain_withdraw_addr)
# Make the withdrawal itself
pp_transfer(ACCOUNT_PP, "son-account", withdraw_amount, "BTC")
# Get new balances - first, before bitcoin block generation
balance1 = pp_get_account_balance(ACCOUNT_PP, "BTC")
son_balance1 = pp_get_account_balance("son-account", "BTC")
# Verify proper balance changes
assert round(balance1 * BTC_PRECISION) == round(balance0 * \
BTC_PRECISION) - withdraw_amount * BTC_PRECISION
assert round(son_balance1 * BTC_PRECISION) == round(son_balance0 *
BTC_PRECISION) + withdraw_amount * BTC_PRECISION
# Wait for complete transaction handling
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(15)
btc_generatetoaddress(BTC_GENERATION_ADDR)
time.sleep(10)
# Get new balance after bitcoin block generation
btc_balance1 = btc_listunspent_amount_per_address(sidechain_withdraw_addr)
# Verify proper balance increase
> assert round(btc_balance1 * BTC_PRECISION) == round(btc_balance0 * BTC_PRECISION) + \
withdraw_amount * BTC_PRECISION - BTC_TRANSCTION_FEE * BTC_PRECISION
E assert 112999656360 == ((110999743789 + (20 * 100000000)) - (0.0002 * 100000000))
E + where 112999656360 = round((1129.9965636 * 100000000))
E + and 110999743789 = round((1109.99743789 * 100000000))
test_btc_son.py:85: AssertionError
--------------------------------------------------------------------------------------------------------------------------------------------------- Captured stdout call ----------------------------------------------------------------------------------------------------------------------------------------------------
*************** Peerplays command:
get_sidechain_address_by_account_and_sidechain account02 bitcoin
-->
{
"id": "1.38.1",
"sidechain_address_account": "1.2.53",
"sidechain": "bitcoin",
"deposit_public_key": "02b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0d",
"deposit_address": "bcrt1qdp2cdxy49sm7554l8txv9a2l9yenmgaeqrpnmjuxuwqc7qm2mypsvpxsp7",
"deposit_address_data": "{ \"redeemScript\": \"2102b510a452d6e80f943e4cc85af5cad6c528bda87fc92b821dd246a1a76c175b0dac635167007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac6351936854a268\", \"witnessScript\": \"002068558698952c37ea52bf3accc2f55f29333da3b900c33dcb86e3818f036ad903\" }",
"withdraw_public_key": "0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5",
"withdraw_address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"valid_from": "2023-01-20T18:55:42",
"expires": "2106-02-07T06:28:15"
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
129.99656361 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Peerplays command:
list_account_balances son-account
-->
0 BTC
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" listunspent 1 9999999 "[\"2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1\"]" true
-->
[
{
"txid": "833084aadd70178fc723cddf4a07c2d24456602088e2235c81c023d35299a404",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 27,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "68d3400dd56876573399e77b3e8f874b4cbc408fee2a0abde6ef741052a0570d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 19,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "5969f62de3b1c9f60623cb3a58b113760e3d66028d66e7399cbb7bbb965d9c40",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 39,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "eef8886f945bce67e808505dfc6c232c827c953e67ba97c34ce79ec154c70b4d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 35,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "55eb01e33739c862f8ebb6914b1b5c9d61798a101da410e1518f6132ca75a47b",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 15,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "6ef70436f43528fc5465712206634a0172f68d0efedf5714f472bd2799f65d81",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99951868,
"confirmations": 3,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "958a9302ca6334687768e5ed808f551467e1b5ccb6c725cd639736a17fa98683",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 23,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "7a5af30b444bde6567a5c1f04f98a45dd3ec5b3603350027c65572283c85d69d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99951923,
"confirmations": 6,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "a64fea1fdc75e91b204d5a518df517cd0b20152b0479381b428f2f9d8a3e5eb9",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 11,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "62d9362947282350f47b566c9fc176130b95e81d8cb0b17928d82d388e2c3fdb",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 30,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "3a58669ebf92e4cd3f31861f0ef0f3ecc8b83b7006f8d13cc66fc17f7f6ee3e5",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 910.00000000,
"confirmations": 43,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
}
]
*************** Peerplays command:
transfer account02 son-account 20 BTC "" true
-->
{
"ref_block_num": 1024,
"ref_block_prefix": 1508070329,
"expiration": "2023-01-20T19:46:39",
"operations": [[
0,{
"fee": {
"amount": 0,
"asset_id": "1.3.0"
},
"from": "1.2.53",
"to": "1.2.19",
"amount": {
"amount": 2000000000,
"asset_id": "1.3.1"
},
"extensions": []
}
]
],
"extensions": [],
"signatures": [
"204fab4b6b8c7ff12f5c9748ee6ed1c7affbe9eb869247d65b435e13df49af17ae6cf9bb345e6a113c98307e50178a9cf14fa418f45b454932099d143d4286543a"
]
}
*************** Peerplays command:
list_account_balances account02
-->
49999950 TEST
109.99656361 BTC
1000000 PBTC
1000000 PEOS
1000000 PETH
*************** Peerplays command:
list_account_balances son-account
-->
20 BTC
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"5b27f85668fbc79a352ed366315d46cd1bd9c8fc35ba91821f3a9d839c0d0ebd"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" generatetoaddress 1 "2NBynoqwHvHDXh4aRjTUxBRndPUKzg4UFDG"
-->
[
"4b59dc4699dffb8d5a7bb5fea3bdf03772de9dc85690d4abff505db07e6756ba"
]
*************** Bitcoin command:
./bitcoin-cli -rpcuser=1 -rpcpassword=1 -rpcwallet="default" listunspent 1 9999999 "[\"2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1\"]" true
-->
[
{
"txid": "833084aadd70178fc723cddf4a07c2d24456602088e2235c81c023d35299a404",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 29,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "68d3400dd56876573399e77b3e8f874b4cbc408fee2a0abde6ef741052a0570d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 21,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "5969f62de3b1c9f60623cb3a58b113760e3d66028d66e7399cbb7bbb965d9c40",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 41,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "eef8886f945bce67e808505dfc6c232c827c953e67ba97c34ce79ec154c70b4d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 37,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "55eb01e33739c862f8ebb6914b1b5c9d61798a101da410e1518f6132ca75a47b",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 17,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "6ef70436f43528fc5465712206634a0172f68d0efedf5714f472bd2799f65d81",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99951868,
"confirmations": 5,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "958a9302ca6334687768e5ed808f551467e1b5ccb6c725cd639736a17fa98683",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 25,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "7a5af30b444bde6567a5c1f04f98a45dd3ec5b3603350027c65572283c85d69d",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99951923,
"confirmations": 8,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "a64fea1fdc75e91b204d5a518df517cd0b20152b0479381b428f2f9d8a3e5eb9",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99980000,
"confirmations": 13,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "62d9362947282350f47b566c9fc176130b95e81d8cb0b17928d82d388e2c3fdb",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99979999,
"confirmations": 32,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "471fb0afda6f1c2763674aa660678eb27aa96890368ecd491ab2f793839953e0",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 19.99912571,
"confirmations": 1,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
},
{
"txid": "3a58669ebf92e4cd3f31861f0ef0f3ecc8b83b7006f8d13cc66fc17f7f6ee3e5",
"vout": 0,
"address": "2N75PEYXU6X556UU6VYNiHMgcCBL8XmWnc1",
"label": "",
"redeemScript": "0014cf0ca41b9821e3c7ba83ee36a15cd98139655edb",
"scriptPubKey": "a91497b551c55d28e363cd002c52e4dc0e0da5c827d587",
"amount": 910.00000000,
"confirmations": 45,
"spendable": true,
"solvable": true,
"desc": "sh(wpkh([cf0ca41b]0212cbe2f328ba614886ca01e1ef48688196f72fbd07b31726f160292c96da20d5))#s6ddg06s",
"safe": true
}
]
================================================================================================================================================== short test summary info ==================================================================================================================================================
FAILED test_btc_son.py::test_btc_deposit - assert 12999656361 == ((9999743790 + (30 * 100000000)) - (0.0002 * 100000000))
FAILED test_btc_son.py::test_btc_withdrawal - assert 112999656360 == ((110999743789 + (20 * 100000000)) - (0.0002 * 100000000))
==================================================================================================================================================== 2 failed in 52.04s =====================================================================================================================================================
kiran@warpspeed:~/PBSA/21012023/peerplays-utils/peerplays-qa-environment/e2e-tests$