All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
20.0.0 (2023-09-12)
- PR makes encrypted ciphers public, thus obsoleting the sending of DBCs
- removes derivation index ciphers
-
make PublicAddress and MainKey transparent (c597196)
-
unencrypted derivation index (cc1f0c3)
-
cleanup renamings (f498812)
19.1.1 (2023-06-29)
- check for overflow while adding values (3c27b94)
19.1.0 (2023-06-20)
- include parent tx in spend (3e8f3bf)
19.0.1 (2023-06-12)
19.0.0 (2023-05-31)
-
remove bincode serialisation from Hash hex-encoding
-
remove bincode serialisation from Hash hex-encoding (84312ec)
18.1.0 (2023-05-31)
- only print dbc_id when printing SignedSpend (3351dc8)
18.0.0 (2023-05-19)
- renames fields and methods in Spend
- rename spends with better names (3a608aa)
17.0.1 (2023-05-01)
17.0.0 (2023-04-13)
-
have dbcs take derived key
-
have dbcs take derived key (8a124c9)
16.0.1 (2023-04-12)
- expose the new type taken in api (ada0dc9)
16.0.0 (2023-04-12)
- include spend src tx hash
- update encrypt api to take dbc id
- expose sign fn for main key (a94a0ef)
- expose verify fn for public address (23c2a8c)
- update encrypt api to take dbc id (ef6b308)
15.1.0 (2023-04-11)
- gen rand dbc id src from public address (6beae69)
15.0.1 (2023-04-11)
15.0.0 (2023-04-09)
-
spend: include tx instead of only hash
-
spend: include tx instead of only hash (8b8089a)
14.0.0 (2023-04-08)
- remove consensus signatures
- remove consensus signatures (4e3b38d)
13.0.0 (2023-04-05)
-
make bearer a user concern
-
make bearer a user concern (eab9509)
12.0.0 (2023-03-27)
-
builder: keep revealedoutputs
-
rename Input to BlindedInput
-
rename OutputProof to BlindedOutput
-
builder: keep revealedoutputs (d3f0c43)
-
rename Input to BlindedInput (3c9ff69)
-
rename OutputProof to BlindedOutput (4fc3c9f)
11.0.1 (2023-03-23)
- benches: place unix dep under compiler flag (3ccac46)
11.0.0 (2023-03-22)
-
rename commitment to blinded amount
-
rename commitment to blinded amount (59c21f8)
10.0.0 (2023-03-15)
- changes the API of DBCs
- add public key and commitment easy access to dbc api (294431e)
9.0.0 (2023-03-02)
- Changes the SpentProofs
8.4.0 (2023-02-28)
- builder: add api for adding spentproof (3cfb58d)
8.3.1 (2023-02-21)
8.3.0 (2023-02-16)
- expose PedersenGens (fc7b40e)
- forgotten rename (4b17ebf)
8.2.2 (2023-02-15)
- cargo keywords (5bf3f33)
8.2.1 (2023-02-15)
- remove space in keywords (20fdc79)
8.2.0 (2023-02-14)
- add domain separators to msg encoding (34348f3)
- domain separators for DbcTransaction encoding (6ac9400)
- remove hand wavy crypto, use blsttc (c25ef94)
- remove ringct (e06e9f0)
- remove ringct dependency (746cec3)
- revamp input commitment code (423e3dc)
- use safer bulletproofs instead of bls_bulletproofs (e6cb255)
8.2.0 (2023-02-08)
- add domain separators to msg encoding (34348f3)
- domain separators for DbcTransaction encoding (6ac9400)
- remove hand wavy crypto, use blsttc (c25ef94)
- remove ringct (e06e9f0)
- remove ringct dependency (746cec3)
- revamp input commitment code (423e3dc)
- use safer bulletproofs instead of bls_bulletproofs (e6cb255)
8.2.0 (2023-02-02)
- add domain separators to msg encoding (34348f3)
- domain separators for DbcTransaction encoding (6ac9400)
- remove hand wavy crypto, use blsttc (c25ef94)
- remove ringct (e06e9f0)
- remove ringct dependency (746cec3)
- revamp input commitment code (423e3dc)
8.1.2 (2023-01-04)
8.1.2 (2022-12-13)
8.1.1 (2022-11-08)
8.1.0 (2022-09-23)
- function to get commitments from transaction (fa23ff9)
8.0.0 (2022-08-16)
-
reducing spent proof verification public API scope to only check it is known key
-
reducing spent proof verification public API scope to only check it is known key (cf559f1)
7.2.0 (2022-08-04)
- expose Token type in public API (5333138)
7.1.0 (2022-07-28)
- expose a public API which allows to build a SpentProof from a given set of proof shares (d25a01b)
7.0.1 (2022-07-20)
7.0.0 (2022-07-07)
- simplifying spent proofs and TX verification public APIs
- simplifying spent proofs and TX verification public APIs (e4ec6ce)
6.0.0 (2022-06-29)
- changes in the API due to Dbc struct change, but also due to moving GenesisMaterial to the mock/exmaple mod as it's not needed in public API.
- embed the transaction which spent the inputs within the Dbc struct
-
embed the transaction which spent the inputs within the Dbc struct (7db1874)
-
keeping spent transactions within Dbc in a set rather than a vec (861288a)
5.0.0 (2022-06-16)
- errors: additional context information to Error::SpentProofInputLenMismatch
- errors: additional context information to Error::SpentProofInputLenMismatch (3e291d7)
4.0.0 (2022-06-11)
- a change from the blsttc release cascades here to require the error type to remove
derivation from
Serialize
andDeserialize
.
This release includes some utilities for converting keys to and from hex, which I have been making use of in work related to owned DBCs.
- update blsttc to 6.0.0 (f5fddba)
3.3.0 (2022-06-09)
- convert owned dbc to bearer (40a1775)
3.2.1 (2022-06-03)
3.2.0 (2022-06-02)
- provide hex serialization utilities (abfa4da)
3.1.2 (2022-05-12)
3.1.1 (2022-04-21)
3.1.0 (2022-04-20)
- api: decouple the verification of Tx and spentproofs from DbcBuilder::build (918b076)
3.0.1 (2022-04-19)
3.0.0 (2022-04-08)
-
The sn_ringct crate was renamed to bls_ringct, so we update this reference.
-
reference renamed ringct crate (2d15911)
2.17.1 (2022-04-05)
2.17.0 (2022-04-05)
- serialize blsttc and ringct error variants (18c80a3)
2.16.3 (2022-04-05)
- avoid true input inclusion in decoys (7dd204e)
2.16.2 (2022-03-29)
- filter true input from decoy inputs (0b7b133)
2.16.1 (2022-03-29)
2.16.0 (2022-03-24)
- decouple deps and remove bls_dkg (48f4b84)
2.15.0 (2022-03-22)
- impl add_output(s)_by_amount() methods (2f5b01d)
- integrate blsttc+blstrs (ae4d0ca)
- remove mint and related data structures (5e043c6)
2.14.2 (2022-03-14)
- verify that ReissueShare match (6f1eb89)
2.14.1 (2022-03-07)
- avoid unnecessary sig verifications (d6f9036)
- make prop_dbc_validation pass (e0d3453)
- verify Tx in DbcBuilder::build() (6db3a00)
2.14.0 (2022-03-03)
- verify (always) Amount matches Commitment (d38c5de)
2.13.1 (2022-03-02)
2.13.0 (2022-02-23)
- make GenesisMaterial available to wallets (aad4e7f)
- make GenesisMaterial usable by any node (3b8d2d2)
- set genesis seed values (d45477c)
- use TransactionMustHaveAnInput from ringct (e0a814e)
2.12.2 (2022-02-23)
- change BTreeSet to HashSet (cf8a030)
2.12.1 (2022-02-23)
2.12.0 (2022-02-23)
- remove the key image maths (a8f40ed)
2.11.2 (2022-02-23)
- return Spentbook errors. don't panic (b280bde)
2.11.1 (2022-02-23)
2.11.0 (2022-02-23)
- moved input and key image uniqueness checks to blst-ringct (df4da9e)
2.10.0 (2022-02-17)
- add Dbc::key_image() for checking if spent (f72fe8f)
- add GenesisBuilderMock (cfc2b67)
- add input/output getters to Tx builder (78d910c)
- add mock spentbook to tests (f1ee03c)
- add serde feature flag (ff32395)
- add spentbook pubkey to mint's key_manager (c2bce8b)
- include AmountSecrets ciphertext in DbcContent (90f8a01)
- integrate ringct into sn_dbc. wip: it now builds without warnings (289b242)
- re-enable two tests: tests::hash, mint::tests::prop_genesis (b239316)
- return RingCtMaterial from TransactionBuilder::build() (afede07)
- update mint-repl to use ringct (5c41110)
- use PublicKey from KeyManager for genesis dbc owner (29dd342)
- validate tx in spentbook (42fb29e)
- working on ringct integration. does not build (411d8d3)
- avoid possible panic in issue_genesis_dbc (5fa45c7)
- first pass at public_commitments. prop_splitting_the_genesis_dbc() test (mostly) passes (cf38ec7)
- handle empty output_amounts in test prop_splitting_the_genesis_dbc (26c05dd)
- make dbc_packet.rs build again (6670818)
- make ReissueRequestBuilder and DbcBuilder build again (6db4449)
- prop_dbc_transaction_many_to_many() is passing now (d0e29f3)
- refactor to include tx_hash in spentbook sig (2069d34)
- refactor to validate spent_proofs in Dbc::confirm_valid (0059b3e)
- reverse logic valdiating spentproof shares (b9d2e5c)
- mint: verify KeyImage unique across inputs (56c62c8)
- reissue: key mint sigs by mlsag index not KeyImage (5d0b72f)
- use deterministic secret key for genesis dbc (4edfd6c)
2.9.2 (2021-12-04)
2.9.1 (2021-10-22)
- tests: fix many-to-many test handling of invalid + valid proofs (8bbf2e7)
2.9.0 (2021-10-21)
- add DbcPacket and DerivedKeySet (1042a63)
2.8.0 (2021-10-14)
- client-writes-spentbook: move reissue flow to SpentProofs (fb7635c)
- spentproofs: mint-repl is working again (930b643)
- spentproofs: update benches (482cb97)
2.7.1 (2021-09-21)
2.7.0 (2021-09-16)
- add ReissueRequestBuilder to simplify aggregating dbc ownership proofs (b0c3d5a)
2.6.0 (2021-09-14)
- forced-one-time-keys: dbc name is the owner (0b4e9ef)
- forced-one-time-keys: derive spending key from dbc hash (1e1fbd1)
- forced-one-time-keys: mint-repl works with dbc name change (6ba078b)
- forced-one-time-keys: remove blinded owner (987b65e)
- forced-one-time-keys: update benchmarks (1ea8cd3)
- forced-one-time-keys: update mint-repl & benchmarks (c8ae2e1)
- mint-repl: more robust input handling (51e9e43)
2.5.0 (2021-09-07)
2.4.2 (2021-08-19)
- bench: fixes #79 - bug in code to generate ownership proofs (082e4bb)
- dkg: use Outcome::index instead of hardcoding 0 (0650b37)
- make dbc_content::AmountSecrets impl Copy (5b5ef05)
2.4.1 (2021-08-19)
2.4.0 (2021-08-18)
- builder: add fns for getting input/output sum and input hashes (5eeae06)
2.3.0 (2021-08-17)
- tx_builder: introduce transaction builder pattern (d0539a7)
- address CR comments - fix naming and spelling (e796cfe)
2.2.0 (2021-08-13)
- add APIs that enable recipient to verify AmountSecrets match committed amount (54776ee)
- confidential transactions. pedersen commitments + bulletproofs (range proofs) (ee2623e)
2.1.0 (2021-07-07)
- remove IntoIterator requirement on SpendBook trait (c0ac6c2)
2.0.0 (2021-06-29)
- updates to use blsstc
- use blsstc instead of threshold_crypto (4044c27)
1.7.0 (2021-06-24)
- add SpendBook::entries() to enforce type of Iterator values (5a6d20e)
- make SpendBook a trait so that implementer can decide how to store it (287a341)
- return Result for SpendBook trait methods. adds Error::SpendBook enum (5bddb4c)
1.6.8 (2021-06-21)
- tests: also match on the mapped errors (df5c98c)
1.6.7 (2021-06-17)
1.6.6 (2021-06-16)
1.6.5 (2021-06-15)
1.6.4 (2021-06-10)
1.6.3 (2021-06-09)
1.6.2 (2021-06-08)
1.6.1 (2021-06-07)
1.6.0 (2021-06-03)
- mint: replace ed25519 mint identities with BLS (78baf59)
- bench: update benchmarks to work with the new BLS keys (e3da1fb)
- bls: remove ed25519 dependency (d46422a)
- mint: replace mint keys with key sets; fixed size BLS indices (3bd7e29)
1.5.0 (2021-06-02)
- bench: benchmark split and merge reissus (852ac41)
1.4.0 (2021-05-28)
- owners: blind owners in dbccontent (f63454b)
1.3.1 (2021-05-28)
1.3.0 (2021-05-27)
- redefine Hash as a struct so we can impl Display on it, and print as base64 (b540203)
1.2.0 (2021-05-25)
- mint: take input hashes belonging to mint, in reissue method (37b826b)
1.1.0 (2021-05-19)
- dbc_owner: dbc_content now has an owner (0eaede9)
- dbc_owners: make room in MintRequest for input ownership proof (58f84af)
- dbc_owner: verify input owner proofs (ffb5b66)
- fuzz_testing: start fuzzing for ownership proofs (b83e0eb)
- owner: depend on threshold_crypto instead of bls_dkg (1fd6a7b)
- owner: tests are now fuzzing the owner field (fd81ae0)
1.0.8 (2021-05-11)
1.0.7 (2021-05-11)
- mint: ensure mint request balances; validate output parents (18835d6)
- mint: output parents are now checked (93ae081)
- mint: validate output numbering (64f67df)
1.0.6 (2021-05-11)
1.0.5 (2021-05-06)
1.0.4 (2021-05-06)
1.0.3 (2021-05-06)
1.0.2 (2021-05-06)
- build: remove references to vec{set,map} (c937710)
0.1.0 (2021-05-06)
- sn_dbc: initial implementation