Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make the consensus enclave aware of the master minters #1684

Merged
merged 29 commits into from
Mar 22, 2022

Commits on Mar 11, 2022

  1. 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
    eranrund committed Mar 11, 2022
    Configuration menu
    Copy the full SHA
    9975348 View commit details
    Browse the repository at this point in the history
  2. 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
    eranrund committed Mar 11, 2022
    Configuration menu
    Copy the full SHA
    bca47f0 View commit details
    Browse the repository at this point in the history
  3. MintTx/Config protobuf conversions (#1558)

    * add external.proto minting messages and api conversion traits
    
    * tests
    
    * mint tx conversions
    
    * lint
    
    * fix module name
    eranrund committed Mar 11, 2022
    Configuration menu
    Copy the full SHA
    70d6efb View commit details
    Browse the repository at this point in the history
  4. 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>
    eranrund and sugargoat committed Mar 11, 2022
    Configuration menu
    Copy the full SHA
    46056c3 View commit details
    Browse the repository at this point in the history
  5. 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>
    3 people committed Mar 11, 2022
    Configuration menu
    Copy the full SHA
    9a1aba3 View commit details
    Browse the repository at this point in the history
  6. 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>
    3 people committed Mar 11, 2022
    Configuration menu
    Copy the full SHA
    4a8639e View commit details
    Browse the repository at this point in the history
  7. SetMintConfigTx -> MintConfigTx (#1607)

    * SetMintConfigTx -> MintConfigTx
    
    * more renames
    eranrund committed Mar 11, 2022
    Configuration menu
    Copy the full SHA
    20f43d8 View commit details
    Browse the repository at this point in the history
  8. Small fixes following the confidential-token-id merging (#1609)

    * post rebase fixes
    
    * fix tests
    eranrund committed Mar 11, 2022
    Configuration menu
    Copy the full SHA
    6492656 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2022

  1. 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>
    4 people committed Mar 15, 2022
    Configuration menu
    Copy the full SHA
    4198b9a View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2022

  1. 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>
    eranrund and Remoun Metyas committed Mar 16, 2022
    Configuration menu
    Copy the full SHA
    b7f1da3 View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2022

  1. 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>
    eranrund and Remoun Metyas committed Mar 17, 2022
    Configuration menu
    Copy the full SHA
    639d69c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    63e779e View commit details
    Browse the repository at this point in the history
  3. Update ledger/db/src/mint_tx_store.rs

    Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>
    eranrund and Remoun Metyas committed Mar 17, 2022
    Configuration menu
    Copy the full SHA
    c2486d5 View commit details
    Browse the repository at this point in the history
  4. pr comments

    eranrund committed Mar 17, 2022
    Configuration menu
    Copy the full SHA
    b2238de View commit details
    Browse the repository at this point in the history
  5. improve comment

    eranrund committed Mar 17, 2022
    Configuration menu
    Copy the full SHA
    5ec6dad View commit details
    Browse the repository at this point in the history
  6. use const

    eranrund committed Mar 17, 2022
    Configuration menu
    Copy the full SHA
    2d8030a View commit details
    Browse the repository at this point in the history
  7. Update ledger/db/src/mint_tx_store.rs

    Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>
    eranrund and Remoun Metyas committed Mar 17, 2022
    Configuration menu
    Copy the full SHA
    b51bc1e View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2022

  1. Configuration menu
    Copy the full SHA
    169f6d1 View commit details
    Browse the repository at this point in the history
  2. lint

    eranrund committed Mar 21, 2022
    Configuration menu
    Copy the full SHA
    17cbe3a View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2022

  1. add MasterMintersMap

    eranrund committed Mar 22, 2022
    Configuration menu
    Copy the full SHA
    794f737 View commit details
    Browse the repository at this point in the history
  2. pass MasterMintersMap around

    eranrund committed Mar 22, 2022
    Configuration menu
    Copy the full SHA
    ba0b757 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    59abda3 View commit details
    Browse the repository at this point in the history
  4. fix typo

    eranrund committed Mar 22, 2022
    Configuration menu
    Copy the full SHA
    56d784c View commit details
    Browse the repository at this point in the history
  5. lint

    eranrund committed Mar 22, 2022
    Configuration menu
    Copy the full SHA
    c4fcbf2 View commit details
    Browse the repository at this point in the history
  6. more lint

    eranrund committed Mar 22, 2022
    Configuration menu
    Copy the full SHA
    0477dea View commit details
    Browse the repository at this point in the history
  7. fix block index

    eranrund committed Mar 22, 2022
    Configuration menu
    Copy the full SHA
    7796872 View commit details
    Browse the repository at this point in the history
  8. try less concurrency

    eranrund committed Mar 22, 2022
    Configuration menu
    Copy the full SHA
    0e4209f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    2918407 View commit details
    Browse the repository at this point in the history
  10. Revert "try less concurrency"

    This reverts commit 0e4209f.
    eranrund committed Mar 22, 2022
    Configuration menu
    Copy the full SHA
    44d960d View commit details
    Browse the repository at this point in the history