-
Notifications
You must be signed in to change notification settings - Fork 15
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
v1.2.0-pre0
- Network Robustness, Fog 1.2.0, Apple Silicon/M1 & Mac Catalyst, LibMobileCoin
v1.2.0-pre1
#73
Merged
the-real-adammork
merged 56 commits into
mobilecoinofficial:master
from
the-real-adammork:release/v1.2.0-pre0-with-libmobilecoin-v1.2.0-pre1
Sep 17, 2021
Merged
Conversation
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
…ebd99658471bdce1e78d74fb8a5a#diff-dc9a7b966113437e2c1ffafd1b1e18c73f5a74b36dc25706dc8ae686d188b492
…nto their own files
…network robustness cleanup
…n. Update serialized data of TxOut.
…ata for TxOut, Consensus does not require credentials on mobiledev or alpha.
…rch limitations, update submodule hash
voloshyn
approved these changes
Sep 17, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Title
v1.2.0-pre0
- Network Robustness, Fog 1.2.0, Apple Silicon/M1 & Mac CatalystDescription
Added a way for implementing apps to pass in there own
HttpRequester
which can be useful for network robustness. SubspecLibMobileCoin
now supports Apple Silicon/M1 and Mac Catalyst. Code changes to support Fog v1.2.0.pre1
Changesv1.2.0-pre1
version ofLibMobileCoin
which supports a higher version ofGRPC
.cocoapods
version1.11.2
Future Work
Fix the
docs
steps in the circleci build process. Will requirejazzy
related fixes and testing on Xcode 11.Changes
Network Robustness
Adds a separate
HTTP
networking architecture. An object conforming toprotocol HttpRequester
can be provided to theNetworkConfig
object when theMobileCoinClient
is created. Then theTransportProtocolOption
can be changed fromgrpc
tohttp
.HttpRequester
Implementing apps/frameworks should provide an object conforming to this protocol. Our
RestApiRequester
wraps around anHttpRequester
to communicate with with our services usingprotobuf
s.Attested & Auth Connection Wrappers
HTTP
versions of the Auth & Attested wrapper classes. These protocol and their default implementations handle the logic paths needed for authentication/attestation and re-authentication/attestation:Networking Protocols
Separate code-paths for
HTTP
versions of the networking protocols:HTTP
"interfaces" that closely mimic functionality fromGRPC
. Allows us to re-use more of our existing patterns.HTTP
Connection ImplementationsWrapper classes that interface directly with
protoc-swift
generated.swift
files for our protobuf models.HTTP
versions ofprotoc-swift
generated modelsThe GRPC versions of these are generated by
protoc-swift
. The HTTP versions were edited by hand to work with theHTTP
Connections implementations.Fog Updates
The latest version of
fog
changes the name of a protobufFogLedger_Block
->FogLedger_BlockData
.Compressed Commitment
The
TxOut
compressed commitment is no longer sent in the protobuf message because it can be reconstructed with its constituent parts (+ the user'sview_private_key
)We now reconstruct the commitment in several places whereas before it was being returned from the decoded protobuf message.
Lastly some function signatures into
LibMobileCoin
were updated to adjust to the changes.Miscellaneous
New MrEnclave values
Support for Apple Silicon/M1 & Mac Catalyst
Unit Tests
One unit test was removed. It creates a TxOut and tries to unmask the value with an incorrect private view key. The return value should be 'nil' but is noise. It will require a change in the rust code and should be implemented in a future release.
Some objects were re-serialized to match the new TxOut structure.
Credentials are not required for
consensus
so this has been changed in theNetworkConfig
Tests can be run with
TransportProtocol == .http
by changing the default value inNetworkConfig