Skip to content

Commit

Permalink
weekend update - qrcode - icons - larger settings panel
Browse files Browse the repository at this point in the history
  • Loading branch information
hunterlong committed May 8, 2018
1 parent b7a6ea2 commit d32d3cf
Show file tree
Hide file tree
Showing 21 changed files with 2,493 additions and 356 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
</p>

<p align="center">
<b>CoinApp - A Simple Cryptocurrency Wallet</b><br>
<b>CoinApp.io - A Simple Cryptocurrency Wallet</b><br>
<a href="https://github.com/coinapp-io/desktop/releases">Windows</a> |
<a href="https://github.com/coinapp-io/desktop/releases">Mac</a> |
<a href="https://github.com/coinapp-io/desktop/releases">Linux</a>
Expand Down
11 changes: 6 additions & 5 deletions UPDATES.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
- v0.0.23
- Added icons for coins and tokens
- New settings menu
- View transactions from within the app (ETH)
- UI bug fixes
<h3>v0.0.23</h3>
Major design changes and code structure refactoring. Export Wallet data (not private keys) for offline usage.
- Added icons for coins and tokens<br>
- New settings menu<br>
- View transactions from within the app (ETH)<br>
- UI bug fixes<br>
6 changes: 5 additions & 1 deletion main.js
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,11 @@ function createWindow () {
width: 840,
height: 560,
webPreferences: {
preload: __dirname+'/js/constants.js'
// allowRunningInsecureContent: false,
// experimentalFeatures: false,
// webSecurity: true,
// nodeIntegration: false,
preload: __dirname+'/src/constants.js'
}
});

Expand Down
2,289 changes: 2,048 additions & 241 deletions package-lock.json

Large diffs are not rendered by default.

7 changes: 5 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
"start": "electron .",
"pack": "electron-builder --dir",
"dist": "electron-builder -wml",
"compile": "rollup main.js --o bundle.js -f umd --name \"coinapp\"",
"rollup": "NODE_ENV=development rollup -c --fix",
"release": "electron-builder -ml -p always",
"release-win": "electron-builder -w -p always",
"test-all": "docker-compose up -d && sleep 20 && curl -X POST -H 'Content-Type: application/json' -d @test/newcoin.json http://localhost:8545 && export NODE_ALL='true' >> /dev/null && mocha && docker-compose down",
Expand Down Expand Up @@ -59,12 +61,13 @@
"electron-default-menu": "^1.0.1",
"electron-log": "^2.2.14",
"electron-store": "^1.3.0",
"electron-updater": "^2.21.8",
"electron-workers": "^1.10.3",
"electron-updater": "^2.21.10",
"ethereumjs-tx": "^1.3.4",
"ethereumjs-wallet": "0.6.0",
"ethers": "3.0.15",
"ledger-wallet-provider": "^2.0.1-beta.2",
"node-notifier": "^5.2.1",
"os": "^0.1.1",
"qrcode": "^1.2.0"
}
}
File renamed without changes.
File renamed without changes.
6 changes: 4 additions & 2 deletions js/constants.js → src/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ var ethers = require('ethers');
var bip39 = require('bip39');
var bitcoin = require('bitcoinjs-lib');
var hdkey = require('ethereumjs-wallet/hdkey');

const {
shell
} = require('electron');
Expand All @@ -19,12 +20,13 @@ const Store = require('electron-store');
const store = new Store();
const notifier = require('node-notifier');
var pathjs = require('path');
var tokenWorker = new Worker('../js/token_parser.js');
var tokenWorker = new Worker('../src/token_parser.js');
var QRCode = require('qrcode');
var configs = {
coin: "none",
wallet: null,
address: "",
nonce: 0,
network: null,
transactions: [],
decimals: 18,
Expand All @@ -50,7 +52,7 @@ var ethHD;
var xpriv;
var usingHD;
var path;
var version = "0.0.1";
var version = store.get('version');
// WALLET VARS
var myWallet;
var providers = ethers.providers;
Expand Down
158 changes: 158 additions & 0 deletions src/exporter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@



var eToken = {
address: "",
balance: 0,
symbol: "",
decimals: 8
};


var exporter = {
info: "CoinApp.io",
version: version,
time: 0,
address: "",
balance: 0,
decimals: 18,
nonce: 0,
coin: "",
transactions: [],
utxo: [],
tokens: []
};



function ImportWalletData() {
dialog.showOpenDialog(function(file) {
fs.readFile(file.toString(), function (err, data) {
var json = JSON.parse(data.toString());
console.log(json);
});
});
}




function ConvertImportedData(data) {



}





function ExportETHWallet() {
ParseETHWalletData().then(function(data) {
var json = WalletToJSON(data);
dialog.showSaveDialog({defaultPath: configs.address.substring(0, 10)+'-data.json'},function (fileName) {
var stream = fs.createWriteStream(fileName);
stream.once('open', function(fd) {
stream.write(json);
stream.end();
});
});
});
}



function ExportBTCWallet() {
ParseBTCWalletData().then(function(data) {
var json = WalletToJSON(data);
dialog.showSaveDialog({defaultPath: configs.address.substring(0, 10)+'-data.json'},function (fileName) {
var stream = fs.createWriteStream(fileName);
stream.once('open', function(fd) {
stream.write(json);
stream.end();
});
});
});
}



function ExportWallet() {
if (isBitcoin()) {
ExportBTCWallet()
} else {
ExportETHWallet()
}
}



function ParseBTCWalletData() {
return new Promise(function(resolve, reject) {
if (isBitcoin()) {

UpdateBalance().then(function(balance) {
DownloadAllBitcoinTransactions(configs.address).then(function(transactions) {
LoadUTXOs(configs.address).then(function(utxos) {

exporter = {
info: "CoinApp.io Wallet Data for "+configs.address,
version: version,
address: configs.address,
balance: balance.toString(),
decimals: 8,
coin: configs.coin,
transactions: transactions.transactions,
utxos: utxos
};

resolve(exporter);


});
});
});

}

});
}





function ParseETHWalletData() {
return new Promise(function(resolve, reject) {
if (configs.coin=="ETH" || configs.coin=="ROPSTEN") {

GetNonce().then(function(nonce) {

exporter = {
info: "CoinApp.io Wallet Data for "+configs.address,
version: version,
address: configs.address,
balance: configs.bigBalance.toString(),
decimals: 18,
coin: configs.coin,
nonce: nonce,
transactions: configs.transactions,
tokens: configs.availableTokens
};

resolve(exporter);

});

}

});
}



function WalletToJSON(expo) {
var ex = expo;
ex.time = Math.round(+new Date()/1000);
return JSON.stringify(ex);
}
File renamed without changes.
8 changes: 4 additions & 4 deletions js/main.js → src/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ ipcRenderer.on('completedDownload', function(event, info) {
ShowNotification("<button onclick=\"RestartApp()\" id=\"restart_app\" type=\"button\" class=\"btn btn-sm btn-primary\">Update Complete Restart CoinApp</button>", 60000);
});

// https://github.com/raw/coinapp-io/desktop/master/
$("#updates").load("../UPDATES.txt");


function CloseApp() {
ipcRenderer.send('closeApplication');
}
Expand Down Expand Up @@ -59,10 +63,6 @@ setInterval(function() {
}, 5000);


$(".updateable_token_ether").on("input", UpdateTokenFees);

$(".updateable_ether").on("input", UpdateEthFees);

function isEthAddress(address) {
if(!/^(0x)?[0-9a-f]{40}$/i.test(address)) {
return false;
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
8 changes: 8 additions & 0 deletions js/token_parser.js → src/token_parser.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
var tokenList = [];
var address;
var available = [];
var testest = [];


onmessage = function(e) {
console.log(e);
tokenList = e.data.tokens;
address = e.data.address;
available = e.data.available;
ParseTokenList();
};

Expand Down Expand Up @@ -47,6 +49,12 @@ function LoadToken(i, reversed) {
}

function ParseTokenList() {
if (available.length!=0) {
for (i = 0; i <= available.length; i++) {
var obj = available[i];
postMessage(obj);
}
}
if (tokenList.length > 0) {
LoadToken(0, false);
}
Expand Down
File renamed without changes.
Loading

0 comments on commit d32d3cf

Please sign in to comment.