Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make the consensus enclave aware of the master minters (#1684)
* Add master minters configuration to TokensConfig (#1504) * minting configuration wip * fmt * fix indent * fix test * add test, be more aggressive about validation * use serde(with=...) * one line * Minting data types and initial LedgerDb support (#1537) * initial mint data structures * basic mint config in ledger * basic get/set test * another test * update total minted api+tests * add migration code * enforce limit * lock and lint * fmt * update comment and remove pub * update lock files * misc pr review fixes * add a test for setting an active configuration with no configs * small fixes * use PEM encoding for signers * fix tag * ensure total minted amount cannot decrease * use inconsistent_digit_grouping to make version numbers more readable * fmt * MintTx/Config protobuf conversions (#1558) * add external.proto minting messages and api conversion traits * tests * mint tx conversions * lint * fix module name * Store mint-related transations in LedgerDb (#1587) * wip * remove BlockContents::new to make adding new fields less tedious * fix typos/lints * add todo * fix typos * more defaults * tests * iterate * more tests * remove unneeded public api * more tests * more tests * stricter validation * reorganize code * lint * add mint migration code * mint_tx_store test no. 1 * dont allow overwriting existing blocks, iterate on test * pr fixes * lint * more tests * add test * remove unneeded type declaration * Update ledger/db/src/mint_config_store.rs Co-authored-by: sugargoat <sugargoat@mobilecoin.com> * rename test to better explain what its testing * be more strict about having outputs when MintTxs are present Co-authored-by: sugargoat <sugargoat@mobilecoin.com> * Expose LedgerDb API for looking up txs by nonce (#1602) * wip * remove BlockContents::new to make adding new fields less tedious * fix typos/lints * add todo * fix typos * more defaults * tests * iterate * more tests * remove unneeded public api * more tests * more tests * stricter validation * reorganize code * lint * add mint migration code * mint_tx_store test no. 1 * dont allow overwriting existing blocks, iterate on test * pr fixes * lint * more tests * add test * remove unneeded type declaration * add public ledger api for looking up mint txs by nonce, change to return block index since that is more useful * missing mock changes * fix fmt * Update ledger/db/src/mint_config_store.rs Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> * fix typo * Update ledger/db/src/mint_config_store.rs Co-authored-by: sugargoat <sugargoat@mobilecoin.com> * rename test to better explain what its testing * be more strict about having outputs when MintTxs are present * add public ledger api for looking up mint txs by nonce, change to return block index since that is more useful Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> Co-authored-by: sugargoat <sugargoat@mobilecoin.com> * Minting transaction validation (#1593) * wip * remove BlockContents::new to make adding new fields less tedious * fix typos/lints * add todo * fix typos * more defaults * tests * iterate * more tests * remove unneeded public api * more tests * more tests * stricter validation * reorganize code * lint * add mint migration code * mint_tx_store test no. 1 * dont allow overwriting existing blocks, iterate on test * pr fixes * lint * more tests * add test * remove unneeded type declaration * add public ledger api for looking up mint txs by nonce, change to return block index since that is more useful * missing mock changes * fix fmt * Update ledger/db/src/mint_config_store.rs Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> * fix typo * Update ledger/db/src/mint_config_store.rs Co-authored-by: sugargoat <sugargoat@mobilecoin.com> * rename test to better explain what its testing * be more strict about having outputs when MintTxs are present * add public ledger api for looking up mint txs by nonce, change to return block index since that is more useful * initial work on validation * SetMintConfigTx validation + tests * reorganize * MintTx validation and tests * lint * add comments * update comments * Update transaction/core/src/mint/validation/common.rs Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> * Update transaction/core/src/mint/validation/config.rs Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> * address pr review comment * make nonce constant length Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> Co-authored-by: sugargoat <sugargoat@mobilecoin.com> * SetMintConfigTx -> MintConfigTx (#1607) * SetMintConfigTx -> MintConfigTx * more renames * Small fixes following the confidential-token-id merging (#1609) * post rebase fixes * fix tests * Eran/merge master 2022 03 14 (#1629) * Update grpcio to 0.10 (#1592) * Bump pretty_assertions from 1.1.0 to 1.2.0 (#1610) Bumps [pretty_assertions](https://github.com/colin-kiegel/rust-pretty-assertions) from 1.1.0 to 1.2.0. - [Release notes](https://github.com/colin-kiegel/rust-pretty-assertions/releases) - [Changelog](https://github.com/colin-kiegel/rust-pretty-assertions/blob/main/CHANGELOG.md) - [Commits](https://github.com/colin-kiegel/rust-pretty-assertions/commits) --- updated-dependencies: - dependency-name: pretty_assertions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * delete slam, fixes #1574 (#1611) slam is no longer needed because fog-distro, which began life as a fork of it, has superceded it and slam is no longer used in CD * introduce FormBlockInputs and break out some code from form_block into its own method (#1625) * introduce FormBlockInputs and break out some code from form_block into its own method * add some missing code * add missing import * remove the Copy trait from ConsensusValue (#1628) * remove the Copy and Display traits from ConsensusValue since they make it hard to add transaction types that cant implement them * add back display * fmt Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Chris Beck <beck.ct@gmail.com> * Support reaching consensus on MintConfigTxs (#1630) * initial work on stubbing out SetMintConfigTx * MintTxManager replaces stubs * grpc api * fmt * mint client and misc improvements * interate towards tx working * actual validation taking place * iterate * append block from client works * wip * rename and lint * fix nonce length * comine, cleanups, validate that nonce is not already in ledger * cleanups * lint * make test code reusable * add tests * structopt -> clap * rebase fixes * fix test * Update consensus/mint-client/src/config.rs Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> * address review comments * Update transaction/core/test-utils/src/mint.rs Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> * use dedup_by+truncate * renames * undo incorrect change * typo Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> * Support for reaching consensus on MintTx, mint client improvements (#1641) * stub out ProposeMintTx * expose get_active_mint_config_for_mint_tx, more plumbing * undo wrong change * MintTxManager impls for MintTx * mint client support subcommands * basic MintTx flow works, getting NoOutputs * mobilecoind api filtering for token_id * minting is working :) * client improvements, local network script defaults to having two mintable tokens * tests * more tests yay * testsssssssss * test fixes and linting * try without block version * back to block v3 * Update consensus/service/src/api/client_api_service.rs Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> * new line Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> * Update ledger/db/src/mint_tx_store.rs Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> * pr comments * improve comment * use const * Update ledger/db/src/mint_tx_store.rs Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> * lint * add MasterMintersMap * pass MasterMintersMap around * enclave validates MintConfigTxs * fix typo * lint * more lint * fix block index * try less concurrency * Revert "try less concurrency" This reverts commit 0e4209f. Co-authored-by: sugargoat <sugargoat@mobilecoin.com> Co-authored-by: Remoun Metyas <remoun@mobilecoin.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Chris Beck <beck.ct@gmail.com>
- Loading branch information