Skip to content

Latest commit

 

History

History
804 lines (404 loc) · 35.6 KB

CHANGELOG.md

File metadata and controls

804 lines (404 loc) · 35.6 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

20.0.0 (2023-09-12)

⚠ BREAKING CHANGES

  • PR makes encrypted ciphers public, thus obsoleting the sending of DBCs
  • removes derivation index ciphers

Features

  • make PublicAddress and MainKey transparent (c597196)

  • unencrypted derivation index (cc1f0c3)

  • cleanup renamings (f498812)

19.1.1 (2023-06-29)

Bug Fixes

  • check for overflow while adding values (3c27b94)

19.1.0 (2023-06-20)

Features

  • include parent tx in spend (3e8f3bf)

19.0.1 (2023-06-12)

19.0.0 (2023-05-31)

⚠ BREAKING CHANGES

  • remove bincode serialisation from Hash hex-encoding

  • remove bincode serialisation from Hash hex-encoding (84312ec)

18.1.0 (2023-05-31)

Features

  • only print dbc_id when printing SignedSpend (3351dc8)

18.0.0 (2023-05-19)

⚠ BREAKING CHANGES

  • renames fields and methods in Spend

Features

  • rename spends with better names (3a608aa)

17.0.1 (2023-05-01)

17.0.0 (2023-04-13)

⚠ BREAKING CHANGES

  • have dbcs take derived key

  • have dbcs take derived key (8a124c9)

16.0.1 (2023-04-12)

Bug Fixes

  • expose the new type taken in api (ada0dc9)

16.0.0 (2023-04-12)

⚠ BREAKING CHANGES

  • include spend src tx hash
  • update encrypt api to take dbc id

Features

  • expose sign fn for main key (a94a0ef)
  • expose verify fn for public address (23c2a8c)
  • update encrypt api to take dbc id (ef6b308)

Bug Fixes

  • txbuilder: take borrowed mainkey (3523055)

  • include spend src tx hash (ed9285c)

15.1.0 (2023-04-11)

Features

  • gen rand dbc id src from public address (6beae69)

15.0.1 (2023-04-11)

15.0.0 (2023-04-09)

⚠ BREAKING CHANGES

  • spend: include tx instead of only hash

  • spend: include tx instead of only hash (8b8089a)

14.0.0 (2023-04-08)

⚠ BREAKING CHANGES

  • remove consensus signatures

Features

  • remove consensus signatures (4e3b38d)

13.0.0 (2023-04-05)

⚠ BREAKING CHANGES

  • make bearer a user concern

  • make bearer a user concern (eab9509)

12.0.0 (2023-03-27)

⚠ BREAKING CHANGES

  • 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)

Bug Fixes

  • benches: place unix dep under compiler flag (3ccac46)

11.0.0 (2023-03-22)

⚠ BREAKING CHANGES

  • rename commitment to blinded amount

  • rename commitment to blinded amount (59c21f8)

10.0.0 (2023-03-15)

⚠ BREAKING CHANGES

  • changes the API of DBCs

Features

  • add public key and commitment easy access to dbc api (294431e)

9.0.0 (2023-03-02)

⚠ BREAKING CHANGES

  • Changes the SpentProofs

Features

  • dbc reasons in SpentProof (6a6eeea)
  • to from hex string for Hash (f20e23c)

Bug Fixes

8.4.0 (2023-02-28)

Features

  • builder: add api for adding spentproof (3cfb58d)

8.3.1 (2023-02-21)

8.3.0 (2023-02-16)

Features

Bug Fixes

8.2.2 (2023-02-15)

Bug Fixes

8.2.1 (2023-02-15)

Bug Fixes

  • remove space in keywords (20fdc79)

8.2.0 (2023-02-14)

Features

  • 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)

Bug Fixes

8.2.0 (2023-02-08)

Features

  • 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)

Bug Fixes

8.2.0 (2023-02-02)

Features

  • 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)

Bug Fixes

8.1.2 (2023-01-04)

8.1.2 (2022-12-13)

8.1.1 (2022-11-08)

8.1.0 (2022-09-23)

Features

  • function to get commitments from transaction (fa23ff9)

8.0.0 (2022-08-16)

⚠ BREAKING CHANGES

  • 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)

Features

  • expose Token type in public API (5333138)

7.1.0 (2022-07-28)

Features

  • 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)

⚠ BREAKING CHANGES

  • simplifying spent proofs and TX verification public APIs

Features

  • simplifying spent proofs and TX verification public APIs (e4ec6ce)

6.0.0 (2022-06-29)

⚠ BREAKING CHANGES

  • 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

Features

  • 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)

⚠ BREAKING CHANGES

  • errors: additional context information to Error::SpentProofInputLenMismatch

Features

  • errors: additional context information to Error::SpentProofInputLenMismatch (3e291d7)

4.0.0 (2022-06-11)

⚠ BREAKING CHANGES

  • a change from the blsttc release cascades here to require the error type to remove derivation from Serialize and Deserialize.

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.

3.3.0 (2022-06-09)

Features

  • convert owned dbc to bearer (40a1775)

3.2.1 (2022-06-03)

3.2.0 (2022-06-02)

Features

  • provide hex serialization utilities (abfa4da)

3.1.2 (2022-05-12)

3.1.1 (2022-04-21)

3.1.0 (2022-04-20)

Features

  • api: decouple the verification of Tx and spentproofs from DbcBuilder::build (918b076)

3.0.1 (2022-04-19)

3.0.0 (2022-04-08)

⚠ BREAKING CHANGES

  • 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)

Features

  • serialize blsttc and ringct error variants (18c80a3)

2.16.3 (2022-04-05)

Bug Fixes

  • avoid true input inclusion in decoys (7dd204e)

2.16.2 (2022-03-29)

Bug Fixes

  • filter true input from decoy inputs (0b7b133)

2.16.1 (2022-03-29)

2.16.0 (2022-03-24)

Features

  • decouple deps and remove bls_dkg (48f4b84)

2.15.0 (2022-03-22)

Features

  • 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)

Bug Fixes

  • verify that ReissueShare match (6f1eb89)

2.14.1 (2022-03-07)

Bug Fixes

  • avoid unnecessary sig verifications (d6f9036)
  • make prop_dbc_validation pass (e0d3453)
  • verify Tx in DbcBuilder::build() (6db3a00)

2.14.0 (2022-03-03)

Features

  • verify (always) Amount matches Commitment (d38c5de)

2.13.1 (2022-03-02)

2.13.0 (2022-02-23)

Features

  • make GenesisMaterial available to wallets (aad4e7f)
  • make GenesisMaterial usable by any node (3b8d2d2)
  • set genesis seed values (d45477c)

Bug Fixes

  • use TransactionMustHaveAnInput from ringct (e0a814e)

2.12.2 (2022-02-23)

Bug Fixes

  • change BTreeSet to HashSet (cf8a030)

2.12.1 (2022-02-23)

2.12.0 (2022-02-23)

Features

  • remove the key image maths (a8f40ed)

2.11.2 (2022-02-23)

Bug Fixes

  • return Spentbook errors. don't panic (b280bde)

2.11.1 (2022-02-23)

2.11.0 (2022-02-23)

Features

  • moved input and key image uniqueness checks to blst-ringct (df4da9e)

2.10.0 (2022-02-17)

Features

  • 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)

Bug Fixes

  • 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)

Bug Fixes

  • tests: fix many-to-many test handling of invalid + valid proofs (8bbf2e7)

2.9.0 (2021-10-21)

Features

  • add DbcPacket and DerivedKeySet (1042a63)

2.8.0 (2021-10-14)

Features

  • 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)

Features

  • add ReissueRequestBuilder to simplify aggregating dbc ownership proofs (b0c3d5a)

2.6.0 (2021-09-14)

Features

  • 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)

Features

  • add DbcBuilder (66fda04)
  • add errors NoReissueShares and NoReissueTransaction (f6aa707)

2.4.2 (2021-08-19)

Bug Fixes

  • 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)

Features

  • builder: add fns for getting input/output sum and input hashes (5eeae06)

2.3.0 (2021-08-17)

Features

  • tx_builder: introduce transaction builder pattern (d0539a7)

Bug Fixes

  • address CR comments - fix naming and spelling (e796cfe)

2.2.0 (2021-08-13)

Features

  • 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)

Features

  • remove IntoIterator requirement on SpendBook trait (c0ac6c2)

2.0.0 (2021-06-29)

⚠ BREAKING CHANGES

  • updates to use blsstc

Features

  • use blsstc instead of threshold_crypto (4044c27)

1.7.0 (2021-06-24)

Features

  • 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)

Bug Fixes

  • 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)

Features

  • mint: replace ed25519 mint identities with BLS (78baf59)

Bug Fixes

  • 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)

Features

  • bench: benchmark split and merge reissus (852ac41)

1.4.0 (2021-05-28)

Features

  • owners: blind owners in dbccontent (f63454b)

1.3.1 (2021-05-28)

1.3.0 (2021-05-27)

Features

  • redefine Hash as a struct so we can impl Display on it, and print as base64 (b540203)

1.2.0 (2021-05-25)

Features

  • mint: take input hashes belonging to mint, in reissue method (37b826b)

1.1.0 (2021-05-19)

Features

  • dbc_owner: dbc_content now has an owner (0eaede9)
  • dbc_owners: make room in MintRequest for input ownership proof (58f84af)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Bug Fixes

  • build: remove references to vec{set,map} (c937710)

1.0.1 (2021-05-06)

1.0.1 (2021-05-06)

0.1.0 (2021-05-06)

0.1.0 (2021-05-06)

  • sn_dbc: initial implementation