Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

chore: merge development into installer branch #3279

Merged
merged 248 commits into from
Sep 1, 2021

Commits on Jul 28, 2021

  1. Update LibWallet recovery task event handling

    The recovery task broke out of its monitoring loop before getting the `UtxoScannerEvent::Completed` event. This PR just moves that break statement so that the final completed callback is made.
    
    Also Ignore `test_store_and_forward_send_tx` due to it being flakey on CI and the functionality is covered by Cucumber tests.
    philipr-za committed Jul 28, 2021
    Configuration menu
    Copy the full SHA
    263e87f View commit details
    Browse the repository at this point in the history
  2. fix: Update LibWallet recovery task event handling (tari-project#3142)

    ## Description
    The recovery task broke out of its monitoring loop before getting the `UtxoScannerEvent::Completed` event. This PR just moves that break statement so that the final completed callback is made.
    
    ## How Has This Been Tested?
    Wallet clients will need to test this
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Jul 28, 2021
    Configuration menu
    Copy the full SHA
    0861d72 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2021

  1. Update LibWallet wallet_import_utxo function to include valid TariS…

    …cript
    
    The `wallet_import_utxo` FFI function in LibWallet just used defaults for a number of the new UTXO fields when importing a faucet UTXO. The Faucet UTXO provided by the client is just the spending key and amount. The `metadata_signature` and `sender_offset_public_key` can both remain as default values as they are not used in spending an UTXO.  A Nop script is assumed and the spending key is used as the `script_private_key`. The final update is that the `input_data` it set as the public key of the spending key.
    
    To test that the base node is happy for an UTXO imported in this way to be spent a Cucumber test is provided which imports a UTXO into a wallet and zeroes out the `metadata_signature` and`sender_offset_public_key` and updates the `input_data` and `script_private_key` in the same way as described above. This imported Faucet utxo is then successfully spent to another wallet.
    philipr-za committed Jul 29, 2021
    Configuration menu
    Copy the full SHA
    7d6f7a5 View commit details
    Browse the repository at this point in the history
  2. fix: update LibWallet wallet_import_utxo method to include valid Ta…

    …riScript (tari-project#3139)
    
    ## Description
    The `wallet_import_utxo` FFI function in LibWallet just used defaults for a number of the new UTXO fields when importing a faucet UTXO. The Faucet UTXO provided by the client is just the spending key and amount. The `metadata_signature` and `sender_offset_public_key` can both remain as default values as they are not used in spending an UTXO.  A Nop script is assumed and the spending key is used as the `script_private_key`. The final update is that the `input_data` it set as the public key of the spending key.
    
    To test that the base node is happy for an UTXO imported in this way to be spent a Cucumber test is provided which imports a UTXO into a wallet and zeroes out the `metadata_signature` and`sender_offset_public_key` and updates the `input_data` and `script_private_key` in the same way as described above. This imported Faucet utxo is then successfully spent to another wallet.
    
    ## How Has This Been Tested?
    Cucumber test provided
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Jul 29, 2021
    Configuration menu
    Copy the full SHA
    cc6de2a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b786abb View commit details
    Browse the repository at this point in the history
  4. Introduce cache update cool down to console wallet

    The current architecture of the wallet is that the AppState contains a cache of the current state that the UI uses to draw from and a second instance of the data that is updated in the background when events are received from the wallet services without interfering with drawing. When the background data has been updated by the event monitoring thread it flips a flag telling the UI that the cache has been invalidated so when the drawing is done on a Tick event the UI thread will clone the background data into the cache for future drawing calls.
    
    A problem was found where when a large number of transactions were being processed by the wallet the UI would become unresponsive. The reason for this is that with a large amount of transactions there is quite a lot of AppState that is copied from the background into the UI cache which could take 300-400ms and this cache was being invalidated very often as the transactions are being handled by the wallet services. This would mean that a Cache copy occurred after every single draw cycle and would block the processing of Key events for 300-400ms.
    
    This PR proposes a solution of introducing a cache update cooldown period, initially set to 2 seconds, so that if a cache update has occurred the soonest that the next update can occur is 2 seconds later giving the UI thread time to handle key events. In normal wallet operation state update events do not occur that often so this approach will allow the cache update to occur as soon as the cache is invalidated but will force a fast subsequent update to wait at least 2 seconds. In the mean time the background data can be worked on in the background thread.
    philipr-za committed Jul 29, 2021
    Configuration menu
    Copy the full SHA
    cdffc60 View commit details
    Browse the repository at this point in the history
  5. v0.9.2

    stringhandler committed Jul 29, 2021
    Configuration menu
    Copy the full SHA
    0dfd4cb View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    362c906 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ab7a431 View commit details
    Browse the repository at this point in the history
  8. fix: Fix cucumber transaction builder reliability (tari-project#3147)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    We sometimes find that transactions created by the cucumber transaction builder fail lmdb insertion by duplicate excess. 
    This increases the private key range for the private keys increasing the range of the excess. This should decrease duplicate entries. 
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Jul 29, 2021
    Configuration menu
    Copy the full SHA
    d4a7fdd View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    34002b6 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    04885a3 View commit details
    Browse the repository at this point in the history
  11. fix: fix GRPC GetTransactionInfo not found response (tari-project#3145)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    When a transaction is not found on `GetTransactionInfo` the GRPC call will return a transaction with "junk" data including a status that is set to complete. But the not_found flag is set to false, which is also the default GRPC value for boolean. 
    
    This removes the `not_found` flag and adds a status, `not found` to avoid confusion. 
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Jul 29, 2021
    Configuration menu
    Copy the full SHA
    0e0bfe0 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2021

  1. Miningcore Transcoder

    Update proxy.rs
    
    WIP
    
    Added stratum configuration to miner.
    Mostly implemented stratum.
    Mostly implemented stratum controller.
    Partially implemented stratum miner.
    
    Rebased to latest dev
    
    Import PR#3006
    
    Rebased to latest dev and updated version to 0.9.0
    
    Fixed tari_stratum_ffi tests
    
    Clippy and cargo-fmt
    
    Bug fixes
    
    Return blockheader as json object.
    Retrieve recipients from params instead of directly from body of request.
    Fix bug in GetHeaderByHeight
    
    Update stratum miner to receive blockheader instead of block
    
    clippy
    
    update
    
    Update
    
    Implemented keepalive
    Bug fix for transfer results
    Implemented stratum error code response handling in tari_mining_node
    
    Rebase fix
    
    Update stratum.rs
    
    Update stratum.rs
    
    Review Comments
    
    Update and Fixes
    
    Added ResumeJob to MinerMessage.
    Fixed disconnection bug where miner would not resume solves on reconnect.
    Added transcoder_host_address config variable to stop using proxy_host_address as it is already used by mm_proxy, this enables them both to be run simultaneously.
    
    Update cucumber config variables
    StriderDM committed Jul 30, 2021
    Configuration menu
    Copy the full SHA
    8bd46cd View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2021

  1. fix: add timeout to protocol notifications + log improvements

    - protocol notifications now have a set "safety" timeout.
    - add log for inbound comms pipeline concurrency usage
    sdbondi committed Aug 2, 2021
    Configuration menu
    Copy the full SHA
    a98a698 View commit details
    Browse the repository at this point in the history
  2. Fix: Correctly deal with new coinbase transactions for the same height

    A bug was observed that now and then a Coinbase Transaction would not conclude its monitoring with this error:
    `ValueNotFound(CompletedTransaction(15645503741743694020))`
    
    This occurred when due to a small network reorg the miner would request a block for the same height. The new request would often have a different amount of fees which would mean this transaction needs to be cancelled in favour of the new transaction. However, with the transaction being cancelled the coinbase monitoring task will come around to checking the DB if the transaction is still there so it can continue to poll the base node and will get the ValueNotFound error. This is correct behaviour so should not have been logged as an error. The error case also means that the TransactionCancelled event is never fired which resulted in the console wallet UI not updating the state of that transaction which left it in the transaction list erroneous.
    
    So this PR handles that “Error” properly and sends the event before ending the coinbase monitoring	task.
    philipr-za committed Aug 2, 2021
    Configuration menu
    Copy the full SHA
    98534b8 View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2021

  1. Improve co mining cucumber test

    increase key length
    SWvheerden committed Aug 3, 2021
    Configuration menu
    Copy the full SHA
    11c9116 View commit details
    Browse the repository at this point in the history
  2. feat: miningcore transcoder (tari-project#3003)

    This PR adds the tari_stratum_ffi library and tari_stratum_transcoder application for use with Miningcore.
    
    This PR also expands tari_mining_node with stratum support to interact with Miningcore.
    
    See here for the Tari implementation in Miningcore:
    Source: https://github.com/StriderDM/miningcore/tree/tari
    Compare: coinfoundry/[email protected]:tari
    
    Edit: Functional, will need refactoring
    stringhandler committed Aug 3, 2021
    Configuration menu
    Copy the full SHA
    ee9a225 View commit details
    Browse the repository at this point in the history
  3. fix: add timeout to protocol notifications + log improvements (tari-p…

    …roject#3143)
    
    <!--- Provide a general summary of your changes in the Title above -->
    
    <!--- Describe your changes in detail -->
    - protocol notifications now have a set "safety" timeout.
    - add log for inbound comms pipeline concurrency usage
    
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    Reports of inbound messaging being blocked. This will shed some light.
    The logs show that a single client node is excessively trying to create multiple
    `t/bn-wallet//1` (rpc) sessions.
    
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    Log observed in base node
    
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    stringhandler committed Aug 3, 2021
    Configuration menu
    Copy the full SHA
    7701846 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7adb95f View commit details
    Browse the repository at this point in the history
  5. Fix search_kernel command

    SWvheerden committed Aug 3, 2021
    Configuration menu
    Copy the full SHA
    6d4a6a9 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2021

  1. Configuration menu
    Copy the full SHA
    0f37299 View commit details
    Browse the repository at this point in the history
  2. Stratum Transcoder Config Cleanup

    Moved stratum_transcoder config variables to its' own section.
    Fixed bug in defaults for stratum_transcoder.
    Updated example config and cucumber variable to reflect changes in configuration.
    Added stratum mode configuration variables for tari_mining_node in sample config, commented out by default.
    StriderDM committed Aug 4, 2021
    Configuration menu
    Copy the full SHA
    06ed848 View commit details
    Browse the repository at this point in the history
  3. fix: introduce cache update cool down to console wallet (tari-project…

    …#3146)
    
    ## Description
    The current architecture of the wallet is that the AppState contains a cache of the current state that the UI uses to draw from and a second instance of the data that is updated in the background when events are received from the wallet services without interfering with drawing. When the background data has been updated by the event monitoring thread it flips a flag telling the UI that the cache has been invalidated so when the drawing is done on a Tick event the UI thread will clone the background data into the cache for future drawing calls.
    
    A problem was found where when a large number of transactions were being processed by the wallet the UI would become unresponsive. The reason for this is that with a large amount of transactions there is quite a lot of AppState that is copied from the background into the UI cache which could take 300-400ms and this cache was being invalidated very often as the transactions are being handled by the wallet services. This would mean that a Cache copy occurred after every single draw cycle and would block the processing of Key events for 300-400ms.
    
    This PR proposes a solution of introducing a cache update cooldown period, initially set to 2 seconds, so that if a cache update has occurred the soonest that the next update can occur is 2 seconds later giving the UI thread time to handle key events. In normal wallet operation state update events do not occur that often so this approach will allow the cache update to occur as soon as the cache is invalidated but will force a fast subsequent update to wait at least 2 seconds. In the mean time the background data can be worked on in the background thread.
    
    ## How Has This Been Tested?
    Manually Tested
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 4, 2021
    Configuration menu
    Copy the full SHA
    5de9252 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f864e20 View commit details
    Browse the repository at this point in the history
  5. fix(wallet): correctly deal with new coinbase transactions for the sa…

    …me height (tari-project#3151)
    
    ## Description
    A bug was observed that now and then a Coinbase Transaction would not conclude its monitoring with this error:
    `ValueNotFound(CompletedTransaction(15645503741743694020))`
    
    This occurred when due to a small network reorg the miner would request a block for the same height. The new request would often have a different amount of fees which would mean this transaction needs to be cancelled in favour of the new transaction. However, with the transaction being cancelled the coinbase monitoring task will come around to checking the DB if the transaction is still there so it can continue to poll the base node and will get the ValueNotFound error. This is correct behaviour so should not have been logged as an error. The error case also means that the TransactionCancelled event is never fired which resulted in the console wallet UI not updating the state of that transaction which left it in the transaction list erroneous.
    
    So this PR handles that “Error” properly and sends the event before ending the coinbase monitoring task.
    
    ## How Has This Been Tested?
    unit tests
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 4, 2021
    Configuration menu
    Copy the full SHA
    564ef5a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    64d64d8 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d3b6017 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    4a41b91 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b8679e2 View commit details
    Browse the repository at this point in the history
  10. test: improve Verify all coinbases in hybrid mining are accounted for…

    … cucumber test (tari-project#3153)
    
    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    Improve the `Verify all coinbases in hybrid mining are accounted for` to be less flaky.
    Improved the readability of the test. 
    Made the following improvements:
    Ensure that the monero merge mining does not mine more blocks than it should.
    Rather than check if they are at the same height, check tips.
    Due to the network topology, added a wait timer to ensure that the nodes have time to reorg and give the wallets time to invalidate coinbases.
    
    Added in another improvement to the coinbase value selection. 
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 4, 2021
    Configuration menu
    Copy the full SHA
    29ba9c4 View commit details
    Browse the repository at this point in the history
  11. chore(deps): bump tar from 6.1.0 to 6.1.6 in /integration_tests

    Bumps [tar](https://github.com/npm/node-tar) from 6.1.0 to 6.1.6.
    - [Release notes](https://github.com/npm/node-tar/releases)
    - [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
    - [Commits](isaacs/node-tar@v6.1.0...v6.1.6)
    
    ---
    updated-dependencies:
    - dependency-name: tar
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored Aug 4, 2021
    Configuration menu
    Copy the full SHA
    54a2eae View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    7801fbe View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    1564e5f View commit details
    Browse the repository at this point in the history
  14. refactor: stratum transcoder config cleanup (tari-project#3158)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    Moved stratum_transcoder config variables to its' own section.
    Fixed bug in defaults for stratum_transcoder.
    Updated example config and cucumber variable to reflect changes in configuration.
    Added stratum mode configuration variables for tari_mining_node in sample config, commented out by default.
    
    ## Motivation and Context
    Cleanup and bugfix
    
    ## How Has This Been Tested?
    Manual testing
    
    ## Checklist:
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 4, 2021
    Configuration menu
    Copy the full SHA
    ee13b53 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    994ea26 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    9538f26 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2021

  1. fix: fix search_kernel command (tari-project#3157)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    The search-kernel command in the base_node UI currently returns either an error, none or the block containing said kernel. 
    The UI interprets a None as a successful command, but the block could not be found due to it being a pruned block. This is incorrect, as the returned block is always a `historical block`. `Historical blocks` can have pruned outputs in them. So when a block is pruned, the base_node will return the block with the information it can fill in, plus all pruned outputs. 
    
    When a kernel is not found in the chain, the search commands returns Ok(None) and the UI now interprets this correctly as the kernel is not found. 
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 5, 2021
    Configuration menu
    Copy the full SHA
    dc99898 View commit details
    Browse the repository at this point in the history
  2. simplify and improve test

    SWvheerden committed Aug 5, 2021
    Configuration menu
    Copy the full SHA
    28e3b6a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5a51892 View commit details
    Browse the repository at this point in the history
  4. chore(deps): bump tar from 6.1.0 to 6.1.6 in /integration_tests (tari…

    …-project#3161)
    
    Bumps [tar](https://github.com/npm/node-tar) from 6.1.0 to 6.1.6.
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a href="https://github.com/npm/node-tar/commit/9bc1729939eec1c822b528385b1cc513b9888835"><code>9bc1729</code></a> 6.1.6</li>
    <li><a href="https://github.com/npm/node-tar/commit/bdf4f5171340b890a62a5e578962ac143d34b3a9"><code>bdf4f51</code></a> fix: properly prefix hard links</li>
    <li><a href="https://github.com/npm/node-tar/commit/94b2a740115fdce20f265a029b0404d53c0a18c6"><code>94b2a74</code></a> chore: remove benchmarks from git repo</li>
    <li><a href="https://github.com/npm/node-tar/commit/ecaafb4777b7137421f2f0d6f40ab827654f9247"><code>ecaafb4</code></a> update deps</li>
    <li><a href="https://github.com/npm/node-tar/commit/bd4691c90478f41b2649a97048199e34927dc046"><code>bd4691c</code></a> 6.1.5</li>
    <li><a href="https://github.com/npm/node-tar/commit/d694c4f810d864badf223efa35d24a000d780179"><code>d694c4f</code></a> ci: test on node 16</li>
    <li><a href="https://github.com/npm/node-tar/commit/84acbd31288541100910a528e437f901f8012214"><code>84acbd3</code></a> fix(unpack): fix hang on large file on open() fail</li>
    <li><a href="https://github.com/npm/node-tar/commit/97c46fcee7e4e7849ea3432086c4537fb6197025"><code>97c46fc</code></a> fix(unpack): always resume parsing after an entry error</li>
    <li><a href="https://github.com/npm/node-tar/commit/488ab8c01de69379406d937419fa3e5550e651c0"><code>488ab8c</code></a> chore: WriteEntry cleaner write() handling</li>
    <li><a href="https://github.com/npm/node-tar/commit/be89aafd95296e9721e124b77eee7c745e1c1e97"><code>be89aaf</code></a> WriteEntry backpressure</li>
    <li>Additional commits viewable in <a href="https://github.com/npm/node-tar/compare/v6.1.0...v6.1.6">compare view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tar&package-manager=npm_and_yarn&previous-version=6.1.0&new-version=6.1.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
    
    [//]: # (dependabot-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this PR
    - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
    - `@dependabot merge` will merge this PR after your CI passes on it
    - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
    - `@dependabot cancel merge` will cancel a previously requested merge and block automerging
    - `@dependabot reopen` will reopen this PR if it is closed
    - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
    - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
    - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
    - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
    
    You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/tari-project/tari/network/alerts).
    
    </details>
    aviator-app[bot] authored Aug 5, 2021
    Configuration menu
    Copy the full SHA
    32c9cb2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d9a86c3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    74567ca View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    dff99cf View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8454292 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6e44101 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    39ddd33 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2021

  1. Fix two cucumber tests to be less flaky

    - An "FundsPending" error returned from the coin split step will now be handled
      gracefully and not stop the test
    - Wallet A will monitor transactions to be at least broadcast when sending
      one-sided transactions to wallet B before mining will commence
    hansieodendaal committed Aug 6, 2021
    Configuration menu
    Copy the full SHA
    b9d0911 View commit details
    Browse the repository at this point in the history
  2. test: fix two cucumber tests to be less flaky (tari-project#3166)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    Fixed _"Ramped Stress Test"_ to be less flaky:
    - A "FundsPending" error returned from the coin split step will now be handled gracefully and not stop the test
    
    Fixed _"Wallet sending and receiving one-sided transactions"_ to be less flaky:
    - Wallet A will monitor transactions to be at least broadcast when sending one-sided transactions to wallet B before mining will commence
    
    ## Motivation and Context
    Cucumber tests were flaky.
    
    ## How Has This Been Tested?
    Running the integration tests in question.
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [X] I'm merging against the `development` branch.
    * [X] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 6, 2021
    Configuration menu
    Copy the full SHA
    fbc35c3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c7afae0 View commit details
    Browse the repository at this point in the history
  4. Fix UTXO scan edge case when PC awakes from sleep

    This PR fixes an issue where bottled up tokio interval events are fired
    successively for the edge case where a computer wakes up from sleep. This
    was evident in the UTXO scanning service where many many UTXO scanning tasks
    would be started in parallel afterwards instead of only one.
    hansieodendaal committed Aug 6, 2021
    Configuration menu
    Copy the full SHA
    4d09eae View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5bdc9f3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    beca2b0 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c792aa4 View commit details
    Browse the repository at this point in the history
  8. chore: update to cucumber test to use sydney seed monero url address (t…

    …ari-project#3167)
    
    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    Changed the monero URL address used by the cucumber test from: `http://monero-stagenet.exan.tech:38081` to `http://3.104.4.129:18081/`
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [ ] I'm merging against the `development` branch.
    * [ ] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 6, 2021
    Configuration menu
    Copy the full SHA
    4e70d91 View commit details
    Browse the repository at this point in the history
  9. Fix flaky cucumber tests involving transactions

    Added exception handling to gRPC methods submitting transactions in
    cucumber integration test steps. Async timing is not always favourable
    to conclude a transaction; retrying a transaction if it returns an
    error is important for test robustness.
    hansieodendaal committed Aug 6, 2021
    Configuration menu
    Copy the full SHA
    a997a4f View commit details
    Browse the repository at this point in the history
  10. test: fix flaky cucumber tests involving transactions (tari-project#3169

    )
    
    
    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    Added exception handling to gRPC methods submitting transactions in cucumber integration test steps. Async timing is not always favourable to conclude a transaction; retrying a transaction if it returns an error is important for test robustness.
    
    ## Motivation and Context
    See above.
    
    ## How Has This Been Tested?
    Running cucumber tests locally
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [X] I'm merging against the `development` branch.
    * [X] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 6, 2021
    Configuration menu
    Copy the full SHA
    5696c23 View commit details
    Browse the repository at this point in the history
  11. Washing Machine Update

    Fixed network bug in walletProcess.
    Fixed grpcPort bug in walletProcess for custom grpc address.
    Updated network in washing machine.
    Added routing mechanism.
    Added excludeTestEnvrs.
    
    Added notifications via web hook if url is supplied
    
    Update washing_machine.js
    
    Reduced output noisiness
    StriderDM committed Aug 6, 2021
    Configuration menu
    Copy the full SHA
    ff8fee1 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    b1defdd View commit details
    Browse the repository at this point in the history
  13. fix: ban peer when Merkle roots mismatch (tari-project#3162)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    Ban peer if block validation fails during block body sync
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    When this error is encountered, the peer sent an invalid block body given the current header chain.  
    `DEBUG Block sync failed: Block validation failed: Block validation error: Mismatched MMR roots`
    The node should ban the peer. Previously, the node would encounter this, then retry the same peer,
    rinse and repeat - preventing the node from syncing.
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    Not explicitly tested - fairly basic change.
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 6, 2021
    Configuration menu
    Copy the full SHA
    92e6bb1 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2021

  1. Configuration menu
    Copy the full SHA
    65df457 View commit details
    Browse the repository at this point in the history
  2. test: cucumber for all wallet commands (tari-project#3144)

    ## Description
    Integration test for wallet commands. It doesn't cover all possible scenarios, but it does cover every command.
    aviator-app[bot] authored Aug 7, 2021
    Configuration menu
    Copy the full SHA
    72bd062 View commit details
    Browse the repository at this point in the history
  3. feat: shared p2p rpc client session pool

    Adds an RPC client session pool to efficiently maintain multiple shared
    RPC sessions on the p2p network.
    sdbondi committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    05fb77f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2d9f3a6 View commit details
    Browse the repository at this point in the history
  5. fix(cucumber): update to @grpc/grpc-js library

    Potentially fixes GRPC connection issues we've been having
    sdbondi committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    04a0b3f View commit details
    Browse the repository at this point in the history
  6. misc: update package lock

    sdbondi committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    a6950bf View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0a70ee1 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    765d884 View commit details
    Browse the repository at this point in the history
  9. feat: add a shared p2p rpc client session pool to reduce rpc setup ti…

    …me (tari-project#3152)
    
    
    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    Adds an RPC client session pool to efficiently maintain multiple shared
    RPC sessions on the p2p network.
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    Wallet currently establishes one or more RPC sessions per transaction. At times, during stress tests these
    sessions are opened and closed many times. Each time an RPC sessions is established, protocol negotiation 
    and RPC handshakes must occur. These components can make use of the shared RPC client pool 
    to more efficiently and easily manage multiple sessions without creating situations where the target peer is
    thrashed with 10s of thousands of sessions in a stress test situation.   
    
    Implementing this in the wallet is TODO.
    
    Some RPC test utilities were moved around to make them useful to other tests, which has added some LOC
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    Extensive unit tests
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [ ] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 7, 2021
    Configuration menu
    Copy the full SHA
    778f951 View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2021

  1. fix wallet resize

    Cifko committed Aug 8, 2021
    Configuration menu
    Copy the full SHA
    1504139 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2021

  1. fix(wallet): fix resize panic (tari-project#3149)

    ## Description
    Fixes the panic during resize.
    
    ## How Has This Been Tested?
    Manually, and also added a cargo test.
    
    ## Checklist:
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 9, 2021
    Configuration menu
    Copy the full SHA
    33af084 View commit details
    Browse the repository at this point in the history
  2. feat: wallet connectivity service

    Adds a service responsible for wallet connectivity. This service
    is responsible for and abstracts any complexity in the management of
    the base node connections and RPC session management.
    
    This PR makes use of this service in the base node montoring service but
    does not "plumb" the WalletConenctivityService into the protocols. This
    is left as a TODO, but we should expect this to remove many lines of
    code and greaty simplify these protocols by removing the budren of
    connection management in the various wallet components.
    
    A number of simplifications on the peer connection and substream code,
    debatably reducing places that bugs could hide.
    sdbondi committed Aug 9, 2021
    Configuration menu
    Copy the full SHA
    e1e0f0c View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2021

  1. Configuration menu
    Copy the full SHA
    7c54bcb View commit details
    Browse the repository at this point in the history
  2. fix build binaries

    stringhandler committed Aug 10, 2021
    Configuration menu
    Copy the full SHA
    b736e36 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2ded2ac View commit details
    Browse the repository at this point in the history
  4. Update handling of SAF message propagation and deletion

    This PR adds two changes to the way SAF messages are handled to fix two subtle bugs spotted while developing cucumber tests.
    
    The first issue was that when a Node propagates a SAF message it was storing to other nodes in its neighbourhood the broadcast strategy it was using only chose from currently connected base nodes. This meant that if the Node had an active connection to a Communication Client (wallet) it would not just directly send the SAF message to that client but to other base nodes in the network region. This meant that the wallet would only receive new SAF message when it actively requested them on connection even though it was directly connected to the node.
    
    This PR adds a new broadcast strategy called `DirectOrClosestNodes` which will first check if the node has a direct active connection and if it does just send the SAF message directly to its destination.
    
    The second issue was a subtle problem where when a node starts to send SAF messages to a destination it would remove the messages from the database based only on whether the outbound messages were put onto the outbound message pipeline. The problem occurs when the TCP connection to that peer is actually broken the sending of those messages would fail at the end of the pipeline but the SAF messages were already deleted from the database.
    
    This PR changes the way SAF messages are deleted. When a client asks a node for SAF message it will also provide a timestamp of the most recent SAF message it has received. The Node will then send all SAF messages since that timestamp that it has for the node and will delete all SAF messages from before the specified Timestamp.  This serves as a form of Ack that the client has received the older messages at some point and they are no longer needed.
    philipr-za committed Aug 10, 2021
    Configuration menu
    Copy the full SHA
    03c5146 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e643b42 View commit details
    Browse the repository at this point in the history
  6. feat: wallet connectivity service (tari-project#3159)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    Adds a service responsible for wallet connectivity. This service
    is responsible for and abstracts any complexity in the management of
    the base node connections and RPC session management.
    
    This PR makes use of this service in the base node montoring service but
    does not "plumb" the WalletConenctivityService into the protocols. This
    is left as a TODO, but we should expect this to remove many lines of
    code and greaty simplify these protocols by removing the budren of
    connection management in the various wallet components.
    
    A number of simplifications on the peer connection and substream code,
    debatably reducing places that bugs could hide.
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    Follow on from tari-project#3152, making use of the pool in the wallet base node monitoring. The rest of the protocols should follow. 
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    Extensive service unit tests
    Existing tests pass
    
    Washing machine test on local wallet, with the broadcast protocol modified to use the wallet connectivity 
    Base node RPC sessions max out at 10 each (2 wallets connected to same base node) even when pushing through 426 transactions.
    ![image](https://user-images.githubusercontent.com/1057902/128175630-52617736-f71f-4865-a915-6d6c9b00e8d5.png)
    
    Manually tested wallet connectivity states (Connecting -> Online | Connecting -> Offline | Connecting -> Online -> Offline -> Connecting -> Online)
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 10, 2021
    Configuration menu
    Copy the full SHA
    54e8c8e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9e6599b View commit details
    Browse the repository at this point in the history
  8. test: improve cucumber reliability of Massive multiple reorg test (ta…

    …ri-project#3156)
    
    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    Found that the test: Massive multiple reorg failed because the block height of 5 had an equal difficulty of one of height 10. https://35459-136459099-gh.circle-artifacts.com/0/integration_tests/temp/reports/cucumber_report.html
    Simplified the test somewhat. 
    Changed it to ensure that we would always end up with a single chain. 
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 10, 2021
    Configuration menu
    Copy the full SHA
    e244d74 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    9daa73e View commit details
    Browse the repository at this point in the history
  10. fix: improve prune mode to remove panics (tari-project#3163)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    When requesting pruned data on base_node, the node would panic as it tried to provide pruned data. 
    Removed this panic and changed requests for `TransactionOutputs` to `PrunedOutputs` so that callee functions can decide what to do with the data. 
    Fixed ignored pruned unit test. 
    Added in cucumber test to prove nodes cant sync from pruned nodes and neither panics. 
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 10, 2021
    Configuration menu
    Copy the full SHA
    05f7813 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    ebe3f44 View commit details
    Browse the repository at this point in the history
  12. fix unit flaky test

    SWvheerden committed Aug 10, 2021
    Configuration menu
    Copy the full SHA
    7135148 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2021

  1. fix(dailys): use non-zero exit status when wallet recovery fails

    Non-zero error code on failure and return more information about the error.
    Adds logfile output for processes
    sdbondi committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    eeefca2 View commit details
    Browse the repository at this point in the history
  2. Fix wallet CLI cucumber tests

    (1) When using the wallet CLI mode, the wallet is not always in the correct
        state to send transactions, depending on the last known metadata status
        from the previously connected base node. This PR introduces exception
        handling for wallet CLI commands so that it will automatically retry
        to execute the command if it fails.
        A follow-up PR should let the wallet wait for a base node connection
        before it executes certain commands.
    (2) Added a new test step to explicitly test transaction statuses in the
        wallet.
    (3) Fixed the UTXO scanning service so it would not go into an infinite loop
        trying to scan UTXOs if the blockchain does not have any UTXOs yet.
    (4) Fixed an erroneous error return in the output manager service.
    hansieodendaal committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    21dc5f0 View commit details
    Browse the repository at this point in the history
  3. Update log4rs for tari_stratum_transcoder

    Fix typos
    StriderDM committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    1d00958 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7adc585 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    04d1b2c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0bd5a0a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9da7d91 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    4529cc7 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a65eecb View commit details
    Browse the repository at this point in the history
  10. fix: update handling of SAF message propagation and deletion (tari-pr…

    …oject#3164)
    
    ## Description
    
    This PR adds two changes to the way SAF messages are handled to fix two subtle bugs spotted while developing cucumber tests.
    
    The first issue was that when a Node propagates a SAF message it was storing to other nodes in its neighbourhood the broadcast strategy it was using only chose from currently connected base nodes. This meant that if the Node had an active connection to a Communication Client (wallet) it would not just directly send the SAF message to that client but to other base nodes in the network region. This meant that the wallet would only receive new SAF message when it actively requested them on connection even though it was directly connected to the node.
    
    This PR adds a new broadcast strategy called `DirectOrClosestNodes` which will first check if the node has a direct active connection and if it does just send the SAF message directly to its destination.
    
    The second issue was a subtle problem where when a node starts to send SAF messages to a destination it would remove the messages from the database based only on whether the outbound messages were put onto the outbound message pipeline. The problem occurs when the TCP connection to that peer is actually broken the sending of those messages would fail at the end of the pipeline but the SAF messages were already deleted from the database.
    
    This PR changes the way SAF messages are deleted. When a client asks a node for SAF message it will also provide a timestamp of the most recent SAF message it has received. The Node will then send all SAF messages since that timestamp that it has for the node and will delete all SAF messages from before the specified Timestamp.  This serves as a form of Ack that the client has received the older messages at some point and they are no longer needed.
    
    ## How Has This Been Tested?
    Unit tests have been updated to test this functionality.
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 11, 2021
    Configuration menu
    Copy the full SHA
    cedb4ef View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    214e837 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    43f89bc View commit details
    Browse the repository at this point in the history
  13. test: fix flaky unit test sending_transaction_and_confirmation (tari-…

    …project#3179)
    
    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    The unit test had 2 edge cases:
    
    1. When the transaction had no change, the master_key index should be 0 and not 1. 
    2. Inside of the builder we had an edge case of one check being `>=` while the next check being `>` which resulted in the tx builder thinking it did not have enough funds
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 11, 2021
    Configuration menu
    Copy the full SHA
    a422400 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    ab5e120 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2021

  1. Mining worker name for tari_mining_node

    Adds optional field to config for tari_mining_node to allow the miner to be named when using the stratum configuration.
    
    Updated successful server connection status from warn to info.
    StriderDM committed Aug 12, 2021
    Configuration menu
    Copy the full SHA
    aebd0c8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0fbd457 View commit details
    Browse the repository at this point in the history
  3. chore(deps): bump jszip from 3.6.0 to 3.7.0 in /integration_tests

    Bumps [jszip](https://github.com/Stuk/jszip) from 3.6.0 to 3.7.0.
    - [Release notes](https://github.com/Stuk/jszip/releases)
    - [Changelog](https://github.com/Stuk/jszip/blob/master/CHANGES.md)
    - [Commits](Stuk/jszip@v3.6.0...v3.7.0)
    
    ---
    updated-dependencies:
    - dependency-name: jszip
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    dependabot[bot] authored Aug 12, 2021
    Configuration menu
    Copy the full SHA
    0070173 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fd6d5c6 View commit details
    Browse the repository at this point in the history
  5. Set robust limits for busy a blockchain

    Updated limits for the base node and wallet that would be robust for
    a busy blockchain - this was simulated with two sizeable stress tests
    of 15,000 transactions each.
    hansieodendaal committed Aug 12, 2021
    Configuration menu
    Copy the full SHA
    0f894e5 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c993780 View commit details
    Browse the repository at this point in the history
  7. test: add wallet ffi testing

    Cifko committed Aug 12, 2021
    Configuration menu
    Copy the full SHA
    652d975 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    3254f06 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    e35adff View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    4e17478 View commit details
    Browse the repository at this point in the history
  11. test: add wallet ffi testing (tari-project#3168)

    ## Description
    Add testing possibilities of wallet ffi.
    I've separated the logic of import of the dll into the WalletFFI.js. It's imports all the functions from the dll. But doesn't export (yet) all the javascript cover of these functions. My intentions is to export all the functions as a javascript regular functions to have nice code completion, parameter names etc. So anyone who import this doesn't have to do any ffi stuff.
    
    The WalletFFIClient is responsible of holding the reference to ffi created wallet and calling functions on such wallet.
    
    ## Motivation and Context
    I've added babel plugin, because the eslint doesn't support static/private methods/variables. 
    
    ## Checklist:
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 12, 2021
    Configuration menu
    Copy the full SHA
    86dff2d View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    d45a6c4 View commit details
    Browse the repository at this point in the history
  13. Update log4rs for tari_stratum_transcoder (tari-project#3182)

    ## Description
    Update log4rs for tari_stratum_transcoder
    
    ## Motivation and Context
    Separate tari_stratum_transcoder logs from tari_merge_mining_proxy  logs.
    
    ## How Has This Been Tested?
    
    ## Checklist:
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 12, 2021
    Configuration menu
    Copy the full SHA
    fb8a79a View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    ee63b08 View commit details
    Browse the repository at this point in the history
  15. chore(deps): bump jszip from 3.6.0 to 3.7.0 in /integration_tests (ta…

    …ri-project#3184)
    
    Bumps [jszip](https://github.com/Stuk/jszip) from 3.6.0 to 3.7.0.
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a href="https://github.com/Stuk/jszip/blob/master/CHANGES.md">jszip's changelog</a>.</em></p>
    <blockquote>
    <h3>v3.7.0 2021-07-23</h3>
    <ul>
    <li>Fix: Use a null prototype object for this.files  (see <a href="https://github-redirect.dependabot.com/Stuk/jszip/pull/766">#766</a>)
    <ul>
    <li>This change might break existing code if it uses prototype methods on the <code>.files</code> property of a zip object, for example <code>zip.files.toString()</code>. This approach is taken to prevent files in the zip overriding object methods that would exist on a normal object.</li>
    </ul>
    </li>
    </ul>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a href="https://github.com/Stuk/jszip/commit/e5b3f0ddaa8182cd6ea253e97f678b9f36d0d8ac"><code>e5b3f0d</code></a> 3.7.0</li>
    <li><a href="https://github.com/Stuk/jszip/commit/e88ba4b367a56ba0f87490c231682fa1beacbb19"><code>e88ba4b</code></a> Update for version 3.7.0</li>
    <li><a href="https://github.com/Stuk/jszip/commit/90464873e370b691882faa28621f796cff6c0fbb"><code>9046487</code></a> Disable proto assert that fails in browsers</li>
    <li><a href="https://github.com/Stuk/jszip/commit/6d029b44c02b9a55bcfa59fb217d158c695c574c"><code>6d029b4</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/Stuk/jszip/issues/766">#766</a> from MichaelAquilina/fix/files-null-prototype</li>
    <li><a href="https://github.com/Stuk/jszip/commit/bb38812e1a3e93202aaba41465d41de382226d51"><code>bb38812</code></a> Ensure prototype isn't modified by zip file</li>
    <li><a href="https://github.com/Stuk/jszip/commit/d024c22adbbf51d842acf8660e49d87a9f02ad1c"><code>d024c22</code></a> test: Add test case for loading zip filenames which shadow method names</li>
    <li><a href="https://github.com/Stuk/jszip/commit/22357494f424178cb416cdb7d93b26dd4f824b36"><code>2235749</code></a> fix: Use a null prototype object for this.files</li>
    <li><a href="https://github.com/Stuk/jszip/commit/b7f472d7770f541b29cba5edb56da4a555f5e5d2"><code>b7f472d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/Stuk/jszip/issues/757">#757</a>: Update license to be valid spdx identifier</li>
    <li><a href="https://github.com/Stuk/jszip/commit/a3110397c9d46379945e18f7669b99d238eb6d57"><code>a311039</code></a> update license to be valid spdx identifier</li>
    <li>See full diff in <a href="https://github.com/Stuk/jszip/compare/v3.6.0...v3.7.0">compare view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jszip&package-manager=npm_and_yarn&previous-version=3.6.0&new-version=3.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
    
    [//]: # (dependabot-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this PR
    - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
    - `@dependabot merge` will merge this PR after your CI passes on it
    - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
    - `@dependabot cancel merge` will cancel a previously requested merge and block automerging
    - `@dependabot reopen` will reopen this PR if it is closed
    - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
    - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
    - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
    - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
    
    You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/tari-project/tari/network/alerts).
    
    </details>
    aviator-app[bot] authored Aug 12, 2021
    Configuration menu
    Copy the full SHA
    5495418 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    3e233c7 View commit details
    Browse the repository at this point in the history
  17. feat(mining_node): mining worker name for tari_mining_node (tari-proj…

    …ect#3185)
    
    ## Description
    Adds optional field to config for tari_mining_node to allow the miner to be named when using the stratum configuration.
    
    Updated successful server connection status from warn to info.
    
    ## Motivation and Context
    
    
    ## How Has This Been Tested?
    Manually
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 12, 2021
    Configuration menu
    Copy the full SHA
    48a62f9 View commit details
    Browse the repository at this point in the history
  18. Add wallet reorg cucumber tests

    Added wallet reorg cucumber tests for coinbase and normal
    transactions. These will be failing until wallets can
    handle reorgs properly - failing steps have been commented
    out.
    hansieodendaal committed Aug 12, 2021
    Configuration menu
    Copy the full SHA
    d7628f4 View commit details
    Browse the repository at this point in the history
  19. v0.9.3

    stringhandler committed Aug 12, 2021
    Configuration menu
    Copy the full SHA
    d0dbbe0 View commit details
    Browse the repository at this point in the history
  20. libwallet-0.17.3

    stringhandler committed Aug 12, 2021
    Configuration menu
    Copy the full SHA
    f1d297b View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2021

  1. Add network selection to wallet_ffi

    Update lib.rs
    
    Review comments
    StriderDM committed Aug 13, 2021
    Configuration menu
    Copy the full SHA
    d55bff0 View commit details
    Browse the repository at this point in the history
  2. re_add validation test

    SWvheerden committed Aug 13, 2021
    Configuration menu
    Copy the full SHA
    6505a3d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f2a479a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4d26c7d View commit details
    Browse the repository at this point in the history
  5. Fix stratum miner speed for tari_mining_node

    Removed call to thread::sleep accidentally left in while debugging a prior issue.
    
    Added nonce to display for solution.
    
    Co-Authored-By: Hansie Odendaal <[email protected]>
    
    Review comments
    
    Co-Authored-By: Hansie Odendaal <[email protected]>
    StriderDM and hansieodendaal committed Aug 13, 2021
    Configuration menu
    Copy the full SHA
    39eaa4b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    95e9b59 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2021

  1. Configuration menu
    Copy the full SHA
    87fd4cc View commit details
    Browse the repository at this point in the history
  2. fix: enforce unique commitments in utxo set

    Adds a unique commitment db index for the UTXO set as well as unique
    commitment check in the block validator.
    sdbondi committed Aug 15, 2021
    Configuration menu
    Copy the full SHA
    7c30d65 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fa8064e View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2021

  1. Handle receiver cancelling an inbound transaction that is later received

    This PR addresses the following scenario spotted by @stanimal:
    
     - NodeA sends to nodeB(offline) 
    - NodeA goes offline 
    - NodeB receives tx, and cancels it (weird I know) 
    - NodeA comes online and broadcasts the transaction 
    - NodeB is not aware of the transaction, transaction complete for NodeA
    
    This is handled by adding logic that if a FinalizedTransaction is received with no active Receive Protocols that the database is checked if there is a matching cancelled inbound transaction from the same pubkey. If there is the receiver might as well restart that protocol and accept the finalized transaction.
    
    A cucumber test is provided to test this case.
    
    This required adding in functionality to the Transaction and Output Manager service to reinstate a cancelled inbound transaction, unit tests provided for that.
    philipr-za committed Aug 16, 2021
    Configuration menu
    Copy the full SHA
    a16d04b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    969fc77 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e6d9672 View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2021

  1. feat: use nodejs cron for dailies, improve washingmachine reporting

    - implement cron using `cron` nodejs library
    - move "utils" to "daily_tests"
    - daily_tests has its own dependencies and package.json
    - improve washing machine MM reporting
    - refactor dailies to allow them to be exported as modules
    sdbondi committed Aug 17, 2021
    Configuration menu
    Copy the full SHA
    67f7353 View commit details
    Browse the repository at this point in the history
  2. feat: add sync rpc client pool to wallet connectivity

    - add sync pool and `obtain_base_node_sync_rpc_client`
    - add `get_header` to base node rpc
    sdbondi committed Aug 17, 2021
    Configuration menu
    Copy the full SHA
    d7e7be0 View commit details
    Browse the repository at this point in the history
  3. Change RPC connection issues log status

    Not all pertinent RPC connection issues were logged as warning or error
    hansieodendaal committed Aug 17, 2021
    Configuration menu
    Copy the full SHA
    4f35559 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f0f40b2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6c38f22 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    90ba420 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    23a7d64 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c79e53c View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5f33414 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    cb44eee View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d2391fb View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    4428bf4 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    8e2c5cd View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    2a61234 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    26e9748 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    305aeda View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    b94667f View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    68023be View commit details
    Browse the repository at this point in the history
  19. fix dev after test merges

    SWvheerden committed Aug 17, 2021
    Configuration menu
    Copy the full SHA
    04629fc View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    0919365 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    a18ee94 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    c008f78 View commit details
    Browse the repository at this point in the history
  23. v0.9.4

    stringhandler committed Aug 17, 2021
    Configuration menu
    Copy the full SHA
    de53f67 View commit details
    Browse the repository at this point in the history
  24. ci: Add libwallet iOS build

    Byron Hambly committed Aug 17, 2021
    Configuration menu
    Copy the full SHA
    f0c66aa View commit details
    Browse the repository at this point in the history
  25. ci: Fix libwallet android github action

    Byron Hambly committed Aug 17, 2021
    Configuration menu
    Copy the full SHA
    74ba3a7 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2021

  1. Expose get_mempool_stats via gRPC and add cucumber test

    This PR exposes the `get_mempool_stats` method via the base node gRPC interface. It also adds a cucumber test to add 5 transactions to the mempool and tests that the base node reports the correct stats.
    philipr-za committed Aug 18, 2021
    Configuration menu
    Copy the full SHA
    af5b246 View commit details
    Browse the repository at this point in the history
  2. fix: Fix or remove ignored tests in pow_data.rs

    This PR aimed to remove the ignore from the tests in pow_data.rs. These tests are failing tests so two of them that panicked with updated with the `should_panic` flag but the out of memory test aborts and cannot be handled in a test so it was removed.
    philipr-za committed Aug 18, 2021
    Configuration menu
    Copy the full SHA
    fda0d0a View commit details
    Browse the repository at this point in the history
  3. Remove test_harness feature from wallet

    In the early days of wallet development we didn’t have a working base nodes or cucumber infrastructure for the Mobile Clients to be able to test transacting. The `test_harness` functionality in the wallet was created to allow wallet clients to generate test data. This is no longer used so this PR removes this code.
    
    This code was also used to generate test data in the wallet_ffi integration test. There will soon be Cucumber infrastructure to test the FFI wrapper which is a far better way to perform this integration test so that huge test is removed from the FFI library.
    philipr-za committed Aug 18, 2021
    Configuration menu
    Copy the full SHA
    daee347 View commit details
    Browse the repository at this point in the history
  4. Make send_transaction request handling async in transaction service

    It was noted that under stress test the transaction service select! loop was blocking for longer than 500ms at times. This turned out to be during the send_transaction calls which did the initial transaction setup synchronously, this involves selecting UTXOs and building the initial transaction which with a large UTXO database can take time.
    
    In order to reduce this impact the `handle_request(…)`  function is changed in the transaction service. Instead of calling that function, waiting for a synchronous response and then sending the response down the reply one shot channel the one-shot channel is passed into the `handle_request(…)` function. For the send_transaction case the intensive work is then moved into the asynchronous `transaction_send_protocol` task and the reply channel is also sent into that task. The task is spawned and runs asynchronously when the `handle_request` method can end and return to the select! loop. Once the task has completed the initial tranasction setup it can send the response to the service API caller via the reply channel.
    
    This is only implemented in the asynchronous way for `send_transaction` in this PR, all the other API requests will still do their work synchronously and send the response over the reply channel but the infrastructure is now there to convert any one of those API calls to reply asynchronously if needed. At the moment the other API requests don’t appear to take long enough to require this effort just yet.
    
    `transaction_sender_protocols` are indexed by their TxId so in order to start the task with the ID before building the initial transaction the tx_id is now generated in the Transaction Service. The Transaction Protocol builder is updated to allow an optional manual specification of the TxId.
    philipr-za committed Aug 18, 2021
    Configuration menu
    Copy the full SHA
    9bdf30f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    100d6d4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4971989 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5ae28c7 View commit details
    Browse the repository at this point in the history
  8. fix: improve p2p RPC robustness

    - Correctly handles edge case where the client can receive a response after
      the deadline + grace period has expired due to extreme latency.
    - Minor code simplifications
    - Adds integration stress tests to comms
    - Increase client-side deadline grace period. This is needed because at
      any point we could be transferring a lot of data, causing delays,
      which the client must tollerate.
    - Minor performance optimisations (e.g removed usage of `.split()` which uses a BiLock)
    sdbondi committed Aug 18, 2021
    Configuration menu
    Copy the full SHA
    de47365 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    d4497fc View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    cc9c2ca View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d9412c2 View commit details
    Browse the repository at this point in the history
  12. separate ffi tests

    stringhandler committed Aug 18, 2021
    Configuration menu
    Copy the full SHA
    8e5f6ea View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    4dfa829 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    211dcfd View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    306f770 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    d66c5af View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    8c28bd1 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2021

  1. test: Add integration test for ListHeaders

    Byron Hambly committed Aug 19, 2021
    Configuration menu
    Copy the full SHA
    58d464f View commit details
    Browse the repository at this point in the history
  2. wallet: Add NodeId to console wallet Who Am I tab

    Just adds the console wallet’s own NodeId to the Who am I tab in the console wallet.
    philipr-za committed Aug 19, 2021
    Configuration menu
    Copy the full SHA
    efb8283 View commit details
    Browse the repository at this point in the history
  3. fix: division by zero

    Cifko committed Aug 19, 2021
    Configuration menu
    Copy the full SHA
    8a988e1 View commit details
    Browse the repository at this point in the history
  4. [wallet_ffi] Add null check for transport_type in FFI

    The `transport_type` argument is not checked is it null before it is used in this method. This PR adds the check and appropriate error response.
    philipr-za committed Aug 19, 2021
    Configuration menu
    Copy the full SHA
    ade9b25 View commit details
    Browse the repository at this point in the history
  5. wip

    Byron Hambly committed Aug 19, 2021
    Configuration menu
    Copy the full SHA
    548460f View commit details
    Browse the repository at this point in the history
  6. fix: bug in wallet base node peer switching

    - Connectivity retries connecting indefinitely, however previously if
      this continuously fails and the user updates their peer, the new peer will not be
      read until the previous peer was connected to. This PR fixes this.
    - Add protocl information to comms RPC logs
    - Cleanup peer state, making the wallet connectivity service the source
      of truth for the base node peer
    - Adds an `Ack` flag to RPC protocol, this is not currently used but
      could be implemented in the client side in future if required without
      breaking the network (server supports it, client support may or may
      not be needed).
    sdbondi committed Aug 19, 2021
    Configuration menu
    Copy the full SHA
    17e44aa View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    49dfcb9 View commit details
    Browse the repository at this point in the history
  8. chore: better logging for lmdb_delete (tari-project#3218)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    Add table names to lmdb_delete 
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    Helps debug the db
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    Existing tests
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 19, 2021
    Configuration menu
    Copy the full SHA
    b03a6f8 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    4e9f616 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    123013d View commit details
    Browse the repository at this point in the history
  11. fix(wallet_ffi)add null check for transport_type in `create_comms_c…

    …onfig` FFI function (tari-project#3215)
    
    ## Description
    The `transport_type` argument is not checked is it null before it is used in this method. This PR adds the check and appropriate error response.
    
    ## How Has This Been Tested?
    Not tested
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 19, 2021
    Configuration menu
    Copy the full SHA
    7277009 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    57b0f5f View commit details
    Browse the repository at this point in the history
  13. fix(wallet_ffi): fix division by zero during recovery (tari-project#3214

    )
    
    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    Fix division by zero for very short wallet recovery.
    
    ## Motivation and Context
    I found this by accident developing the ffi wallet recovery cucumber test.
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 19, 2021
    Configuration menu
    Copy the full SHA
    abd3d84 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    d0c684c View commit details
    Browse the repository at this point in the history
  15. fix(wallet): add NodeId to console wallet Who Am I tab (tari-project#…

    …3213)
    
    ## Description
    Just adds the console wallet’s own NodeId to the Who am I tab in the console wallet.
    
    ## How Has This Been Tested?
    Manually tested
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 19, 2021
    Configuration menu
    Copy the full SHA
    706ff5e View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    be8502e View commit details
    Browse the repository at this point in the history
  17. test: Add integration test for ListHeaders (tari-project#3212)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    Adds a simple integration test for checking the heights returned from ListHeaders gRPC 
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    Increased test coverage 
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    Integration test
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 19, 2021
    Configuration menu
    Copy the full SHA
    4fd0327 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    a4958b3 View commit details
    Browse the repository at this point in the history
  19. fix: bug in wallet base node peer switching (tari-project#3217)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    - Connectivity retries connecting indefinitely, however previously if
      this continuously fails and the user updates their peer, the new peer will not be
      read until the previous peer was connected to. This PR fixes this.
    - Add protocl information to comms RPC logs
    - Cleanup peer state, making the wallet connectivity service the source
      of truth for the base node peer
    - Adds an `Ack` flag to RPC protocol, this is not currently used but
      could be implemented in the client side in future if required without
      breaking the network (server supports it, we may choose in future to implement a client keep alive should it be needed,
     current server side impl easy and zero cost).
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    Critical bug fix 
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    Switching the console wallet base node peer a number of times
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    aviator-app[bot] authored Aug 19, 2021
    Configuration menu
    Copy the full SHA
    878c317 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2021

  1. test: cucumber check block heights in order test (tari-project#3219)

    ## Description
    Cucumber check block heights in order test
    
    ## Motivation and Context
    Cucumber tests
    
    ## How Has This Been Tested?
    npm test -- --name "Base node lists heights"
    
    ## Checklist:
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    StriderDM authored Aug 20, 2021
    Configuration menu
    Copy the full SHA
    9c0f7a7 View commit details
    Browse the repository at this point in the history
  2. test: almost complete ffi wallet test (tari-project#3220)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    Almost complete ffi wallet test.
    - The async base node connection is not there.
    - The SAF test is broken (the ffi wallet doesn't change the status, but the receiver node has correct status) 
    
    ## How Has This Been Tested?
    npm test -- .\features\WalletFFI.feature
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    Cifko authored Aug 20, 2021
    Configuration menu
    Copy the full SHA
    980c526 View commit details
    Browse the repository at this point in the history
  3. cucumber: Add mempool test for unconfirmed tx to mined tx (tari-proje…

    …ct#3222)
    
    ## Description
    Add mempool test for unconfirmed tx to mined tx
    
    ## Motivation and Context
    cucumber tests
    
    ## How Has This Been Tested?
    npm test -- --name "Mempool unconfirmed transaction to mined transaction"
    
    ## Checklist:
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    StriderDM authored Aug 20, 2021
    Configuration menu
    Copy the full SHA
    9af90e7 View commit details
    Browse the repository at this point in the history
  4. fix: chain error caused by zero-conf transactions and reorgs (tari-pr…

    …oject#3223)
    
    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    If a zero-conf transaction was in a block and the block is rewound. The block_chain backend will try to delete in input which was never marked as unspent as it was immediately spent. When we rewound this block we should check this and not try and delete an output that was never an unspent output on the chain. 
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    SWvheerden authored Aug 20, 2021
    Configuration menu
    Copy the full SHA
    f040427 View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2021

  1. ci: prebuild mining node on cucumber tests (tari-project#3221)

    Co-authored-by: mergequeue[bot] <48659329+mergequeue[bot]@users.noreply.github.com>
    stringhandler and aviator-app[bot] authored Aug 22, 2021
    Configuration menu
    Copy the full SHA
    8a0b3c6 View commit details
    Browse the repository at this point in the history
  2. Add extra logging detail for wiremode warnings (tari-project#3216)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    Minor log warning improvements for the case where a wire format byte is not received 
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    Adding more log info for some observed warnings 
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    Replaced existing base node and started syncing a new node successfully 
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    Byron Hambly authored Aug 22, 2021
    Configuration menu
    Copy the full SHA
    db4c0b9 View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2021

  1. fix: edge-case fixes for wallet peer switching in console wallet (tar…

    …i-project#3226)
    
    
    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    - set peer using the watch to allow the connectivity service to
      immediately be aware of the new peer
    - aborted the dial early if necessary, should the user set a different peer
    - slightly reduce busy-ness of the wallet monitor by monitoring for less comms connectivity events
    -  monitor for wallet connectivity peer status changes to improve the responsiveness of the status ui update. 
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    When a peer is selected, and the previous peer is offline, it appears as if the new peer is offline.
    This allows the state to be immediately be updated (though there is still a delay where the frontend 
    gets refreshed - probably waiting for a tick)
    The wallet event monitor was kept very busy with all the comms connectivity events incl. events that 
    have nothing
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    Tested on existing wallet
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    sdbondi authored Aug 23, 2021
    Configuration menu
    Copy the full SHA
    f577df8 View commit details
    Browse the repository at this point in the history
  2. chore: simpler pull request template (tari-project#3231)

    Simpler PR template
    stringhandler authored Aug 23, 2021
    Configuration menu
    Copy the full SHA
    9135eaa View commit details
    Browse the repository at this point in the history
  3. feat: add ping() to all comms RPC clients (tari-project#3227)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    Adds a `ping()` function to all comms RPC clients. `ping()` sends an RPC
    request with the `ACK` flag set. The server will immediately reply with
    an `ACK` response. This accurately measures RPC latency without a
    potentially slow backend. `ping()` is now used in the wallet monitor.
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    
    Previously, `get_last_request_latency` would refer to the latency of `get_tip_info` 
    which will increase whenever the blockchain db is busy, for e.g:
    - the base node is syncing
    - another node(s) syncing from the base node
    - one or many wallets scanning UTXOs from the base node
    - one or many wallets running a recovery from the base node
    - lots of lmdb writes e.g large reorg
    
    A client wallet would, of course, have no idea that this is occurring
    and simply display poor latency. This could be perceived to be a poor
    RPC performance, when in fact, there are a number or non-network/RPC
    related reasons why a ping > 1/2 seconds  is displayed.
    
    `get_last_request_latency` is a better measure when determining
    current base node performance (caveats: depending on the RPC method impl, 
    current performance does not predict future performance). However,
    it is misleading to use this as a user-facing value presented as network latency.
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    Unit test, console wallet test
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    sdbondi authored Aug 23, 2021
    Configuration menu
    Copy the full SHA
    b5b6223 View commit details
    Browse the repository at this point in the history
  4. fix: show warnings on console (tari-project#3225)

    Show warnings and errors on apps as well as logs
    
    Also moved a struct that was in the middle of a method into its own file
    stringhandler authored Aug 23, 2021
    Configuration menu
    Copy the full SHA
    3291021 View commit details
    Browse the repository at this point in the history
  5. test: improve comms limits to combat network timeouts (tari-project#3224

    )
    
    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    This PR:
    - Improved various comms configuration settings to combat RPC connection and response timeouts
    - Improved wire mode logging
    
    The philosophy here is to rather wait for a connection or response than to abandon all and try again.
    
    These settings were tested on two separate systems performing system-level tests where RPC timeouts and connection problems were previously prevalent:
    - while base node/console wallet pairs were only monitoring the network or were linked to SHA3 or RandomX miners
    - while performing a stress test and compiling Rust at the same time.
    
    The former proved to run virtually without any errors while the latter registered some timouts, especially when performing Rust compilations (~ two orders of magnitude less).
    
    **Edit:** 
    - Fixed flaky cucumber test `Node should not sync from pruned node`
    - Fixed magic numbers in unit test `test_txo_validation_rpc_timeout`
    
    ## Motivation and Context
    See above
    
    ## How Has This Been Tested?
    See above
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [X] I'm merging against the `development` branch.
    * [X] I have squashed my commits into a single commit.
    hansieodendaal authored Aug 23, 2021
    Configuration menu
    Copy the full SHA
    01b626c View commit details
    Browse the repository at this point in the history
  6. chore: add extra seed node (tari-project#3234)

    Description
    ---
    Add additional seed node
    
    Motivation and Context
    ---
    N/A
    
    How Has This Been Tested?
    ---
    Tested with new temporary console wallet
    sdbondi authored Aug 23, 2021
    Configuration menu
    Copy the full SHA
    b01f641 View commit details
    Browse the repository at this point in the history
  7. v0.9.5

    stringhandler committed Aug 23, 2021
    Configuration menu
    Copy the full SHA
    bb6e87f View commit details
    Browse the repository at this point in the history
  8. ci: add pr title check

    Byron Hambly committed Aug 23, 2021
    Configuration menu
    Copy the full SHA
    f622f9e View commit details
    Browse the repository at this point in the history
  9. test: Add rebuild-db integration test (tari-project#3232)

    Description:
    
    Adds a cucumber test to cover the `--rebuild-db` blockchain recovery functionality on the base node 
    
    Motivation and Context:
    
    Improved test coverage
    
    How Has This Been Tested?
    
    `npm test -- --name "Blockchain database recovery"`
    Byron Hambly authored Aug 23, 2021
    Configuration menu
    Copy the full SHA
    f274981 View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2021

  1. Remove OpenSSL from Windows runtime

    - Removed OpenSSL installers and dependencies from Windows runtime
    - Removed stdout as appender from console wallet's log4rs logger
    hansieodendaal committed Aug 24, 2021
    Configuration menu
    Copy the full SHA
    5624c25 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2021

  1. fix: exit command and free up tokio thread (tari-project#3235)

    Description
    ---
    Exit command didn't exit the cli loop.
    Rustyline was holding up a tokio thread - used a blocking thread instead
    
    Motivation and Context
    ---
    Bug
    
    How Has This Been Tested?
    ---
    Manually on base node
    sdbondi authored Aug 25, 2021
    Configuration menu
    Copy the full SHA
    d924beb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3f0bf26 View commit details
    Browse the repository at this point in the history
  3. fix: add status output to logs in non-interactive mode (tari-project#…

    …3244)
    
    Description
    ---
    Add status output to logs in non-interactive mode
    
    Motivation and Context
    ---
    Base node in non-interactive mode was logging status
    
    How Has This Been Tested?
    ---
    Manually run base node in non-interactive mode
    Byron Hambly authored Aug 25, 2021
    Configuration menu
    Copy the full SHA
    6b91bb6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    23ed3bb View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2021

  1. Configuration menu
    Copy the full SHA
    6778a44 View commit details
    Browse the repository at this point in the history
  2. ci: add pr title check (tari-project#3233)

    Description
    ---
    
    Add a github action to check PR titles follow conventional commit spec
    
    Motivation and Context
    ---
    
    Automate checks
    
    How Has This Been Tested?
    ---
    
    github actions
    stringhandler committed Aug 26, 2021
    Configuration menu
    Copy the full SHA
    d39029d View commit details
    Browse the repository at this point in the history
  3. fix: remove OpenSSL from Windows runtime (tari-project#3242)

    Description
    ---
    - Removed OpenSSL installers and dependencies from Windows runtime
    - Removed stdout as appender from console wallet's log4rs logger
    
    Motivation and Context
    ---
    - OpenSSL is not a Windows runtime dependency anymore
    - The console wallet cannot handle log4rs logger messages to its stdout as it breaks the TUI
    
    How Has This Been Tested?
    ---
    Build the installer, ran an installer, ran all the executable components
    stringhandler committed Aug 26, 2021
    Configuration menu
    Copy the full SHA
    0048c3b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    84622f7 View commit details
    Browse the repository at this point in the history
  5. feat(wallet): add tab for error log to the wallet (tari-project#3250)

    Description
    ---
    Add a new tab in the console wallet. In the new tab is a stdout log from the wallet. The stdout is redirected to a new logfile called "stdout.log"
    I've added also some coloring, it's much easier to read the log file with some simple colors.
    
    Motivation and Context
    ---
    Easier to debug the wallet.
    
    How Has This Been Tested?
    ---
    Manually.
    stringhandler committed Aug 26, 2021
    Configuration menu
    Copy the full SHA
    098f25d View commit details
    Browse the repository at this point in the history
  6. feat: add support for forcing sync from seeds (tari-project#3228)

    ## Description
    Add support for forcing sync to a seed node. Specify index for the node from peer_seeds list.
    
    ## How Has This Been Tested?
    Manually.
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    Cifko authored Aug 26, 2021
    Configuration menu
    Copy the full SHA
    d132932 View commit details
    Browse the repository at this point in the history
  7. test: cucumber forced sync (tari-project#3230)

    ## Description
    Add cucumber test that tests forced sync to single node.
    
    ## How Has This Been Tested?
    npm test -- --name "Force sync many nodes agains one peer"
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    Cifko authored Aug 26, 2021
    Configuration menu
    Copy the full SHA
    22d3341 View commit details
    Browse the repository at this point in the history
  8. test: add multiple wallet recovery from peer (tari-project#3240)

    Description
    Added multiple wallet recovery from peer
    
    Motivation and Context
    Additional tests
    
    How Has This Been Tested?
    Manually (npm test -- --name "Multiple Wallet recovery from seed node")
    StriderDM authored Aug 26, 2021
    Configuration menu
    Copy the full SHA
    dc0955c View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2021

  1. feat: base_node prompt user to create id if not found (tari-project#3245

    )
    
    Description
    Prompt user to create id if not found
    
    Motivation and Context
    Improvement to base node startup, specifically on first run.
    
    How Has This Been Tested?
    Manually
    StriderDM authored Aug 27, 2021
    Configuration menu
    Copy the full SHA
    6391941 View commit details
    Browse the repository at this point in the history
  2. fix: daily wallet recovery fixes (tari-project#3229)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    - Use the GRPC client connection given `WalletProcess`
    - Outputs error details in webhook in recovery cron job
    - Adds very basic mocha tests
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    Recovery daily is failing even though it succeeds. 
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    sdbondi authored Aug 27, 2021
    Configuration menu
    Copy the full SHA
    6970230 View commit details
    Browse the repository at this point in the history
  3. feat!: tell an FFI client that a recovery is in progress on `wallet_c…

    …reate` (tari-project#3249)
    
    Description
    ---
    ### Note: This is a breaking change to LibWallet FFI
    
    Currently if a wallet recovery was in progress and the wallet was shutdown the next time that wallet is start by an FFI client using the ‘wallet_create’ method there is no way for the FFI client to know that the recovery should be continued.
    
    The wallet is able to resume the recovery from where it left off and it should so as not to lose funds but the FFI client must restart the recovery process with the same seed words. The FFI client has to do the restarting so that it can provide the callback through which the process is monitored.
    
    Furthermore, the wallet does not respond to P2P transaction negotiation message if a recovery process is in progress so it is important that an FFI client completes any outstanding recoveries ASAP.
    
    How Has This Been Tested?
    ---
    untested in the backend.
    philipr-za authored Aug 27, 2021
    Configuration menu
    Copy the full SHA
    1368d59 View commit details
    Browse the repository at this point in the history
  4. fix: fix base_node_service_config not read (tari-project#3251)

    Description
    ---
    Fixed the base_node_service_config not being initialized with values from the config file.
    
    Motivation and Context
    ---
    See above
    
    How Has This Been Tested?
    ---
    System level testing
    hansieodendaal authored Aug 27, 2021
    Configuration menu
    Copy the full SHA
    8006688 View commit details
    Browse the repository at this point in the history
  5. test: add flag to have Cucumber exit when tests are complete (tari-pr…

    …oject#3252)
    
    Description
    ---
    Add the —exit flag to the Cucumber CI commands to force Cucumber to end when the tests are completed. This doesn’t solve the issue where something is keeping the Cucumber process running due to a poor shutdown though.
    
    How Has This Been Tested?
    ---
    N/A
    philipr-za authored Aug 27, 2021
    Configuration menu
    Copy the full SHA
    d72593f View commit details
    Browse the repository at this point in the history
  6. docs: rfc staged security (tari-project#3246)

    Description
    ---
    
    This Request for Comment (RFC) aims to describe Tari's ergonomic approach to securing funds in a hot wallet.
    The focus is on mobile wallets, but the strategy described here is equally applicable to console or desktop wallets.
    
    Motivation and Context
    ---
    
    This philosophy has been partially implemented in Aurora already but has not been captured in community documentation before.
    
    How Has This Been Tested?
    ---
    N/A
    CjS77 authored Aug 27, 2021
    Configuration menu
    Copy the full SHA
    a48e423 View commit details
    Browse the repository at this point in the history
  7. test: add tracing to comms via --tracing-enabled (tari-project#3238)

    Description
    ---
    Add tracing to comms to debug timings via the `--tracing-enabled` flag
    
    Motivation and Context
    ---
    It's currently difficult to understand the timings of network calls and errors in the application.
    
    How Has This Been Tested?
    ---
    Tested manually
    stringhandler authored Aug 27, 2021
    Configuration menu
    Copy the full SHA
    5dc10c2 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2021

  1. refactor: additional DB audit of methods (tari-project#2864)

    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    
    This provides a audit removing and increasing security over the following db methods from the WriteOperation enum:
    
    ```rust
    InsertChainOrphanBlock(Arc<ChainBlock>),
    InsertInput {
     header_hash: HashOutput,
    input: Box<TransactionInput>,
    mmr_position: u32,
    },
    
    InsertKernel {
     header_hash: HashOutput,
    kernel: Box<TransactionKernel>,
    mmr_position: u32,
    },
    
    InsertOutput {
     header_hash: HashOutput,
    output: Box<TransactionOutput>,
    mmr_position: u32,
    },
    
    DeleteHeader(u64),
    
    DeleteOrphanChainTip(HashOutput),
    
    InsertOrphanChainTip(HashOutput),
    
    SetBestBlock {
     height: u64,
    hash: HashOutput,
    accumulated_difficulty: u128,
    },
    
    SetPruningHorizonConfig(u64),
    
    SetPrunedHeight {
     height: u64,
    kernel_sum: Commitment,
    utxo_sum: Commitment,
    },
    ```
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    This synced to tip, and passed all unit tests
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [ ] I have squashed my commits into a single commit.
    SWvheerden authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    20618b6 View commit details
    Browse the repository at this point in the history
  2. feat: allow DHT to be configured to repropagate messages for a number…

    … of rounds (tari-project#3211)
    
    <!--- Provide a general summary of your changes in the Title above -->
    
    ## Description
    <!--- Describe your changes in detail -->
    Use the dedup cache hit count to allow certain duplicate messages through a
    configurable number of times. 
    
    ## Motivation and Context
    <!--- Why is this change required? What problem does it solve? -->
    <!--- If it fixes an open issue, please link to the issue here. -->
    
    ~~This improves mempool synchronization.~~ Implements gossip repropagation that could be used for some message types in future.
    
    ## How Has This Been Tested?
    <!--- Please describe in detail how you tested your changes. -->
    <!--- Include details of your testing environment, and the tests you ran to -->
    <!--- see how your change affects other areas of the code, etc. -->
    New unit test. More manual system tests need to be done
    
    ## Checklist:
    <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
    * [x] I'm merging against the `development` branch.
    * [x] I have squashed my commits into a single commit.
    sdbondi authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    60f286b View commit details
    Browse the repository at this point in the history
  3. refactor: refactor wallet ffi cucumber tests (tari-project#3259)

    Description
    Refactored WalletFFI.feature into a working state, tested locally.
    
    Further refactoring and dead code removal would be beneficial.
    
    Motivation and Context
    Necessary to get WalletFFI.feature working.
    
    How Has This Been Tested?
    Tested locally, each scenario tested with:
    `./node_modules/.bin/cucumber-js --name "${scenario_name}"`
    StriderDM authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    8d82fd0 View commit details
    Browse the repository at this point in the history
  4. fix: add periodic connection check to wallet connectivity service (ta…

    …ri-project#3237)
    
    
    Description
    ---
    - Adds a periodic check of the connection status and attempts a
      reconnect if no longer connected. Previously it was assumed that this
      can be done lazily because some caller will always call
      `obtain_base_node_wallet_rpc_client`, but this may not be the case. A
      periodic check is added.
    - Clean up some state checking to use the wallet connectivity service.
    
    Motivation and Context
    ---
    Improves snappiness of the connectivity and chain state updates in the wallet
    
    How Has This Been Tested?
    ---
    Manually on the console wallet + existing tests
    sdbondi authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    8c7066b View commit details
    Browse the repository at this point in the history
  5. fix: send transactions to all connected peers (tari-project#3239)

    Description
    ---
     Send transactions to all connected peers as we do with block propagation
    
    Motivation and Context
    ---
    Alternative to tari-project#3211.
    
    How Has This Been Tested?
    ---
    Existing tests / single line code change
    sdbondi authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    16f779e View commit details
    Browse the repository at this point in the history
  6. test: add random transactions to empty cucumber blocks (tari-project#…

    …3253)
    
    
    Description
    ---
    This adds in random transactions spending each other and unused coin bases to fill in blocks.
    
    Motivation and Context
    ---
    This is to allow us to test more thoroughly with all blocks having transactions and not just blocks that were explicitly created with transactions.  These are limited to 10 transactions per block to not make it too slow at the current validation speeds. This might be revisited in a later stage.
    
    How Has This Been Tested?
    ---
    Manually confirmed that the blocks do have the transactions in them. 
    Ran all cucumber tests with the flags: critical and not broken and not flaky
    SWvheerden authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    8e4be07 View commit details
    Browse the repository at this point in the history
  7. feat: improve basenode switch from listening to lagging mode (tari-pr…

    …oject#3255)
    
    Description
    ---
    This PR changes the peer metadata push to listing mode speed to push every time it receives a chain metadata ping or pong message. 
    
    Motivation and Context
    ---
    This is introduced to allow a node to switch faster and not wait till it received it all the pings and pongs from a node.
    
    How Has This Been Tested?
    ---
    
    Run all unit tests and manually ran node.
    SWvheerden authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    9dc335f View commit details
    Browse the repository at this point in the history
  8. fix: small display bug (tari-project#3257)

    Description
    ---
    The escape sequence was eating up the string "Starting recovery at height: ".
    
    How Has This Been Tested?
    ---
    Manually/visually.
    Cifko authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    d1bb737 View commit details
    Browse the repository at this point in the history
  9. feat: add Igor testnet (tari-project#3256)

    Description
    ---
    This PR adds support for the Igor testnet to the repo. This involves adding Igor to the Network Enum, adding a Igor generic block and adding a config file with the details of 4 Igor seed nodes (still to be rolled out)
    
    Motivation and Context
    ---
    We need a second testnet to test network switching
    
    How Has This Been Tested?
    ---
    Manually ran the network to generate seed nodes details.
    philipr-za authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    0f6d3b1 View commit details
    Browse the repository at this point in the history
  10. chore: tokio 1 and other crate upgrades (tari-project#3258)

    Description
    ---
    - upgrades to tokio 1.10
    - upgrade multiaddr to 1.13
    - updates select loops to use tokio::select!
    - updates to use tokio mpsc and oneshot channels
    - remove max_threads config
    - removed tari_wallet dependency from tari base node
    - moved emoji id library out of tari wallet into tari core (in order to
      remove dependency on `tari_wallet` for tari base node)
    - Wait for bootstrap with mempool sync moved to the initializer
    - Unit and integration test fixup
    - Upgraded following crates that use or are required by tokio 1:
      `bytes`, `prost`, `tonic`, `reqwest`, `hyper`, `trust-dns-client`
    
    ~~Include changes from tari-project#3237 merged
    
    Motivation and Context
    ---
    Tokio runtime is perhaps the most critical dependency we have and was very out of date (was 0.2.x).
    This PR takes advantage of bug fixes and optimisations of tokio 1.10.
    
    How Has This Been Tested?
    ---
    - Existing unit and integration tests run and pass
    - Existing cucumber tests pass
    - Ran all tari applications (base node, console wallet, miner, mm proxy, stratum transcoder)
    - Ran a washing machine test on two upgraded wallets connected to an upgraded base node
    sdbondi authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    504fbb8 View commit details
    Browse the repository at this point in the history
  11. fix: off-by-one causing "no further headers to download" bug (tari-pr…

    …oject#3264)
    
    Description
    ---
    When entering the `synchonize_headers` function, a chain of headers has
    been downloaded and validated but not committed. If there less than
    1000 (not equal to as before), the function can exit without streaming
    more as there are no more to send.
    
    This PR correctly handles the case where the node is exactly 1000 headers behind
    by: (1) correcting the off-by-one "no further headers to download" conditional and
    (2) commiting headers before starting streaming if the PoW is stronger,
    in case no further headers would be streamed.
    
    Motivation and Context
    ---
    Header sync ends prematurely when receiving exactly 1000 "pre-sync" headers.
    
    How Has This Been Tested?
    ---
    Manually - Sync from scratch.
    sdbondi authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    3502b39 View commit details
    Browse the repository at this point in the history
  12. fix: revert mining_node default logging config (tari-project#3262)

    Description
    ---
    The mining_node relies on its stdout logging for output for the binary and a recent global update to the logging filtered out the debug and info messages to the std out.
    
    This PR updates the default logging config for the mining node so that debug and info messages are logged to stdout.
    
    How Has This Been Tested?
    ---
    Manually
    philipr-za authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    edc1a2b View commit details
    Browse the repository at this point in the history
  13. feat: allow network to be selected at application start (tari-project…

    …#3247)
    
    Description
    Network selection for applications
    
    Motivation and Context
    Allows network to be selected at application start
    
    How Has This Been Tested?
    Manually
    StriderDM authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    8a36fb5 View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2021

  1. feat: add ability to bypass rangeproof (tari-project#3265)

    Description
    ---
    Adds the ability to bypass rangeproof verification. 
    
    Motivation and Context
    ---
    Warning: This should not be done by default as it can cause a fork. By default this should always be set to verify rangeproofs, but in some scenarios, you want to disable it to quickly download a chain or run on a slim device. 
    
    The rangeproof verification also takes the majority of time when profiling, so by disabling it, we can monitor other performance bottlenecks
    
    How Has This Been Tested?
    ---
    Manually
    
    > Note that I disabled checking of rangeproofs during wallet sending because it adds little value to validate a rangeproof that you created
    stringhandler authored Aug 31, 2021
    Configuration menu
    Copy the full SHA
    055271f View commit details
    Browse the repository at this point in the history
  2. test: add trace tag to liveness data (tari-project#3269)

    Description
    ---
    
    Added trace tag info into the liveness log messages for improved tracing of ping-pong messages
    
    Motivation and Context
    ---
    
    This will help to investigate why ping-pong messages are not robust when using a single forced sync peer.
    
    How Has This Been Tested?
    ---
    
    System-level testing
    hansieodendaal authored Aug 31, 2021
    Configuration menu
    Copy the full SHA
    7249ce4 View commit details
    Browse the repository at this point in the history
  3. fix: auto update continuously checks auto_update_check_interval is di…

    …sabled (tari-project#3270)
    
    Description
    ---
    Continuously checks for updates when auto_update_check_interval is disabled.
    
    Thanks @mikethetike. for finding it and for the fix 
    
    Add check to if no auto update URIs are configured 
    
    Motivation and Context
    ---
    Bug fix
    
    When check_interval is disabled, stream::empty() is used to disable the update checking, however it
    returns None continuously when polled, causing the update to continuously be checked.
    
    Also sets MissedTickBehaviour::Skip - which will prevent bursts of checks if intervals are missed
    
    How Has This Been Tested?
    ---
    Ran base node with auto_update_check_interval = 0 (or equivalently without this setting set)
    sdbondi authored Aug 31, 2021
    Configuration menu
    Copy the full SHA
    b3bff31 View commit details
    Browse the repository at this point in the history
  4. fix: remove cucumber walletffi.js file that got re-included in rebase (

    …tari-project#3271)
    
    Description
    Code was moved to ffiInterface.js and updated. Mistakenly got re-included when fixing a conflict in a rebase.
    
    Motivation and Context
    ---
    
    How Has This Been Tested?
    ---
    StriderDM authored Aug 31, 2021
    Configuration menu
    Copy the full SHA
    77c9256 View commit details
    Browse the repository at this point in the history
  5. test: early subscription to connectivity events for mempool sync (tar…

    …i-project#3272)
    
    Description
    ---
    Subscribe to connectivity events before waiting for the state machine to bootstrap
    
    Motivation and Context
    ---
    Causes cucumber ` Scenario: Transactions are synced` to fail. Could cause mempool sync not to happen in some fairly unlikely but possible cases in base node.
    
    How Has This Been Tested?
    ---
    Cucumber Scenario: Transactions are synced passes
    sdbondi authored Aug 31, 2021
    Configuration menu
    Copy the full SHA
    2c58c12 View commit details
    Browse the repository at this point in the history
  6. refactor: enable compile without sqlite, move emoji id and common typ…

    …es to tari_common_types (tari-project#3266)
    
    Description
    ---
    It moves emoji id and common types to tari_common_types
    
    Motivation and Context
    ---
    The main problem here was a dependency on tari_base_node -> tari_wallet for `EmojiId`. Then EmojiId references PublicKey, so ended up moving a whole bunch around. 
    
    > Note: Hidden in all of this is feature to compile SQLite without having it installed as a lib
    
    How Has This Been Tested?
    ---
    Manually
    stringhandler authored Aug 31, 2021
    Configuration menu
    Copy the full SHA
    95ac87d View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2021

  1. fix: make logging less noisy (tari-project#3267)

    Description
    ---
    Remove logging of errors from tracing instrument macros.
    
    Motivation and Context
    ---
    Was reported as making the base node unusable. Hopefully we are not swallowing important information, but probably the right choice
    
    How Has This Been Tested?
    ---
    Manually
    
    > ~~Note: This PR is based on tari-project#3266 to enable compilation without SQLite installed~~
    stringhandler authored Sep 1, 2021
    Configuration menu
    Copy the full SHA
    4798161 View commit details
    Browse the repository at this point in the history
  2. chore: add network to Base Node status line (tari-project#3278)

    Description
    ---
    We want to see the network in the base node status line.
    
    How Has This Been Tested?
    ---
    manually
    philipr-za authored Sep 1, 2021
    Configuration menu
    Copy the full SHA
    997d288 View commit details
    Browse the repository at this point in the history
  3. merge development

    Byron Hambly committed Sep 1, 2021
    Configuration menu
    Copy the full SHA
    970a464 View commit details
    Browse the repository at this point in the history