Skip to content

Commit

Permalink
Merge pull request #436 from balance-io/develop
Browse files Browse the repository at this point in the history
Deploy v0.3.0 (25) [Master]
  • Loading branch information
jinchung authored Feb 15, 2019
2 parents 751e347 + 5f5165a commit a529f8b
Show file tree
Hide file tree
Showing 87 changed files with 1,053 additions and 2,547 deletions.
19 changes: 18 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,30 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/)

## [Unreleased]

### Added

### Changed

### Removed

## [0.3.0-25](https://github.com/balance-io/balance-wallet/releases/tag/v0.3.0-25)
### Added
* WBTC pricing to rely on BTC price feed
* Proper implementation of box shadows

### Changed
* Improved Activity List interactions
* Fix for wrap-around behavior on Activity List
* Better handling for non-token-transfer and non-ETH smart contract interactions
* Fix for multiple push notifications permissions requests on initial WalletConnect connection

## [0.3.0-23](https://github.com/balance-io/balance-wallet/releases/tag/v0.3.0-23)
### Changed
* Fix for app crashing on fresh install for iPhone 6/7
* Fix for issue with multiple touch points causing weird behavior in expanded state
* Fix for blank transactions history while fetching transactions
* Fix for lengthy asset names on Send and Activity

## [0.3.0-22](https://github.com/balance-io/balance-wallet/releases/tag/v0.3.0-22)
### Added
* WalletConnect explainer
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ A mobile wallet for dapps & tokens. Currently focused on iOS.

* A computer running macOS.
* NVM installed: https://github.com/creationix/nvm
* Install CocoaPods by running `sudo gem install cocoapods`
* Install Watchman `brew install watchman`
* Install the latest version of XCode: https://developer.apple.com/xcode/
* Clone and install Balance Common, our shared library: https://github.com/balance-io/balance-common

Expand All @@ -21,15 +23,13 @@ If you are new to React Native, this is a helpful introduction: https://facebook

4. Run `yarn nodeify`.

5. Install CocoaPods by running `sudo gem install cocoapods`.
5. Install required Pods by running `yarn install-pods`.

6. Install required Pods by running `yarn install-pods`.
6. Run `yarn ios` to build the project for XCode.

7. Run `yarn ios` to build the project for XCode.
7. Open `balance-wallet/ios/BalanceWallet.xcworkspace`.

8. Open `balance-wallet/ios/BalanceWallet.xcworkspace`.

9. Run the project by clicking the play button.
8. Run the project by clicking the play button.

## CodePush

Expand Down
1 change: 1 addition & 0 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ android {
}

dependencies {
compile project(':react-native-device-info')
compile project(':react-native-screens')
compile project(':react-native-version-number')
compile project(':react-native-matomo')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import android.app.Application;

import com.facebook.react.ReactApplication;
import com.learnium.RNDeviceInfo.RNDeviceInfo;
import com.swmansion.rnscreens.RNScreensPackage;
import com.apsl.versionnumber.RNVersionNumberPackage;
import de.bonify.reactnativepiwik.PiwikPackage;
Expand Down Expand Up @@ -52,6 +53,7 @@ public boolean getUseDeveloperSupport() {
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new RNDeviceInfo(),
new RNScreensPackage(),
new RNVersionNumberPackage(),
new PiwikPackage(),
Expand Down
2 changes: 2 additions & 0 deletions android/settings.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
rootProject.name = 'BalanceWallet'
include ':react-native-device-info'
project(':react-native-device-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-device-info/android')
include ':react-native-screens'
project(':react-native-screens').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-screens/android')
include ':react-native-version-number'
Expand Down
2 changes: 1 addition & 1 deletion ios/BalanceWallet/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>22</string>
<string>25</string>
<key>CodePushDeploymentKey</key>
<string>$(CODEPUSH_KEY)</string>
<key>ITSAppUsesNonExemptEncryption</key>
Expand Down
2 changes: 2 additions & 0 deletions ios/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,6 @@ target 'BalanceWallet' do
pod 'RNScreens', :path => '../node_modules/react-native-screens'
pod 'react-native-version-number', :path => '../node_modules/react-native-version-number'

pod 'RNDeviceInfo', :path => '../node_modules/react-native-device-info'

end
24 changes: 15 additions & 9 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,11 @@ PODS:
- React/RCTNetwork
- React/RCTNetwork (0.57.1):
- React/Core
- RNDeviceInfo (0.21.5):
- React
- RNLanguages (3.0.2):
- React
- RNReanimated (1.0.0-alpha.11):
- RNReanimated (1.0.0-alpha.12):
- React
- RNScreens (1.0.0-alpha.22):
- React
Expand All @@ -75,6 +77,7 @@ DEPENDENCIES:
- react-native-fast-image (from `../node_modules/react-native-fast-image`)
- react-native-version-number (from `../node_modules/react-native-version-number`)
- React/RCTImage (from `../node_modules/react-native`)
- RNDeviceInfo (from `../node_modules/react-native-device-info`)
- RNLanguages (from `../node_modules/react-native-languages`)
- RNReanimated (from `../node_modules/react-native-reanimated`)
- RNScreens (from `../node_modules/react-native-screens`)
Expand Down Expand Up @@ -104,6 +107,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-fast-image"
react-native-version-number:
:path: "../node_modules/react-native-version-number"
RNDeviceInfo:
:path: "../node_modules/react-native-device-info"
RNLanguages:
:path: "../node_modules/react-native-languages"
RNReanimated:
Expand All @@ -116,25 +121,26 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
Crashlytics: 55e24fc23989680285a21cb1146578d9d18e432c
Fabric: 25d0963b691fc97be566392243ff0ecef5a68338
Firebase: 68afeeb05461db02d7c9e3215cda28068670f4aa
FirebaseAnalytics: b3628aea54c50464c32c393fb2ea032566e7ecc2
FirebaseCore: 62f1b792a49bb9e8b4073f24606d2c93ffc352f0
FirebaseInstanceID: f3f0657372592ecdfdfe2cac604a5a75758376a6
FirebaseMessaging: 6894b8fe0a0cf26c3b13dad729f1131654ae0bdb
Firebase: 76ec2a7cde90fb4037793f83aeeca48451543487
FirebaseAnalytics: b8bce8d5c40173328b8a4300da18c5c7e0a1908d
FirebaseCore: 31d258ec80ea97e1e8e40ce00a7ba7297afb45c2
FirebaseInstanceID: 4f7768a98c5c3c5bd9a4c9e431ea98dccc0a51f9
FirebaseMessaging: 94579ae655d817287f029ebfebd5b0811fbb3a51
FLAnimatedImage: 4a0b56255d9b05f18b6dd7ee06871be5d3b89e31
GoogleToolboxForMac: 91c824d21e85b31c2aae9bb011c5027c9b4e738f
nanopb: 2901f78ea1b7b4015c860c2fdd1ea2fee1a18d48
Protobuf: 1eb9700044745f00181c136ef21b8ff3ad5a0fd5
Protobuf: 6b0fc34ab8f2b7dbad2278a48be08a669427c59f
React: 1fe0eb13d90b625d94c3b117c274dcfd2e760e11
react-native-blur: c35c1f6c2c76db7108bde7ed343bd2b01d64e0c0
react-native-fast-image: cba3d9bf9c2cf8ddb643d887a686c53a5dd90a2c
react-native-version-number: 36c0d8eb57a275a6239a860f8dbab3d18299b0e0
RNDeviceInfo: 568c5641057313b4912d08a7742ff0b2f753ed5c
RNLanguages: e3ae05ef105937645218272429dac0c3f7633451
RNReanimated: 45d9313b7a62318ed00d60a811937321e43e076e
RNScreens: 354046589421edc3d83d5c6212475bf1fb9a731d
SDWebImage: 624d6e296c69b244bcede364c72ae0430ac14681
SDWebImage: 4170dae6332a915d44c918675d51dc1c4c06b45f
yoga: b1ce48b6cf950b98deae82838f5173ea7cf89e85

PODFILE CHECKSUM: b82ff0cc0a9e5be26f7421953c078bf323e6e85d
PODFILE CHECKSUM: 0b876ddc904bb401eb7df12eea5f563d95631161

COCOAPODS: 1.5.3
9 changes: 6 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "BalanceWallet",
"version": "0.3.0-22",
"version": "0.3.0-25",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
Expand All @@ -18,7 +18,8 @@
"@tradle/react-native-http": "^2.0.0",
"assert": "^1.4.1",
"axios": "^0.18.0",
"balance-common": "^0.6.28",
"balance-common": "^0.6.33",
"bignumber.js": "^8.0.2",
"browserify-zlib": "^0.1.4",
"buffer": "^4.9.1",
"chroma-js": "^1.3.7",
Expand Down Expand Up @@ -53,6 +54,7 @@
"react-native-circular-progress": "^1.0.1",
"react-native-code-push": "^5.4.1",
"react-native-crypto": "^2.1.2",
"react-native-device-info": "^0.26.2",
"react-native-emoji": "^1.3.1",
"react-native-fast-image": "^5.0.11",
"react-native-firebase": "^4.3.8",
Expand Down Expand Up @@ -84,7 +86,7 @@
"react-native-touch-id": "^4.1.0",
"react-native-udp": "^2.3.1",
"react-native-version-number": "^0.3.5",
"react-navigation": "^3.0.9",
"react-navigation": "^3.1.4",
"react-navigation-fluid-transitions": "^0.2.72",
"react-primitives": "^0.7.0",
"react-redux": "^5.0.7",
Expand All @@ -93,6 +95,7 @@
"readable-stream": "^1.0.33",
"recompact": "^3.4.0",
"recompose": "^0.30.0",
"recyclerlistview": "^2.0.0-beta.3",
"redux": "^3.7.2",
"redux-devtools-extension": "^2.13.7",
"redux-thunk": "^2.3.0",
Expand Down
18 changes: 15 additions & 3 deletions src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ import { compose, withProps } from 'recompact';
import { FlexItem } from './components/layout';
import OfflineBadge from './components/OfflineBadge';
import {
withAccountRefresh,
withHideSplashScreen,
withTrackingDate,
withWalletConnectConnections,
} from './hoc';
Expand Down Expand Up @@ -50,6 +52,8 @@ class App extends Component {
addTransactionsToApprove: PropTypes.func,
addTransactionToApprove: PropTypes.func,
getValidWalletConnectors: PropTypes.func,
onHideSplashScreen: PropTypes.func,
refreshAccount: PropTypes.func,
settingsInitializeState: PropTypes.func,
settingsUpdateAccountAddress: PropTypes.func,
setWalletConnectors: PropTypes.func,
Expand All @@ -64,6 +68,9 @@ class App extends Component {
navigatorRef = null

async componentDidMount() {
await this.handleWalletConfig();
this.props.onHideSplashScreen();
await this.props.refreshAccount();
Piwik.initTracker('https://matomo.balance.io/piwik.php', 2);
AppState.addEventListener('change', this.handleAppStateChange);
firebase.messaging().getToken()
Expand Down Expand Up @@ -108,9 +115,12 @@ class App extends Component {
handleWalletConfig = async (seedPhrase) => {
try {
this.props.trackingDateInit();
const walletAddress = await walletInit(seedPhrase);
this.props.settingsInitializeState();
const { isWalletBrandNew, walletAddress } = await walletInit(seedPhrase);
this.props.settingsUpdateAccountAddress(walletAddress, 'BALANCEWALLET');
if (isWalletBrandNew) {
return walletAddress;
}
this.props.settingsInitializeState();
this.props.accountLoadState();
this.props.transactionsToApproveInit();
try {
Expand Down Expand Up @@ -152,7 +162,7 @@ class App extends Component {
handleOpenConfirmTransactionModal = (transactionDetails, autoOpened) => {
if (!this.navigatorRef) return;
const action = StackActions.push({
params: { transactionDetails, autoOpened },
params: { autoOpened, transactionDetails },
routeName: 'ConfirmRequest',
});
Navigation.handleAction(this.navigatorRef, action);
Expand Down Expand Up @@ -216,6 +226,8 @@ class App extends Component {

const AppWithRedux = compose(
withProps({ store }),
withAccountRefresh,
withHideSplashScreen,
withTrackingDate,
withWalletConnectConnections,
connect(
Expand Down
Binary file added src/assets/simulator-fake-camera-image.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/components/AddFundsInterstitial.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import React from 'react';
import { withNavigation } from 'react-navigation';
import { compose, pure, withHandlers } from 'recompact';
import styled from 'styled-components/primitives';
import { colors, margin} from '../styles';
import { colors, margin } from '../styles';
import { Button } from './buttons';
import Divider from './Divider';
import { Centered } from './layout';
Expand Down
12 changes: 8 additions & 4 deletions src/components/Avatar.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { Image } from 'react-primitives';
import styled from 'styled-components/primitives';
import { borders, colors, position, shadow } from '../styles';
import { borders, colors, position } from '../styles';
import Icon from './icons/Icon';
import { Centered } from './layout';
import { ShadowStack } from './shadow-stack';
Expand All @@ -17,18 +17,22 @@ const Avatar = ({ size, source }) => (
<ShadowStack
{...borders.buildCircleAsObject(size)}
shadows={[
shadow.buildString(0, 1.5, 2.5),
shadow.buildString(0, 3, 5),
[0, 3, 5, colors.dark, 0.2],
[0, 6, 10, colors.dark, 0.14],
]}
>
<Container size={size}>
{source ? (
<Image
source={{ uri: source }}
{...position.coverAsObject}
style={position.sizeAsObject(size)}
/>
) : (
<Icon name="avatar" />
<Icon
name="avatar"
size={size}
/>
)}
</Container>
</ShadowStack>
Expand Down
35 changes: 26 additions & 9 deletions src/components/InnerBorder.js
Original file line number Diff line number Diff line change
@@ -1,24 +1,41 @@
import PropTypes from 'prop-types';
import styled from 'styled-components/primitives';
import React from 'react';
import { View } from 'react-primitives';
import { pure } from 'recompact';
import { colors, position } from '../styles';

const InnerBorder = styled.View`
${position.cover}
border-color: ${({ color }) => color};
border-radius: ${({ radius }) => radius};
border-width: ${({ width }) => width};
`;
const InnerBorder = ({
color,
opacity,
radius,
width,
...props
}) => (
<View
{...props}
css={`
${position.cover}
border-color: ${color};
border-radius: ${radius};
border-width: ${width};
opacity: ${opacity};
`}
pointerEvents="none"
/>
);

InnerBorder.propTypes = {
color: PropTypes.string,
opacity: PropTypes.number,
radius: PropTypes.number,
width: PropTypes.number,
};

InnerBorder.defaultProps = {
color: colors.alpha(colors.black, 0.06),
color: colors.black,
opacity: 0.06,
radius: 0,
width: 0.5,
};

export default InnerBorder;
export default pure(InnerBorder);
Loading

0 comments on commit a529f8b

Please sign in to comment.