Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

chore: update feature dan2 #6149

Merged
merged 123 commits into from
Feb 16, 2024
Merged

Conversation

sdbondi
Copy link
Member

@sdbondi sdbondi commented Feb 15, 2024

Description

Updates feature-dan2 to latest development

Motivation and Context

Specifically to include PR #6148 which fixes the build for a fresh Cargo.lock

Breaking Changes

  • None
  • Requires data directory on base node to be deleted
  • Requires hard fork
  • Other - Please specify

AaronFeickert and others added 30 commits November 21, 2023 10:14
Description
---
Removes redundant clones that were clogging up the lint trap with
warnings.

Motivation and Context
---
Lint warnings are annoying!

How Has This Been Tested?
---
The linter is happy now.

What process can a PR reviewer use to test or verify this change?
---
Check the CI logs to ensure lint warnings are no longer present.
Description
---
Updates the handling of the `ToRistrettoPoint` opcode.

Closes tari-project#5818.

Motivation and Context
---
The `ToRistrettoPoint` opcode now requires that stack input be the
canonical encoding of a Ristretto secret key. This PR updates the opcode
documentation and adds a test for proper handling of invalid encoding.
It also corrects the error returned on invalid stack input.

There is a [separate PR](tari-project/rfcs#113)
that updates the RFC documentation.

How Has This Been Tested?
---
Existing tests pass. A modified test passes.

What process can a PR reviewer use to test or verify this change?
---
Check that the updated documentation reflects the opcode handling. Check
that the modified test correctly detects invalid input. Check that the
error returned on invalid input is correct.
Description
---
Fixes opcode signatures to mitigate security issues.

Closes tari-project#5817.

Motivation and Context
---
Handling of signature-related opcodes introduces security issues related
to signature forgery as described in tari-project#5817. This PR changes how
signature-related message data is handled. Because of the new design,
signature arithmetic support is removed.

How Has This Been Tested?
---
Existing tests pass or have been updated to reflect the new design.

What process can a PR reviewer use to test or verify this change?
---
Check that the new design matches the intent of the signature-related
opcodes. Check that test modifications are correct.

BREAKING CHANGE: Changes how some opcodes are processed, which renders
some existing scripts and transactions invalid.
Description
---
Adds versioning to all hash domains.

Closes tari-project#5970.

Motivation and Context
---
Some hash function definitions rely on a default version number that is
added during macro invocation. This isn't inherently a problem, but
reduces clarity and could result in breaking changes if this default is
ever changed. It seems prudent to add a specific version in all cases.

How Has This Been Tested?
---
Existing tests pass.

What process can a PR reviewer use to test or verify this change?
---
Confirm that the added version numbers correspond to the
[default](https://github.com/tari-project/tari-crypto/blob/91d1e779e565dc816a54ab78368d44efcae78a23/src/hashing.rs#L616).
Description
---
Added normal one-sided and stealth one-sided coinbase transactions.
Changes are:
- Coinbases can now only be paid to a nominated wallet address directly.
- The minotari miner and merge mining proxy will only start if a valid
minotari wallet address has been supplied for the particular network.
- The miner and merge mining proxy does not depend on the wallet anymore
to construct the coinbase; it is done directly.
- Corresponding gRPC method (`rpc GetCoinbase (GetCoinbaseRequest)
returns (GetCoinbaseResponse)`) has been removed from the wallet.
- A memory-based transactions key manager has been created for use by
the miner and merge mining proxy as they do not need persistent storage
of keys. This also ensures that new entropy for the generation of keys
is created each time the miner or merge mining proxy is started
effectively negating any collisions of private keys.
- All unused code in the output manager and transaction manager have
been removed.

Motivation and Context
---
See tari-project#5930

How Has This Been Tested?
---
Unit tests
Cucumber tests
System-level tests - _Completed_

What process can a PR reviewer use to test or verify this change?
---
- Code walk-through
- Run cucumber `Scenario: Get Transaction Info` and review the log files
for `WALLET_A` where the stealth one-sided coinbases will be imported
and where payment is made to `WALLET_B`.


<!-- Checklist -->
<!-- 1. Is the title of your PR in the form that would make nice release
notes? The title, excluding the conventional commit
tag, will be included exactly as is in the CHANGELOG, so please think
about it carefully. -->


Breaking Changes
---

- [ ] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [x] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
- Coinbases can now only be paid to a nominated wallet address directly.
- Existing wallets need to be recovered into new wallets.
Description
---
Enabled revealed-value proofs for all output types, which are be
controlled via the consensus constants. Range-proof types are mapped to
output types.

From the merge mining proxy/miner log, coinbase output showing
`range_proof_type: RevealedValue` and `Proof: None`:


![image](https://github.com/tari-project/tari/assets/39146854/9ca0ed86-3ba9-4c18-aeee-4cd6a933a52a)

_**Note:** The faucets changed due to `RangeProofType` now being parsed
with snake case - `"range_proof_type":"RevealedValue"` changed to
`"range_proof_type":"revealed_value"` on every output line._

Motivation and Context
---
See tari-project#5968

How Has This Been Tested?
---
Added unit tests
Unit tests pass
Cucumber tests pass
System-level tests ~~[**TO BE COMPLETED**]~~

What process can a PR reviewer use to test or verify this change?
---
Code walkthrough
Review the additional unit tests
Run system-level tests

<!-- Checklist -->
<!-- 1. Is the title of your PR in the form that would make nice release
notes? The title, excluding the conventional commit
tag, will be included exactly as is in the CHANGELOG, so please think
about it carefully. -->


Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
Description
---
Fixed cucumber "Merge Mining" tests after merging the one-sided coinbase
PR; I just fixed one simple thing but all three tests are now working
fine.


Motivation and Context
---
The one-sided coinbase PR did not properly initialize the merge mining
proxy.

How Has This Been Tested?
---
`cargo test --release --test cucumber -- --name "Merge Mining"`

What process can a PR reviewer use to test or verify this change?
---
`cargo test --release --test cucumber -- --name "Merge Mining"`

<!-- Checklist -->
<!-- 1. Is the title of your PR in the form that would make nice release
notes? The title, excluding the conventional commit
tag, will be included exactly as is in the CHANGELOG, so please think
about it carefully. -->


Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
Description
---
Disabled the console wallet gRPC via a feature flag in the console
wallet build configuration, where gRPC is not part of the default build.
Trying to run with the console wallet with the config option
`grpc_enabled = true` where the gRPC feature is not enabled for the
build will result in a runtime error.

Motivation and Context
---
See tari-project#5930

How Has This Been Tested?
---
Existing unit and cucumber tests pass

What process can a PR reviewer use to test or verify this change?
---
Code walkthrough

<!-- Checklist -->
<!-- 1. Is the title of your PR in the form that would make nice release
notes? The title, excluding the conventional commit
tag, will be included exactly as is in the CHANGELOG, so please think
about it carefully. -->


Breaking Changes
---

- [ ] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [x] Other - The console wallet must be build with the `features =
["grpc"]` to enable gRPC

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
Description
---
Update snow

Motivation and Context
---
Commits: https://github.com/mcginty/snow/commits/v0.9.4

Non-breaking update to use the latest version

Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
The MM proxy logs are completely blotted at the info level by
instrumentation calls, rendering them effectively useless at the info
level.

This moves instrumentation down to DEBUG and TRACE levels, so they're
still available, without spamming hundreds of MB in user-facing logs.

What process can a PR reviewer use to test or verify this change?
---

Logs will be much cleaner at INFO level now,

<!-- Checklist -->
<!-- 1. Is the title of your PR in the form that would make nice release
notes? The title, excluding the conventional commit
tag, will be included exactly as is in the CHANGELOG, so please think
about it carefully. -->


Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
Description
---
Migrates all remaining uses of `lazy_static` to `once_cell` for better
consistency with the rest of the ecosystem.

Motivation and Context
---
Other repositories in the ecosystem are moving from `lazy_static` to
`once_cell` for better maintenance and to remove the use of a macro.
This repository had a mix of both still in use, so this PR finishes
moving everything over. The API is very similar, so changes were
minimal.

How Has This Been Tested?
---
Existing tests pass.

What process can a PR reviewer use to test or verify this change?
---
Check the correctness of each change by asserting that each use of
`Lazy` reflects the same functionality as the previous `lazy_static!`
macro.
Description
---
This adds aux chain support for merge mining monero

Fixes: tari-project#5975 

Motivation and Context
---
This allows tari to be merged mined with multiple other chains, up to
253 other chains.
See:
https://github.com/SChernykh/p2pool/blob/merge-mining/docs/MERGE_MINING.MD#proposed-rpc-api

How Has This Been Tested?
---
…lling (tari-project#5997)

Description
---

fix: always return correct value from is_triggered without first
requiring the signal to be polled

Motivation and Context
---
OneshotSignal uses the `futures::Shared<Fut>` combinator to allow a
single future to be cloned and awaited on in multiple places. Previously
we used FuseFuture::is_terminated to determine if the signal is
triggered. However the semantics of is_terminated and is_triggered are
subtly different. is_terminated indicates whether a future should be
polled again, which is true even if the trigger has fired.

This PR uses an AtomicBool that is set to true at the time the trigger
is fired so that polling first is not required.

Thanks to @hansieodendaal for discovering this issue

How Has This Been Tested?
---
Updated existing test to check is_triggered, previously failed and now
passes.

What process can a PR reviewer use to test or verify this change?
---
N/A

Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
Description
---
Add configuration and support for operating grpc over tls to enhance the
overall security of communicating nodes, wallets, and miners.

This includes a self-signed certificate generation function for using
locally, although it's highly recommended to generate valid, and
verifiable certificates if you plan on opening any service up to the
internet.

~TODO (before merge, eta: 1day)~: Complete
- ~Expand to the merge miner~
- ~Expand to the wallet~
- ~Display a warning about security when generating self signed
certificates~

Motivation and Context
---
Mo' security mo' better.

Closes: tari-project#5808 

How Has This Been Tested?
---
Locally

What process can a PR reviewer use to test or verify this change?
---
Mostly read about how to set it up, and see if that makes sense.

Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify
Description
---
* Fix display panic in `base_layer/core/src/mempool/service/request.rs`.
When a transaction without a kernel comes in, this will panic
* Fix display to no longer call FixedHash to hex, as fixedhash already
impl display.
Description
---
Add a lazy static value that allows us to access what the current
network is globally, so we can use the network byte to create network &
domain-specific hashers.

Motivation and Context
---
This prevents the spending of duplicated UTXO's across networks as the
hashes would compute differently based on the network byte.

Closes: tari-project#5652 

How Has This Been Tested?
---
CI

Breaking Changes
---

- [ ] None
- [x] Requires data directory on base node to be deleted
- [x] Requires hard fork
- [x] Other - Please specify

This will invalidate all previous hashes on the network, and require
both a network reset, with full data directory deletion.
Description
---
Ups the minimum difficulty for stagenet. 

Motivation and Context
---
See tari-project#5620 
The numbers chosen represent 2 Apple M1 cpus mining at 100%. 

How Has This Been Tested?
---
Manual
Description
---
only store the keccak state and not the entire monero coinbase
transaction

Motivation and Context
---
The monero coinbase transaction can be very large as it may contain
multiple coinbases. We only store the keccak inner hash state with half
of the hashed transaction. We hash the last part to verify its working.

How Has This Been Tested?
---
unit tests

fixes: tari-project#5891
Description
---
New faucet for esmeralda
New gen blocks for esmeralda and nextnet


How Has This Been Tested?
---
unit tests
Description
Workflow for Windows installer file was incorrectly referencing the
environment values to construct the installer filename.

Motivation and Context
Fix ```release assets``` filename for Windows installer.

How Has This Been Tested?
Built and checked in local fork.

What process can a PR reviewer use to test or verify this change?
Check ```Build the Windows installer``` workflow for the installer
filename -
```tari_suite-1.0.0-pre.0-afb3c70-windows-x64-installer.exe```


<!-- Checklist -->
<!-- 1. Is the title of your PR in the form that would make nice release
notes? The title, excluding the conventional commit
tag, will be included exactly as is in the CHANGELOG, so please think
about it carefully. -->


Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
Description
---
This cleans up chat, and the contacts service of possible panic points.
Instead managing Err results and attempting to propagate errors better.

Motivation and Context
---
Make the service friendlier, and more importantly don't cause panics
that will crush the Mobile apps over ffi.

How Has This Been Tested?
---
Cucumber locally

Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify
Description
---
Upgrades dependencies version
Description
---
Changes statuses of coinbase transactions and one-sided transactions

Motivation and Context
---
Transactions now show as one-sided or coinbase, not Faux anymore. This
is more inline of what they are and shows more information to the user.

How Has This Been Tested?
---
manual + unit tests

Breaking Changes
---
Wallet database changes, and requires recovery to keep existing
database.
Description
---
Added some changes due to hazop findings. These include renaming for
clarity, more accurate comments, and one improved database transaction
for the blockchain backend to make removing headers atomic.

Motivation and Context
---
These changes were recommended as part of the ongoing hazop process.

How Has This Been Tested?
---
Existing tests pass

What process can a PR reviewer use to test or verify this change?
---
Code walk-through

<!-- Checklist -->
<!-- 1. Is the title of your PR in the form that would make nice release
notes? The title, excluding the conventional commit
tag, will be included exactly as is in the CHANGELOG, so please think
about it carefully. -->


Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
Description
---
- Added wallet FFI shutdown tests to prove that all services have been
terminated when the FFI `wallet_destroy` command has been run.
- Added additional safeguards in the FFI `wallet_destroy` method to
ensure the wallet has shut down.

Motivation and Context
---
See tari-project#5984

How Has This Been Tested?
---
Added `pub fn test_wallet_shutdown()` in the wallet FFI library.

What process can a PR reviewer use to test or verify this change?
---
- Review test code
- Run the test

<!-- Checklist -->
<!-- 1. Is the title of your PR in the form that would make nice release
notes? The title, excluding the conventional commit
tag, will be included exactly as is in the CHANGELOG, so please think
about it carefully. -->


Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
Description
---
Added miner input processing to the minotari miner and merge mining
proxy. The miner wallet address, base node gRPC address and basic gRPC
connection will be verified.

Motivation and Context
---
Users did not have a good user experience
See tari-project#5929

How Has This Been Tested?
---
System-level testing

What process can a PR reviewer use to test or verify this change?
---
Code walk-through
System-level testing

<!-- Checklist -->
<!-- 1. Is the title of your PR in the form that would make nice release
notes? The title, excluding the conventional commit
tag, will be included exactly as is in the CHANGELOG, so please think
about it carefully. -->

Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->

---------

Co-authored-by: SW van Heerden <swvheerden@gmail.com>
Description
---
build fixes for display
tari-project#6021)

Description
Move cargo cross into a job and envs usage for single build command with
env build options.
Added job for local cross-compile on x86-64 for arm64 without cargo
cross docker build.
Added disabled job for cargo-auditables.

Motivation and Context
Use envs for different features and single build command, instead of
duplicated build with different options.

How Has This Been Tested?
Built local fork.

What process can a PR reviewer use to test or verify this change?
Should see all jobs run successfully 

Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify
)

Description
---
Refactors the handling of network-based hashing operations introduced in
tari-project#5980 to better handle read operations. Adds a sanity test for hash
independence.

Supersedes tari-project#6014.

Closes tari-project#6003.

Motivation and Context
---
Recent work in tari-project#5980 binds the current network into consensus hashing.
It uses a `Mutex`, which has two subtle issues. First, it allows the
network to be set multiple times, which should not occur. Second, it
locks on reads, which is unnecessary and inefficient.

This PR updates how the current network is handled. It adds
`Network::get_current_or_default` that will return either the current
network (if it has been set) or the default network (if it has not). It
adds `Network:set_current` that attempts to set the network; if it has
been set before, this operation will fail. Note that calling
`Network::get_current_or_default` does _not_ set the network for this
purpose.

It modifies the API for consensus hashing to add a wrapper that uses the
current network. This wraps functionality allowing for specification of
a network, which is useful for testing.

On top of this new API, a new test is added that checks for distinct
hashes using the same input but different networks. This is not
comprehensive, but will detect obvious issues.

How Has This Been Tested?
---
Existing tests pass. A new test passes.

What process can a PR reviewer use to test or verify this change?
---
Check that the tests do what they claim. Check that the updates to
consensus hashing properly introduce the expected wrapping
functionality. Check that the updated network API does what it is
supposed to.
hansieodendaal and others added 13 commits February 6, 2024 12:28
Description
---
Updated my public key

Motivation and Context
---
The old one expired

How Has This Been Tested?
---
All my commits are signed with it

What process can a PR reviewer use to test or verify this change?
---
Review commit signatures

<!-- Checklist -->
<!-- 1. Is the title of your PR in the form that would make nice release
notes? The title, excluding the conventional commit
tag, will be included exactly as is in the CHANGELOG, so please think
about it carefully. -->


Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
Description
---
Allows users to import an exported transaction to their wallet. 

Motivation and Context
---
This allows true cold mining. A wallet can export any transaction, and
it can then be imported to any transaction which will monitor and ensure
the transaction is broadcasted to the network.

How Has This Been Tested?
---
unit tests and manual
Description
---
This make the node metrics opt-in instead of opt-out at compile time.

It is strange we need to leave metrics on in the integration tests. This
is mostly because clippy is often run with `--all-features` which means
metrics would be on in the node, and then required in the integration
configuration.

Closes: tari-project#5787 

Motivation and Context
---
Mostly the metrics library has a chance of failure (panics) and it's
generally better (and more private) if we just have metrics off by
default.

How Has This Been Tested?
---
CI

Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify
Description
---
Add my pgp key.
Description
---
Some libraries have still unused old versions. 
This fixes the versions of all libraries to use the correct new
versions.
Description
---
Suppress error in size of lmdb if it gets a db to small error. This
makes the user see the following log:
```
18:10 WARN  Check for updates has been called but auto update has been disabled in the config
18:10 WARN  0.0% of this node's 8 connections are using TCPv4. This node requires at least 10.0% of nodes to be TCP nodes.
18:10 v1.0.0-rc.4 nextnet State: Syncing headers: (133e3da09fefeb6a) 30786/39718 (77%) 87.46 blks/s, latency: 11.43ms Tip: 0 (Tue, 12 Dec 2023 16:10:00 +0000) Mempool: 0tx (0g, +/- 0blks) Connections: 8|0 Banned: 0 Messages (last 60s): 23 Rpc: 0/100 RandomX: #0 with flags FLAG_HARD_AES | FLAG_JIT | FLAG_SECURE
18:10 ERROR Could not insert 797 bytes with key '7e76000000000000' into 'headers_db' (Err(Error::Code(-30792, 'MDB_MAP_FULL: Environment mapsize limit reached')))
18:10 v1.0.0-rc.4 nextnet State: Syncing headers: (133e3da09fefeb6a) 31085/39718 (78%) 50.26 blks/s, latency: 19.90ms Tip: 0 (Tue, 12 Dec 2023 16:10:00 +0000) Mempool: 0tx (0g, +/- 0blks) Connections: 8|0 Banned: 0 Messages (last 60s): 22 Rpc: 0/100
18:10 v1.0.0-rc.4 nextnet State: Syncing headers: (133e3da09fefeb6a) 31396/39718 (79%) 54.31 blks/s, latency: 18.41ms Tip: 0 (Tue, 12 Dec 2023 16:10:00 +0000) Mempool: 0tx (0g, +/- 0blks) Connections: 8|0 Banned: 0 Messages (last 60s): 23 Rpc: 0/100
```

There is no actual error. The transaction wrapper correctly handles this
and increases the db size and then reapplies the transaction
…lean ups (tari-project#6141)

Description
add metrics build for base_node on linux-x86
remove miner artifacts

How Has This Been Tested?
Builds in local fork

What process can a PR reviewer use to test or verify this change?
Check that the workflow job ```Build minotari_node metrics release
binary for linux-x86_64```

<!-- Checklist -->
<!-- 1. Is the title of your PR in the form that would make nice release
notes? The title, excluding the conventional commit
tag, will be included exactly as is in the CHANGELOG, so please think
about it carefully. -->


Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
Description
---
Allows the FFI to see the lockheight of utxos

Motivation and Context
---
This will allow the FFI to not select coinbases that are still time
locked.
…-project#6145)

Bumps [libgit2-sys](https://github.com/rust-lang/git2-rs) from
0.16.1+1.7.1 to 0.16.2+1.7.2.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/rust-lang/git2-rs/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=libgit2-sys&package-manager=cargo&previous-version=0.16.1+1.7.1&new-version=0.16.2+1.7.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/tari-project/tari/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Description
---
We now check if all the paths are correct. If they are not left
dangling, if they merge into one and that computes the root hash.

How Has This Been Tested?
---
`cargo test --package tari_mmr --lib --
balanced_binary_merkle_proof::test --nocapture`

What process can a PR reviewer use to test or verify this change?
---
Same test, but it would be nice to confirm my approach as well.

<!-- Checklist -->
<!-- 1. Is the title of your PR in the form that would make nice release
notes? The title, excluding the conventional commit
tag, will be included exactly as is in the CHANGELOG, so please think
about it carefully. -->


Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
Description
---
Switch to log4rs 1.3

Motivation and Context
---
tari-project/log4rs#1
estk/log4rs#345

It appears that the log4rs commits arent used since the cargo.lock rev
was set to commit
[`e1051fd3a1bec9c55d055f60176a96cf11e58505`](tari-project/log4rs@e1051fd)
https://github.com/tari-project/log4rs/commits/master/#:r3d:-listview-node-:r3e:
and the crate was renamed to tari_log4rs. This rename will only break
the current build if the cargo.lock is updated. Since no rev or tag is
used, current `master` would be used.

@SWvheerden Please verify the changes are in log4rs@1.3 that were
required. Just this right?
https://github.com/estk/log4rs/blob/c981ca4e2126c5728505c562b34926f9a9fad00b/Cargo.toml#L59

Breaking Changes
---

- [x] None
- [ ] Requires data directory on base node to be deleted
- [ ] Requires hard fork
- [ ] Other - Please specify

<!-- Does this include a breaking change? If so, include this line as a
footer -->
<!-- BREAKING CHANGE: Description what the user should do, e.g. delete a
database, resync the chain -->
* development: (120 commits)
  chore: use log4rs 1.3 (tari-project#6148)
  fix: balanced binary merkle tree merged proof (tari-project#6144)
  chore(deps): bump libgit2-sys from 0.16.1+1.7.1 to 0.16.2+1.7.2 (tari-project#6145)
  feat: allow ffi to see lock height (tari-project#6140)
  chore(ci): add metrics targeted build, remove miner artifacts, misc clean ups (tari-project#6141)
  chore: suppress error (tari-project#6137)
  chore: fix versions to correct version (tari-project#6135)
  chore: add stringhandler gpg (tari-project#6134)
  chore: add pgp public key (tari-project#6139)
  feat: turn off node metrics by default (tari-project#6073)
  feat: add import tx method (tari-project#6132)
  chore: update pgp public key (tari-project#6129)
  chore: new testnet release (tari-project#6127)
  chore: update pgp key (tari-project#6128)
  fix(libtor): prevent metrics port conflict (tari-project#6125)
  fix(comms): correctly initialize hidden service (tari-project#6124)
  chore: make MAC equality check more idiomatic (tari-project#6123)
  chore: new release (tari-project#6120)
  fix: restart tx fix (tari-project#6119)
  chore: suppress warn log (tari-project#6118)
  ...
@sdbondi sdbondi requested review from a team as code owners February 15, 2024 12:01
@ghpbot-tari-project ghpbot-tari-project added the CR-too_long Changes Requested - Your PR is too long label Feb 15, 2024
Cifko
Cifko previously approved these changes Feb 15, 2024
@ghpbot-tari-project ghpbot-tari-project added the P-acks_required Process - Requires more ACKs or utACKs label Feb 15, 2024
Copy link

github-actions bot commented Feb 15, 2024

Test Results (CI)

1 270 tests   1 270 ✅  11m 21s ⏱️
   39 suites      0 💤
    1 files        0 ❌

Results for commit 8712e89.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Feb 15, 2024

Test Results (Integration tests)

 2 files  11 suites   20m 49s ⏱️
29 tests 28 ✅ 0 💤 1 ❌
30 runs  29 ✅ 0 💤 1 ❌

For more details on these failures, see this check.

Results for commit 8712e89.

♻️ This comment has been updated with latest results.

* common-types-remove-tokio-dep:
  refactor(common-types): move waiting_requests, remove tokio dep
@ghpbot-tari-project ghpbot-tari-project added the P-reviews_required Process - Requires a review from a lead maintainer to be merged label Feb 15, 2024
@ghpbot-tari-project ghpbot-tari-project removed the P-reviews_required Process - Requires a review from a lead maintainer to be merged label Feb 16, 2024
@sdbondi sdbondi merged commit 6ac8079 into tari-project:feature-dan2 Feb 16, 2024
12 of 14 checks passed
@sdbondi sdbondi deleted the update-feature-dan2 branch February 16, 2024 09:17
github-merge-queue bot pushed a commit to tari-project/tari-dan that referenced this pull request Feb 27, 2024
Description
---
Update to use latest feature-dan2

Removes unused tari common dependency from tari dan common types
Removes tari_core dependency from dan_common_types

Motivation and Context
---
~~Blocked by tari-project/tari#6149 merged


Breaking Changes
---

- [x] None
- [ ] Requires data directory to be deleted
- [ ] Other - Please specify
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CR-too_long Changes Requested - Your PR is too long P-acks_required Process - Requires more ACKs or utACKs
Projects
None yet
Development

Successfully merging this pull request may close these issues.