Kris Nuttycombe
422889cd5a
Improve documentation of private `extend_to_level` method.
2025-02-19 08:42:29 -07:00
Kris Nuttycombe
1ad56addf7
Silence Clippy type complexity complaint.
2025-02-19 08:38:09 -07:00
Kris Nuttycombe
1d7cd427f0
shardtree: make construction of fully-empty Parent nodes an error
...
Ideally the errors here would all be panics, as construction of such a
node represents a programming error; however, it is preferable to return
extra contextual information about the circumstance that led to this
error where possible, so we model this as an error where possible
without altering the public API.
2025-02-17 16:46:06 -07:00
Kris Nuttycombe
561a6dc29b
Merge pull request #130 from nuttycom/permit_invalid_legacy_witnesses
...
Permit invalid legacy witnesses
2025-02-01 09:39:29 -07:00
Kris Nuttycombe
2e76b90d9a
Release incrementalmerkletree version 0.8.2
2025-01-31 13:05:18 -07:00
Kris Nuttycombe
9edc305fa1
Fix clippy beta lints
2025-01-31 13:05:18 -07:00
Kris Nuttycombe
e7ed4e00ea
incrementalmerkletree: Allow test-dependencies construction of invalid legacy incremental witnesses.
2025-01-31 13:05:18 -07:00
Kris Nuttycombe
61c947bde3
Merge pull request #129 from zcash/release/shardtree-0.6.1
...
Release shardtree-v0.6.1
2025-01-31 10:31:31 -07:00
Kris Nuttycombe
8235a536fc
Release shardtree-v0.6.1
2025-01-30 20:55:04 -07:00
Kris Nuttycombe
e21b5b64c2
Merge pull request #128 from zcash/incrementalmerkletree_testing_3
...
Release incrementalmerkletree-testing 0.3
2025-01-30 20:50:35 -07:00
Kris Nuttycombe
44065917a3
Release incrementalmerkletree-testing 0.3
2025-01-30 16:52:27 -07:00
Kris Nuttycombe
7ceefdecf1
Merge pull request #127 from zcash/release/shardtree-0.6
...
Release shardtree version 0.6
2025-01-28 17:49:01 -07:00
Kris Nuttycombe
04280c42ab
Release shardtree version 0.6
2025-01-28 12:29:13 -07:00
Kris Nuttycombe
a3eb373c00
Merge remote-tracking branch 'upstream/hotfix/incrementalmerkletree-0.7' into main
2025-01-28 12:22:47 -07:00
Kris Nuttycombe
b822170f2b
Merge pull request #126 from zcash/incrementalmerkletree_no_std
...
incrementalmerkletree: Enable use in `no_std` environments.
2025-01-28 09:57:42 -07:00
Kris Nuttycombe
e9fe0de498
Release `incrementalmerkletree` version 0.8.1
2025-01-27 21:30:25 -07:00
Kris Nuttycombe
65db41c91d
incrementalmerkletree: Remove `std` from default features.
...
`std` was actually only ever required for `test-dependencies`, which is
not in `default`.
2025-01-27 21:30:25 -07:00
Kris Nuttycombe
32fe37e11c
incrementalmerkletree release v0.7.1
...
[0.7.1] - 2024-12-16
====================
Added
-----
- `no-std` support, via a default-enabled `std` feature flag.
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org
iQIzBAABCgAdFiEEM8uh69MjC3Gih0YlOANKuf2lcGcFAmdgYzgACgkQOANKuf2l
cGeciRAAsOC3u5vbbZIGbgXsqTuTMUpsHuy8Ef8hMpH/fOk9HAtwWRMvUn+rsHlv
lghrxuaCBuYPPCWox9cpcn8jF/QOFnp5hj5ZzCc6RGZYJmBdJintlGNtA2IFa3rC
ZhIFo5oBmT3d+1R7eEdLtVwLwLULxP+geK5GHLVbeu4zSpgNTy4enp9RhqOZUgoV
V0aLdBhlZ+TxA7M7DUhVjtnyvie9O8raHWt3P7dPMeZEML9ab8LV6J/ESHDohKN8
KmyNlYKXzypcydnV2fBx8D4j5UtXzqq1uG9vfMTe3ln8OaDZNbsXT/QUOZRZQLt8
mr8FYUbJ2Zfb8LKUVFr/fuQuP4lb8XiL0sT4JMIPoPyyeV5qkzcJllbIszkYXNAR
XP5eiRFIFtroG0Uw2SXHBmRaxn0i8wWY7F0NCVtXrlG60WS7EmhCFTp11uVu9kTb
Ke2jy4JSWceQ0UD8g8al2+ndNTJMYApDkdww0VIydHnAr/EoKPynbfgSLZRam1xQ
HVdZ73gkgdg1P4DSqNiX1QXPDEU9egMIe1yHRh7WcbhJjst0NJf5DxuxzPwEOy4q
+aGei/QmWTrasjHDPcQVaD1TzdGA6OhauGpupv1X3lCJ1Rc1NodAv71ZebzAHCTa
e1rksBVnkPl8yZj0rvO6wiROEGsRYFwSNvazs/GpWOHxTSOQxYg=
=Sfdj
-----END PGP SIGNATURE-----
Merge tag 'incrementalmerkletree-v0.7.1' into incrementalmerkletree_no_std-tmp
2025-01-27 16:13:40 -07:00
Kris Nuttycombe
60e7e18365
Merge pull request #125 from zcash/incrementalmerkletree-no-std
...
Allow `no_std` use of `incrementalmerkletree`
2024-12-16 11:15:39 -07:00
Kris Nuttycombe
507f6775ac
Release incrementalmerkletree version 0.7.1
2024-12-16 10:13:55 -07:00
Kris Nuttycombe
0eecd6dae7
Allow `no_std` use of `incrementalmerkletree`
2024-12-16 10:13:55 -07:00
Daira-Emma Hopwood
26e8b47291
Merge pull request #124 from zcash/merge_shardtree_hotfix
...
Merge `shardtree` hotfixes back to `main` & update `shardtree` to `incrementalmerkletree 0.8.0`
2024-12-12 23:27:13 +00:00
Kris Nuttycombe
353cf3e9ff
Update `shardtree` to depend upon `incrementalmerkletree 0.8.0`
2024-12-11 21:30:32 -07:00
Kris Nuttycombe
fb62fb6175
Merge remote-tracking branch 'upstream/hotfix/shardtree-v0.3.x' into merge_shardtree_hotfix
2024-12-11 14:59:44 -07:00
Kris Nuttycombe
382d915c06
Merge pull request #123 from zcash/release/incrementalmerkletree-0.8.0
...
Release `incrementalmerkletree` version 0.8.0
2024-12-11 13:09:50 -07:00
Kris Nuttycombe
8a14eaa743
Release `incrementalmerkletree` version 0.8.0
2024-12-11 10:40:56 -07:00
Kris Nuttycombe
9ea34661fc
Merge pull request #122 from zcash/release/shardtree-v0.3.2
...
Release `shardtree v0.3.2`
2024-12-09 22:18:55 -07:00
Kris Nuttycombe
63cbc0a223
Release `shardtree v0.3.2`
2024-12-09 14:31:55 -07:00
Kris Nuttycombe
c8ce5ef0a6
Merge pull request #121 from zcash/shardtree-justify-unwraps-v0.3.x-backport
...
Backport #119 to shardtree v0.3.x
2024-12-09 14:23:25 -07:00
Jack Grigg
766a00eb66
shardtree: Justify `unwraps` due to upheld pre-conditions
2024-12-09 13:44:38 -07:00
Kris Nuttycombe
db4ad58965
Merge pull request #119 from zcash/shardtree-justify-unwraps
...
Replace justified `unwraps` in `shardtree` with `expect`s
2024-12-02 10:22:37 -07:00
Jack Grigg
150f5544ba
shardtree: Justify `unwrap`s due to an `Infallible` error type
...
Rust 1.82 adds support for omitting empty types in pattern matching,
which would make these much clearer.
2024-12-02 09:46:50 -07:00
Kris Nuttycombe
b05d9863db
Merge pull request #120 from zcash/imt-witness-non-empty-tree
...
incrementalmerkletree: Check `IncrementalWitness` at construction
2024-11-24 08:53:26 -07:00
Jack Grigg
c05f2fac00
shardtree: Make `BatchInsertionResult.max_insert_position` non-optional
2024-11-23 04:03:50 +00:00
Jack Grigg
166872e49b
shardtree: Ensure `LocatedTree` is correct by construction
...
This ensures that the various existing `unwrap`s are correctly
justified.
2024-11-23 03:47:35 +00:00
Jack Grigg
1e81f3ca45
shardtree: Justify `unwraps` due to upheld pre-conditions
2024-11-23 03:21:47 +00:00
Jack Grigg
2edacb0191
incrementalmerkletree: Check `IncrementalWitness` at construction
...
A witness cannot exist for an empty tree.
Part of zcash/incrementalmerkletree#118 .
2024-11-23 01:42:04 +00:00
Jack Grigg
74410d059f
shardtree: Justify `unwrap`s due to an `Infallible` error type
...
Rust 1.82 adds support for omitting empty types in pattern matching,
which would make these much clearer.
2024-11-23 00:51:30 +00:00
Kris Nuttycombe
c06b836e3f
Merge pull request #117 from zcash/release/shardtree-0.5.0
...
Release shardtree version 0.5.0
2024-10-04 08:33:51 -06:00
Kris Nuttycombe
771a933d88
Release shardtree version 0.5.0
2024-10-04 08:14:43 -06:00
Kris Nuttycombe
ae7178553e
Release incrementalmerkletree-testing version 0.2.0
2024-10-04 08:14:43 -06:00
Jack Grigg
3364521525
Merge pull request #116 from zcash/stable_incrementalmerkletree_dep
...
Use the stable incrementalmerkletree 0.7 dependency in `incrementalmerkletree-testing` and `shardtree`
2024-10-02 20:06:03 +01:00
Kris Nuttycombe
518fa387d7
Use the stable incrementalmerkletree 0.7 dependency in `incrementalmerkletree-testing` and `shardtree`
2024-10-02 12:51:05 -06:00
Kris Nuttycombe
ffe4234788
Merge pull request #115 from nuttycom/shardtree_rewind_to
...
shardtree: Significantly rework handling of checkpoint depths and truncation operations.
2024-09-27 11:09:22 -06:00
Kris Nuttycombe
3f59900acf
Apply documentation suggestions from code review
...
Co-authored-by: Jack Grigg <thestr4d@gmail.com>
2024-09-27 10:55:01 -06:00
Kris Nuttycombe
9a77e51cc4
shardtree: Rework rewind & checkpoint depth handling.
2024-09-27 08:44:14 -06:00
Kris Nuttycombe
05f23d9763
incrementalmerkletree-testing: Always rewind to a checkpoint.
...
The previous semantics of the `rewind` operation would remove the last
checkpoint, if any, but would not further modify the tree. However,
these semantics are error prone - if you rewind to a checkpoint, you are
not able to rewind to the same checkpoint again; also, in practice, it
doesn't make sense to shift the location of a checkpoint in the note
commitment tree. This change alters `rewind` to (a) take an explicit
checkpoint depth, with depth `0` meaning that any state added since the
last checkpoint should be discarded, and (b) only allow a rewind
operation to succeed if a checkpoint actually exists at the specified
depth.
2024-09-26 22:34:21 -06:00
Kris Nuttycombe
5bbd832930
Merge pull request #114 from nuttycom/bridgetree-0.6.0
...
Release `bridgetree` version 0.6.0.
2024-09-25 16:51:29 -06:00
Kris Nuttycombe
13a52fcea4
Release `bridgetree` version 0.6.0.
...
This change removes `bridgetree` from the workspace, so that it will no
longer be maintained in lockstep with changes to the
`incrementalmerkletree` crate. `bridgetree` will only receive bug-fix
changes in the future.
2024-09-25 14:25:40 -06:00
Kris Nuttycombe
771c0858a2
Merge pull request #113 from nuttycom/incrementalmerketree-testing
...
Extract `incrementalmerkletree::testing` module to a separate `incrementalmerkletree-testing` crate.
2024-09-25 14:14:13 -06:00