2018-09-19 10:30:30 +02:00
|
|
|
export default class Web3Helper {
|
|
|
|
constructor(web3) {
|
2018-09-21 11:57:33 +02:00
|
|
|
this.web3 = web3
|
2018-09-19 10:30:30 +02:00
|
|
|
}
|
|
|
|
|
2018-09-21 14:43:50 +02:00
|
|
|
async getAccounts() {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
this.web3.eth.getAccounts((err, accounts) => {
|
|
|
|
if (err) {
|
|
|
|
throw err
|
|
|
|
}
|
|
|
|
resolve(accounts)
|
|
|
|
})
|
|
|
|
})
|
2018-09-21 11:57:33 +02:00
|
|
|
}
|
|
|
|
|
2018-09-21 14:43:50 +02:00
|
|
|
async getNetworkName() {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
let network = 'unknown'
|
|
|
|
this.web3.version.getNetwork((err, networkId) => {
|
|
|
|
if (err) {
|
|
|
|
throw err
|
|
|
|
}
|
|
|
|
switch (networkId) {
|
|
|
|
case '1':
|
|
|
|
network = 'Main'
|
|
|
|
break
|
|
|
|
case '2':
|
|
|
|
network = 'Morden'
|
|
|
|
break
|
|
|
|
case '3':
|
|
|
|
network = 'Ropsten'
|
|
|
|
break
|
|
|
|
case '4':
|
|
|
|
network = 'Rinkeby'
|
|
|
|
break
|
|
|
|
case '42':
|
|
|
|
network = 'Kovan'
|
|
|
|
break
|
|
|
|
default:
|
|
|
|
network = 'development'
|
|
|
|
}
|
|
|
|
resolve(network)
|
|
|
|
})
|
|
|
|
})
|
2018-09-19 10:30:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// web3 wrappers
|
|
|
|
sign(accountAddress, message) {
|
2018-09-21 11:57:33 +02:00
|
|
|
return this.web3.eth.sign(accountAddress, message)
|
2018-09-19 10:30:30 +02:00
|
|
|
}
|
|
|
|
}
|