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

Fix ChainStorageError after a reorg with new block #2915

Conversation

hansieodendaal
Copy link
Contributor

@hansieodendaal hansieodendaal commented May 14, 2021

Description

Fix ChainStorageError after a reorg with new block

  • Fixed a ChainStorageError that occurs due to invalid transactions remaining in the mempool when the 1st block is requested for mining via GRPC directly after a chain reorg.
  • Added a failing cucumber test for the above condition (fixed now): Mempool clearing out invalid transactions after a reorg.
  • Minor cucumber improvements.
  • Fixed flaky test tx_broadcast_protocol_submit_success

Motivation and Context

See above

How Has This Been Tested?

Cucumber test Mempool clearing out invalid transactions after a reorg

Checklist:

  • I'm merging against the tari-script branch.
  • I have squashed my commits into a single commit.

@hansieodendaal hansieodendaal force-pushed the ho_chain_storage_err_after_reorg branch from 989ea0e to 1120dbf Compare May 14, 2021 11:01
@hansieodendaal hansieodendaal force-pushed the ho_chain_storage_err_after_reorg branch from 1120dbf to 50c4412 Compare May 19, 2021 16:05
Copy link
Collaborator

@stringhandler stringhandler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some changes needed to be followed up in further PRs, but this can go in as is for now

@hansieodendaal hansieodendaal force-pushed the ho_chain_storage_err_after_reorg branch from 50c4412 to 0b8058e Compare May 25, 2021 14:23
@hansieodendaal
Copy link
Contributor Author

Some changes needed to be followed up in further PRs, but this can go in as is for now

All changes effected.

@hansieodendaal hansieodendaal force-pushed the ho_chain_storage_err_after_reorg branch 2 times, most recently from 9bd6c38 to 443105a Compare May 25, 2021 15:06
@hansieodendaal
Copy link
Contributor Author

See #2969 where the failing Scenario: Pruned mode reorg past horizon test has been made predictable.

@hansieodendaal hansieodendaal force-pushed the ho_chain_storage_err_after_reorg branch 4 times, most recently from 837ffd2 to 750573d Compare June 1, 2021 11:18
- Fixed a ChainStorageError that occurs due to invalid transactions remaining in
the mempool when the 1st block is requested for mining via GRPC directly after
a chain reorg.
- Added a failing cucumber test for the above condition.
- Minor cucumber improvements.
- Updated the `tari-crypto` version number dependency.
@hansieodendaal hansieodendaal force-pushed the ho_chain_storage_err_after_reorg branch from 750573d to 68320ea Compare June 1, 2021 11:41
@stringhandler stringhandler merged commit 7e99ea5 into tari-project:tari-script Jun 1, 2021
@hansieodendaal hansieodendaal deleted the ho_chain_storage_err_after_reorg branch June 1, 2021 13:42
delta1 pushed a commit to delta1/tari that referenced this pull request Jul 6, 2021
Co-authored-by: Byron Hambly <bizzle@tari.com>
Co-authored-by: Cayle Sharrock <CjS77@users.noreply.github.com>
Co-authored-By: Hansie Odendaal <pluto@tari.com>
Co-authored-by: Martin Stefcek <35243812+Cifko@users.noreply.github.com>
Co-authored-by: Mike the Tike <mikethetike@tari.com>
Co-authored-by: Philip Robinson <simian@tari.com>
Co-authored-by: Stan Bondi <sdbondi@users.noreply.github.com>
Co-authored-By: SW van Heerden <swvheerden@gmail.com>

Squashed commit of the following:

commit b95d558f318d045da9e1172cb802555ae3eb5a47
Merge: 62a03237 862be046
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jul 6 18:18:48 2021 +0200

    fix: fix db update error (#3063)

commit 62a03237ee4c6103b468a07bbf97f665eb391b4a
Merge: 8ecbb1f2 e089af22
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jul 6 18:14:24 2021 +0200

    chore: update digest, rand and sha3 (#3059)

commit e089af2260b19fecc35c69fa053451f9bf649b80
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue Jul 6 14:28:27 2021 +0400

    [chore] Update digest, rand and sha3

    - Update crates `digest` `rand` and `sha3` to fix compilation errors
      (Ref https://github.com/tari-project/tari-crypto/pull/49)
    - NodeId::from_key is infallible
    - This in turn meant that NodeIdentity::new and NodeIdentity::randoma are infallible
    - This in turn meant that NodeIdentityError is unused, so it was removed
    - Remove multiple copies of the random string test utility (all of which
      needed `rand` crate updates) in favour of using the one provided in tari_test_utils

commit 862be046102266ec368c950e5a5736ac0df3f6e0
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue Jul 6 18:05:01 2021 +0200

    Fix db update error

commit 8ecbb1f231da38f2e838c8acc79165b5b0a27136
Merge: 868a064e 4a3d7ccf
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jul 6 17:47:04 2021 +0200

    feat: implement metadata comsig on txn output (#3057)

commit 4a3d7ccf239457762552f75d1b7604dee312b9bd
Author: Hansie Odendaal <pluto@tari.com>
Date:   Wed Jun 30 16:21:16 2021 +0200

    Implement metadata comsig on txn output

    - Implemented metadata comsig for the txn output
    - Created new faucet
    - Updated genesis block timestamp as this is a breakng change
    - Added unit test

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit 868a064e361f34028ee1b70e8a120ec99766b7a1
Merge: 6b6842fd 87c2ad4a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jul 6 11:39:53 2021 +0200

    tests: fix broken cucumber tests (#3058)

commit 87c2ad4abd081de5c96c0e8810ab5f51c323d5bd
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Tue Jul 6 11:32:57 2021 +0200

    fix broken cucumber tests

commit 6b6842fdf372607848e92ea3ea341f9d81d84259
Merge: cc225b83 63c0b6f5
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 16:52:42 2021 +0200

    chore: update example with new peer seeds for weatherwax (#3054)

commit cc225b83ccfc34480a6423cf211c14b7a7844659
Merge: cf33cdb5 88ce1d02
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 16:51:20 2021 +0200

    chore: merge development

commit cf33cdb5403736f67ea71f958e3ac06413c3f8e7
Merge: 742dd9e6 dd49c991
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 16:50:20 2021 +0200

    feat: software auto updates for base node (#3039)

commit 742dd9e6c9fc8c85bb6969e19489a4120d9cc9d1
Merge: 10ea7e38 ed70ecfc
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 16:49:14 2021 +0200

    feat: add zero conf tx (#3043)

commit 10ea7e387834edea1c8b65e7180c1493068fdab7
Merge: 4a1f74f3 9e614444
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 15:44:39 2021 +0200

    chore: update monerod stagenet url (#3050)

commit ed70ecfccb2a9407af35e17856987fdf40d9b05c
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Mon Jul 5 14:17:08 2021 +0200

    add zero conf tx

    Co-Authored-By: Hansie Odendaal <pluto@tari.com>
    Co-authored-by: Stan Bondi <sdbondi@users.noreply.github.com>

commit 63c0b6f53703561c131d36a819179127816a35e8
Author: Byron Hambly <bizzle@tari.com>
Date:   Mon Jul 5 11:13:08 2021 +0200

    [config] Update example with new peer seeds for weatherwax

commit 88ce1d02d005c69c8f1e296ac4fd511f81e6090c
Merge: 4a1f74f3 f512982a
Author: Byron Hambly <bizzle@tari.com>
Date:   Mon Jul 5 09:48:30 2021 +0200

    merge development into tari-script

commit dd49c991d06bcc578b2dbe0b180c262032a7e0e7
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Thu Jun 24 17:43:15 2021 +0400

    Software auto updates for base node

    Implements software updates for base node

    - Add general-purpose module for software update notifications,
      consisting of:
      - DNS Update checker - checks the configured hosts TXT record for software
        updates
      - Download SHA hash file (shasum) of the updates and validate that a
        known maintainer signed it (future improvements would require > 1 maintainer)
      - Actor/Service that periodically checks for updates and notifies any
        listeners, as well as providing a "handle" interface to the software
        updater.
    - Base node uses this module to implement `check-for-updates` command
      and to display update notifications.
    - Cucumber tests for valid and invalid update
    - Extracted the DNS code from peer seeds so that it can be used for
      reading TXT records here
    - Add autoupdate configuration

commit 4a1f74f34f9b312d3a3bbcdd0e97ab0ad47bfb9d
Merge: 347973e3 6d6a11bb
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 17:05:56 2021 +0200

    tests: fix wallet cucumber tests (#3049)

commit 347973e3e8fdd39bb74d978d14ff414c04a39212
Merge: 5116bdeb 65b91c08
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 17:03:33 2021 +0200

    fix: remove unimplemented Blake pow algo variant (#3047)

    BREAKING CHANGE!: This is a DB and network breaking change.

commit 5116bdebc5bf8d0a1b358a02a143b07df52026df
Merge: 2c9f6999 d76768d3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 17:00:52 2021 +0200

    refactor: clean up the db calls to make them safer (#3040)

commit d76768d3efb4b0147a6f3e1e03327397921131e5
Merge: e738b3b1 2c9f6999
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 17:00:33 2021 +0200

    Merge branch 'tari-script' into sw_refactorr_utxo_scanner_db

commit 2c9f69991f7cfcbda113a55ceeacdf2c13d90da3
Merge: bc98c322 89769b27
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 16:58:51 2021 +0200

    feat: network separation and protocol versioning implementation (#3030)

commit bc98c322b9580f644dc0147f66369388499abf0a
Merge: 9b281cec 85dea958
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 16:42:35 2021 +0200

    refactor: remove `height` field from outputs (#3027)

commit 65b91c08ce8e0e3b79a863612cdec37969442e33
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Thu Jul 1 16:15:56 2021 +0400

    [chore, testnet-reset] Remove unimplemented Blake pow algo variant

    Remove unimplemented PowAlgo::Blake variant.
    This is a DB and network breaking change.

commit 9e61444456c77e3fc1e7f531e46d1b5e21f53191
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri Jul 2 13:44:01 2021 +0200

    Update host header in proxied request

commit 89769b27e4a41dc27a3e2543479534ac851add61
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue Jun 22 17:30:32 2021 +0400

    Network separation and protocol versioning implementation

    - Changes `WireMode::Comms` variant to contain a single byte.
    - Allows the `WireMode::Comms` byte to be set from domain layer (tari_p2p).
    - [partially network breaking] Removes redundant network specifier from messaging
      protocol.
    - Removes DHT Network enum.
    - Updates Network configuration enum to be representable as a byte.
    - Network configuration enum is now the only Network specifier.
    - Changes consensus Network enum to a struct (NetworkConsensus) that wraps
      the common Network enum.
    - [network breaking] Use byte representation of multiaddr in identity
      message, rather than string. This reduces the bytes exchanged when
      establishing a new peer connection.
    - [network breaking] Shave a few bytes off of identity and messaging protocol IDs
      to match the format of other protocols.
    - [network breaking] Add major and minor versions to messaging protocol
    - [network breaking] Add major version check when establishing a
      connection
    - [network breaking] Remove NodeId from PeerIdentityMsg as this can be derived from the
      public key obtained from the noise handshake

commit 85dea958016bd383b2648aca907d490c5fe6b309
Author: Philip Robinson <simian@tari.com>
Date:   Fri Jul 2 11:32:46 2021 +0200

    Remove `height` field from outputs

    In the discussion around [RFC-0201](https://rfc.tari.com/RFC-0201_TariScript.html) it was decided that the `height` field is not actually required to prevent replay attacks with the introduction of TariScript. We rely on the enforcement of unique commitments in the mempool and blockchain to prevent this. As such this PR removes the height field from the TransactionInput and UnblindedOutput structs.

commit 38278f0bb416ca00398667c3443fee1bd892eb81
Author: Byron Hambly <bizzle@tari.com>
Date:   Thu Jul 1 20:30:08 2021 +0200

    [chore] update monerod stagenet url in readme

commit 1d4176cc72d319bbadb7788465e878e734354194
Author: Byron Hambly <bizzle@tari.com>
Date:   Thu Jul 1 20:29:26 2021 +0200

    [chore] update monerod stagenet url

commit 6d6a11bbe9c7c460eeed59b0f06d11984d4ec685
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Thu Jul 1 19:59:23 2021 +0400

    Fix wallet cucumber tests

    Output hash generation in `the UTXO {} has been mined according to {}`
    needed to be updated from https://github.com/tari-project/tari/pull/3041

commit 9b281cec339fea5cad48ca84cb5698302792373f
Merge: fb1a692a 2cd35c59
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jul 1 11:18:31 2021 +0200

    feat(wallet): add maturity to transaction detail (#3042)

commit 2cd35c593ba66ba4f3de1df06e7487d0844732bb
Author: Byron Hambly <bizzle@tari.com>
Date:   Tue Jun 29 13:29:45 2021 +0200

    [console-wallet] Add maturity to transaction detail

commit fb1a692aeb92af585a83b1c84948896db1cbcf1b
Merge: da1d7579 5c79bf25
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jul 1 09:37:36 2021 +0200

    refactor: remove type alias impl trait unstable feature requirement from DHT (#3037)

commit da1d75790fcb4eb9a71b7822c3ede3d9ba598241
Merge: ef94134b ec5390f7
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jul 1 09:31:25 2021 +0200

    fix: fix small issues related to #3020 (#3026)

commit ec5390f74656eecdc439c379e2faf8ea6a679964
Merge: ca897079 ef94134b
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jul 1 09:30:47 2021 +0200

    Merge branch 'tari-script' into ho_small_fixes

commit 5c79bf25eab08b762a16dbbf14011d350e6e4a69
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Sun Jun 27 12:36:26 2021 +0400

    Remove type alias impl trait unstable feature requirement from DHT

    Replaces the `type_alias_impl_trait` feature requirement with boxed
    Futures on all services. Removes/simplifies some redundant trait bounds.

    SAF handler task had to be implemented to be a less concurrent because
    of the additional trait bounds required for boxing.

commit ef94134b4f60af1b907ff7d220a7b3f1ac446ac0
Merge: f2239418 5f5a9c7c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 16:44:38 2021 +0200

    chore: fix build (#3044)

commit 5f5a9c7c5dc4bd8918ffe0800a914cdf2038f88f
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Wed Jun 30 16:18:33 2021 +0200

    fix build

commit f223941859903bdd3becd914ac84e630adb1e7c1
Merge: ae15fd9c 054b45aa
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:06:04 2021 +0200

    refactor: start refactoring `min_type_alias_impl_trait` to `async_trait` (#3034)

commit 054b45aa6314cd98e38997b67d7b973c89395761
Merge: cdb4f547 ae15fd9c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:05:46 2021 +0200

    Merge branch 'tari-script' into async-trait

commit ae15fd9c6203f8a6fe40be411fe3e4e590270ef7
Merge: 229830e5 91af2872
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:04:13 2021 +0200

    feat: add filtering of abandoned coinbase txs to console wallet (#3032)

commit 229830e595c6b3c97011547d18885e2c0a3e3f19
Merge: 574ff8bb b89a67db
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:03:12 2021 +0200

    fix: Update connectivity manager defaults (#3031)

commit 574ff8bb7357fc3a5edcb60c564af0a7e038f6a7
Merge: 0ffaedec 35b35333
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:01:24 2021 +0200

    docs: clarify Tari Script nomenclature (#3029)

commit 0ffaedec4683748e452cfdee20464022dfbd4367
Merge: 65552cbd b0b57612
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:00:17 2021 +0200

    tests: let the test pass if 1% of nodes will fail. The number of nodes that need to succeed is rounded down. Change from promise.all to a custom wait for N promises. (#3028)

commit 65552cbd7b826e76a63ca50e53c41e8986eb9860
Merge: adb4a640 59f9675c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 14:57:04 2021 +0200

    feat: add input_mr and witness_mr to header (#3041)

commit 59f9675c5f2bac76bd2c88151b44d2f9a761db3a
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue Jun 29 15:09:22 2021 +0400

    Add input_mr and witness_mr to header

    As per updated RFC 120 (ref #3025):

    - Add `input_mr` to header, commits to all inputs in a block
    - Add input merkle root validation check
    - Commit to all transaction input fields
    - Add `TransactionInput::output_hash` that produces the hash of the output
       that was spent in the input
    - Remove range proof MR in favour of witness MR
    - Witness MR commits to all rangeproofs and sender metadata
    - Add witness_hash function that produces `Hash(RangeProof || sender_metadata_signature)`
    - Updated weatherwax genesis timestamp because this change is a hard
      fork
    - Updated header format in proto messages (network breaking)
    - Commit to `input_mr` in sha3 and monero mining hashes
    - Add some missing fields (`output_mmr_size`, `kernel_mmr_size` and `total_script_offset`)
      to sha3 miner hash (w/ minor code clean up)

commit adb4a64000f991df06454e86c303728af881241d
Merge: 04f826db 57ce1ac8
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 14:48:36 2021 +0200

    feat: Change script_signature type to ComSig (#3016)

commit cdb4f54724d73dd3085ae81beffa4f29a8a27471
Author: Byron Hambly <bizzle@tari.com>
Date:   Wed Jun 30 14:47:03 2021 +0200

    [tests] Fix test compilation error

commit 57ce1ac8732efeadca52b0f58d3ec482be6b1863
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Fri Jun 25 18:21:12 2021 +0200

    Change script_signature type to ComSig

    Fix cucumber test for comsig
    fix spelling
    Co-Authored-By: Hansie Odendaal <pluto@tari.com>

commit b0b5761231cf3a8a34ed23bb256dfaef483e6eb8
Merge: 15b6d6c3 04f826db
Author: Martin Stefcek <35243812+Cifko@users.noreply.github.com>
Date:   Wed Jun 30 07:55:03 2021 +0200

    Merge branch 'tari-project:tari-script' into tari-script

commit e738b3b148f2e3de73bf7669806242457ff60291
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Tue Jun 29 07:51:18 2021 +0200

    clean up the db calls to make them safer

commit 04f826db140042248797e1377ee665b809146fe5
Merge: 4a499564 08dfc00c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jun 28 11:21:06 2021 +0200

    docs: update rfc to add witness_mr to header (#3025)

commit 08dfc00c4c8176d06b57eadb9d1992b47430c5d3
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Fri Jun 25 18:55:17 2021 +0200

    Add input_mr
    Change rangeproof_mr to be a witness_mr

commit f70d5ab83dd5224f4ab47f7dd77323a7f9e0c184
Author: Byron Hambly <bizzle@tari.com>
Date:   Thu Jun 24 18:58:22 2021 +0200

    [common] Start refactoring `min_type_alias_impl_trait` to `async_trait`

commit 4a499564d59162db25693f194f00eb4bd91f0700
Merge: ea15e9c1 cd0445fe
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 14:29:45 2021 +0200

    feat: update app state when base node is set by command/script mode (#3019)

    [console-wallet] Update app state when base node is set by command/script mode
    [console-wallet] Add command mode auto exit arg
    [console-wallet] Allow amount field to parse Tari

commit ea15e9c186f1ca09de5190a4de22e9e9c774ced1
Merge: 19ed0013 5d79c627
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 14:25:35 2021 +0200

    docs: add RFC-0173 - Versioning to the RFCs (#3013)

commit 19ed001335f23bbf10a28557a03037edc71beaea
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 12:14:50 2021 +0200

    chore: fmt

commit f8dae4dacb6ba0f1add9674d2d0f93c2538f359a
Merge: 05674a3d 6ab28f23
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 12:13:40 2021 +0200

    refactor: remove MemoryDBs from the wallet (#3017)

commit 6ab28f239cb4156ecf6f1424970647c288d6eff6
Merge: b5fef024 05674a3d
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 12:13:06 2021 +0200

    Merge branch 'tari-script' into philip-remove-memory-db

commit 91af2872dee0148647f1e22587a2cf64346a9248
Author: Philip Robinson <simian@tari.com>
Date:   Wed Jun 23 20:33:46 2021 +0200

    Add filtering of abandoned coinbase txs to console wallet

    This PR adds the ability to filter abandoned coinbase transactions in the completed transaction list of the console wallet. The filter is on by default and can be toggled with the A key. Transactions that have the Coinbase status and are also cancelled are filtered out and when displayed have the status of `Abandoned`.

    A TransactionFilter bitfield has been added to the AppState which currently only includes the AbandonedCoinbase flag but will allow for more filters to be added and combined. The filtering is done when the UI draw requests the vector of references to the current list of transactions. If no filter is applied the full vector of references is returned, otherwise a iterator filtered version is returned applying the conditions of the filter.

commit 15b6d6c3617f2cbfd2b6071ea8c161872cbcd585
Author: Cifko <gcifko@gmail.com>
Date:   Tue Jun 22 16:58:04 2021 +0200

    Let the test pass if 1% of nodes will fail. The number of nodes that need to succeed is rounded down.
    Change from promise.all to a custom wait for N promises.

commit 05674a3dd1590fe1c96b11e628bb1a5156f3932c
Merge: d2049ffe 1bc3efb3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 23 11:56:22 2021 +0200

    refactor: refactor utxo scanner class (#3005)

commit 1bc3efb3b69f233b29dc33b70bfba4d110d6275d
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Wed Jun 23 11:51:16 2021 +0200

    refactor utxo scanner class

commit 5d79c627e01645c64b98a44425934457745a0867
Author: Philip Robinson <simian@tari.com>
Date:   Wed Jun 23 10:42:24 2021 +0200

    Add RFC-0173 - Versioning to the RFCs

    This PR contains a new RFC with a proposal of how we will handle versioning of the wire format, P2P messaging and consensus rules on the Tari network.

commit b89a67db21cdac0a32f97ab44e82826e6ac65599
Author: Philip Robinson <simian@tari.com>
Date:   Wed Jun 23 10:16:33 2021 +0200

    Update connectivity manager defaults

    This PR tweaks the `offline_peer_cooldown` and `max_failures_mark_offline` default values to better cope with intermittent disconnections.

    `offline_peer_cooldown` is reduced from 24 hours to 2 hours so that the peer will become eligible for a reconnection in less time.

    `max_failures_mark_offline` is changed from 1 to 2 to allow for one more round of connection retries before giving up on the node until the above cool down expires.

commit 35b35333a9eec146a904c1c69ba33aa919bab2d1
Author: Hansie Odendaal <pluto@tari.com>
Date:   Mon Jun 21 17:56:07 2021 +0200

    Clarify Tari Script nomenclature

    Picked less confusing script related names and updated the glossary:
    - script offset               => script offset
    - script offset private key   => sender offset private key   [updated!]
    - script offset public key    => sender offset public key    [updated!]
    - script private key          => script private key
    - script public key           => script public key
    - script signature            => script signature
    - sender metadata signature   => sender metadata signature

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit a7601d4e5b2e9b2fc46df3c82b2939cff4da5360
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Tue Jun 22 15:31:46 2021 +0200

    update rfc to add witness_mr to header

    Co-Authored-By: Hansie Odendaal <pluto@tari.com>

commit ca897079678163df37682aedc9c8b329e5e0dfa9
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue Jun 22 11:38:18 2021 +0200

    Fix small issues related to #3020

    - As per reviewer comments

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit d2049ffec3000f01eb555042d24d55fab7818c6b
Merge: b3e3d38d b14f0342
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 22 11:33:11 2021 +0200

    docs: update RFC-0111 - Base Node architecture (#3014)

commit b3e3d38d2a742882e4e7fec7bad0a126efba5ab3
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 22 11:17:46 2021 +0200

    Review of RFC-0001 (#3007)

    * Review of RFC-0001

    This PR contains a revision of RFC-0001 to better reflect the current state of play in Tari’s design.

    * Update RFC/src/RFC-0001_overview.md

    Co-authored-by: Cayle Sharrock <CjS77@users.noreply.github.com>

    Co-authored-by: Mike the Tike <stringhandler@gmail.com>
    Co-authored-by: Cayle Sharrock <CjS77@users.noreply.github.com>

commit 7901b3ca2a6096e0f9148181b7a07ed16209d168
Merge: 4b4af991 f3d3c3af
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 22 10:56:35 2021 +0200

    feat: add sender signature to txn output (#3020)

commit f3d3c3af7eb9e247a8f0d01978cdfcebbbcacd35
Author: Hansie Odendaal <pluto@tari.com>
Date:   Fri Jun 11 16:01:58 2021 +0200

    Add sender signature to txn output

    - Added sender signature to the transaction output and unblinded output.
    - Added sender signature validation to the transaction consistency check.
    - Added unit test to verify sender signature.
    - Added sender signature to cucumber (transaction builder).
    - Simplified test code making use of unblinded outputs.
    - Updated genesis block time stamp due to breaking changes.

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit cd0445fe55951bf1ee006869bd5326d39dd35227
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri Jun 18 14:45:41 2021 +0200

    [console-wallet] Allow amount field to parse Tari

commit 3998844b5a7856c4528ad7378c17879c21a19669
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri Jun 18 14:10:23 2021 +0200

    [console-wallet] Add command mode auto exit arg

commit 754d71ab5d06bfc9a704e7a0530d5fe91fe5b620
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri Jun 18 11:00:31 2021 +0200

    [console-wallet] Update app state when base node is set by command/script mode

commit b5fef0244fbbf9fb5149ffd0e83911dc248ac460
Author: Philip Robinson <simian@tari.com>
Date:   Thu Jun 17 16:58:31 2021 +0200

    Remove MemoryDBs from the wallet

    In the past all the wallet services has a Sqlite and Memory based db backend to use in testing. However maintaining the memory DB’s became a chore.  This PR removes the Output Manager and Contacts Service memory databases and updates the tests that use those databases to use a temporary Sqlite database instead.

commit 4b4af99121be5b6f612b7d71bfeba8a8ff9490a8
Merge: b174390e 568788cf
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 16 11:19:22 2021 +0200

    test: fix integration tests (#3015)

commit 568788cf03a56c220b442352afc12857cbe273ed
Author: Byron Hambly <bizzle@tari.com>
Date:   Mon Jun 14 10:17:11 2021 +0200

    [tests] Fix integration tests

commit b14f0342006fc0788ef47ef5d32015a75761d4cd
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 15 16:01:29 2021 +0200

    Update RFC-0111 - Base Node architecture

    This PR updates RFC-0111 to reflect the current architecture of the Base Node binary.

commit b174390e1ac6f748cf64b1787f6648e5cc6b1fb0
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 15 12:00:56 2021 +0200

    Review of RFC-0100 (#3008)

    This PR contains a small update to RFC-0100 to reflect the current state of the project

commit 0bc81ef426cc7627cd6f0b759db26140cab0f3f0
Merge: b3522027 86374505
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 16:20:57 2021 +0200

    test: fix double spend test. (#3012)

commit 8637450511a5112594697626c7c0bef5bca612e5
Author: Cifko <gcifko@gmail.com>
Date:   Thu Jun 10 19:28:40 2021 +0200

    Fix double spend test.

commit b3522027b824dd8bb50a7183397adba082fdf28e
Merge: 537db06f 5b6d7c42
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 13:27:20 2021 +0200

    fix: check minimum number of headers for calc-timing (#3009)

commit 537db06f33c49942d42e83fd6838f4fd405028d0
Merge: b3760202 d7db26b3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 13:23:49 2021 +0200

    fix: fix `Unique Constraint` bug when requesting a coinbase output at same height (#3004)

commit b3760202992676b8874a155775472820e6a22932
Merge: ac062e57 f2876a13
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 12:14:26 2021 +0200

    feat: display local time instead of UTC. Add new wallet commands. (#2994)

commit ac062e57903d493e09bff0ccee36660f7c088782
Merge: c88d789e 635b1969
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 12:11:03 2021 +0200

    feat: mininal merkle proof for monero pow data (#2996)

commit c88d789e0e8ee2180279debb59f0d53e15db3b66
Merge: b19789d1 f972d837
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 11:28:08 2021 +0200

    feat: modify gamma calculation for TariScript

commit b19789d1607d8c104c3cc0c902a8af75724ef828
Merge: 330e7b7d c8491bdc
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 10:54:23 2021 +0200

    test: add logs to cucumber ci artefacts (#3011)

commit c8491bdc58b8e820abe07594bed03c7607db8632
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 09:37:48 2021 +0200

    add logs to cucumber ci artefacts

commit 635b196927b5f4baed035394468ce6cc03cf74c0
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Mon Jun 7 15:02:53 2021 +0400

    Mininal merkle proof for monero pow data

    - Adds a port of Monero's `tree_branch` that returns a merkle proof
    - Extensive unit tests for create_merkle_proof
    - Uses a merkle proof of the transaction hash set instead of the full
      transaction hash set.
    - Adds more extensive unit tests for tree_hash
    - tree_hash now has at worst one allocation
    - RandomX seed is represented in a fixed size array instead fo a
      unbounded String
    - Use monero's consensus de/encoding for MoneroPowData

commit 5b6d7c42fe6903c35ed26883ec6beffb24661ca7
Author: Byron Hambly <bizzle@tari.com>
Date:   Thu Jun 10 10:09:43 2021 +0200

    [base-node] Check minimum number of headers for calc-timing

commit d7db26b3f286b68a5e905d8e814cd18c0cf61552
Author: Philip Robinson <simian@tari.com>
Date:   Thu Jun 10 08:57:19 2021 +0200

    Fix `Unique Constraint` bug when requesting a coinbase output at same height

    If a miner requested a Coinbase Transaction at the same height as one that was requested previously and that output had the exact same commitment the Output Manager database would return a Unique Constraint error due to the existing output in the database. This would happen rarely when a miner is experiencing many reorgs while mining.

    To fix this issue logic is added to the Output Manager service to clear any existing coinbase outputs with the same commitment at the same block height as the one that was just requested before adding it to the database. I decided this presents no danger of losing funds because the newly added coinbase will have the exact same commitment as the one being removed.

commit f2876a132ff6551f67c89b166561e616bbb9c110
Author: Byron Hambly <bizzle@tari.com>
Date:   Tue Jun 8 13:40:05 2021 +0200

    [ui] Display local time instead of UTC. Add new wallet commands.

    - [base-node] Use local time in status line
    - [base-node] Show version number in status line
    - [console-wallet] Use local time in transaction list and detail view
    - [console-wallet] Add `set-base-node` command
    - [console-wallet] Add `set-custom-base-node` command
    - [console-wallet] Add `clear-custom-base-node` command

commit f972d8376c5fe88a73769e4132c95fa92c0920dc
Author: Hansie Odendaal <pluto@tari.com>
Date:   Thu Jun 3 15:12:11 2021 +0200

    Modify gamma calculation for Tari script

    - Modified gamma calculation for Tari script according to the latest
      RFC-0201.
    - Fixed private keys re-use issue in `transactions/helpers.rs fn craete_tx`.
    - Clarified use of test params in `transactions/helpers.rs fn spend_utxos`.
    - Ensured `consensus_validation_large_tx` will fail if the txn internal
      consistency is not ok (gamma is calculated here as well).

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit 330e7b7d51e4ab8af50b8bbf12a8487ece23a07f
Merge: 70c21294 a6835585
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 16:17:17 2021 +0200

    test: fix reorg difficulty unit tests (#2995)

commit 70c21294fa87da8198e8b79f8b49d61bd6bee721
Merge: a2c6b17d c601199a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 15:01:53 2021 +0200

    feat(wallet): ensure recovery will not overwrite existing wallet (#2992)

commit a2c6b17de6fd8ac14a5379b0c44d34c1e1e71e2d
Merge: 472c3086 98dfed73
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 14:28:40 2021 +0200

    feat(ffi): `wallet_create` takes seed words for recovery (#2986)

    BREAKING CHANGE: FFI function wallet_create now takes an optional seed words
    arg, if provided this sets the wallet master recovery key from which the comms
    public key and spending keys are derived from

commit 472c30865cfa5a3cc648bffe22f6ec6e7aa22572
Merge: 5174de0d 4626c4cb
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 14:25:52 2021 +0200

    fix: cancel faux transaction when imported UTXO is invalidated (#2984)

commit 5174de0d562b3ff444bceebeacbf3917b74dce85
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Wed Jun 9 13:52:04 2021 +0200

    feat: Fix birthday attack vulnerability in tari script offset (#2956)

    Co-Authored-By: Hansie Odendaal <pluto@tari.com>
    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit 4626c4cbb7af9a3a285a5af4598af03b015cdeb9
Author: Philip Robinson <simian@tari.com>
Date:   Wed Jun 9 12:39:10 2021 +0200

    Cancel faux transaction when imported UTXO is invalidated

    When a UTXO is imported into the wallet a faux transaction is added to the transaction service to represent the event that impacted the wallets balance. If the imported output turns out to be invalid, i.e. it was an already spent output or it was an orphan output then the output validation will invalidate it. However, the faux transaction would not be invalidated and would still appear in wallet transaction lists. This was found to be confusing. So this PR links the imported output to the faux transaction and if the output is invalidated the transaction is invalidated.

    Cucumber tests are added to test this functionality.

commit 98dfed73a4ae6660fbe3c5e7420ea3e06e8f3fec
Author: Byron Hambly <bizzle@tari.com>
Date:   Tue Jun 1 11:59:32 2021 +0200

    [wallet-ffi] `wallet_create` takes seed words for recovery

    Breaking change in wallet FFI, new argument in `wallet_create` to
    specify optional seed words for recovery.

    Also starts alpha quality NodeJS FFI wallet client for testing purposes.

commit c9fdeb3da90a297a75a53ddbea6823f3e6520b8d
Merge: ded45e9e 97e128b3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 09:49:19 2021 +0200

    fix(wallet): increment wallet key manager index during recovery (#2973)

commit 97e128b3bd869e0bc28c41f973d22d7977a0d046
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 8 15:05:35 2021 +0200

    Increment wallet key manager index during recovery

    Currently, when recovery is performed the key manager index is not incremented as outputs are found. This means that when new transactions are performed the key manager produces previously used spending keys for the new outputs, reusing private keys. We also did not apply the correct script private key to the recovered output. This wasn’t a problem because we are using `Nop` scripts but for any script that requires this key to be correct we would have had a problem.

    This PR adds the logic that when an output is rewound during recovery that we find the key manager index for the recovered spending key, update the key manager index to one more than the highest index found during recovery and also use this index to apply the correct script private key to the recovered output.

    This PR also contains a but of neatness refactoring in the Output Manager Service.

commit a6835585f9ee3361e53fd4ba4f47c1e0a652ceb6
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 8 14:21:37 2021 +0200

    Fix reorg difficulty unit tests

    The changes in PR 2960 changed the LWMA difficulty calculation to be integer based. This changed the nature of the calculation for small values. The two broken tests affected by this change were:
    `test_handle_possible_reorg_target_difficulty_is_correct_case_1`
    `test_handle_possible_reorg_target_difficulty_is_correct_case_2`

    These tests relied on assumptions about the difficulty calculated by LWMA based on the block times specified in the tests. Just updating the test to use much higher difficulties would have meant the change to integer math would not have had such a breaking effect but the way the unit tests have to mine for new hashes based on the difficulties meant that the difficulties needed to be kept as low as possible.

    This PR tweaks the block times in these tests in order to produce varying difficulties but keeping them low enough for the unit test environment.

commit ded45e9e8e1eb309cf84efc186eb0904fa1ea8a4
Merge: b520037e 39a56fd0
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jun 7 11:21:34 2021 +0200

    chore: Update wallet-grpc-client to use https instedad of git for npm ci to work (#2976)

commit 39a56fd0e59fd4bc138229cc36f94a5507dad577
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri May 28 14:53:41 2021 +0200

    [ci] Update wallet-grpc-client to use https instedad of git for npm ci to work

commit c601199a910bcf540f41336db431aef069e41eb2
Author: Byron Hambly <bizzle@tari.com>
Date:   Sun Jun 6 20:43:18 2021 +0200

    [wallet] Ensure recovery will not overwrite existing wallet

commit b520037e4e054b27eb65b004a0e52d87d2c64086
Merge: 7172a021 1af7a759
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 4 11:37:37 2021 +0200

    feat!: remove beta from range-proof calculation (#i2987)

    BREAKING CHANGE: Nodes will need to resync from scratch

    Co-Authored-By: Hansie Odendaal <pluto@tari.com>

commit 7172a021f8ae8c500ce59b5514667f2be6d241d4
Merge: f45cdc46 5218365b
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 4 11:31:47 2021 +0200

    test: add cucumber test to verify hybrid mined coinbases (#2977)

commit f45cdc46f8485ea8978dd05edafa26d374c98fdc
Merge: f7dc3a44 5c13deb3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 4 11:05:50 2021 +0200

    fix: update console wallet on one sided payment import (#2983)

commit f7dc3a44d2f57102024605cc6f4c93bb326b292a
Merge: b6e74bbd 6204d5d2
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 4 09:57:19 2021 +0200

    fix: fix prune mode (#2952)

commit 1af7a759461e609bfda4da43a82846039e14b983
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Thu Jun 3 15:29:04 2021 +0200

    remove beta-hash

    fix cucumber tests

commit 5218365b831b662ee80cc53418aa63ad66d6785d
Author: Hansie Odendaal <pluto@tari.com>
Date:   Wed May 26 18:50:35 2021 +0200

    Add cucumber test to verify hybrid mined coinbases

    - Added cucumber test as above
    - Added cucumber methods to do hybrid mining till specified blockchain height
    - Updated the mining node to accept a new `--mine-till-height`command line parameter
    - Fixed mining node to acknowledge environment variables for `num_mining_threads` and
      `validate_tip_timeout_sec`; this only worked via the config file
    - Added number of mining threads for the SHA3 mining node to use as an option
    - Cleaned up the `log4rs_sample_mining_node.yml` config file
    - Added custom `mining_node.yml` as an input file for cucumber tests
    - Fixed flaky test `tx_broadcast_protocol_submit_mined_then_not_mined_resubmit_success`

commit 5c13deb3baf80f9e0a599a060acef44863895e3d
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 20:03:55 2021 +0200

    Update console wallet on one sided payment import

commit 6204d5d28a88fb631980e94e3926df34f9ae951c
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Thu May 20 23:01:41 2021 +0200

    fix prune mode

    fix fmt

commit b6e74bbdd2e7886044ca8f6aa2707f1b0131680a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 15:19:12 2021 +0200

    test:fix nop script name

commit 5dab4de212b86fe09c602e1c4baf9dc30b9c27be
Merge: 7e99ea59 f7cb03a0
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 15:14:37 2021 +0200

    test: fix cucumber error introduced by full script in transaction output (#2979)

commit f7cb03a04dd6148834b7788d3a16cc327415ed97
Merge: 61233b0f 7e99ea59
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 15:14:12 2021 +0200

    Merge branch 'tari-script' into philip-cucumber-full-script-fix

commit 7e99ea59ec11f19ba47e62729c3ee8b500d16c2e
Merge: a14599e2 68320ea4
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 13:49:48 2021 +0200

    fix: fix ChainStorageError after a reorg with new block (#2915)

commit 68320ea4d8979cedd6399b55c30e5a82ec774c30
Author: Hansie Odendaal <pluto@tari.com>
Date:   Thu May 20 15:02:11 2021 +0200

    Fix ChainStorageError after a reorg with new block

    - Fixed a ChainStorageError that occurs due to invalid transactions remaining in
    the mempool when the 1st block is requested for mining via GRPC directly after
    a chain reorg.
    - Added a failing cucumber test for the above condition.
    - Minor cucumber improvements.
    - Updated the `tari-crypto` version number dependency.

commit 61233b0fdd8c75a7f5c5f58f2c3eeec23905cfed
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 1 12:00:44 2021 +0200

    Fix cucumber error introduced by full script in transaction output

    This PR updates the transaction builder in the Cucumber helpers to calculate the Beta hash and the Transaction Output hash correctly now that the whole script is included in the output.

    Implement including full script in transaction outputs

commit a14599e254802d9f168940e62a4a5fe6091a5ae4
Merge: e04c884e 1bcbfc01
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 10:46:32 2021 +0200

    test: make pruned mode cucumber reorg tests predictable (#2969)

commit e04c884eb4c7aaf124fa5da5d80ecfc4b00817e1
Merge: db303e8c 786f404c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 10:40:42 2021 +0200

    fix: improve error messages in tari applications (#2951)

commit db303e8ca9632c6a6634e52cbfb6a79cd3e43a29
Merge: 5901be8d 6693019b
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 10:29:41 2021 +0200

    feat: improve LWMA (#2960)

commit 786f404cb07bd83763253aa4cf57af8c47512c19
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Thu May 20 23:06:23 2021 +0200

    update error messages

commit 5901be8d2a5256a7a77323840e350b912163e073
Merge: 94ffd185 eeb8acbf
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 31 15:15:55 2021 +0200

    refactor!: including full script in transaction outputs (#2978)

    @Co-Authored-By: Philip Robinson <philip.robinson.za@gmail.com>

commit eeb8acbfe938ab5e53cb2ed82ee6ca805f846c8c
Author: Philip Robinson <simian@tari.com>
Date:   Mon May 31 15:04:23 2021 +0200

    Implement including full script in transaction outputs

    This PR replaces the script hash in a transaction output with a full script. This has been done to make on-chain script detection and analysis possible. This makes features like detecting your own scripts based on included pubkeys during a seed phrase recovery possible.

    This PR updates the TransactionOutput struct to hold a script and not script hash and updates the code base to reflect this change.

    RFC-201 is updated to reflect the change to the calculation of Beta

commit 1bcbfc01bcb3c42d9577771bd81325218f96fd9a
Author: Hansie Odendaal <pluto@tari.com>
Date:   Wed May 26 10:07:32 2021 +0200

    Make pruned mode cucumber reorg tests predictable

    - Ensured the different chains that are constructed have predictable
      accumulated difficulties for tests `Pruned mode reorg simple` and
      `Pruned mode reorg past horizon`.
    - Marked the 10,000 case `Ramped Stress Test` stress test as `@broken`.
    - Updated the `tari-crypto` package version.

commit 6693019b81fefc8d4730ebac16beb4e21bbec70c
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Thu May 20 14:42:16 2021 +0200

    Improve LWMA to be more stable

    overflow test

    review comments about u128 declarations

    remove extra cast

commit 94ffd185ff4ee9ce5575f28ae28e73464342b657
Merge: b55d99fe 89ceb418
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 28 12:21:58 2021 +0200

    fix: merge dev, update peer seeds (#2974)

commit 89ceb418599851f555d992f55ef09f10e9b009e2
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri May 28 11:05:26 2021 +0200

    [base-node] update peer seeds temporarily for tari-script branch

commit 76c787a46b42927d77eadc6962f667f6ef3e8986
Merge: b55d99fe bef1829b
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri May 28 10:28:44 2021 +0200

    Merge remote-tracking branch 'tari/development' into merge

commit b55d99fe3b08b34485bf1a9429cfad32a3fac84f
Merge: 83eca218 be6f3c5b
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed May 26 16:25:11 2021 +0200

    fix: implement cucumber tests for one-sided recovery and scanning (#2955)

commit be6f3c5b8d0844c13a993e0b72742b9b838a52cf
Author: Mike the Tike <stringhandler@gmail.com>
Date:   Wed May 26 16:23:06 2021 +0200

    Apply suggestions from code review

    Co-authored-by: Hansie Odendaal <39146854+hansieodendaal@users.noreply.github.com>

commit 2a48e2167e6e4265eece11572ae0c03ecc438f96
Author: Philip Robinson <simian@tari.com>
Date:   Wed May 26 15:06:49 2021 +0200

    Implement cucumber tests for one-sided recovery and scanning

    This PR implements cucumber tests for recovering one-sided payments, scanning for them under normal wallet operation and also adds to the existing standard recovery test to spend the output after it has been recovered which revealed a few bugs. The PR also contains a number of bug fixes to make these tests possible.

    - Console wallet will not enter TUI mode after recovery if its started in daemon mode, this crashes cucumber
    - Persist “Known one-sided scripts” when a Comms Private/Public key is derived to be scanned for
    - Fix the UTXO scanner when started as a service.
    - Add Cucumber helpers to support the tests.

commit 83eca2182a32f0043ea85e7a6f1520c218c5a811
Merge: 812a1611 79271a84
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 25 15:35:56 2021 +0200

    test: fix cucumber tests on `tari-script` branch (#2968)

commit 79271a84a7e02cb68475ee5d9cb12abe3d43324f
Author: Hansie Odendaal <pluto@tari.com>
Date:   Thu May 20 15:02:11 2021 +0200

    Fix cucumber tests on `tari-script` branch

    - Fixed cucumber tests on `tari-script` branch after merging `development`
    into `tari-script`.
    - Fixed a number of flaky tests.

commit 812a1611a924b977a79bd5e7fe16eb986649adce
Merge: ed17fee3 c4767501
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 25 12:43:55 2021 +0200

    fix: update rust nightly toolchain (#2957)

    Update rust nightly toolchain

commit ed17fee3e34d3985794af621ba131e066849abec
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 15:12:44 2021 +0200

    fix: Update failing rust tests (#2961)

commit 19a1bd660bc36eea91c3936e464e57d582d1bcff
Merge: 92e9a2e5 c4c28b9c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 14:39:06 2021 +0200

    chore: Fix clippy warnings in tests (#2965)

commit c4c28b9c479fba859e4d94212e7e88d4d0f5d544
Author: Hansie Odendaal <pluto@tari.com>
Date:   Fri May 21 14:13:04 2021 +0200

    Fix clippy warnings in tests

commit 92e9a2e5918a590f68293f2ea0f950e724f1925a
Merge: 05e34edc 90706bd3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 14:10:32 2021 +0200

    Merge #2899: [tests] update flaky unit tests

    update flaky unit tests

commit 05e34edc7c1cdb893af454c886fc5904d42016a7
Merge: e6267851 5ae2b4db
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 14:03:05 2021 +0200

    Merge #2964: [chore] Merge dev v0.8.11 into tari-script

    [MMProxy] Connection Limiting
    Fix target difficulty
    v0.8.11 Changes since v0.8.10
    Merge dev

commit 5ae2b4dbfaafdc966d0e7c4616b50b52d1a44535
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 13:46:36 2021 +0200

    Merge dev

commit a92882d6f69a556196d3f77713f87b5825a55936
Merge: e6267851 e64b1ffc
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 12:19:27 2021 +0200

    Merge branch 'development' into tari-script

    # Conflicts:
    #	Cargo.lock
    #	applications/tari_app_utilities/Cargo.toml
    #	applications/tari_base_node/src/recovery.rs
    #	applications/tari_merge_mining_proxy/src/main.rs
    #	applications/tari_merge_mining_proxy/src/test.rs
    #	base_layer/core/src/base_node/comms_interface/inbound_handlers.rs
    #	base_layer/core/src/chain_storage/blockchain_database.rs
    #	base_layer/core/src/test_helpers/blockchain.rs
    #	base_layer/core/src/test_helpers/mod.rs
    #	base_layer/core/src/validation/header_validator.rs
    #	base_layer/core/tests/block_validation.rs
    #	base_layer/core/tests/helpers/block_builders.rs

commit 90706bd3fb7997a580fe5357655a2455bc30f197
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Fri May 7 12:57:14 2021 +0200

    update flaky unit tests

    Add tx event to help with awaits

commit c47675017abf2a7f55e7c361db221a7b4ebfef38
Author: Hansie Odendaal <pluto@tari.com>
Date:   Thu May 20 08:57:37 2021 +0200

    Update rust nightly toolchain

commit e6267851f2cb97d33fbcdaf5823671590e512aa8
Merge: 266ad172 af32d49f
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 18 15:02:19 2021 +0200

    Merge #2916: [common] Merge dev into tari-script

    Add clippy warnings for cognitive complexity
    libwallet-0.16.27
    Fix re-org test
    [base-node] Optimise pruned UTXO sync streaming protocol
    [Wallet] Add mined height to display of mined transactions in Console Wallet
    clarify one sided payment
    [base-node] Fixes and tidies up prune mode cleanup
    update tests to use sha3
    add note
    Add option to write unblinded UTXOs to CSV file
    fmt
    Test to reproduce target difficulty problem
    fix case of cucumber
    Insert pruned output audit
    Fix incorrect boolean condition
    v0.8.9
    Fix potential overflow and improve performance of n_leaves
    Add transaction washer util script
    [base-node] Refactor chain storage and rule out some target diff bugs
    [wallet] Update connectivity status when base node changes
    Emission math audit
    Consolidate config files into one
    [wallet] Fixes possible duration overflow in crossterm loop
    fix wallet recovery of coinbase
    Fix cucumber test
    Update Base Node Service monitor to shutdown correctly
    [tests] eslint config and husky pre-commit hook
    v0.8.10
    Let wallet display pretty error for tor offline
    Re-implemented methods for block explorer
    [tests] Repair some integration tests
    Verified massive multiple reorg cucumber
    Bump timeouts
    Remove unused search stxo
    Remove unused search stxo
    Fix tests and add results to CI
    Fix compiler warnings
    Merge Dev into TariScript
    Merge Dev into TariScript
    Fix clippy

commit af32d49ff74411ec53508a8ee98db59dc0491c6a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 18 11:56:29 2021 +0200

    Fix clippy

commit b81ea4173daa3412a61d6993ca1996c299e230aa
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 17 20:16:42 2021 +0200

    Merge Dev into TariScript

commit eb4bac6bae83cfc622e39921a7aa98f2a68a6299
Merge: f30608a9 266ad172
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 17 19:44:09 2021 +0200

    Merge branch 'tari-script' into mb-fix-tari-script-branch

    # Conflicts:
    #	base_layer/wallet/src/transaction_service/service.rs
    #	base_layer/wallet/src/wallet.rs
    #	base_layer/wallet/tests/wallet/mod.rs
    #	base_layer/wallet_ffi/src/lib.rs

commit 266ad172eb03cff4a83754f5d96bc4fd444dee2d
Merge: be04658c 47fe06d2
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 17 16:54:27 2021 +0200

    Merge #2901:[wallet] Update and fix import utxo functions

    Import utxo fn use defaults down the line, this will cause any UTXO that's
    inserted into the wallet to be invalidated due to mismatched scripts, features,
    etc.

    Requires #2872

commit 47fe06d25487550ba117d36766faf4f8d7dd6f29
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Mon May 17 15:20:33 2021 +0200

    rename to maturity

commit 556694705773f814594c67427d461b17c3e59efa
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Mon May 17 15:14:59 2021 +0200

    Update and fix Import utxo functions

    code review

commit f30608a9562295f9d5bcecdd5dab539ea0639851
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 14 15:25:22 2021 +0200

    Merge Dev into TariScript

commit b48c18ce68d06cb889df674a69ffc8038299e412
Merge: 6c8b7a3a f27cc244
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 14 12:26:59 2021 +0200

    Merge branch 'development' into mb-fix-tari-script-branch

    # Conflicts:
    #	Cargo.lock
    #	RFC/src/RFC-0201_TariScript.md
    #	applications/tari_app_grpc/Cargo.toml
    #	applications/tari_app_utilities/Cargo.toml
    #	applications/tari_base_node/Cargo.toml
    #	applications/tari_base_node/src/command_handler.rs
    #	applications/tari_console_wallet/Cargo.toml
    #	applications/tari_console_wallet/src/automation/commands.rs
    #	applications/tari_console_wallet/src/main.rs
    #	applications/tari_console_wallet/src/ui/components/send_tab.rs
    #	applications/tari_console_wallet/src/wallet_modes.rs
    #	applications/tari_merge_mining_proxy/Cargo.toml
    #	applications/tari_mining_node/Cargo.toml
    #	applications/test_faucet/Cargo.toml
    #	base_layer/common_types/Cargo.toml
    #	base_layer/core/Cargo.toml
    #	base_layer/core/src/base_node/comms_interface/local_interface.rs
    #	base_layer/core/src/base_node/state_machine_service/states/horizon_state_sync/horizon_state_synchronization.rs
    #	base_layer/core/src/base_node/sync/rpc/service.rs
    #	base_layer/core/src/blocks/genesis_block.rs
    #	base_layer/core/src/chain_storage/accumulated_data.rs
    #	base_layer/core/src/chain_storage/block_add_result.rs
    #	base_layer/core/src/chain_storage/blockchain_database.rs
    #	base_layer/core/src/chain_storage/historical_block.rs
    #	base_layer/core/src/chain_storage/lmdb_db/lmdb_db.rs
    #	base_layer/core/src/consensus/consensus_manager.rs
    #	base_layer/core/src/consensus/emission.rs
    #	base_layer/core/src/lib.rs
    #	base_layer/core/src/mempool/service/inbound_handlers.rs
    #	base_layer/core/src/test_helpers/blockchain.rs
    #	base_layer/core/src/test_helpers/mod.rs
    #	base_layer/core/src/validation/header_validator.rs
    #	base_layer/core/src/validation/helpers.rs
    #	base_layer/core/src/validation/mocks.rs
    #	base_layer/core/tests/chain_storage_tests/chain_storage.rs
    #	base_layer/core/tests/helpers/block_builders.rs
    #	base_layer/key_manager/Cargo.toml
    #	base_layer/mmr/Cargo.toml
    #	base_layer/p2p/Cargo.toml
    #	base_layer/service_framework/Cargo.toml
    #	base_layer/wallet/Cargo.toml
    #	base_layer/wallet/src/base_node_service/service.rs
    #	base_layer/wallet/src/output_manager_service/service.rs
    #	base_layer/wallet/src/storage/sqlite_db.rs
    #	base_layer/wallet/src/tasks/wallet_recovery.rs
    #	base_layer/wallet/src/transaction_service/service.rs
    #	base_layer/wallet/src/transaction_service/storage/database.rs
    #	base_layer/wallet/src/transaction_service/storage/sqlite_db.rs
    #	base_layer/wallet/src/wallet.rs
    #	base_layer/wallet/tests/wallet/mod.rs
    #	base_layer/wallet_ffi/src/lib.rs
    #	common/Cargo.toml
    #	common/config/presets/tari_config_example.toml
    #	comms/Cargo.toml
    #	comms/dht/Cargo.toml
    #	comms/rpc_macros/Cargo.toml
    #	infrastructure/derive/Cargo.toml
    #	infrastructure/shutdown/Cargo.toml
    #	infrastructure/storage/Cargo.toml
    #	infrastructure/test_utils/Cargo.toml
    #	integration_tests/features/Reorgs.feature
    #	integration_tests/features/WalletTransfer.feature
    #	integration_tests/features/support/steps.js
    #	integration_tests/helpers/transactionBuilder.js
    #	integration_tests/helpers/util.js
    #	integration_tests/package-lock.json

commit 6c8b7a3a68bbdceef9dc947336186d77aaa94e47
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 14 11:43:31 2021 +0200

    Fix compiler warnings

commit be04658c366d8975f6ac73eb1b39060d9d8b519d
Merge: 770feb2b 069be999
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 14 10:31:54 2021 +0200

    Merge #2897: [common] Replace custom ChaCha20 cipher

    Replace custom ChaCha20 cipher with RustCrypto ChaCha20 implementation Fuzzing
    revealed that the custom ChaCha20 implementation in tari_utilities was not
    correct so this PR migrates the DHT encryption to use the audited RustCrypto
    ChaCha20 encryption.

    Had to bump the toolchain version for this update so updated to the most
    current version of nightly. The only update needed was adding a new feature
    flag #![feature(min_type_alias_impl_trait)] which is a new flag for the same
    issue we already use (i.e. #![feature(type_alias_impl_trait)])

    The new nightly toolchain contained an update to the linting used by rustfmt so
    I have included a second commit that is just new formatting to make this easier
    to review.

commit 069be9994cd82d827ac14171344a04ab704bf91b
Author: Philip Robinson <simian@tari.com>
Date:   Fri May 14 09:39:01 2021 +0200

    Replace custom ChaCha20 cipher with RustCrypto ChaCha20 implementation

    Fuzzing revealed that the custom ChaCha20 implementation in `tari_utilities` was not correct so this PR migrates the DHT encryption to use the audited RustCrypto ChaCha20 encryption.

    Had to bump the toolchain version for this update so updated to the most current version of nightly. The only update needed was adding a new feature flag #![feature(min_type_alias_impl_trait)] which is a new flag for the same issue we already use (i.e. #![feature(type_alias_impl_trait)])

commit 770feb2b142cf4e20ae07e2e874dcb9c9695b270
Merge: 2dd0fc2c 270d9b5e
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed May 12 18:40:13 2021 +0200

    Merge #2913: [ci] Switch to ssh urls for tari-crypto dep

    For whatever reason circle ci was failing to checkout the tari-crypto git repo,
    switching these urls to use the ssh:// version is working

commit 270d9b5eea2a017f0a9aac95cc10c82ba5668c93
Author: Byron Hambly <bizzle@tari.com>
Date:   Tue May 11 19:42:35 2021 +0200

    [ci] Switch to ssh urls for tari-crypto dep

commit 2dd0fc2c327f1f3fcb82fddd7a4f90828e5a3ef3
Merge: 3077769d 6f8cb87f
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 18:31:35 2021 +0200

    Merge #2908: [base-node] Fix `header-stats` command

    Tari-script network reset omitted changing this stibbons reference.

commit 3077769d63919b1abed6f613412c7c6e0448fc56
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 18:14:55 2021 +0200

    fmt and clippy

commit 4d72659561777098e3b28bc5c05915f07105670f
Merge: 2999cb93 223f006c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 18:01:30 2021 +0200

    Merge #2910: [chore] Fix build error in console wallet

    Fix build error in console wallet

commit 223f006c96a31d8a7f9806e69e89faec5cf0b32a
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue May 11 19:56:06 2021 +0400

    Fix build error in console wallet

commit 2999cb93ca8698087003a05cf3f66695055048ef
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 17:28:07 2021 +0200

    Fix compile error

commit 23024d0fdb0b273ea834895b9662c7d616a30f0a
Merge: 89bf622a ad65bb2d
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 17:02:48 2021 +0200

    Merge #2894: [wallet] Derive Comms Secret Key from the Master Seed key

    This PR implements the derivation of the Comms private key in the wallet from
    the Master Seed Key that is used as the seed for the key managers used for the
    UTXO’s on the wall.

    Previously the Comms Secret Key was generated by the client applications and it
    was stored in the Wallet Database. This key was also used to determine if the
    database was encrypted and if the provided passphrase is correct or not by
    storing the public key in the database and seeing if the stored private key
    corresponds to the permitted public key after decryption.

    This PR removes the Comms Secret and Public keys from the wallet database and
    replaces them with the Master Seed Key which becomes the single secret key from
    which the Comms Secret Key, UTXO Spending Keys and Rewind keys are derived. The
    Comms Secret key is now derived when the wallet is started based on the
    persisted Master Secret Key. On the first run the wallet will generate the
    Master Secret Key and store it. The Output Manager Service used to generate and
    store this key but now it will accept it from the Wallet and use it to
    initialise its Key Managers.

    The Console Wallet and Wallet FFI is updated to account for this change.

commit ad65bb2d7aeb5cf4b73139af9dc9ccdc7164f83c
Merge: 84e2f08a 89bf622a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 17:02:12 2021 +0200

    Merge branch 'tari-script' into philip-derive-comms-private-key

commit 6f8cb87fef2b864403174f8cf02370c66cfffebf
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue May 11 16:43:58 2021 +0200

    Fix `header-stats` command

    Tari-script network reset omitted changing this stibbons reference.

commit 89bf622aecf87bb5df244b0e6a57f28f4970b7a1
Merge: b6ba3133 21537dca
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 15:11:45 2021 +0200

    Merge #2890: [common] Consolidate config files into one

    Consolidate config files into one

commit b6ba31339d3b2ac974488d0ee4285eebd831b8ab
Merge: 94344960 19bdbf62
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 15:08:43 2021 +0200

    Merge #2895: [docs] Add Bulletproofs Rewinding RFC

    Add Bulletproofs Rewinding RFC

commit 943449609e24301b1634fb1da11295f7734b20c2
Merge: ecac873a ba40a311
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 15:03:27 2021 +0200

    Merge #2906: [tests] Verified massive multiple reorg cucumber (#2906)

    Verified massive multiple reorg cucumber

commit 21537dcae4be61db0e2cd9d6ee682c5de156d3d3
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue May 4 14:38:54 2021 +0200

    Consolidate config files into one

    - Consolidated all the three configuration files that were
      in the code base into one file, usable by all operating
      systems.
    - Removed some deprecated entries in the config file.
    - Updated the installation files/installers to use the new
      config file.
    - Clippy fixes.

commit ecac873a86c75e7d60d1a499e5081b52e6b6705d
Merge: 42220c34 4e5b3e04
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 10 13:45:47 2021 +0200

    Merge #2889: [common] Adds version and commmit string to all application logs (#2889)

    Adds version and commmit string to all application logs

commit 4e5b3e040133db75c4d9f7678702ad6f328a168b
Merge: 09db76fe 42220c34
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 10 13:45:27 2021 +0200

    Merge branch 'tari-script' into general-app-version-in-logs

commit 42220c34cdb596a4040179f5efc1749559a3dca2
Merge: b2020dce 8c3d10d2
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 10 13:39:42 2021 +0200

    Merge #2886: [common] Remove "end of time" panic in emission (#2886)

    Remove "end of time" panic in emission

commit b2020dce319f6edc7bbae1b350ac1c59ce1ca391
Merge: 610b3159 c8b66ad7
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 10 12:00:20 2021 +0200

    Merge #2872: [wallet] Add one sided payment scanning and recovering

    Add one sided payment scanning and recovering

commit ba40a3113bcf374f105982b45eb50844f25dbde3
Author: Hansie Odendaal <pluto@tari.com>
Date:   Sun May 9 12:45:37 2021 +0200

    Verified massive multiple reorg cucumber

commit 84e2f08a96ad68cc8578a32cd4c08f393b1fa8d0
Author: Philip Robinson <simian@tari.com>
Date:   Fri May 7 14:19:27 2021 +0200

    FFI method removal and Test Fixes

    Second commit contains a number of test fixes and some updates based on feedback from @kukabi about how the clients managed the Comms Secret Key. Because this is now completely handled in the backed we can remove the `comms_config_set_secret_key` function. It was also confirmed that the backend is fully responsible for managing the TorID so the old code that provided some migration support for the client to manage the TorID in the past has been removed.

commit 610b3159fb09ca5fd88177a25c777880335de0a2
Merge: c3daa5aa 5c418649
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 7 11:25:45 2021 +0200

    Merge #2887: [common] New gen block for tari_script

    New gen block for tari_script

commit 19bdbf62ef9e1ae094c50341a86935be548dd449
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue May 4 17:31:58 2021 +0200

    Add Bulletproofs Rewinding RFC

commit c8b66ad7d53925a7cf4f1071f5e2d038fab41f1a
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Wed May 5 14:57:18 2021 +0200

    Add one sided payment scanning and recovering

    Refactor recovery task into service
    change to hash based last scanned height
    remove clippy errors

commit 09db76fe0113039a23d144b7d31e31fbe397ba46
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue May 4 16:53:32 2021 +0400

    Adds version and commmit string to all application logs

    - Adds the application name, version obtained form the manifest and
      commit sha to the logs on application startup
    - Updates all log configs to route tari::application messages to all logs
    - Moves all `tari_common` build-time dependencies and code behind `build` feature flag

commit 50ed6bf79e8c2379b83e39f00e6846e7a8e5cea4
Author: Philip Robinson <simian@tari.com>
Date:   Tue May 4 22:35:15 2021 +0200

    [Wallet] Derive Comms Secret Key from the Master Seed key

    This PR implements the derivation of the Comms private key in the wallet from the Master Seed Key that is used as the seed for the key managers used for the UTXO’s on the wall.

    Previously the Comms Secret Key was generated by the client applications and it was stored in the Wallet Database. This key was also used to determine if the database was encrypted and if the provided passphrase is correct or not by storing the public key in the database and seeing if the stored private key corresponds to the permitted public key after decryption.

    This PR removes the Comms Secret and Public keys from the wallet database and replaces them with the Master Seed Key which becomes the single secret key from which the Comms Secret Key, UTXO Spending Keys and Rewind keys are derived. The Comms Secret key is now derived when the wallet is started based on the persisted Master Secret Key. On the first run the wallet will generate the Master Secret Key and store it. The Output Manager Service used to generate and store this key but now it will accept it from the Wallet and use it to initialise its Key Managers.

    The Console Wallet and Wallet FFI is updated to account for this change.

commit 5c418649556814836cbf44707c269e1204b0a12e
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Tue May 4 11:26:28 2021 +0200

    New gen block for tari_script

commit 8c3d10d2d429b0d04018088944b5cd7b5bec2690
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Mo…
delta1 pushed a commit to delta1/tari that referenced this pull request Jul 6, 2021
Squashed commit of the following:

commit b95d558f318d045da9e1172cb802555ae3eb5a47
Merge: 62a03237 862be046
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jul 6 18:18:48 2021 +0200

    fix: fix db update error (#3063)

commit 62a03237ee4c6103b468a07bbf97f665eb391b4a
Merge: 8ecbb1f2 e089af22
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jul 6 18:14:24 2021 +0200

    chore: update digest, rand and sha3 (#3059)

commit e089af2260b19fecc35c69fa053451f9bf649b80
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue Jul 6 14:28:27 2021 +0400

    [chore] Update digest, rand and sha3

    - Update crates `digest` `rand` and `sha3` to fix compilation errors
      (Ref https://github.com/tari-project/tari-crypto/pull/49)
    - NodeId::from_key is infallible
    - This in turn meant that NodeIdentity::new and NodeIdentity::randoma are infallible
    - This in turn meant that NodeIdentityError is unused, so it was removed
    - Remove multiple copies of the random string test utility (all of which
      needed `rand` crate updates) in favour of using the one provided in tari_test_utils

commit 862be046102266ec368c950e5a5736ac0df3f6e0
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue Jul 6 18:05:01 2021 +0200

    Fix db update error

commit 8ecbb1f231da38f2e838c8acc79165b5b0a27136
Merge: 868a064e 4a3d7ccf
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jul 6 17:47:04 2021 +0200

    feat: implement metadata comsig on txn output (#3057)

commit 4a3d7ccf239457762552f75d1b7604dee312b9bd
Author: Hansie Odendaal <pluto@tari.com>
Date:   Wed Jun 30 16:21:16 2021 +0200

    Implement metadata comsig on txn output

    - Implemented metadata comsig for the txn output
    - Created new faucet
    - Updated genesis block timestamp as this is a breakng change
    - Added unit test

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit 868a064e361f34028ee1b70e8a120ec99766b7a1
Merge: 6b6842fd 87c2ad4a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jul 6 11:39:53 2021 +0200

    tests: fix broken cucumber tests (#3058)

commit 87c2ad4abd081de5c96c0e8810ab5f51c323d5bd
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Tue Jul 6 11:32:57 2021 +0200

    fix broken cucumber tests

commit 6b6842fdf372607848e92ea3ea341f9d81d84259
Merge: cc225b83 63c0b6f5
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 16:52:42 2021 +0200

    chore: update example with new peer seeds for weatherwax (#3054)

commit cc225b83ccfc34480a6423cf211c14b7a7844659
Merge: cf33cdb5 88ce1d02
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 16:51:20 2021 +0200

    chore: merge development

commit cf33cdb5403736f67ea71f958e3ac06413c3f8e7
Merge: 742dd9e6 dd49c991
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 16:50:20 2021 +0200

    feat: software auto updates for base node (#3039)

commit 742dd9e6c9fc8c85bb6969e19489a4120d9cc9d1
Merge: 10ea7e38 ed70ecfc
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 16:49:14 2021 +0200

    feat: add zero conf tx (#3043)

commit 10ea7e387834edea1c8b65e7180c1493068fdab7
Merge: 4a1f74f3 9e614444
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 15:44:39 2021 +0200

    chore: update monerod stagenet url (#3050)

commit ed70ecfccb2a9407af35e17856987fdf40d9b05c
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Mon Jul 5 14:17:08 2021 +0200

    add zero conf tx

    Co-Authored-By: Hansie Odendaal <pluto@tari.com>
    Co-authored-by: Stan Bondi <sdbondi@users.noreply.github.com>

commit 63c0b6f53703561c131d36a819179127816a35e8
Author: Byron Hambly <bizzle@tari.com>
Date:   Mon Jul 5 11:13:08 2021 +0200

    [config] Update example with new peer seeds for weatherwax

commit 88ce1d02d005c69c8f1e296ac4fd511f81e6090c
Merge: 4a1f74f3 f512982a
Author: Byron Hambly <bizzle@tari.com>
Date:   Mon Jul 5 09:48:30 2021 +0200

    merge development into tari-script

commit dd49c991d06bcc578b2dbe0b180c262032a7e0e7
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Thu Jun 24 17:43:15 2021 +0400

    Software auto updates for base node

    Implements software updates for base node

    - Add general-purpose module for software update notifications,
      consisting of:
      - DNS Update checker - checks the configured hosts TXT record for software
        updates
      - Download SHA hash file (shasum) of the updates and validate that a
        known maintainer signed it (future improvements would require > 1 maintainer)
      - Actor/Service that periodically checks for updates and notifies any
        listeners, as well as providing a "handle" interface to the software
        updater.
    - Base node uses this module to implement `check-for-updates` command
      and to display update notifications.
    - Cucumber tests for valid and invalid update
    - Extracted the DNS code from peer seeds so that it can be used for
      reading TXT records here
    - Add autoupdate configuration

commit 4a1f74f34f9b312d3a3bbcdd0e97ab0ad47bfb9d
Merge: 347973e3 6d6a11bb
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 17:05:56 2021 +0200

    tests: fix wallet cucumber tests (#3049)

commit 347973e3e8fdd39bb74d978d14ff414c04a39212
Merge: 5116bdeb 65b91c08
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 17:03:33 2021 +0200

    fix: remove unimplemented Blake pow algo variant (#3047)

    BREAKING CHANGE!: This is a DB and network breaking change.

commit 5116bdebc5bf8d0a1b358a02a143b07df52026df
Merge: 2c9f6999 d76768d3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 17:00:52 2021 +0200

    refactor: clean up the db calls to make them safer (#3040)

commit d76768d3efb4b0147a6f3e1e03327397921131e5
Merge: e738b3b1 2c9f6999
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 17:00:33 2021 +0200

    Merge branch 'tari-script' into sw_refactorr_utxo_scanner_db

commit 2c9f69991f7cfcbda113a55ceeacdf2c13d90da3
Merge: bc98c322 89769b27
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 16:58:51 2021 +0200

    feat: network separation and protocol versioning implementation (#3030)

commit bc98c322b9580f644dc0147f66369388499abf0a
Merge: 9b281cec 85dea958
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 16:42:35 2021 +0200

    refactor: remove `height` field from outputs (#3027)

commit 65b91c08ce8e0e3b79a863612cdec37969442e33
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Thu Jul 1 16:15:56 2021 +0400

    [chore, testnet-reset] Remove unimplemented Blake pow algo variant

    Remove unimplemented PowAlgo::Blake variant.
    This is a DB and network breaking change.

commit 9e61444456c77e3fc1e7f531e46d1b5e21f53191
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri Jul 2 13:44:01 2021 +0200

    Update host header in proxied request

commit 89769b27e4a41dc27a3e2543479534ac851add61
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue Jun 22 17:30:32 2021 +0400

    Network separation and protocol versioning implementation

    - Changes `WireMode::Comms` variant to contain a single byte.
    - Allows the `WireMode::Comms` byte to be set from domain layer (tari_p2p).
    - [partially network breaking] Removes redundant network specifier from messaging
      protocol.
    - Removes DHT Network enum.
    - Updates Network configuration enum to be representable as a byte.
    - Network configuration enum is now the only Network specifier.
    - Changes consensus Network enum to a struct (NetworkConsensus) that wraps
      the common Network enum.
    - [network breaking] Use byte representation of multiaddr in identity
      message, rather than string. This reduces the bytes exchanged when
      establishing a new peer connection.
    - [network breaking] Shave a few bytes off of identity and messaging protocol IDs
      to match the format of other protocols.
    - [network breaking] Add major and minor versions to messaging protocol
    - [network breaking] Add major version check when establishing a
      connection
    - [network breaking] Remove NodeId from PeerIdentityMsg as this can be derived from the
      public key obtained from the noise handshake

commit 85dea958016bd383b2648aca907d490c5fe6b309
Author: Philip Robinson <simian@tari.com>
Date:   Fri Jul 2 11:32:46 2021 +0200

    Remove `height` field from outputs

    In the discussion around [RFC-0201](https://rfc.tari.com/RFC-0201_TariScript.html) it was decided that the `height` field is not actually required to prevent replay attacks with the introduction of TariScript. We rely on the enforcement of unique commitments in the mempool and blockchain to prevent this. As such this PR removes the height field from the TransactionInput and UnblindedOutput structs.

commit 38278f0bb416ca00398667c3443fee1bd892eb81
Author: Byron Hambly <bizzle@tari.com>
Date:   Thu Jul 1 20:30:08 2021 +0200

    [chore] update monerod stagenet url in readme

commit 1d4176cc72d319bbadb7788465e878e734354194
Author: Byron Hambly <bizzle@tari.com>
Date:   Thu Jul 1 20:29:26 2021 +0200

    [chore] update monerod stagenet url

commit 6d6a11bbe9c7c460eeed59b0f06d11984d4ec685
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Thu Jul 1 19:59:23 2021 +0400

    Fix wallet cucumber tests

    Output hash generation in `the UTXO {} has been mined according to {}`
    needed to be updated from https://github.com/tari-project/tari/pull/3041

commit 9b281cec339fea5cad48ca84cb5698302792373f
Merge: fb1a692a 2cd35c59
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jul 1 11:18:31 2021 +0200

    feat(wallet): add maturity to transaction detail (#3042)

commit 2cd35c593ba66ba4f3de1df06e7487d0844732bb
Author: Byron Hambly <bizzle@tari.com>
Date:   Tue Jun 29 13:29:45 2021 +0200

    [console-wallet] Add maturity to transaction detail

commit fb1a692aeb92af585a83b1c84948896db1cbcf1b
Merge: da1d7579 5c79bf25
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jul 1 09:37:36 2021 +0200

    refactor: remove type alias impl trait unstable feature requirement from DHT (#3037)

commit da1d75790fcb4eb9a71b7822c3ede3d9ba598241
Merge: ef94134b ec5390f7
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jul 1 09:31:25 2021 +0200

    fix: fix small issues related to #3020 (#3026)

commit ec5390f74656eecdc439c379e2faf8ea6a679964
Merge: ca897079 ef94134b
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jul 1 09:30:47 2021 +0200

    Merge branch 'tari-script' into ho_small_fixes

commit 5c79bf25eab08b762a16dbbf14011d350e6e4a69
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Sun Jun 27 12:36:26 2021 +0400

    Remove type alias impl trait unstable feature requirement from DHT

    Replaces the `type_alias_impl_trait` feature requirement with boxed
    Futures on all services. Removes/simplifies some redundant trait bounds.

    SAF handler task had to be implemented to be a less concurrent because
    of the additional trait bounds required for boxing.

commit ef94134b4f60af1b907ff7d220a7b3f1ac446ac0
Merge: f2239418 5f5a9c7c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 16:44:38 2021 +0200

    chore: fix build (#3044)

commit 5f5a9c7c5dc4bd8918ffe0800a914cdf2038f88f
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Wed Jun 30 16:18:33 2021 +0200

    fix build

commit f223941859903bdd3becd914ac84e630adb1e7c1
Merge: ae15fd9c 054b45aa
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:06:04 2021 +0200

    refactor: start refactoring `min_type_alias_impl_trait` to `async_trait` (#3034)

commit 054b45aa6314cd98e38997b67d7b973c89395761
Merge: cdb4f547 ae15fd9c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:05:46 2021 +0200

    Merge branch 'tari-script' into async-trait

commit ae15fd9c6203f8a6fe40be411fe3e4e590270ef7
Merge: 229830e5 91af2872
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:04:13 2021 +0200

    feat: add filtering of abandoned coinbase txs to console wallet (#3032)

commit 229830e595c6b3c97011547d18885e2c0a3e3f19
Merge: 574ff8bb b89a67db
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:03:12 2021 +0200

    fix: Update connectivity manager defaults (#3031)

commit 574ff8bb7357fc3a5edcb60c564af0a7e038f6a7
Merge: 0ffaedec 35b35333
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:01:24 2021 +0200

    docs: clarify Tari Script nomenclature (#3029)

commit 0ffaedec4683748e452cfdee20464022dfbd4367
Merge: 65552cbd b0b57612
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:00:17 2021 +0200

    tests: let the test pass if 1% of nodes will fail. The number of nodes that need to succeed is rounded down. Change from promise.all to a custom wait for N promises. (#3028)

commit 65552cbd7b826e76a63ca50e53c41e8986eb9860
Merge: adb4a640 59f9675c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 14:57:04 2021 +0200

    feat: add input_mr and witness_mr to header (#3041)

commit 59f9675c5f2bac76bd2c88151b44d2f9a761db3a
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue Jun 29 15:09:22 2021 +0400

    Add input_mr and witness_mr to header

    As per updated RFC 120 (ref #3025):

    - Add `input_mr` to header, commits to all inputs in a block
    - Add input merkle root validation check
    - Commit to all transaction input fields
    - Add `TransactionInput::output_hash` that produces the hash of the output
       that was spent in the input
    - Remove range proof MR in favour of witness MR
    - Witness MR commits to all rangeproofs and sender metadata
    - Add witness_hash function that produces `Hash(RangeProof || sender_metadata_signature)`
    - Updated weatherwax genesis timestamp because this change is a hard
      fork
    - Updated header format in proto messages (network breaking)
    - Commit to `input_mr` in sha3 and monero mining hashes
    - Add some missing fields (`output_mmr_size`, `kernel_mmr_size` and `total_script_offset`)
      to sha3 miner hash (w/ minor code clean up)

commit adb4a64000f991df06454e86c303728af881241d
Merge: 04f826db 57ce1ac8
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 14:48:36 2021 +0200

    feat: Change script_signature type to ComSig (#3016)

commit cdb4f54724d73dd3085ae81beffa4f29a8a27471
Author: Byron Hambly <bizzle@tari.com>
Date:   Wed Jun 30 14:47:03 2021 +0200

    [tests] Fix test compilation error

commit 57ce1ac8732efeadca52b0f58d3ec482be6b1863
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Fri Jun 25 18:21:12 2021 +0200

    Change script_signature type to ComSig

    Fix cucumber test for comsig
    fix spelling
    Co-Authored-By: Hansie Odendaal <pluto@tari.com>

commit b0b5761231cf3a8a34ed23bb256dfaef483e6eb8
Merge: 15b6d6c3 04f826db
Author: Martin Stefcek <35243812+Cifko@users.noreply.github.com>
Date:   Wed Jun 30 07:55:03 2021 +0200

    Merge branch 'tari-project:tari-script' into tari-script

commit e738b3b148f2e3de73bf7669806242457ff60291
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Tue Jun 29 07:51:18 2021 +0200

    clean up the db calls to make them safer

commit 04f826db140042248797e1377ee665b809146fe5
Merge: 4a499564 08dfc00c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jun 28 11:21:06 2021 +0200

    docs: update rfc to add witness_mr to header (#3025)

commit 08dfc00c4c8176d06b57eadb9d1992b47430c5d3
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Fri Jun 25 18:55:17 2021 +0200

    Add input_mr
    Change rangeproof_mr to be a witness_mr

commit f70d5ab83dd5224f4ab47f7dd77323a7f9e0c184
Author: Byron Hambly <bizzle@tari.com>
Date:   Thu Jun 24 18:58:22 2021 +0200

    [common] Start refactoring `min_type_alias_impl_trait` to `async_trait`

commit 4a499564d59162db25693f194f00eb4bd91f0700
Merge: ea15e9c1 cd0445fe
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 14:29:45 2021 +0200

    feat: update app state when base node is set by command/script mode (#3019)

    [console-wallet] Update app state when base node is set by command/script mode
    [console-wallet] Add command mode auto exit arg
    [console-wallet] Allow amount field to parse Tari

commit ea15e9c186f1ca09de5190a4de22e9e9c774ced1
Merge: 19ed0013 5d79c627
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 14:25:35 2021 +0200

    docs: add RFC-0173 - Versioning to the RFCs (#3013)

commit 19ed001335f23bbf10a28557a03037edc71beaea
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 12:14:50 2021 +0200

    chore: fmt

commit f8dae4dacb6ba0f1add9674d2d0f93c2538f359a
Merge: 05674a3d 6ab28f23
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 12:13:40 2021 +0200

    refactor: remove MemoryDBs from the wallet (#3017)

commit 6ab28f239cb4156ecf6f1424970647c288d6eff6
Merge: b5fef024 05674a3d
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 12:13:06 2021 +0200

    Merge branch 'tari-script' into philip-remove-memory-db

commit 91af2872dee0148647f1e22587a2cf64346a9248
Author: Philip Robinson <simian@tari.com>
Date:   Wed Jun 23 20:33:46 2021 +0200

    Add filtering of abandoned coinbase txs to console wallet

    This PR adds the ability to filter abandoned coinbase transactions in the completed transaction list of the console wallet. The filter is on by default and can be toggled with the A key. Transactions that have the Coinbase status and are also cancelled are filtered out and when displayed have the status of `Abandoned`.

    A TransactionFilter bitfield has been added to the AppState which currently only includes the AbandonedCoinbase flag but will allow for more filters to be added and combined. The filtering is done when the UI draw requests the vector of references to the current list of transactions. If no filter is applied the full vector of references is returned, otherwise a iterator filtered version is returned applying the conditions of the filter.

commit 15b6d6c3617f2cbfd2b6071ea8c161872cbcd585
Author: Cifko <gcifko@gmail.com>
Date:   Tue Jun 22 16:58:04 2021 +0200

    Let the test pass if 1% of nodes will fail. The number of nodes that need to succeed is rounded down.
    Change from promise.all to a custom wait for N promises.

commit 05674a3dd1590fe1c96b11e628bb1a5156f3932c
Merge: d2049ffe 1bc3efb3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 23 11:56:22 2021 +0200

    refactor: refactor utxo scanner class (#3005)

commit 1bc3efb3b69f233b29dc33b70bfba4d110d6275d
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Wed Jun 23 11:51:16 2021 +0200

    refactor utxo scanner class

commit 5d79c627e01645c64b98a44425934457745a0867
Author: Philip Robinson <simian@tari.com>
Date:   Wed Jun 23 10:42:24 2021 +0200

    Add RFC-0173 - Versioning to the RFCs

    This PR contains a new RFC with a proposal of how we will handle versioning of the wire format, P2P messaging and consensus rules on the Tari network.

commit b89a67db21cdac0a32f97ab44e82826e6ac65599
Author: Philip Robinson <simian@tari.com>
Date:   Wed Jun 23 10:16:33 2021 +0200

    Update connectivity manager defaults

    This PR tweaks the `offline_peer_cooldown` and `max_failures_mark_offline` default values to better cope with intermittent disconnections.

    `offline_peer_cooldown` is reduced from 24 hours to 2 hours so that the peer will become eligible for a reconnection in less time.

    `max_failures_mark_offline` is changed from 1 to 2 to allow for one more round of connection retries before giving up on the node until the above cool down expires.

commit 35b35333a9eec146a904c1c69ba33aa919bab2d1
Author: Hansie Odendaal <pluto@tari.com>
Date:   Mon Jun 21 17:56:07 2021 +0200

    Clarify Tari Script nomenclature

    Picked less confusing script related names and updated the glossary:
    - script offset               => script offset
    - script offset private key   => sender offset private key   [updated!]
    - script offset public key    => sender offset public key    [updated!]
    - script private key          => script private key
    - script public key           => script public key
    - script signature            => script signature
    - sender metadata signature   => sender metadata signature

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit a7601d4e5b2e9b2fc46df3c82b2939cff4da5360
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Tue Jun 22 15:31:46 2021 +0200

    update rfc to add witness_mr to header

    Co-Authored-By: Hansie Odendaal <pluto@tari.com>

commit ca897079678163df37682aedc9c8b329e5e0dfa9
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue Jun 22 11:38:18 2021 +0200

    Fix small issues related to #3020

    - As per reviewer comments

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit d2049ffec3000f01eb555042d24d55fab7818c6b
Merge: b3e3d38d b14f0342
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 22 11:33:11 2021 +0200

    docs: update RFC-0111 - Base Node architecture (#3014)

commit b3e3d38d2a742882e4e7fec7bad0a126efba5ab3
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 22 11:17:46 2021 +0200

    Review of RFC-0001 (#3007)

    * Review of RFC-0001

    This PR contains a revision of RFC-0001 to better reflect the current state of play in Tari’s design.

    * Update RFC/src/RFC-0001_overview.md

    Co-authored-by: Cayle Sharrock <CjS77@users.noreply.github.com>

    Co-authored-by: Mike the Tike <stringhandler@gmail.com>
    Co-authored-by: Cayle Sharrock <CjS77@users.noreply.github.com>

commit 7901b3ca2a6096e0f9148181b7a07ed16209d168
Merge: 4b4af991 f3d3c3af
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 22 10:56:35 2021 +0200

    feat: add sender signature to txn output (#3020)

commit f3d3c3af7eb9e247a8f0d01978cdfcebbbcacd35
Author: Hansie Odendaal <pluto@tari.com>
Date:   Fri Jun 11 16:01:58 2021 +0200

    Add sender signature to txn output

    - Added sender signature to the transaction output and unblinded output.
    - Added sender signature validation to the transaction consistency check.
    - Added unit test to verify sender signature.
    - Added sender signature to cucumber (transaction builder).
    - Simplified test code making use of unblinded outputs.
    - Updated genesis block time stamp due to breaking changes.

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit cd0445fe55951bf1ee006869bd5326d39dd35227
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri Jun 18 14:45:41 2021 +0200

    [console-wallet] Allow amount field to parse Tari

commit 3998844b5a7856c4528ad7378c17879c21a19669
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri Jun 18 14:10:23 2021 +0200

    [console-wallet] Add command mode auto exit arg

commit 754d71ab5d06bfc9a704e7a0530d5fe91fe5b620
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri Jun 18 11:00:31 2021 +0200

    [console-wallet] Update app state when base node is set by command/script mode

commit b5fef0244fbbf9fb5149ffd0e83911dc248ac460
Author: Philip Robinson <simian@tari.com>
Date:   Thu Jun 17 16:58:31 2021 +0200

    Remove MemoryDBs from the wallet

    In the past all the wallet services has a Sqlite and Memory based db backend to use in testing. However maintaining the memory DB’s became a chore.  This PR removes the Output Manager and Contacts Service memory databases and updates the tests that use those databases to use a temporary Sqlite database instead.

commit 4b4af99121be5b6f612b7d71bfeba8a8ff9490a8
Merge: b174390e 568788cf
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 16 11:19:22 2021 +0200

    test: fix integration tests (#3015)

commit 568788cf03a56c220b442352afc12857cbe273ed
Author: Byron Hambly <bizzle@tari.com>
Date:   Mon Jun 14 10:17:11 2021 +0200

    [tests] Fix integration tests

commit b14f0342006fc0788ef47ef5d32015a75761d4cd
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 15 16:01:29 2021 +0200

    Update RFC-0111 - Base Node architecture

    This PR updates RFC-0111 to reflect the current architecture of the Base Node binary.

commit b174390e1ac6f748cf64b1787f6648e5cc6b1fb0
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 15 12:00:56 2021 +0200

    Review of RFC-0100 (#3008)

    This PR contains a small update to RFC-0100 to reflect the current state of the project

commit 0bc81ef426cc7627cd6f0b759db26140cab0f3f0
Merge: b3522027 86374505
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 16:20:57 2021 +0200

    test: fix double spend test. (#3012)

commit 8637450511a5112594697626c7c0bef5bca612e5
Author: Cifko <gcifko@gmail.com>
Date:   Thu Jun 10 19:28:40 2021 +0200

    Fix double spend test.

commit b3522027b824dd8bb50a7183397adba082fdf28e
Merge: 537db06f 5b6d7c42
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 13:27:20 2021 +0200

    fix: check minimum number of headers for calc-timing (#3009)

commit 537db06f33c49942d42e83fd6838f4fd405028d0
Merge: b3760202 d7db26b3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 13:23:49 2021 +0200

    fix: fix `Unique Constraint` bug when requesting a coinbase output at same height (#3004)

commit b3760202992676b8874a155775472820e6a22932
Merge: ac062e57 f2876a13
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 12:14:26 2021 +0200

    feat: display local time instead of UTC. Add new wallet commands. (#2994)

commit ac062e57903d493e09bff0ccee36660f7c088782
Merge: c88d789e 635b1969
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 12:11:03 2021 +0200

    feat: mininal merkle proof for monero pow data (#2996)

commit c88d789e0e8ee2180279debb59f0d53e15db3b66
Merge: b19789d1 f972d837
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 11:28:08 2021 +0200

    feat: modify gamma calculation for TariScript

commit b19789d1607d8c104c3cc0c902a8af75724ef828
Merge: 330e7b7d c8491bdc
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 10:54:23 2021 +0200

    test: add logs to cucumber ci artefacts (#3011)

commit c8491bdc58b8e820abe07594bed03c7607db8632
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 09:37:48 2021 +0200

    add logs to cucumber ci artefacts

commit 635b196927b5f4baed035394468ce6cc03cf74c0
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Mon Jun 7 15:02:53 2021 +0400

    Mininal merkle proof for monero pow data

    - Adds a port of Monero's `tree_branch` that returns a merkle proof
    - Extensive unit tests for create_merkle_proof
    - Uses a merkle proof of the transaction hash set instead of the full
      transaction hash set.
    - Adds more extensive unit tests for tree_hash
    - tree_hash now has at worst one allocation
    - RandomX seed is represented in a fixed size array instead fo a
      unbounded String
    - Use monero's consensus de/encoding for MoneroPowData

commit 5b6d7c42fe6903c35ed26883ec6beffb24661ca7
Author: Byron Hambly <bizzle@tari.com>
Date:   Thu Jun 10 10:09:43 2021 +0200

    [base-node] Check minimum number of headers for calc-timing

commit d7db26b3f286b68a5e905d8e814cd18c0cf61552
Author: Philip Robinson <simian@tari.com>
Date:   Thu Jun 10 08:57:19 2021 +0200

    Fix `Unique Constraint` bug when requesting a coinbase output at same height

    If a miner requested a Coinbase Transaction at the same height as one that was requested previously and that output had the exact same commitment the Output Manager database would return a Unique Constraint error due to the existing output in the database. This would happen rarely when a miner is experiencing many reorgs while mining.

    To fix this issue logic is added to the Output Manager service to clear any existing coinbase outputs with the same commitment at the same block height as the one that was just requested before adding it to the database. I decided this presents no danger of losing funds because the newly added coinbase will have the exact same commitment as the one being removed.

commit f2876a132ff6551f67c89b166561e616bbb9c110
Author: Byron Hambly <bizzle@tari.com>
Date:   Tue Jun 8 13:40:05 2021 +0200

    [ui] Display local time instead of UTC. Add new wallet commands.

    - [base-node] Use local time in status line
    - [base-node] Show version number in status line
    - [console-wallet] Use local time in transaction list and detail view
    - [console-wallet] Add `set-base-node` command
    - [console-wallet] Add `set-custom-base-node` command
    - [console-wallet] Add `clear-custom-base-node` command

commit f972d8376c5fe88a73769e4132c95fa92c0920dc
Author: Hansie Odendaal <pluto@tari.com>
Date:   Thu Jun 3 15:12:11 2021 +0200

    Modify gamma calculation for Tari script

    - Modified gamma calculation for Tari script according to the latest
      RFC-0201.
    - Fixed private keys re-use issue in `transactions/helpers.rs fn craete_tx`.
    - Clarified use of test params in `transactions/helpers.rs fn spend_utxos`.
    - Ensured `consensus_validation_large_tx` will fail if the txn internal
      consistency is not ok (gamma is calculated here as well).

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit 330e7b7d51e4ab8af50b8bbf12a8487ece23a07f
Merge: 70c21294 a6835585
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 16:17:17 2021 +0200

    test: fix reorg difficulty unit tests (#2995)

commit 70c21294fa87da8198e8b79f8b49d61bd6bee721
Merge: a2c6b17d c601199a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 15:01:53 2021 +0200

    feat(wallet): ensure recovery will not overwrite existing wallet (#2992)

commit a2c6b17de6fd8ac14a5379b0c44d34c1e1e71e2d
Merge: 472c3086 98dfed73
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 14:28:40 2021 +0200

    feat(ffi): `wallet_create` takes seed words for recovery (#2986)

    BREAKING CHANGE: FFI function wallet_create now takes an optional seed words
    arg, if provided this sets the wallet master recovery key from which the comms
    public key and spending keys are derived from

commit 472c30865cfa5a3cc648bffe22f6ec6e7aa22572
Merge: 5174de0d 4626c4cb
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 14:25:52 2021 +0200

    fix: cancel faux transaction when imported UTXO is invalidated (#2984)

commit 5174de0d562b3ff444bceebeacbf3917b74dce85
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Wed Jun 9 13:52:04 2021 +0200

    feat: Fix birthday attack vulnerability in tari script offset (#2956)

    Co-Authored-By: Hansie Odendaal <pluto@tari.com>
    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit 4626c4cbb7af9a3a285a5af4598af03b015cdeb9
Author: Philip Robinson <simian@tari.com>
Date:   Wed Jun 9 12:39:10 2021 +0200

    Cancel faux transaction when imported UTXO is invalidated

    When a UTXO is imported into the wallet a faux transaction is added to the transaction service to represent the event that impacted the wallets balance. If the imported output turns out to be invalid, i.e. it was an already spent output or it was an orphan output then the output validation will invalidate it. However, the faux transaction would not be invalidated and would still appear in wallet transaction lists. This was found to be confusing. So this PR links the imported output to the faux transaction and if the output is invalidated the transaction is invalidated.

    Cucumber tests are added to test this functionality.

commit 98dfed73a4ae6660fbe3c5e7420ea3e06e8f3fec
Author: Byron Hambly <bizzle@tari.com>
Date:   Tue Jun 1 11:59:32 2021 +0200

    [wallet-ffi] `wallet_create` takes seed words for recovery

    Breaking change in wallet FFI, new argument in `wallet_create` to
    specify optional seed words for recovery.

    Also starts alpha quality NodeJS FFI wallet client for testing purposes.

commit c9fdeb3da90a297a75a53ddbea6823f3e6520b8d
Merge: ded45e9e 97e128b3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 09:49:19 2021 +0200

    fix(wallet): increment wallet key manager index during recovery (#2973)

commit 97e128b3bd869e0bc28c41f973d22d7977a0d046
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 8 15:05:35 2021 +0200

    Increment wallet key manager index during recovery

    Currently, when recovery is performed the key manager index is not incremented as outputs are found. This means that when new transactions are performed the key manager produces previously used spending keys for the new outputs, reusing private keys. We also did not apply the correct script private key to the recovered output. This wasn’t a problem because we are using `Nop` scripts but for any script that requires this key to be correct we would have had a problem.

    This PR adds the logic that when an output is rewound during recovery that we find the key manager index for the recovered spending key, update the key manager index to one more than the highest index found during recovery and also use this index to apply the correct script private key to the recovered output.

    This PR also contains a but of neatness refactoring in the Output Manager Service.

commit a6835585f9ee3361e53fd4ba4f47c1e0a652ceb6
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 8 14:21:37 2021 +0200

    Fix reorg difficulty unit tests

    The changes in PR 2960 changed the LWMA difficulty calculation to be integer based. This changed the nature of the calculation for small values. The two broken tests affected by this change were:
    `test_handle_possible_reorg_target_difficulty_is_correct_case_1`
    `test_handle_possible_reorg_target_difficulty_is_correct_case_2`

    These tests relied on assumptions about the difficulty calculated by LWMA based on the block times specified in the tests. Just updating the test to use much higher difficulties would have meant the change to integer math would not have had such a breaking effect but the way the unit tests have to mine for new hashes based on the difficulties meant that the difficulties needed to be kept as low as possible.

    This PR tweaks the block times in these tests in order to produce varying difficulties but keeping them low enough for the unit test environment.

commit ded45e9e8e1eb309cf84efc186eb0904fa1ea8a4
Merge: b520037e 39a56fd0
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jun 7 11:21:34 2021 +0200

    chore: Update wallet-grpc-client to use https instedad of git for npm ci to work (#2976)

commit 39a56fd0e59fd4bc138229cc36f94a5507dad577
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri May 28 14:53:41 2021 +0200

    [ci] Update wallet-grpc-client to use https instedad of git for npm ci to work

commit c601199a910bcf540f41336db431aef069e41eb2
Author: Byron Hambly <bizzle@tari.com>
Date:   Sun Jun 6 20:43:18 2021 +0200

    [wallet] Ensure recovery will not overwrite existing wallet

commit b520037e4e054b27eb65b004a0e52d87d2c64086
Merge: 7172a021 1af7a759
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 4 11:37:37 2021 +0200

    feat!: remove beta from range-proof calculation (#i2987)

    BREAKING CHANGE: Nodes will need to resync from scratch

    Co-Authored-By: Hansie Odendaal <pluto@tari.com>

commit 7172a021f8ae8c500ce59b5514667f2be6d241d4
Merge: f45cdc46 5218365b
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 4 11:31:47 2021 +0200

    test: add cucumber test to verify hybrid mined coinbases (#2977)

commit f45cdc46f8485ea8978dd05edafa26d374c98fdc
Merge: f7dc3a44 5c13deb3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 4 11:05:50 2021 +0200

    fix: update console wallet on one sided payment import (#2983)

commit f7dc3a44d2f57102024605cc6f4c93bb326b292a
Merge: b6e74bbd 6204d5d2
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 4 09:57:19 2021 +0200

    fix: fix prune mode (#2952)

commit 1af7a759461e609bfda4da43a82846039e14b983
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Thu Jun 3 15:29:04 2021 +0200

    remove beta-hash

    fix cucumber tests

commit 5218365b831b662ee80cc53418aa63ad66d6785d
Author: Hansie Odendaal <pluto@tari.com>
Date:   Wed May 26 18:50:35 2021 +0200

    Add cucumber test to verify hybrid mined coinbases

    - Added cucumber test as above
    - Added cucumber methods to do hybrid mining till specified blockchain height
    - Updated the mining node to accept a new `--mine-till-height`command line parameter
    - Fixed mining node to acknowledge environment variables for `num_mining_threads` and
      `validate_tip_timeout_sec`; this only worked via the config file
    - Added number of mining threads for the SHA3 mining node to use as an option
    - Cleaned up the `log4rs_sample_mining_node.yml` config file
    - Added custom `mining_node.yml` as an input file for cucumber tests
    - Fixed flaky test `tx_broadcast_protocol_submit_mined_then_not_mined_resubmit_success`

commit 5c13deb3baf80f9e0a599a060acef44863895e3d
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 20:03:55 2021 +0200

    Update console wallet on one sided payment import

commit 6204d5d28a88fb631980e94e3926df34f9ae951c
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Thu May 20 23:01:41 2021 +0200

    fix prune mode

    fix fmt

commit b6e74bbdd2e7886044ca8f6aa2707f1b0131680a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 15:19:12 2021 +0200

    test:fix nop script name

commit 5dab4de212b86fe09c602e1c4baf9dc30b9c27be
Merge: 7e99ea59 f7cb03a0
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 15:14:37 2021 +0200

    test: fix cucumber error introduced by full script in transaction output (#2979)

commit f7cb03a04dd6148834b7788d3a16cc327415ed97
Merge: 61233b0f 7e99ea59
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 15:14:12 2021 +0200

    Merge branch 'tari-script' into philip-cucumber-full-script-fix

commit 7e99ea59ec11f19ba47e62729c3ee8b500d16c2e
Merge: a14599e2 68320ea4
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 13:49:48 2021 +0200

    fix: fix ChainStorageError after a reorg with new block (#2915)

commit 68320ea4d8979cedd6399b55c30e5a82ec774c30
Author: Hansie Odendaal <pluto@tari.com>
Date:   Thu May 20 15:02:11 2021 +0200

    Fix ChainStorageError after a reorg with new block

    - Fixed a ChainStorageError that occurs due to invalid transactions remaining in
    the mempool when the 1st block is requested for mining via GRPC directly after
    a chain reorg.
    - Added a failing cucumber test for the above condition.
    - Minor cucumber improvements.
    - Updated the `tari-crypto` version number dependency.

commit 61233b0fdd8c75a7f5c5f58f2c3eeec23905cfed
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 1 12:00:44 2021 +0200

    Fix cucumber error introduced by full script in transaction output

    This PR updates the transaction builder in the Cucumber helpers to calculate the Beta hash and the Transaction Output hash correctly now that the whole script is included in the output.

    Implement including full script in transaction outputs

commit a14599e254802d9f168940e62a4a5fe6091a5ae4
Merge: e04c884e 1bcbfc01
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 10:46:32 2021 +0200

    test: make pruned mode cucumber reorg tests predictable (#2969)

commit e04c884eb4c7aaf124fa5da5d80ecfc4b00817e1
Merge: db303e8c 786f404c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 10:40:42 2021 +0200

    fix: improve error messages in tari applications (#2951)

commit db303e8ca9632c6a6634e52cbfb6a79cd3e43a29
Merge: 5901be8d 6693019b
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 10:29:41 2021 +0200

    feat: improve LWMA (#2960)

commit 786f404cb07bd83763253aa4cf57af8c47512c19
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Thu May 20 23:06:23 2021 +0200

    update error messages

commit 5901be8d2a5256a7a77323840e350b912163e073
Merge: 94ffd185 eeb8acbf
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 31 15:15:55 2021 +0200

    refactor!: including full script in transaction outputs (#2978)

    @Co-Authored-By: Philip Robinson <philip.robinson.za@gmail.com>

commit eeb8acbfe938ab5e53cb2ed82ee6ca805f846c8c
Author: Philip Robinson <simian@tari.com>
Date:   Mon May 31 15:04:23 2021 +0200

    Implement including full script in transaction outputs

    This PR replaces the script hash in a transaction output with a full script. This has been done to make on-chain script detection and analysis possible. This makes features like detecting your own scripts based on included pubkeys during a seed phrase recovery possible.

    This PR updates the TransactionOutput struct to hold a script and not script hash and updates the code base to reflect this change.

    RFC-201 is updated to reflect the change to the calculation of Beta

commit 1bcbfc01bcb3c42d9577771bd81325218f96fd9a
Author: Hansie Odendaal <pluto@tari.com>
Date:   Wed May 26 10:07:32 2021 +0200

    Make pruned mode cucumber reorg tests predictable

    - Ensured the different chains that are constructed have predictable
      accumulated difficulties for tests `Pruned mode reorg simple` and
      `Pruned mode reorg past horizon`.
    - Marked the 10,000 case `Ramped Stress Test` stress test as `@broken`.
    - Updated the `tari-crypto` package version.

commit 6693019b81fefc8d4730ebac16beb4e21bbec70c
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Thu May 20 14:42:16 2021 +0200

    Improve LWMA to be more stable

    overflow test

    review comments about u128 declarations

    remove extra cast

commit 94ffd185ff4ee9ce5575f28ae28e73464342b657
Merge: b55d99fe 89ceb418
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 28 12:21:58 2021 +0200

    fix: merge dev, update peer seeds (#2974)

commit 89ceb418599851f555d992f55ef09f10e9b009e2
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri May 28 11:05:26 2021 +0200

    [base-node] update peer seeds temporarily for tari-script branch

commit 76c787a46b42927d77eadc6962f667f6ef3e8986
Merge: b55d99fe bef1829b
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri May 28 10:28:44 2021 +0200

    Merge remote-tracking branch 'tari/development' into merge

commit b55d99fe3b08b34485bf1a9429cfad32a3fac84f
Merge: 83eca218 be6f3c5b
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed May 26 16:25:11 2021 +0200

    fix: implement cucumber tests for one-sided recovery and scanning (#2955)

commit be6f3c5b8d0844c13a993e0b72742b9b838a52cf
Author: Mike the Tike <stringhandler@gmail.com>
Date:   Wed May 26 16:23:06 2021 +0200

    Apply suggestions from code review

    Co-authored-by: Hansie Odendaal <39146854+hansieodendaal@users.noreply.github.com>

commit 2a48e2167e6e4265eece11572ae0c03ecc438f96
Author: Philip Robinson <simian@tari.com>
Date:   Wed May 26 15:06:49 2021 +0200

    Implement cucumber tests for one-sided recovery and scanning

    This PR implements cucumber tests for recovering one-sided payments, scanning for them under normal wallet operation and also adds to the existing standard recovery test to spend the output after it has been recovered which revealed a few bugs. The PR also contains a number of bug fixes to make these tests possible.

    - Console wallet will not enter TUI mode after recovery if its started in daemon mode, this crashes cucumber
    - Persist “Known one-sided scripts” when a Comms Private/Public key is derived to be scanned for
    - Fix the UTXO scanner when started as a service.
    - Add Cucumber helpers to support the tests.

commit 83eca2182a32f0043ea85e7a6f1520c218c5a811
Merge: 812a1611 79271a84
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 25 15:35:56 2021 +0200

    test: fix cucumber tests on `tari-script` branch (#2968)

commit 79271a84a7e02cb68475ee5d9cb12abe3d43324f
Author: Hansie Odendaal <pluto@tari.com>
Date:   Thu May 20 15:02:11 2021 +0200

    Fix cucumber tests on `tari-script` branch

    - Fixed cucumber tests on `tari-script` branch after merging `development`
    into `tari-script`.
    - Fixed a number of flaky tests.

commit 812a1611a924b977a79bd5e7fe16eb986649adce
Merge: ed17fee3 c4767501
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 25 12:43:55 2021 +0200

    fix: update rust nightly toolchain (#2957)

    Update rust nightly toolchain

commit ed17fee3e34d3985794af621ba131e066849abec
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 15:12:44 2021 +0200

    fix: Update failing rust tests (#2961)

commit 19a1bd660bc36eea91c3936e464e57d582d1bcff
Merge: 92e9a2e5 c4c28b9c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 14:39:06 2021 +0200

    chore: Fix clippy warnings in tests (#2965)

commit c4c28b9c479fba859e4d94212e7e88d4d0f5d544
Author: Hansie Odendaal <pluto@tari.com>
Date:   Fri May 21 14:13:04 2021 +0200

    Fix clippy warnings in tests

commit 92e9a2e5918a590f68293f2ea0f950e724f1925a
Merge: 05e34edc 90706bd3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 14:10:32 2021 +0200

    Merge #2899: [tests] update flaky unit tests

    update flaky unit tests

commit 05e34edc7c1cdb893af454c886fc5904d42016a7
Merge: e6267851 5ae2b4db
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 14:03:05 2021 +0200

    Merge #2964: [chore] Merge dev v0.8.11 into tari-script

    [MMProxy] Connection Limiting
    Fix target difficulty
    v0.8.11 Changes since v0.8.10
    Merge dev

commit 5ae2b4dbfaafdc966d0e7c4616b50b52d1a44535
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 13:46:36 2021 +0200

    Merge dev

commit a92882d6f69a556196d3f77713f87b5825a55936
Merge: e6267851 e64b1ffc
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 12:19:27 2021 +0200

    Merge branch 'development' into tari-script

    # Conflicts:
    #	Cargo.lock
    #	applications/tari_app_utilities/Cargo.toml
    #	applications/tari_base_node/src/recovery.rs
    #	applications/tari_merge_mining_proxy/src/main.rs
    #	applications/tari_merge_mining_proxy/src/test.rs
    #	base_layer/core/src/base_node/comms_interface/inbound_handlers.rs
    #	base_layer/core/src/chain_storage/blockchain_database.rs
    #	base_layer/core/src/test_helpers/blockchain.rs
    #	base_layer/core/src/test_helpers/mod.rs
    #	base_layer/core/src/validation/header_validator.rs
    #	base_layer/core/tests/block_validation.rs
    #	base_layer/core/tests/helpers/block_builders.rs

commit 90706bd3fb7997a580fe5357655a2455bc30f197
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Fri May 7 12:57:14 2021 +0200

    update flaky unit tests

    Add tx event to help with awaits

commit c47675017abf2a7f55e7c361db221a7b4ebfef38
Author: Hansie Odendaal <pluto@tari.com>
Date:   Thu May 20 08:57:37 2021 +0200

    Update rust nightly toolchain

commit e6267851f2cb97d33fbcdaf5823671590e512aa8
Merge: 266ad172 af32d49f
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 18 15:02:19 2021 +0200

    Merge #2916: [common] Merge dev into tari-script

    Add clippy warnings for cognitive complexity
    libwallet-0.16.27
    Fix re-org test
    [base-node] Optimise pruned UTXO sync streaming protocol
    [Wallet] Add mined height to display of mined transactions in Console Wallet
    clarify one sided payment
    [base-node] Fixes and tidies up prune mode cleanup
    update tests to use sha3
    add note
    Add option to write unblinded UTXOs to CSV file
    fmt
    Test to reproduce target difficulty problem
    fix case of cucumber
    Insert pruned output audit
    Fix incorrect boolean condition
    v0.8.9
    Fix potential overflow and improve performance of n_leaves
    Add transaction washer util script
    [base-node] Refactor chain storage and rule out some target diff bugs
    [wallet] Update connectivity status when base node changes
    Emission math audit
    Consolidate config files into one
    [wallet] Fixes possible duration overflow in crossterm loop
    fix wallet recovery of coinbase
    Fix cucumber test
    Update Base Node Service monitor to shutdown correctly
    [tests] eslint config and husky pre-commit hook
    v0.8.10
    Let wallet display pretty error for tor offline
    Re-implemented methods for block explorer
    [tests] Repair some integration tests
    Verified massive multiple reorg cucumber
    Bump timeouts
    Remove unused search stxo
    Remove unused search stxo
    Fix tests and add results to CI
    Fix compiler warnings
    Merge Dev into TariScript
    Merge Dev into TariScript
    Fix clippy

commit af32d49ff74411ec53508a8ee98db59dc0491c6a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 18 11:56:29 2021 +0200

    Fix clippy

commit b81ea4173daa3412a61d6993ca1996c299e230aa
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 17 20:16:42 2021 +0200

    Merge Dev into TariScript

commit eb4bac6bae83cfc622e39921a7aa98f2a68a6299
Merge: f30608a9 266ad172
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 17 19:44:09 2021 +0200

    Merge branch 'tari-script' into mb-fix-tari-script-branch

    # Conflicts:
    #	base_layer/wallet/src/transaction_service/service.rs
    #	base_layer/wallet/src/wallet.rs
    #	base_layer/wallet/tests/wallet/mod.rs
    #	base_layer/wallet_ffi/src/lib.rs

commit 266ad172eb03cff4a83754f5d96bc4fd444dee2d
Merge: be04658c 47fe06d2
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 17 16:54:27 2021 +0200

    Merge #2901:[wallet] Update and fix import utxo functions

    Import utxo fn use defaults down the line, this will cause any UTXO that's
    inserted into the wallet to be invalidated due to mismatched scripts, features,
    etc.

    Requires #2872

commit 47fe06d25487550ba117d36766faf4f8d7dd6f29
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Mon May 17 15:20:33 2021 +0200

    rename to maturity

commit 556694705773f814594c67427d461b17c3e59efa
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Mon May 17 15:14:59 2021 +0200

    Update and fix Import utxo functions

    code review

commit f30608a9562295f9d5bcecdd5dab539ea0639851
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 14 15:25:22 2021 +0200

    Merge Dev into TariScript

commit b48c18ce68d06cb889df674a69ffc8038299e412
Merge: 6c8b7a3a f27cc244
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 14 12:26:59 2021 +0200

    Merge branch 'development' into mb-fix-tari-script-branch

    # Conflicts:
    #	Cargo.lock
    #	RFC/src/RFC-0201_TariScript.md
    #	applications/tari_app_grpc/Cargo.toml
    #	applications/tari_app_utilities/Cargo.toml
    #	applications/tari_base_node/Cargo.toml
    #	applications/tari_base_node/src/command_handler.rs
    #	applications/tari_console_wallet/Cargo.toml
    #	applications/tari_console_wallet/src/automation/commands.rs
    #	applications/tari_console_wallet/src/main.rs
    #	applications/tari_console_wallet/src/ui/components/send_tab.rs
    #	applications/tari_console_wallet/src/wallet_modes.rs
    #	applications/tari_merge_mining_proxy/Cargo.toml
    #	applications/tari_mining_node/Cargo.toml
    #	applications/test_faucet/Cargo.toml
    #	base_layer/common_types/Cargo.toml
    #	base_layer/core/Cargo.toml
    #	base_layer/core/src/base_node/comms_interface/local_interface.rs
    #	base_layer/core/src/base_node/state_machine_service/states/horizon_state_sync/horizon_state_synchronization.rs
    #	base_layer/core/src/base_node/sync/rpc/service.rs
    #	base_layer/core/src/blocks/genesis_block.rs
    #	base_layer/core/src/chain_storage/accumulated_data.rs
    #	base_layer/core/src/chain_storage/block_add_result.rs
    #	base_layer/core/src/chain_storage/blockchain_database.rs
    #	base_layer/core/src/chain_storage/historical_block.rs
    #	base_layer/core/src/chain_storage/lmdb_db/lmdb_db.rs
    #	base_layer/core/src/consensus/consensus_manager.rs
    #	base_layer/core/src/consensus/emission.rs
    #	base_layer/core/src/lib.rs
    #	base_layer/core/src/mempool/service/inbound_handlers.rs
    #	base_layer/core/src/test_helpers/blockchain.rs
    #	base_layer/core/src/test_helpers/mod.rs
    #	base_layer/core/src/validation/header_validator.rs
    #	base_layer/core/src/validation/helpers.rs
    #	base_layer/core/src/validation/mocks.rs
    #	base_layer/core/tests/chain_storage_tests/chain_storage.rs
    #	base_layer/core/tests/helpers/block_builders.rs
    #	base_layer/key_manager/Cargo.toml
    #	base_layer/mmr/Cargo.toml
    #	base_layer/p2p/Cargo.toml
    #	base_layer/service_framework/Cargo.toml
    #	base_layer/wallet/Cargo.toml
    #	base_layer/wallet/src/base_node_service/service.rs
    #	base_layer/wallet/src/output_manager_service/service.rs
    #	base_layer/wallet/src/storage/sqlite_db.rs
    #	base_layer/wallet/src/tasks/wallet_recovery.rs
    #	base_layer/wallet/src/transaction_service/service.rs
    #	base_layer/wallet/src/transaction_service/storage/database.rs
    #	base_layer/wallet/src/transaction_service/storage/sqlite_db.rs
    #	base_layer/wallet/src/wallet.rs
    #	base_layer/wallet/tests/wallet/mod.rs
    #	base_layer/wallet_ffi/src/lib.rs
    #	common/Cargo.toml
    #	common/config/presets/tari_config_example.toml
    #	comms/Cargo.toml
    #	comms/dht/Cargo.toml
    #	comms/rpc_macros/Cargo.toml
    #	infrastructure/derive/Cargo.toml
    #	infrastructure/shutdown/Cargo.toml
    #	infrastructure/storage/Cargo.toml
    #	infrastructure/test_utils/Cargo.toml
    #	integration_tests/features/Reorgs.feature
    #	integration_tests/features/WalletTransfer.feature
    #	integration_tests/features/support/steps.js
    #	integration_tests/helpers/transactionBuilder.js
    #	integration_tests/helpers/util.js
    #	integration_tests/package-lock.json

commit 6c8b7a3a68bbdceef9dc947336186d77aaa94e47
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 14 11:43:31 2021 +0200

    Fix compiler warnings

commit be04658c366d8975f6ac73eb1b39060d9d8b519d
Merge: 770feb2b 069be999
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 14 10:31:54 2021 +0200

    Merge #2897: [common] Replace custom ChaCha20 cipher

    Replace custom ChaCha20 cipher with RustCrypto ChaCha20 implementation Fuzzing
    revealed that the custom ChaCha20 implementation in tari_utilities was not
    correct so this PR migrates the DHT encryption to use the audited RustCrypto
    ChaCha20 encryption.

    Had to bump the toolchain version for this update so updated to the most
    current version of nightly. The only update needed was adding a new feature
    flag #![feature(min_type_alias_impl_trait)] which is a new flag for the same
    issue we already use (i.e. #![feature(type_alias_impl_trait)])

    The new nightly toolchain contained an update to the linting used by rustfmt so
    I have included a second commit that is just new formatting to make this easier
    to review.

commit 069be9994cd82d827ac14171344a04ab704bf91b
Author: Philip Robinson <simian@tari.com>
Date:   Fri May 14 09:39:01 2021 +0200

    Replace custom ChaCha20 cipher with RustCrypto ChaCha20 implementation

    Fuzzing revealed that the custom ChaCha20 implementation in `tari_utilities` was not correct so this PR migrates the DHT encryption to use the audited RustCrypto ChaCha20 encryption.

    Had to bump the toolchain version for this update so updated to the most current version of nightly. The only update needed was adding a new feature flag #![feature(min_type_alias_impl_trait)] which is a new flag for the same issue we already use (i.e. #![feature(type_alias_impl_trait)])

commit 770feb2b142cf4e20ae07e2e874dcb9c9695b270
Merge: 2dd0fc2c 270d9b5e
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed May 12 18:40:13 2021 +0200

    Merge #2913: [ci] Switch to ssh urls for tari-crypto dep

    For whatever reason circle ci was failing to checkout the tari-crypto git repo,
    switching these urls to use the ssh:// version is working

commit 270d9b5eea2a017f0a9aac95cc10c82ba5668c93
Author: Byron Hambly <bizzle@tari.com>
Date:   Tue May 11 19:42:35 2021 +0200

    [ci] Switch to ssh urls for tari-crypto dep

commit 2dd0fc2c327f1f3fcb82fddd7a4f90828e5a3ef3
Merge: 3077769d 6f8cb87f
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 18:31:35 2021 +0200

    Merge #2908: [base-node] Fix `header-stats` command

    Tari-script network reset omitted changing this stibbons reference.

commit 3077769d63919b1abed6f613412c7c6e0448fc56
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 18:14:55 2021 +0200

    fmt and clippy

commit 4d72659561777098e3b28bc5c05915f07105670f
Merge: 2999cb93 223f006c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 18:01:30 2021 +0200

    Merge #2910: [chore] Fix build error in console wallet

    Fix build error in console wallet

commit 223f006c96a31d8a7f9806e69e89faec5cf0b32a
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue May 11 19:56:06 2021 +0400

    Fix build error in console wallet

commit 2999cb93ca8698087003a05cf3f66695055048ef
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 17:28:07 2021 +0200

    Fix compile error

commit 23024d0fdb0b273ea834895b9662c7d616a30f0a
Merge: 89bf622a ad65bb2d
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 17:02:48 2021 +0200

    Merge #2894: [wallet] Derive Comms Secret Key from the Master Seed key

    This PR implements the derivation of the Comms private key in the wallet from
    the Master Seed Key that is used as the seed for the key managers used for the
    UTXO’s on the wall.

    Previously the Comms Secret Key was generated by the client applications and it
    was stored in the Wallet Database. This key was also used to determine if the
    database was encrypted and if the provided passphrase is correct or not by
    storing the public key in the database and seeing if the stored private key
    corresponds to the permitted public key after decryption.

    This PR removes the Comms Secret and Public keys from the wallet database and
    replaces them with the Master Seed Key which becomes the single secret key from
    which the Comms Secret Key, UTXO Spending Keys and Rewind keys are derived. The
    Comms Secret key is now derived when the wallet is started based on the
    persisted Master Secret Key. On the first run the wallet will generate the
    Master Secret Key and store it. The Output Manager Service used to generate and
    store this key but now it will accept it from the Wallet and use it to
    initialise its Key Managers.

    The Console Wallet and Wallet FFI is updated to account for this change.

commit ad65bb2d7aeb5cf4b73139af9dc9ccdc7164f83c
Merge: 84e2f08a 89bf622a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 17:02:12 2021 +0200

    Merge branch 'tari-script' into philip-derive-comms-private-key

commit 6f8cb87fef2b864403174f8cf02370c66cfffebf
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue May 11 16:43:58 2021 +0200

    Fix `header-stats` command

    Tari-script network reset omitted changing this stibbons reference.

commit 89bf622aecf87bb5df244b0e6a57f28f4970b7a1
Merge: b6ba3133 21537dca
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 15:11:45 2021 +0200

    Merge #2890: [common] Consolidate config files into one

    Consolidate config files into one

commit b6ba31339d3b2ac974488d0ee4285eebd831b8ab
Merge: 94344960 19bdbf62
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 15:08:43 2021 +0200

    Merge #2895: [docs] Add Bulletproofs Rewinding RFC

    Add Bulletproofs Rewinding RFC

commit 943449609e24301b1634fb1da11295f7734b20c2
Merge: ecac873a ba40a311
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 15:03:27 2021 +0200

    Merge #2906: [tests] Verified massive multiple reorg cucumber (#2906)

    Verified massive multiple reorg cucumber

commit 21537dcae4be61db0e2cd9d6ee682c5de156d3d3
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue May 4 14:38:54 2021 +0200

    Consolidate config files into one

    - Consolidated all the three configuration files that were
      in the code base into one file, usable by all operating
      systems.
    - Removed some deprecated entries in the config file.
    - Updated the installation files/installers to use the new
      config file.
    - Clippy fixes.

commit ecac873a86c75e7d60d1a499e5081b52e6b6705d
Merge: 42220c34 4e5b3e04
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 10 13:45:47 2021 +0200

    Merge #2889: [common] Adds version and commmit string to all application logs (#2889)

    Adds version and commmit string to all application logs

commit 4e5b3e040133db75c4d9f7678702ad6f328a168b
Merge: 09db76fe 42220c34
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 10 13:45:27 2021 +0200

    Merge branch 'tari-script' into general-app-version-in-logs

commit 42220c34cdb596a4040179f5efc1749559a3dca2
Merge: b2020dce 8c3d10d2
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 10 13:39:42 2021 +0200

    Merge #2886: [common] Remove "end of time" panic in emission (#2886)

    Remove "end of time" panic in emission

commit b2020dce319f6edc7bbae1b350ac1c59ce1ca391
Merge: 610b3159 c8b66ad7
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 10 12:00:20 2021 +0200

    Merge #2872: [wallet] Add one sided payment scanning and recovering

    Add one sided payment scanning and recovering

commit ba40a3113bcf374f105982b45eb50844f25dbde3
Author: Hansie Odendaal <pluto@tari.com>
Date:   Sun May 9 12:45:37 2021 +0200

    Verified massive multiple reorg cucumber

commit 84e2f08a96ad68cc8578a32cd4c08f393b1fa8d0
Author: Philip Robinson <simian@tari.com>
Date:   Fri May 7 14:19:27 2021 +0200

    FFI method removal and Test Fixes

    Second commit contains a number of test fixes and some updates based on feedback from @kukabi about how the clients managed the Comms Secret Key. Because this is now completely handled in the backed we can remove the `comms_config_set_secret_key` function. It was also confirmed that the backend is fully responsible for managing the TorID so the old code that provided some migration support for the client to manage the TorID in the past has been removed.

commit 610b3159fb09ca5fd88177a25c777880335de0a2
Merge: c3daa5aa 5c418649
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 7 11:25:45 2021 +0200

    Merge #2887: [common] New gen block for tari_script

    New gen block for tari_script

commit 19bdbf62ef9e1ae094c50341a86935be548dd449
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue May 4 17:31:58 2021 +0200

    Add Bulletproofs Rewinding RFC

commit c8b66ad7d53925a7cf4f1071f5e2d038fab41f1a
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Wed May 5 14:57:18 2021 +0200

    Add one sided payment scanning and recovering

    Refactor recovery task into service
    change to hash based last scanned height
    remove clippy errors

commit 09db76fe0113039a23d144b7d31e31fbe397ba46
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue May 4 16:53:32 2021 +0400

    Adds version and commmit string to all application logs

    - Adds the application name, version obtained form the manifest and
      commit sha to the logs on application startup
    - Updates all log configs to route tari::application messages to all logs
    - Moves all `tari_common` build-time dependencies and code behind `build` feature flag

commit 50ed6bf79e8c2379b83e39f00e6846e7a8e5cea4
Author: Philip Robinson <simian@tari.com>
Date:   Tue May 4 22:35:15 2021 +0200

    [Wallet] Derive Comms Secret Key from the Master Seed key

    This PR implements the derivation of the Comms private key in the wallet from the Master Seed Key that is used as the seed for the key managers used for the UTXO’s on the wall.

    Previously the Comms Secret Key was generated by the client applications and it was stored in the Wallet Database. This key was also used to determine if the database was encrypted and if the provided passphrase is correct or not by storing the public key in the database and seeing if the stored private key corresponds to the permitted public key after decryption.

    This PR removes the Comms Secret and Public keys from the wallet database and replaces them with the Master Seed Key which becomes the single secret key from which the Comms Secret Key, UTXO Spending Keys and Rewind keys are derived. The Comms Secret key is now derived when the wallet is started based on the persisted Master Secret Key. On the first run the wallet will generate the Master Secret Key and store it. The Output Manager Service used to generate and store this key but now it will accept it from the Wallet and use it to initialise its Key Managers.

    The Console Wallet and Wallet FFI is updated to account for this change.

commit 5c418649556814836cbf44707c269e1204b0a12e
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Tue May 4 11:26:28 2021 +0200

    New gen block for tari_script

commit 8c3d10d2d429b0d04018088944b5cd7b5bec2690
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Mon May 3 16:15:13 2021 +0400

    Remove "end of time" panic in emission

    Removed `Option::expect` when total supply overflows `u64`. In this
    case, the `EmissionRate` iterator considers itself "finished" and so
    returns None as per the Iterator contract.

    Removes the `Emission` trait, although nothing incorrect about using a
    trait in this case, it did not provide much of an advantage (decoupling)
    over using the concrete type. I…
delta1 pushed a commit to delta1/tari that referenced this pull request Jul 6, 2021
Squashed commit of the following:

commit b95d558f318d045da9e1172cb802555ae3eb5a47
Merge: 62a03237 862be046
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jul 6 18:18:48 2021 +0200

    fix: fix db update error (#3063)

commit 62a03237ee4c6103b468a07bbf97f665eb391b4a
Merge: 8ecbb1f2 e089af22
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jul 6 18:14:24 2021 +0200

    chore: update digest, rand and sha3 (#3059)

commit e089af2260b19fecc35c69fa053451f9bf649b80
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue Jul 6 14:28:27 2021 +0400

    [chore] Update digest, rand and sha3

    - Update crates `digest` `rand` and `sha3` to fix compilation errors
      (Ref https://github.com/tari-project/tari-crypto/pull/49)
    - NodeId::from_key is infallible
    - This in turn meant that NodeIdentity::new and NodeIdentity::randoma are infallible
    - This in turn meant that NodeIdentityError is unused, so it was removed
    - Remove multiple copies of the random string test utility (all of which
      needed `rand` crate updates) in favour of using the one provided in tari_test_utils

commit 862be046102266ec368c950e5a5736ac0df3f6e0
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue Jul 6 18:05:01 2021 +0200

    Fix db update error

commit 8ecbb1f231da38f2e838c8acc79165b5b0a27136
Merge: 868a064e 4a3d7ccf
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jul 6 17:47:04 2021 +0200

    feat: implement metadata comsig on txn output (#3057)

commit 4a3d7ccf239457762552f75d1b7604dee312b9bd
Author: Hansie Odendaal <pluto@tari.com>
Date:   Wed Jun 30 16:21:16 2021 +0200

    Implement metadata comsig on txn output

    - Implemented metadata comsig for the txn output
    - Created new faucet
    - Updated genesis block timestamp as this is a breakng change
    - Added unit test

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit 868a064e361f34028ee1b70e8a120ec99766b7a1
Merge: 6b6842fd 87c2ad4a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jul 6 11:39:53 2021 +0200

    tests: fix broken cucumber tests (#3058)

commit 87c2ad4abd081de5c96c0e8810ab5f51c323d5bd
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Tue Jul 6 11:32:57 2021 +0200

    fix broken cucumber tests

commit 6b6842fdf372607848e92ea3ea341f9d81d84259
Merge: cc225b83 63c0b6f5
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 16:52:42 2021 +0200

    chore: update example with new peer seeds for weatherwax (#3054)

commit cc225b83ccfc34480a6423cf211c14b7a7844659
Merge: cf33cdb5 88ce1d02
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 16:51:20 2021 +0200

    chore: merge development

commit cf33cdb5403736f67ea71f958e3ac06413c3f8e7
Merge: 742dd9e6 dd49c991
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 16:50:20 2021 +0200

    feat: software auto updates for base node (#3039)

commit 742dd9e6c9fc8c85bb6969e19489a4120d9cc9d1
Merge: 10ea7e38 ed70ecfc
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 16:49:14 2021 +0200

    feat: add zero conf tx (#3043)

commit 10ea7e387834edea1c8b65e7180c1493068fdab7
Merge: 4a1f74f3 9e614444
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jul 5 15:44:39 2021 +0200

    chore: update monerod stagenet url (#3050)

commit ed70ecfccb2a9407af35e17856987fdf40d9b05c
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Mon Jul 5 14:17:08 2021 +0200

    add zero conf tx

    Co-Authored-By: Hansie Odendaal <pluto@tari.com>
    Co-authored-by: Stan Bondi <sdbondi@users.noreply.github.com>

commit 63c0b6f53703561c131d36a819179127816a35e8
Author: Byron Hambly <bizzle@tari.com>
Date:   Mon Jul 5 11:13:08 2021 +0200

    [config] Update example with new peer seeds for weatherwax

commit 88ce1d02d005c69c8f1e296ac4fd511f81e6090c
Merge: 4a1f74f3 f512982a
Author: Byron Hambly <bizzle@tari.com>
Date:   Mon Jul 5 09:48:30 2021 +0200

    merge development into tari-script

commit dd49c991d06bcc578b2dbe0b180c262032a7e0e7
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Thu Jun 24 17:43:15 2021 +0400

    Software auto updates for base node

    Implements software updates for base node

    - Add general-purpose module for software update notifications,
      consisting of:
      - DNS Update checker - checks the configured hosts TXT record for software
        updates
      - Download SHA hash file (shasum) of the updates and validate that a
        known maintainer signed it (future improvements would require > 1 maintainer)
      - Actor/Service that periodically checks for updates and notifies any
        listeners, as well as providing a "handle" interface to the software
        updater.
    - Base node uses this module to implement `check-for-updates` command
      and to display update notifications.
    - Cucumber tests for valid and invalid update
    - Extracted the DNS code from peer seeds so that it can be used for
      reading TXT records here
    - Add autoupdate configuration

commit 4a1f74f34f9b312d3a3bbcdd0e97ab0ad47bfb9d
Merge: 347973e3 6d6a11bb
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 17:05:56 2021 +0200

    tests: fix wallet cucumber tests (#3049)

commit 347973e3e8fdd39bb74d978d14ff414c04a39212
Merge: 5116bdeb 65b91c08
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 17:03:33 2021 +0200

    fix: remove unimplemented Blake pow algo variant (#3047)

    BREAKING CHANGE!: This is a DB and network breaking change.

commit 5116bdebc5bf8d0a1b358a02a143b07df52026df
Merge: 2c9f6999 d76768d3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 17:00:52 2021 +0200

    refactor: clean up the db calls to make them safer (#3040)

commit d76768d3efb4b0147a6f3e1e03327397921131e5
Merge: e738b3b1 2c9f6999
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 17:00:33 2021 +0200

    Merge branch 'tari-script' into sw_refactorr_utxo_scanner_db

commit 2c9f69991f7cfcbda113a55ceeacdf2c13d90da3
Merge: bc98c322 89769b27
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 16:58:51 2021 +0200

    feat: network separation and protocol versioning implementation (#3030)

commit bc98c322b9580f644dc0147f66369388499abf0a
Merge: 9b281cec 85dea958
Author: Mike the Tike <mikethetike@tari.com>
Date:   Sun Jul 4 16:42:35 2021 +0200

    refactor: remove `height` field from outputs (#3027)

commit 65b91c08ce8e0e3b79a863612cdec37969442e33
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Thu Jul 1 16:15:56 2021 +0400

    [chore, testnet-reset] Remove unimplemented Blake pow algo variant

    Remove unimplemented PowAlgo::Blake variant.
    This is a DB and network breaking change.

commit 9e61444456c77e3fc1e7f531e46d1b5e21f53191
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri Jul 2 13:44:01 2021 +0200

    Update host header in proxied request

commit 89769b27e4a41dc27a3e2543479534ac851add61
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue Jun 22 17:30:32 2021 +0400

    Network separation and protocol versioning implementation

    - Changes `WireMode::Comms` variant to contain a single byte.
    - Allows the `WireMode::Comms` byte to be set from domain layer (tari_p2p).
    - [partially network breaking] Removes redundant network specifier from messaging
      protocol.
    - Removes DHT Network enum.
    - Updates Network configuration enum to be representable as a byte.
    - Network configuration enum is now the only Network specifier.
    - Changes consensus Network enum to a struct (NetworkConsensus) that wraps
      the common Network enum.
    - [network breaking] Use byte representation of multiaddr in identity
      message, rather than string. This reduces the bytes exchanged when
      establishing a new peer connection.
    - [network breaking] Shave a few bytes off of identity and messaging protocol IDs
      to match the format of other protocols.
    - [network breaking] Add major and minor versions to messaging protocol
    - [network breaking] Add major version check when establishing a
      connection
    - [network breaking] Remove NodeId from PeerIdentityMsg as this can be derived from the
      public key obtained from the noise handshake

commit 85dea958016bd383b2648aca907d490c5fe6b309
Author: Philip Robinson <simian@tari.com>
Date:   Fri Jul 2 11:32:46 2021 +0200

    Remove `height` field from outputs

    In the discussion around [RFC-0201](https://rfc.tari.com/RFC-0201_TariScript.html) it was decided that the `height` field is not actually required to prevent replay attacks with the introduction of TariScript. We rely on the enforcement of unique commitments in the mempool and blockchain to prevent this. As such this PR removes the height field from the TransactionInput and UnblindedOutput structs.

commit 38278f0bb416ca00398667c3443fee1bd892eb81
Author: Byron Hambly <bizzle@tari.com>
Date:   Thu Jul 1 20:30:08 2021 +0200

    [chore] update monerod stagenet url in readme

commit 1d4176cc72d319bbadb7788465e878e734354194
Author: Byron Hambly <bizzle@tari.com>
Date:   Thu Jul 1 20:29:26 2021 +0200

    [chore] update monerod stagenet url

commit 6d6a11bbe9c7c460eeed59b0f06d11984d4ec685
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Thu Jul 1 19:59:23 2021 +0400

    Fix wallet cucumber tests

    Output hash generation in `the UTXO {} has been mined according to {}`
    needed to be updated from https://github.com/tari-project/tari/pull/3041

commit 9b281cec339fea5cad48ca84cb5698302792373f
Merge: fb1a692a 2cd35c59
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jul 1 11:18:31 2021 +0200

    feat(wallet): add maturity to transaction detail (#3042)

commit 2cd35c593ba66ba4f3de1df06e7487d0844732bb
Author: Byron Hambly <bizzle@tari.com>
Date:   Tue Jun 29 13:29:45 2021 +0200

    [console-wallet] Add maturity to transaction detail

commit fb1a692aeb92af585a83b1c84948896db1cbcf1b
Merge: da1d7579 5c79bf25
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jul 1 09:37:36 2021 +0200

    refactor: remove type alias impl trait unstable feature requirement from DHT (#3037)

commit da1d75790fcb4eb9a71b7822c3ede3d9ba598241
Merge: ef94134b ec5390f7
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jul 1 09:31:25 2021 +0200

    fix: fix small issues related to #3020 (#3026)

commit ec5390f74656eecdc439c379e2faf8ea6a679964
Merge: ca897079 ef94134b
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jul 1 09:30:47 2021 +0200

    Merge branch 'tari-script' into ho_small_fixes

commit 5c79bf25eab08b762a16dbbf14011d350e6e4a69
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Sun Jun 27 12:36:26 2021 +0400

    Remove type alias impl trait unstable feature requirement from DHT

    Replaces the `type_alias_impl_trait` feature requirement with boxed
    Futures on all services. Removes/simplifies some redundant trait bounds.

    SAF handler task had to be implemented to be a less concurrent because
    of the additional trait bounds required for boxing.

commit ef94134b4f60af1b907ff7d220a7b3f1ac446ac0
Merge: f2239418 5f5a9c7c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 16:44:38 2021 +0200

    chore: fix build (#3044)

commit 5f5a9c7c5dc4bd8918ffe0800a914cdf2038f88f
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Wed Jun 30 16:18:33 2021 +0200

    fix build

commit f223941859903bdd3becd914ac84e630adb1e7c1
Merge: ae15fd9c 054b45aa
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:06:04 2021 +0200

    refactor: start refactoring `min_type_alias_impl_trait` to `async_trait` (#3034)

commit 054b45aa6314cd98e38997b67d7b973c89395761
Merge: cdb4f547 ae15fd9c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:05:46 2021 +0200

    Merge branch 'tari-script' into async-trait

commit ae15fd9c6203f8a6fe40be411fe3e4e590270ef7
Merge: 229830e5 91af2872
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:04:13 2021 +0200

    feat: add filtering of abandoned coinbase txs to console wallet (#3032)

commit 229830e595c6b3c97011547d18885e2c0a3e3f19
Merge: 574ff8bb b89a67db
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:03:12 2021 +0200

    fix: Update connectivity manager defaults (#3031)

commit 574ff8bb7357fc3a5edcb60c564af0a7e038f6a7
Merge: 0ffaedec 35b35333
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:01:24 2021 +0200

    docs: clarify Tari Script nomenclature (#3029)

commit 0ffaedec4683748e452cfdee20464022dfbd4367
Merge: 65552cbd b0b57612
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 15:00:17 2021 +0200

    tests: let the test pass if 1% of nodes will fail. The number of nodes that need to succeed is rounded down. Change from promise.all to a custom wait for N promises. (#3028)

commit 65552cbd7b826e76a63ca50e53c41e8986eb9860
Merge: adb4a640 59f9675c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 14:57:04 2021 +0200

    feat: add input_mr and witness_mr to header (#3041)

commit 59f9675c5f2bac76bd2c88151b44d2f9a761db3a
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue Jun 29 15:09:22 2021 +0400

    Add input_mr and witness_mr to header

    As per updated RFC 120 (ref #3025):

    - Add `input_mr` to header, commits to all inputs in a block
    - Add input merkle root validation check
    - Commit to all transaction input fields
    - Add `TransactionInput::output_hash` that produces the hash of the output
       that was spent in the input
    - Remove range proof MR in favour of witness MR
    - Witness MR commits to all rangeproofs and sender metadata
    - Add witness_hash function that produces `Hash(RangeProof || sender_metadata_signature)`
    - Updated weatherwax genesis timestamp because this change is a hard
      fork
    - Updated header format in proto messages (network breaking)
    - Commit to `input_mr` in sha3 and monero mining hashes
    - Add some missing fields (`output_mmr_size`, `kernel_mmr_size` and `total_script_offset`)
      to sha3 miner hash (w/ minor code clean up)

commit adb4a64000f991df06454e86c303728af881241d
Merge: 04f826db 57ce1ac8
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 30 14:48:36 2021 +0200

    feat: Change script_signature type to ComSig (#3016)

commit cdb4f54724d73dd3085ae81beffa4f29a8a27471
Author: Byron Hambly <bizzle@tari.com>
Date:   Wed Jun 30 14:47:03 2021 +0200

    [tests] Fix test compilation error

commit 57ce1ac8732efeadca52b0f58d3ec482be6b1863
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Fri Jun 25 18:21:12 2021 +0200

    Change script_signature type to ComSig

    Fix cucumber test for comsig
    fix spelling
    Co-Authored-By: Hansie Odendaal <pluto@tari.com>

commit b0b5761231cf3a8a34ed23bb256dfaef483e6eb8
Merge: 15b6d6c3 04f826db
Author: Martin Stefcek <35243812+Cifko@users.noreply.github.com>
Date:   Wed Jun 30 07:55:03 2021 +0200

    Merge branch 'tari-project:tari-script' into tari-script

commit e738b3b148f2e3de73bf7669806242457ff60291
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Tue Jun 29 07:51:18 2021 +0200

    clean up the db calls to make them safer

commit 04f826db140042248797e1377ee665b809146fe5
Merge: 4a499564 08dfc00c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jun 28 11:21:06 2021 +0200

    docs: update rfc to add witness_mr to header (#3025)

commit 08dfc00c4c8176d06b57eadb9d1992b47430c5d3
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Fri Jun 25 18:55:17 2021 +0200

    Add input_mr
    Change rangeproof_mr to be a witness_mr

commit f70d5ab83dd5224f4ab47f7dd77323a7f9e0c184
Author: Byron Hambly <bizzle@tari.com>
Date:   Thu Jun 24 18:58:22 2021 +0200

    [common] Start refactoring `min_type_alias_impl_trait` to `async_trait`

commit 4a499564d59162db25693f194f00eb4bd91f0700
Merge: ea15e9c1 cd0445fe
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 14:29:45 2021 +0200

    feat: update app state when base node is set by command/script mode (#3019)

    [console-wallet] Update app state when base node is set by command/script mode
    [console-wallet] Add command mode auto exit arg
    [console-wallet] Allow amount field to parse Tari

commit ea15e9c186f1ca09de5190a4de22e9e9c774ced1
Merge: 19ed0013 5d79c627
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 14:25:35 2021 +0200

    docs: add RFC-0173 - Versioning to the RFCs (#3013)

commit 19ed001335f23bbf10a28557a03037edc71beaea
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 12:14:50 2021 +0200

    chore: fmt

commit f8dae4dacb6ba0f1add9674d2d0f93c2538f359a
Merge: 05674a3d 6ab28f23
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 12:13:40 2021 +0200

    refactor: remove MemoryDBs from the wallet (#3017)

commit 6ab28f239cb4156ecf6f1424970647c288d6eff6
Merge: b5fef024 05674a3d
Author: Mike the Tike <mikethetike@tari.com>
Date:   Thu Jun 24 12:13:06 2021 +0200

    Merge branch 'tari-script' into philip-remove-memory-db

commit 91af2872dee0148647f1e22587a2cf64346a9248
Author: Philip Robinson <simian@tari.com>
Date:   Wed Jun 23 20:33:46 2021 +0200

    Add filtering of abandoned coinbase txs to console wallet

    This PR adds the ability to filter abandoned coinbase transactions in the completed transaction list of the console wallet. The filter is on by default and can be toggled with the A key. Transactions that have the Coinbase status and are also cancelled are filtered out and when displayed have the status of `Abandoned`.

    A TransactionFilter bitfield has been added to the AppState which currently only includes the AbandonedCoinbase flag but will allow for more filters to be added and combined. The filtering is done when the UI draw requests the vector of references to the current list of transactions. If no filter is applied the full vector of references is returned, otherwise a iterator filtered version is returned applying the conditions of the filter.

commit 15b6d6c3617f2cbfd2b6071ea8c161872cbcd585
Author: Cifko <gcifko@gmail.com>
Date:   Tue Jun 22 16:58:04 2021 +0200

    Let the test pass if 1% of nodes will fail. The number of nodes that need to succeed is rounded down.
    Change from promise.all to a custom wait for N promises.

commit 05674a3dd1590fe1c96b11e628bb1a5156f3932c
Merge: d2049ffe 1bc3efb3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 23 11:56:22 2021 +0200

    refactor: refactor utxo scanner class (#3005)

commit 1bc3efb3b69f233b29dc33b70bfba4d110d6275d
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Wed Jun 23 11:51:16 2021 +0200

    refactor utxo scanner class

commit 5d79c627e01645c64b98a44425934457745a0867
Author: Philip Robinson <simian@tari.com>
Date:   Wed Jun 23 10:42:24 2021 +0200

    Add RFC-0173 - Versioning to the RFCs

    This PR contains a new RFC with a proposal of how we will handle versioning of the wire format, P2P messaging and consensus rules on the Tari network.

commit b89a67db21cdac0a32f97ab44e82826e6ac65599
Author: Philip Robinson <simian@tari.com>
Date:   Wed Jun 23 10:16:33 2021 +0200

    Update connectivity manager defaults

    This PR tweaks the `offline_peer_cooldown` and `max_failures_mark_offline` default values to better cope with intermittent disconnections.

    `offline_peer_cooldown` is reduced from 24 hours to 2 hours so that the peer will become eligible for a reconnection in less time.

    `max_failures_mark_offline` is changed from 1 to 2 to allow for one more round of connection retries before giving up on the node until the above cool down expires.

commit 35b35333a9eec146a904c1c69ba33aa919bab2d1
Author: Hansie Odendaal <pluto@tari.com>
Date:   Mon Jun 21 17:56:07 2021 +0200

    Clarify Tari Script nomenclature

    Picked less confusing script related names and updated the glossary:
    - script offset               => script offset
    - script offset private key   => sender offset private key   [updated!]
    - script offset public key    => sender offset public key    [updated!]
    - script private key          => script private key
    - script public key           => script public key
    - script signature            => script signature
    - sender metadata signature   => sender metadata signature

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit a7601d4e5b2e9b2fc46df3c82b2939cff4da5360
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Tue Jun 22 15:31:46 2021 +0200

    update rfc to add witness_mr to header

    Co-Authored-By: Hansie Odendaal <pluto@tari.com>

commit ca897079678163df37682aedc9c8b329e5e0dfa9
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue Jun 22 11:38:18 2021 +0200

    Fix small issues related to #3020

    - As per reviewer comments

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit d2049ffec3000f01eb555042d24d55fab7818c6b
Merge: b3e3d38d b14f0342
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 22 11:33:11 2021 +0200

    docs: update RFC-0111 - Base Node architecture (#3014)

commit b3e3d38d2a742882e4e7fec7bad0a126efba5ab3
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 22 11:17:46 2021 +0200

    Review of RFC-0001 (#3007)

    * Review of RFC-0001

    This PR contains a revision of RFC-0001 to better reflect the current state of play in Tari’s design.

    * Update RFC/src/RFC-0001_overview.md

    Co-authored-by: Cayle Sharrock <CjS77@users.noreply.github.com>

    Co-authored-by: Mike the Tike <stringhandler@gmail.com>
    Co-authored-by: Cayle Sharrock <CjS77@users.noreply.github.com>

commit 7901b3ca2a6096e0f9148181b7a07ed16209d168
Merge: 4b4af991 f3d3c3af
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 22 10:56:35 2021 +0200

    feat: add sender signature to txn output (#3020)

commit f3d3c3af7eb9e247a8f0d01978cdfcebbbcacd35
Author: Hansie Odendaal <pluto@tari.com>
Date:   Fri Jun 11 16:01:58 2021 +0200

    Add sender signature to txn output

    - Added sender signature to the transaction output and unblinded output.
    - Added sender signature validation to the transaction consistency check.
    - Added unit test to verify sender signature.
    - Added sender signature to cucumber (transaction builder).
    - Simplified test code making use of unblinded outputs.
    - Updated genesis block time stamp due to breaking changes.

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit cd0445fe55951bf1ee006869bd5326d39dd35227
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri Jun 18 14:45:41 2021 +0200

    [console-wallet] Allow amount field to parse Tari

commit 3998844b5a7856c4528ad7378c17879c21a19669
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri Jun 18 14:10:23 2021 +0200

    [console-wallet] Add command mode auto exit arg

commit 754d71ab5d06bfc9a704e7a0530d5fe91fe5b620
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri Jun 18 11:00:31 2021 +0200

    [console-wallet] Update app state when base node is set by command/script mode

commit b5fef0244fbbf9fb5149ffd0e83911dc248ac460
Author: Philip Robinson <simian@tari.com>
Date:   Thu Jun 17 16:58:31 2021 +0200

    Remove MemoryDBs from the wallet

    In the past all the wallet services has a Sqlite and Memory based db backend to use in testing. However maintaining the memory DB’s became a chore.  This PR removes the Output Manager and Contacts Service memory databases and updates the tests that use those databases to use a temporary Sqlite database instead.

commit 4b4af99121be5b6f612b7d71bfeba8a8ff9490a8
Merge: b174390e 568788cf
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 16 11:19:22 2021 +0200

    test: fix integration tests (#3015)

commit 568788cf03a56c220b442352afc12857cbe273ed
Author: Byron Hambly <bizzle@tari.com>
Date:   Mon Jun 14 10:17:11 2021 +0200

    [tests] Fix integration tests

commit b14f0342006fc0788ef47ef5d32015a75761d4cd
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 15 16:01:29 2021 +0200

    Update RFC-0111 - Base Node architecture

    This PR updates RFC-0111 to reflect the current architecture of the Base Node binary.

commit b174390e1ac6f748cf64b1787f6648e5cc6b1fb0
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 15 12:00:56 2021 +0200

    Review of RFC-0100 (#3008)

    This PR contains a small update to RFC-0100 to reflect the current state of the project

commit 0bc81ef426cc7627cd6f0b759db26140cab0f3f0
Merge: b3522027 86374505
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 16:20:57 2021 +0200

    test: fix double spend test. (#3012)

commit 8637450511a5112594697626c7c0bef5bca612e5
Author: Cifko <gcifko@gmail.com>
Date:   Thu Jun 10 19:28:40 2021 +0200

    Fix double spend test.

commit b3522027b824dd8bb50a7183397adba082fdf28e
Merge: 537db06f 5b6d7c42
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 13:27:20 2021 +0200

    fix: check minimum number of headers for calc-timing (#3009)

commit 537db06f33c49942d42e83fd6838f4fd405028d0
Merge: b3760202 d7db26b3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 13:23:49 2021 +0200

    fix: fix `Unique Constraint` bug when requesting a coinbase output at same height (#3004)

commit b3760202992676b8874a155775472820e6a22932
Merge: ac062e57 f2876a13
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 12:14:26 2021 +0200

    feat: display local time instead of UTC. Add new wallet commands. (#2994)

commit ac062e57903d493e09bff0ccee36660f7c088782
Merge: c88d789e 635b1969
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 12:11:03 2021 +0200

    feat: mininal merkle proof for monero pow data (#2996)

commit c88d789e0e8ee2180279debb59f0d53e15db3b66
Merge: b19789d1 f972d837
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 11:28:08 2021 +0200

    feat: modify gamma calculation for TariScript

commit b19789d1607d8c104c3cc0c902a8af75724ef828
Merge: 330e7b7d c8491bdc
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 10:54:23 2021 +0200

    test: add logs to cucumber ci artefacts (#3011)

commit c8491bdc58b8e820abe07594bed03c7607db8632
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 11 09:37:48 2021 +0200

    add logs to cucumber ci artefacts

commit 635b196927b5f4baed035394468ce6cc03cf74c0
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Mon Jun 7 15:02:53 2021 +0400

    Mininal merkle proof for monero pow data

    - Adds a port of Monero's `tree_branch` that returns a merkle proof
    - Extensive unit tests for create_merkle_proof
    - Uses a merkle proof of the transaction hash set instead of the full
      transaction hash set.
    - Adds more extensive unit tests for tree_hash
    - tree_hash now has at worst one allocation
    - RandomX seed is represented in a fixed size array instead fo a
      unbounded String
    - Use monero's consensus de/encoding for MoneroPowData

commit 5b6d7c42fe6903c35ed26883ec6beffb24661ca7
Author: Byron Hambly <bizzle@tari.com>
Date:   Thu Jun 10 10:09:43 2021 +0200

    [base-node] Check minimum number of headers for calc-timing

commit d7db26b3f286b68a5e905d8e814cd18c0cf61552
Author: Philip Robinson <simian@tari.com>
Date:   Thu Jun 10 08:57:19 2021 +0200

    Fix `Unique Constraint` bug when requesting a coinbase output at same height

    If a miner requested a Coinbase Transaction at the same height as one that was requested previously and that output had the exact same commitment the Output Manager database would return a Unique Constraint error due to the existing output in the database. This would happen rarely when a miner is experiencing many reorgs while mining.

    To fix this issue logic is added to the Output Manager service to clear any existing coinbase outputs with the same commitment at the same block height as the one that was just requested before adding it to the database. I decided this presents no danger of losing funds because the newly added coinbase will have the exact same commitment as the one being removed.

commit f2876a132ff6551f67c89b166561e616bbb9c110
Author: Byron Hambly <bizzle@tari.com>
Date:   Tue Jun 8 13:40:05 2021 +0200

    [ui] Display local time instead of UTC. Add new wallet commands.

    - [base-node] Use local time in status line
    - [base-node] Show version number in status line
    - [console-wallet] Use local time in transaction list and detail view
    - [console-wallet] Add `set-base-node` command
    - [console-wallet] Add `set-custom-base-node` command
    - [console-wallet] Add `clear-custom-base-node` command

commit f972d8376c5fe88a73769e4132c95fa92c0920dc
Author: Hansie Odendaal <pluto@tari.com>
Date:   Thu Jun 3 15:12:11 2021 +0200

    Modify gamma calculation for Tari script

    - Modified gamma calculation for Tari script according to the latest
      RFC-0201.
    - Fixed private keys re-use issue in `transactions/helpers.rs fn craete_tx`.
    - Clarified use of test params in `transactions/helpers.rs fn spend_utxos`.
    - Ensured `consensus_validation_large_tx` will fail if the txn internal
      consistency is not ok (gamma is calculated here as well).

    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit 330e7b7d51e4ab8af50b8bbf12a8487ece23a07f
Merge: 70c21294 a6835585
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 16:17:17 2021 +0200

    test: fix reorg difficulty unit tests (#2995)

commit 70c21294fa87da8198e8b79f8b49d61bd6bee721
Merge: a2c6b17d c601199a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 15:01:53 2021 +0200

    feat(wallet): ensure recovery will not overwrite existing wallet (#2992)

commit a2c6b17de6fd8ac14a5379b0c44d34c1e1e71e2d
Merge: 472c3086 98dfed73
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 14:28:40 2021 +0200

    feat(ffi): `wallet_create` takes seed words for recovery (#2986)

    BREAKING CHANGE: FFI function wallet_create now takes an optional seed words
    arg, if provided this sets the wallet master recovery key from which the comms
    public key and spending keys are derived from

commit 472c30865cfa5a3cc648bffe22f6ec6e7aa22572
Merge: 5174de0d 4626c4cb
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 14:25:52 2021 +0200

    fix: cancel faux transaction when imported UTXO is invalidated (#2984)

commit 5174de0d562b3ff444bceebeacbf3917b74dce85
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Wed Jun 9 13:52:04 2021 +0200

    feat: Fix birthday attack vulnerability in tari script offset (#2956)

    Co-Authored-By: Hansie Odendaal <pluto@tari.com>
    Co-Authored-By: SW van Heerden <swvheerden@gmail.com>

commit 4626c4cbb7af9a3a285a5af4598af03b015cdeb9
Author: Philip Robinson <simian@tari.com>
Date:   Wed Jun 9 12:39:10 2021 +0200

    Cancel faux transaction when imported UTXO is invalidated

    When a UTXO is imported into the wallet a faux transaction is added to the transaction service to represent the event that impacted the wallets balance. If the imported output turns out to be invalid, i.e. it was an already spent output or it was an orphan output then the output validation will invalidate it. However, the faux transaction would not be invalidated and would still appear in wallet transaction lists. This was found to be confusing. So this PR links the imported output to the faux transaction and if the output is invalidated the transaction is invalidated.

    Cucumber tests are added to test this functionality.

commit 98dfed73a4ae6660fbe3c5e7420ea3e06e8f3fec
Author: Byron Hambly <bizzle@tari.com>
Date:   Tue Jun 1 11:59:32 2021 +0200

    [wallet-ffi] `wallet_create` takes seed words for recovery

    Breaking change in wallet FFI, new argument in `wallet_create` to
    specify optional seed words for recovery.

    Also starts alpha quality NodeJS FFI wallet client for testing purposes.

commit c9fdeb3da90a297a75a53ddbea6823f3e6520b8d
Merge: ded45e9e 97e128b3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed Jun 9 09:49:19 2021 +0200

    fix(wallet): increment wallet key manager index during recovery (#2973)

commit 97e128b3bd869e0bc28c41f973d22d7977a0d046
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 8 15:05:35 2021 +0200

    Increment wallet key manager index during recovery

    Currently, when recovery is performed the key manager index is not incremented as outputs are found. This means that when new transactions are performed the key manager produces previously used spending keys for the new outputs, reusing private keys. We also did not apply the correct script private key to the recovered output. This wasn’t a problem because we are using `Nop` scripts but for any script that requires this key to be correct we would have had a problem.

    This PR adds the logic that when an output is rewound during recovery that we find the key manager index for the recovered spending key, update the key manager index to one more than the highest index found during recovery and also use this index to apply the correct script private key to the recovered output.

    This PR also contains a but of neatness refactoring in the Output Manager Service.

commit a6835585f9ee3361e53fd4ba4f47c1e0a652ceb6
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 8 14:21:37 2021 +0200

    Fix reorg difficulty unit tests

    The changes in PR 2960 changed the LWMA difficulty calculation to be integer based. This changed the nature of the calculation for small values. The two broken tests affected by this change were:
    `test_handle_possible_reorg_target_difficulty_is_correct_case_1`
    `test_handle_possible_reorg_target_difficulty_is_correct_case_2`

    These tests relied on assumptions about the difficulty calculated by LWMA based on the block times specified in the tests. Just updating the test to use much higher difficulties would have meant the change to integer math would not have had such a breaking effect but the way the unit tests have to mine for new hashes based on the difficulties meant that the difficulties needed to be kept as low as possible.

    This PR tweaks the block times in these tests in order to produce varying difficulties but keeping them low enough for the unit test environment.

commit ded45e9e8e1eb309cf84efc186eb0904fa1ea8a4
Merge: b520037e 39a56fd0
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon Jun 7 11:21:34 2021 +0200

    chore: Update wallet-grpc-client to use https instedad of git for npm ci to work (#2976)

commit 39a56fd0e59fd4bc138229cc36f94a5507dad577
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri May 28 14:53:41 2021 +0200

    [ci] Update wallet-grpc-client to use https instedad of git for npm ci to work

commit c601199a910bcf540f41336db431aef069e41eb2
Author: Byron Hambly <bizzle@tari.com>
Date:   Sun Jun 6 20:43:18 2021 +0200

    [wallet] Ensure recovery will not overwrite existing wallet

commit b520037e4e054b27eb65b004a0e52d87d2c64086
Merge: 7172a021 1af7a759
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 4 11:37:37 2021 +0200

    feat!: remove beta from range-proof calculation (#i2987)

    BREAKING CHANGE: Nodes will need to resync from scratch

    Co-Authored-By: Hansie Odendaal <pluto@tari.com>

commit 7172a021f8ae8c500ce59b5514667f2be6d241d4
Merge: f45cdc46 5218365b
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 4 11:31:47 2021 +0200

    test: add cucumber test to verify hybrid mined coinbases (#2977)

commit f45cdc46f8485ea8978dd05edafa26d374c98fdc
Merge: f7dc3a44 5c13deb3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 4 11:05:50 2021 +0200

    fix: update console wallet on one sided payment import (#2983)

commit f7dc3a44d2f57102024605cc6f4c93bb326b292a
Merge: b6e74bbd 6204d5d2
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri Jun 4 09:57:19 2021 +0200

    fix: fix prune mode (#2952)

commit 1af7a759461e609bfda4da43a82846039e14b983
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Thu Jun 3 15:29:04 2021 +0200

    remove beta-hash

    fix cucumber tests

commit 5218365b831b662ee80cc53418aa63ad66d6785d
Author: Hansie Odendaal <pluto@tari.com>
Date:   Wed May 26 18:50:35 2021 +0200

    Add cucumber test to verify hybrid mined coinbases

    - Added cucumber test as above
    - Added cucumber methods to do hybrid mining till specified blockchain height
    - Updated the mining node to accept a new `--mine-till-height`command line parameter
    - Fixed mining node to acknowledge environment variables for `num_mining_threads` and
      `validate_tip_timeout_sec`; this only worked via the config file
    - Added number of mining threads for the SHA3 mining node to use as an option
    - Cleaned up the `log4rs_sample_mining_node.yml` config file
    - Added custom `mining_node.yml` as an input file for cucumber tests
    - Fixed flaky test `tx_broadcast_protocol_submit_mined_then_not_mined_resubmit_success`

commit 5c13deb3baf80f9e0a599a060acef44863895e3d
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 20:03:55 2021 +0200

    Update console wallet on one sided payment import

commit 6204d5d28a88fb631980e94e3926df34f9ae951c
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Thu May 20 23:01:41 2021 +0200

    fix prune mode

    fix fmt

commit b6e74bbdd2e7886044ca8f6aa2707f1b0131680a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 15:19:12 2021 +0200

    test:fix nop script name

commit 5dab4de212b86fe09c602e1c4baf9dc30b9c27be
Merge: 7e99ea59 f7cb03a0
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 15:14:37 2021 +0200

    test: fix cucumber error introduced by full script in transaction output (#2979)

commit f7cb03a04dd6148834b7788d3a16cc327415ed97
Merge: 61233b0f 7e99ea59
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 15:14:12 2021 +0200

    Merge branch 'tari-script' into philip-cucumber-full-script-fix

commit 7e99ea59ec11f19ba47e62729c3ee8b500d16c2e
Merge: a14599e2 68320ea4
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 13:49:48 2021 +0200

    fix: fix ChainStorageError after a reorg with new block (#2915)

commit 68320ea4d8979cedd6399b55c30e5a82ec774c30
Author: Hansie Odendaal <pluto@tari.com>
Date:   Thu May 20 15:02:11 2021 +0200

    Fix ChainStorageError after a reorg with new block

    - Fixed a ChainStorageError that occurs due to invalid transactions remaining in
    the mempool when the 1st block is requested for mining via GRPC directly after
    a chain reorg.
    - Added a failing cucumber test for the above condition.
    - Minor cucumber improvements.
    - Updated the `tari-crypto` version number dependency.

commit 61233b0fdd8c75a7f5c5f58f2c3eeec23905cfed
Author: Philip Robinson <simian@tari.com>
Date:   Tue Jun 1 12:00:44 2021 +0200

    Fix cucumber error introduced by full script in transaction output

    This PR updates the transaction builder in the Cucumber helpers to calculate the Beta hash and the Transaction Output hash correctly now that the whole script is included in the output.

    Implement including full script in transaction outputs

commit a14599e254802d9f168940e62a4a5fe6091a5ae4
Merge: e04c884e 1bcbfc01
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 10:46:32 2021 +0200

    test: make pruned mode cucumber reorg tests predictable (#2969)

commit e04c884eb4c7aaf124fa5da5d80ecfc4b00817e1
Merge: db303e8c 786f404c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 10:40:42 2021 +0200

    fix: improve error messages in tari applications (#2951)

commit db303e8ca9632c6a6634e52cbfb6a79cd3e43a29
Merge: 5901be8d 6693019b
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue Jun 1 10:29:41 2021 +0200

    feat: improve LWMA (#2960)

commit 786f404cb07bd83763253aa4cf57af8c47512c19
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Thu May 20 23:06:23 2021 +0200

    update error messages

commit 5901be8d2a5256a7a77323840e350b912163e073
Merge: 94ffd185 eeb8acbf
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 31 15:15:55 2021 +0200

    refactor!: including full script in transaction outputs (#2978)

    @Co-Authored-By: Philip Robinson <philip.robinson.za@gmail.com>

commit eeb8acbfe938ab5e53cb2ed82ee6ca805f846c8c
Author: Philip Robinson <simian@tari.com>
Date:   Mon May 31 15:04:23 2021 +0200

    Implement including full script in transaction outputs

    This PR replaces the script hash in a transaction output with a full script. This has been done to make on-chain script detection and analysis possible. This makes features like detecting your own scripts based on included pubkeys during a seed phrase recovery possible.

    This PR updates the TransactionOutput struct to hold a script and not script hash and updates the code base to reflect this change.

    RFC-201 is updated to reflect the change to the calculation of Beta

commit 1bcbfc01bcb3c42d9577771bd81325218f96fd9a
Author: Hansie Odendaal <pluto@tari.com>
Date:   Wed May 26 10:07:32 2021 +0200

    Make pruned mode cucumber reorg tests predictable

    - Ensured the different chains that are constructed have predictable
      accumulated difficulties for tests `Pruned mode reorg simple` and
      `Pruned mode reorg past horizon`.
    - Marked the 10,000 case `Ramped Stress Test` stress test as `@broken`.
    - Updated the `tari-crypto` package version.

commit 6693019b81fefc8d4730ebac16beb4e21bbec70c
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Thu May 20 14:42:16 2021 +0200

    Improve LWMA to be more stable

    overflow test

    review comments about u128 declarations

    remove extra cast

commit 94ffd185ff4ee9ce5575f28ae28e73464342b657
Merge: b55d99fe 89ceb418
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 28 12:21:58 2021 +0200

    fix: merge dev, update peer seeds (#2974)

commit 89ceb418599851f555d992f55ef09f10e9b009e2
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri May 28 11:05:26 2021 +0200

    [base-node] update peer seeds temporarily for tari-script branch

commit 76c787a46b42927d77eadc6962f667f6ef3e8986
Merge: b55d99fe bef1829b
Author: Byron Hambly <bizzle@tari.com>
Date:   Fri May 28 10:28:44 2021 +0200

    Merge remote-tracking branch 'tari/development' into merge

commit b55d99fe3b08b34485bf1a9429cfad32a3fac84f
Merge: 83eca218 be6f3c5b
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed May 26 16:25:11 2021 +0200

    fix: implement cucumber tests for one-sided recovery and scanning (#2955)

commit be6f3c5b8d0844c13a993e0b72742b9b838a52cf
Author: Mike the Tike <stringhandler@gmail.com>
Date:   Wed May 26 16:23:06 2021 +0200

    Apply suggestions from code review

    Co-authored-by: Hansie Odendaal <39146854+hansieodendaal@users.noreply.github.com>

commit 2a48e2167e6e4265eece11572ae0c03ecc438f96
Author: Philip Robinson <simian@tari.com>
Date:   Wed May 26 15:06:49 2021 +0200

    Implement cucumber tests for one-sided recovery and scanning

    This PR implements cucumber tests for recovering one-sided payments, scanning for them under normal wallet operation and also adds to the existing standard recovery test to spend the output after it has been recovered which revealed a few bugs. The PR also contains a number of bug fixes to make these tests possible.

    - Console wallet will not enter TUI mode after recovery if its started in daemon mode, this crashes cucumber
    - Persist “Known one-sided scripts” when a Comms Private/Public key is derived to be scanned for
    - Fix the UTXO scanner when started as a service.
    - Add Cucumber helpers to support the tests.

commit 83eca2182a32f0043ea85e7a6f1520c218c5a811
Merge: 812a1611 79271a84
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 25 15:35:56 2021 +0200

    test: fix cucumber tests on `tari-script` branch (#2968)

commit 79271a84a7e02cb68475ee5d9cb12abe3d43324f
Author: Hansie Odendaal <pluto@tari.com>
Date:   Thu May 20 15:02:11 2021 +0200

    Fix cucumber tests on `tari-script` branch

    - Fixed cucumber tests on `tari-script` branch after merging `development`
    into `tari-script`.
    - Fixed a number of flaky tests.

commit 812a1611a924b977a79bd5e7fe16eb986649adce
Merge: ed17fee3 c4767501
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 25 12:43:55 2021 +0200

    fix: update rust nightly toolchain (#2957)

    Update rust nightly toolchain

commit ed17fee3e34d3985794af621ba131e066849abec
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 15:12:44 2021 +0200

    fix: Update failing rust tests (#2961)

commit 19a1bd660bc36eea91c3936e464e57d582d1bcff
Merge: 92e9a2e5 c4c28b9c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 14:39:06 2021 +0200

    chore: Fix clippy warnings in tests (#2965)

commit c4c28b9c479fba859e4d94212e7e88d4d0f5d544
Author: Hansie Odendaal <pluto@tari.com>
Date:   Fri May 21 14:13:04 2021 +0200

    Fix clippy warnings in tests

commit 92e9a2e5918a590f68293f2ea0f950e724f1925a
Merge: 05e34edc 90706bd3
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 14:10:32 2021 +0200

    Merge #2899: [tests] update flaky unit tests

    update flaky unit tests

commit 05e34edc7c1cdb893af454c886fc5904d42016a7
Merge: e6267851 5ae2b4db
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 14:03:05 2021 +0200

    Merge #2964: [chore] Merge dev v0.8.11 into tari-script

    [MMProxy] Connection Limiting
    Fix target difficulty
    v0.8.11 Changes since v0.8.10
    Merge dev

commit 5ae2b4dbfaafdc966d0e7c4616b50b52d1a44535
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 13:46:36 2021 +0200

    Merge dev

commit a92882d6f69a556196d3f77713f87b5825a55936
Merge: e6267851 e64b1ffc
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 21 12:19:27 2021 +0200

    Merge branch 'development' into tari-script

    # Conflicts:
    #	Cargo.lock
    #	applications/tari_app_utilities/Cargo.toml
    #	applications/tari_base_node/src/recovery.rs
    #	applications/tari_merge_mining_proxy/src/main.rs
    #	applications/tari_merge_mining_proxy/src/test.rs
    #	base_layer/core/src/base_node/comms_interface/inbound_handlers.rs
    #	base_layer/core/src/chain_storage/blockchain_database.rs
    #	base_layer/core/src/test_helpers/blockchain.rs
    #	base_layer/core/src/test_helpers/mod.rs
    #	base_layer/core/src/validation/header_validator.rs
    #	base_layer/core/tests/block_validation.rs
    #	base_layer/core/tests/helpers/block_builders.rs

commit 90706bd3fb7997a580fe5357655a2455bc30f197
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Fri May 7 12:57:14 2021 +0200

    update flaky unit tests

    Add tx event to help with awaits

commit c47675017abf2a7f55e7c361db221a7b4ebfef38
Author: Hansie Odendaal <pluto@tari.com>
Date:   Thu May 20 08:57:37 2021 +0200

    Update rust nightly toolchain

commit e6267851f2cb97d33fbcdaf5823671590e512aa8
Merge: 266ad172 af32d49f
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 18 15:02:19 2021 +0200

    Merge #2916: [common] Merge dev into tari-script

    Add clippy warnings for cognitive complexity
    libwallet-0.16.27
    Fix re-org test
    [base-node] Optimise pruned UTXO sync streaming protocol
    [Wallet] Add mined height to display of mined transactions in Console Wallet
    clarify one sided payment
    [base-node] Fixes and tidies up prune mode cleanup
    update tests to use sha3
    add note
    Add option to write unblinded UTXOs to CSV file
    fmt
    Test to reproduce target difficulty problem
    fix case of cucumber
    Insert pruned output audit
    Fix incorrect boolean condition
    v0.8.9
    Fix potential overflow and improve performance of n_leaves
    Add transaction washer util script
    [base-node] Refactor chain storage and rule out some target diff bugs
    [wallet] Update connectivity status when base node changes
    Emission math audit
    Consolidate config files into one
    [wallet] Fixes possible duration overflow in crossterm loop
    fix wallet recovery of coinbase
    Fix cucumber test
    Update Base Node Service monitor to shutdown correctly
    [tests] eslint config and husky pre-commit hook
    v0.8.10
    Let wallet display pretty error for tor offline
    Re-implemented methods for block explorer
    [tests] Repair some integration tests
    Verified massive multiple reorg cucumber
    Bump timeouts
    Remove unused search stxo
    Remove unused search stxo
    Fix tests and add results to CI
    Fix compiler warnings
    Merge Dev into TariScript
    Merge Dev into TariScript
    Fix clippy

commit af32d49ff74411ec53508a8ee98db59dc0491c6a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 18 11:56:29 2021 +0200

    Fix clippy

commit b81ea4173daa3412a61d6993ca1996c299e230aa
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 17 20:16:42 2021 +0200

    Merge Dev into TariScript

commit eb4bac6bae83cfc622e39921a7aa98f2a68a6299
Merge: f30608a9 266ad172
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 17 19:44:09 2021 +0200

    Merge branch 'tari-script' into mb-fix-tari-script-branch

    # Conflicts:
    #	base_layer/wallet/src/transaction_service/service.rs
    #	base_layer/wallet/src/wallet.rs
    #	base_layer/wallet/tests/wallet/mod.rs
    #	base_layer/wallet_ffi/src/lib.rs

commit 266ad172eb03cff4a83754f5d96bc4fd444dee2d
Merge: be04658c 47fe06d2
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 17 16:54:27 2021 +0200

    Merge #2901:[wallet] Update and fix import utxo functions

    Import utxo fn use defaults down the line, this will cause any UTXO that's
    inserted into the wallet to be invalidated due to mismatched scripts, features,
    etc.

    Requires #2872

commit 47fe06d25487550ba117d36766faf4f8d7dd6f29
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Mon May 17 15:20:33 2021 +0200

    rename to maturity

commit 556694705773f814594c67427d461b17c3e59efa
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Mon May 17 15:14:59 2021 +0200

    Update and fix Import utxo functions

    code review

commit f30608a9562295f9d5bcecdd5dab539ea0639851
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 14 15:25:22 2021 +0200

    Merge Dev into TariScript

commit b48c18ce68d06cb889df674a69ffc8038299e412
Merge: 6c8b7a3a f27cc244
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 14 12:26:59 2021 +0200

    Merge branch 'development' into mb-fix-tari-script-branch

    # Conflicts:
    #	Cargo.lock
    #	RFC/src/RFC-0201_TariScript.md
    #	applications/tari_app_grpc/Cargo.toml
    #	applications/tari_app_utilities/Cargo.toml
    #	applications/tari_base_node/Cargo.toml
    #	applications/tari_base_node/src/command_handler.rs
    #	applications/tari_console_wallet/Cargo.toml
    #	applications/tari_console_wallet/src/automation/commands.rs
    #	applications/tari_console_wallet/src/main.rs
    #	applications/tari_console_wallet/src/ui/components/send_tab.rs
    #	applications/tari_console_wallet/src/wallet_modes.rs
    #	applications/tari_merge_mining_proxy/Cargo.toml
    #	applications/tari_mining_node/Cargo.toml
    #	applications/test_faucet/Cargo.toml
    #	base_layer/common_types/Cargo.toml
    #	base_layer/core/Cargo.toml
    #	base_layer/core/src/base_node/comms_interface/local_interface.rs
    #	base_layer/core/src/base_node/state_machine_service/states/horizon_state_sync/horizon_state_synchronization.rs
    #	base_layer/core/src/base_node/sync/rpc/service.rs
    #	base_layer/core/src/blocks/genesis_block.rs
    #	base_layer/core/src/chain_storage/accumulated_data.rs
    #	base_layer/core/src/chain_storage/block_add_result.rs
    #	base_layer/core/src/chain_storage/blockchain_database.rs
    #	base_layer/core/src/chain_storage/historical_block.rs
    #	base_layer/core/src/chain_storage/lmdb_db/lmdb_db.rs
    #	base_layer/core/src/consensus/consensus_manager.rs
    #	base_layer/core/src/consensus/emission.rs
    #	base_layer/core/src/lib.rs
    #	base_layer/core/src/mempool/service/inbound_handlers.rs
    #	base_layer/core/src/test_helpers/blockchain.rs
    #	base_layer/core/src/test_helpers/mod.rs
    #	base_layer/core/src/validation/header_validator.rs
    #	base_layer/core/src/validation/helpers.rs
    #	base_layer/core/src/validation/mocks.rs
    #	base_layer/core/tests/chain_storage_tests/chain_storage.rs
    #	base_layer/core/tests/helpers/block_builders.rs
    #	base_layer/key_manager/Cargo.toml
    #	base_layer/mmr/Cargo.toml
    #	base_layer/p2p/Cargo.toml
    #	base_layer/service_framework/Cargo.toml
    #	base_layer/wallet/Cargo.toml
    #	base_layer/wallet/src/base_node_service/service.rs
    #	base_layer/wallet/src/output_manager_service/service.rs
    #	base_layer/wallet/src/storage/sqlite_db.rs
    #	base_layer/wallet/src/tasks/wallet_recovery.rs
    #	base_layer/wallet/src/transaction_service/service.rs
    #	base_layer/wallet/src/transaction_service/storage/database.rs
    #	base_layer/wallet/src/transaction_service/storage/sqlite_db.rs
    #	base_layer/wallet/src/wallet.rs
    #	base_layer/wallet/tests/wallet/mod.rs
    #	base_layer/wallet_ffi/src/lib.rs
    #	common/Cargo.toml
    #	common/config/presets/tari_config_example.toml
    #	comms/Cargo.toml
    #	comms/dht/Cargo.toml
    #	comms/rpc_macros/Cargo.toml
    #	infrastructure/derive/Cargo.toml
    #	infrastructure/shutdown/Cargo.toml
    #	infrastructure/storage/Cargo.toml
    #	infrastructure/test_utils/Cargo.toml
    #	integration_tests/features/Reorgs.feature
    #	integration_tests/features/WalletTransfer.feature
    #	integration_tests/features/support/steps.js
    #	integration_tests/helpers/transactionBuilder.js
    #	integration_tests/helpers/util.js
    #	integration_tests/package-lock.json

commit 6c8b7a3a68bbdceef9dc947336186d77aaa94e47
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 14 11:43:31 2021 +0200

    Fix compiler warnings

commit be04658c366d8975f6ac73eb1b39060d9d8b519d
Merge: 770feb2b 069be999
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 14 10:31:54 2021 +0200

    Merge #2897: [common] Replace custom ChaCha20 cipher

    Replace custom ChaCha20 cipher with RustCrypto ChaCha20 implementation Fuzzing
    revealed that the custom ChaCha20 implementation in tari_utilities was not
    correct so this PR migrates the DHT encryption to use the audited RustCrypto
    ChaCha20 encryption.

    Had to bump the toolchain version for this update so updated to the most
    current version of nightly. The only update needed was adding a new feature
    flag #![feature(min_type_alias_impl_trait)] which is a new flag for the same
    issue we already use (i.e. #![feature(type_alias_impl_trait)])

    The new nightly toolchain contained an update to the linting used by rustfmt so
    I have included a second commit that is just new formatting to make this easier
    to review.

commit 069be9994cd82d827ac14171344a04ab704bf91b
Author: Philip Robinson <simian@tari.com>
Date:   Fri May 14 09:39:01 2021 +0200

    Replace custom ChaCha20 cipher with RustCrypto ChaCha20 implementation

    Fuzzing revealed that the custom ChaCha20 implementation in `tari_utilities` was not correct so this PR migrates the DHT encryption to use the audited RustCrypto ChaCha20 encryption.

    Had to bump the toolchain version for this update so updated to the most current version of nightly. The only update needed was adding a new feature flag #![feature(min_type_alias_impl_trait)] which is a new flag for the same issue we already use (i.e. #![feature(type_alias_impl_trait)])

commit 770feb2b142cf4e20ae07e2e874dcb9c9695b270
Merge: 2dd0fc2c 270d9b5e
Author: Mike the Tike <mikethetike@tari.com>
Date:   Wed May 12 18:40:13 2021 +0200

    Merge #2913: [ci] Switch to ssh urls for tari-crypto dep

    For whatever reason circle ci was failing to checkout the tari-crypto git repo,
    switching these urls to use the ssh:// version is working

commit 270d9b5eea2a017f0a9aac95cc10c82ba5668c93
Author: Byron Hambly <bizzle@tari.com>
Date:   Tue May 11 19:42:35 2021 +0200

    [ci] Switch to ssh urls for tari-crypto dep

commit 2dd0fc2c327f1f3fcb82fddd7a4f90828e5a3ef3
Merge: 3077769d 6f8cb87f
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 18:31:35 2021 +0200

    Merge #2908: [base-node] Fix `header-stats` command

    Tari-script network reset omitted changing this stibbons reference.

commit 3077769d63919b1abed6f613412c7c6e0448fc56
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 18:14:55 2021 +0200

    fmt and clippy

commit 4d72659561777098e3b28bc5c05915f07105670f
Merge: 2999cb93 223f006c
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 18:01:30 2021 +0200

    Merge #2910: [chore] Fix build error in console wallet

    Fix build error in console wallet

commit 223f006c96a31d8a7f9806e69e89faec5cf0b32a
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue May 11 19:56:06 2021 +0400

    Fix build error in console wallet

commit 2999cb93ca8698087003a05cf3f66695055048ef
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 17:28:07 2021 +0200

    Fix compile error

commit 23024d0fdb0b273ea834895b9662c7d616a30f0a
Merge: 89bf622a ad65bb2d
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 17:02:48 2021 +0200

    Merge #2894: [wallet] Derive Comms Secret Key from the Master Seed key

    This PR implements the derivation of the Comms private key in the wallet from
    the Master Seed Key that is used as the seed for the key managers used for the
    UTXO’s on the wall.

    Previously the Comms Secret Key was generated by the client applications and it
    was stored in the Wallet Database. This key was also used to determine if the
    database was encrypted and if the provided passphrase is correct or not by
    storing the public key in the database and seeing if the stored private key
    corresponds to the permitted public key after decryption.

    This PR removes the Comms Secret and Public keys from the wallet database and
    replaces them with the Master Seed Key which becomes the single secret key from
    which the Comms Secret Key, UTXO Spending Keys and Rewind keys are derived. The
    Comms Secret key is now derived when the wallet is started based on the
    persisted Master Secret Key. On the first run the wallet will generate the
    Master Secret Key and store it. The Output Manager Service used to generate and
    store this key but now it will accept it from the Wallet and use it to
    initialise its Key Managers.

    The Console Wallet and Wallet FFI is updated to account for this change.

commit ad65bb2d7aeb5cf4b73139af9dc9ccdc7164f83c
Merge: 84e2f08a 89bf622a
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 17:02:12 2021 +0200

    Merge branch 'tari-script' into philip-derive-comms-private-key

commit 6f8cb87fef2b864403174f8cf02370c66cfffebf
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue May 11 16:43:58 2021 +0200

    Fix `header-stats` command

    Tari-script network reset omitted changing this stibbons reference.

commit 89bf622aecf87bb5df244b0e6a57f28f4970b7a1
Merge: b6ba3133 21537dca
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 15:11:45 2021 +0200

    Merge #2890: [common] Consolidate config files into one

    Consolidate config files into one

commit b6ba31339d3b2ac974488d0ee4285eebd831b8ab
Merge: 94344960 19bdbf62
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 15:08:43 2021 +0200

    Merge #2895: [docs] Add Bulletproofs Rewinding RFC

    Add Bulletproofs Rewinding RFC

commit 943449609e24301b1634fb1da11295f7734b20c2
Merge: ecac873a ba40a311
Author: Mike the Tike <mikethetike@tari.com>
Date:   Tue May 11 15:03:27 2021 +0200

    Merge #2906: [tests] Verified massive multiple reorg cucumber (#2906)

    Verified massive multiple reorg cucumber

commit 21537dcae4be61db0e2cd9d6ee682c5de156d3d3
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue May 4 14:38:54 2021 +0200

    Consolidate config files into one

    - Consolidated all the three configuration files that were
      in the code base into one file, usable by all operating
      systems.
    - Removed some deprecated entries in the config file.
    - Updated the installation files/installers to use the new
      config file.
    - Clippy fixes.

commit ecac873a86c75e7d60d1a499e5081b52e6b6705d
Merge: 42220c34 4e5b3e04
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 10 13:45:47 2021 +0200

    Merge #2889: [common] Adds version and commmit string to all application logs (#2889)

    Adds version and commmit string to all application logs

commit 4e5b3e040133db75c4d9f7678702ad6f328a168b
Merge: 09db76fe 42220c34
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 10 13:45:27 2021 +0200

    Merge branch 'tari-script' into general-app-version-in-logs

commit 42220c34cdb596a4040179f5efc1749559a3dca2
Merge: b2020dce 8c3d10d2
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 10 13:39:42 2021 +0200

    Merge #2886: [common] Remove "end of time" panic in emission (#2886)

    Remove "end of time" panic in emission

commit b2020dce319f6edc7bbae1b350ac1c59ce1ca391
Merge: 610b3159 c8b66ad7
Author: Mike the Tike <mikethetike@tari.com>
Date:   Mon May 10 12:00:20 2021 +0200

    Merge #2872: [wallet] Add one sided payment scanning and recovering

    Add one sided payment scanning and recovering

commit ba40a3113bcf374f105982b45eb50844f25dbde3
Author: Hansie Odendaal <pluto@tari.com>
Date:   Sun May 9 12:45:37 2021 +0200

    Verified massive multiple reorg cucumber

commit 84e2f08a96ad68cc8578a32cd4c08f393b1fa8d0
Author: Philip Robinson <simian@tari.com>
Date:   Fri May 7 14:19:27 2021 +0200

    FFI method removal and Test Fixes

    Second commit contains a number of test fixes and some updates based on feedback from @kukabi about how the clients managed the Comms Secret Key. Because this is now completely handled in the backed we can remove the `comms_config_set_secret_key` function. It was also confirmed that the backend is fully responsible for managing the TorID so the old code that provided some migration support for the client to manage the TorID in the past has been removed.

commit 610b3159fb09ca5fd88177a25c777880335de0a2
Merge: c3daa5aa 5c418649
Author: Mike the Tike <mikethetike@tari.com>
Date:   Fri May 7 11:25:45 2021 +0200

    Merge #2887: [common] New gen block for tari_script

    New gen block for tari_script

commit 19bdbf62ef9e1ae094c50341a86935be548dd449
Author: Hansie Odendaal <pluto@tari.com>
Date:   Tue May 4 17:31:58 2021 +0200

    Add Bulletproofs Rewinding RFC

commit c8b66ad7d53925a7cf4f1071f5e2d038fab41f1a
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Wed May 5 14:57:18 2021 +0200

    Add one sided payment scanning and recovering

    Refactor recovery task into service
    change to hash based last scanned height
    remove clippy errors

commit 09db76fe0113039a23d144b7d31e31fbe397ba46
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Tue May 4 16:53:32 2021 +0400

    Adds version and commmit string to all application logs

    - Adds the application name, version obtained form the manifest and
      commit sha to the logs on application startup
    - Updates all log configs to route tari::application messages to all logs
    - Moves all `tari_common` build-time dependencies and code behind `build` feature flag

commit 50ed6bf79e8c2379b83e39f00e6846e7a8e5cea4
Author: Philip Robinson <simian@tari.com>
Date:   Tue May 4 22:35:15 2021 +0200

    [Wallet] Derive Comms Secret Key from the Master Seed key

    This PR implements the derivation of the Comms private key in the wallet from the Master Seed Key that is used as the seed for the key managers used for the UTXO’s on the wall.

    Previously the Comms Secret Key was generated by the client applications and it was stored in the Wallet Database. This key was also used to determine if the database was encrypted and if the provided passphrase is correct or not by storing the public key in the database and seeing if the stored private key corresponds to the permitted public key after decryption.

    This PR removes the Comms Secret and Public keys from the wallet database and replaces them with the Master Seed Key which becomes the single secret key from which the Comms Secret Key, UTXO Spending Keys and Rewind keys are derived. The Comms Secret key is now derived when the wallet is started based on the persisted Master Secret Key. On the first run the wallet will generate the Master Secret Key and store it. The Output Manager Service used to generate and store this key but now it will accept it from the Wallet and use it to initialise its Key Managers.

    The Console Wallet and Wallet FFI is updated to account for this change.

commit 5c418649556814836cbf44707c269e1204b0a12e
Author: SW van Heerden <swvheerden@gmail.com>
Date:   Tue May 4 11:26:28 2021 +0200

    New gen block for tari_script

commit 8c3d10d2d429b0d04018088944b5cd7b5bec2690
Author: Stanimal <sdbondi@users.noreply.github.com>
Date:   Mon May 3 16:15:13 2021 +0400

    Remove "end of time" panic in emission

    Removed `Option::expect` when total supply overflows `u64`. In this
    case, the `EmissionRate` iterator considers itself "finished" and so
    returns None as per the Iterator contract.

    Removes the `Emission` trait, although nothing incorrect about using a
    trait in this case, it did not provide much of an advantage (decoupling)
    over using the concrete type. I…
@stringhandler stringhandler mentioned this pull request Jul 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants