Skip to content
This repository has been archived by the owner on Mar 28, 2020. It is now read-only.

Commit

Permalink
Merge pull request #111 from ZcashFoundation/develop
Browse files Browse the repository at this point in the history
v0.6.0
  • Loading branch information
georgelima authored Apr 30, 2019
2 parents 727a198 + ba1c9e2 commit 2e4f557
Show file tree
Hide file tree
Showing 48 changed files with 424 additions and 347 deletions.
20 changes: 20 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Contributing

When contributing to this repository, please first discuss the change you wish to make via issue with the owners and core contributors of this repository. Please note we have a [Code of Conduct](https://github.com/ZcashFoundation/zepio/blob/master/CODE_OF_CONDUCT.md) - please follow it in all your interactions with the project.

## Pull Request Process

1. Ensure any install or build dependencies are removed before the end of the layer when doing a
build.
2. Update the README.md with details of changes to the interface, this includes new environment
variables, exposed ports, useful file locations and container parameters.
3. Increase the version numbers in any examples files and the README.md to the new version that this
Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/).
4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
do not have permission to do that, you may request the second reviewer to merge it for you.

Learn more about this project's [development workflow](https://github.com/ZcashFoundation/zepio/blob/master/DEVELOPMENT_WORKFLOW.md).

## Code of Conduct

For information on this project's Code of Conduct details, please see [this file](https://github.com/ZcashFoundation/zepio/blob/master/CODE_OF_CONDUCT.md).
4 changes: 2 additions & 2 deletions DEVELOPMENT_WORKFLOW.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The following lists the branching semantics to follow:

## Commit Messages

Commit messages should have semantic meanings to make it more easily possible to comb through commits. The following are commit types to follow.
Commit messages should have semantic meanings, and explain the 'why' of the change performed, to make it more easily possible to comb through commits. The following are commit types to follow.

* **feature**: New feature
* **hotfix**: Bug fixes
Expand Down Expand Up @@ -45,6 +45,6 @@ docs: commit messages doc

### Title

The title of the PR should have the type shown (feature, hotfix, chore, etc..) as well as a brief description of the PR's purpose. Example
The title of the PR should have the type shown (feature, hotfix, chore, etc..) as well as a brief description of the PR's purpose. Example:

`[feature] Add Infinite Scroll`
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2019 Zcash Foundation
Copyright (c) 2019 Zcash Foundation zfnd.org

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
109 changes: 91 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,52 +1,125 @@
# Zepio | ZEC Wallet

Zepio is a Sapling-enabled shielded-address first Zcash wallet, featuring cross-platform applications (macOS, Windows and Linux), built-in full node with support for `mainnet` and `testnet`, as well as `dark` and `light` themes.
Zepio is a Sapling-enabled shielded-address-first Zcash wallet, featuring cross-platform applications (macOS, Windows and Linux), built-in full node with support for `mainnet` and `testnet`, as well as `dark` and `light` themes.

![Build Status](https://app.bitrise.io/app/a5bc7a8391d5501b/status.svg?token=SOuGNc3Qf9rCj3Osl-eHyQ&branch=master)
![Flow Coverage](./public/flow-coverage-badge.svg)

### [Latest Documentation at https://zepiowallet.com](https://zepiowallet.com)
### [Latest Documentation](https://zepiowallet.com)

### [Latest Release](https://github.com/ZcashFoundation/zepio/releases)

![Zepio Wallet](https://raw.githubusercontent.com/ZcashFoundation/zepio-docs/develop/docz/assets/dashboard.png)

## Stack Information

- [Electron](https://github.com/electron/electron): desktop application builder
List of the main open source libraries and technologies used in building **Zepio**:

- [React](https://facebook.github.io/react/): UI view layer
- [zcashd](https://github.com/zcash/zcash): Zcash node daemon
- [Electron](https://github.com/electron/electron): Desktop application builder
- [React](https://facebook.github.io/react/): User interface view layer
- [Redux](http://redux.js.org/): Predictable application state container
- [Styled Components](https://www.styled-components.com/): Visual primitives for theming and styling applications
- [webpack](http://webpack.github.io/): Application module bundler (and more)
- [Babel](http://babeljs.io/): ES7/JSX transpilling
- [ESLint](http://eslint.org/): Code linting rules
- [Flow](https://flow.org): JavaScript static type checker
- [Docz](https://docz.site): Documentation builder

- [Redux](http://redux.js.org/): predictable state container
## Installing and Running From Source

- [Webpack](http://webpack.github.io/): module bundler
To run **Zepio** from source you'll need to perform the following steps:
```bash
# Ensure you have Node LTS v8+
# https://nodejs.org/en/

- [Webpack Development Server](https://webpack.github.io/docs/webpack-dev-server.html): development server
# Clone Codebase
git clone git@github.com:ZcashFoundation/zepio.git

- [Babel](http://babeljs.io/): ES7/JSX transpilling
# Install Dependencies
# inside of the `zepio` folder
yarn install
# or
npm install

- [ESLint](http://eslint.org/): code rules and linting
# Start Application
# webpack development server hosts the application on port
# 8080 and launches the Electron wrapper, which also hosts
# the `zcashd` node daemon process.
yarn start
# or
npm start
```

- [React Router](https://github.com/reactjs/react-router): routing solution for react
## Building Application Locally

- [Styled Components](https://www.styled-components.com/): visual primitives for theming applications
To build the application locally follow the instructions below:
```bash
# Make sure you are inside of the main `zepio` folder

# Run Build Script
yarn electron:distall

# Executables and binaries available under `/dist` folder
```

## Installation
## Flow Coverage (Static Type Checker)

For a deeper look on the static typing coverage of the application, please follow below:
```bash
# Make sure you are inside of the main `zepio` folder

yarn install
# Generate Flow Coverage Report
# this can take a couple seconds
yarn flow:report

# Browser should open with the file `index.html` opened
# Files are also available at `zepio/flow-coverage/source`
```

## Development
## Component Library (Docz)

To run the application you simply need to run
To see Zepio's React component library, please visit https://zepio-components.now.sh. We're always looking for folks to help keep the styleguide updated.

To run the component library locally, run the following:
```bash
# Make sure you are inside of the main `zepio` folder

yarn start
# Run Docz Development Script
yarn docz:dev

# Visit http://127.0.0.1:4000/
```

This will kickstart the webpack development server and serve the app on port 8080, as well as launch the Electron wrapper for the application, which houses the `zcashd` daemon process.
To build the component library locally, run the following:
```bash
# Make sure you are inside of the main `zepio` folder

# Run Build Script
yarn docz:build

# Check `/.docz/dist` folder for built static assets
```

## Tests

To run the application's tests, please run the below:
```bash
# Make sure you are inside of the main `zepio` folder

# For Unit Tests: Run Jest Unit Test Suite
yarn test:unit

# For E2E (end-to-end) Tests: Run Jest E2E Suite
yarn e2e:serve
# on another terminal window
yarn test e2e
```

## Contributing

In order to contribute and submit PRs to improve the **Zepio** codebase, please check our [CONTRIBUTING](https://github.com/ZcashFoundation/zepio/blob/master/CONTRIBUTING.md) guide.

## License

MIT © Zcash Foundation 2019
MIT © Zcash Foundation 2019 zfnd.org
1 change: 1 addition & 0 deletions __tests__/actions/wallet-summary.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ describe('WalletSummary Actions', () => {
total: 5000,
transparent: 5000,
shielded: 5000,
unconfirmed: 100,
addresses: [],
transactions: [],
zecPrice: 50,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ exports[`<TransactionItem /> should render a transaction item correctly 1`] = `
class="sc-bdVaJa eFCRqo"
>
<div
class="sc-bdVaJa eFCRqo"
class="sc-ckVGcZ gzxdCf sc-bdVaJa eFCRqo"
>
<img
alt="Transaction Type Icon"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@
exports[`<TransactionDailyComponent /> render() should render user daily transactions 1`] = `
<div>
<div
class="sc-kpOJdX inMzwo"
class="sc-jKJlTe gjnbgQ"
data-testid="TransactionsDaily"
>
<p
class="sc-ckVGcZ kFpbuU sc-htpNat pRhzD"
class="sc-hMqMXs gnhPXm sc-htpNat pRhzD"
>
2019-02-20T19:31:57.117Z
</p>
<div
class="sc-dxgOiQ dHRuWE"
class="sc-eNQAEJ dtrSYf"
>
<div
class="sc-jzJRlG bgSReS sc-bdVaJa bWRfen"
Expand All @@ -22,7 +22,7 @@ exports[`<TransactionDailyComponent /> render() should render user daily transac
class="sc-bdVaJa eFCRqo"
>
<div
class="sc-bdVaJa eFCRqo"
class="sc-ckVGcZ gzxdCf sc-bdVaJa eFCRqo"
>
<img
alt="Transaction Type Icon"
Expand Down Expand Up @@ -75,7 +75,7 @@ exports[`<TransactionDailyComponent /> render() should render user daily transac
class="sc-bdVaJa eFCRqo"
>
<div
class="sc-bdVaJa eFCRqo"
class="sc-ckVGcZ gzxdCf sc-bdVaJa eFCRqo"
>
<img
alt="Transaction Type Icon"
Expand Down
3 changes: 2 additions & 1 deletion __tests__/components/transaction-item.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,14 @@ describe('<TransactionItem />', () => {
const { container } = render(
<ThemeProvider theme={appTheme}>
<TransactionItemComponent
confirmed
confirmations={10}
type='send'
address='123456789123456789123456789123456789'
transactionId='a0s9dujo23j0'
amount={0.8652}
date={new Date().toString()}
zecPrice={2.94}
fees={0.0001}
/>
</ThemeProvider>,
);
Expand Down
4 changes: 4 additions & 0 deletions __tests__/components/transactions-daily.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ describe('<TransactionDailyComponent />', () => {
date: '2019-02-20T19:31:57.117Z',
theme: appTheme,
fees: 0.001,
confirmations: 10,
confirmed: true,
},
{
type: 'send',
Expand All @@ -59,6 +61,8 @@ describe('<TransactionDailyComponent />', () => {
date: '2019-02-20T19:31:57.117Z',
theme: appTheme,
fees: 0.001,
confirmed: false,
confirmations: 3,
},
]}
/>
Expand Down
4 changes: 4 additions & 0 deletions __tests__/reducers/wallet-summary.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ describe('WalletSummary Reducer', () => {
total: 0,
shielded: 0,
transparent: 0,
unconfirmed: 0,
error: null,
isLoading: false,
zecPrice: 0,
Expand All @@ -37,6 +38,7 @@ describe('WalletSummary Reducer', () => {
total: 0,
shielded: 0,
transparent: 0,
unconfirmed: 0,
error: null,
isLoading: true,
zecPrice: 0,
Expand All @@ -52,6 +54,7 @@ describe('WalletSummary Reducer', () => {
total: 1000,
transparent: 1000,
shielded: 1000,
unconfirmed: 0,
},
};
const expectedState = {
Expand All @@ -77,6 +80,7 @@ describe('WalletSummary Reducer', () => {
total: 0,
shielded: 0,
transparent: 0,
unconfirmed: 0,
error: action.payload.error,
isLoading: false,
addresses: [],
Expand Down
4 changes: 4 additions & 0 deletions __tests__/setup/mockAPI.js
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,10 @@ const handler = (server) => {
return res.send({
result: 't1VpYecBW4UudbGcy4ufh61eWxQCoFaUrPs',
});
case 'getunconfirmedbalance':
return res.send({
result: 10,
});
default:
return null;
}
Expand Down
Binary file added app/assets/images/shield_dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/images/shield_dark_gray.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/images/shield_light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions app/assets/images/unconfirmed_dark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions app/assets/images/unconfirmed_light.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 4 additions & 2 deletions app/components/a-index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: Home
route: /
---

# UI Components
# Zepio Wallet

Use the sidebar menu to browse the styleguide of React components available for the Zepio application.
Use the sidebar menu to browse the component library of React components available for the Zepio application.

> This is not an exhaustive list, and we're always looking for folks to help keep it updated.
16 changes: 10 additions & 6 deletions app/components/button.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,17 @@ name: Button
import { Playground, PropsTable } from 'docz'

import { Button } from './button.js'
import { DoczWrapper } from '../theme.js'
import { DoczWrapper } from '../theme/docz.js'

# Button

## Properties

<PropsTable of={Button} />

## Primary
## Variations

### Primary

<Playground>
<div style={{ backgroundColor: '#000', padding: '20px' }}>
Expand All @@ -26,7 +30,7 @@ import { DoczWrapper } from '../theme.js'
</div>
</Playground>

## Secondary
### Secondary

<Playground>
<div style={{ backgroundColor: '#000', padding: '20px' }}>
Expand All @@ -42,7 +46,7 @@ import { DoczWrapper } from '../theme.js'
</div>
</Playground>

## Primary Disabled
### Primary Disabled

<Playground>
<div style={{ backgroundColor: '#000', padding: '20px' }}>
Expand All @@ -57,7 +61,7 @@ import { DoczWrapper } from '../theme.js'
</div>
</Playground>

## Secondary Disabled
### Secondary Disabled

<Playground>
<div style={{ backgroundColor: '#000', padding: '20px' }}>
Expand All @@ -73,7 +77,7 @@ import { DoczWrapper } from '../theme.js'
</div>
</Playground>

## Link Button
### Link Button

<Playground>
<div style={{ backgroundColor: '#000', padding: '20px' }}>
Expand Down
Loading

0 comments on commit 2e4f557

Please sign in to comment.