Merge pull request #56 from rstormsf/core

(Fix) Don't show addresses if tx from metamask was failed
This commit is contained in:
Victor Baranov 2018-01-05 23:33:49 +03:00 committed by GitHub
commit abc291e150
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 64 additions and 15 deletions

View File

@ -5,6 +5,15 @@ import Keys from './Keys';
import swal from 'sweetalert';
import './index/index.css';
import ReactDOM from 'react-dom';
import { error } from 'util';
function generateElement(msg){
let errorNode = document.createElement("div");
errorNode.innerHTML = `<div>
${msg}
</div>`;
return errorNode;
}
const Loading = () => (
<div className="loading-container">
@ -32,7 +41,8 @@ class App extends Component {
getWeb3().then((web3Config) => {
this.setState({web3Config})
this.keysManager = new KeysManager({
web3: web3Config.web3Instance
web3: web3Config.web3Instance,
netId: web3Config.netId
});
}).catch((error) => {
if(error.msg){
@ -52,7 +62,15 @@ class App extends Component {
console.log(isValid);
if(Number(isValid) !== 1){
this.setState({loading:false});
swal("Warning!", "The key is not valid initial Key! Please make sure you have loaded correct initial key in metamask", "warning");
const invalidKeyMsg = `The key is not valid initial Key!<br/>
Please make sure you have loaded correct initial key in metamask.<br/>
Your current selected key is ${initialKey}`
swal({
icon: 'error',
title: 'Error',
content: generateElement(invalidKeyMsg)
})
return;
}
if(Number(isValid) === 1){
@ -77,10 +95,11 @@ class App extends Component {
swal("Congratulations!", "Your keys are generated!", "success");
}).catch((error) => {
console.error(error.message);
this.setState({loading: false})
this.setState({loading: false, keysGenerated: false})
var content = document.createElement("div");
content.innerHTML = `<div>
Something went wrong!<br/><br/>
Something went wrong!<br/><br/>
Please contact Master Of Ceremony<br/><br/>
${error.message}
</div>`;
swal({

View File

@ -1,3 +1,18 @@
module.exports = {
KEYS_MANAGER_ADDRESS: '0xfc90125492e58dbfe80c0bfb6a2a759c4f703ca8'
const CORE_ADDRESSES = {
KEYS_MANAGER_ADDRESS: '0xfc90125492e58dbfe80c0bfb6a2a759c4f703ca8',
}
const SOKOL_ADDRESSES = {
KEYS_MANAGER_ADDRESS: '0x88a34124bfffa27ef3e052c8dd2908e212643771',
}
module.exports = (netId) => {
switch (netId){
case '77':
return SOKOL_ADDRESSES
case '99':
return CORE_ADDRESSES
default:
return CORE_ADDRESSES
}
}

View File

@ -2,6 +2,13 @@ let errorMsgNoMetamaskAccount = `You haven't chosen any account in MetaMask.
Please, choose your initial key in MetaMask and reload the page.
Check POA Network <a href='https://github.com/poanetwork/wiki' target='blank'>wiki</a> for more info.`;
let netIdUrlMismatch = (netId) => {
return `
Your current URL is ${window.location.host},
however your metamask netId is ${netId}
Please select correct network in metamask
`
}
function generateElement(msg){
let errorNode = document.createElement("div");
@ -37,9 +44,13 @@ let getWeb3 = () => {
netIdName = 'ERROR'
errorMsg = `You aren't connected to POA Network.
Please, switch on POA plugin and refresh the page.
Check POA Network <a href='https://github.com/poanetwork/wiki' target='blank'>wiki</a> for more info.`
Check POA Network <a href='https://github.com/poanetwork/wiki' target='blank'>wiki</a> for more info.
Current Network Id: ${netId}`
console.log('This is an unknown network.', netId)
}
const networkUrl = window.location.host.indexOf('sokol') !== -1 ? "77" : "99";
console.log('network', networkUrl)
results = {
web3Instance: web3,
netIdName,
@ -54,6 +65,9 @@ let getWeb3 = () => {
if(errorMsg !== null){
reject({msg: errorMsg, node: generateElement(errorMsg)})
}
if(networkUrl !== netId) {
reject({msg: netIdUrlMismatch(netId), node: generateElement(netIdUrlMismatch(netId))})
}
resolve(results)
})

View File

@ -1,15 +1,15 @@
import KeysManagerAbi from './keysManagerAbi.json'
import Web3 from 'web3';
import addressGenerator from './addressGenerator';
import {KEYS_MANAGER_ADDRESS} from './addresses'
import networkAddresses from './addresses'
console.log('Keys Manager ', KEYS_MANAGER_ADDRESS)
export default class KeysManager {
constructor(){
if(window.web3.currentProvider){
let web3_10 = new Web3(window.web3.currentProvider);
this.keysInstance = new web3_10.eth.Contract(KeysManagerAbi, KEYS_MANAGER_ADDRESS);
}
constructor({web3, netId}){
let web3_10 = new Web3(web3.currentProvider);
const {KEYS_MANAGER_ADDRESS} = networkAddresses(netId);
console.log('Keys Manager ', KEYS_MANAGER_ADDRESS);
this.web3_10 = web3_10;
this.keysInstance = new web3_10.eth.Contract(KeysManagerAbi, KEYS_MANAGER_ADDRESS);
}
async isInitialKeyValid(initialKey) {
return await this.keysInstance.methods.initialKeys(initialKey).call();
@ -19,7 +19,8 @@ export default class KeysManager {
return await addressGenerator();
}
createKeys({mining, voting, payout, sender}){
return this.keysInstance.methods.createKeys(mining, voting, payout).send({from: sender})
const gasPrice = this.web3_10.utils.toWei('2', 'gwei')
return this.keysInstance.methods.createKeys(mining, voting, payout).send({from: sender, gasPrice})
}
}