Grinnode-live / 2020-grin-bug-bash-challenge

Finding bugs in Grin-Wallet & Grin-nodes for a bounty prior to Grin fork v5.
3 stars 1 forks source link

Self-Send over ToR fails #59

Closed bladedoyle closed 3 years ago

bladedoyle commented 3 years ago

There are several reasons we need to self-send. Consolidating outputs. Adding a bit of deniable plausibility to input/output linking, etc. We used to be able to do this though the http listener.

I am unable to send to myself over Tor:

bdoyle@crypto:~$ grin-wallet address | grep grin
grin1XXXXX
bdoyle@crypto:~$ grin-wallet send -d grin1hXXXXX 1
20201229 18:55:18.278 WARN grin_wallet_api::owner - Attempting to send transaction via TOR
Wallet command failed: LibWallet Error: Payment Proof generation error: Original proof info not stored in tx

The transaction is not completed. Its necessary to cancel both parts:

bdoyle@crypto:~$ grin-wallet txs
...
 325  Received Tx  f2cf54ff-e087-4db8-8ed4-47f3cacc38da  2020-12-29 18:55:32  None               false       None                 0       1        1.0           0.0            None    1.0           None      0950a3e559e9954390e318a2322a10b82b8085c6bcf790a18c4dc1b7ec9d77c10e  None 
---
 326  Sent Tx      f2cf54ff-e087-4db8-8ed4-47f3cacc38da  2020-12-29 18:55:32  None               false       None                 1       1        93.63409798   94.65709798    0.023   -1.023        Yes       08d213442bac4214a6d22dc673aba2db2ac201167bd55c91caa32ffa110a9b626e  Yes 
bdoyle@crypto:~$ grin-wallet cancel -i 325
Command 'cancel' completed successfully
bdoyle@crypto:~$ grin-wallet cancel -i 326
Command 'cancel' completed successfully
goyle commented 3 years ago

Description

There are several reasons we need to self-send. Consolidating outputs. Adding a bit of deniable plausibility to input/output linking, etc. We used to be able to do this though the http listener.

Prerequisites

  1. GRIN-Node
  2. GRIN-Wallet

Test Procedure

I am unable to send to myself over Tor:

bdoyle@crypto:~$ grin-wallet address | grep grin
grin1XXXXX
bdoyle@crypto:~$ grin-wallet send -d grin1hXXXXX 1
20201229 18:55:18.278 WARN grin_wallet_api::owner - Attempting to send transaction via TOR
Wallet command failed: LibWallet Error: Payment Proof generation error: Original proof info not stored in tx

The transaction is not completed. Its necessary to cancel both parts:

bdoyle@crypto:~$ grin-wallet txs
...
 325  Received Tx  f2cf54ff-e087-4db8-8ed4-47f3cacc38da  2020-12-29 18:55:32  None               false       None                 0       1        1.0           0.0            None    1.0           None      0950a3e559e9954390e318a2322a10b82b8085c6bcf790a18c4dc1b7ec9d77c10e  None 
---
 326  Sent Tx      f2cf54ff-e087-4db8-8ed4-47f3cacc38da  2020-12-29 18:55:32  None               false       None                 1       1        93.63409798   94.65709798    0.023   -1.023        Yes       08d213442bac4214a6d22dc673aba2db2ac201167bd55c91caa32ffa110a9b626e  Yes 
bdoyle@crypto:~$ grin-wallet cancel -i 325
Command 'cancel' completed successfully
bdoyle@crypto:~$ grin-wallet cancel -i 326
Command 'cancel' completed successfully

Expected Result

Self-send via Tor should fail and result in an error.

Environment

OS: Debian 10 \ System Info: Linux debian3 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64 GNU/Linux \ Grin Node: grin 5.0.0-rc.2 \ Grin Wallet: grin-wallet 5.0.0-rc.1

Steps

0: Building the node and wallet

See here for the full steps for building GRIN-Node v5.0.0-rc.2. 1. Download GRIN-Node v5.0.0-rc.2. ```shell $ wget https://github.com/mimblewimble/grin/archive/v5.0.0-rc.2.tar.gz ``` 1. Extract `v5.0.0-rc.2.tar.gz`. ```shell $ tar -xvf v5.0.0-rc.2.tar.gz ``` * Output should be as follows. ``` grin-5.0.0-rc.2/ grin-5.0.0-rc.2/.cargo/ grin-5.0.0-rc.2/.cargo/config grin-5.0.0-rc.2/.ci/ grin-5.0.0-rc.2/.ci/general-jobs grin-5.0.0-rc.2/.ci/release.yml grin-5.0.0-rc.2/.ci/test.yml grin-5.0.0-rc.2/.ci/windows-release.yml grin-5.0.0-rc.2/.editorconfig grin-5.0.0-rc.2/.github/ ... ``` 1. Install Rust. ```shell $ curl https://sh.rustup.rs -sSf | sh; source $HOME/.cargo/env ``` * Proceed with installation with default profile. ``` default host triple: x86_64-unknown-linux-gnu default toolchain: stable (default) profile: default modify PATH variable: yes ``` * Output should be as follows. ``` stable-x86_64-unknown-linux-gnu installed - rustc 1.48.0 (7eac88abb 2020-11-16) ``` 1. Download dependencies, including `libcursesw5`. ```shell # apt install build-essential git tor cmake git libgit2-dev clang libncursesw5 libncurses5-dev libncursesw5-dev zlib1g-dev pkg-config libssl-dev llvm ``` 1. Build GRIN-Node v5.0.0-rc.2. ```shell $ cd grin-5.0.0-rc.2/ $ cargo build --release ``` 1. Start node. ``` $ ./grin ``` 1. Wait until Grin has fully synced. 1. Success!
See here for the full steps for building GRIN-Wallet v5.0.0-rc.1. 1. Download GRIN-Wallet v5.0.0-rc.1. ```shell $ wget https://github.com/mimblewimble/grin-wallet/archive/v5.0.0-rc.1.tar.gz ``` 1. Extract `v5.0.0-rc.1.tar.gz`. ```shell $ tar -xvf v5.0.0-rc.1.tar.gz ``` * Output should be as follows. ``` grin-wallet-5.0.0-rc.1/ grin-wallet-5.0.0-rc.1/.cargo/ grin-wallet-5.0.0-rc.1/.cargo/config grin-wallet-5.0.0-rc.1/.ci/ grin-wallet-5.0.0-rc.1/.ci/general-jobs grin-wallet-5.0.0-rc.1/.ci/release.yml grin-wallet-5.0.0-rc.1/.ci/test.yml grin-wallet-5.0.0-rc.1/.ci/windows-release.yml grin-wallet-5.0.0-rc.1/.github/ ... ``` 1. Install Rust. ```shell $ curl https://sh.rustup.rs -sSf | sh; source $HOME/.cargo/env ``` * Proceed with installation with default profile. ``` default host triple: x86_64-unknown-linux-gnu default toolchain: stable (default) profile: default modify PATH variable: yes ``` * Output should be as follows. ``` stable-x86_64-unknown-linux-gnu installed - rustc 1.48.0 (7eac88abb 2020-11-16) ``` 1. Download dependencies, including `libcursesw5`. ```shell # apt install build-essential git tor cmake git libgit2-dev clang libncursesw5 libncurses5-dev libncursesw5-dev zlib1g-dev pkg-config libssl-dev llvm ``` 1. Build GRIN-Wallet v5.0.0-rc.1. ```shell $ cd grin-wallet-5.0.0-rc.1/ $ cargo build --release ``` 1. Wait for the GRIN-Wallet to finish compiling and then check the wallet version. ```shell $ cd target/release $ ./grin-wallet -V ``` * The output should be as follows. ``` grin-wallet 5.0.0-rc.1 ``` 1. Success!

1: Running wallet in listener mode

  1. Change directory to the location of the grin-wallet.
    $ cd ~/grin-wallet-5.0.0-rc.1/target/release
  2. Initialize the wallet if not done so already. You will need to create a password and save your recovery phrase.
    $ ./grin-wallet init
  3. Run the wallet in listening mode. The wallet will wait for transactions in this mode. Enter your password when prompt.
    $ ./grin-wallet listen
  4. An output will appear like this.
    20201231 22:54:54.580 WARN grin_wallet_controller::controller - Starting TOR Hidden Service for API listener at address ejsxj4g3zl2lblxgoaar5bv6rovxsmyrfijzyzbuqihdnwez7klbbmyd, binding to 127.0.0.1:3415
    20201231 22:54:56.725 WARN grin_wallet_controller::controller - Starting HTTP Foreign listener API server at 127.0.0.1:3415.
    20201231 22:54:56.725 WARN grin_wallet_controller::controller - HTTP Foreign listener started.
    20201231 22:54:56.725 WARN grin_wallet_controller::controller - Slatepack Address is: grin1yfjhfuxmet6tpthxwqq3ap473w4hjvc39gfecep5sg8rdkyel2tquvjw9j
  5. Copy the slatepack address and keep the listener mode running.

2: Self-sending via Tor

  1. Send 1 ツ (or any other amount you wish to test) to your own slatepack address. The wallet will attempt to send it over Tor first. Enter your password when prompt.

    Sending 1 ツ to myself. Replace the slatepack address with your own!

    $ ./grin-wallet send -d grin1yfjhfuxmet6tpthxwqq3ap473w4hjvc39gfecep5sg8rdkyel2tquvjw9j 1
  2. The output will appear and end in an error as expected.
    20201231 22:56:44.667 WARN grin_wallet_api::owner - Attempting to send transaction via TOR
    Wallet command failed: LibWallet Error: Payment Proof generation error: Original proof info not stored in tx

3: Cancelling the incomplete transactions

  1. Inspect the wallet contents. My ツ appears to be locked by my previous transactions.

    $ ./grin-wallet info
    20201231 23:11:12.458 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 0% complete
    20201231 23:11:12.472 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 99% complete
    20201231 23:11:12.477 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 99% complete
    20201231 23:11:12.478 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning Complete
    
    ____ Wallet Summary Info - Account 'default' as of height 1026811 ____
    
    Confirmed Total                  | 0.000000000 
    Awaiting Confirmation (< 10)     | 0.000000000 
    Awaiting Finalization            | 4.977000000 
    Locked by previous transaction   | 5.000000000 
    -------------------------------- | ------------- 
    Currently Spendable              | 0.000000000 
    
    Command 'info' completed successfully
  2. Since the self-sending attempt failed, the transactions are incomplete and need to be cancelled. Display the transaction information to identify their ids. Enter your password when prompt.
    $ ./grin-wallet txs
  3. The output will be similiar to this.

    20201231 23:00:22.273 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 0% complete
    20201231 23:00:22.290 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 99% complete
    20201231 23:00:22.295 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 99% complete
    20201231 23:00:22.296 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning Complete
    
    Transaction Log - Account 'default' - Block Height: 1026803
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Id  Type         Shared Transaction Id                 Creation Time        TTL Cutoff Height  Confirmed?  Confirmation Time    Num.    Num.     Amount    Amount   Fee    Net         Payment   Kernel                                                              Tx  
                                                                                                                                    Inputs  Outputs  Credited  Debited         Difference  Proof                                                                         Data 
    ===========================================================================================================================================================================================================================================================================
    0   Received Tx  0cc194e1-fd8b-46f0-b19d-80bd473b7b59  2020-12-31 09:12:34  None               true        2020-12-31 09:20:06  0       1        5.0       0.0      None   5.0         None      083e29d82237a2d89b501323a6ff3a9b64c0132ccd88b860cf42c9679ba68070e6  None 
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    1   Received Tx  c425a0e3-696e-4215-a2b1-7b803330db21  2020-12-31 22:56:53  None               false       None                 0       1        1.0       0.0      None   1.0         None      09855cf9628536e1fec6582fd4df84c80ca7fee28e522f0d8a5ecb40400754c0aa  None 
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    2   Sent Tx      c425a0e3-696e-4215-a2b1-7b803330db21  2020-12-31 22:56:53  None               false       None                 1       1        3.977     5.0      0.023  -1.023      Yes       082b9c84fc69ea6ba276ab2df1b02fd3596e411b8d5d3e33f4969f1e9e6e5f7d9b  Yes 
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    
    Command 'txs' completed successfully
  4. Copy the ids of the two incomplete transactions used for self-sending. In my case, it was id 1 and 2.
  5. Cancel the incomplete transactions using the ids you copied. Enter your password when prompt.

    Replace the ids with your own!

    $ ./grin-wallet cancel -i 1
    20201231 23:14:38.246 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 0% complete
    20201231 23:14:38.264 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 99% complete
    20201231 23:14:38.274 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 99% complete
    20201231 23:14:38.275 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning Complete
    Command 'cancel' completed successfully

    $ ./grin-wallet cancel -i 2
    20201231 23:14:45.354 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 0% complete
    20201231 23:14:45.369 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 99% complete
    20201231 23:14:45.375 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 99% complete
    20201231 23:14:45.376 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning Complete
    Command 'cancel' completed successfully

4: Confirming the cancellation

  1. Wait until your locked ツ are free to use again. Inspect the transaction log and wallet content summary to confirm.

    $ ./grin-wallet txs
    20201231 23:15:47.659 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 0% complete
    20201231 23:15:47.671 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 99% complete
    20201231 23:15:47.676 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 99% complete
    20201231 23:15:47.676 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning Complete
    
    Transaction Log - Account 'default' - Block Height: 1026817
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Id  Type         Shared Transaction Id                 Creation Time        TTL Cutoff Height  Confirmed?  Confirmation Time    Num.    Num.     Amount    Amount   Fee    Net         Payment   Kernel                                                              Tx  
                                                                                                                                    Inputs  Outputs  Credited  Debited         Difference  Proof                                                                         Data 
    ===========================================================================================================================================================================================================================================================================
    0   Received Tx  0cc194e1-fd8b-46f0-b19d-80bd473b7b59  2020-12-31 09:12:34  None               true        2020-12-31 09:20:06  0       1        5.0       0.0      None   5.0         None      083e29d82237a2d89b501323a6ff3a9b64c0132ccd88b860cf42c9679ba68070e6  None 
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    1   Received Tx  c425a0e3-696e-4215-a2b1-7b803330db21  2020-12-31 22:56:53  None               false       None                 0       1        1.0       0.0      None   1.0         None      09855cf9628536e1fec6582fd4df84c80ca7fee28e522f0d8a5ecb40400754c0aa  None 
        - Cancelled                                                                                                                                                                                                                                                       
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    2   Sent Tx      c425a0e3-696e-4215-a2b1-7b803330db21  2020-12-31 22:56:53  None               false       None                 1       1        3.977     5.0      0.023  -1.023      Yes       082b9c84fc69ea6ba276ab2df1b02fd3596e411b8d5d3e33f4969f1e9e6e5f7d9b  Yes 
        - Cancelled                                                                                                                                                                                                                                                       
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    
    Command 'txs' completed successfully
    $ ./grin-wallet info
    20201231 23:16:38.972 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 0% complete
    20201231 23:16:38.997 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 99% complete
    20201231 23:16:39.012 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning - 99% complete
    20201231 23:16:39.013 WARN grin_wallet_libwallet::api_impl::owner_updater - Scanning Complete
    
    ____ Wallet Summary Info - Account 'default' as of height 1026817 ____
    
    Confirmed Total                  | 5.000000000 
    Awaiting Confirmation (< 10)     | 0.000000000 
    Awaiting Finalization            | 0.000000000 
    Locked by previous transaction   | 0.000000000 
    -------------------------------- | ------------- 
    Currently Spendable              | 5.000000000 
    
    Command 'info' completed successfully
  2. The transactions were successfully cancelled.

Final Results

Another round of testing was done with Debug mode enabled in grin-wallet.toml.

$ ./grin-wallet send -d grin1yfjhfuxmet6tpthxwqq3ap473w4hjvc39gfecep5sg8rdkyel2tquvjw9j 1

Cropped debug output:

...
grin_wallet_impls::tor::process - Dec 31 23:23:59.000 [notice] Bootstrapped 90%: Establishing a Tor circuit
20201231 23:24:00.001 DEBUG grin_wallet_impls::tor::process - Dec 31 23:24:00.000 [notice] Bootstrapped 100%: Done
20201231 23:24:00.002 DEBUG grin_wallet_impls::tor::process - Dropping TOR process
20201231 23:24:20.004 DEBUG grin_wallet_api::owner - Send (TOR): Could not send Slate via TOR: Client Callback Error: Performing version check (is recipient listening?): Request error: Cannot make request: error trying to connect: deadline has elapsed
20201231 23:24:20.004 DEBUG grin_wallet_impls::tor::process - Dropping TOR process
20201231 23:24:20.004 DEBUG grin_wallet_api::owner - Unable to send via TOR: Client Callback Error: Performing version check (is recipient listening?): Request error: Cannot make request: error trying to connect: deadline has elapsed
20201231 23:24:20.004 WARN grin_wallet_api::owner - Unable to send transaction via TOR
...
Dropdown of the full debug output. ``` 20201231 23:23:53.297 INFO grin_util::logger - log4rs is initialized, file level: Debug, stdout level: Debug, min. level: Debug 20201231 23:23:53.298 INFO grin_wallet - Using wallet configuration file at /home/user3/.grin/main/grin-wallet.toml 20201231 23:23:53.298 INFO grin_wallet - This is Grin Wallet version 5.0.0-rc.1, built for x86_64-unknown-linux-gnu by rustc 1.48.0 (7eac88abb 2020-11-16). 20201231 23:23:53.298 DEBUG grin_wallet - Built with profile "release", features "". Password: 20201231 23:23:57.202 DEBUG grin_store::lmdb - DB Mapsize for /home/user3/.grin/main/wallet_data/db/lmdb is 134217728 20201231 23:23:57.206 DEBUG grin_wallet_impls::lifecycle::seed - Using wallet seed file at: /home/user3/.grin/main/wallet_data/wallet.seed 20201231 23:23:57.222 DEBUG grin_wallet_libwallet::internal::updater - Refreshing wallet outputs 20201231 23:23:57.226 DEBUG grin_wallet_libwallet::internal::selection - Building change outputs: total change: 3977000000 (1 outputs) 20201231 23:23:57.238 DEBUG grin_core::libtx::build - Building output: 3977000000, Commitment(08a55d5eab7133ebc2e2533c70b6f9717d5a438f9fa2eb89579aca784b516ec9fa) 20201231 23:23:57.328 INFO grin_wallet_controller::command - Tx created: 1.000000000 grin to grin1yfjhfuxmet6tpthxwqq3ap473w4hjvc39gfecep5sg8rdkyel2tquvjw9j (strategy 'smallest') 20201231 23:23:57.329 WARN grin_wallet_api::owner - Attempting to send transaction via TOR 20201231 23:23:57.329 INFO grin_wallet_impls::adapters::http - Starting TOR Process for send at Some(127.0.0.1:59050) 20201231 23:23:57.335 DEBUG grin_wallet_impls::tor::process - Dec 31 23:23:57.335 [notice] Tor 0.3.5.12 running on Linux with Libevent 2.1.8-stable, OpenSSL 1.1.1d, Zlib 1.2.11, Liblzma 5.2.4, and Libzstd 1.3.8. 20201231 23:23:57.335 DEBUG grin_wallet_impls::tor::process - Dec 31 23:23:57.335 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning 20201231 23:23:57.335 DEBUG grin_wallet_impls::tor::process - Dec 31 23:23:57.335 [notice] Read configuration file "/home/user3/.grin/main/tor/sender/torrc". 20201231 23:23:57.338 DEBUG grin_wallet_impls::tor::process - Dec 31 23:23:57.338 [warn] Path for DataDirectory (./data) is relative and will resolve to /home/user3/.grin/main/tor/sender/./data. Is this what you wanted? 20201231 23:23:57.338 DEBUG grin_wallet_impls::tor::process - Dec 31 23:23:57.338 [notice] Opening Socks listener on 127.0.0.1:59050 20201231 23:23:57.338 DEBUG grin_wallet_impls::tor::process - Dec 31 23:23:57.338 [notice] Opened Socks listener on 127.0.0.1:59050 20201231 23:23:57.339 DEBUG grin_wallet_impls::tor::process - Dec 31 23:23:57.000 [notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip. 20201231 23:23:57.435 DEBUG grin_wallet_impls::tor::process - Dec 31 23:23:57.000 [notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6. 20201231 23:23:57.498 DEBUG grin_wallet_impls::tor::process - Dec 31 23:23:57.000 [notice] Bootstrapped 0%: Starting 20201231 23:23:57.742 DEBUG grin_wallet_impls::tor::process - Dec 31 23:23:57.000 [notice] Starting with guard context "default" 20201231 23:23:58.442 DEBUG grin_wallet_impls::tor::process - Dec 31 23:23:58.000 [notice] Bootstrapped 10%: Finishing handshake with directory server 20201231 23:23:58.442 DEBUG grin_wallet_impls::tor::process - Dec 31 23:23:58.000 [notice] Bootstrapped 80%: Connecting to the Tor network 20201231 23:23:58.657 DEBUG grin_wallet_impls::tor::process - Dec 31 23:23:58.000 [notice] Bootstrapped 85%: Finishing handshake with first hop 20201231 23:23:59.107 DEBUG grin_wallet_impls::tor::process - Dec 31 23:23:59.000 [notice] Bootstrapped 90%: Establishing a Tor circuit 20201231 23:24:00.001 DEBUG grin_wallet_impls::tor::process - Dec 31 23:24:00.000 [notice] Bootstrapped 100%: Done 20201231 23:24:00.002 DEBUG grin_wallet_impls::tor::process - Dropping TOR process 20201231 23:24:20.004 DEBUG grin_wallet_api::owner - Send (TOR): Could not send Slate via TOR: Client Callback Error: Performing version check (is recipient listening?): Request error: Cannot make request: error trying to connect: deadline has elapsed 20201231 23:24:20.004 DEBUG grin_wallet_impls::tor::process - Dropping TOR process 20201231 23:24:20.004 DEBUG grin_wallet_api::owner - Unable to send via TOR: Client Callback Error: Performing version check (is recipient listening?): Request error: Cannot make request: error trying to connect: deadline has elapsed 20201231 23:24:20.004 WARN grin_wallet_api::owner - Unable to send transaction via TOR 20201231 23:24:20.014 DEBUG grin_core::libtx::build - Building input (spending regular output): 5000000000, 0300000000000000000000000000000000 20201231 23:24:20.036 DEBUG grin_wallet_libwallet::internal::selection - Change amount is: 3977000000 /home/user3/.grin/main/slatepack/9d3920a8-f7e1-4ef7-b632-427c3269d3a8.S1.slatepack Slatepack data follows. Please provide this output to the other party --- CUT BELOW THIS LINE --- BEGINSLATEPACK. 9mCuD2zSR1upbfC tFZfrbKbyrWrkYp UhyzaEYg6PGLS4i yNbbqWcwjN9W3NG 9TbtT7E7LDRVwQw F9SJQiE8yPMrKTH 4XFk8hCsjRSJ73i BUdoYioEyESGv2g ba7ybDcr9rrghhK 5HPieHXstNgw6PY KWEop674mFPdc4y a4wsoZXtkDt3Fda QDSTSfA4xnsSFGN 4DgmYfaDFac3VHX evhJsJrVFJ64rRU x2kZGvW2vXZUZQt 4aT2kAkjRGseGTs ppRxWdLFmuoxjcv 3J5uYkefGkC4FTo DsCbYiyqTXP9yae GeSuYjgSbnKK6ui k4cqLUv2ifghrWr wcF67mVWCbEJuuF hLrfYnoo6B4sbRB DqoJahZokSpjdaY t2bDVwvev1cpDjA UTherYvz7PVmZiq UXaeoPmEgujTYav H9cj8nr2TwW9L86 hoHF2N2GbYzebNW uai4sf2UAokjg3a si3nSKbaLD1u8V6 uBtGxV6jJg4FrS4 CKrfGbvXhRKs2QH 49BmkD51iC7JJCC DJmMawsMWreiVPU pXtjShtUtaeqMj6 rUpgxaLoirejpu2 63cr5qMgar7Ugx2 1sP6dxd7QLmBs9i YUbnPeUZxpjukzr gXycL9q4PQKN12a LrGm6qHRS93k8sP ztheQH1c7zkXzvR GLFm8HgdeZSpJET Bj72QNR2aDLQNn4 DUorc63eNTeqMa9 6BvkDzNfUzBKgvq w6hSifmQay4QGva Zmvi934oD5TQ3xu z21cnFCYda7YFCx caRkizQ6QC5dtib zYq98qayemWBbn4 ayQSWL8YD5SxvbW fYhY6LKrjoWbEsq XQSJeeFFE5CjcyK Qaqfj5FqdMH28Pc uq6w8Qy1SyRMfSH YXi25do81MWbzRK PT6XgVjCTNUEuW9 GXCWz. ENDSLATEPACK. --- CUT ABOVE THIS LINE --- Slatepack data was also output to /home/user3/.grin/main/slatepack/9d3920a8-f7e1-4ef7-b632-427c3269d3a8.S1.slatepack The slatepack data is encrypted for the recipient only Command 'send' completed successfully ```

Conclusion

I was able to successfully replicate @bladedoyle's error. The specific method of self-sending via Tor will fail using GRIN-Wallet 5.0.0-rc.1 and GRIN-Node v5.0.0-rc.2. A full debug output is provided for this test.

marekyggdrasil commented 3 years ago

Awesome! Reproduced! Great work @goyle and @bladedoyle feel free to leave comments if needed! Closing

bladedoyle commented 3 years ago

https://github.com/mimblewimble/grin-wallet/issues/567