Commit Graph

19 Commits

Author SHA1 Message Date
Kris Nuttycombe b60ef5c7ea Return bundle metadata from bundle building.
In order to be able to associate requested spends and outputs with the
indices of the actions that execute these operations, it is necessary to
track the randomization of inputs and outputs and return the mappings
that resulted from that shuffling.
2024-01-09 14:09:05 -07:00
Kris Nuttycombe 3845686a6e Modify `BundleType` to exclude the anchor & allow no bundle to be produced.
This adds a flag to `BundleType` that, when set, requires a dummy-only
bundle to be produced even if no spends or outputs are added to the
builder, and when unset results in standard padding.
2023-12-20 19:29:14 -07:00
Kris Nuttycombe 2e2c161d52 Add a public bundle construction function & use it in the builder. 2023-12-18 21:56:42 -07:00
Kris Nuttycombe 0a257d6f68 Add explicit control of padding to the Builder API. 2023-12-15 15:08:22 -07:00
Kris Nuttycombe 06cb76168e Rename `Builder::add_recipient` to `add_output`.
The term `recipient` is commonly used to refer to the address to which a
note is sent; however, a bundle may include multiple outputs to the same
recipient. This change is intended to clarify this usage.

Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-12-14 15:56:42 -07:00
Kris Nuttycombe 6cf6f15bf1 Update the `incrementalmerkletree` and `bridgetree` patch versions.
This also removes the `bridgetree` transitive dependency when building
using the `test-dependencies` feature flag, as the only use of it can be
satisfied just with `incrementalmerkletree`.
2023-05-24 15:36:25 -06:00
Kris Nuttycombe 8bc53ecbde Update to development versions of incrementalmerkletree/bridgetree
This modifies the tests where required to use bridgetree checkpoint
identifiers.
2023-04-11 10:33:25 -06:00
Kris Nuttycombe cf526f59e2 Fix clippy beta lints that are applicable given an MSRV of 1.60 2023-03-10 14:23:06 -07:00
Jack Grigg 0b4d7bc9c6 Migrate note encryption to use prepared w-NAF APIs 2022-10-15 23:27:57 +00:00
Kris Nuttycombe 4e3e469780 Update incrementalmerkletree dependency version. 2022-05-04 08:01:02 -06:00
Jack Grigg 4574d4793a Migrate to 2021 edition 2022-04-28 17:23:30 +00:00
Jack Grigg 06995064d7 incrementalmerkletree 0.3.0-beta.2 2022-04-06 18:19:39 +00:00
therealyingtong a0424984c6 Add explicit scoping for viewing keys and addresses
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-03-30 20:49:37 +08:00
Jack Grigg eb7a9668aa Merge branch 'non-consensus-changes-on-branchid-c4cd541e' into merge-non-consensus-changes-2 2022-02-28 20:46:55 +00:00
Kris Nuttycombe e32a075ef0 Update the incremental merkle tree version and the Rust toolchain.
Use derived equality and ordering (which delegate to constant-time
versions) for note::nullifier::Nullifier and tree::MerkleHashOrchard
so that these types can be used as map keys in wallets.
2022-02-24 09:12:12 -07:00
Jack Grigg 0944cf8800 Fix clippy lint 2022-02-15 23:15:44 +00:00
Jack Grigg 4ba063a07d Update non-consensus tests for changes in consensus branch 2022-02-15 22:48:28 +00:00
Jack Grigg 62da82bd38 Add functional test for creating and verifying a shielded bundle
The text exposed some limitations of the current crate API, which have
been fixed.
2022-02-15 22:17:15 +00:00
Jack Grigg 0b6bd07904 Add functional test for creating and verifying a shielding bundle
The text exposed some limitations of the current crate API, which have
been fixed.
2022-02-15 22:17:15 +00:00