Merge branch 'master' into release

This commit is contained in:
Aditya Kulkarni 2020-03-21 08:06:13 -07:00
commit ac788c2cb5
29 changed files with 63 additions and 44 deletions

View File

@ -23,18 +23,30 @@ Zecwallet-Lite does automatic note and utxo management, which means it doesn't a
* When sending an outgoing transaction to a shielded address, Zecwallet-Lite can decide to use the transaction to additionally shield your transparent funds (i.e., send your transparent funds to your own shielded address in the same transaction)
## Compiling from source
* ZecWallet is written in C++ 14, and can be compiled with g++/clang++/visual c++.
* It also depends on Qt5, which you can get from [here](https://www.qt.io/download).
* You'll need Rust v1.37 +
Zecwallet Lite is written in Electron/Javascript and can be build from source. Note that if you are compiling from source, you won't get the embedded zcashd by default. You can either run an external zcashd, or compile zcashd as well.
Pre-Requisits
### Building on Linux
You need to have the following software installed before you can build Zecwallet Fullnode
* [Nodejs v12.16.1 or higher](https://nodejs.org)
* [Yarn](https://yarnpkg.com)
* [Rust v1.40+](https://www.rust-lang.org/tools/install)
```
git clone https://github.com/adityapk00/zecwallet-lite.git
cd zecwallet-lite
/path/to/qt5/bin/qmake zecwallet-lite.pro CONFIG+=debug
make -j$(nproc)
./zecwallet-lite
yarn install
yarn build
```
To start in development mode, run
```
yarn dev
```
To start in production mode, run
```
yarn start
```
_PS: Zecwallet-Lite is NOT an official wallet, and is not affiliated with the Electric Coin Company in any way._

View File

@ -1,4 +0,0 @@
{
"mainWindowUrl": "./app.html",
"appPath": "."
}

View File

@ -7,7 +7,7 @@ import ReactModal from 'react-modal';
import { Switch, Route } from 'react-router';
import native from '../native/index.node';
import { ErrorModal, ErrorModalData } from './components/ErrorModal';
import cstyles from './components/Common.css';
import cstyles from './components/Common.module.css';
import routes from './constants/routes.json';
import App from './containers/App';
import Dashboard from './components/Dashboard';

View File

@ -8,8 +8,8 @@ import {
AccordionItemPanel,
Accordion
} from 'react-accessible-accordion';
import styles from './Addressbook.css';
import cstyles from './Common.css';
import styles from './Addressbook.module.css';
import cstyles from './Common.module.css';
import { AddressBookEntry } from './AppState';
import ScrollPane from './ScrollPane';
import Utils from '../utils/utils';

View File

@ -1,5 +1,5 @@
import React from 'react';
import cstyles from './Common.css';
import cstyles from './Common.module.css';
import Utils from '../utils/utils';
// eslint-disable-next-line react/prop-types

View File

@ -11,8 +11,8 @@ import {
AccordionItemPanel,
Accordion
} from 'react-accessible-accordion';
import styles from './Dashboard.css';
import cstyles from './Common.css';
import styles from './Dashboard.module.css';
import cstyles from './Common.module.css';
import { TotalBalance, Info, AddressBalance } from './AppState';
import Utils from '../utils/utils';
import ScrollPane from './ScrollPane';

View File

@ -1,7 +1,7 @@
/* eslint-disable react/prop-types */
import Modal from 'react-modal';
import React from 'react';
import cstyles from './Common.css';
import cstyles from './Common.module.css';
export class ErrorModalData {
title: string;

View File

@ -8,8 +8,8 @@ import native from '../../native/index.node';
import routes from '../constants/routes.json';
import { RPCConfig, Info } from './AppState';
import RPC from '../rpc';
import cstyles from './Common.css';
import styles from './LoadingScreen.css';
import cstyles from './Common.module.css';
import styles from './LoadingScreen.module.css';
import Logo from '../assets/img/logobig.png';
type Props = {

View File

@ -1,7 +1,7 @@
// @flow
import React, { PureComponent } from 'react';
import Modal from 'react-modal';
import cstyles from './Common.css';
import cstyles from './Common.module.css';
type Props = {
modalIsOpen: boolean,

View File

@ -10,8 +10,8 @@ import {
} from 'react-accessible-accordion';
import QRCode from 'qrcode.react';
import { shell, clipboard } from 'electron';
import styles from './Receive.css';
import cstyles from './Common.css';
import styles from './Receive.module.css';
import cstyles from './Common.module.css';
import Utils from '../utils/utils';
import { AddressBalance, Info, ReceivePageState, AddressBookEntry } from './AppState';
import ScrollPane from './ScrollPane';

View File

@ -10,8 +10,8 @@ import React, { PureComponent } from 'react';
import Modal from 'react-modal';
import TextareaAutosize from 'react-textarea-autosize';
import { withRouter } from 'react-router-dom';
import styles from './Send.css';
import cstyles from './Common.css';
import styles from './Send.module.css';
import cstyles from './Common.module.css';
import { ToAddr, AddressBalance, SendPageState, Info, AddressBookEntry, TotalBalance } from './AppState';
import Utils from '../utils/utils';
import ScrollPane from './ScrollPane';
@ -119,6 +119,7 @@ const ToAddrBox = ({
<div className={[cstyles.flexspacebetween].join(' ')}>
<input
type="number"
step="any"
className={cstyles.inputbox}
value={toaddr.amount}
onChange={e => updateToField(toaddr.id, null, e, null)}

View File

@ -1,3 +1,4 @@
// @flow
/* eslint-disable react/destructuring-assignment */
/* eslint-disable react/prop-types */
import React, { PureComponent } from 'react';
@ -10,8 +11,8 @@ import { Link } from 'react-router-dom';
import { ipcRenderer } from 'electron';
import TextareaAutosize from 'react-textarea-autosize';
import PropTypes from 'prop-types';
import styles from './Sidebar.css';
import cstyles from './Common.css';
import styles from './Sidebar.module.css';
import cstyles from './Common.module.css';
import routes from '../constants/routes.json';
import Logo from '../assets/img/logobig.png';
import { Info } from './AppState';
@ -131,6 +132,7 @@ const SidebarMenuItem = ({ name, routeName, currentRoute, iconname }) => {
};
type Props = {
location: PropTypes.object.isRequired,
info: Info,
setRescanning: boolean => void,
addresses: string[],
@ -138,9 +140,14 @@ type Props = {
setSendTo: (address: string, amount: number | null, memo: string | null) => void,
getPrivKeyAsString: (address: string) => string,
history: PropTypes.object.isRequired,
openErrorModal: (title: string, body: string | Element<'div'>) => void,
openPassword: (boolean, (string) => void, () => void, string) => void,
openPasswordAndUnlockIfNeeded: (successCallback: () => void) => void,
openErrorModal: (title: string, body: string | Element<'div'> | Element<'span'>) => void,
openPassword: (
boolean,
(string) => void | Promise<void>,
() => void,
null | string | Element<'div'> | Element<'span'>
) => void,
openPasswordAndUnlockIfNeeded: (successCallback: () => void | Promise<void>) => void,
lockWallet: () => void,
encryptWallet: string => void,
decryptWallet: string => void
@ -175,7 +182,7 @@ class Sidebar extends PureComponent<Props, State> {
openErrorModal(
'Zecwallet Lite',
<div className={cstyles.verticalflex}>
<div className={cstyles.margintoplarge}>Zecwallet Lite v1.1.1</div>
<div className={cstyles.margintoplarge}>Zecwallet Lite v1.1.2</div>
<div className={cstyles.margintoplarge}>Built with Electron. Copyright (c) 2018-2020, Aditya Kulkarni.</div>
<div className={cstyles.margintoplarge}>
The MIT License (MIT) Copyright (c) 2018-2020 Zecwallet
@ -292,7 +299,8 @@ class Sidebar extends PureComponent<Props, State> {
},
() => {
openErrorModal('Cancelled', 'Your wallet is still encrypted.');
}
},
null
);
}
});
@ -510,4 +518,5 @@ class Sidebar extends PureComponent<Props, State> {
}
}
// $FlowFixMe
export default withRouter(Sidebar);

View File

@ -7,8 +7,8 @@ import dateformat from 'dateformat';
import { shell } from 'electron';
import { withRouter } from 'react-router';
import { BalanceBlockHighlight } from './BalanceBlocks';
import styles from './Transactions.css';
import cstyles from './Common.css';
import styles from './Transactions.module.css';
import cstyles from './Common.module.css';
import { Transaction, Info } from './AppState';
import ScrollPane from './ScrollPane';
import Utils from '../utils/utils';
@ -126,7 +126,6 @@ const TxModalInternal = ({ modalIsOpen, tx, closeModal, currencyName, zecPrice,
let replyTo = null;
if (tx.type === 'receive' && memo) {
const split = memo.split(/[ :\n\r\t]+/);
console.log(split);
if (split && split.length > 0 && Utils.isSapling(split[split.length - 1])) {
replyTo = split[split.length - 1];
}

View File

@ -1,8 +1,8 @@
import React, { PureComponent } from 'react';
import QRCode from 'qrcode.react';
import dateformat from 'dateformat';
import cstyles from './Common.css';
import styles from './WormholeConnection.css';
import cstyles from './Common.module.css';
import styles from './WormholeConnection.module.css';
import CompanionAppListener from '../companion';
import { ConnectedCompanionApp } from './AppState';
@ -69,7 +69,7 @@ export default class WormholeConnection extends PureComponent<Props, State> {
<div>This is your connection code. Scan this QR code from the Zecwallet Companion App.</div>
<div className={[cstyles.center, cstyles.margintoplarge].join(' ')}>
<QRCode value={connStr} size={256} className={styles.wormholeqr} />
<QRCode value={connStr} size={256} level="M" className={styles.wormholeqr} />
</div>
<div className={[cstyles.sublight, cstyles.margintoplarge, cstyles.small].join(' ')}>{connStr}</div>
</div>

View File

@ -1,5 +1,7 @@
.wormholeqr {
width: 400px;
padding: 10px;
background-color: white;
}
.qrcodecontainer {

View File

@ -1,8 +1,8 @@
/* eslint-disable react/prop-types */
import React, { Component } from 'react';
import { Info } from './AppState';
import cstyles from './Common.css';
import styles from './Zcashd.css';
import cstyles from './Common.module.css';
import styles from './Zcashd.module.css';
import ScrollPane from './ScrollPane';
import Heart from '../assets/img/zcashdlogo.gif';

View File

@ -1,7 +1,7 @@
{
"name": "zecwallet-lite",
"productName": "Zecwallet Lite",
"version": "1.1.1",
"version": "1.1.2",
"description": "Zecwallet Lite",
"main": "./main.prod.js",
"author": {

View File

@ -1 +1 @@
echo "::set-env name=VERSION::1.1.1"
echo "::set-env name=VERSION::1.1.2"

View File

@ -1,4 +1,4 @@
#!/bin/bash
VERSION="1.1.1"
VERSION="1.1.2"
echo "::set-env name=VERSION::$VERSION"

View File

@ -1,7 +1,7 @@
{
"name": "zecwallet-lite",
"productName": "Zecwallet Lite",
"version": "1.1.1",
"version": "1.1.2",
"description": "Zecwallet Lite (Electron version)",
"scripts": {
"build": "yarn neon && concurrently \"yarn build-main\" \"yarn build-renderer\"",