Skip to content

Commit

Permalink
added GW support and refactored
Browse files Browse the repository at this point in the history
  • Loading branch information
platium committed Mar 15, 2019
1 parent 25c1aba commit bca8128
Show file tree
Hide file tree
Showing 6 changed files with 75 additions and 61 deletions.
4 changes: 1 addition & 3 deletions common/lib/Web3.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@ define(function(require, exports) {

var Web3 = require('./web3');

var provider = new Web3.providers.HttpProvider('http://127.0.0.1:8545');

var web3 = new Web3(provider);
var web3 = new Web3();

exports.web3 = web3;
});
3 changes: 3 additions & 0 deletions common/ui/_popup-generate-wallet.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@
tabindex="2">
</div>

<div class="form-group" style="display: none" id="incorrectName">
<p style="color:red;">Wallet name already exists!</p>
</div>

<div class="b-form-wrapper g-margin-bottom">
<label for="address-pwd" class="b-form-label g-margin-right">Enter password</label>
Expand Down
4 changes: 4 additions & 0 deletions common/ui/_popup-import-wallet.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
tabindex="2">
</div>

<div class="form-group" style="display: none" id="incorrectName">
<p style="color:red;">Wallet name already exists!</p>
</div>

<div class="b-form-wrapper g-margin-bottom">
<label for="address-key" class="b-form-label g-margin-right">Enter private key</label>
<input id="address-key" type="text" class="b-form-input g-right" placeholder="Enter private key"
Expand Down
18 changes: 3 additions & 15 deletions common/ui/goodwill.html
Original file line number Diff line number Diff line change
Expand Up @@ -88,28 +88,16 @@
<div class="b-workspace">
<div class="b-workspace__header">
<div class="g-right">
<button class="b-btn b-btn_blue bp-import-gw-key-modal js-cbox-modal g-margin-right-half"><i class="fa fa-arrow-down"></i> Import</button>
<button class="b-btn b-btn_green bp-generate-wallet-modal"><i class="fa fa-plus "></i> Generate</button>
<button class="b-btn b-btn_blue export-gw-keys-modal js-cbox-modal g-margin-left-half"><i class="fa fa-arrow-up"></i> Export</button>
<button class="b-btn b-btn_blue bp-import-gw-key-modal js-cbox-modal g-margin-left-half"><i class="fa fa-arrow-down"></i> Import</button>
<button class="b-btn b-btn_red delete-gw-keys-modal js-cbox-modal g-margin-left-half"><i class="fa fa-close"></i> Delete </button>
</div>
<h1 class="b-title">GoodWill</h1>
</div>

<div class="b-workspace__content">
<div class="b-workspace-content g-padding-0">
<div class="g-margin-bottom">
<div class="b-form">
<button class="b-btn b-btn_blue b-btn b-btn_blue g-right export-gw-keys-modal js-cbox-modal ">
<i class="fa fa-arrow-up"></i> Export
</button>
&nbsp;&nbsp;
<button class="b-btn b-btn_red b-btn b-btn_red g-right delete-gw-keys-modal js-cbox-modal ">
<i class="fa fa-arrow-up"></i> Delete
</button>
<select id="key-types" class="b-form-input b-form-input_dropdown" style="width: auto">
</select>
</div>
</div>

<div class="b-main-table-border">
<table class="b-main-table" id="goodwill-addresses">
<thead>
Expand Down
104 changes: 63 additions & 41 deletions common/ui/goodwill.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ var options = options || null;
}

function showImportGwKeyModal() {
console.log('import wallet modal');
swal2({
html: $keyImportTemplate.html(),
showCancelButton: false,
Expand All @@ -74,13 +73,14 @@ var options = options || null;
if (isConfirm) {

var addressName = $('#address-name').val();
var privateKey = $('#address-key').val();
var addressPassword = $('#address-pwd').val();

var provider = new Web3.providers.HttpProvider('http://127.0.0.1:8545');
var web3 = new Web3(provider);

var data = web3.eth.accounts.privateKeyToAccount(privateKey);
$('#incorrectName').hide();
if(hasKeyByName(addressName)) {
$('#incorrectName').show();
}else {
var privateKey = $('#address-key').val();
var addressPassword = $('#address-pwd').val();
var web3 = new Web3();
var data = web3.eth.accounts.privateKeyToAccount(privateKey);

var goodWillData = {
"name": addressName,
Expand All @@ -97,9 +97,9 @@ var options = options || null;
goodWillAddresses.push(goodWillData);
window.localStorage.setItem('goodwill', JSON.stringify(goodWillAddresses));


triggerImport();
loadKeys();
triggerImport();
loadKeys();
}
}
});

Expand Down Expand Up @@ -148,6 +148,20 @@ var options = options || null;
}
}


function hasKeyByName( keyName) {
var goodWillAddresses = JSON.parse(window.localStorage.getItem("goodwill"));
for (var i in goodWillAddresses)
{
if (goodWillAddresses[i].name === keyName)
{
return true;
}
}

return false;
}

function showDeleteGwKeyModal() {

swal2({
Expand All @@ -170,23 +184,23 @@ var options = options || null;
if (goodwillData[i].name === keyName)
{
if(isPasswordCorrect(goodwillData[i].password, typedPwd)){

var goodWillAddressesNew = [];
for (var i in goodWillAddresses)
{
if (goodwillData[i].name !== keyName){
goodWillAddressesNew.push(goodwillData[i]);
}
}

window.localStorage.setItem('goodwill', JSON.stringify(goodWillAddressesNew));
loadKeys();
triggerDelete();
}else {
$('#incorrectPassword').show();
}
}
}
var goodWillAddressesNew = [];
for (var i in goodWillAddresses)
{
if (goodwillData[i].name !== keyName){
goodWillAddressesNew.push(goodwillData[i]);
}
}

window.localStorage.setItem('goodwill', JSON.stringify(goodWillAddressesNew));
loadKeys();
triggerDelete();
}
});

Expand Down Expand Up @@ -237,35 +251,43 @@ var options = options || null;
animation: false,
buttonsStyling: false
}, function(isConfirm) {

$('#incorrectName').hide();
if (isConfirm) {
var addressName = $('#address-name').val();
var addressPassword = $('#address-pwd').val();
generateAddress(addressPassword).then(function (data) {
var goodWillData = {
"name": addressName,
"address": data.address.toLowerCase(),
"private-key": encryptPrivateKey(data.privateKey.toLowerCase(), addressPassword),
"password": encryptPassword(addressPassword)
};
var goodWillAddresses = JSON.parse(window.localStorage.getItem("goodwill"));

if(goodWillAddresses === null || goodWillAddresses === undefined) {
goodWillAddresses = [];
}
if(hasKeyByName(addressName)){
$('#incorrectName').show();
}else {
var addressPassword = $('#address-pwd').val();
generateAddress(addressPassword).then(function (data) {
var goodWillData = {
"name": addressName,
"address": data.address.toLowerCase(),
"private-key": encryptPrivateKey(data.privateKey.toLowerCase(), addressPassword),
"password": encryptPassword(addressPassword)
};
var goodWillAddresses = JSON.parse(window.localStorage.getItem("goodwill"));

if(goodWillAddresses === null || goodWillAddresses === undefined) {
goodWillAddresses = [];
}

goodWillAddresses.push(goodWillData);
window.localStorage.setItem('goodwill', JSON.stringify(goodWillAddresses));
loadKeys();
});
triggerGenerate();
}


goodWillAddresses.push(goodWillData);
window.localStorage.setItem('goodwill', JSON.stringify(goodWillAddresses));
loadKeys();
});
triggerGenerate();
}
});
}

function generateAddress(password) {
return new Promise(function (resolve, reject) {
var provider = new Web3.providers.HttpProvider('http://127.0.0.1:8545');
var web3 = new Web3(provider);
var web3 = new Web3();
resolve(web3.eth.accounts.create(password));
});
}
Expand Down
3 changes: 1 addition & 2 deletions common/ui/inline/dialogs/gwSignDialog.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,7 @@ var porto = porto || null;
$("#incorrectPassword").show();

}else {
var provider = new Web3.providers.HttpProvider('http://127.0.0.1:8545');
var web3 = new Web3(provider);
var web3 = new Web3();
var message = web3.eth.accounts.sign("Hello", decryptPrivateKey(prKey, keyPwd));

// set-editor-output
Expand Down

0 comments on commit bca8128

Please sign in to comment.