zingolabs / zingolib_original

ZingoLib
MIT License
1 stars 1 forks source link

`orchard` depends on `zcash_note_encryption` but development-`zcash_note_encryption` doesn't work with released orchard #93

Open zancas opened 2 years ago

zancas commented 2 years ago

NOTE: orchard is pinned to a specific version zcash_note_encryption

We observed a build failure due to orchard detecting an implementation of a zcash_note_encryption, other than the pinned trait version. This version was present in our code due to the existence of a separate dependency chain.

The via-Orchard chain:

zcash_note_encryption v0.1.0
└── orchard v0.1.0
    ├── zcash_primitives v0.6.0 (https://github.com/zcash/librustzcash?rev=73d9395c9d3c5fa81fc7becd363a2c1a51772a76#73d9395c)
    │   ├── zcash_client_backend v0.5.0 (https://github.com/zcash/librustzcash?rev=73d9395c9d3c5fa81fc7becd363a2c1a51772a76#73d9395c)
    │   │   └── zecwalletlitelib v0.1.0 (/home/mherder/src/zingolabs/zecwalletlitelibs/dev/lib)
    │   │       └── zingo-cli v0.0.1 (/home/mherder/src/zingolabs/zecwalletlitelibs/dev/cli)
    │   ├── zcash_proofs v0.6.0 (https://github.com/zcash/librustzcash?rev=73d9395c9d3c5fa81fc7becd363a2c1a51772a76#73d9395c)
    │   │   └── zecwalletlitelib v0.1.0 (/home/mherder/src/zingolabs/zecwalletlitelibs/dev/lib) (*)
    │   └── zecwalletlitelib v0.1.0 (/home/mherder/src/zingolabs/zecwalletlitelibs/dev/lib) (*)
    └── zecwalletlitelib v0.1.0 (/home/mherder/src/zingolabs/zecwalletlitelibs/dev/lib) (*)

The "Beside" Orchard chain:

cargo tree --invert=https://github.com/zcash/librustzcash#zcash_note_encryption:0.1.0
zcash_note_encryption v0.1.0 (https://github.com/zcash/librustzcash?rev=73d9395c9d3c5fa81fc7becd363a2c1a51772a76#73d9395c)
├── zcash_client_backend v0.5.0 (https://github.com/zcash/librustzcash?rev=73d9395c9d3c5fa81fc7becd363a2c1a51772a76#73d9395c)
│   └── zecwalletlitelib v0.1.0 (/home/mherder/src/zingolabs/zecwalletlitelibs/dev/lib)
│       └── zingo-cli v0.0.1 (/home/mherder/src/zingolabs/zecwalletlitelibs/dev/cli)
├── zcash_primitives v0.6.0 (https://github.com/zcash/librustzcash?rev=73d9395c9d3c5fa81fc7becd363a2c1a51772a76#73d9395c)
│   ├── zcash_client_backend v0.5.0 (https://github.com/zcash/librustzcash?rev=73d9395c9d3c5fa81fc7becd363a2c1a51772a76#73d9395c) (*)
│   ├── zcash_proofs v0.6.0 (https://github.com/zcash/librustzcash?rev=73d9395c9d3c5fa81fc7becd363a2c1a51772a76#73d9395c)
│   │   └── zecwalletlitelib v0.1.0 (/home/mherder/src/zingolabs/zecwalletlitelibs/dev/lib) (*)
│   └── zecwalletlitelib v0.1.0 (/home/mherder/src/zingolabs/zecwalletlitelibs/dev/lib) (*)
└── zecwalletlitelib v0.1.0 (/home/mherder/src/zingolabs/zecwalletlitelibs/dev/lib) (*)

We'll add a detector to our CI showing the state of the mutual dependence of orchard and zingolib on zcash_note_encryption. Either there's not a conflict, or there is.