Skip to content

Commit

Permalink
Mobile vcx (hyperledger-indy#293)
Browse files Browse the repository at this point in the history
* [CO-1313] - Changed the version, summary, homepage, description and source

* [CO-1313] - Changed the source to use ssh keys to authenticate

* Update ConnectMeVCX.podspec.json

* [CO-1313] - Adding a simple hello world example code.

* Update ConnectMeVCX.podspec.json

* Update ConnectMeVCX.podspec.json

* Fixed warnings in demo tests and update api docs (hyperledger-indy#249)

* updated documentation for rust api

* fixed warnings and compile errors with the demo tests

* updated api documentation

* fixed api docs and got test working

* updated version

* updated jenkins libindy version

* updated jenkins libindy version

* added zmq dep.

* update jenkins file to no-cache

* changed libindy docker file to 1.3.1 and added self_attested test

* updated libindy repo in docker file

* added libzmq5 to docker file

* took out extra dependencies

* added all dependencies that other docker file had

* [CO-1313] - Changed the version number to 0.0.2 and other automated changes from doing a podinstall, changed the path to the LICENSE file and to the source_files

* [CO-1313] - Trying a different source_files path

* [CO-1313] - Removed the ReplaceMe.m file and renamed it to HelloWorld.m

* [CO-1313] - Added a file called HelloWorld.m and removed the ReplaceMe.m

* [CO-1313] - Finally the source_files path seems to be correct

* [CO-1313] - The name of the spec is vcx and so adding a pod spec of that name

* [CO-1313] - Removed the placeholder file and added the vcx.podspec.json file

* [Update] vcx (0.0.2)

* [Fix] vcx (0.0.2)

* [CO-1313] - Changed the path to the Assets and removed the unneeded Podfile

* added init interface with example code

* small update

* added spec file for 0.0.4

* Took out installs from libindy docker file (hyperledger-indy#252)

* updated documentation for rust api

* fixed warnings and compile errors with the demo tests

* updated api documentation

* fixed api docs and got test working

* updated version

* updated jenkins libindy version

* updated jenkins libindy version

* added zmq dep.

* update jenkins file to no-cache

* changed libindy docker file to 1.3.1 and added self_attested test

* updated libindy repo in docker file

* added libzmq5 to docker file

* took out extra dependencies

* added all dependencies that other docker file had

* took out unused docker commands from libindy docker file

* [CO-1313] - Changes to make the pod depend on a vendor library so that the mobile app does not need to

* [CO-1313] - Updating the podspec to version 0.0.5

* [CO-1313] - Adding in a placeholder libvcx.a file since the real libvcx.a file is way to large for github to accept it.

* Libindy refactor (hyperledger-indy#254)

* Updates rust version to 1.25 (hyperledger-indy#248)

* EN-566 - vcx_init_with_config (hyperledger-indy#251)

* EN-566 - vcx_init_with_config

* workaround for annoying rusqlite problem that only happens in tests

* EN-535 - enable vcx_shutdown() for clearing out configuration (hyperledger-indy#253)

* API calls to disclosed proof for retrieving credentials and generating a proof (hyperledger-indy#255)

* updated documentation for rust api

* fixed warnings and compile errors with the demo tests

* updated api documentation

* fixed api docs and got test working

* updated version

* updated jenkins libindy version

* updated jenkins libindy version

* added zmq dep.

* update jenkins file to no-cache

* changed libindy docker file to 1.3.1 and added self_attested test

* updated libindy repo in docker file

* added libzmq5 to docker file

* took out extra dependencies

* added all dependencies that other docker file had

* took out unused docker commands from libindy docker file

* update credentials in wallet to use main master secret.
Have generate_proof working. Need to expose with api

* added api to disclosed_proof for retrieving credentials and for generating a proof

* fixed lint issued in node wrapper

* Add api call to retrieve cred def id (hyperledger-indy#256)

* updated documentation for rust api

* fixed warnings and compile errors with the demo tests

* updated api documentation

* fixed api docs and got test working

* updated version

* updated jenkins libindy version

* updated jenkins libindy version

* added zmq dep.

* update jenkins file to no-cache

* changed libindy docker file to 1.3.1 and added self_attested test

* updated libindy repo in docker file

* added libzmq5 to docker file

* took out extra dependencies

* added all dependencies that other docker file had

* took out unused docker commands from libindy docker file

* update credentials in wallet to use main master secret.
Have generate_proof working. Need to expose with api

* added api to disclosed_proof for retrieving credentials and for generating a proof

* fixed lint issued in node wrapper

* added api to retrieve cred_def_id

* fixed info messaged and added get_cred_def_id to header file

* merge from master (hyperledger-indy#258)

* Updates rust version to 1.25 (hyperledger-indy#248)

* EN-566 - vcx_init_with_config (hyperledger-indy#251)

* EN-566 - vcx_init_with_config

* workaround for annoying rusqlite problem that only happens in tests

* EN-535 - enable vcx_shutdown() for clearing out configuration (hyperledger-indy#253)

* refactor *release to always return success (log failures) (hyperledger-indy#257)

* Macos build (hyperledger-indy#259)

* [CO-1313] - Scripts to build the libindy.dylib and libvcx.dylib on a mac osx machine

* [CO-1313] - With these steps the building of the libvcx.dylib is successful and the running of the tests with cargo test is successful each time. It is reproducible.

* [CO-1313] - With these steps the building of the libvcx.dylib is successful and the running of the tests with cargo test is successful each time. It is reproducible.

* [CO-1313] - Beginning the android and iOS library integrations for the ConnectMe mobile app on iOS and android.

* [CO-1313] - Beginning the android and iOS library integrations for the ConnectMe mobile app on iOS and android.

* [CO-1313] - Moving the macos build scripts to a folder called build_scripts/macos

* [CO-1313] - Added the -f flag on the ln command so that the soft link will be removed and restablished

* [CO-1313] - Changed the build scripts to build for iOS but also have the macos build steps commented out

* [CO-1313] - Moved the temporary build location to a hidden folder at the root of the project called .macosbuild

* [CO-1313] - Added a shared function that will resolve the relative paths in the scripts

* [CO-1313] - Added the backtrace export environment variable to get more insight into why the build is failing

* [CO-1313] - Modifications that will build the libvcx.a file for iOS on all of the different architectures

* [CO-1313] - Scripts to build the libindy.dylib and libvcx.dylib on a mac osx machine

* [CO-1313] - With these steps the building of the libvcx.dylib is successful and the running of the tests with cargo test is successful each time. It is reproducible.

* [CO-1313] - Moving the macos build scripts to a folder called build_scripts/macos

* [CO-1313] - Added the -f flag on the ln command so that the soft link will be removed and restablished

* [CO-1313] - Changed the build scripts to build for iOS but also have the macos build steps commented out

* [CO-1313] - Moved the temporary build location to a hidden folder at the root of the project called .macosbuild

* [CO-1313] - Added a shared function that will resolve the relative paths in the scripts

* [CO-1313] - Added the backtrace export environment variable to get more insight into why the build is failing

* [CO-1313] - Modifications that will build the libvcx.a file for iOS on all of the different architectures

* refactor settings to remove default values (hyperledger-indy#261)

* [CO-1313] - Added a script to find the native dependencies that need to be built for iOS

* [CO-1313] - An iOS phone project to show how to use libvcx to call into the libindy functions

* [CO-1313] - Added some code from the indy-sdk for handling callbacks

* [CO-1313] - The call to vcx_agent_provision_async is being made and the call to vcx_init is being made

* [CO-1313] - The vcx_agent_provision_async function is being called but it errors out on the get_wallet_credentials call

* [CO-1313] - Added the UIFileSharingEnabled flag to the ios-demo-vcx mobile app

* [CO-1313] - Just timestamp changes

* [CO-1313] - Added a script to find the native dependencies that need to be built for iOS (hyperledger-indy#262)

* [CO-1313] - Moved the line of code to convert the const char *const to an NSString* inside the if completion check.

* made chenges to debug the rust code

* debuging agent provision api changes

* [CO-1313] - Add a script to copy out the build .a files into the lib folder of the ios demo iphone app

* [CO-1383] - Added the android folder where we can begin to put the scripts for creating a libvcx library for android

* [CO-1313] - Scripts to combine all of the libraries into one libvcx_all.a static library file.

* [CO-1313] - Scripts to combine all of the libraries into one libvcxall.a static library file.

* [CO-1313] - Xcode project changes to use one big libvcx.a and to link it correctly

* Add feature to tests that use pool (hyperledger-indy#263)

* updated documentation for rust api

* fixed warnings and compile errors with the demo tests

* updated api documentation

* fixed api docs and got test working

* updated version

* updated jenkins libindy version

* updated jenkins libindy version

* added zmq dep.

* update jenkins file to no-cache

* changed libindy docker file to 1.3.1 and added self_attested test

* updated libindy repo in docker file

* added libzmq5 to docker file

* took out extra dependencies

* added all dependencies that other docker file had

* took out unused docker commands from libindy docker file

* update credentials in wallet to use main master secret.
Have generate_proof working. Need to expose with api

* added api to disclosed_proof for retrieving credentials and for generating a proof

* fixed lint issued in node wrapper

* added api to retrieve cred_def_id

* fixed info messaged and added get_cred_def_id to header file

* added feature called pool_tests to tests that depend on a pool. These tests will only be run when the --feature pool_tests flag is added to cargo test

* took out redundant set-up code. Ignored test that caused side-effects

* Added openssl docker build


* Added libsodium, fixed openssl


* More fixes to docker files


* Added scripts to build Libindy and Libvcx for android

* Fixes in Libcvx for android build. Added readme

* Finished OpenSSL build


* Added libsodium


* Added zeromq build


* [CO-1313, CO-1383] - Moving the ios scripts into an ios folder which contains a mac folder

* Removed the .out logging files

* [CO-1313, CO-1383] - Fixed the ios scripts to reflect being moved into a subfolder

* Added scripts for bundling binaries with ndk-build

* Added scripts for bundling binaries with ndk-build. Added sample app

* Fixes after merge

* Fixed Sample add

* removed ios-demo-vcx project

* Add vcx connection flow mehthods

* Rename agentProvision to createOneTimeInfo

* Added sample project WrapperTest to showcase the usage of Android wrapper

* Update params for init, onetimeAgent and updatePushToken

* Added instructions to WrapperTest. Some fixes in scripts.

* Added instructions to WrapperTest. Some fixes in scripts.

* Readme.md

* Update README.md

* removed some unnecessary comments

* Working with libindy deb 1.4 (hyperledger-indy#267)

* updated documentation for rust api

* fixed warnings and compile errors with the demo tests

* updated api documentation

* fixed api docs and got test working

* updated version

* updated jenkins libindy version

* updated jenkins libindy version

* added zmq dep.

* update jenkins file to no-cache

* changed libindy docker file to 1.3.1 and added self_attested test

* updated libindy repo in docker file

* added libzmq5 to docker file

* took out extra dependencies

* added all dependencies that other docker file had

* took out unused docker commands from libindy docker file

* update credentials in wallet to use main master secret.
Have generate_proof working. Need to expose with api

* added api to disclosed_proof for retrieving credentials and for generating a proof

* fixed lint issued in node wrapper

* added api to retrieve cred_def_id

* fixed info messaged and added get_cred_def_id to header file

* added feature called pool_tests to tests that depend on a pool. These tests will only be run when the --feature pool_tests flag is added to cargo test

* took out redundant set-up code. Ignored test that caused side-effects

* updated cred-def defaults in wallet

* vcx tests pass with libindy 1.4

* got test_real_proof working (end-to-end test)

* updated docker file to 1.4

* fixed failing wrapper tests

* [CO-1313, CO-1383] - Scripts for building the android libvcx.so on a mac and to fix the sudo of the sodium user and zmq user

* [CO-1313, CO-1383] - Scripts for building the android libvcx.so on a mac and to fix the sudo of the sodium user and zmq user

* [CO-1313, CO-1383] - Added libvcx build for arm and fixed log messages for missing environment variable LIBINDY_DIR

* [CO-1313, CO-1383] - Added libvcx build for armv7, arm64, x86_64 and x86 also fixed the x86 and x86_64 build.rs script to use the android build steps

* Added android test project


* Adding the commands to build the libvcx.dylib file for the apple darwin architecture

* Upgradded two versions of dependencies

* Added a JNA example for invoking the vcx_agent_provision_async libvcx function

* Updates to zmq


* Updates


* Finished libindy


* added apis related to claim in objective C wrapper

* Updates to fix the final build


* Fixed the scripts to do a git pull of the code so that it is really updated

* Finished libvcx build for android


* Placed the git pull at the end of making sure that any un-needed changes are moved out of the way

* Add logging support to libvcx

* Add generateProof method to vcx objective-c

* Revert back conflict changes

* Revert "Revert back conflict changes"

This reverts commit 1c25c704038fe55980eeda2a2c17b3788cd775cd.

* Revert "Add generateProof method to vcx objective-c"

This reverts commit de0e6443ee78b9bae636413d7a0fdbc3488f5c15.

* Revert back to old commits

* libvcx ios wrapper for credentail flow is done

* Adding the eclipse project files to the jnavcx project

* Adding the last steps for building the libvcxall.so for android on a mac

* Added a README.txt file for building the iOS libindy.a and libvcx.a file as well as updates to make the scripts more robust

* Updated scripts to work the first time and subsequent times and updated the README.txt instructions

* Added a common error into the README.txt file so that it does not cause problems in the future

* Added the last few build step changes and updated the README for how to fix an issue that was occuring with the build

* Last updates to make sure it builds

* Added an if statement to check whether the parameter is empty or not

* Adding the iOS git-lfs file libvcxall.a that works in Xcode to call the vcx functions

* Changes to run the libvcx build steps at 11 am every day

* Now the launchd daemon script really works

* Added a parameter to the launchd daemon script to delete the library if it already exists

* Updating the scripts to checkout and merge the libindy_refactor branch as part of the automated build

* Removed the steps to checkout and merge the libindy_refactor branch we will have to merge in the libindy_refactor branch manually

* Removed the steps to checkout and merge the libindy_refactor branch we will have to merge in the libindy_refactor branch manually

* Forgot to add the .gitattributes file for the git-lfs setup

* Updated the README.txt file so that it is more clear what the launchd script will do

* temp commit

* modified sample app

* Added new apis to vcx

* Fixed the android scripts to be able to run docker as a user other than the user who installed docker, there may be a better workaround for this

* Added the .bash_profile file and the README.txt file for android

* Adding the build scripts for android so that we can build the library automaticaly once each day via launchd on a mac

* fixed xcode error

* Added the OPENSSL_DIR path so that the android build of libindy.so will work

* Switched to the 1.4.0 tagged release of indy-sdk and fixed the build to not fail on the darwin build

* Fixed an issue with armv7 build and that affected several scripts

* Fixed an issue with armv7 build and that affected several scripts

* Removed one of the large .out log files that is not needed

* Fixed dex issue

* Changes to force the link to occur and to give some informational output from the commands being run

* Fixed the missing architecture i386 in the libzmq.a and libsodium.a static libraries

* Now the libvcxall.a has the i386 architecture in it

* Now the libvcxall.a has the i386 architecture in it

* Adding in the zipped up libvcxall.so files that are built as part of the daily android build of the vcx rust code

* EN-586, EN-576, EN-474 - using libnullpay (hyperledger-indy#269)

* EN-586, EN-576, EN-474 - using libnullpay

* update libindy deb file

* fix copy/paste error

* fix another typo

* added credentialCreateWithMsgid api

* Wallet Storage API for Rust, Python, and Node (hyperledger-indy#270)

Adds add_record Call
Adds vcx_wallet_update_record_value Call
Adds vcx_wallet_update_record_tags Call
Adds vcx_wallet_add_record_tags Call
Adds vcx_wallet_delete_record_tags Call
Adds vcx_wallet_delete_record Call
Adds vcx_wallet_get_record Call
Adds vcx_wallet_open_search Call
Adds vcx_wallet_close_search Call
Adds vcx_wallet_search_next_records Call

* fix to initialize token library during vcx_init - EN-586 (hyperledger-indy#271)

* Removing the large files out of the repository because we are going to use another server to host the artifacts produces by our builds

*  wrapper work for creating addresses EN-576 (hyperledger-indy#273)

* fix to initialize token library during vcx_init - EN-586

* wrapper work for creating addresses EN-576

* update header file

* Changed the times of the automated launchd build to be 9 pm MST for android and 10 pm MST for iOS

* Adding back in all of the architectures for iOS

* Added the pattern to ignore .zip files

* Removing the v1.4.0 tag of libindy and switching back to master as libindy_refactor builds are relying on libindy master

* VCX Init changes and Init Wallet (hyperledger-indy#274)

* updated documentation for rust api

* fixed warnings and compile errors with the demo tests

* updated api documentation

* fixed api docs and got test working

* updated version

* updated jenkins libindy version

* updated jenkins libindy version

* added zmq dep.

* update jenkins file to no-cache

* changed libindy docker file to 1.3.1 and added self_attested test

* updated libindy repo in docker file

* added libzmq5 to docker file

* took out extra dependencies

* added all dependencies that other docker file had

* took out unused docker commands from libindy docker file

* update credentials in wallet to use main master secret.
Have generate_proof working. Need to expose with api

* added api to disclosed_proof for retrieving credentials and for generating a proof

* fixed lint issued in node wrapper

* added api to retrieve cred_def_id

* fixed info messaged and added get_cred_def_id to header file

* added feature called pool_tests to tests that depend on a pool. These tests will only be run when the --feature pool_tests flag is added to cargo test

* took out redundant set-up code. Ignored test that caused side-effects

* updated cred-def defaults in wallet

* vcx tests pass with libindy 1.4

* got test_real_proof working (end-to-end test)

* updated docker file to 1.4

* fixed failing wrapper tests

* removed warnings

* vcx init no longer enfoces config values. Added create wallet api

* wrapper tests passing

* create wallet in wrappers have no return value

* took out bad test

* took out init_wallet

* took out init_wallet definitions in rustlib

* Removed the git-lfs attributes

* create_with_msgid returns cred_offer for credential and proof_req for disclosed_proof (hyperledger-indy#277)

* updated documentation for rust api

* fixed warnings and compile errors with the demo tests

* updated api documentation

* fixed api docs and got test working

* updated version

* updated jenkins libindy version

* updated jenkins libindy version

* added zmq dep.

* update jenkins file to no-cache

* changed libindy docker file to 1.3.1 and added self_attested test

* updated libindy repo in docker file

* added libzmq5 to docker file

* took out extra dependencies

* added all dependencies that other docker file had

* took out unused docker commands from libindy docker file

* update credentials in wallet to use main master secret.
Have generate_proof working. Need to expose with api

* added api to disclosed_proof for retrieving credentials and for generating a proof

* fixed lint issued in node wrapper

* added api to retrieve cred_def_id

* fixed info messaged and added get_cred_def_id to header file

* added feature called pool_tests to tests that depend on a pool. These tests will only be run when the --feature pool_tests flag is added to cargo test

* took out redundant set-up code. Ignored test that caused side-effects

* updated cred-def defaults in wallet

* vcx tests pass with libindy 1.4

* got test_real_proof working (end-to-end test)

* updated docker file to 1.4

* fixed failing wrapper tests

* removed warnings

* vcx init no longer enfoces config values. Added create wallet api

* wrapper tests passing

* create wallet in wrappers have no return value

* took out bad test

* took out init_wallet

* took out init_wallet definitions in rustlib

* returned cred_offer and proof_req for create_with_msgid for disclosed_proof and credential

* Add connection flow android vcx wrapper methods

* Move updateAgentInfo to utils

* Clear settings during shutdown (hyperledger-indy#278)

* updated documentation for rust api

* fixed warnings and compile errors with the demo tests

* updated api documentation

* fixed api docs and got test working

* updated version

* updated jenkins libindy version

* updated jenkins libindy version

* added zmq dep.

* update jenkins file to no-cache

* changed libindy docker file to 1.3.1 and added self_attested test

* updated libindy repo in docker file

* added libzmq5 to docker file

* took out extra dependencies

* added all dependencies that other docker file had

* took out unused docker commands from libindy docker file

* update credentials in wallet to use main master secret.
Have generate_proof working. Need to expose with api

* added api to disclosed_proof for retrieving credentials and for generating a proof

* fixed lint issued in node wrapper

* added api to retrieve cred_def_id

* fixed info messaged and added get_cred_def_id to header file

* added feature called pool_tests to tests that depend on a pool. These tests will only be run when the --feature pool_tests flag is added to cargo test

* took out redundant set-up code. Ignored test that caused side-effects

* updated cred-def defaults in wallet

* vcx tests pass with libindy 1.4

* got test_real_proof working (end-to-end test)

* updated docker file to 1.4

* fixed failing wrapper tests

* removed warnings

* vcx init no longer enfoces config values. Added create wallet api

* wrapper tests passing

* create wallet in wrappers have no return value

* took out bad test

* took out init_wallet

* took out init_wallet definitions in rustlib

* returned cred_offer and proof_req for create_with_msgid for disclosed_proof and credential

* cleared settings during shutdown

* fixed comment

* Add vcxGenerateProof method for vcx android wrapper

* Updated documentation in node wrapper and took out config library (hyperledger-indy#279)

* updated documentation for rust api

* fixed warnings and compile errors with the demo tests

* updated api documentation

* fixed api docs and got test working

* updated version

* updated jenkins libindy version

* updated jenkins libindy version

* added zmq dep.

* update jenkins file to no-cache

* changed libindy docker file to 1.3.1 and added self_attested test

* updated libindy repo in docker file

* added libzmq5 to docker file

* took out extra dependencies

* added all dependencies that other docker file had

* took out unused docker commands from libindy docker file

* update credentials in wallet to use main master secret.
Have generate_proof working. Need to expose with api

* added api to disclosed_proof for retrieving credentials and for generating a proof

* fixed lint issued in node wrapper

* added api to retrieve cred_def_id

* fixed info messaged and added get_cred_def_id to header file

* added feature called pool_tests to tests that depend on a pool. These tests will only be run when the --feature pool_tests flag is added to cargo test

* took out redundant set-up code. Ignored test that caused side-effects

* updated cred-def defaults in wallet

* vcx tests pass with libindy 1.4

* got test_real_proof working (end-to-end test)

* updated docker file to 1.4

* fixed failing wrapper tests

* removed warnings

* vcx init no longer enfoces config values. Added create wallet api

* wrapper tests passing

* create wallet in wrappers have no return value

* took out bad test

* took out init_wallet

* took out init_wallet definitions in rustlib

* returned cred_offer and proof_req for create_with_msgid for disclosed_proof and credential

* cleared settings during shutdown

* fixed comment

* updated documentation and took out config library

* Adding the podspec for versions 0.0.7 and 0.0.8

* Changed the name of the zip archive to be newer as I cannot overwrite the zip archive in kraken yet

* Adding the vcx.framework zip file as the source for the pod

* Adding the changes that Yaswanth indicated to get the pod to work

* [CO-1383] - With these changes you can now see a backtrace from the rust library by invoking ./run.sh

* [CO-1383] - Removed an un-needed white space that got introduced somehow

* [CO-1383] - Changed back the log statements to be either error or info rather than println

* [CO-1383] - Changed back the log statement to be debug and added back in the space

* [CO-1383] - Removed the whitespace that got introduced

* enable vcx_ledger_get_fees EN-475 (hyperledger-indy#282)

* enable vcx_ledger_get_fees EN-475

* update header docs

* added claim related java wrapper for libvcx

* temp commit

* Added build scripts to build without docker

* Added in the libssl and libcrypto libraries and added in some debugging and functions for the environment variables

* Changed println statements back to trace and removed some println statements

* Changed println statements back to trace and removed some println statements

* Reverting back some changes to debug statements

* Changed some println statements back to debug and removed commented out lines of code

* Changes println! to info!
Fixed logging on android

* Changes println! to info!
Fixed logging on android

* Fixes for init function

* Buildscripts cleanup

* functionality for inputs and outputs (hyperledger-indy#285)

* updated documentation for rust api

* fixed warnings and compile errors with the demo tests

* updated api documentation

* fixed api docs and got test working

* updated version

* updated jenkins libindy version

* updated jenkins libindy version

* added zmq dep.

* update jenkins file to no-cache

* changed libindy docker file to 1.3.1 and added self_attested test

* updated libindy repo in docker file

* added libzmq5 to docker file

* took out extra dependencies

* added all dependencies that other docker file had

* took out unused docker commands from libindy docker file

* update credentials in wallet to use main master secret.
Have generate_proof working. Need to expose with api

* added api to disclosed_proof for retrieving credentials and for generating a proof

* fixed lint issued in node wrapper

* added api to retrieve cred_def_id

* fixed info messaged and added get_cred_def_id to header file

* added feature called pool_tests to tests that depend on a pool. These tests will only be run when the --feature pool_tests flag is added to cargo test

* took out redundant set-up code. Ignored test that caused side-effects

* updated cred-def defaults in wallet

* vcx tests pass with libindy 1.4

* got test_real_proof working (end-to-end test)

* updated docker file to 1.4

* fixed failing wrapper tests

* removed warnings

* vcx init no longer enfoces config values. Added create wallet api

* wrapper tests passing

* create wallet in wrappers have no return value

* took out bad test

* took out init_wallet

* took out init_wallet definitions in rustlib

* returned cred_offer and proof_req for create_with_msgid for disclosed_proof and credential

* cleared settings during shutdown

* fixed comment

* updated documentation and took out config library

* functionality for inputs and outputs

* added get_txn_cost

* Added code to debug an android device with the libvcx code and the libindy code to be to get a backtrace

* Moved the rust-indy-sdk dependency to not be dependent on being build on android

* Buildscripts cleanup

* Now switching to using static libraries rather than shared libraries

* Remove debug logs

* removed disable of ssl cert verification from httpclient.rs

* Added credentials api to wrapper
Fixed some apis
Fixed duplicate function call in logger.rs


* Fixed package path in android wrapper


* Fixing the build to use a commit hash so that the build does not break when the HEAD of the master branch is broken

* Adding a script to upload the android build zipfiles to kraken

* Adding a script to upload the files built for ios to the kraken repo

* Now both the android and ios build share the same commit sha hash

* written wrapper functions for proofs and credentials

* written methods for proofs and credentials

* added spec 0.0.9

* Added result class to return result for GetProof


* update with credential callback types

* [WIP] Added Exceptions for error codes


* [WIP] Added more exceptions for error codes


* added wrapper apis for serialize and deserialize connection

* add credentialUpdateState

* added documentation for wrapper ios

* updated ConnectionApi.java with connection serialize and deserialize

* Fixed a build issue when checking out the correct commit hash from the indy-sdk repo

* Added the steps to automate the creation of the cocoapod archive file that the ConnectMe build relies on

* Fixed the Darwin build to find the libnullpay library

* Fixed the upload scripts to also copy the archives to the nginx server download location

* Added the sudo command infront of the cp command so that it can be copied to /usr/local

* Reverting changes that were made to rust code so that we can verify that the tests will pass

* Fixed the Cargo.toml file to be more like the one in master branch

* Removed all of the duplicate identifiers that were causing the build to fail

Signed-off-by: Norman Jarvis <[email protected]>
  • Loading branch information
nsivraj authored and rytmarsh committed Jun 5, 2018
1 parent 0f1dba7 commit 20ec04b
Show file tree
Hide file tree
Showing 291 changed files with 19,817 additions and 13 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#*.a filter=lfs diff=lfs merge=lfs -text
27 changes: 27 additions & 0 deletions Specs/vcx/0.0.1/vcx.podspec.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"name": "vcx",
"platforms": {
"ios": "10.0"
},
"summary": "High-level wrapper function for vcx framework.",
"requires_arc": false,
"version": "0.0.1",
"license": {
"type": "Commercial",
"file": "LICENSE"
},
"authors": {
"Evernym Inc.": "[email protected]"
},
"homepage": "https://github.com/evernym/sdk/vcx/wrappers/ios",
"source": {
"http":
"2f43b886.ngrok.io/vcxFramework.zip"
},
"frameworks": "Foundation",
"dependencies": {},
"ios": {
"vendored_frameworks": "vcxFramework/vcx.framework"
},
"module_name": "vcx"
}
44 changes: 44 additions & 0 deletions Specs/vcx/0.0.2/vcx.podspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#
# Be sure to run `pod lib lint vcx.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
#

Pod::Spec.new do |s|
s.name = 'vcx'
s.version = '0.0.2'
s.summary = 'The Objective-C wrapper around the libvcx shared library.'

# This description is used to generate tags and improve search results.
# * Think: What does it do? Why did you write it? What is the focus?
# * Try to keep it short, snappy and to the point.
# * Write the description between the DESC delimiters below.
# * Finally, don't worry about the indent, CocoaPods strips it!

s.description = <<-DESC
The ConnectMe mobile app on the iOS platform will call into the libvcx shared library
from Objective-C. This pod is a very thin Objective-C wrapper that allows react native to call
through to the libvcx shared library.
DESC

s.homepage = 'https://www.evernym.com/'
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
s.license = { :type => 'MIT', :file => 'vcx/wrappers/ios/vcx/LICENSE' }
s.author = { 'yaswanthsvist' => '[email protected]' }
s.source = { :git => '[email protected]:evernym/sdk.git', :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

s.ios.deployment_target = '8.0'

s.source_files = '**/vcx/Classes/**/*'

# s.resource_bundles = {
# 'vcx' => ['**/vcx/Assets/*.png']
# }

# s.public_header_files = 'Pod/Classes/**/*.h'
# s.frameworks = 'UIKit', 'MapKit'
# s.dependency 'AFNetworking', '~> 2.3'
end
44 changes: 44 additions & 0 deletions Specs/vcx/0.0.4/vcx.podspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#
# Be sure to run `pod lib lint vcx.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
#

Pod::Spec.new do |s|
s.name = 'vcx'
s.version = '0.0.4'
s.summary = 'The Objective-C wrapper around the libvcx shared library.'

# This description is used to generate tags and improve search results.
# * Think: What does it do? Why did you write it? What is the focus?
# * Try to keep it short, snappy and to the point.
# * Write the description between the DESC delimiters below.
# * Finally, don't worry about the indent, CocoaPods strips it!

s.description = <<-DESC
The ConnectMe mobile app on the iOS platform will call into the libvcx shared library
from Objective-C. This pod is a very thin Objective-C wrapper that allows react native to call
through to the libvcx shared library.
DESC

s.homepage = 'https://www.evernym.com/'
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
s.license = { :type => 'MIT', :file => 'vcx/wrappers/ios/vcx/LICENSE' }
s.author = { 'yaswanthsvist' => '[email protected]' }
s.source = { :git => '[email protected]:evernym/sdk.git', :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

s.ios.deployment_target = '8.0'

s.source_files = '**/vcx/Classes/**/*'

# s.resource_bundles = {
# 'vcx' => ['**/vcx/Assets/*.png']
# }

# s.public_header_files = 'Pod/Classes/**/*.h'
# s.frameworks = 'UIKit', 'MapKit'
# s.dependency 'AFNetworking', '~> 2.3'
end
44 changes: 44 additions & 0 deletions Specs/vcx/0.0.7/vcx.podspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#
# Be sure to run `pod lib lint vcx.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
#

Pod::Spec.new do |s|
s.name = 'vcx'
s.version = '0.0.7'
s.summary = 'The Objective-C wrapper around the libvcx shared library.'

# This description is used to generate tags and improve search results.
# * Think: What does it do? Why did you write it? What is the focus?
# * Try to keep it short, snappy and to the point.
# * Write the description between the DESC delimiters below.
# * Finally, don't worry about the indent, CocoaPods strips it!

s.description = <<-DESC
The ConnectMe mobile app on the iOS platform will call into the libvcx shared library
from Objective-C. This pod is a very thin Objective-C wrapper that allows react native to call
through to the libvcx shared library.
DESC

s.homepage = 'https://www.evernym.com/'
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
s.license = { :type => 'MIT', :file => 'vcx/wrappers/ios/vcx/LICENSE' }
s.author = { 'yaswanthsvist' => '[email protected]' }
s.source = { :git => '[email protected]:evernym/sdk.git', :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

s.ios.deployment_target = '8.0'

s.source_files = '**/vcx/Classes/**/*'

# s.resource_bundles = {
# 'vcx' => ['**/vcx/Assets/*.png']
# }

# s.public_header_files = 'Pod/Classes/**/*.h'
# s.frameworks = 'UIKit', 'MapKit'
# s.dependency 'AFNetworking', '~> 2.3'
end
46 changes: 46 additions & 0 deletions Specs/vcx/0.0.8/vcx.podspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#
# Be sure to run `pod lib lint vcx.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
#

Pod::Spec.new do |s|
s.name = 'vcx'
s.version = '0.0.8'
s.summary = 'The Objective-C wrapper around the libvcx shared library.'

# This description is used to generate tags and improve search results.
# * Think: What does it do? Why did you write it? What is the focus?
# * Try to keep it short, snappy and to the point.
# * Write the description between the DESC delimiters below.
# * Finally, don't worry about the indent, CocoaPods strips it!

s.description = <<-DESC
The ConnectMe mobile app on the iOS platform will call into the libvcx shared library
from Objective-C. This pod is a very thin Objective-C wrapper that allows react native to call
through to the libvcx shared library.
DESC

s.homepage = 'https://www.evernym.com/'
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'yaswanthsvist' => '[email protected]' }
#s.source = { :git => '[email protected]:evernym/sdk.git', :tag => s.version.to_s }
s.source = { :http => 'https://repo.corp.evernym.com/filely/ios/vcx.framework_20180523.1433_universal.zip' }
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

s.ios.deployment_target = '8.0'
s.ios.vendored_frameworks="vcx/vcx.framework"
s.compiler_flags = '-ObjC -lvcx'

# s.resource_bundles = {
# 'vcx' => ['**/vcx/Assets/*.png']
# }

s.public_header_files = 'vcx/vcx.framework/include/*.h', 'vcx/vcx.framework/headers/*.h'
s.ios.vendored_library = 'vcx/vcx.framework/lib/libvcx.a'
# s.frameworks = 'UIKit', 'MapKit'
# s.dependency 'AFNetworking', '~> 2.3'
end
44 changes: 44 additions & 0 deletions Specs/vcx/0.0.9/vcx.podspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#
# Be sure to run `pod lib lint vcx.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
#

Pod::Spec.new do |s|
s.name = 'vcx'
s.version = '0.0.9'
s.summary = 'The Objective-C wrapper around the libvcx shared library.'

# This description is used to generate tags and improve search results.
# * Think: What does it do? Why did you write it? What is the focus?
# * Try to keep it short, snappy and to the point.
# * Write the description between the DESC delimiters below.
# * Finally, don't worry about the indent, CocoaPods strips it!

s.description = <<-DESC
The ConnectMe mobile app on the iOS platform will call into the libvcx shared library
from Objective-C. This pod is a very thin Objective-C wrapper that allows react native to call
through to the libvcx shared library.
DESC

s.homepage = 'https://www.evernym.com/'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'yaswanthsvist' => '[email protected]' }
s.source = { :http => 'https://repo.corp.evernym.com/filely/ios/vcx.framework_20180523.1433_universal.zip'}

s.ios.deployment_target = '8.0'

#s.source_files = '**/vcx/Classes/**/*','**/Example/Classes/**/*'

# s.resource_bundles = {
# 'vcx' => ['**/vcx/Assets/*.png']
# }
s.ios.vendored_frameworks="vcx/vcx.framework"
s.compiler_flags = '-ObjC'
s.public_header_files = 'vcx/vcx.framework/include/*.h'
s.ios.vendored_library = 'vcx/vcx.framework/lib/libvcx.a'
# s.frameworks = 'UIKit', 'MapKit'
# s.dependency 'AFNetworking', '~> 2.3'
end
8 changes: 8 additions & 0 deletions vcx/libvcx/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ base64 = "0.8.0"
openssl = "0.10"
num-traits = "0.2.0"
rust-indy-sdk = {git = "https://github.com/mikelodder7/rust-indy-sdk.git"}
log-panics = "2.0.0"

[target.'cfg(target_os = "android")'.dependencies]
android_logger = "0.5"

[build-dependencies]
serde = "1.0"
Expand Down Expand Up @@ -71,3 +75,7 @@ assets = [
]
maintainer-scripts = "./scripts"

#[profile.release]
debug = true
panic = 'unwind'
incremental = false
30 changes: 27 additions & 3 deletions vcx/libvcx/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,17 +56,41 @@ struct Contents {
fn main() {
let target = env::var("TARGET").unwrap();
println!("target={}", target);

if target.contains("aarch64-linux-android"){


if let Ok(mode) = env::var("LIBINDY_STATIC") {
let libindy_lib_path = env::var("LIBINDY_DIR").unwrap();
println!("cargo:rustc-link-search=native={}",libindy_lib_path);
println!("cargo:rustc-link-lib=static=indy");
}else if target.contains("aarch64-linux-android") || target.contains("armv7-linux-androideabi") ||
target.contains("arm-linux-androideabi") || target.contains("i686-linux-android") ||
target.contains("x86_64-linux-android") {

let libindy_lib_path = match env::var("LIBINDY_DIR"){
Ok(val) => val,
Err(..) => panic!("Missing required environment variable LIBINDY_DIR")
};

let openssl = match env::var("OPENSSL_LIB_DIR") {
Ok(val) => val,
Err(..) => match env::var("OPENSSL_DIR") {
Ok(dir) => Path::new(&dir[..]).join("/lib").to_string_lossy().into_owned(),
Err(..) => panic!("Missing required environment variables OPENSSL_DIR or OPENSSL_LIB_DIR")
}
};

println!("cargo:rustc-link-search=native={}",libindy_lib_path);
println!("cargo:rustc-link-lib=static=indy");
println!("cargo:rustc-link-search=native={}", openssl);
println!("cargo:rustc-link-lib=static=crypto");
println!("cargo:rustc-link-lib=static=ssl");
}else if target.contains("darwin"){
//OSX specific logic
println!("cargo:rustc-link-lib=indy");
//OSX does not allow 3rd party libs to be installed in /usr/lib. Instead install it in /usr/local/lib
println!("cargo:rustc-link-search=native=/usr/local/lib");
if cfg!(feature = "nullpay") {
println!("cargo:rustc-link-lib=nullpay");
}
}else if target.contains("-linux-"){
//Linux specific logic
println!("cargo:rustc-link-lib=indy");
Expand Down
10 changes: 10 additions & 0 deletions vcx/libvcx/build_scripts/android/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## Vcx SDK Android

###Development:
With Docker

- run `build_scripts/android/vcx/build.sh`

Without Docker

- run `build_scripts/android/vcx/build.nondocker.sh`
Loading

0 comments on commit 20ec04b

Please sign in to comment.