-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: remove mint and related data structures
We realized that mint nodes no longer serve a useful purpose as the spentbook nodes now both verify and sign the transaction. By removing the mint nodes: 1. The client has less work to do. 2. Safe network elder nodes only have a single role and do less work. 3. library has less code, which is easier to learn/audit/maintain. 4. flexibility: spentbook can be any impl that generates a SpentProof. Changes: * bench TransactionVerifier::verify() instead of MintNode::reissue() * remove mint::* from mint-repl * make TransactionBuilder::build() return only a DbcBuilder * remove ReissueRequestBuilder * modify DbcBuilder to build using SpentProofs * add DbcBuilder::spent_proofs() * remove all 'mint', 'Mint' from code/comments. * remove mint sigs from Dbc * fuzz spent proofs in prop_dbc_verification() * remove obsolete/unused error variants * remove all lib code from mint.rs. (tests remain there for now) * add KeyManager error as string to Error:InvalidSpentProofSignature * remove mint sig verification from TransactionVerifier::verify()
- Loading branch information
Showing
11 changed files
with
457 additions
and
1,064 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.