Commit Graph

34 Commits

Author SHA1 Message Date
Adam Mork
f24c1c8881
Fixes & Patch for Mac Catalyst Build Targets (#54)
### Motivation

Mac Catalyst builds stopped working when `cc-rs` got updated by dependabot in the `rust-mbedtls` dependency of `mobilecoin` and `libmobilecoin`. 

### In this PR
* Update `mobilecoin` repo commit to newer that includes a previous `mbedtls` big-num multiplication fix.
* Patch `cc-rs` with new compiler args so mac-catalyst will build correctly
* Patch `cmake-rs` with changes so mac-catalyst will build correctly
* Patch `rust-mbedtls` with above changes so it can build mac-catalyst
* Patch `libmobilecoin` with above patches
* Add `patch-cmake.sh` script on the local machine to workaround a restriction of `cmake` where the CMAKE_SYSTEM_NAME cannot be iOS with a CMAKE_OSX_SYSROOT pointing to a MacOSX sdk. The patched `cmake` files in this context comes from brew as a build dependency. An un-patch script is included as well. '
* re-add back in old implementations of functions for `...add_output` and `...add_change_output` for the Transaction Builder that have the old sig and pull the tokenId from the TransactionBuilder. The new versions which support "mixed" transactions for "SCI" get the "_mixed" suffix.
* Change deployment target to 11.0
* Fix dependency hell w/ cocoapods & Xcode 14, etc...

### Future Work

Find a fix that doesn't require patching `cmake` locally. Merge the patches upstream into master-repo's main branches.
Fix SwiftNIO catomic issue in Swift repo
2023-01-31 18:22:18 -08:00
Adam Mork
256d3216cd
Masked Amount V1/V2 Changes (#52)
### Motivation

Support the MaskedAmount v1/v2 changes coming for v4.0.0 of the enclave.

### In this PR
* Pass in a versioned MaskedAmount to the relevant calls
* Create a "legacy" view.proto file so we can re-use serialized data in some Swift unit-tests
* Version increment to trigger a release.

### Future Work
* Convert unit-tests to use new proto, remove "legacy" view.proto

Co-authored-by: Cary A. Bakker <cary@mobilecoin.com>
Co-authored-by: mobilecoin-ci <mobilecoin-ci@mobilecoin.com>
2022-12-08 15:03:56 -08:00
Cary A. Bakker
1623d0aec6
Task/183875900 update mobilecoin (#46)
### Motivation

Update the mobilecoin submodule of libmobilecoin to master branch

### In this PR
- Updated protobuf files
- update `mobilecoin` submodule of libmobilecoin to current master
- requisite changes to libmobilecoin for compilation
- Convert `MaskedAmount` -> `MaskedAmountV1`
- New location of `FogResolver`
- New location of `Slip10` utils

* Code compiling - untested

* Remove unused use in error.rs

* single out requisite changes for transaction.rs, remove SCI

* restore Makefile

* Update Artifacts

* [skip ci] commit build Artifacts and generated protos from build machine

* RTH Updates - Payment Intent Memos (#50)

* Update libmobilecoin to use the newest mobilecoin master. Convert MaskedAmount to MaskedAmountV1, new location of FogResolver, new location of Slip10.

Code compiling - untested

Remove unused use in error.rs

single out requisite changes for transaction.rs, remove SCI

restore Makefile

Update Artifacts

[skip ci] commit build Artifacts and generated protos from build machine

Co-authored-by: Adam Mork <the-real-adammork@users.noreply.github.com>

* Add intent RTH memos

* [skip ci] commit build Artifacts and generated protos from build machine

* spec newer version

* update libmobilecoin version to 4.0.0-pre0

Co-authored-by: mobilecoin-ci <mobilecoin-ci@mobilecoin.com>

* Add clean recipe for more reliable builds (#49)

* add clean recipe for more reliable builds

Co-authored-by: Cary A. Bakker <carybakker@users.noreply.github.com>

* [skip ci] commit build Artifacts and generated protos from build machine

Co-authored-by: Cary A. Bakker <carybakker@users.noreply.github.com>
Co-authored-by: mobilecoin-ci <mobilecoin-ci@mobilecoin.com>

Co-authored-by: mobilecoin-ci <mobilecoin-ci@mobilecoin.com>
Co-authored-by: Adam Mork <the-real-adammork@users.noreply.github.com>
Co-authored-by: Adam Mork <adam@mobilecoin.com>
2022-12-06 20:46:07 -08:00
Adam Mork
41d6ff462a
Version for 1.3.0-pre0 (#37)
Create 1.3.0 pre version

- Increment version
- releases previous changes related to new protobufs
2022-08-31 20:34:35 -07:00
Cary A. Bakker
0052751971
Release/v1.2.2 release (#28)
* Release v1.2.2

* [skip ci] commit build Artifacts and generated protos from build machine

* Innocuous podspec update - to re-run CICD to publish

Co-authored-by: mobilecoin-ci <mobilecoin-ci@mobilecoin.com>
2022-07-20 14:16:16 -04:00
Cary A. Bakker
abd32a5ff0
Release v1.2.2 (#27)
* Release v1.2.2

* [skip ci] commit build Artifacts and generated protos from build machine

Co-authored-by: mobilecoin-ci <mobilecoin-ci@mobilecoin.com>
2022-07-20 12:07:12 -04:00
Adam Mork
875985f64b
Release v1.2.1 (#26)
Release v1.2.1
2022-06-08 12:21:48 -07:00
Cary A. Bakker
ecca1bf178
Release/v1.2.0 (#25)
Update for v1.2.0
2022-06-04 01:48:24 -07:00
Adam Mork
499dd3f093
LibMobileCoin v1.2.0 Release Candidate (#24)
* shared_secret FFI getter
* TxOutContext FFI getter
* root_entropy FFI getter
* Disable LTO setting
2022-05-31 15:17:39 -07:00
Adam Mork
22ded4a626
Fix function definition in transaction.h header file (#23)
### Motivation

Header file had incorrect definition

### In this PR
* fix header file in mobilecoin
2022-04-12 15:57:16 -07:00
Adam Mork
d74bf41faa
Updates for Recoverable Transaction History - v1.2.0 (#22)
### Motivation

Update generated files and static library for Recoverable Transaction History changes 

`mobilecoin/libmobilecoin` changes - https://github.com/mobilecoinfoundation/mobilecoin/pull/1773

### In this PR
* Update generated for FFI bindings added to support RTH
2022-04-08 01:57:17 -07:00
Adam Mork
e0c1c06fcf
Updates to CICD to fix "Bad Signature" errors in built libraries (#17)
Soundtrack of this PR: [Kelvin Momo & Luu Nineleven - Hamba Nga Two](https://youtu.be/1SkZM6Wmwgc)

### Motivation

Previous release was compiled with incorrect environment variables which would lead to runtime errors in the Swift SDK. Ideally these errors should be caught in CI/CD before a release so test steps using the Swift SDK have been added.

### In this PR
* Change environment configuration to be correct
* Add test steps using the Swift SDK 

### Future Work
* Factor out duplicate calls with parameters
2022-03-03 14:42:02 -08:00
Adam Mork
23bbd49124
Update CI/CD to create static libraries and build artifacts, includes downstream changes for parallelization & cacheing (#16)
### Motivation

Static library compilation is error prone, slow, and susceptible to machine configuration issues. Moving it to CI/CD solves a lot of problems with security and is a timesaver for developers.

### In this PR
* Update CircleCI config to build the static libraries

There are essentially 3 stages to the build process:
1. Compile custom rust-bitcode toolchain, and cache it in CI using the checksum of its configuration
2. Compile the static libraries, and cache it using the commit hash of the mobilecoin repo submodule
3. make "generated" files from mobilecoin repo like gRPC clients 

> CI/CD is parallelized over the 6 build-targets for stage 1 & 2

### `mobilecoin` repo changes in updated commit hash:
* Add separate target to build toolchain for a given target
* Add toolchain config file that can be checksummed for cacheing
* Move LIBCLANG_PATH environment variable to `rust-bitcode` repo where its needed

### Future Work
* Compress and upload toolchains as artifacts for longer term storage, likely only change every ~6 months
2022-03-02 10:33:56 -08:00
Adam Mork
ff0f8502d6
Add function to calculate crc32 from a CompressedCommitment, Update mobilecoin & static libs to latest master (#12)
### Motivation

SDK needs a way to calculate the `crc32` checksum from a `CompressedCommitment`

`mobilecoin` repo `master` is the commit we should use to compile the static libraries

### In this PR
* New header files and static libs for crc32 and newer mobilecoin repo commit

### Future Work
* Merge changes from `mobilecoin` repo into `master`
2022-02-09 16:28:27 -08:00
Adam Mork
cd43dfcbf1
Set default spec to Core (#10) 2022-01-31 19:35:48 -08:00
Adam Mork
051c06dab0
Build Automation Updates (#9)
- Update SSH key fingerprint
- Initialize mobilecoin repo on both jobs.
2022-01-12 17:33:02 -08:00
Adam Mork
2a17fbddad
GRPC Http Split (#6)
### Motivation
- Grpc Http Split for smaller library size

### In this PR
- Add HTTP & GRPC only targets to podspec so SDK consumers can choose less protocol support and fewer dependencies

### Future Work
- Add GRPC only support to MobileCoin-Swift
2022-01-04 10:38:49 -08:00
Adam Mork
6bf5d0d182
Update Vendor/mobilecoin submodule hash, fix make call, PR template (#5)
* Use official release-1.2.0 commit hash

* fix makefile call

* add pr template

* increment pre

* re-make static libraries from release-1.2.0
2021-11-03 02:21:41 -07:00
the-real-adammork
7e274b2d76 remove requirement to use bitcode 2021-10-26 14:47:19 -07:00
Adam Mork
4999206322
Enable Bitcode reduces downloadable size by ~25% (#4)
* Change makefile to use mobile-release profile path. Add variable for libmobilecoin profile. Update submodule hash (change after `mobilecoin` merge)

* update protobuf files, update submodule commit hash

* udpate hash

* update hash

* rebuild with all size savings for libmobilecoin. Add GCC & LTO optimizations

* keep debug symbols

* remove gcc & llvm_lto optimizations

* use updated mobilecoin repo with custom toolchain support if locally compiled

* recompile artifacts with locally created custom toolchains and add bitcode support to cocoapod spec

* use unstripped archives that still contain bitcode, add LTO & GCC z opt_level

* update makefile to use unstripped

* no longer use stripped archive file

* update commit hash, but will need to be updated again after the hash is merged into upstream

* no longer using stripped archive, switch to unstripped and name appropriately

* update submodule hash, increment pre version, remove make setup, not longer available for all recipe
2021-10-26 14:09:42 -07:00
the-real-adammork
754af718c6 typo 2021-09-16 19:44:15 -07:00
the-real-adammork
7c3a891252 preserve binary paths 2021-09-16 19:42:31 -07:00
the-real-adammork
7de4e8649a bump podspec version 2021-09-16 19:15:39 -07:00
the-real-adammork
cfc433f0a6 unlock grpc version 2021-09-16 17:52:27 -07:00
the-real-adammork
682293d996 add submodules = true s.source hash 2021-09-16 15:10:36 -07:00
the-real-adammork
50b95da44b fix test vectors path 2021-09-16 14:36:39 -07:00
Adam Mork
2d93fb584e
v1.2.0-pre0 - Apple Silicon/M1 & Mac Catalyst build targets, Fog 1.2.0, fog -> mobilecoin submodule (#2)
* Migrate `fog` to `mobilecoin` submodule. Update bindings and headers to support new changes in `mobilecoin`/`fog` service (CompressedCommitment)

* update submodule to be correct

* add arch specific stripped libs

* dont track Artifacts

* working w/ arch specific binaries (not stripped)

* udpate submodule

* wip

* udpate submodule

* add Artifacts to repo

* copy stripped and unstripped

* use unstripped for now

* LibMobileCoin working w/ arch specific

* up-rev transaction.h to to match changes in `mobilecoin`

* updated mobilecoin repo

* remove checked in libs from old folder structure

* revert to old folder structure for binaries

* update submodule to use latest m1 plus compressed commitment

* add all targets to Makefile. Do a targeted copy of mobilecoin/libmobilecoin output directory so we only copy the binaries

* add compiled binaries for testing

* point to combined branch that includes m1 and compressed commitment.

* 1.2 release

* git modules needs to point to mc official remote. Remove commented code, unnecc code in podspec. Revert some small changes in podspec

* change name and url to mobilecoin

* update archs in podspec

* update spec, dont need non-stripped

* whitespace change, enable catalyst

* add catalyst build options
2021-09-16 14:10:45 -07:00
Kyle Fleming
863689a0dc Add TestVectors subspec 2021-06-23 16:55:52 -10:00
Kyle Fleming
2fc988beaf Bump version to 1.1.0 2021-06-09 22:31:57 -10:00
Kyle Fleming
7eea85889a Bump version to 1.1.0-pre2 2021-05-07 16:29:15 -10:00
Kyle Fleming
ff8db5e8ff Add prefix v to git version tag 2021-05-07 16:29:15 -10:00
Kyle Fleming
e9094d2998 Reset version to 1.0.0 2021-04-05 11:19:40 -10:00
Kyle Fleming
6dc28a1786 Bump version to 1.0.1-pre4 2021-03-31 20:40:29 -10:00
Kyle Fleming
687e6939d9 Big bang 2021-03-15 20:26:38 -10:00