Merge branch 'master' into release
This commit is contained in:
commit
ac788c2cb5
26
README.md
26
README.md
|
@ -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._
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"mainWindowUrl": "./app.html",
|
||||
"appPath": "."
|
||||
}
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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)}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
.wormholeqr {
|
||||
width: 400px;
|
||||
padding: 10px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.qrcodecontainer {
|
|
@ -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';
|
||||
|
||||
|
|
|
@ -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": {
|
||||
|
|
|
@ -1 +1 @@
|
|||
echo "::set-env name=VERSION::1.1.1"
|
||||
echo "::set-env name=VERSION::1.1.2"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
VERSION="1.1.1"
|
||||
VERSION="1.1.2"
|
||||
|
||||
echo "::set-env name=VERSION::$VERSION"
|
||||
|
|
|
@ -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\"",
|
||||
|
|
Loading…
Reference in New Issue