2018-05-30 15:53:18 +02:00
|
|
|
const KeyringController = require('eth-keyring-controller')
|
|
|
|
|
|
|
|
/** @module*/
|
|
|
|
module.exports = {
|
|
|
|
checkAccount,
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
@param networkId {number}
|
|
|
|
@param account {string}
|
|
|
|
@returns {array}
|
|
|
|
*/
|
|
|
|
async function checkAccount (networkId, account) {
|
|
|
|
|
2018-05-30 17:38:27 +02:00
|
|
|
const mainnetId = 1
|
|
|
|
if (networkId !== mainnetId) {
|
2018-05-30 15:53:18 +02:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
const damnedMnemonic = 'candy maple cake sugar pudding cream honey rich smooth crumble sweet treat'
|
|
|
|
const keyringController = new KeyringController({})
|
|
|
|
const Keyring = keyringController.getKeyringClassForType('HD Key Tree')
|
|
|
|
const opts = {
|
|
|
|
mnemonic: damnedMnemonic,
|
|
|
|
numberOfAccounts: 10,
|
|
|
|
}
|
|
|
|
|
|
|
|
const accountToCheck = account.toLowerCase()
|
|
|
|
const keyring = new Keyring(opts)
|
|
|
|
const damnedAccounts = await keyring.getAccounts()
|
|
|
|
for (let i = 0; i < damnedAccounts.length; i++) {
|
|
|
|
if (damnedAccounts[i].toLowerCase() === accountToCheck) {
|
2018-05-30 16:24:40 +02:00
|
|
|
throw new Error('Recipient is a public account')
|
2018-05-30 15:53:18 +02:00
|
|
|
}
|
|
|
|
}
|
2018-05-30 17:38:27 +02:00
|
|
|
}
|