[chore] Use tari_crypto 0.11, update digest, rand and sha3#3059
Merged
stringhandler merged 1 commit intotari-project:tari-scriptfrom Jul 6, 2021
Merged
[chore] Use tari_crypto 0.11, update digest, rand and sha3#3059stringhandler merged 1 commit intotari-project:tari-scriptfrom
stringhandler merged 1 commit intotari-project:tari-scriptfrom
Conversation
5899920 to
865668c
Compare
e3d0364 to
fc663bd
Compare
stringhandler
approved these changes
Jul 6, 2021
- Update crates `digest` `rand` and `sha3` to fix compilation errors (Ref tari-project/tari-crypto#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
fc663bd to
e089af2
Compare
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.c…
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 co…
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 co…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
digest 0.9rand 0.8andsha3 0.9to fix compilation errors(Ref Migrate to digest 0.9 tari-crypto#49)
needed
randcrate updates) in favour of using the one provided in tari_test_utilsStable Rust was not set in this PR because
subtle-ng(dalek-cryptography/subtle#85) does not currently compile.Motivation and Context
Fix compilation errors.
How Has This Been Tested?
Checklist:
developmentbranch.