Skip to content

Commit

Permalink
Merge pull request #3088 from bithyve/dev
Browse files Browse the repository at this point in the history
Build 1.1.0(214)
  • Loading branch information
cakesoft-shashank authored Jul 29, 2023
2 parents 32acb94 + a90f4cc commit aca0149
Show file tree
Hide file tree
Showing 83 changed files with 2,549 additions and 779 deletions.
63 changes: 21 additions & 42 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,42 +1,21 @@
(c) Copyright 2023 by BitHyve UK Ltd.

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject
to the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

"Commons Clause" License Condition v1.0

The Software is provided to you by the Licensor under the License,
as defined below, subject to the following condition.

Without limiting other conditions in the License, the grant of
rights under the License will not include, and the License does not
grant to you, the right to Sell the Software.

For purposes of the foregoing, "Sell" means practicing any or all
of the rights granted to you under the License to provide to third
parties, for a fee or other consideration (including without
limitation fees for hosting or consulting/ support services related
to the Software), a product or service whose value derives, entirely
or substantially, from the functionality of the Software. Any license
notice or attribution required by the License must also include
this Commons Clause License Condition notice.

Software: All BitcoinKeeper associated files.
License: MIT
Licensor: BitHyve UK Ltd.
MIT License

Copyright (c) 2023 bithyve

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
77 changes: 52 additions & 25 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
# Bitcoin Keeper - Your Private Bitcoin Vault

Bitcoin Keeper is a React Native app written in TypeScript. It uses Yarn as a package manager to handle dependencies.
Affordable and easy-to-use, security for all your sats, BIP-85, Multisig, Own Node, Whirlpool, and Hardware Wallet support. Built with React Native

<img width="1728" alt="Screenshot 2023-05-26 at 6 41 23 PM" src="https://github.com/bithyve/bitcoin-keeper/assets/50690016/fe3a8cdb-260f-44a0-913a-8f94d5791b6b">
<img width="1727" alt="Screens" src="https://github.com/bithyve/bitcoin-keeper/assets/50690016/da358b64-7e4a-4454-afa7-30210233fef2">


[![Playstore](https://bitcoinkeeper.app/wp-content/uploads/2023/05/gpbtn.png)](https://play.google.com/store/apps/details?id=io.hexawallet.bitcoinkeeper)
[![Appstore](https://bitcoinkeeper.app/wp-content/uploads/2023/05/applebtn.png)](https://apps.apple.com/us/app/bitcoin-keeper/id1545535925)


## Prerequisites

Before getting started, make sure you have the following software installed on your machine:
Before getting started, make sure you have proper [React Native development environment](https://reactnative.dev/docs/environment-setup) on your machine

- [Node.js > 12](https://nodejs.org) and npm (Recommended: Use [nvm](https://github.com/nvm-sh/nvm))
- [Watchman](https://facebook.github.io/watchman)
- [Xcode 12](https://developer.apple.com/xcode)
- [Cocoapods 1.10.1](https://cocoapods.org)
- [JDK > 11](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html)
- [Android Studio and Android SDK](https://developer.android.com/studio)

## Getting Started

Expand All @@ -33,40 +31,65 @@ Before getting started, make sure you have the following software installed on y
```shell
yarn install
```

## Development
To start the development server and run the app on a connected device or emulator, use the following commands:

## Build and Run

### Whirlpool prerequisites
To use the Whirlpool, you'll need to have the following platform-specific binaries and place them in the specified directories:
#### Android
* Extract [jniLibs](https://github.com/bithyve/bitcoin-keeper/releases/download/v1.0.8/jniLibs.zip) to the following directory if not present already:
```bash
yarn androidDevelopmentDebug
android/app/src/main/
```
#### iOS
* Copy the [libwhirlpool.a](https://github.com/bithyve/bitcoin-keeper/releases/download/v1.0.8/libwhirlpool.a) to the following directory:
```bash
yarn ios --scheme=hexa_keeper_dev
ios/libwhirlpool.a
```
These commands will build and launch the app on the respective platforms.
### Varients
The project has testnet and mainnet varients. The development varient is configured to use testnet and production varient to use mainnet.
### Whirlpool prerequisites
To use the Whirlpool feature, you'll need to have the following platform-specific binaries and place them in the specified directories:
Start metro metro
```bash
yarn start
```
#### Android
#### Development
To run the development app on a connected device or emulator:
* Copy the libwhirlpool.so file from the release notes' asset section to the following directory:
**Android**
```bash
yarn androidDevelopmentDebug
```
**iOS**
```bash
android/app/src/main/jniLibs/{arch_dir}/libwhirlpool.so
yarn ios --scheme=hexa_keeper_dev
```
Replace {arch_dir} with the appropriate architecture directory (e.g., arm64-v8a, armeabi-v7a, x86).
#### iOS
#### Production
To run the production app on a connected device or emulator:
* Copy the libwhirlpool.a file from the release notes' asset section to the following directory:
**Android**
```bash
ios/libwhirlpool.a
yarn androidProductionDebug
```
**iOS**
```bash
yarn ios --scheme=hexa_keeper
```
These commands will build and launch the app on the respective platforms.
## PGP
```bash
389F 4CAD A078 5AC0 E28A 0C18 1BEB DE26 1DC3 CF62
```
## Testing
This project uses **Jest** as the testing framework. To run the tests, use the following command:
Expand All @@ -75,5 +98,9 @@ yarn test
```
## License
This project is licensed under the **MIT License.**
## Community
* Follow us on [Twitter](https://twitter.com/bitcoinKeeper_)
* Join our [Telegram](https://t.me/bitcoinkeeper)
6 changes: 4 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,8 @@ android {
pickFirst 'lib/x86_64/libc++_shared.so'
pickFirst 'lib/armeabi-v7a/libc++_shared.so'
pickFirst 'lib/arm64-v8a/libc++_shared.so'
pickFirst 'lib/x86_64/libjsc.so'
pickFirst 'lib/arm64-v8a/libjsc.so'
}

ndkVersion rootProject.ext.ndkVersion
Expand All @@ -147,8 +149,8 @@ android {
applicationId "io.hexawallet.keeper"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 208
versionName "1.0.8"
versionCode 214
versionName "1.1.0"
missingDimensionStrategy 'react-native-camera', 'general'
missingDimensionStrategy 'store', 'play'
multiDexEnabled true
Expand Down
18 changes: 12 additions & 6 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,8 @@ PODS:
- glog
- react-native-biometrics (2.2.0):
- React-Core
- react-native-blob-util (0.18.3):
- React-Core
- react-native-camera (4.2.1):
- React-Core
- react-native-camera/RCT (= 4.2.1)
Expand Down Expand Up @@ -477,8 +479,6 @@ PODS:
- React-Core
- RNLocalize (2.2.2):
- React-Core
- RNPermissions (3.6.1):
- React-Core
- RNReanimated (2.9.1):
- DoubleConversion
- FBLazyVector
Expand Down Expand Up @@ -512,6 +512,8 @@ PODS:
- RNSentry (4.3.1):
- React-Core
- Sentry (= 7.24.1)
- RNShare (9.2.3):
- React-Core
- RNSVG (12.4.3):
- React-Core
- Sentry (7.24.1):
Expand Down Expand Up @@ -568,6 +570,7 @@ DEPENDENCIES:
- React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
- React-logger (from `../node_modules/react-native/ReactCommon/logger`)
- react-native-biometrics (from `../node_modules/react-native-biometrics`)
- react-native-blob-util (from `../node_modules/react-native-blob-util`)
- react-native-camera (from `../node_modules/react-native-camera`)
- react-native-config (from `../node_modules/react-native-config`)
- react-native-document-picker (from `../node_modules/react-native-document-picker`)
Expand Down Expand Up @@ -603,10 +606,10 @@ DEPENDENCIES:
- RNIap (from `../node_modules/react-native-iap`)
- RNKeychain (from `../node_modules/react-native-keychain`)
- RNLocalize (from `../node_modules/react-native-localize`)
- RNPermissions (from `../node_modules/react-native-permissions`)
- RNReanimated (from `../node_modules/react-native-reanimated`)
- RNScreens (from `../node_modules/react-native-screens`)
- "RNSentry (from `../node_modules/@sentry/react-native`)"
- RNShare (from `../node_modules/react-native-share`)
- RNSVG (from `../node_modules/react-native-svg`)
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)

Expand Down Expand Up @@ -683,6 +686,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/logger"
react-native-biometrics:
:path: "../node_modules/react-native-biometrics"
react-native-blob-util:
:path: "../node_modules/react-native-blob-util"
react-native-camera:
:path: "../node_modules/react-native-camera"
react-native-config:
Expand Down Expand Up @@ -753,14 +758,14 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-keychain"
RNLocalize:
:path: "../node_modules/react-native-localize"
RNPermissions:
:path: "../node_modules/react-native-permissions"
RNReanimated:
:path: "../node_modules/react-native-reanimated"
RNScreens:
:path: "../node_modules/react-native-screens"
RNSentry:
:path: "../node_modules/@sentry/react-native"
RNShare:
:path: "../node_modules/react-native-share"
RNSVG:
:path: "../node_modules/react-native-svg"
Yoga:
Expand Down Expand Up @@ -812,6 +817,7 @@ SPEC CHECKSUMS:
React-jsinspector: c5989c77cb89ae6a69561095a61cce56a44ae8e8
React-logger: a0833912d93b36b791b7a521672d8ee89107aff1
react-native-biometrics: 3b95f2eb074d537d3a8b05d853c17778f6685c4a
react-native-blob-util: 2d36383bb52c15c5451be81cb7ddf22bc34a12a6
react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f
react-native-config: 7cd105e71d903104e8919261480858940a6b9c0e
react-native-document-picker: 958e2bc82e128be69055be261aeac8d872c8d34c
Expand Down Expand Up @@ -847,10 +853,10 @@ SPEC CHECKSUMS:
RNIap: c397f49db45af3b10dca64b2325f21bb8078ad21
RNKeychain: ff836453cba46938e0e9e4c22e43d43fa2c90333
RNLocalize: 95a43f85e41a966be7bc9cff2437128911c52da0
RNPermissions: dcdb7b99796bbeda6975a6e79ad519c41b251b1c
RNReanimated: 5c8c17e26787fd8984cd5accdc70fef2ca70aafd
RNScreens: 4a1af06327774490d97342c00aee0c2bafb497b7
RNSentry: 1cd4360f7c668f4d7e8f860e41da884f00e7d814
RNShare: da6d90b6dc332f51f86498041d6e34211f96b630
RNSVG: f3b60aeeaa81960e2e0536c3a9eef50b667ef3a9
Sentry: 1ed2d3f2973658bf6ab7ed43857c8e321a1625dd
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
Expand Down
16 changes: 8 additions & 8 deletions ios/hexa_keeper.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -814,7 +814,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = hexa_keeper/hexa_keeper.entitlements;
CURRENT_PROJECT_VERSION = 208;
CURRENT_PROJECT_VERSION = 214;
DEVELOPMENT_TEAM = Y5TCB759QL;
ENABLE_BITCODE = NO;
HEADER_SEARCH_PATHS = (
Expand Down Expand Up @@ -921,7 +921,7 @@
"$(inherited)",
"\"$(SRCROOT)\"",
);
MARKETING_VERSION = 1.0.8;
MARKETING_VERSION = 1.1.0;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
Expand All @@ -943,7 +943,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = hexa_keeper/hexa_keeper.entitlements;
CURRENT_PROJECT_VERSION = 208;
CURRENT_PROJECT_VERSION = 214;
DEVELOPMENT_TEAM = Y5TCB759QL;
HEADER_SEARCH_PATHS = (
"$(inherited)",
Expand Down Expand Up @@ -1049,7 +1049,7 @@
"$(inherited)",
"\"$(SRCROOT)\"",
);
MARKETING_VERSION = 1.0.8;
MARKETING_VERSION = 1.1.0;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
Expand Down Expand Up @@ -1193,7 +1193,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = "dev-AppIcon";
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = hexa_keeper_dev.entitlements;
CURRENT_PROJECT_VERSION = 208;
CURRENT_PROJECT_VERSION = 214;
DEVELOPMENT_TEAM = Y5TCB759QL;
ENABLE_BITCODE = NO;
HEADER_SEARCH_PATHS = (
Expand Down Expand Up @@ -1301,7 +1301,7 @@
"$(PROJECT_DIR)",
"\"$(SRCROOT)\"",
);
MARKETING_VERSION = 1.0.8;
MARKETING_VERSION = 1.1.0;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
Expand All @@ -1324,7 +1324,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = "dev-AppIcon";
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = hexa_keeper_dev.entitlements;
CURRENT_PROJECT_VERSION = 208;
CURRENT_PROJECT_VERSION = 214;
DEVELOPMENT_TEAM = Y5TCB759QL;
HEADER_SEARCH_PATHS = (
"$(inherited)",
Expand Down Expand Up @@ -1431,7 +1431,7 @@
"$(PROJECT_DIR)",
"\"$(SRCROOT)\"",
);
MARKETING_VERSION = 1.0.8;
MARKETING_VERSION = 1.1.0;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "hexa_keeper",
"version": "1.0.8",
"version": "1.1.0",
"private": true,
"scripts": {
"ios": "react-native run-ios",
Expand Down Expand Up @@ -75,6 +75,7 @@
"react-native-fs": "^2.20.0",
"react-native-gesture-handler": "^2.3.2",
"react-native-get-random-values": "^1.7.2",
"react-native-html-to-pdf": "^0.12.0",
"react-native-iap": "12.10.5",
"react-native-image-picker": "^4.10.3",
"react-native-keychain": "^8.0.0",
Expand All @@ -83,7 +84,7 @@
"react-native-mmkv": "^2.3.3",
"react-native-modal": "^13.0.1",
"react-native-nfc-manager": "^3.13.3",
"react-native-permissions": "^3.6.1",
"react-native-pdf": "^6.7.1",
"react-native-qr-decode-image-camera": "^1.1.1",
"react-native-qrcode-svg": "^6.1.2",
"react-native-randombytes": "^3.0.0",
Expand Down
Loading

0 comments on commit aca0149

Please sign in to comment.