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

Feature/tcb release notes #2953

Draft
wants to merge 77 commits into
base: main
Choose a base branch
from
Draft

Feature/tcb release notes #2953

wants to merge 77 commits into from

Conversation

cbeck88
Copy link
Contributor

@cbeck88 cbeck88 commented Dec 13, 2022

This is just getting a network at release/v4.0 so we can do testing. This should not be merged anywhere, it is at head of v3.0

cbeck88 and others added 30 commits May 4, 2022 12:40
…date 1.2 (#1909)

* port a select subset of the changes from mixed transactions for candidate 1.2

The changes ported here are:
* Rename `token_id` to `fee_token_id` in `TxPrefix`. This avoids a breaking
  change between this and 1.3 in the hashes.
* Make `TransactionBuilder::new` take a fee amount instead of a fee token id
  This also changes te memo builder trait, so that it will be compatible with
  the burn redemption memo builder which we hope to port next.
  This also makes `TransactionBuilder` possibly return an error.
* Adapt all clients and sdks for `TransactionBuilder::new` changes.
* Adapt all tests for this change
* Bring the  `Amount::new` function which makes the test code nicer.

* small change to `TransactionBuilder::get_fee` per Remoun
* Cherry-pick Initial take on implementing Burn Redemption Memo (#1862)

There was no real conflict except that in the tests for the new memo builder,
the tests had to change the .add_output and .add_change_output APIs are different.

* Update Change Subaddress Index (#1880)

Set Change Subaddress Index to u64::MAX - 1

* Cherry-pick of API for generating burn txs in mobilecoind (#1872)

This conflict was resolved:

```
diff --cc mobilecoind/src/payments.rs
index 6424c3fd,c3b6f0ed..00000000
--- a/mobilecoind/src/payments.rs
+++ b/mobilecoind/src/payments.rs
@@@ -867,18 -876,17 +876,32 @@@ impl<T: BlockchainConnection + UserTxCo
              fog_resolver_factory(&fog_uris).map_err(Error::Fog)?
          };

++<<<<<<< HEAD
 +        // TODO: Use RTH memo builder, optionally?
 +
 +        let fee_amount = Amount::new(fee, token_id);
 +
 +        // Create tx_builder.
 +        let mut tx_builder = TransactionBuilder::new(
 +            block_version,
 +            fee_amount,
 +            fog_resolver,
 +            EmptyMemoBuilder::default(),
 +        )
 +        .map_err(|err| Error::TxBuild(format!("Error cretaing TransactionBuilder: {}", err)))?;
++=======
+         // Create tx_builder.
+         // TODO (GH #1522): Use RTH memo builder, optionally?
+         let memo_builder: Box<dyn MemoBuilder + Send + Sync> =
+             opt_memo_builder.unwrap_or_else(|| Box::new(EmptyMemoBuilder::default()));
+
+         let fee_amount = Amount::new(fee, token_id);
+         let mut tx_builder =
+             TransactionBuilder::new_with_box(block_version, fee_amount, fog_resolver, memo_builder)
+                 .map_err(|err| {
+                     Error::TxBuild(format!("Error creating transaction builder: {}", err))
+                 })?;
++>>>>>>> d991eee... API for generating burn txs in mobilecoind (#1872)

          // Unzip each vec of tuples into a tuple of vecs.
          let mut rings_and_proofs: Vec<(Vec<TxOut>, Vec<TxOutMembershipProof>)> = rings
```

* fix typo (#1883)

* remove a test that is inapplicable now from the burn redemption memo PR

* fix a test that I reconciled conflict incorrectly for

* Cherry-pick Fix/slip10errors (#1893)

There was a very small conflict which I resolved

Co-authored-by: Eran Rundstein <eran@rundste.in>
Co-authored-by: Bernie Dolan <bernie@mobilecoin.com>
Co-authored-by: wjuan-mob <william@mobilecoin.com>
* Amount -> MaskedAmount

* Lint

* Lint
* unmask_value -> unmask_value

Changed unmask_value to unmask_amount, returning an Amount class.
The Amount class contains both the value and the token ID

* Updating Amount constructor signature

* Lint

* Lint
…enclave impl (#1965) (#1970)

* Make fee map enforce divisibility by minimum fee. Also check this in enclave impl

* fix previous after cargo fmt

* fix imports

* fix build

* clippy

* fix consensus service tests

* fix more tests

* fix blockchain api tests

* fix consensus enclave api tests

* fix consensus enclave impl tests

* fix more tests
The fee token id, which is a new field in 1.2, needs to be marked
`omit_when = 0`, otherwise there is no way for clients to be
compatible with 1.1 and 1.2.

This needs to be done whenever we add a numeric field to a proto
that is hashed into the blockchain, otherwise the schema evolution
strategy for hashing doesn't work.

(It really should have been the default for hashing integers,
because it's so easy to miss this,
but it's probably too late to change that now.)
* add_output returns TxOutContext

* Overloading modified tx builder functions for compatibility

* Add TxOutContext to transaction_std lib.rs so its scope is automatically included in its import. Make individual variables in new struct public (may not be optimal fix). Update binding functions in libmobilecoin to use the new context based add_change_output/add_output calls to the transaction builder, and add a new "out" parameter to each of those ffi bindings so the SDK can consume the shared_secret.

* add documentation to TxOutContext variables. Change copy out semantics for shared_secret in the add_change and add_ouput ffi binding functions.

* Android Bindings TxOutContext

TransactionBuilder add_output returns TxOutContext

* Removing comments

* Lint

* Lint

* Fixing test

* Fixing test

* Remove duplicated add_output and add_change_output

* Update libmobilecoin/include/transaction.h

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>

* Update libmobilecoin/include/transaction.h

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>

* Struct deconstruction to fix build error

* Fixing imports

* Deconstructing more structs

* Fixing syntax

* Fixing tests

* Remove references to old new functions

* Fixing struct deconstruction

* Test fix

* Test fixes

* Imports

* Fixing test imports

* Lint

Co-authored-by: Alex Voloshyn <alexv@mobilecoin.com>
Co-authored-by: the-real-adammork <adammork@gmail.com>
Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>
* Update rust-toolchain to nightly-2022-04-29 (#1888)

* Update rust-toolchain version
* Fix clippy warnings

* Write an integration test for mobilecoind-json (#1885)

* Write an integration test for mobilecoind-json

* sort

* enable test

* spaces

* move wait_for_monitor_to_sync down

* DRY

* Update mobilecoind/strategies/test_client.py

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>

* Update mobilecoind/strategies/drain-accounts.py

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>

* Bump libc from 0.2.124 to 0.2.125 (#1887)

Bumps [libc](https://github.com/rust-lang/libc) from 0.2.124 to 0.2.125.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](rust-lang/libc@0.2.124...0.2.125)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump syn from 1.0.91 to 1.0.92 (#1886)

Bumps [syn](https://github.com/dtolnay/syn) from 1.0.91 to 1.0.92.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](dtolnay/syn@1.0.91...1.0.92)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump serde from 1.0.136 to 1.0.137 in /fog/ledger/enclave/trusted (#1894)

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.136 to 1.0.137.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](serde-rs/serde@v1.0.136...v1.0.137)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump serde from 1.0.136 to 1.0.137 in /fog/view/enclave/trusted (#1895)

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.136 to 1.0.137.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](serde-rs/serde@v1.0.136...v1.0.137)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump serde from 1.0.136 to 1.0.137 in /consensus/enclave/trusted (#1897)

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.136 to 1.0.137.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](serde-rs/serde@v1.0.136...v1.0.137)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump serde from 1.0.136 to 1.0.137 in /fog/ingest/enclave/trusted (#1901)

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.136 to 1.0.137.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](serde-rs/serde@v1.0.136...v1.0.137)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump serde from 1.0.136 to 1.0.137 (#1903)

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.136 to 1.0.137.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](serde-rs/serde@v1.0.136...v1.0.137)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump semver from 1.0.7 to 1.0.9 (#1900)

Bumps [semver](https://github.com/dtolnay/semver) from 1.0.7 to 1.0.9.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](dtolnay/semver@1.0.7...1.0.9)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump zeroize from 1.5.4 to 1.5.5 in /fog/view/enclave/trusted (#1896)

Bumps [zeroize](https://github.com/RustCrypto/utils) from 1.5.4 to 1.5.5.
- [Release notes](https://github.com/RustCrypto/utils/releases)
- [Commits](RustCrypto/utils@zeroize-v1.5.4...zeroize-v1.5.5)

---
updated-dependencies:
- dependency-name: zeroize
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump zeroize from 1.5.4 to 1.5.5 in /consensus/enclave/trusted (#1898)

Bumps [zeroize](https://github.com/RustCrypto/utils) from 1.5.4 to 1.5.5.
- [Release notes](https://github.com/RustCrypto/utils/releases)
- [Commits](RustCrypto/utils@zeroize-v1.5.4...zeroize-v1.5.5)

---
updated-dependencies:
- dependency-name: zeroize
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump zeroize from 1.5.4 to 1.5.5 in /fog/ingest/enclave/trusted (#1899)

Bumps [zeroize](https://github.com/RustCrypto/utils) from 1.5.4 to 1.5.5.
- [Release notes](https://github.com/RustCrypto/utils/releases)
- [Commits](RustCrypto/utils@zeroize-v1.5.4...zeroize-v1.5.5)

---
updated-dependencies:
- dependency-name: zeroize
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Dependency updates (Part 1) (#1908)

* Update regex in consensus enclave to 1.5.5

* Update crossbeam utils 0.8.5 to 0.8.8

* Update generic-array 0.12.3 to 0.12.4

* Update hyper from 0.12.35 to 0.12.36

* Update hyper 0.14.16 to 0.14.18

* Ran cargo update against protoc, somehow log is back to the right version.

* Update log to 0.4.17.

* Fix protoc again...

* Switch to using our fork of opentelemetry. (#1918)

This was needed since we had to upgrade opentelemetry-jaeger's
dependency on thrift, which in turn depended on a broken verison of
ordered-float.

* Upgrade to rocket 0.5.0-rc (#1913)

* mobilecoind-json uses new(er) rocket

* admin gw uses newer rocket

* fog-overseer-server uses newer rocket

* Bump clap from 3.1.12 to 3.1.15 (#1904)

Bumps [clap](https://github.com/clap-rs/clap) from 3.1.12 to 3.1.15.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](clap-rs/clap@v3.1.12...v3.1.15)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* no need for 10 subaddresses, and this also makes the test compatible with the drain_accounts.py script (#1919)

* Bump libz-sys from 1.1.5 to 1.1.6 (#1873)

Bumps [libz-sys](https://github.com/rust-lang/libz-sys) from 1.1.5 to 1.1.6.
- [Release notes](https://github.com/rust-lang/libz-sys/releases)
- [Commits](rust-lang/libz-sys@1.1.5...1.1.6)

---
updated-dependencies:
- dependency-name: libz-sys
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* added extra configuration consensus service serve side. (#1800)

* added extra configuration consensus service serve side.

* fixed build errors

* increased the allowed testime for testing

* added one more method to set defaults

* fixed compile error

* linting issue

* Update consensus/service/src/consensus_service.rs

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>

Co-authored-by: Eugene Rata <no-email@no-email.com>
Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>

* Bump zeroize from 1.5.4 to 1.5.5 (#1902)

* Bump serde_json from 1.0.79 to 1.0.81 (#1916)

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.79 to 1.0.81.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](serde-rs/json@v1.0.79...v1.0.81)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump crc from 2.1.0 to 3.0.0 (#1857)

* Bump crc from 2.1.0 to 3.0.0

Bumps [crc](https://github.com/mrhooray/crc-rs) from 2.1.0 to 3.0.0.
- [Release notes](https://github.com/mrhooray/crc-rs/releases)
- [Commits](mrhooray/crc-rs@2.1.0...3.0.0)

---
updated-dependencies:
- dependency-name: crc
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update lock files

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nick Santana <nick@mobilecoin.com>

* Upgrade rusoto_s3 from 0.42 to 0.48. (#1912)

Simplify type of retry result

* Bump prost from 0.10.1 to 0.10.3 (#1930)

* Bump prost from 0.10.1 to 0.10.3

Bumps [prost](https://github.com/tokio-rs/prost) from 0.10.1 to 0.10.3.
- [Release notes](https://github.com/tokio-rs/prost/releases)
- [Commits](tokio-rs/prost@v0.10.1...v0.10.3)

---
updated-dependencies:
- dependency-name: prost
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update util/keyfile/Cargo.toml

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>

* allow providing minting trust root public key via a PEM file instead hex bytes (#1951)

* allow providing minting trust root public key via a PEM file instead of hex bytes

* update lock file

* make fog-resolver and ingest-report serializable (#1944)

* Feature/attest verifier mc seed bugfix (#1943)

* Bump proc-macro2 from 1.0.37 to 1.0.38 (#1938)

Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.37 to 1.0.38.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](dtolnay/proc-macro2@1.0.37...1.0.38)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* reverting ledger-dist folder to work dir and work dir now in target dir (#1954)

* Bump clap from 3.1.15 to 3.1.18 (#1957)

Bumps [clap](https://github.com/clap-rs/clap) from 3.1.15 to 3.1.18.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](clap-rs/clap@v3.1.15...v3.1.18)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump syn from 1.0.92 to 1.0.93 (#1956)

Bumps [syn](https://github.com/dtolnay/syn) from 1.0.92 to 1.0.93.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](dtolnay/syn@1.0.92...1.0.93)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump prost from 0.10.1 to 0.10.3 in /consensus/enclave/trusted (#1927)

Bumps [prost](https://github.com/tokio-rs/prost) from 0.10.1 to 0.10.3.
- [Release notes](https://github.com/tokio-rs/prost/releases)
- [Commits](tokio-rs/prost@v0.10.1...v0.10.3)

---
updated-dependencies:
- dependency-name: prost
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump prost from 0.10.1 to 0.10.3 in /fog/view/enclave/trusted (#1929)

Bumps [prost](https://github.com/tokio-rs/prost) from 0.10.1 to 0.10.3.
- [Release notes](https://github.com/tokio-rs/prost/releases)
- [Commits](tokio-rs/prost@v0.10.1...v0.10.3)

---
updated-dependencies:
- dependency-name: prost
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump prost from 0.10.1 to 0.10.3 in /fog/ingest/enclave/trusted (#1926)

Bumps [prost](https://github.com/tokio-rs/prost) from 0.10.1 to 0.10.3.
- [Release notes](https://github.com/tokio-rs/prost/releases)
- [Commits](tokio-rs/prost@v0.10.1...v0.10.3)

---
updated-dependencies:
- dependency-name: prost
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* MintTx/MintConfigTx tombstone validation bugfixes (#1964)

* fix a bug that would cause MintTxs that depend on old MintConfigTxs to fail validation

* fix off by one error in mint tx/mint config tx tombstone validation. also add a test for duplicate nonce

* lint, fix tests

* test boundary condiotion and update comment

* Update consensus/service/src/mint_tx_manager/mod.rs

Co-authored-by: Nick Santana <nick@mobilecoin.com>

* Update consensus/service/src/mint_tx_manager/mod.rs

Co-authored-by: Nick Santana <nick@mobilecoin.com>

* make tombstone block check optional by passing an Option for the current block index, as suggested in the PR review

Co-authored-by: Nick Santana <nick@mobilecoin.com>

* mint-client: make the process exitcode reflect transaction status returned from consensus when a transaction is submitted (#1967)

* mint-client: make the process exitcode reflect transaction status returned from consensus when a transaction is submitted

* add missing import

* Update builder_install image (#1968)

#1888 updated rust-toolchain without updating builder_install.

* Remove bogus DATABASE_URL value
* Add postgresql-client explicitly to init_debian.sh
* Bump Dockerfile-version

* Bump hashbrown from 0.11.2 to 0.12.1 (#1915)

* Bump hashbrown from 0.11.2 to 0.12.1

Bumps [hashbrown](https://github.com/rust-lang/hashbrown) from 0.11.2 to 0.12.1.
- [Release notes](https://github.com/rust-lang/hashbrown/releases)
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md)
- [Commits](rust-lang/hashbrown@v0.11.2...v0.12.1)

---
updated-dependencies:
- dependency-name: hashbrown
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Updating lock files for enclave crates

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nick Santana <nick@mobilecoin.com>

* Bump ed25519 from 1.4.1 to 1.5.0 (#1950)

* Bump ed25519 from 1.4.1 to 1.5.0

Bumps [ed25519](https://github.com/RustCrypto/signatures) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/RustCrypto/signatures/releases)
- [Commits](RustCrypto/signatures@ed25519/v1.4.1...ed25519/v1.5.0)

---
updated-dependencies:
- dependency-name: ed25519
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update Cargo.lock for enclave crates

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Wygle <andrew@mobilecoin.com>

* Add a mint auditor integration test to be used in CD. (#1971)

* Write a mint auditor integration test to be used in CD.

accept command line args

wip

off by one

debug

* update comment

* update fee amount

* Update mint-auditor/tests/integration_test.py

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>

* Update mint-auditor/tests/integration_test.py

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>

* Bump syn from 1.0.93 to 1.0.94 (#1976)

Bumps [syn](https://github.com/dtolnay/syn) from 1.0.93 to 1.0.94.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](dtolnay/syn@1.0.93...1.0.94)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>
Co-authored-by: Eran Rundstein <eran@rundste.in>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugen Rata <eugen.rata@gmail.com>
Co-authored-by: Eugene Rata <no-email@no-email.com>
Co-authored-by: Nick Santana <nick@mobilecoin.com>
Co-authored-by: Brian Corbin <brian.william.corbin@gmail.com>
Co-authored-by: Andrew Wygle <andrew@mobilecoin.com>
Logging at error causes a sentry alert, and so if a client like
fog distro is in a retry loop submitting transactions and getting
this error, it can blow out our sentry quota
* Bump ed25519 from 1.5.0 to 1.5.2 (#1987)

Bumps [ed25519](https://github.com/RustCrypto/signatures) from 1.5.0 to 1.5.2.
- [Release notes](https://github.com/RustCrypto/signatures/releases)
- [Commits](RustCrypto/signatures@ed25519/v1.5.0...ed25519/v1.5.2)

---
updated-dependencies:
- dependency-name: ed25519
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump rayon from 1.5.2 to 1.5.3 (#1985)

Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/rayon-rs/rayon/releases)
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md)
- [Commits](rayon-rs/rayon@v1.5.2...v1.5.3)

---
updated-dependencies:
- dependency-name: rayon
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump rocket from 0.5.0-rc.1 to 0.5.0-rc.2 (#1949)

* Bump rocket from 0.5.0-rc.1 to 0.5.0-rc.2

Bumps [rocket](https://github.com/SergioBenitez/Rocket) from 0.5.0-rc.1 to 0.5.0-rc.2.
- [Release notes](https://github.com/SergioBenitez/Rocket/releases)
- [Changelog](https://github.com/SergioBenitez/Rocket/blob/master/CHANGELOG.md)
- [Commits](rwf2/Rocket@v0.5.0-rc.1...v0.5.0-rc.2)

---
updated-dependencies:
- dependency-name: rocket
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update for Rocket v0.5.0-rc.2

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Wygle <andrew@mobilecoin.com>

* Bump ed25519 from 1.5.0 to 1.5.2 in /fog/view/enclave/trusted (#1983)

Bumps [ed25519](https://github.com/RustCrypto/signatures) from 1.5.0 to 1.5.2.
- [Release notes](https://github.com/RustCrypto/signatures/releases)
- [Commits](RustCrypto/signatures@ed25519/v1.5.0...ed25519/v1.5.2)

---
updated-dependencies:
- dependency-name: ed25519
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump ed25519 from 1.5.0 to 1.5.2 in /consensus/enclave/trusted (#1982)

Bumps [ed25519](https://github.com/RustCrypto/signatures) from 1.5.0 to 1.5.2.
- [Release notes](https://github.com/RustCrypto/signatures/releases)
- [Commits](RustCrypto/signatures@ed25519/v1.5.0...ed25519/v1.5.2)

---
updated-dependencies:
- dependency-name: ed25519
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Implement some improvements to the `mc-consensus-mint-client` utility (#1993)

* add TxFile and dump subcommand

* add signing command

* Uprev mbedtls to the newer version. (#2002)

* Remove bigint in favor of primitive-types. (#1917)

* Replace bigint with primitive_types.
* rustfmt like a n00b
* Update consensus/scp/src/slot.rs
* Sort SCP dependencies.

* Import std::convert::TryFrom

* Fix build (again).

* pr review fixes (#2000)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Wygle <andrew@mobilecoin.com>
Co-authored-by: Eran Rundstein <eran@rundste.in>
…ccounts (#2013)

We decided that we probably don't have to make it load the old non-b58
pub address file format, because we don't need it to be able to send to
old accounts, only send from old accounts to new accounts. So we didn't
change that.
* Feature/sgx 2 16 (#2011)

* Update sgx to 2.16

* Update the docker image

* Fix circle CI docker version

* Update instruction in markdown

Also add comment explaining order of command

* Revert changelog entry

Leveraging #2007
for the update
…#2019)

* make test-client and fog-distro able to read keyfiles in both formats

* clippy
* Update version to 1.2.0-pre0

* Update changelog for 1.2.0

* Merge in fog 1.1.3 changelog, make links work.

* Apply suggestions from code review

Co-authored-by: Eran Rundstein <eran@rundste.in>

* Fix some links, Postgres vs. PostGRES

* Address review comments.

* Fiddle with a link.

* Fix links

* Update CHANGELOG.md

Co-authored-by: Remoun Metyas <remoun.metyas@gmail.com>

* Apply suggestions from code review

Co-authored-by: Chris Beck <garbageslamb@gmail.com>
Co-authored-by: Remoun Metyas <remoun.metyas@gmail.com>

* Apply suggestions from code review

(this will require a follow-up commit to fix links)

Co-authored-by: Remoun Metyas <remoun.metyas@gmail.com>

* Fix links (and typo).

Co-authored-by: Eran Rundstein <eran@rundste.in>
Co-authored-by: Remoun Metyas <remoun.metyas@gmail.com>
Co-authored-by: Chris Beck <garbageslamb@gmail.com>
#2037)

This avoids the need to have another more complicated tool for this
)

* fix a regression that prevented clients from re-attesting

* rename method
#2043)

* make mobilecoind-json integration test work with mnemonics

* fix mistakes

* remoun improvement

* derp

* simplify
* make drain accounts script handle defragmentation errors

* make it subtract fee from sending amount after successful defragmentation

* Update mobilecoind/strategies/drain-accounts.py

Co-authored-by: Mike Turner <zaphrod.beeblebrox@gmail.com>

* Update mobilecoind/strategies/drain-accounts.py

Co-authored-by: Mike Turner <zaphrod.beeblebrox@gmail.com>

* Update mobilecoind/strategies/drain-accounts.py

Co-authored-by: Mike Turner <zaphrod.beeblebrox@gmail.com>

* fix indentation

* fix syntax

Co-authored-by: Mike Turner <zaphrod.beeblebrox@gmail.com>

Co-authored-by: Mike Turner <zaphrod.beeblebrox@gmail.com>
* Added TxOutContext to the iOS Bindings
* Converted Amount struct to MaskedAmount
* Converted UInt64 "value" to Amount struct that has a tokenId 
* LTO false for mobile-release, to fix possible issues with bitcode support.

### Motivation

Need these ffi/binding changes to support the 1.2 / BlockVersion == 2 release.
CD for dynamic development environments
* Parameterize TransactionBuilder for Token ID

* Lint

* from try_from to from
* Bump all crate versions to 1.2.0
* Update CHANGELOG.md for release.
* build 1.2.0 without an upgrade
this is required because the mint_output function rejects any new
token id if new token ids are not allowed yet, but the fee aggregation
code would sometimes, under load, try to mint a fee output of alternate
token ids, because of privacy considerations in MCIP #25
* add get_shared_secret

* Add back in the function to create view/spend keys with root_entropy

* fix header file declaration

* fix lint
eranrund and others added 27 commits September 13, 2022 12:54
…2512)

* Feature/fog resolver refactor (#2452)

* wip refactoring into separate crates

* continued reorg and cleanup of code

* adding docs

* updating cargo lock

* removing default from cargo

* updating use of FogResolver

* updating FogReportTypes usage

* incorrect cargo crate fix

* removing dupe import of FogResolver

* fixing incorrect crate import

* remove unused import

* Update fog/report/resolver/Cargo.toml

Co-authored-by: Chris Beck <beck.ct@gmail.com>

* updating comment

Co-authored-by: Chris Beck <beck.ct@gmail.com>

* rework error handling to not rely in visibility into no longer exposed details

* cargo fmt

* update Cargo.lock

* trigger ci?

* lock

* cargo sort

* use non obsolete xcode image

* maybe fix ci?

Co-authored-by: Brian Corbin <brian.william.corbin@gmail.com>
Co-authored-by: Chris Beck <beck.ct@gmail.com>
* Eran/wasm experiment (#2502)

* wasm build support

* poc

* use OsRng

* simple test

* rename and simplify test

* meh

* try to add wasm-pack build to ci, to support copper

* fixup

* fixup

* fix version

* update Cargo.lock

* lock files

* cargo sort

Co-authored-by: Eran Rundstein <eran@rundste.in>

* add wasm tests to circleci

* lock file

* try without sccache

* wrestle ci

* Revert "try without sccache"

This reverts commit 7d7f451.

Co-authored-by: Chris Beck <beck.ct@gmail.com>
* cherry-pick proof of concept for "chain-id" via grpc headers (#2312)

* proof of concept for "network-id" via grpc headers

This includes:

* Fog view, report, and consensus now take `--network-id` or `MC_NETWORK_ID`
* They do not attempt to validate this string at this time
* Fog ledger is not done in this commit since it is less essential from the
  point of view of failing fast during a balance check
* These servers search for a `network-id` grpc header and check it against
  their startup config if it is present. If the client provided value doesn't
  match then we return a grpc error with a specific message including the
  server-side network id.
* The go-grpc-gateway also pipes this header through now. Plus tests that this works
* The thick client and related fog enclave connection objects now take
  a network id string parameter. If it is non-empty then they set the
  grpc network id header.
* The fog test client now requires `MC_NETWORK_ID` and uses this value
  in the headers.
* CI is updated so that the local network tests set network id everywhere.

Not done yet:

* Actual tests that network id mismatch on consensus leads to a tx
  or mint request being rejected
* Actual tests that network id mismatch on e.g. fog-report leads to
  a request being rejected
* Update mint client

Note: Some reviewers proposed to rename this from "network-id" to
"chain-id", we may follow up with that rename in a subsequent commt.

* fix go-grpc-gateway testing, and mob tool

* rename to chain id per request

* add chain id to fog ledger server

* cargo fmt

* make mint client use chain id, add consensus service tests for chain id

* fixups, fix tests, formatting

* fix previous

* fix previous

* fixup consensus tests

* add chain-id to mobilecoind

* more fix to mobilecoind

* Update fog/view/connection/src/lib.rs

* cargo fmt

* fix build

* delete accidentally copied file

* disable go-grpc-gateway tests for now

* work around lack of ip-info patch in release/v2 circle-ci

* add MC_CHAIN_ID to the helm templates

This is based on the diff in 8203e7c

However, in most places I used the same `valueFrom:` segment as
is used for `MC_BRANCH`, because in that diff those things match also.

I am not sure if that is correct but it seems like it's worth a shot.
Needs review. Thanks.

* remove a file we don't want to move from master to here

* revert undesired changes to mob that got pulled by cherry-pick

* fix automatic dev env delete when feature/release branch is deleted (#2493)

* CD - wrong context for namespace variable (#2500)

* add MC_CHAIN_ID vars to helm charts

* remove code that looks wrong / should not have been picked

* fix messed up comments (thanks Eran)

Co-authored-by: Jason Greathouse <jgreat@jgreat.me>
…2546) (#2564)

* Add check to mint client to ensure public address doesn't have fog

The mint client reads from a b58 address when it creates a MintTxPrefix,
but it doesn't (before this commit) check if that is actually a fog
address. If it is, the fog part will get silently removed, and then
the fog user won't find it.

This change makes it give an error message.

* fixups
* Make mobilecoind expose network fees via an API call

This makes mobilecoind hit consensus' `get_last_block_info` as part
of the `GetNetworkStatus` call. It forwards a subset of that information
in response.

There is some argument that it should forward an entire `LastBlockInfo`
response object without modification -- I decided not to do that
because mobilecoind's proto doesn't currently depend on the consensus
api proto, only the `external.proto` and `blockchain.proto`. Feel
free to tell me to that dep is okay though.

This will allow mobilecoind python scripts and other clients of
mobilecoind to know the current (dynamic) network fees and block
version and such.

* Per Eran, make polling_network_state track BlockInfo, use this in mobilecoind

This allows us to eliminate a bunch of calls to get block info, which
were being made to get the network_block_version and minimum fees.

* Make mobilecoind forward the whole LastBlockInfoResponse object

Per Eran

* missing docs, use `max_by_key` instead of `reduce`

Co-authored-by: Chris Beck <beck.ct@gmail.com>
…config-tx file (#2406) (#2572)

Co-authored-by: Henry Holtzman <holtzman@media.mit.edu>
…strap from scratch. (#2582)

* fixes so we can bootstrap new network from scratch
* Add fog report url var to deployment, clean up some linting errors introduced by previous commits.
* Fix ledger bootstrap logic order
* Generate python stubs for consensus_common in mobilecoind-related tests

Co-authored-by: Joseph Kottke <joe.kottke@gmail.com>
* Add mint config tx duplicate nonce across tokens test

(cherry picked from commit b4fdc01)

* Filter nonces in combine mint config tx across tokens

(cherry picked from commit 548a07d)

* Add test for duplicate nonce across token in mint tx combine

* Fix duplicate nonce across multiple tokens in mint tx combine

(cherry picked from commit 410c4dd)

* Remove unnecessary code from test.

(cherry picked from commit 5e8c8e2)

* Update check mint tx nonce to take token_id

(cherry picked from commit 5b7909d)

* Update write mint tx to store by token_id and nonce. Add test for duplicate nonce.

(cherry picked from commit d42a355)

* Update check mint tx nonce to include token_id.

(cherry picked from commit 34f1c29)

* Fix comments.

(cherry picked from commit 9755fea)

* Lint.

(cherry picked from commit e567e9c)

* Add migration code for mint stores.

(cherry picked from commit 05fc8e8)

* Lint

(cherry picked from commit b5165c7)

* Apply suggestions from code review

Co-authored-by: Eran Rundstein <eran@rundste.in>
(cherry picked from commit 6ad7aaf)

* Update write_validated_mint_config_txs to take token_id as well as nonce for the key.

(cherry picked from commit 989bda7)

* Fix failing test due to change from master to v2.

* Lint.

* Bring in change from master to get consensus common pb2 to build.
Make telemetry opt-in, with env.MC_TELEMETRY set to 1 or true

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>
* Make telemetry opt-in (#2193)

Make telemetry opt-in, with env.MC_TELEMETRY set to 1 or true

* Bump all crate versions to 2.1.0-pre0 (#2648)

* Update missed versions

* Update Cargo.lock

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>
this doesn't happen very often, but when it did happen in testnet,
we couldn't figure out why very easily and went database spelunking.
we still don't know why, and in the future we want these details
logged.
* Make telemetry opt-in (#2193)

Make telemetry opt-in, with env.MC_TELEMETRY set to 1 or true

* Bump all crate versions to 2.1.0-pre0 (#2648)

* Changelog for 2.1.0 (#2649)

* Bump all crate versions to 2.1.0-pre0

* Unified formatting

* Style fix

* Add 2.1 changes.

* Update CHANGELOG.md to not promise overlays for multi-value arguments.

* Note that telemetry will be opt-in for 2.1.

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>
* Make fog-view load blocks from postgres in batches

These batches have a size which is configurable as a command line
parameter.

* fixup tests

* add unit test for new function

* address eran and remoun comments in db_fetcher

* change parameter to a usize

* rename per request

* Update fog/sql_recovery_db/src/lib.rs

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>

Co-authored-by: Remoun Metyas <remoun@mobilecoin.com>
* fix nits from fog-view-db-fetch pull request

* update changelog
* change testing token to 8192

* fix token governers/signers key generation

* fix token governers/signers key generation

* minting config tx option is threshold, not token id

* make token id and fee arguments
…2639) (#2759)

* Update to SGX 2.17.1, add INTEL-SA-00657 to known advisories list. (#2639)

* Update to SGX 2.17.1, add INTEL-SA-00657 to known advisories list.
* Update relevant containers to v0.0.18
* Update CircleCI to also use v0.0.18

Conflicts:

* ci.yml and dependent-repos.yml don't exist in release/v3
* Bump other containers.

Fix AESM_VERSION in runtime container.

* Only 'Install Rust' on MacOS
* Bump versions to 3.0.0-pre0

* Update CHANGELOG.md for 3.0.0
* CD on PR
* disable CD on dependabot generated PRs
* Fix multiline docker tags
* fix version creation
* CD - restore blockchain and fog db from backups
* Update deployments to reduce test cluster resources
* values for compatibility with dev networks that have token 1

Co-authored-by: Nick Santana <nick@mobilecoin.com>
@jgreat jgreat temporarily deployed to dev January 12, 2023 00:24 — with GitHub Actions Inactive
@jgreat jgreat temporarily deployed to dev January 12, 2023 00:46 — with GitHub Actions Inactive
@jgreat jgreat temporarily deployed to dev February 21, 2023 20:14 — with GitHub Actions Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Needs Review
Development

Successfully merging this pull request may close these issues.

None yet

9 participants