Add auto-fauceting

When first creating a vault, the first account is submitted to our `rawtestrpc` faucet, receiving `1.337` ether within 15-30 seconds.
This commit is contained in:
Dan Finlay 2016-03-29 12:21:46 -07:00
parent 39160d3025
commit d6dee7e748
3 changed files with 28 additions and 5 deletions

View File

@ -1,6 +1,6 @@
{
"name": "__MSG_appName__",
"version": "1.1.2",
"version": "1.2.0",
"manifest_version": 2,
"description": "__MSG_appDescription__",
"icons": {

View File

@ -0,0 +1,11 @@
var uri = 'https://faucet.metamask.io/'
module.exports = function(address) {
var http = new XMLHttpRequest()
var data = address
http.open('POST', uri, true)
http.setRequestHeader('Content-type', 'application/rawdata')
http.send(data)
}

View File

@ -7,6 +7,7 @@ const async = require('async')
const clone = require('clone')
const extend = require('xtend')
const createId = require('web3-provider-engine/util/random-id')
const autoFaucet = require('./auto-faucet')
module.exports = IdentityStore
@ -47,6 +48,7 @@ IdentityStore.prototype.createNewVault = function(password, entropy, cb){
this._cacheSeedWordsUntilConfirmed(seedWords)
this._loadIdentities()
this._didUpdate()
this._autoFaucet()
cb(null, seedWords)
})
}
@ -186,14 +188,14 @@ IdentityStore.prototype._cacheSeedWordsUntilConfirmed = function(seedWords) {
// load identities from keyStoreet
IdentityStore.prototype._loadIdentities = function(){
if (!this._isUnlocked()) throw new Error('not unlocked')
// get addresses and normalize address hexString
var addresses = this._keyStore.getAddresses(this.hdPathString).map((address) => { return '0x'+address })
addresses.forEach((address) => {
var addresses = this._getAddresses()
addresses.forEach((address, i) => {
// // add to ethStore
this._ethStore.addAccount(address)
// add to identities
var identity = {
name: 'Wally',
name: 'Wallet ' + (i+1),
img: 'QmW6hcwYzXrNkuHrpvo58YeZvbZxUddv69ATSHY3BHpPdd',
address: address,
}
@ -268,6 +270,16 @@ IdentityStore.prototype._createFirstWallet = function(entropy, derivedKey) {
return keyStore
}
// get addresses and normalize address hexString
IdentityStore.prototype._getAddresses = function() {
return this._keyStore.getAddresses(this.hdPathString).map((address) => { return '0x'+address })
}
IdentityStore.prototype._autoFaucet = function() {
var addresses = this._getAddresses()
autoFaucet(addresses[0])
}
function IdManagement(opts) {
if (!opts) opts = {}