diff --git a/.gitignore b/.gitignore index 4aede3d18..40becb418 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ TODO .tern-project .DS_Store .tern-port +package-lock.json diff --git a/build/cli.node.js b/build/cli.node.js index a67b9c92c..7a6cebece 100755 --- a/build/cli.node.js +++ b/build/cli.node.js @@ -15784,14 +15784,14 @@ module.exports = params /* 31 */ /***/ (function(module, exports, __webpack_require__) { -const ethUtil = __webpack_require__(148) +const ethUtil = __webpack_require__(149) const Tx = __webpack_require__(370) const Trie = __webpack_require__(35) const BN = ethUtil.BN const rlp = ethUtil.rlp const async = __webpack_require__(371) const BlockHeader = __webpack_require__(372) -const params = __webpack_require__(150) +const params = __webpack_require__(151) /** * Creates a new block object @@ -16436,8 +16436,8 @@ var util = __webpack_require__(3); util.inherits = __webpack_require__(2); /**/ -var Readable = __webpack_require__(118); -var Writable = __webpack_require__(119); +var Readable = __webpack_require__(119); +var Writable = __webpack_require__(120); util.inherits(Duplex, Readable); @@ -16539,8 +16539,8 @@ var util = __webpack_require__(3); util.inherits = __webpack_require__(2); /**/ -var Readable = __webpack_require__(131); -var Writable = __webpack_require__(134); +var Readable = __webpack_require__(132); +var Writable = __webpack_require__(135); util.inherits(Duplex, Readable); @@ -17098,7 +17098,7 @@ module.exports = class FakeTransaction extends Transaction { ;(function (root, factory, undef) { if (true) { // CommonJS - module.exports = exports = factory(__webpack_require__(1), __webpack_require__(84), __webpack_require__(85)); + module.exports = exports = factory(__webpack_require__(1), __webpack_require__(85), __webpack_require__(86)); } else if (typeof define === "function" && define.amd) { // AMD @@ -17562,7 +17562,7 @@ try { * */ -var createError = __webpack_require__(122).create +var createError = __webpack_require__(123).create , LevelUPError = createError('LevelUPError') , NotFoundError = createError('NotFoundError', LevelUPError) @@ -20521,9 +20521,9 @@ curve.edwards = __webpack_require__(258); /* 60 */ /***/ (function(module, exports, __webpack_require__) { -exports.AbstractLevelDOWN = __webpack_require__(115) -exports.AbstractIterator = __webpack_require__(116) -exports.AbstractChainedBatch = __webpack_require__(117) +exports.AbstractLevelDOWN = __webpack_require__(116) +exports.AbstractIterator = __webpack_require__(117) +exports.AbstractChainedBatch = __webpack_require__(118) exports.isLevelDOWN = __webpack_require__(290) @@ -22693,7 +22693,7 @@ var Batch = __webpack_require__(298) var Codec = __webpack_require__(299) var getLevelDOWN = __webpack_require__(301) var errors = __webpack_require__(51) -var util = __webpack_require__(123) +var util = __webpack_require__(124) var WriteError = errors.WriteError var ReadError = errors.ReadError @@ -25223,8 +25223,8 @@ var util = __webpack_require__(3); util.inherits = __webpack_require__(2); /**/ -var Readable = __webpack_require__(137); -var Writable = __webpack_require__(139); +var Readable = __webpack_require__(138); +var Writable = __webpack_require__(140); util.inherits(Duplex, Readable); @@ -25276,7 +25276,7 @@ function forEach (xs, f) { /* 78 */ /***/ (function(module, exports, __webpack_require__) { -var Symbol = __webpack_require__(142), +var Symbol = __webpack_require__(143), getRawTag = __webpack_require__(337), objectToString = __webpack_require__(338); @@ -25352,7 +25352,7 @@ var Block = __webpack_require__(31); var Log = __webpack_require__(81); var Receipt = __webpack_require__(82); var VM = __webpack_require__(83); -var RuntimeError = __webpack_require__(152); +var RuntimeError = __webpack_require__(84); var Trie = __webpack_require__(35); var Web3 = __webpack_require__(53); var utils = __webpack_require__(8); @@ -26320,13 +26320,96 @@ module.exports = Receipt; /* 83 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(114) +module.exports = __webpack_require__(115) /***/ }), /* 84 */ /***/ (function(module, exports, __webpack_require__) { +var inherits = __webpack_require__(0).inherits; +var to = __webpack_require__(11); + +inherits(RuntimeError, Error); + +// Note: ethereumjs-vm will return an object that has a "results" and "receipts" keys. +// You should pass in the whole object. +function RuntimeError(transactions, vm_output) { + Error.call(this); + this.results = {}; + this.hashes = []; + this.combine(transactions, vm_output); +}; + +RuntimeError.prototype.combine = function(transactions, vm_output) { + // Can be combined with vm_output or another RuntimeError. + if (transactions instanceof RuntimeError) { + var err = transactions; + var keys = Object.keys(err.results); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + this.results[key] = err.results[key]; + Array.prototype.push.apply(this.hashes, err.hashes); + } + } else { + var results = vm_output.results; + var receipts = vm_output.receipts; + + for (var i = 0; i < transactions.length; i++) { + var tx = transactions[i]; + var result = results[i]; + var receipt = receipts[i]; + + // 1 means no error, oddly. + if (result.vm.exception != 1) { + var hash = to.hex(tx.hash()); + + this.hashes.push(hash); + + this.results[hash] = { + error: result.vm.exceptionError, + program_counter: result.vm.runState.programCounter + }; + } + } + } + + // Once combined, set the message + if (this.hashes.length == 1) { + this.message = "VM Exception while processing transaction: " + this.results[this.hashes[0]].error; + } else { + this.message = "Multiple VM Exceptions while processing transactions: \n\n"; + + for (var i = 0; i < this.hashes.length; i++) { + var hash = this.hashes[i]; + + this.message += hash + ": " + this.results[hash].error + "\n"; + } + } +}; + +RuntimeError.prototype.count = function() { + return Object.keys(this.results).length; +}; + +RuntimeError.fromResults = function(transactions, vm_output) { + var err = new RuntimeError(transactions, vm_output); + + if (err.count() == 0) { + return null; + } + + return err; +}; + +module.exports = RuntimeError; + + +/***/ }), +/* 85 */ +/***/ (function(module, exports, __webpack_require__) { + ;(function (root, factory) { if (true) { // CommonJS @@ -26479,7 +26562,7 @@ module.exports = __webpack_require__(114) })); /***/ }), -/* 85 */ +/* 86 */ /***/ (function(module, exports, __webpack_require__) { ;(function (root, factory) { @@ -26627,7 +26710,7 @@ module.exports = __webpack_require__(114) })); /***/ }), -/* 86 */ +/* 87 */ /***/ (function(module, exports, __webpack_require__) { /* @@ -26896,13 +26979,13 @@ module.exports = coder; /***/ }), -/* 87 */ +/* 88 */ /***/ (function(module, exports) { module.exports = require("http"); /***/ }), -/* 88 */ +/* 89 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -26929,7 +27012,7 @@ module.exports = function (db, opts) { /***/ }), -/* 89 */ +/* 90 */ /***/ (function(module, exports, __webpack_require__) { /* Copyright (c) 2012-2014 LevelUP contributors @@ -26938,7 +27021,7 @@ module.exports = function (db, opts) { * */ -var createError = __webpack_require__(122).create +var createError = __webpack_require__(123).create , LevelUPError = createError('LevelUPError') , NotFoundError = createError('NotFoundError', LevelUPError) @@ -26957,7 +27040,7 @@ module.exports = { /***/ }), -/* 90 */ +/* 91 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -27052,7 +27135,7 @@ function forEach (xs, f) { /***/ }), -/* 91 */ +/* 92 */ /***/ (function(module, exports, __webpack_require__) { var to = __webpack_require__(11); @@ -27108,12 +27191,12 @@ module.exports = { /***/ }), -/* 92 */ +/* 93 */ /***/ (function(module, exports, __webpack_require__) { const path = __webpack_require__(4) const inspect = __webpack_require__(0).inspect -const camelCase = __webpack_require__(93) +const camelCase = __webpack_require__(94) const DEFAULT_MARKER = '*' @@ -27448,7 +27531,7 @@ module.exports = function (yargs, usage, validation) { /***/ }), -/* 93 */ +/* 94 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27511,7 +27594,7 @@ module.exports = function () { /***/ }), -/* 94 */ +/* 95 */ /***/ (function(module, exports) { // lazy Object.assign logic that only works for merging @@ -27532,14 +27615,14 @@ module.exports = function assign (defaults, configuration) { /***/ }), -/* 95 */ +/* 96 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var stripAnsi = __webpack_require__(57); -var codePointAt = __webpack_require__(96); -var isFullwidthCodePoint = __webpack_require__(97); +var codePointAt = __webpack_require__(97); +var isFullwidthCodePoint = __webpack_require__(98); // https://github.com/nodejs/io.js/blob/cff7300a578be1b10001f2d967aaedc88aee6402/lib/readline.js#L1345 module.exports = function (str) { @@ -27576,7 +27659,7 @@ module.exports = function (str) { /***/ }), -/* 96 */ +/* 97 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27615,7 +27698,7 @@ module.exports = function (str, pos) { /***/ }), -/* 97 */ +/* 98 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27668,7 +27751,7 @@ module.exports = function (x) { /***/ }), -/* 98 */ +/* 99 */ /***/ (function(module, exports) { module.exports = function (blocking) { @@ -27681,7 +27764,7 @@ module.exports = function (blocking) { /***/ }), -/* 99 */ +/* 100 */ /***/ (function(module, exports) { function webpackEmptyContext(req) { @@ -27690,10 +27773,10 @@ function webpackEmptyContext(req) { webpackEmptyContext.keys = function() { return []; }; webpackEmptyContext.resolve = webpackEmptyContext; module.exports = webpackEmptyContext; -webpackEmptyContext.id = 99; +webpackEmptyContext.id = 100; /***/ }), -/* 100 */ +/* 101 */ /***/ (function(module, exports, __webpack_require__) { var fs = __webpack_require__(12) @@ -27722,7 +27805,7 @@ if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) { }) } -module.exports = patch(__webpack_require__(101)) +module.exports = patch(__webpack_require__(102)) if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH) { module.exports = patch(fs) } @@ -27961,7 +28044,7 @@ function retry () { /***/ }), -/* 101 */ +/* 102 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27989,7 +28072,7 @@ function clone (obj) { /***/ }), -/* 102 */ +/* 103 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -28064,7 +28147,7 @@ pify.all = pify; /***/ }), -/* 103 */ +/* 104 */ /***/ (function(module, exports) { exports = module.exports = SemVer; @@ -29366,7 +29449,7 @@ function intersects(r1, r2, loose) { /***/ }), -/* 104 */ +/* 105 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -29441,7 +29524,7 @@ Object.keys(gitHosts).forEach(function (name) { /***/ }), -/* 105 */ +/* 106 */ /***/ (function(module, exports, __webpack_require__) { var ProviderEngine = __webpack_require__(235); @@ -29457,6 +29540,8 @@ var ReactiveBlockTracker = __webpack_require__(476); var GethDefaults = __webpack_require__(477); var GethApiDouble = __webpack_require__(478); +var RuntimeError = __webpack_require__(84); + function Provider(options) { var self = this; @@ -29512,17 +29597,21 @@ Provider.prototype.sendAsync = function(payload, callback) { payload = externalize(payload); } - var intermediary = callback; + var intermediary = function(err, result) { + if (err) { + // If we find a runtime error, mimic the result that would be sent back from + // normal Ethereum clients that don't return runtime errors (e.g., geth, parity). + if (err instanceof RuntimeError && (payload.method == "eth_sendTransaction" || payload.method == "eth_sendRawTransaction")) { + result.result = err.hashes[0]; + } + } else if (self.options.verbose) { + self.options.logger.log(" < " + JSON.stringify(result, null, 2).split("\n").join("\n < ")); + } + callback(err, result); + }; if (self.options.verbose) { self.options.logger.log(" > " + JSON.stringify(payload, null, 2).split("\n").join("\n > ")); - - intermediary = function(err, result) { - if (!err) { - self.options.logger.log(" < " + JSON.stringify(result, null, 2).split("\n").join("\n < ")); - } - callback(err, result); - }; } this.engine.sendAsync(payload, intermediary); @@ -29541,7 +29630,7 @@ module.exports = Provider; /***/ }), -/* 106 */ +/* 107 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -29576,7 +29665,7 @@ module.exports = function (KeccakState) { /***/ }), -/* 107 */ +/* 108 */ /***/ (function(module, exports) { function webpackEmptyContext(req) { @@ -29585,16 +29674,16 @@ function webpackEmptyContext(req) { webpackEmptyContext.keys = function() { return []; }; webpackEmptyContext.resolve = webpackEmptyContext; module.exports = webpackEmptyContext; -webpackEmptyContext.id = 107; +webpackEmptyContext.id = 108; /***/ }), -/* 108 */ +/* 109 */ /***/ (function(module, exports) { module.exports = {"COMPRESSED_TYPE_INVALID":"compressed should be a boolean","EC_PRIVATE_KEY_TYPE_INVALID":"private key should be a Buffer","EC_PRIVATE_KEY_LENGTH_INVALID":"private key length is invalid","EC_PRIVATE_KEY_TWEAK_ADD_FAIL":"tweak out of range or resulting private key is invalid","EC_PRIVATE_KEY_TWEAK_MUL_FAIL":"tweak out of range","EC_PRIVATE_KEY_EXPORT_DER_FAIL":"couldn't export to DER format","EC_PRIVATE_KEY_IMPORT_DER_FAIL":"couldn't import from DER format","EC_PUBLIC_KEYS_TYPE_INVALID":"public keys should be an Array","EC_PUBLIC_KEYS_LENGTH_INVALID":"public keys Array should have at least 1 element","EC_PUBLIC_KEY_TYPE_INVALID":"public key should be a Buffer","EC_PUBLIC_KEY_LENGTH_INVALID":"public key length is invalid","EC_PUBLIC_KEY_PARSE_FAIL":"the public key could not be parsed or is invalid","EC_PUBLIC_KEY_CREATE_FAIL":"private was invalid, try again","EC_PUBLIC_KEY_TWEAK_ADD_FAIL":"tweak out of range or resulting public key is invalid","EC_PUBLIC_KEY_TWEAK_MUL_FAIL":"tweak out of range","EC_PUBLIC_KEY_COMBINE_FAIL":"the sum of the public keys is not valid","ECDH_FAIL":"scalar was invalid (zero or overflow)","ECDSA_SIGNATURE_TYPE_INVALID":"signature should be a Buffer","ECDSA_SIGNATURE_LENGTH_INVALID":"signature length is invalid","ECDSA_SIGNATURE_PARSE_FAIL":"couldn't parse signature","ECDSA_SIGNATURE_PARSE_DER_FAIL":"couldn't parse DER signature","ECDSA_SIGNATURE_SERIALIZE_DER_FAIL":"couldn't serialize signature to DER format","ECDSA_SIGN_FAIL":"nonce generation function failed or private key is invalid","ECDSA_RECOVER_FAIL":"couldn't recover public key from signature","MSG32_TYPE_INVALID":"message should be a Buffer","MSG32_LENGTH_INVALID":"message length is invalid","OPTIONS_TYPE_INVALID":"options should be an Object","OPTIONS_DATA_TYPE_INVALID":"options.data should be a Buffer","OPTIONS_DATA_LENGTH_INVALID":"options.data length is invalid","OPTIONS_NONCEFN_TYPE_INVALID":"options.noncefn should be a Function","RECOVERY_ID_TYPE_INVALID":"recovery should be a Number","RECOVERY_ID_VALUE_INVALID":"recovery should have value between -1 and 4","TWEAK_TYPE_INVALID":"tweak should be a Buffer","TWEAK_LENGTH_INVALID":"tweak length is invalid"} /***/ }), -/* 109 */ +/* 110 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -29659,7 +29748,7 @@ utils.encode = function encode(arr, enc) { /***/ }), -/* 110 */ +/* 111 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -29715,7 +29804,7 @@ exports.g1_256 = g1_256; /***/ }), -/* 111 */ +/* 112 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -29723,7 +29812,7 @@ exports.g1_256 = g1_256; var utils = __webpack_require__(25); var common = __webpack_require__(49); -var shaCommon = __webpack_require__(110); +var shaCommon = __webpack_require__(111); var assert = __webpack_require__(33); var sum32 = utils.sum32; @@ -29827,7 +29916,7 @@ SHA256.prototype._digest = function digest(enc) { /***/ }), -/* 112 */ +/* 113 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -30164,7 +30253,7 @@ function g1_512_lo(xh, xl) { /***/ }), -/* 113 */ +/* 114 */ /***/ (function(module, exports) { /** @@ -30183,7 +30272,7 @@ module.exports = function isHexPrefixed(str) { /***/ }), -/* 114 */ +/* 115 */ /***/ (function(module, exports, __webpack_require__) { const util = __webpack_require__(0) @@ -30270,14 +30359,14 @@ VM.prototype.populateCache = function (addresses, cb) { /***/ }), -/* 115 */ +/* 116 */ /***/ (function(module, exports, __webpack_require__) { /* Copyright (c) 2017 Rod Vagg, MIT License */ var xtend = __webpack_require__(38) - , AbstractIterator = __webpack_require__(116) - , AbstractChainedBatch = __webpack_require__(117) + , AbstractIterator = __webpack_require__(117) + , AbstractChainedBatch = __webpack_require__(118) function AbstractLevelDOWN (location) { if (!arguments.length || location === undefined) @@ -30548,7 +30637,7 @@ module.exports = AbstractLevelDOWN /***/ }), -/* 116 */ +/* 117 */ /***/ (function(module, exports) { /* Copyright (c) 2017 Rod Vagg, MIT License */ @@ -30603,7 +30692,7 @@ module.exports = AbstractIterator /***/ }), -/* 117 */ +/* 118 */ /***/ (function(module, exports) { /* Copyright (c) 2017 Rod Vagg, MIT License */ @@ -30697,7 +30786,7 @@ module.exports = AbstractChainedBatch /***/ }), -/* 118 */ +/* 119 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -30826,7 +30915,7 @@ function ReadableState(options, stream) { this.encoding = null; if (options.encoding) { if (!StringDecoder) - StringDecoder = __webpack_require__(120).StringDecoder; + StringDecoder = __webpack_require__(121).StringDecoder; this.decoder = new StringDecoder(options.encoding); this.encoding = options.encoding; } @@ -30936,7 +31025,7 @@ function needMoreData(state) { // backwards compatibility. Readable.prototype.setEncoding = function(enc) { if (!StringDecoder) - StringDecoder = __webpack_require__(120).StringDecoder; + StringDecoder = __webpack_require__(121).StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; return this; @@ -31654,7 +31743,7 @@ function indexOf (xs, x) { /***/ }), -/* 119 */ +/* 120 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -32137,7 +32226,7 @@ function endWritable(stream, state, cb) { /***/ }), -/* 120 */ +/* 121 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -32364,7 +32453,7 @@ function base64DetectIncompleteChar(buffer) { /***/ }), -/* 121 */ +/* 122 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -32579,7 +32668,7 @@ function done(stream, er) { /***/ }), -/* 122 */ +/* 123 */ /***/ (function(module, exports, __webpack_require__) { var all = module.exports.all = [ @@ -32898,7 +32987,7 @@ module.exports.create = module.exports.custom.createError /***/ }), -/* 123 */ +/* 124 */ /***/ (function(module, exports) { /* Copyright (c) 2012-2016 LevelUP contributors @@ -32938,12 +33027,12 @@ module.exports = { /***/ }), -/* 124 */ +/* 125 */ /***/ (function(module, exports, __webpack_require__) { var inherits = __webpack_require__(2) - , AbstractLevelDOWN = __webpack_require__(125).AbstractLevelDOWN - , AbstractIterator = __webpack_require__(125).AbstractIterator + , AbstractLevelDOWN = __webpack_require__(126).AbstractLevelDOWN + , AbstractIterator = __webpack_require__(126).AbstractIterator , ltgt = __webpack_require__(74) , createRBT = __webpack_require__(72) , globalStore = {} @@ -33172,24 +33261,24 @@ module.exports = MemDOWN /***/ }), -/* 125 */ +/* 126 */ /***/ (function(module, exports, __webpack_require__) { -exports.AbstractLevelDOWN = __webpack_require__(126) -exports.AbstractIterator = __webpack_require__(127) -exports.AbstractChainedBatch = __webpack_require__(128) +exports.AbstractLevelDOWN = __webpack_require__(127) +exports.AbstractIterator = __webpack_require__(128) +exports.AbstractChainedBatch = __webpack_require__(129) exports.isLevelDOWN = __webpack_require__(303) /***/ }), -/* 126 */ +/* 127 */ /***/ (function(module, exports, __webpack_require__) { /* Copyright (c) 2013 Rod Vagg, MIT License */ var xtend = __webpack_require__(38) - , AbstractIterator = __webpack_require__(127) - , AbstractChainedBatch = __webpack_require__(128) + , AbstractIterator = __webpack_require__(128) + , AbstractChainedBatch = __webpack_require__(129) function AbstractLevelDOWN (location) { if (!arguments.length || location === undefined) @@ -33460,7 +33549,7 @@ module.exports = AbstractLevelDOWN /***/ }), -/* 127 */ +/* 128 */ /***/ (function(module, exports) { /* Copyright (c) 2013 Rod Vagg, MIT License */ @@ -33515,7 +33604,7 @@ module.exports = AbstractIterator /***/ }), -/* 128 */ +/* 129 */ /***/ (function(module, exports) { /* Copyright (c) 2013 Rod Vagg, MIT License */ @@ -33600,7 +33689,7 @@ AbstractChainedBatch.prototype.write = function (options, callback) { module.exports = AbstractChainedBatch /***/ }), -/* 129 */ +/* 130 */ /***/ (function(module, exports, __webpack_require__) { const rlp = __webpack_require__(26) @@ -33861,7 +33950,7 @@ function isRawNode (node) { /***/ }), -/* 130 */ +/* 131 */ /***/ (function(module, exports, __webpack_require__) { var Stream = __webpack_require__(5); @@ -33875,18 +33964,18 @@ if (process.env.READABLE_STREAM === 'disable' && Stream) { exports.PassThrough = Stream.PassThrough; exports.Stream = Stream; } else { - exports = module.exports = __webpack_require__(131); + exports = module.exports = __webpack_require__(132); exports.Stream = Stream || exports; exports.Readable = exports; - exports.Writable = __webpack_require__(134); + exports.Writable = __webpack_require__(135); exports.Duplex = __webpack_require__(40); - exports.Transform = __webpack_require__(136); + exports.Transform = __webpack_require__(137); exports.PassThrough = __webpack_require__(310); } /***/ }), -/* 131 */ +/* 132 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -33939,7 +34028,7 @@ var EElistenerCount = function (emitter, type) { /**/ /**/ -var Stream = __webpack_require__(132); +var Stream = __webpack_require__(133); /**/ // TODO(bmeurer): Change this back to const once hole checks are @@ -33971,7 +34060,7 @@ if (debugUtil && debugUtil.debuglog) { /**/ var BufferList = __webpack_require__(308); -var destroyImpl = __webpack_require__(133); +var destroyImpl = __webpack_require__(134); var StringDecoder; util.inherits(Readable, Stream); @@ -34054,7 +34143,7 @@ function ReadableState(options, stream) { this.decoder = null; this.encoding = null; if (options.encoding) { - if (!StringDecoder) StringDecoder = __webpack_require__(135).StringDecoder; + if (!StringDecoder) StringDecoder = __webpack_require__(136).StringDecoder; this.decoder = new StringDecoder(options.encoding); this.encoding = options.encoding; } @@ -34210,7 +34299,7 @@ Readable.prototype.isPaused = function () { // backwards compatibility. Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = __webpack_require__(135).StringDecoder; + if (!StringDecoder) StringDecoder = __webpack_require__(136).StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; return this; @@ -34899,14 +34988,14 @@ function indexOf(xs, x) { } /***/ }), -/* 132 */ +/* 133 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(5); /***/ }), -/* 133 */ +/* 134 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -34984,7 +35073,7 @@ module.exports = { }; /***/ }), -/* 134 */ +/* 135 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -35065,7 +35154,7 @@ var internalUtil = { /**/ /**/ -var Stream = __webpack_require__(132); +var Stream = __webpack_require__(133); /**/ /**/ @@ -35079,7 +35168,7 @@ function _isUint8Array(obj) { } /**/ -var destroyImpl = __webpack_require__(133); +var destroyImpl = __webpack_require__(134); util.inherits(Writable, Stream); @@ -35654,7 +35743,7 @@ Writable.prototype._destroy = function (err, cb) { }; /***/ }), -/* 135 */ +/* 136 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -35932,7 +36021,7 @@ function simpleEnd(buf) { } /***/ }), -/* 136 */ +/* 137 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -36152,7 +36241,7 @@ function done(stream, er, data) { } /***/ }), -/* 137 */ +/* 138 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -36270,7 +36359,7 @@ function ReadableState(options, stream) { this.encoding = null; if (options.encoding) { if (!StringDecoder) - StringDecoder = __webpack_require__(138).StringDecoder; + StringDecoder = __webpack_require__(139).StringDecoder; this.decoder = new StringDecoder(options.encoding); this.encoding = options.encoding; } @@ -36371,7 +36460,7 @@ function needMoreData(state) { // backwards compatibility. Readable.prototype.setEncoding = function(enc) { if (!StringDecoder) - StringDecoder = __webpack_require__(138).StringDecoder; + StringDecoder = __webpack_require__(139).StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; }; @@ -37140,7 +37229,7 @@ function indexOf (xs, x) { /***/ }), -/* 138 */ +/* 139 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -37367,7 +37456,7 @@ function base64DetectIncompleteChar(buffer) { /***/ }), -/* 139 */ +/* 140 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -37759,7 +37848,7 @@ function endWritable(stream, state, cb) { /***/ }), -/* 140 */ +/* 141 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -37975,11 +38064,11 @@ function done(stream, er) { /***/ }), -/* 141 */ +/* 142 */ /***/ (function(module, exports, __webpack_require__) { var isFunction = __webpack_require__(336), - isLength = __webpack_require__(146); + isLength = __webpack_require__(147); /** * Checks if `value` is array-like. A value is considered array-like if it's @@ -38014,10 +38103,10 @@ module.exports = isArrayLike; /***/ }), -/* 142 */ +/* 143 */ /***/ (function(module, exports, __webpack_require__) { -var root = __webpack_require__(143); +var root = __webpack_require__(144); /** Built-in value references. */ var Symbol = root.Symbol; @@ -38026,10 +38115,10 @@ module.exports = Symbol; /***/ }), -/* 143 */ +/* 144 */ /***/ (function(module, exports, __webpack_require__) { -var freeGlobal = __webpack_require__(144); +var freeGlobal = __webpack_require__(145); /** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self; @@ -38041,7 +38130,7 @@ module.exports = root; /***/ }), -/* 144 */ +/* 145 */ /***/ (function(module, exports) { /** Detect free variable `global` from Node.js. */ @@ -38051,7 +38140,7 @@ module.exports = freeGlobal; /***/ }), -/* 145 */ +/* 146 */ /***/ (function(module, exports) { /** @@ -38088,7 +38177,7 @@ module.exports = isObject; /***/ }), -/* 146 */ +/* 147 */ /***/ (function(module, exports) { /** Used as references for various `Number` constants. */ @@ -38129,7 +38218,7 @@ module.exports = isLength; /***/ }), -/* 147 */ +/* 148 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -38151,7 +38240,7 @@ function slice(arrayLike, start) { module.exports = exports["default"]; /***/ }), -/* 148 */ +/* 149 */ /***/ (function(module, exports, __webpack_require__) { const SHA3 = __webpack_require__(50) @@ -38858,13 +38947,13 @@ exports.defineProperties = function (self, fields, data) { /***/ }), -/* 149 */ +/* 150 */ /***/ (function(module, exports) { module.exports = {"genesisGasLimit":{"v":5000,"d":"Gas limit of the Genesis block."},"genesisDifficulty":{"v":17179869184,"d":"Difficulty of the Genesis block."},"genesisNonce":{"v":"0x0000000000000042","d":"the geneis nonce"},"genesisExtraData":{"v":"0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa","d":"extra data "},"genesisHash":{"v":"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3","d":"genesis hash"},"genesisStateRoot":{"v":"0xd7f8974fb5ac78d9ac099b9ad5018bedc2ce0a72dad1827a1709da30580f0544","d":"the genesis state root"},"minGasLimit":{"v":5000,"d":"Minimum the gas limit may ever be."},"gasLimitBoundDivisor":{"v":1024,"d":"The bound divisor of the gas limit, used in update calculations."},"minimumDifficulty":{"v":131072,"d":"The minimum that the difficulty may ever be."},"difficultyBoundDivisor":{"v":2048,"d":"The bound divisor of the difficulty, used in the update calculations."},"durationLimit":{"v":13,"d":"The decision boundary on the blocktime duration used to determine whether difficulty should go up or not."},"maximumExtraDataSize":{"v":32,"d":"Maximum size extra data may be after Genesis."},"epochDuration":{"v":30000,"d":"Duration between proof-of-work epochs."},"stackLimit":{"v":1024,"d":"Maximum size of VM stack allowed."},"callCreateDepth":{"v":1024,"d":"Maximum depth of call/create stack."},"tierStepGas":{"v":[0,2,3,5,8,10,20],"d":"Once per operation, for a selection of them."},"expGas":{"v":10,"d":"Once per EXP instuction."},"expByteGas":{"v":10,"d":"Times ceil(log256(exponent)) for the EXP instruction."},"sha3Gas":{"v":30,"d":"Once per SHA3 operation."},"sha3WordGas":{"v":6,"d":"Once per word of the SHA3 operation's data."},"sloadGas":{"v":50,"d":"Once per SLOAD operation."},"sstoreSetGas":{"v":20000,"d":"Once per SSTORE operation if the zeroness changes from zero."},"sstoreResetGas":{"v":5000,"d":"Once per SSTORE operation if the zeroness does not change from zero."},"sstoreRefundGas":{"v":15000,"d":"Once per SSTORE operation if the zeroness changes to zero."},"jumpdestGas":{"v":1,"d":"Refunded gas, once per SSTORE operation if the zeroness changes to zero."},"logGas":{"v":375,"d":"Per LOG* operation."},"logDataGas":{"v":8,"d":"Per byte in a LOG* operation's data."},"logTopicGas":{"v":375,"d":"Multiplied by the * of the LOG*, per LOG transaction. e.g. LOG0 incurs 0 * c_txLogTopicGas, LOG4 incurs 4 * c_txLogTopicGas."},"createGas":{"v":32000,"d":"Once per CREATE operation & contract-creation transaction."},"callGas":{"v":40,"d":"Once per CALL operation & message call transaction."},"callStipend":{"v":2300,"d":"Free gas given at beginning of call."},"callValueTransferGas":{"v":9000,"d":"Paid for CALL when the value transfor is non-zero."},"callNewAccountGas":{"v":25000,"d":"Paid for CALL when the destination address didn't exist prior."},"suicideRefundGas":{"v":24000,"d":"Refunded following a suicide operation."},"memoryGas":{"v":3,"d":"Times the address of the (highest referenced byte in memory + 1). NOTE: referencing happens on read, write and in instructions such as RETURN and CALL."},"quadCoeffDiv":{"v":512,"d":"Divisor for the quadratic particle of the memory cost equation."},"createDataGas":{"v":200,"d":""},"txGas":{"v":21000,"d":"Per transaction. NOTE: Not payable on data of calls between transactions."},"txCreation":{"v":32000,"d":"the cost of creating a contract via tx"},"txDataZeroGas":{"v":4,"d":"Per byte of data attached to a transaction that equals zero. NOTE: Not payable on data of calls between transactions."},"txDataNonZeroGas":{"v":68,"d":"Per byte of data attached to a transaction that is not equal to zero. NOTE: Not payable on data of calls between transactions."},"copyGas":{"v":3,"d":"Multiplied by the number of 32-byte words that are copied (round up) for any *COPY operation and added."},"ecrecoverGas":{"v":3000,"d":""},"sha256Gas":{"v":60,"d":""},"sha256WordGas":{"v":12,"d":""},"ripemd160Gas":{"v":600,"d":""},"ripemd160WordGas":{"v":120,"d":""},"identityGas":{"v":15,"d":""},"identityWordGas":{"v":3,"d":""},"minerReward":{"v":"5000000000000000000","d":"the amount a miner get rewarded for mining a block"},"ommerReward":{"v":"625000000000000000","d":"The amount of wei a miner of an uncle block gets for being inculded in the blockchain"},"niblingReward":{"v":"156250000000000000","d":"the amount a miner gets for inculding a uncle"},"homeSteadForkNumber":{"v":1150000,"d":"the block that the Homestead fork started at"},"homesteadRepriceForkNumber":{"v":2463000,"d":"the block that the Homestead Reprice (EIP150) fork started at"},"timebombPeriod":{"v":100000,"d":"Exponential difficulty timebomb period"},"freeBlockPeriod":{"v":2}} /***/ }), -/* 150 */ +/* 151 */ /***/ (function(module, exports, __webpack_require__) { var params = __webpack_require__(373) @@ -38874,7 +38963,7 @@ module.exports = params /***/ }), -/* 151 */ +/* 152 */ /***/ (function(module, exports, __webpack_require__) { const assert = __webpack_require__(19) @@ -38967,89 +39056,6 @@ Bloom.prototype.or = function (bloom) { } -/***/ }), -/* 152 */ -/***/ (function(module, exports, __webpack_require__) { - -var inherits = __webpack_require__(0).inherits; -var to = __webpack_require__(11); - -inherits(RuntimeError, Error); - -// Note: ethereumjs-vm will return an object that has a "results" and "receipts" keys. -// You should pass in the whole object. -function RuntimeError(transactions, vm_output) { - Error.call(this); - this.results = {}; - this.hashes = []; - this.combine(transactions, vm_output); -}; - -RuntimeError.prototype.combine = function(transactions, vm_output) { - // Can be combined with vm_output or another RuntimeError. - if (transactions instanceof RuntimeError) { - var err = transactions; - var keys = Object.keys(err.results); - - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - this.results[key] = err.results[key]; - Array.prototype.push.apply(this.hashes, err.hashes); - } - } else { - var results = vm_output.results; - var receipts = vm_output.receipts; - - for (var i = 0; i < transactions.length; i++) { - var tx = transactions[i]; - var result = results[i]; - var receipt = receipts[i]; - - // 1 means no error, oddly. - if (result.vm.exception != 1) { - var hash = to.hex(tx.hash()); - - this.hashes.push(hash); - - this.results[hash] = { - error: result.vm.exceptionError, - program_counter: result.vm.runState.programCounter - }; - } - } - } - - // Once combined, set the message - if (this.hashes.length == 1) { - this.message = "VM Exception while processing transaction: " + this.results[this.hashes[0]].error; - } else { - this.message = "Multiple VM Exceptions while processing transactions: \n\n"; - - for (var i = 0; i < this.hashes.length; i++) { - var hash = this.hashes[i]; - - this.message += hash + ": " + this.results[hash].error + "\n"; - } - } -}; - -RuntimeError.prototype.count = function() { - return Object.keys(this.results).length; -}; - -RuntimeError.fromResults = function(transactions, vm_output) { - var err = new RuntimeError(transactions, vm_output); - - if (err.count() == 0) { - return null; - } - - return err; -}; - -module.exports = RuntimeError; - - /***/ }), /* 153 */ /***/ (function(module, exports) { @@ -40186,7 +40192,7 @@ module.exports = SolidityParam; */ var utils = __webpack_require__(6); -var coder = __webpack_require__(86); +var coder = __webpack_require__(87); var formatters = __webpack_require__(28); var sha3 = __webpack_require__(55); var Filter = __webpack_require__(65); @@ -41890,7 +41896,7 @@ function WritableState(options, stream) { } function Writable(options) { - var Duplex = __webpack_require__(90); + var Duplex = __webpack_require__(91); // Writable ctor is applied to Duplexes, though they're not // instanceof Writable, they're instanceof Readable. @@ -42227,7 +42233,7 @@ function endWritable(stream, state, cb) { module.exports = Transform; -var Duplex = __webpack_require__(90); +var Duplex = __webpack_require__(91); /**/ var util = __webpack_require__(3); @@ -42919,7 +42925,7 @@ function checkLength(input) { /* 174 */ /***/ (function(module, exports) { -module.exports = {"_from":"ganache-core@1.1.1","_id":"ganache-core@1.1.1","_inBundle":false,"_integrity":"sha512-q5HDV86aO/cAk0Lchy3o/hU+KlhOsg/Xz+VDepdpZB+B56/U/HVIllU8hXSHTUQiqG14rrlDIem3WXPZbyJdBA==","_location":"/ganache-core","_phantomChildren":{"acorn":"5.1.1","acorn-dynamic-import":"2.0.2","big.js":"3.1.3","co":"4.6.0","code-point-at":"1.1.0","create-hash":"1.1.3","decamelize":"1.2.0","emojis-list":"2.1.0","enhanced-resolve":"3.4.1","get-caller-file":"1.0.2","graceful-fs":"4.1.11","interpret":"1.0.3","is-fullwidth-code-point":"1.0.0","is-utf8":"0.2.1","json-loader":"0.5.7","json-stable-stringify":"1.0.1","json5":"0.5.1","lcid":"1.0.0","loader-runner":"2.3.0","lodash":"4.17.4","memory-fs":"0.4.1","mkdirp":"0.5.1","node-libs-browser":"2.0.0","normalize-package-data":"2.4.0","object-assign":"4.1.1","parse-json":"2.2.0","pbkdf2":"3.0.13","pify":"2.3.0","pinkie-promise":"2.0.1","randombytes":"2.0.5","require-directory":"2.1.1","require-main-filename":"1.0.1","safe-buffer":"5.1.1","set-blocking":"2.0.0","source-map":"0.5.7","strip-ansi":"3.0.1","tapable":"0.2.8","uglify-js":"2.8.29","unorm":"1.4.1","watchpack":"1.4.0","webpack-sources":"1.0.1","wrap-ansi":"2.1.0","y18n":"3.2.1"},"_requested":{"type":"version","registry":true,"raw":"ganache-core@1.1.1","name":"ganache-core","escapedName":"ganache-core","rawSpec":"1.1.1","saveSpec":null,"fetchSpec":"1.1.1"},"_requiredBy":["#DEV:/"],"_resolved":"https://registry.npmjs.org/ganache-core/-/ganache-core-1.1.1.tgz","_shasum":"a07560720331d2507b21d3582f9142cc91bd783b","_spec":"ganache-core@1.1.1","_where":"/Users/tim/Documents/workspace/Consensys/testrpc","bugs":{"url":"https://github.com/trufflesuite/ganache-core/issues"},"bundleDependencies":false,"dependencies":{"async":"~1.5.0","bip39":"~2.4.0","cachedown":"^1.0.0","chai":"^3.5.0","ethereumjs-account":"~2.0.4","ethereumjs-block":"~1.2.2","ethereumjs-tx":"^1.3.0","ethereumjs-util":"~5.1.0","ethereumjs-vm":"~2.2.0","ethereumjs-wallet":"~0.6.0","fake-merkle-patricia-tree":"~1.0.1","heap":"~0.2.6","js-scrypt":"^0.2.0","level-sublevel":"^6.6.1","levelup":"^1.1.0","localstorage-down":"^0.6.7","merkle-patricia-tree":"^2.1.2","mocha":"~2.2.5","on-build-webpack":"^0.1.0","prepend-file":"^1.3.1","seedrandom":"~2.4.2","shebang-loader":"0.0.1","solc":"0.4.8","temp":"^0.8.3","tmp":"0.0.31","web3":"^0.19.1","web3-provider-engine":"~8.1.0","webpack":"^2.2.1","yargs":"^7.0.2"},"deprecated":false,"description":"[![npm](https://img.shields.io/npm/v/ethereumjs-testrpc.svg)]() [![npm](https://img.shields.io/npm/dm/ethereumjs-testrpc.svg)]() [![Build Status](https://travis-ci.org/ethereumjs/testrpc.svg?branch=master)](https://travis-ci.org/ethereumjs/testrpc)","directories":{"lib":"./lib"},"homepage":"https://github.com/trufflesuite/ganache-core#readme","main":"./index.js","name":"ganache-core","repository":{"type":"git","url":"git+https://github.com/trufflesuite/ganache-core.git"},"scripts":{"test":"mocha"},"version":"1.1.1"} +module.exports = {"_from":"ganache-core@1.1.2","_id":"ganache-core@1.1.2","_inBundle":false,"_integrity":"sha512-RpT4BPrbk5p06OVHgk38FfK3Vou+E3w+mvx5cdiHX/MPzrGeHUnBTRHiQut14v0kGTKFkwS+4ggXspszN4VNVQ==","_location":"/ganache-core","_phantomChildren":{"acorn":"5.1.1","acorn-dynamic-import":"2.0.2","big.js":"3.1.3","co":"4.6.0","code-point-at":"1.1.0","decamelize":"1.2.0","emojis-list":"2.1.0","enhanced-resolve":"3.4.1","get-caller-file":"1.0.2","graceful-fs":"4.1.11","interpret":"1.0.3","is-fullwidth-code-point":"1.0.0","is-utf8":"0.2.1","json-loader":"0.5.7","json-stable-stringify":"1.0.1","json5":"0.5.1","lcid":"1.0.0","loader-runner":"2.3.0","lodash":"4.17.4","memory-fs":"0.4.1","mkdirp":"0.5.1","node-libs-browser":"2.0.0","normalize-package-data":"2.4.0","object-assign":"4.1.1","parse-json":"2.2.0","pify":"2.3.0","pinkie-promise":"2.0.1","require-directory":"2.1.1","require-main-filename":"1.0.1","set-blocking":"2.0.0","source-map":"0.5.7","strip-ansi":"3.0.1","tapable":"0.2.8","uglify-js":"2.8.29","watchpack":"1.4.0","webpack-sources":"1.0.1","wrap-ansi":"2.1.0","y18n":"3.2.1"},"_requested":{"type":"version","registry":true,"raw":"ganache-core@1.1.2","name":"ganache-core","escapedName":"ganache-core","rawSpec":"1.1.2","saveSpec":null,"fetchSpec":"1.1.2"},"_requiredBy":["#DEV:/"],"_resolved":"https://registry.npmjs.org/ganache-core/-/ganache-core-1.1.2.tgz","_shasum":"3beb638354f7ade4dd8ef7d56ab95d6c6808f575","_spec":"ganache-core@1.1.2","_where":"/Users/tim/Documents/workspace/Consensys/testrpc","bugs":{"url":"https://github.com/trufflesuite/ganache-core/issues"},"bundleDependencies":false,"dependencies":{"async":"~1.5.0","bip39":"~2.4.0","cachedown":"^1.0.0","chai":"^3.5.0","ethereumjs-account":"~2.0.4","ethereumjs-block":"~1.2.2","ethereumjs-tx":"^1.3.0","ethereumjs-util":"~5.1.0","ethereumjs-vm":"~2.2.0","ethereumjs-wallet":"~0.6.0","fake-merkle-patricia-tree":"~1.0.1","heap":"~0.2.6","js-scrypt":"^0.2.0","level-sublevel":"^6.6.1","levelup":"^1.1.0","localstorage-down":"^0.6.7","merkle-patricia-tree":"^2.1.2","mocha":"~2.2.5","on-build-webpack":"^0.1.0","prepend-file":"^1.3.1","seedrandom":"~2.4.2","shebang-loader":"0.0.1","solc":"0.4.8","temp":"^0.8.3","tmp":"0.0.31","web3":"^0.19.1","web3-provider-engine":"~8.1.0","webpack":"^2.2.1","yargs":"^7.0.2"},"deprecated":false,"description":"This is the core code that powers the Ganache application and the the Ganache command line tool.","directories":{"lib":"./lib"},"homepage":"https://github.com/trufflesuite/ganache-core#readme","main":"./index.js","name":"ganache-core","repository":{"type":"git","url":"git+https://github.com/trufflesuite/ganache-core.git"},"scripts":{"test":"mocha"},"version":"1.1.2"} /***/ }), /* 175 */ @@ -43127,8 +43133,8 @@ process.on("SIGINT", function () { /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(__dirname) {const argsert = __webpack_require__(177) -const assign = __webpack_require__(94) -const Command = __webpack_require__(92) +const assign = __webpack_require__(95) +const Command = __webpack_require__(93) const Completion = __webpack_require__(180) const Parser = __webpack_require__(181) const path = __webpack_require__(4) @@ -43136,7 +43142,7 @@ const Usage = __webpack_require__(184) const Validation = __webpack_require__(191) const Y18n = __webpack_require__(193) const objFilter = __webpack_require__(67) -const setBlocking = __webpack_require__(98) +const setBlocking = __webpack_require__(99) const applyExtends = __webpack_require__(194) const YError = __webpack_require__(56) @@ -44259,7 +44265,7 @@ function rebase (base, dir) { /* 177 */ /***/ (function(module, exports, __webpack_require__) { -const command = __webpack_require__(92)() +const command = __webpack_require__(93)() const YError = __webpack_require__(56) const positionName = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth'] @@ -44557,7 +44563,7 @@ module.exports = function (yargs, usage, command) { /* 181 */ /***/ (function(module, exports, __webpack_require__) { -var camelCase = __webpack_require__(93) +var camelCase = __webpack_require__(94) var path = __webpack_require__(4) var tokenizeArgString = __webpack_require__(182) var util = __webpack_require__(0) @@ -45376,9 +45382,9 @@ webpackEmptyContext.id = 183; // this file handles outputting usage instructions, // failures, etc. keeps logging in one place. -const stringWidth = __webpack_require__(95) +const stringWidth = __webpack_require__(96) const objFilter = __webpack_require__(67) -const setBlocking = __webpack_require__(98) +const setBlocking = __webpack_require__(99) const YError = __webpack_require__(56) module.exports = function (yargs, y18n) { @@ -45891,7 +45897,7 @@ module.exports = Number.isNaN || function (x) { /* 187 */ /***/ (function(module, exports, __webpack_require__) { -var stringWidth = __webpack_require__(95) +var stringWidth = __webpack_require__(96) var stripAnsi = __webpack_require__(57) var wrap = __webpack_require__(188) var align = { @@ -46391,8 +46397,8 @@ module.exports = function (str, cols, opts) { "use strict"; var stripAnsi = __webpack_require__(57); -var codePointAt = __webpack_require__(96); -var isFullwidthCodePoint = __webpack_require__(97); +var codePointAt = __webpack_require__(97); +var isFullwidthCodePoint = __webpack_require__(98); // https://github.com/nodejs/io.js/blob/cff7300a578be1b10001f2d967aaedc88aee6402/lib/readline.js#L1345 module.exports = function (str) { @@ -47054,7 +47060,7 @@ module.exports = function (opts) { var fs = __webpack_require__(12) var path = __webpack_require__(4) -var assign = __webpack_require__(94) +var assign = __webpack_require__(95) var YError = __webpack_require__(56) var previouslyVisitedConfigs = [] @@ -47612,11 +47618,11 @@ module.exports.sync = function (fp, opts) { "use strict"; var path = __webpack_require__(4); -var fs = __webpack_require__(100); +var fs = __webpack_require__(101); var stripBom = __webpack_require__(205); var parseJson = __webpack_require__(207); var Promise = __webpack_require__(58); -var pify = __webpack_require__(102); +var pify = __webpack_require__(103); function parse(x, fp) { return parseJson(stripBom(x), path.relative(process.cwd(), fp)); @@ -47637,7 +47643,7 @@ module.exports.sync = function (fp) { /* 202 */ /***/ (function(module, exports, __webpack_require__) { -var fs = __webpack_require__(101) +var fs = __webpack_require__(102) var constants = __webpack_require__(203) var origCwd = process.cwd @@ -49288,7 +49294,7 @@ function ucFirst (string) { /* 213 */ /***/ (function(module, exports, __webpack_require__) { -var semver = __webpack_require__(103) +var semver = __webpack_require__(104) var validateLicense = __webpack_require__(214); var hostedGitInfo = __webpack_require__(219) var isBuiltinModule = __webpack_require__(221) @@ -51428,7 +51434,7 @@ module.exports = ["Glide","Abstyles","AFL-1.1","AFL-1.2","AFL-2.0","AFL-2.1","AF "use strict"; var url = __webpack_require__(48) -var gitHosts = __webpack_require__(104) +var gitHosts = __webpack_require__(105) var GitHost = module.exports = __webpack_require__(220) var protocolToRepresentationMap = { @@ -51555,7 +51561,7 @@ function parseGitUrl (giturl) { "use strict"; -var gitHosts = __webpack_require__(104) +var gitHosts = __webpack_require__(105) var extend = Object.assign || __webpack_require__(0)._extend var GitHost = module.exports = function (type, user, auth, project, committish, defaultRepresentation, opts) { @@ -51771,9 +51777,9 @@ module.exports = {"repositories":"'repositories' (plural) Not supported. Please "use strict"; -var fs = __webpack_require__(100); +var fs = __webpack_require__(101); var Promise = __webpack_require__(58); -var pify = __webpack_require__(102); +var pify = __webpack_require__(103); function type(fn, fn2, fp) { if (typeof fp !== 'string') { @@ -52032,7 +52038,7 @@ module.exports = {"af_ZA":1078,"am_ET":1118,"ar_AE":14337,"ar_BH":15361,"ar_DZ": /* 234 */ /***/ (function(module, exports, __webpack_require__) { -var Provider = __webpack_require__(105); +var Provider = __webpack_require__(106); var Server = __webpack_require__(520); // This interface exists so as not to cause breaking changes. @@ -52501,7 +52507,7 @@ try { "use strict"; -module.exports = __webpack_require__(106)(__webpack_require__(243)('keccak')) +module.exports = __webpack_require__(107)(__webpack_require__(243)('keccak')) /***/ }), @@ -52890,7 +52896,7 @@ exports.getRoot = function getRoot (file) { "use strict"; -module.exports = __webpack_require__(106)(__webpack_require__(245)) +module.exports = __webpack_require__(107)(__webpack_require__(245)) /***/ }), @@ -53172,7 +53178,7 @@ exports.p1600 = function (s) { var assert = __webpack_require__(248) var der = __webpack_require__(249) -var messages = __webpack_require__(108) +var messages = __webpack_require__(109) function initCompressedValue (value, defaultValue) { if (value === undefined) return defaultValue @@ -53788,7 +53794,7 @@ var createHash = __webpack_require__(23) var BN = __webpack_require__(9) var EC = __webpack_require__(15).ec -var messages = __webpack_require__(108) +var messages = __webpack_require__(109) var ec = new EC('secp256k1') var ecparams = ec.curve @@ -54048,7 +54054,7 @@ module.exports = {"_args":[["elliptic@6.4.0","/Users/tim/Documents/workspace/Con var utils = exports; var BN = __webpack_require__(9); var minAssert = __webpack_require__(33); -var minUtils = __webpack_require__(109); +var minUtils = __webpack_require__(110); utils.assert = minAssert; utils.toArray = minUtils.toArray; @@ -56411,9 +56417,9 @@ defineCurve('secp256k1', { exports.sha1 = __webpack_require__(261); exports.sha224 = __webpack_require__(262); -exports.sha256 = __webpack_require__(111); +exports.sha256 = __webpack_require__(112); exports.sha384 = __webpack_require__(263); -exports.sha512 = __webpack_require__(112); +exports.sha512 = __webpack_require__(113); /***/ }), @@ -56425,7 +56431,7 @@ exports.sha512 = __webpack_require__(112); var utils = __webpack_require__(25); var common = __webpack_require__(49); -var shaCommon = __webpack_require__(110); +var shaCommon = __webpack_require__(111); var rotl32 = utils.rotl32; var sum32 = utils.sum32; @@ -56505,7 +56511,7 @@ SHA1.prototype._digest = function digest(enc) { var utils = __webpack_require__(25); -var SHA256 = __webpack_require__(111); +var SHA256 = __webpack_require__(112); function SHA224() { if (!(this instanceof SHA224)) @@ -56543,7 +56549,7 @@ SHA224.prototype._digest = function digest(enc) { var utils = __webpack_require__(25); -var SHA512 = __webpack_require__(112); +var SHA512 = __webpack_require__(113); function SHA384() { if (!(this instanceof SHA384)) @@ -57824,7 +57830,7 @@ EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) { var hash = __webpack_require__(71); -var utils = __webpack_require__(109); +var utils = __webpack_require__(110); var assert = __webpack_require__(33); function HmacDRBG(options) { @@ -58512,7 +58518,7 @@ module.exports = Signature; "use strict"; -var isHexPrefixed = __webpack_require__(113); +var isHexPrefixed = __webpack_require__(114); var stripHexPrefix = __webpack_require__(275); /** @@ -58735,7 +58741,7 @@ module.exports = { /* 275 */ /***/ (function(module, exports, __webpack_require__) { -var isHexPrefixed = __webpack_require__(113); +var isHexPrefixed = __webpack_require__(114); /** * Removes '0x' from a given `String` is present @@ -59397,7 +59403,7 @@ const async = __webpack_require__(16) const ethUtil = __webpack_require__(10) const Account = __webpack_require__(27) const FakeMerklePatriciaTree = __webpack_require__(283) -const VM = __webpack_require__(114) +const VM = __webpack_require__(115) const ZERO_BUFFER = new Buffer('0000000000000000000000000000000000000000000000000000000000000000', 'hex') module.exports = createHookedVm @@ -61308,12 +61314,12 @@ function SecureTrie () { const assert = __webpack_require__(19) const levelup = __webpack_require__(73) -const memdown = __webpack_require__(124) +const memdown = __webpack_require__(125) const async = __webpack_require__(75) const rlp = __webpack_require__(26) const ethUtil = __webpack_require__(76) const semaphore = __webpack_require__(305) -const TrieNode = __webpack_require__(129) +const TrieNode = __webpack_require__(130) const ReadStream = __webpack_require__(306) const matchingNibbleLength = __webpack_require__(52).matchingNibbleLength const doKeysMatch = __webpack_require__(52).doKeysMatch @@ -62176,7 +62182,7 @@ module.exports.DeferredIterator = DeferredIterator /* 290 */ /***/ (function(module, exports, __webpack_require__) { -var AbstractLevelDOWN = __webpack_require__(115) +var AbstractLevelDOWN = __webpack_require__(116) function isLevelDOWN (db) { if (!db || typeof db !== 'object') @@ -62298,12 +62304,12 @@ ReadStream.prototype._cleanup = function(){ /* 293 */ /***/ (function(module, exports, __webpack_require__) { -exports = module.exports = __webpack_require__(118); +exports = module.exports = __webpack_require__(119); exports.Stream = __webpack_require__(5); exports.Readable = exports; -exports.Writable = __webpack_require__(119); +exports.Writable = __webpack_require__(120); exports.Duplex = __webpack_require__(39); -exports.Transform = __webpack_require__(121); +exports.Transform = __webpack_require__(122); exports.PassThrough = __webpack_require__(295); if (!process.browser && process.env.READABLE_STREAM === 'disable') { module.exports = __webpack_require__(5); @@ -62350,7 +62356,7 @@ module.exports = Array.isArray || function (arr) { module.exports = PassThrough; -var Transform = __webpack_require__(121); +var Transform = __webpack_require__(122); /**/ var util = __webpack_require__(3); @@ -62510,7 +62516,7 @@ module.exports = function (errno) { * */ -var util = __webpack_require__(123) +var util = __webpack_require__(124) var WriteError = __webpack_require__(51).WriteError var getOptions = util.getOptions var dispatchError = util.dispatchError @@ -62803,7 +62809,7 @@ function getLevelDOWN () { throw requireError(e) } - if (!__webpack_require__(103).satisfies(leveldownVersion, requiredVersion)) { + if (!__webpack_require__(104).satisfies(leveldownVersion, requiredVersion)) { throw new LevelUPError( 'Installed version of LevelDOWN (' + leveldownVersion + @@ -62839,7 +62845,7 @@ module.exports = {"_args":[["levelup@1.3.9","/Users/tim/Documents/workspace/Cons /* 303 */ /***/ (function(module, exports, __webpack_require__) { -var AbstractLevelDOWN = __webpack_require__(126) +var AbstractLevelDOWN = __webpack_require__(127) function isLevelDOWN (db) { if (!db || typeof db !== 'object') @@ -62973,8 +62979,8 @@ if (true) { /* 306 */ /***/ (function(module, exports, __webpack_require__) { -const Readable = __webpack_require__(130).Readable -const TrieNode = __webpack_require__(129) +const Readable = __webpack_require__(131).Readable +const TrieNode = __webpack_require__(130) const util = __webpack_require__(0) module.exports = TrieReadStream @@ -63144,7 +63150,7 @@ module.exports = __webpack_require__(0).deprecate; module.exports = PassThrough; -var Transform = __webpack_require__(136); +var Transform = __webpack_require__(137); /**/ var util = __webpack_require__(3); @@ -63168,10 +63174,10 @@ PassThrough.prototype._transform = function (chunk, encoding, cb) { /***/ (function(module, exports, __webpack_require__) { const levelup = __webpack_require__(73) -const memdown = __webpack_require__(124) +const memdown = __webpack_require__(125) const async = __webpack_require__(75) const inherits = __webpack_require__(0).inherits -const Readable = __webpack_require__(130).Readable +const Readable = __webpack_require__(131).Readable const levelws = __webpack_require__(312) const callTogether = __webpack_require__(52).callTogether @@ -63518,12 +63524,12 @@ module.exports.WriteStream = WriteStream /***/ (function(module, exports, __webpack_require__) { var Stream = __webpack_require__(5); // hack to fix a circular dependency issue when used with browserify -exports = module.exports = __webpack_require__(137); +exports = module.exports = __webpack_require__(138); exports.Stream = Stream; exports.Readable = exports; -exports.Writable = __webpack_require__(139); +exports.Writable = __webpack_require__(140); exports.Duplex = __webpack_require__(77); -exports.Transform = __webpack_require__(140); +exports.Transform = __webpack_require__(141); exports.PassThrough = __webpack_require__(315); if (!process.browser && process.env.READABLE_STREAM === 'disable') { module.exports = __webpack_require__(5); @@ -63570,7 +63576,7 @@ module.exports = Array.isArray || function (arr) { module.exports = PassThrough; -var Transform = __webpack_require__(140); +var Transform = __webpack_require__(141); /**/ var util = __webpack_require__(3); @@ -64442,7 +64448,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = iterator; -var _isArrayLike = __webpack_require__(141); +var _isArrayLike = __webpack_require__(142); var _isArrayLike2 = _interopRequireDefault(_isArrayLike); @@ -64499,7 +64505,7 @@ module.exports = exports['default']; /***/ (function(module, exports, __webpack_require__) { var baseGetTag = __webpack_require__(78), - isObject = __webpack_require__(145); + isObject = __webpack_require__(146); /** `Object#toString` result references. */ var asyncTag = '[object AsyncFunction]', @@ -64541,7 +64547,7 @@ module.exports = isFunction; /* 337 */ /***/ (function(module, exports, __webpack_require__) { -var Symbol = __webpack_require__(142); +var Symbol = __webpack_require__(143); /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -64642,7 +64648,7 @@ module.exports = exports['default']; var arrayLikeKeys = __webpack_require__(341), baseKeys = __webpack_require__(353), - isArrayLike = __webpack_require__(141); + isArrayLike = __webpack_require__(142); /** * Creates an array of the own enumerable property names of `object`. @@ -64862,7 +64868,7 @@ module.exports = isArray; /* 346 */ /***/ (function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(143), +/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(144), stubFalse = __webpack_require__(347); /** Detect free variable `exports`. */ @@ -64993,7 +64999,7 @@ module.exports = isTypedArray; /***/ (function(module, exports, __webpack_require__) { var baseGetTag = __webpack_require__(78), - isLength = __webpack_require__(146), + isLength = __webpack_require__(147), isObjectLike = __webpack_require__(79); /** `Object#toString` result references. */ @@ -65078,7 +65084,7 @@ module.exports = baseUnary; /* 352 */ /***/ (function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(144); +/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(145); /** Detect free variable `exports`. */ var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; @@ -65293,7 +65299,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = asyncify; -var _isObject = __webpack_require__(145); +var _isObject = __webpack_require__(146); var _isObject2 = _interopRequireDefault(_isObject); @@ -65416,7 +65422,7 @@ exports.default = function (fn) { }; }; -var _slice = __webpack_require__(147); +var _slice = __webpack_require__(148); var _slice2 = _interopRequireDefault(_slice); @@ -65438,7 +65444,7 @@ exports.hasNextTick = exports.hasSetImmediate = undefined; exports.fallback = fallback; exports.wrap = wrap; -var _slice = __webpack_require__(147); +var _slice = __webpack_require__(148); var _slice2 = _interopRequireDefault(_slice); @@ -65900,7 +65906,7 @@ function preprocessValidJumps (runState) { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var ethUtil = __webpack_require__(8); -var fees = __webpack_require__(149); +var fees = __webpack_require__(150); var BN = ethUtil.BN; // secp256k1n/2 @@ -67497,8 +67503,8 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! /* 372 */ /***/ (function(module, exports, __webpack_require__) { -const utils = __webpack_require__(148) -const params = __webpack_require__(150) +const utils = __webpack_require__(149) +const params = __webpack_require__(151) const BN = utils.BN /** * An object that repersents the block header @@ -69030,7 +69036,7 @@ webpackEmptyContext.id = 381; const async = __webpack_require__(16) const ethUtil = __webpack_require__(10) -const Bloom = __webpack_require__(151) +const Bloom = __webpack_require__(152) const common = __webpack_require__(30) const rlp = ethUtil.rlp const Trie = __webpack_require__(35) @@ -69246,7 +69252,7 @@ module.exports = function (opts, cb) { const async = __webpack_require__(16) const utils = __webpack_require__(10) const BN = utils.BN -const Bloom = __webpack_require__(151) +const Bloom = __webpack_require__(152) const Block = __webpack_require__(31) /** @@ -69758,7 +69764,7 @@ module.exports = function (blockchain, cb) { "use strict"; const ethUtil = __webpack_require__(8) -const fees = __webpack_require__(149) +const fees = __webpack_require__(150) const BN = ethUtil.BN // secp256k1n/2 @@ -70492,7 +70498,7 @@ module.exports = RequestManager; ;(function (root, factory, undef) { if (true) { // CommonJS - module.exports = exports = factory(__webpack_require__(1), __webpack_require__(62), __webpack_require__(390), __webpack_require__(391), __webpack_require__(42), __webpack_require__(43), __webpack_require__(84), __webpack_require__(154), __webpack_require__(392), __webpack_require__(155), __webpack_require__(393), __webpack_require__(156), __webpack_require__(394), __webpack_require__(85), __webpack_require__(395), __webpack_require__(44), __webpack_require__(7), __webpack_require__(396), __webpack_require__(397), __webpack_require__(398), __webpack_require__(399), __webpack_require__(400), __webpack_require__(401), __webpack_require__(402), __webpack_require__(403), __webpack_require__(404), __webpack_require__(405), __webpack_require__(406), __webpack_require__(407), __webpack_require__(408), __webpack_require__(409), __webpack_require__(410), __webpack_require__(411)); + module.exports = exports = factory(__webpack_require__(1), __webpack_require__(62), __webpack_require__(390), __webpack_require__(391), __webpack_require__(42), __webpack_require__(43), __webpack_require__(85), __webpack_require__(154), __webpack_require__(392), __webpack_require__(155), __webpack_require__(393), __webpack_require__(156), __webpack_require__(394), __webpack_require__(86), __webpack_require__(395), __webpack_require__(44), __webpack_require__(7), __webpack_require__(396), __webpack_require__(397), __webpack_require__(398), __webpack_require__(399), __webpack_require__(400), __webpack_require__(401), __webpack_require__(402), __webpack_require__(403), __webpack_require__(404), __webpack_require__(405), __webpack_require__(406), __webpack_require__(407), __webpack_require__(408), __webpack_require__(409), __webpack_require__(410), __webpack_require__(411)); } else if (typeof define === "function" && define.amd) { // AMD @@ -71195,7 +71201,7 @@ module.exports = RequestManager; ;(function (root, factory, undef) { if (true) { // CommonJS - module.exports = exports = factory(__webpack_require__(1), __webpack_require__(84), __webpack_require__(85)); + module.exports = exports = factory(__webpack_require__(1), __webpack_require__(85), __webpack_require__(86)); } else if (typeof define === "function" && define.amd) { // AMD @@ -74199,7 +74205,7 @@ module.exports = Eth; */ var utils = __webpack_require__(6); -var coder = __webpack_require__(86); +var coder = __webpack_require__(87); var SolidityEvent = __webpack_require__(158); var SolidityFunction = __webpack_require__(424); var AllEvents = __webpack_require__(425); @@ -74817,7 +74823,7 @@ module.exports = SolidityTypeBytes; * @date 2015 */ -var coder = __webpack_require__(86); +var coder = __webpack_require__(87); var utils = __webpack_require__(6); var errors = __webpack_require__(45); var formatters = __webpack_require__(28); @@ -76261,7 +76267,7 @@ exports.XMLHttpRequest = function() { * Private variables */ var self = this; - var http = __webpack_require__(87); + var http = __webpack_require__(88); var https = __webpack_require__(159); // Holds http.js objects @@ -76935,7 +76941,7 @@ exports.XMLHttpRequest = function() { })(); - http = __webpack_require__(87); + http = __webpack_require__(88); https = __webpack_require__(159); @@ -78354,7 +78360,7 @@ var LevelUpObjectAdapter = __webpack_require__(462); var levelup = __webpack_require__(73); var filedown = __webpack_require__(463); var cachedown = __webpack_require__(464); -var Sublevel = __webpack_require__(88); +var Sublevel = __webpack_require__(89); var Block = __webpack_require__(31); var txserializer = __webpack_require__(168); var blockserializer = __webpack_require__(468); @@ -78433,7 +78439,7 @@ module.exports = Database; /* 448 */ /***/ (function(module, exports, __webpack_require__) { -var Sublevel = __webpack_require__(88); +var Sublevel = __webpack_require__(89); // Level up adapter that looks like an array. Doesn't support inserts. @@ -78805,7 +78811,7 @@ module.exports = function (compare) { var EventEmitter = __webpack_require__(22).EventEmitter var addpre = __webpack_require__(161).addPrefix -var errors = __webpack_require__(89) +var errors = __webpack_require__(90) function isFunction (f) { return 'function' === typeof f @@ -79115,7 +79121,7 @@ module.exports = { var Readable = __webpack_require__(456).Readable , inherits = __webpack_require__(0).inherits , extend = __webpack_require__(167) - , EncodingError = __webpack_require__(89).EncodingError + , EncodingError = __webpack_require__(90).EncodingError , util = __webpack_require__(459) @@ -79213,7 +79219,7 @@ exports = module.exports = __webpack_require__(163); exports.Stream = Stream; exports.Readable = exports; exports.Writable = __webpack_require__(165); -exports.Duplex = __webpack_require__(90); +exports.Duplex = __webpack_require__(91); exports.Transform = __webpack_require__(166); exports.PassThrough = __webpack_require__(458); if (!process.browser && process.env.READABLE_STREAM === 'disable') { @@ -79293,7 +79299,7 @@ PassThrough.prototype._transform = function(chunk, encoding, cb) { */ var extend = __webpack_require__(167) - , LevelUPError = __webpack_require__(89).LevelUPError + , LevelUPError = __webpack_require__(90).LevelUPError , encodings = __webpack_require__(162) , defaultOptions = { createIfMissing : true @@ -80584,7 +80590,7 @@ function outside(version, range, hilo, loose) { /* 462 */ /***/ (function(module, exports, __webpack_require__) { -var Sublevel = __webpack_require__(88); +var Sublevel = __webpack_require__(89); var async = __webpack_require__(17); function LevelUpObjectAdapter(name, db, valueserializer, keyserializer, options) { @@ -82362,7 +82368,7 @@ var async = __webpack_require__(17); var inherits = __webpack_require__(0).inherits; var StateManager = __webpack_require__(479); var to = __webpack_require__(11); -var txhelper = __webpack_require__(91); +var txhelper = __webpack_require__(92); var pkg = __webpack_require__(174); var Subprovider = __webpack_require__(34); @@ -82806,7 +82812,7 @@ module.exports = GethApiDouble; var Account = __webpack_require__(27); var Block = __webpack_require__(31); var VM = __webpack_require__(83); -var RuntimeError = __webpack_require__(152); +var RuntimeError = __webpack_require__(84); var Trie = __webpack_require__(35); var FakeTransaction = __webpack_require__(41); var utils = __webpack_require__(8); @@ -82822,7 +82828,7 @@ var async = __webpack_require__(17); var to = __webpack_require__(11); var random = __webpack_require__(519); -var txhelper = __webpack_require__(91); +var txhelper = __webpack_require__(92); StateManager = function(options) { var self = this; @@ -97702,7 +97708,7 @@ var FakeTransaction = __webpack_require__(41); var Web3 = __webpack_require__(53); var to = __webpack_require__(11); var async = __webpack_require__(17); -var txhelper = __webpack_require__(91) +var txhelper = __webpack_require__(92) var inherits = __webpack_require__(0).inherits; @@ -98411,8 +98417,8 @@ module.exports = { /* 520 */ /***/ (function(module, exports, __webpack_require__) { -var http = __webpack_require__(87); -var Provider = __webpack_require__(105); +var http = __webpack_require__(88); +var Provider = __webpack_require__(106); module.exports = { create: function(options) { @@ -98545,7 +98551,7 @@ module.exports = { /* 521 */ /***/ (function(module, exports) { -module.exports = {"name":"ethereumjs-testrpc","version":"4.1.0","bin":{"testrpc":"./build/cli.node.js"},"main":"./build/lib.node.js","directories":{"lib":"./lib"},"scripts":{"start":"./build/cli.node.js","test":"mocha","build":"npm run build-cli && npm run build-server && npm run build-provider && npm run build-lib","build-cli":"webpack --config ./webpack/cli.webpack.config.js","build-server":"webpack --config ./webpack/server.webpack.config.js","build-provider":"webpack --config ./webpack/provider.webpack.config.js","build-lib":"webpack --config ./webpack/lib.webpack.config.js","prepublish":"npm run build"},"devDependencies":{"ganache-core":"1.1.1","yargs":"^7.0.2"},"repository":{"type":"git","url":"https://github.com/ethereumjs/testrpc"},"dependencies":{"webpack":"^3.0.0"}} +module.exports = {"name":"ethereumjs-testrpc","version":"4.1.1","bin":{"testrpc":"./build/cli.node.js"},"main":"./build/lib.node.js","directories":{"lib":"./lib"},"scripts":{"start":"./build/cli.node.js","test":"mocha","build":"npm run build-cli && npm run build-server && npm run build-provider && npm run build-lib","build-cli":"webpack --config ./webpack/cli.webpack.config.js","build-server":"webpack --config ./webpack/server.webpack.config.js","build-provider":"webpack --config ./webpack/provider.webpack.config.js","build-lib":"webpack --config ./webpack/lib.webpack.config.js","prepublish":"npm run build"},"devDependencies":{"ganache-core":"1.1.2","yargs":"^7.0.2"},"repository":{"type":"git","url":"https://github.com/ethereumjs/testrpc"},"dependencies":{"webpack":"^3.0.0"}} /***/ }), /* 522 */ diff --git a/build/lib.node.js b/build/lib.node.js index 9493a8c1c..12dc6bb37 100644 --- a/build/lib.node.js +++ b/build/lib.node.js @@ -7,7 +7,7 @@ exports["TestRPC"] = factory(require("util"), require("stream"), require("buffer"), require("events"), require("crypto"), require("assert"), require("fs"), require("path"), require("http"), require("url"), require("child_process"), require("https"), require("os"), require("timers")); else root["TestRPC"] = factory(root["util"], root["stream"], root["buffer"], root["events"], root["crypto"], root["assert"], root["fs"], root["path"], root["http"], root["url"], root["child_process"], root["https"], root["os"], root["timers"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_17__, __WEBPACK_EXTERNAL_MODULE_19__, __WEBPACK_EXTERNAL_MODULE_21__, __WEBPACK_EXTERNAL_MODULE_23__, __WEBPACK_EXTERNAL_MODULE_37__, __WEBPACK_EXTERNAL_MODULE_47__, __WEBPACK_EXTERNAL_MODULE_81__, __WEBPACK_EXTERNAL_MODULE_140__, __WEBPACK_EXTERNAL_MODULE_141__, __WEBPACK_EXTERNAL_MODULE_142__, __WEBPACK_EXTERNAL_MODULE_143__, __WEBPACK_EXTERNAL_MODULE_303__) { +})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_17__, __WEBPACK_EXTERNAL_MODULE_19__, __WEBPACK_EXTERNAL_MODULE_21__, __WEBPACK_EXTERNAL_MODULE_23__, __WEBPACK_EXTERNAL_MODULE_37__, __WEBPACK_EXTERNAL_MODULE_47__, __WEBPACK_EXTERNAL_MODULE_82__, __WEBPACK_EXTERNAL_MODULE_140__, __WEBPACK_EXTERNAL_MODULE_141__, __WEBPACK_EXTERNAL_MODULE_142__, __WEBPACK_EXTERNAL_MODULE_143__, __WEBPACK_EXTERNAL_MODULE_303__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -15781,14 +15781,14 @@ module.exports = params /* 29 */ /***/ (function(module, exports, __webpack_require__) { -const ethUtil = __webpack_require__(129) +const ethUtil = __webpack_require__(130) const Tx = __webpack_require__(294) const Trie = __webpack_require__(33) const BN = ethUtil.BN const rlp = ethUtil.rlp const async = __webpack_require__(295) const BlockHeader = __webpack_require__(296) -const params = __webpack_require__(131) +const params = __webpack_require__(132) /** * Creates a new block object @@ -16439,8 +16439,8 @@ var util = __webpack_require__(3); util.inherits = __webpack_require__(2); /**/ -var Readable = __webpack_require__(99); -var Writable = __webpack_require__(100); +var Readable = __webpack_require__(100); +var Writable = __webpack_require__(101); util.inherits(Duplex, Readable); @@ -16542,8 +16542,8 @@ var util = __webpack_require__(3); util.inherits = __webpack_require__(2); /**/ -var Readable = __webpack_require__(112); -var Writable = __webpack_require__(115); +var Readable = __webpack_require__(113); +var Writable = __webpack_require__(116); util.inherits(Duplex, Readable); @@ -17101,7 +17101,7 @@ module.exports = class FakeTransaction extends Transaction { ;(function (root, factory, undef) { if (true) { // CommonJS - module.exports = exports = factory(__webpack_require__(1), __webpack_require__(78), __webpack_require__(79)); + module.exports = exports = factory(__webpack_require__(1), __webpack_require__(79), __webpack_require__(80)); } else if (typeof define === "function" && define.amd) { // AMD @@ -17565,7 +17565,7 @@ try { * */ -var createError = __webpack_require__(103).create +var createError = __webpack_require__(104).create , LevelUPError = createError('LevelUPError') , NotFoundError = createError('NotFoundError', LevelUPError) @@ -20471,9 +20471,9 @@ curve.edwards = __webpack_require__(181); /* 55 */ /***/ (function(module, exports, __webpack_require__) { -exports.AbstractLevelDOWN = __webpack_require__(96) -exports.AbstractIterator = __webpack_require__(97) -exports.AbstractChainedBatch = __webpack_require__(98) +exports.AbstractLevelDOWN = __webpack_require__(97) +exports.AbstractIterator = __webpack_require__(98) +exports.AbstractChainedBatch = __webpack_require__(99) exports.isLevelDOWN = __webpack_require__(213) @@ -22635,7 +22635,7 @@ var Batch = __webpack_require__(221) var Codec = __webpack_require__(222) var getLevelDOWN = __webpack_require__(224) var errors = __webpack_require__(50) -var util = __webpack_require__(104) +var util = __webpack_require__(105) var WriteError = errors.WriteError var ReadError = errors.ReadError @@ -25165,8 +25165,8 @@ var util = __webpack_require__(3); util.inherits = __webpack_require__(2); /**/ -var Readable = __webpack_require__(118); -var Writable = __webpack_require__(120); +var Readable = __webpack_require__(119); +var Writable = __webpack_require__(121); util.inherits(Duplex, Readable); @@ -25218,7 +25218,7 @@ function forEach (xs, f) { /* 72 */ /***/ (function(module, exports, __webpack_require__) { -var Symbol = __webpack_require__(123), +var Symbol = __webpack_require__(124), getRawTag = __webpack_require__(261), objectToString = __webpack_require__(262); @@ -25294,7 +25294,7 @@ var Block = __webpack_require__(29); var Log = __webpack_require__(75); var Receipt = __webpack_require__(76); var VM = __webpack_require__(77); -var RuntimeError = __webpack_require__(133); +var RuntimeError = __webpack_require__(78); var Trie = __webpack_require__(33); var Web3 = __webpack_require__(57); var utils = __webpack_require__(7); @@ -26262,13 +26262,96 @@ module.exports = Receipt; /* 77 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(95) +module.exports = __webpack_require__(96) /***/ }), /* 78 */ /***/ (function(module, exports, __webpack_require__) { +var inherits = __webpack_require__(0).inherits; +var to = __webpack_require__(10); + +inherits(RuntimeError, Error); + +// Note: ethereumjs-vm will return an object that has a "results" and "receipts" keys. +// You should pass in the whole object. +function RuntimeError(transactions, vm_output) { + Error.call(this); + this.results = {}; + this.hashes = []; + this.combine(transactions, vm_output); +}; + +RuntimeError.prototype.combine = function(transactions, vm_output) { + // Can be combined with vm_output or another RuntimeError. + if (transactions instanceof RuntimeError) { + var err = transactions; + var keys = Object.keys(err.results); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + this.results[key] = err.results[key]; + Array.prototype.push.apply(this.hashes, err.hashes); + } + } else { + var results = vm_output.results; + var receipts = vm_output.receipts; + + for (var i = 0; i < transactions.length; i++) { + var tx = transactions[i]; + var result = results[i]; + var receipt = receipts[i]; + + // 1 means no error, oddly. + if (result.vm.exception != 1) { + var hash = to.hex(tx.hash()); + + this.hashes.push(hash); + + this.results[hash] = { + error: result.vm.exceptionError, + program_counter: result.vm.runState.programCounter + }; + } + } + } + + // Once combined, set the message + if (this.hashes.length == 1) { + this.message = "VM Exception while processing transaction: " + this.results[this.hashes[0]].error; + } else { + this.message = "Multiple VM Exceptions while processing transactions: \n\n"; + + for (var i = 0; i < this.hashes.length; i++) { + var hash = this.hashes[i]; + + this.message += hash + ": " + this.results[hash].error + "\n"; + } + } +}; + +RuntimeError.prototype.count = function() { + return Object.keys(this.results).length; +}; + +RuntimeError.fromResults = function(transactions, vm_output) { + var err = new RuntimeError(transactions, vm_output); + + if (err.count() == 0) { + return null; + } + + return err; +}; + +module.exports = RuntimeError; + + +/***/ }), +/* 79 */ +/***/ (function(module, exports, __webpack_require__) { + ;(function (root, factory) { if (true) { // CommonJS @@ -26421,7 +26504,7 @@ module.exports = __webpack_require__(95) })); /***/ }), -/* 79 */ +/* 80 */ /***/ (function(module, exports, __webpack_require__) { ;(function (root, factory) { @@ -26569,7 +26652,7 @@ module.exports = __webpack_require__(95) })); /***/ }), -/* 80 */ +/* 81 */ /***/ (function(module, exports, __webpack_require__) { /* @@ -26838,13 +26921,13 @@ module.exports = coder; /***/ }), -/* 81 */ +/* 82 */ /***/ (function(module, exports) { module.exports = require("http"); /***/ }), -/* 82 */ +/* 83 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -26871,7 +26954,7 @@ module.exports = function (db, opts) { /***/ }), -/* 83 */ +/* 84 */ /***/ (function(module, exports, __webpack_require__) { /* Copyright (c) 2012-2014 LevelUP contributors @@ -26880,7 +26963,7 @@ module.exports = function (db, opts) { * */ -var createError = __webpack_require__(103).create +var createError = __webpack_require__(104).create , LevelUPError = createError('LevelUPError') , NotFoundError = createError('NotFoundError', LevelUPError) @@ -26899,7 +26982,7 @@ module.exports = { /***/ }), -/* 84 */ +/* 85 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -26994,7 +27077,7 @@ function forEach (xs, f) { /***/ }), -/* 85 */ +/* 86 */ /***/ (function(module, exports, __webpack_require__) { var to = __webpack_require__(10); @@ -27050,7 +27133,7 @@ module.exports = { /***/ }), -/* 86 */ +/* 87 */ /***/ (function(module, exports, __webpack_require__) { var ProviderEngine = __webpack_require__(158); @@ -27066,6 +27149,8 @@ var ReactiveBlockTracker = __webpack_require__(400); var GethDefaults = __webpack_require__(401); var GethApiDouble = __webpack_require__(402); +var RuntimeError = __webpack_require__(78); + function Provider(options) { var self = this; @@ -27121,17 +27206,21 @@ Provider.prototype.sendAsync = function(payload, callback) { payload = externalize(payload); } - var intermediary = callback; + var intermediary = function(err, result) { + if (err) { + // If we find a runtime error, mimic the result that would be sent back from + // normal Ethereum clients that don't return runtime errors (e.g., geth, parity). + if (err instanceof RuntimeError && (payload.method == "eth_sendTransaction" || payload.method == "eth_sendRawTransaction")) { + result.result = err.hashes[0]; + } + } else if (self.options.verbose) { + self.options.logger.log(" < " + JSON.stringify(result, null, 2).split("\n").join("\n < ")); + } + callback(err, result); + }; if (self.options.verbose) { self.options.logger.log(" > " + JSON.stringify(payload, null, 2).split("\n").join("\n > ")); - - intermediary = function(err, result) { - if (!err) { - self.options.logger.log(" < " + JSON.stringify(result, null, 2).split("\n").join("\n < ")); - } - callback(err, result); - }; } this.engine.sendAsync(payload, intermediary); @@ -27150,7 +27239,7 @@ module.exports = Provider; /***/ }), -/* 87 */ +/* 88 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27185,7 +27274,7 @@ module.exports = function (KeccakState) { /***/ }), -/* 88 */ +/* 89 */ /***/ (function(module, exports) { function webpackEmptyContext(req) { @@ -27194,16 +27283,16 @@ function webpackEmptyContext(req) { webpackEmptyContext.keys = function() { return []; }; webpackEmptyContext.resolve = webpackEmptyContext; module.exports = webpackEmptyContext; -webpackEmptyContext.id = 88; +webpackEmptyContext.id = 89; /***/ }), -/* 89 */ +/* 90 */ /***/ (function(module, exports) { module.exports = {"COMPRESSED_TYPE_INVALID":"compressed should be a boolean","EC_PRIVATE_KEY_TYPE_INVALID":"private key should be a Buffer","EC_PRIVATE_KEY_LENGTH_INVALID":"private key length is invalid","EC_PRIVATE_KEY_TWEAK_ADD_FAIL":"tweak out of range or resulting private key is invalid","EC_PRIVATE_KEY_TWEAK_MUL_FAIL":"tweak out of range","EC_PRIVATE_KEY_EXPORT_DER_FAIL":"couldn't export to DER format","EC_PRIVATE_KEY_IMPORT_DER_FAIL":"couldn't import from DER format","EC_PUBLIC_KEYS_TYPE_INVALID":"public keys should be an Array","EC_PUBLIC_KEYS_LENGTH_INVALID":"public keys Array should have at least 1 element","EC_PUBLIC_KEY_TYPE_INVALID":"public key should be a Buffer","EC_PUBLIC_KEY_LENGTH_INVALID":"public key length is invalid","EC_PUBLIC_KEY_PARSE_FAIL":"the public key could not be parsed or is invalid","EC_PUBLIC_KEY_CREATE_FAIL":"private was invalid, try again","EC_PUBLIC_KEY_TWEAK_ADD_FAIL":"tweak out of range or resulting public key is invalid","EC_PUBLIC_KEY_TWEAK_MUL_FAIL":"tweak out of range","EC_PUBLIC_KEY_COMBINE_FAIL":"the sum of the public keys is not valid","ECDH_FAIL":"scalar was invalid (zero or overflow)","ECDSA_SIGNATURE_TYPE_INVALID":"signature should be a Buffer","ECDSA_SIGNATURE_LENGTH_INVALID":"signature length is invalid","ECDSA_SIGNATURE_PARSE_FAIL":"couldn't parse signature","ECDSA_SIGNATURE_PARSE_DER_FAIL":"couldn't parse DER signature","ECDSA_SIGNATURE_SERIALIZE_DER_FAIL":"couldn't serialize signature to DER format","ECDSA_SIGN_FAIL":"nonce generation function failed or private key is invalid","ECDSA_RECOVER_FAIL":"couldn't recover public key from signature","MSG32_TYPE_INVALID":"message should be a Buffer","MSG32_LENGTH_INVALID":"message length is invalid","OPTIONS_TYPE_INVALID":"options should be an Object","OPTIONS_DATA_TYPE_INVALID":"options.data should be a Buffer","OPTIONS_DATA_LENGTH_INVALID":"options.data length is invalid","OPTIONS_NONCEFN_TYPE_INVALID":"options.noncefn should be a Function","RECOVERY_ID_TYPE_INVALID":"recovery should be a Number","RECOVERY_ID_VALUE_INVALID":"recovery should have value between -1 and 4","TWEAK_TYPE_INVALID":"tweak should be a Buffer","TWEAK_LENGTH_INVALID":"tweak length is invalid"} /***/ }), -/* 90 */ +/* 91 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27268,7 +27357,7 @@ utils.encode = function encode(arr, enc) { /***/ }), -/* 91 */ +/* 92 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27324,7 +27413,7 @@ exports.g1_256 = g1_256; /***/ }), -/* 92 */ +/* 93 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27332,7 +27421,7 @@ exports.g1_256 = g1_256; var utils = __webpack_require__(22); var common = __webpack_require__(48); -var shaCommon = __webpack_require__(91); +var shaCommon = __webpack_require__(92); var assert = __webpack_require__(31); var sum32 = utils.sum32; @@ -27436,7 +27525,7 @@ SHA256.prototype._digest = function digest(enc) { /***/ }), -/* 93 */ +/* 94 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27773,7 +27862,7 @@ function g1_512_lo(xh, xl) { /***/ }), -/* 94 */ +/* 95 */ /***/ (function(module, exports) { /** @@ -27792,7 +27881,7 @@ module.exports = function isHexPrefixed(str) { /***/ }), -/* 95 */ +/* 96 */ /***/ (function(module, exports, __webpack_require__) { const util = __webpack_require__(0) @@ -27879,14 +27968,14 @@ VM.prototype.populateCache = function (addresses, cb) { /***/ }), -/* 96 */ +/* 97 */ /***/ (function(module, exports, __webpack_require__) { /* Copyright (c) 2017 Rod Vagg, MIT License */ var xtend = __webpack_require__(36) - , AbstractIterator = __webpack_require__(97) - , AbstractChainedBatch = __webpack_require__(98) + , AbstractIterator = __webpack_require__(98) + , AbstractChainedBatch = __webpack_require__(99) function AbstractLevelDOWN (location) { if (!arguments.length || location === undefined) @@ -28157,7 +28246,7 @@ module.exports = AbstractLevelDOWN /***/ }), -/* 97 */ +/* 98 */ /***/ (function(module, exports) { /* Copyright (c) 2017 Rod Vagg, MIT License */ @@ -28212,7 +28301,7 @@ module.exports = AbstractIterator /***/ }), -/* 98 */ +/* 99 */ /***/ (function(module, exports) { /* Copyright (c) 2017 Rod Vagg, MIT License */ @@ -28306,7 +28395,7 @@ module.exports = AbstractChainedBatch /***/ }), -/* 99 */ +/* 100 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -28435,7 +28524,7 @@ function ReadableState(options, stream) { this.encoding = null; if (options.encoding) { if (!StringDecoder) - StringDecoder = __webpack_require__(101).StringDecoder; + StringDecoder = __webpack_require__(102).StringDecoder; this.decoder = new StringDecoder(options.encoding); this.encoding = options.encoding; } @@ -28545,7 +28634,7 @@ function needMoreData(state) { // backwards compatibility. Readable.prototype.setEncoding = function(enc) { if (!StringDecoder) - StringDecoder = __webpack_require__(101).StringDecoder; + StringDecoder = __webpack_require__(102).StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; return this; @@ -29263,7 +29352,7 @@ function indexOf (xs, x) { /***/ }), -/* 100 */ +/* 101 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -29746,7 +29835,7 @@ function endWritable(stream, state, cb) { /***/ }), -/* 101 */ +/* 102 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -29973,7 +30062,7 @@ function base64DetectIncompleteChar(buffer) { /***/ }), -/* 102 */ +/* 103 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -30188,7 +30277,7 @@ function done(stream, er) { /***/ }), -/* 103 */ +/* 104 */ /***/ (function(module, exports, __webpack_require__) { var all = module.exports.all = [ @@ -30507,7 +30596,7 @@ module.exports.create = module.exports.custom.createError /***/ }), -/* 104 */ +/* 105 */ /***/ (function(module, exports) { /* Copyright (c) 2012-2016 LevelUP contributors @@ -30547,12 +30636,12 @@ module.exports = { /***/ }), -/* 105 */ +/* 106 */ /***/ (function(module, exports, __webpack_require__) { var inherits = __webpack_require__(2) - , AbstractLevelDOWN = __webpack_require__(106).AbstractLevelDOWN - , AbstractIterator = __webpack_require__(106).AbstractIterator + , AbstractLevelDOWN = __webpack_require__(107).AbstractLevelDOWN + , AbstractIterator = __webpack_require__(107).AbstractIterator , ltgt = __webpack_require__(68) , createRBT = __webpack_require__(66) , globalStore = {} @@ -30781,24 +30870,24 @@ module.exports = MemDOWN /***/ }), -/* 106 */ +/* 107 */ /***/ (function(module, exports, __webpack_require__) { -exports.AbstractLevelDOWN = __webpack_require__(107) -exports.AbstractIterator = __webpack_require__(108) -exports.AbstractChainedBatch = __webpack_require__(109) +exports.AbstractLevelDOWN = __webpack_require__(108) +exports.AbstractIterator = __webpack_require__(109) +exports.AbstractChainedBatch = __webpack_require__(110) exports.isLevelDOWN = __webpack_require__(227) /***/ }), -/* 107 */ +/* 108 */ /***/ (function(module, exports, __webpack_require__) { /* Copyright (c) 2013 Rod Vagg, MIT License */ var xtend = __webpack_require__(36) - , AbstractIterator = __webpack_require__(108) - , AbstractChainedBatch = __webpack_require__(109) + , AbstractIterator = __webpack_require__(109) + , AbstractChainedBatch = __webpack_require__(110) function AbstractLevelDOWN (location) { if (!arguments.length || location === undefined) @@ -31069,7 +31158,7 @@ module.exports = AbstractLevelDOWN /***/ }), -/* 108 */ +/* 109 */ /***/ (function(module, exports) { /* Copyright (c) 2013 Rod Vagg, MIT License */ @@ -31124,7 +31213,7 @@ module.exports = AbstractIterator /***/ }), -/* 109 */ +/* 110 */ /***/ (function(module, exports) { /* Copyright (c) 2013 Rod Vagg, MIT License */ @@ -31209,7 +31298,7 @@ AbstractChainedBatch.prototype.write = function (options, callback) { module.exports = AbstractChainedBatch /***/ }), -/* 110 */ +/* 111 */ /***/ (function(module, exports, __webpack_require__) { const rlp = __webpack_require__(24) @@ -31470,7 +31559,7 @@ function isRawNode (node) { /***/ }), -/* 111 */ +/* 112 */ /***/ (function(module, exports, __webpack_require__) { var Stream = __webpack_require__(4); @@ -31484,18 +31573,18 @@ if (process.env.READABLE_STREAM === 'disable' && Stream) { exports.PassThrough = Stream.PassThrough; exports.Stream = Stream; } else { - exports = module.exports = __webpack_require__(112); + exports = module.exports = __webpack_require__(113); exports.Stream = Stream || exports; exports.Readable = exports; - exports.Writable = __webpack_require__(115); + exports.Writable = __webpack_require__(116); exports.Duplex = __webpack_require__(39); - exports.Transform = __webpack_require__(117); + exports.Transform = __webpack_require__(118); exports.PassThrough = __webpack_require__(234); } /***/ }), -/* 112 */ +/* 113 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -31548,7 +31637,7 @@ var EElistenerCount = function (emitter, type) { /**/ /**/ -var Stream = __webpack_require__(113); +var Stream = __webpack_require__(114); /**/ // TODO(bmeurer): Change this back to const once hole checks are @@ -31580,7 +31669,7 @@ if (debugUtil && debugUtil.debuglog) { /**/ var BufferList = __webpack_require__(232); -var destroyImpl = __webpack_require__(114); +var destroyImpl = __webpack_require__(115); var StringDecoder; util.inherits(Readable, Stream); @@ -31663,7 +31752,7 @@ function ReadableState(options, stream) { this.decoder = null; this.encoding = null; if (options.encoding) { - if (!StringDecoder) StringDecoder = __webpack_require__(116).StringDecoder; + if (!StringDecoder) StringDecoder = __webpack_require__(117).StringDecoder; this.decoder = new StringDecoder(options.encoding); this.encoding = options.encoding; } @@ -31819,7 +31908,7 @@ Readable.prototype.isPaused = function () { // backwards compatibility. Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = __webpack_require__(116).StringDecoder; + if (!StringDecoder) StringDecoder = __webpack_require__(117).StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; return this; @@ -32508,14 +32597,14 @@ function indexOf(xs, x) { } /***/ }), -/* 113 */ +/* 114 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(4); /***/ }), -/* 114 */ +/* 115 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -32593,7 +32682,7 @@ module.exports = { }; /***/ }), -/* 115 */ +/* 116 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -32674,7 +32763,7 @@ var internalUtil = { /**/ /**/ -var Stream = __webpack_require__(113); +var Stream = __webpack_require__(114); /**/ /**/ @@ -32688,7 +32777,7 @@ function _isUint8Array(obj) { } /**/ -var destroyImpl = __webpack_require__(114); +var destroyImpl = __webpack_require__(115); util.inherits(Writable, Stream); @@ -33263,7 +33352,7 @@ Writable.prototype._destroy = function (err, cb) { }; /***/ }), -/* 116 */ +/* 117 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -33541,7 +33630,7 @@ function simpleEnd(buf) { } /***/ }), -/* 117 */ +/* 118 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -33761,7 +33850,7 @@ function done(stream, er, data) { } /***/ }), -/* 118 */ +/* 119 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -33879,7 +33968,7 @@ function ReadableState(options, stream) { this.encoding = null; if (options.encoding) { if (!StringDecoder) - StringDecoder = __webpack_require__(119).StringDecoder; + StringDecoder = __webpack_require__(120).StringDecoder; this.decoder = new StringDecoder(options.encoding); this.encoding = options.encoding; } @@ -33980,7 +34069,7 @@ function needMoreData(state) { // backwards compatibility. Readable.prototype.setEncoding = function(enc) { if (!StringDecoder) - StringDecoder = __webpack_require__(119).StringDecoder; + StringDecoder = __webpack_require__(120).StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; }; @@ -34749,7 +34838,7 @@ function indexOf (xs, x) { /***/ }), -/* 119 */ +/* 120 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -34976,7 +35065,7 @@ function base64DetectIncompleteChar(buffer) { /***/ }), -/* 120 */ +/* 121 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -35368,7 +35457,7 @@ function endWritable(stream, state, cb) { /***/ }), -/* 121 */ +/* 122 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -35584,11 +35673,11 @@ function done(stream, er) { /***/ }), -/* 122 */ +/* 123 */ /***/ (function(module, exports, __webpack_require__) { var isFunction = __webpack_require__(260), - isLength = __webpack_require__(127); + isLength = __webpack_require__(128); /** * Checks if `value` is array-like. A value is considered array-like if it's @@ -35623,10 +35712,10 @@ module.exports = isArrayLike; /***/ }), -/* 123 */ +/* 124 */ /***/ (function(module, exports, __webpack_require__) { -var root = __webpack_require__(124); +var root = __webpack_require__(125); /** Built-in value references. */ var Symbol = root.Symbol; @@ -35635,10 +35724,10 @@ module.exports = Symbol; /***/ }), -/* 124 */ +/* 125 */ /***/ (function(module, exports, __webpack_require__) { -var freeGlobal = __webpack_require__(125); +var freeGlobal = __webpack_require__(126); /** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self; @@ -35650,7 +35739,7 @@ module.exports = root; /***/ }), -/* 125 */ +/* 126 */ /***/ (function(module, exports) { /** Detect free variable `global` from Node.js. */ @@ -35660,7 +35749,7 @@ module.exports = freeGlobal; /***/ }), -/* 126 */ +/* 127 */ /***/ (function(module, exports) { /** @@ -35697,7 +35786,7 @@ module.exports = isObject; /***/ }), -/* 127 */ +/* 128 */ /***/ (function(module, exports) { /** Used as references for various `Number` constants. */ @@ -35738,7 +35827,7 @@ module.exports = isLength; /***/ }), -/* 128 */ +/* 129 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -35760,7 +35849,7 @@ function slice(arrayLike, start) { module.exports = exports["default"]; /***/ }), -/* 129 */ +/* 130 */ /***/ (function(module, exports, __webpack_require__) { const SHA3 = __webpack_require__(49) @@ -36467,13 +36556,13 @@ exports.defineProperties = function (self, fields, data) { /***/ }), -/* 130 */ +/* 131 */ /***/ (function(module, exports) { module.exports = {"genesisGasLimit":{"v":5000,"d":"Gas limit of the Genesis block."},"genesisDifficulty":{"v":17179869184,"d":"Difficulty of the Genesis block."},"genesisNonce":{"v":"0x0000000000000042","d":"the geneis nonce"},"genesisExtraData":{"v":"0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa","d":"extra data "},"genesisHash":{"v":"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3","d":"genesis hash"},"genesisStateRoot":{"v":"0xd7f8974fb5ac78d9ac099b9ad5018bedc2ce0a72dad1827a1709da30580f0544","d":"the genesis state root"},"minGasLimit":{"v":5000,"d":"Minimum the gas limit may ever be."},"gasLimitBoundDivisor":{"v":1024,"d":"The bound divisor of the gas limit, used in update calculations."},"minimumDifficulty":{"v":131072,"d":"The minimum that the difficulty may ever be."},"difficultyBoundDivisor":{"v":2048,"d":"The bound divisor of the difficulty, used in the update calculations."},"durationLimit":{"v":13,"d":"The decision boundary on the blocktime duration used to determine whether difficulty should go up or not."},"maximumExtraDataSize":{"v":32,"d":"Maximum size extra data may be after Genesis."},"epochDuration":{"v":30000,"d":"Duration between proof-of-work epochs."},"stackLimit":{"v":1024,"d":"Maximum size of VM stack allowed."},"callCreateDepth":{"v":1024,"d":"Maximum depth of call/create stack."},"tierStepGas":{"v":[0,2,3,5,8,10,20],"d":"Once per operation, for a selection of them."},"expGas":{"v":10,"d":"Once per EXP instuction."},"expByteGas":{"v":10,"d":"Times ceil(log256(exponent)) for the EXP instruction."},"sha3Gas":{"v":30,"d":"Once per SHA3 operation."},"sha3WordGas":{"v":6,"d":"Once per word of the SHA3 operation's data."},"sloadGas":{"v":50,"d":"Once per SLOAD operation."},"sstoreSetGas":{"v":20000,"d":"Once per SSTORE operation if the zeroness changes from zero."},"sstoreResetGas":{"v":5000,"d":"Once per SSTORE operation if the zeroness does not change from zero."},"sstoreRefundGas":{"v":15000,"d":"Once per SSTORE operation if the zeroness changes to zero."},"jumpdestGas":{"v":1,"d":"Refunded gas, once per SSTORE operation if the zeroness changes to zero."},"logGas":{"v":375,"d":"Per LOG* operation."},"logDataGas":{"v":8,"d":"Per byte in a LOG* operation's data."},"logTopicGas":{"v":375,"d":"Multiplied by the * of the LOG*, per LOG transaction. e.g. LOG0 incurs 0 * c_txLogTopicGas, LOG4 incurs 4 * c_txLogTopicGas."},"createGas":{"v":32000,"d":"Once per CREATE operation & contract-creation transaction."},"callGas":{"v":40,"d":"Once per CALL operation & message call transaction."},"callStipend":{"v":2300,"d":"Free gas given at beginning of call."},"callValueTransferGas":{"v":9000,"d":"Paid for CALL when the value transfor is non-zero."},"callNewAccountGas":{"v":25000,"d":"Paid for CALL when the destination address didn't exist prior."},"suicideRefundGas":{"v":24000,"d":"Refunded following a suicide operation."},"memoryGas":{"v":3,"d":"Times the address of the (highest referenced byte in memory + 1). NOTE: referencing happens on read, write and in instructions such as RETURN and CALL."},"quadCoeffDiv":{"v":512,"d":"Divisor for the quadratic particle of the memory cost equation."},"createDataGas":{"v":200,"d":""},"txGas":{"v":21000,"d":"Per transaction. NOTE: Not payable on data of calls between transactions."},"txCreation":{"v":32000,"d":"the cost of creating a contract via tx"},"txDataZeroGas":{"v":4,"d":"Per byte of data attached to a transaction that equals zero. NOTE: Not payable on data of calls between transactions."},"txDataNonZeroGas":{"v":68,"d":"Per byte of data attached to a transaction that is not equal to zero. NOTE: Not payable on data of calls between transactions."},"copyGas":{"v":3,"d":"Multiplied by the number of 32-byte words that are copied (round up) for any *COPY operation and added."},"ecrecoverGas":{"v":3000,"d":""},"sha256Gas":{"v":60,"d":""},"sha256WordGas":{"v":12,"d":""},"ripemd160Gas":{"v":600,"d":""},"ripemd160WordGas":{"v":120,"d":""},"identityGas":{"v":15,"d":""},"identityWordGas":{"v":3,"d":""},"minerReward":{"v":"5000000000000000000","d":"the amount a miner get rewarded for mining a block"},"ommerReward":{"v":"625000000000000000","d":"The amount of wei a miner of an uncle block gets for being inculded in the blockchain"},"niblingReward":{"v":"156250000000000000","d":"the amount a miner gets for inculding a uncle"},"homeSteadForkNumber":{"v":1150000,"d":"the block that the Homestead fork started at"},"homesteadRepriceForkNumber":{"v":2463000,"d":"the block that the Homestead Reprice (EIP150) fork started at"},"timebombPeriod":{"v":100000,"d":"Exponential difficulty timebomb period"},"freeBlockPeriod":{"v":2}} /***/ }), -/* 131 */ +/* 132 */ /***/ (function(module, exports, __webpack_require__) { var params = __webpack_require__(297) @@ -36483,7 +36572,7 @@ module.exports = params /***/ }), -/* 132 */ +/* 133 */ /***/ (function(module, exports, __webpack_require__) { const assert = __webpack_require__(23) @@ -36576,89 +36665,6 @@ Bloom.prototype.or = function (bloom) { } -/***/ }), -/* 133 */ -/***/ (function(module, exports, __webpack_require__) { - -var inherits = __webpack_require__(0).inherits; -var to = __webpack_require__(10); - -inherits(RuntimeError, Error); - -// Note: ethereumjs-vm will return an object that has a "results" and "receipts" keys. -// You should pass in the whole object. -function RuntimeError(transactions, vm_output) { - Error.call(this); - this.results = {}; - this.hashes = []; - this.combine(transactions, vm_output); -}; - -RuntimeError.prototype.combine = function(transactions, vm_output) { - // Can be combined with vm_output or another RuntimeError. - if (transactions instanceof RuntimeError) { - var err = transactions; - var keys = Object.keys(err.results); - - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - this.results[key] = err.results[key]; - Array.prototype.push.apply(this.hashes, err.hashes); - } - } else { - var results = vm_output.results; - var receipts = vm_output.receipts; - - for (var i = 0; i < transactions.length; i++) { - var tx = transactions[i]; - var result = results[i]; - var receipt = receipts[i]; - - // 1 means no error, oddly. - if (result.vm.exception != 1) { - var hash = to.hex(tx.hash()); - - this.hashes.push(hash); - - this.results[hash] = { - error: result.vm.exceptionError, - program_counter: result.vm.runState.programCounter - }; - } - } - } - - // Once combined, set the message - if (this.hashes.length == 1) { - this.message = "VM Exception while processing transaction: " + this.results[this.hashes[0]].error; - } else { - this.message = "Multiple VM Exceptions while processing transactions: \n\n"; - - for (var i = 0; i < this.hashes.length; i++) { - var hash = this.hashes[i]; - - this.message += hash + ": " + this.results[hash].error + "\n"; - } - } -}; - -RuntimeError.prototype.count = function() { - return Object.keys(this.results).length; -}; - -RuntimeError.fromResults = function(transactions, vm_output) { - var err = new RuntimeError(transactions, vm_output); - - if (err.count() == 0) { - return null; - } - - return err; -}; - -module.exports = RuntimeError; - - /***/ }), /* 134 */ /***/ (function(module, exports) { @@ -37795,7 +37801,7 @@ module.exports = SolidityParam; */ var utils = __webpack_require__(5); -var coder = __webpack_require__(80); +var coder = __webpack_require__(81); var formatters = __webpack_require__(26); var sha3 = __webpack_require__(53); var Filter = __webpack_require__(61); @@ -39511,7 +39517,7 @@ function WritableState(options, stream) { } function Writable(options) { - var Duplex = __webpack_require__(84); + var Duplex = __webpack_require__(85); // Writable ctor is applied to Duplexes, though they're not // instanceof Writable, they're instanceof Readable. @@ -39848,7 +39854,7 @@ function endWritable(stream, state, cb) { module.exports = Transform; -var Duplex = __webpack_require__(84); +var Duplex = __webpack_require__(85); /**/ var util = __webpack_require__(3); @@ -40540,7 +40546,7 @@ function checkLength(input) { /* 157 */ /***/ (function(module, exports, __webpack_require__) { -var Provider = __webpack_require__(86); +var Provider = __webpack_require__(87); var Server = __webpack_require__(445); // This interface exists so as not to cause breaking changes. @@ -41009,7 +41015,7 @@ try { "use strict"; -module.exports = __webpack_require__(87)(__webpack_require__(166)('keccak')) +module.exports = __webpack_require__(88)(__webpack_require__(166)('keccak')) /***/ }), @@ -41398,7 +41404,7 @@ exports.getRoot = function getRoot (file) { "use strict"; -module.exports = __webpack_require__(87)(__webpack_require__(168)) +module.exports = __webpack_require__(88)(__webpack_require__(168)) /***/ }), @@ -41680,7 +41686,7 @@ exports.p1600 = function (s) { var assert = __webpack_require__(171) var der = __webpack_require__(172) -var messages = __webpack_require__(89) +var messages = __webpack_require__(90) function initCompressedValue (value, defaultValue) { if (value === undefined) return defaultValue @@ -42296,7 +42302,7 @@ var createHash = __webpack_require__(20) var BN = __webpack_require__(8) var EC = __webpack_require__(13).ec -var messages = __webpack_require__(89) +var messages = __webpack_require__(90) var ec = new EC('secp256k1') var ecparams = ec.curve @@ -42556,7 +42562,7 @@ module.exports = {"_args":[["elliptic@6.4.0","/Users/tim/Documents/workspace/Con var utils = exports; var BN = __webpack_require__(8); var minAssert = __webpack_require__(31); -var minUtils = __webpack_require__(90); +var minUtils = __webpack_require__(91); utils.assert = minAssert; utils.toArray = minUtils.toArray; @@ -44919,9 +44925,9 @@ defineCurve('secp256k1', { exports.sha1 = __webpack_require__(184); exports.sha224 = __webpack_require__(185); -exports.sha256 = __webpack_require__(92); +exports.sha256 = __webpack_require__(93); exports.sha384 = __webpack_require__(186); -exports.sha512 = __webpack_require__(93); +exports.sha512 = __webpack_require__(94); /***/ }), @@ -44933,7 +44939,7 @@ exports.sha512 = __webpack_require__(93); var utils = __webpack_require__(22); var common = __webpack_require__(48); -var shaCommon = __webpack_require__(91); +var shaCommon = __webpack_require__(92); var rotl32 = utils.rotl32; var sum32 = utils.sum32; @@ -45013,7 +45019,7 @@ SHA1.prototype._digest = function digest(enc) { var utils = __webpack_require__(22); -var SHA256 = __webpack_require__(92); +var SHA256 = __webpack_require__(93); function SHA224() { if (!(this instanceof SHA224)) @@ -45051,7 +45057,7 @@ SHA224.prototype._digest = function digest(enc) { var utils = __webpack_require__(22); -var SHA512 = __webpack_require__(93); +var SHA512 = __webpack_require__(94); function SHA384() { if (!(this instanceof SHA384)) @@ -46332,7 +46338,7 @@ EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) { var hash = __webpack_require__(65); -var utils = __webpack_require__(90); +var utils = __webpack_require__(91); var assert = __webpack_require__(31); function HmacDRBG(options) { @@ -47020,7 +47026,7 @@ module.exports = Signature; "use strict"; -var isHexPrefixed = __webpack_require__(94); +var isHexPrefixed = __webpack_require__(95); var stripHexPrefix = __webpack_require__(198); /** @@ -47243,7 +47249,7 @@ module.exports = { /* 198 */ /***/ (function(module, exports, __webpack_require__) { -var isHexPrefixed = __webpack_require__(94); +var isHexPrefixed = __webpack_require__(95); /** * Removes '0x' from a given `String` is present @@ -47905,7 +47911,7 @@ const async = __webpack_require__(14) const ethUtil = __webpack_require__(9) const Account = __webpack_require__(25) const FakeMerklePatriciaTree = __webpack_require__(206) -const VM = __webpack_require__(95) +const VM = __webpack_require__(96) const ZERO_BUFFER = new Buffer('0000000000000000000000000000000000000000000000000000000000000000', 'hex') module.exports = createHookedVm @@ -49816,12 +49822,12 @@ function SecureTrie () { const assert = __webpack_require__(23) const levelup = __webpack_require__(67) -const memdown = __webpack_require__(105) +const memdown = __webpack_require__(106) const async = __webpack_require__(69) const rlp = __webpack_require__(24) const ethUtil = __webpack_require__(70) const semaphore = __webpack_require__(229) -const TrieNode = __webpack_require__(110) +const TrieNode = __webpack_require__(111) const ReadStream = __webpack_require__(230) const matchingNibbleLength = __webpack_require__(51).matchingNibbleLength const doKeysMatch = __webpack_require__(51).doKeysMatch @@ -50684,7 +50690,7 @@ module.exports.DeferredIterator = DeferredIterator /* 213 */ /***/ (function(module, exports, __webpack_require__) { -var AbstractLevelDOWN = __webpack_require__(96) +var AbstractLevelDOWN = __webpack_require__(97) function isLevelDOWN (db) { if (!db || typeof db !== 'object') @@ -50806,12 +50812,12 @@ ReadStream.prototype._cleanup = function(){ /* 216 */ /***/ (function(module, exports, __webpack_require__) { -exports = module.exports = __webpack_require__(99); +exports = module.exports = __webpack_require__(100); exports.Stream = __webpack_require__(4); exports.Readable = exports; -exports.Writable = __webpack_require__(100); +exports.Writable = __webpack_require__(101); exports.Duplex = __webpack_require__(38); -exports.Transform = __webpack_require__(102); +exports.Transform = __webpack_require__(103); exports.PassThrough = __webpack_require__(218); if (!process.browser && process.env.READABLE_STREAM === 'disable') { module.exports = __webpack_require__(4); @@ -50858,7 +50864,7 @@ module.exports = Array.isArray || function (arr) { module.exports = PassThrough; -var Transform = __webpack_require__(102); +var Transform = __webpack_require__(103); /**/ var util = __webpack_require__(3); @@ -51018,7 +51024,7 @@ module.exports = function (errno) { * */ -var util = __webpack_require__(104) +var util = __webpack_require__(105) var WriteError = __webpack_require__(50).WriteError var getOptions = util.getOptions var dispatchError = util.dispatchError @@ -52649,7 +52655,7 @@ function intersects(r1, r2, loose) { /* 227 */ /***/ (function(module, exports, __webpack_require__) { -var AbstractLevelDOWN = __webpack_require__(107) +var AbstractLevelDOWN = __webpack_require__(108) function isLevelDOWN (db) { if (!db || typeof db !== 'object') @@ -52783,8 +52789,8 @@ if (true) { /* 230 */ /***/ (function(module, exports, __webpack_require__) { -const Readable = __webpack_require__(111).Readable -const TrieNode = __webpack_require__(110) +const Readable = __webpack_require__(112).Readable +const TrieNode = __webpack_require__(111) const util = __webpack_require__(0) module.exports = TrieReadStream @@ -52954,7 +52960,7 @@ module.exports = __webpack_require__(0).deprecate; module.exports = PassThrough; -var Transform = __webpack_require__(117); +var Transform = __webpack_require__(118); /**/ var util = __webpack_require__(3); @@ -52978,10 +52984,10 @@ PassThrough.prototype._transform = function (chunk, encoding, cb) { /***/ (function(module, exports, __webpack_require__) { const levelup = __webpack_require__(67) -const memdown = __webpack_require__(105) +const memdown = __webpack_require__(106) const async = __webpack_require__(69) const inherits = __webpack_require__(0).inherits -const Readable = __webpack_require__(111).Readable +const Readable = __webpack_require__(112).Readable const levelws = __webpack_require__(236) const callTogether = __webpack_require__(51).callTogether @@ -53328,12 +53334,12 @@ module.exports.WriteStream = WriteStream /***/ (function(module, exports, __webpack_require__) { var Stream = __webpack_require__(4); // hack to fix a circular dependency issue when used with browserify -exports = module.exports = __webpack_require__(118); +exports = module.exports = __webpack_require__(119); exports.Stream = Stream; exports.Readable = exports; -exports.Writable = __webpack_require__(120); +exports.Writable = __webpack_require__(121); exports.Duplex = __webpack_require__(71); -exports.Transform = __webpack_require__(121); +exports.Transform = __webpack_require__(122); exports.PassThrough = __webpack_require__(239); if (!process.browser && process.env.READABLE_STREAM === 'disable') { module.exports = __webpack_require__(4); @@ -53380,7 +53386,7 @@ module.exports = Array.isArray || function (arr) { module.exports = PassThrough; -var Transform = __webpack_require__(121); +var Transform = __webpack_require__(122); /**/ var util = __webpack_require__(3); @@ -54252,7 +54258,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = iterator; -var _isArrayLike = __webpack_require__(122); +var _isArrayLike = __webpack_require__(123); var _isArrayLike2 = _interopRequireDefault(_isArrayLike); @@ -54309,7 +54315,7 @@ module.exports = exports['default']; /***/ (function(module, exports, __webpack_require__) { var baseGetTag = __webpack_require__(72), - isObject = __webpack_require__(126); + isObject = __webpack_require__(127); /** `Object#toString` result references. */ var asyncTag = '[object AsyncFunction]', @@ -54351,7 +54357,7 @@ module.exports = isFunction; /* 261 */ /***/ (function(module, exports, __webpack_require__) { -var Symbol = __webpack_require__(123); +var Symbol = __webpack_require__(124); /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -54452,7 +54458,7 @@ module.exports = exports['default']; var arrayLikeKeys = __webpack_require__(265), baseKeys = __webpack_require__(277), - isArrayLike = __webpack_require__(122); + isArrayLike = __webpack_require__(123); /** * Creates an array of the own enumerable property names of `object`. @@ -54672,7 +54678,7 @@ module.exports = isArray; /* 270 */ /***/ (function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(124), +/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(125), stubFalse = __webpack_require__(271); /** Detect free variable `exports`. */ @@ -54803,7 +54809,7 @@ module.exports = isTypedArray; /***/ (function(module, exports, __webpack_require__) { var baseGetTag = __webpack_require__(72), - isLength = __webpack_require__(127), + isLength = __webpack_require__(128), isObjectLike = __webpack_require__(73); /** `Object#toString` result references. */ @@ -54888,7 +54894,7 @@ module.exports = baseUnary; /* 276 */ /***/ (function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(125); +/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(126); /** Detect free variable `exports`. */ var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; @@ -55103,7 +55109,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = asyncify; -var _isObject = __webpack_require__(126); +var _isObject = __webpack_require__(127); var _isObject2 = _interopRequireDefault(_isObject); @@ -55226,7 +55232,7 @@ exports.default = function (fn) { }; }; -var _slice = __webpack_require__(128); +var _slice = __webpack_require__(129); var _slice2 = _interopRequireDefault(_slice); @@ -55248,7 +55254,7 @@ exports.hasNextTick = exports.hasSetImmediate = undefined; exports.fallback = fallback; exports.wrap = wrap; -var _slice = __webpack_require__(128); +var _slice = __webpack_require__(129); var _slice2 = _interopRequireDefault(_slice); @@ -55710,7 +55716,7 @@ function preprocessValidJumps (runState) { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var ethUtil = __webpack_require__(7); -var fees = __webpack_require__(130); +var fees = __webpack_require__(131); var BN = ethUtil.BN; // secp256k1n/2 @@ -57307,8 +57313,8 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! /* 296 */ /***/ (function(module, exports, __webpack_require__) { -const utils = __webpack_require__(129) -const params = __webpack_require__(131) +const utils = __webpack_require__(130) +const params = __webpack_require__(132) const BN = utils.BN /** * An object that repersents the block header @@ -58840,7 +58846,7 @@ webpackEmptyContext.id = 305; const async = __webpack_require__(14) const ethUtil = __webpack_require__(9) -const Bloom = __webpack_require__(132) +const Bloom = __webpack_require__(133) const common = __webpack_require__(28) const rlp = ethUtil.rlp const Trie = __webpack_require__(33) @@ -59056,7 +59062,7 @@ module.exports = function (opts, cb) { const async = __webpack_require__(14) const utils = __webpack_require__(9) const BN = utils.BN -const Bloom = __webpack_require__(132) +const Bloom = __webpack_require__(133) const Block = __webpack_require__(29) /** @@ -59568,7 +59574,7 @@ module.exports = function (blockchain, cb) { "use strict"; const ethUtil = __webpack_require__(7) -const fees = __webpack_require__(130) +const fees = __webpack_require__(131) const BN = ethUtil.BN // secp256k1n/2 @@ -60302,7 +60308,7 @@ module.exports = RequestManager; ;(function (root, factory, undef) { if (true) { // CommonJS - module.exports = exports = factory(__webpack_require__(1), __webpack_require__(58), __webpack_require__(314), __webpack_require__(315), __webpack_require__(41), __webpack_require__(42), __webpack_require__(78), __webpack_require__(135), __webpack_require__(316), __webpack_require__(136), __webpack_require__(317), __webpack_require__(137), __webpack_require__(318), __webpack_require__(79), __webpack_require__(319), __webpack_require__(43), __webpack_require__(6), __webpack_require__(320), __webpack_require__(321), __webpack_require__(322), __webpack_require__(323), __webpack_require__(324), __webpack_require__(325), __webpack_require__(326), __webpack_require__(327), __webpack_require__(328), __webpack_require__(329), __webpack_require__(330), __webpack_require__(331), __webpack_require__(332), __webpack_require__(333), __webpack_require__(334), __webpack_require__(335)); + module.exports = exports = factory(__webpack_require__(1), __webpack_require__(58), __webpack_require__(314), __webpack_require__(315), __webpack_require__(41), __webpack_require__(42), __webpack_require__(79), __webpack_require__(135), __webpack_require__(316), __webpack_require__(136), __webpack_require__(317), __webpack_require__(137), __webpack_require__(318), __webpack_require__(80), __webpack_require__(319), __webpack_require__(43), __webpack_require__(6), __webpack_require__(320), __webpack_require__(321), __webpack_require__(322), __webpack_require__(323), __webpack_require__(324), __webpack_require__(325), __webpack_require__(326), __webpack_require__(327), __webpack_require__(328), __webpack_require__(329), __webpack_require__(330), __webpack_require__(331), __webpack_require__(332), __webpack_require__(333), __webpack_require__(334), __webpack_require__(335)); } else if (typeof define === "function" && define.amd) { // AMD @@ -61005,7 +61011,7 @@ module.exports = RequestManager; ;(function (root, factory, undef) { if (true) { // CommonJS - module.exports = exports = factory(__webpack_require__(1), __webpack_require__(78), __webpack_require__(79)); + module.exports = exports = factory(__webpack_require__(1), __webpack_require__(79), __webpack_require__(80)); } else if (typeof define === "function" && define.amd) { // AMD @@ -64009,7 +64015,7 @@ module.exports = Eth; */ var utils = __webpack_require__(5); -var coder = __webpack_require__(80); +var coder = __webpack_require__(81); var SolidityEvent = __webpack_require__(139); var SolidityFunction = __webpack_require__(348); var AllEvents = __webpack_require__(349); @@ -64627,7 +64633,7 @@ module.exports = SolidityTypeBytes; * @date 2015 */ -var coder = __webpack_require__(80); +var coder = __webpack_require__(81); var utils = __webpack_require__(5); var errors = __webpack_require__(44); var formatters = __webpack_require__(26); @@ -66071,7 +66077,7 @@ exports.XMLHttpRequest = function() { * Private variables */ var self = this; - var http = __webpack_require__(81); + var http = __webpack_require__(82); var https = __webpack_require__(142); // Holds http.js objects @@ -66745,7 +66751,7 @@ exports.XMLHttpRequest = function() { })(); - http = __webpack_require__(81); + http = __webpack_require__(82); https = __webpack_require__(142); @@ -68164,7 +68170,7 @@ var LevelUpObjectAdapter = __webpack_require__(386); var levelup = __webpack_require__(67); var filedown = __webpack_require__(387); var cachedown = __webpack_require__(388); -var Sublevel = __webpack_require__(82); +var Sublevel = __webpack_require__(83); var Block = __webpack_require__(29); var txserializer = __webpack_require__(151); var blockserializer = __webpack_require__(392); @@ -68243,7 +68249,7 @@ module.exports = Database; /* 372 */ /***/ (function(module, exports, __webpack_require__) { -var Sublevel = __webpack_require__(82); +var Sublevel = __webpack_require__(83); // Level up adapter that looks like an array. Doesn't support inserts. @@ -68615,7 +68621,7 @@ module.exports = function (compare) { var EventEmitter = __webpack_require__(19).EventEmitter var addpre = __webpack_require__(144).addPrefix -var errors = __webpack_require__(83) +var errors = __webpack_require__(84) function isFunction (f) { return 'function' === typeof f @@ -68925,7 +68931,7 @@ module.exports = { var Readable = __webpack_require__(380).Readable , inherits = __webpack_require__(0).inherits , extend = __webpack_require__(150) - , EncodingError = __webpack_require__(83).EncodingError + , EncodingError = __webpack_require__(84).EncodingError , util = __webpack_require__(383) @@ -69023,7 +69029,7 @@ exports = module.exports = __webpack_require__(146); exports.Stream = Stream; exports.Readable = exports; exports.Writable = __webpack_require__(148); -exports.Duplex = __webpack_require__(84); +exports.Duplex = __webpack_require__(85); exports.Transform = __webpack_require__(149); exports.PassThrough = __webpack_require__(382); if (!process.browser && process.env.READABLE_STREAM === 'disable') { @@ -69103,7 +69109,7 @@ PassThrough.prototype._transform = function(chunk, encoding, cb) { */ var extend = __webpack_require__(150) - , LevelUPError = __webpack_require__(83).LevelUPError + , LevelUPError = __webpack_require__(84).LevelUPError , encodings = __webpack_require__(145) , defaultOptions = { createIfMissing : true @@ -70394,7 +70400,7 @@ function outside(version, range, hilo, loose) { /* 386 */ /***/ (function(module, exports, __webpack_require__) { -var Sublevel = __webpack_require__(82); +var Sublevel = __webpack_require__(83); var async = __webpack_require__(15); function LevelUpObjectAdapter(name, db, valueserializer, keyserializer, options) { @@ -72172,7 +72178,7 @@ var async = __webpack_require__(15); var inherits = __webpack_require__(0).inherits; var StateManager = __webpack_require__(403); var to = __webpack_require__(10); -var txhelper = __webpack_require__(85); +var txhelper = __webpack_require__(86); var pkg = __webpack_require__(444); var Subprovider = __webpack_require__(32); @@ -72616,7 +72622,7 @@ module.exports = GethApiDouble; var Account = __webpack_require__(25); var Block = __webpack_require__(29); var VM = __webpack_require__(77); -var RuntimeError = __webpack_require__(133); +var RuntimeError = __webpack_require__(78); var Trie = __webpack_require__(33); var FakeTransaction = __webpack_require__(40); var utils = __webpack_require__(7); @@ -72632,7 +72638,7 @@ var async = __webpack_require__(15); var to = __webpack_require__(10); var random = __webpack_require__(443); -var txhelper = __webpack_require__(85); +var txhelper = __webpack_require__(86); StateManager = function(options) { var self = this; @@ -87512,7 +87518,7 @@ var FakeTransaction = __webpack_require__(40); var Web3 = __webpack_require__(57); var to = __webpack_require__(10); var async = __webpack_require__(15); -var txhelper = __webpack_require__(85) +var txhelper = __webpack_require__(86) var inherits = __webpack_require__(0).inherits; @@ -88221,14 +88227,14 @@ module.exports = { /* 444 */ /***/ (function(module, exports) { -module.exports = {"_from":"ganache-core@1.1.1","_id":"ganache-core@1.1.1","_inBundle":false,"_integrity":"sha512-q5HDV86aO/cAk0Lchy3o/hU+KlhOsg/Xz+VDepdpZB+B56/U/HVIllU8hXSHTUQiqG14rrlDIem3WXPZbyJdBA==","_location":"/ganache-core","_phantomChildren":{"acorn":"5.1.1","acorn-dynamic-import":"2.0.2","big.js":"3.1.3","co":"4.6.0","code-point-at":"1.1.0","create-hash":"1.1.3","decamelize":"1.2.0","emojis-list":"2.1.0","enhanced-resolve":"3.4.1","get-caller-file":"1.0.2","graceful-fs":"4.1.11","interpret":"1.0.3","is-fullwidth-code-point":"1.0.0","is-utf8":"0.2.1","json-loader":"0.5.7","json-stable-stringify":"1.0.1","json5":"0.5.1","lcid":"1.0.0","loader-runner":"2.3.0","lodash":"4.17.4","memory-fs":"0.4.1","mkdirp":"0.5.1","node-libs-browser":"2.0.0","normalize-package-data":"2.4.0","object-assign":"4.1.1","parse-json":"2.2.0","pbkdf2":"3.0.13","pify":"2.3.0","pinkie-promise":"2.0.1","randombytes":"2.0.5","require-directory":"2.1.1","require-main-filename":"1.0.1","safe-buffer":"5.1.1","set-blocking":"2.0.0","source-map":"0.5.7","strip-ansi":"3.0.1","tapable":"0.2.8","uglify-js":"2.8.29","unorm":"1.4.1","watchpack":"1.4.0","webpack-sources":"1.0.1","wrap-ansi":"2.1.0","y18n":"3.2.1"},"_requested":{"type":"version","registry":true,"raw":"ganache-core@1.1.1","name":"ganache-core","escapedName":"ganache-core","rawSpec":"1.1.1","saveSpec":null,"fetchSpec":"1.1.1"},"_requiredBy":["#DEV:/"],"_resolved":"https://registry.npmjs.org/ganache-core/-/ganache-core-1.1.1.tgz","_shasum":"a07560720331d2507b21d3582f9142cc91bd783b","_spec":"ganache-core@1.1.1","_where":"/Users/tim/Documents/workspace/Consensys/testrpc","bugs":{"url":"https://github.com/trufflesuite/ganache-core/issues"},"bundleDependencies":false,"dependencies":{"async":"~1.5.0","bip39":"~2.4.0","cachedown":"^1.0.0","chai":"^3.5.0","ethereumjs-account":"~2.0.4","ethereumjs-block":"~1.2.2","ethereumjs-tx":"^1.3.0","ethereumjs-util":"~5.1.0","ethereumjs-vm":"~2.2.0","ethereumjs-wallet":"~0.6.0","fake-merkle-patricia-tree":"~1.0.1","heap":"~0.2.6","js-scrypt":"^0.2.0","level-sublevel":"^6.6.1","levelup":"^1.1.0","localstorage-down":"^0.6.7","merkle-patricia-tree":"^2.1.2","mocha":"~2.2.5","on-build-webpack":"^0.1.0","prepend-file":"^1.3.1","seedrandom":"~2.4.2","shebang-loader":"0.0.1","solc":"0.4.8","temp":"^0.8.3","tmp":"0.0.31","web3":"^0.19.1","web3-provider-engine":"~8.1.0","webpack":"^2.2.1","yargs":"^7.0.2"},"deprecated":false,"description":"[![npm](https://img.shields.io/npm/v/ethereumjs-testrpc.svg)]() [![npm](https://img.shields.io/npm/dm/ethereumjs-testrpc.svg)]() [![Build Status](https://travis-ci.org/ethereumjs/testrpc.svg?branch=master)](https://travis-ci.org/ethereumjs/testrpc)","directories":{"lib":"./lib"},"homepage":"https://github.com/trufflesuite/ganache-core#readme","main":"./index.js","name":"ganache-core","repository":{"type":"git","url":"git+https://github.com/trufflesuite/ganache-core.git"},"scripts":{"test":"mocha"},"version":"1.1.1"} +module.exports = {"_from":"ganache-core@1.1.2","_id":"ganache-core@1.1.2","_inBundle":false,"_integrity":"sha512-RpT4BPrbk5p06OVHgk38FfK3Vou+E3w+mvx5cdiHX/MPzrGeHUnBTRHiQut14v0kGTKFkwS+4ggXspszN4VNVQ==","_location":"/ganache-core","_phantomChildren":{"acorn":"5.1.1","acorn-dynamic-import":"2.0.2","big.js":"3.1.3","co":"4.6.0","code-point-at":"1.1.0","decamelize":"1.2.0","emojis-list":"2.1.0","enhanced-resolve":"3.4.1","get-caller-file":"1.0.2","graceful-fs":"4.1.11","interpret":"1.0.3","is-fullwidth-code-point":"1.0.0","is-utf8":"0.2.1","json-loader":"0.5.7","json-stable-stringify":"1.0.1","json5":"0.5.1","lcid":"1.0.0","loader-runner":"2.3.0","lodash":"4.17.4","memory-fs":"0.4.1","mkdirp":"0.5.1","node-libs-browser":"2.0.0","normalize-package-data":"2.4.0","object-assign":"4.1.1","parse-json":"2.2.0","pify":"2.3.0","pinkie-promise":"2.0.1","require-directory":"2.1.1","require-main-filename":"1.0.1","set-blocking":"2.0.0","source-map":"0.5.7","strip-ansi":"3.0.1","tapable":"0.2.8","uglify-js":"2.8.29","watchpack":"1.4.0","webpack-sources":"1.0.1","wrap-ansi":"2.1.0","y18n":"3.2.1"},"_requested":{"type":"version","registry":true,"raw":"ganache-core@1.1.2","name":"ganache-core","escapedName":"ganache-core","rawSpec":"1.1.2","saveSpec":null,"fetchSpec":"1.1.2"},"_requiredBy":["#DEV:/"],"_resolved":"https://registry.npmjs.org/ganache-core/-/ganache-core-1.1.2.tgz","_shasum":"3beb638354f7ade4dd8ef7d56ab95d6c6808f575","_spec":"ganache-core@1.1.2","_where":"/Users/tim/Documents/workspace/Consensys/testrpc","bugs":{"url":"https://github.com/trufflesuite/ganache-core/issues"},"bundleDependencies":false,"dependencies":{"async":"~1.5.0","bip39":"~2.4.0","cachedown":"^1.0.0","chai":"^3.5.0","ethereumjs-account":"~2.0.4","ethereumjs-block":"~1.2.2","ethereumjs-tx":"^1.3.0","ethereumjs-util":"~5.1.0","ethereumjs-vm":"~2.2.0","ethereumjs-wallet":"~0.6.0","fake-merkle-patricia-tree":"~1.0.1","heap":"~0.2.6","js-scrypt":"^0.2.0","level-sublevel":"^6.6.1","levelup":"^1.1.0","localstorage-down":"^0.6.7","merkle-patricia-tree":"^2.1.2","mocha":"~2.2.5","on-build-webpack":"^0.1.0","prepend-file":"^1.3.1","seedrandom":"~2.4.2","shebang-loader":"0.0.1","solc":"0.4.8","temp":"^0.8.3","tmp":"0.0.31","web3":"^0.19.1","web3-provider-engine":"~8.1.0","webpack":"^2.2.1","yargs":"^7.0.2"},"deprecated":false,"description":"This is the core code that powers the Ganache application and the the Ganache command line tool.","directories":{"lib":"./lib"},"homepage":"https://github.com/trufflesuite/ganache-core#readme","main":"./index.js","name":"ganache-core","repository":{"type":"git","url":"git+https://github.com/trufflesuite/ganache-core.git"},"scripts":{"test":"mocha"},"version":"1.1.2"} /***/ }), /* 445 */ /***/ (function(module, exports, __webpack_require__) { -var http = __webpack_require__(81); -var Provider = __webpack_require__(86); +var http = __webpack_require__(82); +var Provider = __webpack_require__(87); module.exports = { create: function(options) { diff --git a/build/provider.node.js b/build/provider.node.js index fbd4de6ab..eb91576c7 100644 --- a/build/provider.node.js +++ b/build/provider.node.js @@ -15781,14 +15781,14 @@ module.exports = params /* 29 */ /***/ (function(module, exports, __webpack_require__) { -const ethUtil = __webpack_require__(127) +const ethUtil = __webpack_require__(128) const Tx = __webpack_require__(293) const Trie = __webpack_require__(33) const BN = ethUtil.BN const rlp = ethUtil.rlp const async = __webpack_require__(294) const BlockHeader = __webpack_require__(295) -const params = __webpack_require__(129) +const params = __webpack_require__(130) /** * Creates a new block object @@ -16439,8 +16439,8 @@ var util = __webpack_require__(3); util.inherits = __webpack_require__(2); /**/ -var Readable = __webpack_require__(97); -var Writable = __webpack_require__(98); +var Readable = __webpack_require__(98); +var Writable = __webpack_require__(99); util.inherits(Duplex, Readable); @@ -16542,8 +16542,8 @@ var util = __webpack_require__(3); util.inherits = __webpack_require__(2); /**/ -var Readable = __webpack_require__(110); -var Writable = __webpack_require__(113); +var Readable = __webpack_require__(111); +var Writable = __webpack_require__(114); util.inherits(Duplex, Readable); @@ -17101,7 +17101,7 @@ module.exports = class FakeTransaction extends Transaction { ;(function (root, factory, undef) { if (true) { // CommonJS - module.exports = exports = factory(__webpack_require__(1), __webpack_require__(78), __webpack_require__(79)); + module.exports = exports = factory(__webpack_require__(1), __webpack_require__(79), __webpack_require__(80)); } else if (typeof define === "function" && define.amd) { // AMD @@ -17565,7 +17565,7 @@ try { * */ -var createError = __webpack_require__(101).create +var createError = __webpack_require__(102).create , LevelUPError = createError('LevelUPError') , NotFoundError = createError('NotFoundError', LevelUPError) @@ -20471,9 +20471,9 @@ curve.edwards = __webpack_require__(180); /* 55 */ /***/ (function(module, exports, __webpack_require__) { -exports.AbstractLevelDOWN = __webpack_require__(94) -exports.AbstractIterator = __webpack_require__(95) -exports.AbstractChainedBatch = __webpack_require__(96) +exports.AbstractLevelDOWN = __webpack_require__(95) +exports.AbstractIterator = __webpack_require__(96) +exports.AbstractChainedBatch = __webpack_require__(97) exports.isLevelDOWN = __webpack_require__(212) @@ -22635,7 +22635,7 @@ var Batch = __webpack_require__(220) var Codec = __webpack_require__(221) var getLevelDOWN = __webpack_require__(223) var errors = __webpack_require__(50) -var util = __webpack_require__(102) +var util = __webpack_require__(103) var WriteError = errors.WriteError var ReadError = errors.ReadError @@ -25165,8 +25165,8 @@ var util = __webpack_require__(3); util.inherits = __webpack_require__(2); /**/ -var Readable = __webpack_require__(116); -var Writable = __webpack_require__(118); +var Readable = __webpack_require__(117); +var Writable = __webpack_require__(119); util.inherits(Duplex, Readable); @@ -25218,7 +25218,7 @@ function forEach (xs, f) { /* 72 */ /***/ (function(module, exports, __webpack_require__) { -var Symbol = __webpack_require__(121), +var Symbol = __webpack_require__(122), getRawTag = __webpack_require__(260), objectToString = __webpack_require__(261); @@ -25294,7 +25294,7 @@ var Block = __webpack_require__(29); var Log = __webpack_require__(75); var Receipt = __webpack_require__(76); var VM = __webpack_require__(77); -var RuntimeError = __webpack_require__(131); +var RuntimeError = __webpack_require__(78); var Trie = __webpack_require__(33); var Web3 = __webpack_require__(57); var utils = __webpack_require__(7); @@ -26262,13 +26262,96 @@ module.exports = Receipt; /* 77 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(93) +module.exports = __webpack_require__(94) /***/ }), /* 78 */ /***/ (function(module, exports, __webpack_require__) { +var inherits = __webpack_require__(0).inherits; +var to = __webpack_require__(10); + +inherits(RuntimeError, Error); + +// Note: ethereumjs-vm will return an object that has a "results" and "receipts" keys. +// You should pass in the whole object. +function RuntimeError(transactions, vm_output) { + Error.call(this); + this.results = {}; + this.hashes = []; + this.combine(transactions, vm_output); +}; + +RuntimeError.prototype.combine = function(transactions, vm_output) { + // Can be combined with vm_output or another RuntimeError. + if (transactions instanceof RuntimeError) { + var err = transactions; + var keys = Object.keys(err.results); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + this.results[key] = err.results[key]; + Array.prototype.push.apply(this.hashes, err.hashes); + } + } else { + var results = vm_output.results; + var receipts = vm_output.receipts; + + for (var i = 0; i < transactions.length; i++) { + var tx = transactions[i]; + var result = results[i]; + var receipt = receipts[i]; + + // 1 means no error, oddly. + if (result.vm.exception != 1) { + var hash = to.hex(tx.hash()); + + this.hashes.push(hash); + + this.results[hash] = { + error: result.vm.exceptionError, + program_counter: result.vm.runState.programCounter + }; + } + } + } + + // Once combined, set the message + if (this.hashes.length == 1) { + this.message = "VM Exception while processing transaction: " + this.results[this.hashes[0]].error; + } else { + this.message = "Multiple VM Exceptions while processing transactions: \n\n"; + + for (var i = 0; i < this.hashes.length; i++) { + var hash = this.hashes[i]; + + this.message += hash + ": " + this.results[hash].error + "\n"; + } + } +}; + +RuntimeError.prototype.count = function() { + return Object.keys(this.results).length; +}; + +RuntimeError.fromResults = function(transactions, vm_output) { + var err = new RuntimeError(transactions, vm_output); + + if (err.count() == 0) { + return null; + } + + return err; +}; + +module.exports = RuntimeError; + + +/***/ }), +/* 79 */ +/***/ (function(module, exports, __webpack_require__) { + ;(function (root, factory) { if (true) { // CommonJS @@ -26421,7 +26504,7 @@ module.exports = __webpack_require__(93) })); /***/ }), -/* 79 */ +/* 80 */ /***/ (function(module, exports, __webpack_require__) { ;(function (root, factory) { @@ -26569,7 +26652,7 @@ module.exports = __webpack_require__(93) })); /***/ }), -/* 80 */ +/* 81 */ /***/ (function(module, exports, __webpack_require__) { /* @@ -26838,7 +26921,7 @@ module.exports = coder; /***/ }), -/* 81 */ +/* 82 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -26865,7 +26948,7 @@ module.exports = function (db, opts) { /***/ }), -/* 82 */ +/* 83 */ /***/ (function(module, exports, __webpack_require__) { /* Copyright (c) 2012-2014 LevelUP contributors @@ -26874,7 +26957,7 @@ module.exports = function (db, opts) { * */ -var createError = __webpack_require__(101).create +var createError = __webpack_require__(102).create , LevelUPError = createError('LevelUPError') , NotFoundError = createError('NotFoundError', LevelUPError) @@ -26893,7 +26976,7 @@ module.exports = { /***/ }), -/* 83 */ +/* 84 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -26988,7 +27071,7 @@ function forEach (xs, f) { /***/ }), -/* 84 */ +/* 85 */ /***/ (function(module, exports, __webpack_require__) { var to = __webpack_require__(10); @@ -27044,7 +27127,7 @@ module.exports = { /***/ }), -/* 85 */ +/* 86 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27079,7 +27162,7 @@ module.exports = function (KeccakState) { /***/ }), -/* 86 */ +/* 87 */ /***/ (function(module, exports) { function webpackEmptyContext(req) { @@ -27088,16 +27171,16 @@ function webpackEmptyContext(req) { webpackEmptyContext.keys = function() { return []; }; webpackEmptyContext.resolve = webpackEmptyContext; module.exports = webpackEmptyContext; -webpackEmptyContext.id = 86; +webpackEmptyContext.id = 87; /***/ }), -/* 87 */ +/* 88 */ /***/ (function(module, exports) { module.exports = {"COMPRESSED_TYPE_INVALID":"compressed should be a boolean","EC_PRIVATE_KEY_TYPE_INVALID":"private key should be a Buffer","EC_PRIVATE_KEY_LENGTH_INVALID":"private key length is invalid","EC_PRIVATE_KEY_TWEAK_ADD_FAIL":"tweak out of range or resulting private key is invalid","EC_PRIVATE_KEY_TWEAK_MUL_FAIL":"tweak out of range","EC_PRIVATE_KEY_EXPORT_DER_FAIL":"couldn't export to DER format","EC_PRIVATE_KEY_IMPORT_DER_FAIL":"couldn't import from DER format","EC_PUBLIC_KEYS_TYPE_INVALID":"public keys should be an Array","EC_PUBLIC_KEYS_LENGTH_INVALID":"public keys Array should have at least 1 element","EC_PUBLIC_KEY_TYPE_INVALID":"public key should be a Buffer","EC_PUBLIC_KEY_LENGTH_INVALID":"public key length is invalid","EC_PUBLIC_KEY_PARSE_FAIL":"the public key could not be parsed or is invalid","EC_PUBLIC_KEY_CREATE_FAIL":"private was invalid, try again","EC_PUBLIC_KEY_TWEAK_ADD_FAIL":"tweak out of range or resulting public key is invalid","EC_PUBLIC_KEY_TWEAK_MUL_FAIL":"tweak out of range","EC_PUBLIC_KEY_COMBINE_FAIL":"the sum of the public keys is not valid","ECDH_FAIL":"scalar was invalid (zero or overflow)","ECDSA_SIGNATURE_TYPE_INVALID":"signature should be a Buffer","ECDSA_SIGNATURE_LENGTH_INVALID":"signature length is invalid","ECDSA_SIGNATURE_PARSE_FAIL":"couldn't parse signature","ECDSA_SIGNATURE_PARSE_DER_FAIL":"couldn't parse DER signature","ECDSA_SIGNATURE_SERIALIZE_DER_FAIL":"couldn't serialize signature to DER format","ECDSA_SIGN_FAIL":"nonce generation function failed or private key is invalid","ECDSA_RECOVER_FAIL":"couldn't recover public key from signature","MSG32_TYPE_INVALID":"message should be a Buffer","MSG32_LENGTH_INVALID":"message length is invalid","OPTIONS_TYPE_INVALID":"options should be an Object","OPTIONS_DATA_TYPE_INVALID":"options.data should be a Buffer","OPTIONS_DATA_LENGTH_INVALID":"options.data length is invalid","OPTIONS_NONCEFN_TYPE_INVALID":"options.noncefn should be a Function","RECOVERY_ID_TYPE_INVALID":"recovery should be a Number","RECOVERY_ID_VALUE_INVALID":"recovery should have value between -1 and 4","TWEAK_TYPE_INVALID":"tweak should be a Buffer","TWEAK_LENGTH_INVALID":"tweak length is invalid"} /***/ }), -/* 88 */ +/* 89 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27162,7 +27245,7 @@ utils.encode = function encode(arr, enc) { /***/ }), -/* 89 */ +/* 90 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27218,7 +27301,7 @@ exports.g1_256 = g1_256; /***/ }), -/* 90 */ +/* 91 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27226,7 +27309,7 @@ exports.g1_256 = g1_256; var utils = __webpack_require__(22); var common = __webpack_require__(48); -var shaCommon = __webpack_require__(89); +var shaCommon = __webpack_require__(90); var assert = __webpack_require__(31); var sum32 = utils.sum32; @@ -27330,7 +27413,7 @@ SHA256.prototype._digest = function digest(enc) { /***/ }), -/* 91 */ +/* 92 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27667,7 +27750,7 @@ function g1_512_lo(xh, xl) { /***/ }), -/* 92 */ +/* 93 */ /***/ (function(module, exports) { /** @@ -27686,7 +27769,7 @@ module.exports = function isHexPrefixed(str) { /***/ }), -/* 93 */ +/* 94 */ /***/ (function(module, exports, __webpack_require__) { const util = __webpack_require__(0) @@ -27773,14 +27856,14 @@ VM.prototype.populateCache = function (addresses, cb) { /***/ }), -/* 94 */ +/* 95 */ /***/ (function(module, exports, __webpack_require__) { /* Copyright (c) 2017 Rod Vagg, MIT License */ var xtend = __webpack_require__(36) - , AbstractIterator = __webpack_require__(95) - , AbstractChainedBatch = __webpack_require__(96) + , AbstractIterator = __webpack_require__(96) + , AbstractChainedBatch = __webpack_require__(97) function AbstractLevelDOWN (location) { if (!arguments.length || location === undefined) @@ -28051,7 +28134,7 @@ module.exports = AbstractLevelDOWN /***/ }), -/* 95 */ +/* 96 */ /***/ (function(module, exports) { /* Copyright (c) 2017 Rod Vagg, MIT License */ @@ -28106,7 +28189,7 @@ module.exports = AbstractIterator /***/ }), -/* 96 */ +/* 97 */ /***/ (function(module, exports) { /* Copyright (c) 2017 Rod Vagg, MIT License */ @@ -28200,7 +28283,7 @@ module.exports = AbstractChainedBatch /***/ }), -/* 97 */ +/* 98 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -28329,7 +28412,7 @@ function ReadableState(options, stream) { this.encoding = null; if (options.encoding) { if (!StringDecoder) - StringDecoder = __webpack_require__(99).StringDecoder; + StringDecoder = __webpack_require__(100).StringDecoder; this.decoder = new StringDecoder(options.encoding); this.encoding = options.encoding; } @@ -28439,7 +28522,7 @@ function needMoreData(state) { // backwards compatibility. Readable.prototype.setEncoding = function(enc) { if (!StringDecoder) - StringDecoder = __webpack_require__(99).StringDecoder; + StringDecoder = __webpack_require__(100).StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; return this; @@ -29157,7 +29240,7 @@ function indexOf (xs, x) { /***/ }), -/* 98 */ +/* 99 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -29640,7 +29723,7 @@ function endWritable(stream, state, cb) { /***/ }), -/* 99 */ +/* 100 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -29867,7 +29950,7 @@ function base64DetectIncompleteChar(buffer) { /***/ }), -/* 100 */ +/* 101 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -30082,7 +30165,7 @@ function done(stream, er) { /***/ }), -/* 101 */ +/* 102 */ /***/ (function(module, exports, __webpack_require__) { var all = module.exports.all = [ @@ -30401,7 +30484,7 @@ module.exports.create = module.exports.custom.createError /***/ }), -/* 102 */ +/* 103 */ /***/ (function(module, exports) { /* Copyright (c) 2012-2016 LevelUP contributors @@ -30441,12 +30524,12 @@ module.exports = { /***/ }), -/* 103 */ +/* 104 */ /***/ (function(module, exports, __webpack_require__) { var inherits = __webpack_require__(2) - , AbstractLevelDOWN = __webpack_require__(104).AbstractLevelDOWN - , AbstractIterator = __webpack_require__(104).AbstractIterator + , AbstractLevelDOWN = __webpack_require__(105).AbstractLevelDOWN + , AbstractIterator = __webpack_require__(105).AbstractIterator , ltgt = __webpack_require__(68) , createRBT = __webpack_require__(66) , globalStore = {} @@ -30675,24 +30758,24 @@ module.exports = MemDOWN /***/ }), -/* 104 */ +/* 105 */ /***/ (function(module, exports, __webpack_require__) { -exports.AbstractLevelDOWN = __webpack_require__(105) -exports.AbstractIterator = __webpack_require__(106) -exports.AbstractChainedBatch = __webpack_require__(107) +exports.AbstractLevelDOWN = __webpack_require__(106) +exports.AbstractIterator = __webpack_require__(107) +exports.AbstractChainedBatch = __webpack_require__(108) exports.isLevelDOWN = __webpack_require__(226) /***/ }), -/* 105 */ +/* 106 */ /***/ (function(module, exports, __webpack_require__) { /* Copyright (c) 2013 Rod Vagg, MIT License */ var xtend = __webpack_require__(36) - , AbstractIterator = __webpack_require__(106) - , AbstractChainedBatch = __webpack_require__(107) + , AbstractIterator = __webpack_require__(107) + , AbstractChainedBatch = __webpack_require__(108) function AbstractLevelDOWN (location) { if (!arguments.length || location === undefined) @@ -30963,7 +31046,7 @@ module.exports = AbstractLevelDOWN /***/ }), -/* 106 */ +/* 107 */ /***/ (function(module, exports) { /* Copyright (c) 2013 Rod Vagg, MIT License */ @@ -31018,7 +31101,7 @@ module.exports = AbstractIterator /***/ }), -/* 107 */ +/* 108 */ /***/ (function(module, exports) { /* Copyright (c) 2013 Rod Vagg, MIT License */ @@ -31103,7 +31186,7 @@ AbstractChainedBatch.prototype.write = function (options, callback) { module.exports = AbstractChainedBatch /***/ }), -/* 108 */ +/* 109 */ /***/ (function(module, exports, __webpack_require__) { const rlp = __webpack_require__(24) @@ -31364,7 +31447,7 @@ function isRawNode (node) { /***/ }), -/* 109 */ +/* 110 */ /***/ (function(module, exports, __webpack_require__) { var Stream = __webpack_require__(4); @@ -31378,18 +31461,18 @@ if (process.env.READABLE_STREAM === 'disable' && Stream) { exports.PassThrough = Stream.PassThrough; exports.Stream = Stream; } else { - exports = module.exports = __webpack_require__(110); + exports = module.exports = __webpack_require__(111); exports.Stream = Stream || exports; exports.Readable = exports; - exports.Writable = __webpack_require__(113); + exports.Writable = __webpack_require__(114); exports.Duplex = __webpack_require__(39); - exports.Transform = __webpack_require__(115); + exports.Transform = __webpack_require__(116); exports.PassThrough = __webpack_require__(233); } /***/ }), -/* 110 */ +/* 111 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -31442,7 +31525,7 @@ var EElistenerCount = function (emitter, type) { /**/ /**/ -var Stream = __webpack_require__(111); +var Stream = __webpack_require__(112); /**/ // TODO(bmeurer): Change this back to const once hole checks are @@ -31474,7 +31557,7 @@ if (debugUtil && debugUtil.debuglog) { /**/ var BufferList = __webpack_require__(231); -var destroyImpl = __webpack_require__(112); +var destroyImpl = __webpack_require__(113); var StringDecoder; util.inherits(Readable, Stream); @@ -31557,7 +31640,7 @@ function ReadableState(options, stream) { this.decoder = null; this.encoding = null; if (options.encoding) { - if (!StringDecoder) StringDecoder = __webpack_require__(114).StringDecoder; + if (!StringDecoder) StringDecoder = __webpack_require__(115).StringDecoder; this.decoder = new StringDecoder(options.encoding); this.encoding = options.encoding; } @@ -31713,7 +31796,7 @@ Readable.prototype.isPaused = function () { // backwards compatibility. Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = __webpack_require__(114).StringDecoder; + if (!StringDecoder) StringDecoder = __webpack_require__(115).StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; return this; @@ -32402,14 +32485,14 @@ function indexOf(xs, x) { } /***/ }), -/* 111 */ +/* 112 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(4); /***/ }), -/* 112 */ +/* 113 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -32487,7 +32570,7 @@ module.exports = { }; /***/ }), -/* 113 */ +/* 114 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -32568,7 +32651,7 @@ var internalUtil = { /**/ /**/ -var Stream = __webpack_require__(111); +var Stream = __webpack_require__(112); /**/ /**/ @@ -32582,7 +32665,7 @@ function _isUint8Array(obj) { } /**/ -var destroyImpl = __webpack_require__(112); +var destroyImpl = __webpack_require__(113); util.inherits(Writable, Stream); @@ -33157,7 +33240,7 @@ Writable.prototype._destroy = function (err, cb) { }; /***/ }), -/* 114 */ +/* 115 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -33435,7 +33518,7 @@ function simpleEnd(buf) { } /***/ }), -/* 115 */ +/* 116 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -33655,7 +33738,7 @@ function done(stream, er, data) { } /***/ }), -/* 116 */ +/* 117 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -33773,7 +33856,7 @@ function ReadableState(options, stream) { this.encoding = null; if (options.encoding) { if (!StringDecoder) - StringDecoder = __webpack_require__(117).StringDecoder; + StringDecoder = __webpack_require__(118).StringDecoder; this.decoder = new StringDecoder(options.encoding); this.encoding = options.encoding; } @@ -33874,7 +33957,7 @@ function needMoreData(state) { // backwards compatibility. Readable.prototype.setEncoding = function(enc) { if (!StringDecoder) - StringDecoder = __webpack_require__(117).StringDecoder; + StringDecoder = __webpack_require__(118).StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; }; @@ -34643,7 +34726,7 @@ function indexOf (xs, x) { /***/ }), -/* 117 */ +/* 118 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -34870,7 +34953,7 @@ function base64DetectIncompleteChar(buffer) { /***/ }), -/* 118 */ +/* 119 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -35262,7 +35345,7 @@ function endWritable(stream, state, cb) { /***/ }), -/* 119 */ +/* 120 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -35478,11 +35561,11 @@ function done(stream, er) { /***/ }), -/* 120 */ +/* 121 */ /***/ (function(module, exports, __webpack_require__) { var isFunction = __webpack_require__(259), - isLength = __webpack_require__(125); + isLength = __webpack_require__(126); /** * Checks if `value` is array-like. A value is considered array-like if it's @@ -35517,10 +35600,10 @@ module.exports = isArrayLike; /***/ }), -/* 121 */ +/* 122 */ /***/ (function(module, exports, __webpack_require__) { -var root = __webpack_require__(122); +var root = __webpack_require__(123); /** Built-in value references. */ var Symbol = root.Symbol; @@ -35529,10 +35612,10 @@ module.exports = Symbol; /***/ }), -/* 122 */ +/* 123 */ /***/ (function(module, exports, __webpack_require__) { -var freeGlobal = __webpack_require__(123); +var freeGlobal = __webpack_require__(124); /** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self; @@ -35544,7 +35627,7 @@ module.exports = root; /***/ }), -/* 123 */ +/* 124 */ /***/ (function(module, exports) { /** Detect free variable `global` from Node.js. */ @@ -35554,7 +35637,7 @@ module.exports = freeGlobal; /***/ }), -/* 124 */ +/* 125 */ /***/ (function(module, exports) { /** @@ -35591,7 +35674,7 @@ module.exports = isObject; /***/ }), -/* 125 */ +/* 126 */ /***/ (function(module, exports) { /** Used as references for various `Number` constants. */ @@ -35632,7 +35715,7 @@ module.exports = isLength; /***/ }), -/* 126 */ +/* 127 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -35654,7 +35737,7 @@ function slice(arrayLike, start) { module.exports = exports["default"]; /***/ }), -/* 127 */ +/* 128 */ /***/ (function(module, exports, __webpack_require__) { const SHA3 = __webpack_require__(49) @@ -36361,13 +36444,13 @@ exports.defineProperties = function (self, fields, data) { /***/ }), -/* 128 */ +/* 129 */ /***/ (function(module, exports) { module.exports = {"genesisGasLimit":{"v":5000,"d":"Gas limit of the Genesis block."},"genesisDifficulty":{"v":17179869184,"d":"Difficulty of the Genesis block."},"genesisNonce":{"v":"0x0000000000000042","d":"the geneis nonce"},"genesisExtraData":{"v":"0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa","d":"extra data "},"genesisHash":{"v":"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3","d":"genesis hash"},"genesisStateRoot":{"v":"0xd7f8974fb5ac78d9ac099b9ad5018bedc2ce0a72dad1827a1709da30580f0544","d":"the genesis state root"},"minGasLimit":{"v":5000,"d":"Minimum the gas limit may ever be."},"gasLimitBoundDivisor":{"v":1024,"d":"The bound divisor of the gas limit, used in update calculations."},"minimumDifficulty":{"v":131072,"d":"The minimum that the difficulty may ever be."},"difficultyBoundDivisor":{"v":2048,"d":"The bound divisor of the difficulty, used in the update calculations."},"durationLimit":{"v":13,"d":"The decision boundary on the blocktime duration used to determine whether difficulty should go up or not."},"maximumExtraDataSize":{"v":32,"d":"Maximum size extra data may be after Genesis."},"epochDuration":{"v":30000,"d":"Duration between proof-of-work epochs."},"stackLimit":{"v":1024,"d":"Maximum size of VM stack allowed."},"callCreateDepth":{"v":1024,"d":"Maximum depth of call/create stack."},"tierStepGas":{"v":[0,2,3,5,8,10,20],"d":"Once per operation, for a selection of them."},"expGas":{"v":10,"d":"Once per EXP instuction."},"expByteGas":{"v":10,"d":"Times ceil(log256(exponent)) for the EXP instruction."},"sha3Gas":{"v":30,"d":"Once per SHA3 operation."},"sha3WordGas":{"v":6,"d":"Once per word of the SHA3 operation's data."},"sloadGas":{"v":50,"d":"Once per SLOAD operation."},"sstoreSetGas":{"v":20000,"d":"Once per SSTORE operation if the zeroness changes from zero."},"sstoreResetGas":{"v":5000,"d":"Once per SSTORE operation if the zeroness does not change from zero."},"sstoreRefundGas":{"v":15000,"d":"Once per SSTORE operation if the zeroness changes to zero."},"jumpdestGas":{"v":1,"d":"Refunded gas, once per SSTORE operation if the zeroness changes to zero."},"logGas":{"v":375,"d":"Per LOG* operation."},"logDataGas":{"v":8,"d":"Per byte in a LOG* operation's data."},"logTopicGas":{"v":375,"d":"Multiplied by the * of the LOG*, per LOG transaction. e.g. LOG0 incurs 0 * c_txLogTopicGas, LOG4 incurs 4 * c_txLogTopicGas."},"createGas":{"v":32000,"d":"Once per CREATE operation & contract-creation transaction."},"callGas":{"v":40,"d":"Once per CALL operation & message call transaction."},"callStipend":{"v":2300,"d":"Free gas given at beginning of call."},"callValueTransferGas":{"v":9000,"d":"Paid for CALL when the value transfor is non-zero."},"callNewAccountGas":{"v":25000,"d":"Paid for CALL when the destination address didn't exist prior."},"suicideRefundGas":{"v":24000,"d":"Refunded following a suicide operation."},"memoryGas":{"v":3,"d":"Times the address of the (highest referenced byte in memory + 1). NOTE: referencing happens on read, write and in instructions such as RETURN and CALL."},"quadCoeffDiv":{"v":512,"d":"Divisor for the quadratic particle of the memory cost equation."},"createDataGas":{"v":200,"d":""},"txGas":{"v":21000,"d":"Per transaction. NOTE: Not payable on data of calls between transactions."},"txCreation":{"v":32000,"d":"the cost of creating a contract via tx"},"txDataZeroGas":{"v":4,"d":"Per byte of data attached to a transaction that equals zero. NOTE: Not payable on data of calls between transactions."},"txDataNonZeroGas":{"v":68,"d":"Per byte of data attached to a transaction that is not equal to zero. NOTE: Not payable on data of calls between transactions."},"copyGas":{"v":3,"d":"Multiplied by the number of 32-byte words that are copied (round up) for any *COPY operation and added."},"ecrecoverGas":{"v":3000,"d":""},"sha256Gas":{"v":60,"d":""},"sha256WordGas":{"v":12,"d":""},"ripemd160Gas":{"v":600,"d":""},"ripemd160WordGas":{"v":120,"d":""},"identityGas":{"v":15,"d":""},"identityWordGas":{"v":3,"d":""},"minerReward":{"v":"5000000000000000000","d":"the amount a miner get rewarded for mining a block"},"ommerReward":{"v":"625000000000000000","d":"The amount of wei a miner of an uncle block gets for being inculded in the blockchain"},"niblingReward":{"v":"156250000000000000","d":"the amount a miner gets for inculding a uncle"},"homeSteadForkNumber":{"v":1150000,"d":"the block that the Homestead fork started at"},"homesteadRepriceForkNumber":{"v":2463000,"d":"the block that the Homestead Reprice (EIP150) fork started at"},"timebombPeriod":{"v":100000,"d":"Exponential difficulty timebomb period"},"freeBlockPeriod":{"v":2}} /***/ }), -/* 129 */ +/* 130 */ /***/ (function(module, exports, __webpack_require__) { var params = __webpack_require__(296) @@ -36377,7 +36460,7 @@ module.exports = params /***/ }), -/* 130 */ +/* 131 */ /***/ (function(module, exports, __webpack_require__) { const assert = __webpack_require__(23) @@ -36470,89 +36553,6 @@ Bloom.prototype.or = function (bloom) { } -/***/ }), -/* 131 */ -/***/ (function(module, exports, __webpack_require__) { - -var inherits = __webpack_require__(0).inherits; -var to = __webpack_require__(10); - -inherits(RuntimeError, Error); - -// Note: ethereumjs-vm will return an object that has a "results" and "receipts" keys. -// You should pass in the whole object. -function RuntimeError(transactions, vm_output) { - Error.call(this); - this.results = {}; - this.hashes = []; - this.combine(transactions, vm_output); -}; - -RuntimeError.prototype.combine = function(transactions, vm_output) { - // Can be combined with vm_output or another RuntimeError. - if (transactions instanceof RuntimeError) { - var err = transactions; - var keys = Object.keys(err.results); - - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - this.results[key] = err.results[key]; - Array.prototype.push.apply(this.hashes, err.hashes); - } - } else { - var results = vm_output.results; - var receipts = vm_output.receipts; - - for (var i = 0; i < transactions.length; i++) { - var tx = transactions[i]; - var result = results[i]; - var receipt = receipts[i]; - - // 1 means no error, oddly. - if (result.vm.exception != 1) { - var hash = to.hex(tx.hash()); - - this.hashes.push(hash); - - this.results[hash] = { - error: result.vm.exceptionError, - program_counter: result.vm.runState.programCounter - }; - } - } - } - - // Once combined, set the message - if (this.hashes.length == 1) { - this.message = "VM Exception while processing transaction: " + this.results[this.hashes[0]].error; - } else { - this.message = "Multiple VM Exceptions while processing transactions: \n\n"; - - for (var i = 0; i < this.hashes.length; i++) { - var hash = this.hashes[i]; - - this.message += hash + ": " + this.results[hash].error + "\n"; - } - } -}; - -RuntimeError.prototype.count = function() { - return Object.keys(this.results).length; -}; - -RuntimeError.fromResults = function(transactions, vm_output) { - var err = new RuntimeError(transactions, vm_output); - - if (err.count() == 0) { - return null; - } - - return err; -}; - -module.exports = RuntimeError; - - /***/ }), /* 132 */ /***/ (function(module, exports) { @@ -37689,7 +37689,7 @@ module.exports = SolidityParam; */ var utils = __webpack_require__(5); -var coder = __webpack_require__(80); +var coder = __webpack_require__(81); var formatters = __webpack_require__(26); var sha3 = __webpack_require__(53); var Filter = __webpack_require__(61); @@ -39411,7 +39411,7 @@ function WritableState(options, stream) { } function Writable(options) { - var Duplex = __webpack_require__(83); + var Duplex = __webpack_require__(84); // Writable ctor is applied to Duplexes, though they're not // instanceof Writable, they're instanceof Readable. @@ -39748,7 +39748,7 @@ function endWritable(stream, state, cb) { module.exports = Transform; -var Duplex = __webpack_require__(83); +var Duplex = __webpack_require__(84); /**/ var util = __webpack_require__(3); @@ -40453,6 +40453,8 @@ var ReactiveBlockTracker = __webpack_require__(399); var GethDefaults = __webpack_require__(400); var GethApiDouble = __webpack_require__(401); +var RuntimeError = __webpack_require__(78); + function Provider(options) { var self = this; @@ -40508,17 +40510,21 @@ Provider.prototype.sendAsync = function(payload, callback) { payload = externalize(payload); } - var intermediary = callback; + var intermediary = function(err, result) { + if (err) { + // If we find a runtime error, mimic the result that would be sent back from + // normal Ethereum clients that don't return runtime errors (e.g., geth, parity). + if (err instanceof RuntimeError && (payload.method == "eth_sendTransaction" || payload.method == "eth_sendRawTransaction")) { + result.result = err.hashes[0]; + } + } else if (self.options.verbose) { + self.options.logger.log(" < " + JSON.stringify(result, null, 2).split("\n").join("\n < ")); + } + callback(err, result); + }; if (self.options.verbose) { self.options.logger.log(" > " + JSON.stringify(payload, null, 2).split("\n").join("\n > ")); - - intermediary = function(err, result) { - if (!err) { - self.options.logger.log(" < " + JSON.stringify(result, null, 2).split("\n").join("\n < ")); - } - callback(err, result); - }; } this.engine.sendAsync(payload, intermediary); @@ -40991,7 +40997,7 @@ try { "use strict"; -module.exports = __webpack_require__(85)(__webpack_require__(165)('keccak')) +module.exports = __webpack_require__(86)(__webpack_require__(165)('keccak')) /***/ }), @@ -41380,7 +41386,7 @@ exports.getRoot = function getRoot (file) { "use strict"; -module.exports = __webpack_require__(85)(__webpack_require__(167)) +module.exports = __webpack_require__(86)(__webpack_require__(167)) /***/ }), @@ -41662,7 +41668,7 @@ exports.p1600 = function (s) { var assert = __webpack_require__(170) var der = __webpack_require__(171) -var messages = __webpack_require__(87) +var messages = __webpack_require__(88) function initCompressedValue (value, defaultValue) { if (value === undefined) return defaultValue @@ -42278,7 +42284,7 @@ var createHash = __webpack_require__(20) var BN = __webpack_require__(8) var EC = __webpack_require__(13).ec -var messages = __webpack_require__(87) +var messages = __webpack_require__(88) var ec = new EC('secp256k1') var ecparams = ec.curve @@ -42538,7 +42544,7 @@ module.exports = {"_args":[["elliptic@6.4.0","/Users/tim/Documents/workspace/Con var utils = exports; var BN = __webpack_require__(8); var minAssert = __webpack_require__(31); -var minUtils = __webpack_require__(88); +var minUtils = __webpack_require__(89); utils.assert = minAssert; utils.toArray = minUtils.toArray; @@ -44901,9 +44907,9 @@ defineCurve('secp256k1', { exports.sha1 = __webpack_require__(183); exports.sha224 = __webpack_require__(184); -exports.sha256 = __webpack_require__(90); +exports.sha256 = __webpack_require__(91); exports.sha384 = __webpack_require__(185); -exports.sha512 = __webpack_require__(91); +exports.sha512 = __webpack_require__(92); /***/ }), @@ -44915,7 +44921,7 @@ exports.sha512 = __webpack_require__(91); var utils = __webpack_require__(22); var common = __webpack_require__(48); -var shaCommon = __webpack_require__(89); +var shaCommon = __webpack_require__(90); var rotl32 = utils.rotl32; var sum32 = utils.sum32; @@ -44995,7 +45001,7 @@ SHA1.prototype._digest = function digest(enc) { var utils = __webpack_require__(22); -var SHA256 = __webpack_require__(90); +var SHA256 = __webpack_require__(91); function SHA224() { if (!(this instanceof SHA224)) @@ -45033,7 +45039,7 @@ SHA224.prototype._digest = function digest(enc) { var utils = __webpack_require__(22); -var SHA512 = __webpack_require__(91); +var SHA512 = __webpack_require__(92); function SHA384() { if (!(this instanceof SHA384)) @@ -46314,7 +46320,7 @@ EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) { var hash = __webpack_require__(65); -var utils = __webpack_require__(88); +var utils = __webpack_require__(89); var assert = __webpack_require__(31); function HmacDRBG(options) { @@ -47002,7 +47008,7 @@ module.exports = Signature; "use strict"; -var isHexPrefixed = __webpack_require__(92); +var isHexPrefixed = __webpack_require__(93); var stripHexPrefix = __webpack_require__(197); /** @@ -47225,7 +47231,7 @@ module.exports = { /* 197 */ /***/ (function(module, exports, __webpack_require__) { -var isHexPrefixed = __webpack_require__(92); +var isHexPrefixed = __webpack_require__(93); /** * Removes '0x' from a given `String` is present @@ -47887,7 +47893,7 @@ const async = __webpack_require__(14) const ethUtil = __webpack_require__(9) const Account = __webpack_require__(25) const FakeMerklePatriciaTree = __webpack_require__(205) -const VM = __webpack_require__(93) +const VM = __webpack_require__(94) const ZERO_BUFFER = new Buffer('0000000000000000000000000000000000000000000000000000000000000000', 'hex') module.exports = createHookedVm @@ -49798,12 +49804,12 @@ function SecureTrie () { const assert = __webpack_require__(23) const levelup = __webpack_require__(67) -const memdown = __webpack_require__(103) +const memdown = __webpack_require__(104) const async = __webpack_require__(69) const rlp = __webpack_require__(24) const ethUtil = __webpack_require__(70) const semaphore = __webpack_require__(228) -const TrieNode = __webpack_require__(108) +const TrieNode = __webpack_require__(109) const ReadStream = __webpack_require__(229) const matchingNibbleLength = __webpack_require__(51).matchingNibbleLength const doKeysMatch = __webpack_require__(51).doKeysMatch @@ -50666,7 +50672,7 @@ module.exports.DeferredIterator = DeferredIterator /* 212 */ /***/ (function(module, exports, __webpack_require__) { -var AbstractLevelDOWN = __webpack_require__(94) +var AbstractLevelDOWN = __webpack_require__(95) function isLevelDOWN (db) { if (!db || typeof db !== 'object') @@ -50788,12 +50794,12 @@ ReadStream.prototype._cleanup = function(){ /* 215 */ /***/ (function(module, exports, __webpack_require__) { -exports = module.exports = __webpack_require__(97); +exports = module.exports = __webpack_require__(98); exports.Stream = __webpack_require__(4); exports.Readable = exports; -exports.Writable = __webpack_require__(98); +exports.Writable = __webpack_require__(99); exports.Duplex = __webpack_require__(38); -exports.Transform = __webpack_require__(100); +exports.Transform = __webpack_require__(101); exports.PassThrough = __webpack_require__(217); if (!process.browser && process.env.READABLE_STREAM === 'disable') { module.exports = __webpack_require__(4); @@ -50840,7 +50846,7 @@ module.exports = Array.isArray || function (arr) { module.exports = PassThrough; -var Transform = __webpack_require__(100); +var Transform = __webpack_require__(101); /**/ var util = __webpack_require__(3); @@ -51000,7 +51006,7 @@ module.exports = function (errno) { * */ -var util = __webpack_require__(102) +var util = __webpack_require__(103) var WriteError = __webpack_require__(50).WriteError var getOptions = util.getOptions var dispatchError = util.dispatchError @@ -52631,7 +52637,7 @@ function intersects(r1, r2, loose) { /* 226 */ /***/ (function(module, exports, __webpack_require__) { -var AbstractLevelDOWN = __webpack_require__(105) +var AbstractLevelDOWN = __webpack_require__(106) function isLevelDOWN (db) { if (!db || typeof db !== 'object') @@ -52765,8 +52771,8 @@ if (true) { /* 229 */ /***/ (function(module, exports, __webpack_require__) { -const Readable = __webpack_require__(109).Readable -const TrieNode = __webpack_require__(108) +const Readable = __webpack_require__(110).Readable +const TrieNode = __webpack_require__(109) const util = __webpack_require__(0) module.exports = TrieReadStream @@ -52936,7 +52942,7 @@ module.exports = __webpack_require__(0).deprecate; module.exports = PassThrough; -var Transform = __webpack_require__(115); +var Transform = __webpack_require__(116); /**/ var util = __webpack_require__(3); @@ -52960,10 +52966,10 @@ PassThrough.prototype._transform = function (chunk, encoding, cb) { /***/ (function(module, exports, __webpack_require__) { const levelup = __webpack_require__(67) -const memdown = __webpack_require__(103) +const memdown = __webpack_require__(104) const async = __webpack_require__(69) const inherits = __webpack_require__(0).inherits -const Readable = __webpack_require__(109).Readable +const Readable = __webpack_require__(110).Readable const levelws = __webpack_require__(235) const callTogether = __webpack_require__(51).callTogether @@ -53310,12 +53316,12 @@ module.exports.WriteStream = WriteStream /***/ (function(module, exports, __webpack_require__) { var Stream = __webpack_require__(4); // hack to fix a circular dependency issue when used with browserify -exports = module.exports = __webpack_require__(116); +exports = module.exports = __webpack_require__(117); exports.Stream = Stream; exports.Readable = exports; -exports.Writable = __webpack_require__(118); +exports.Writable = __webpack_require__(119); exports.Duplex = __webpack_require__(71); -exports.Transform = __webpack_require__(119); +exports.Transform = __webpack_require__(120); exports.PassThrough = __webpack_require__(238); if (!process.browser && process.env.READABLE_STREAM === 'disable') { module.exports = __webpack_require__(4); @@ -53362,7 +53368,7 @@ module.exports = Array.isArray || function (arr) { module.exports = PassThrough; -var Transform = __webpack_require__(119); +var Transform = __webpack_require__(120); /**/ var util = __webpack_require__(3); @@ -54234,7 +54240,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = iterator; -var _isArrayLike = __webpack_require__(120); +var _isArrayLike = __webpack_require__(121); var _isArrayLike2 = _interopRequireDefault(_isArrayLike); @@ -54291,7 +54297,7 @@ module.exports = exports['default']; /***/ (function(module, exports, __webpack_require__) { var baseGetTag = __webpack_require__(72), - isObject = __webpack_require__(124); + isObject = __webpack_require__(125); /** `Object#toString` result references. */ var asyncTag = '[object AsyncFunction]', @@ -54333,7 +54339,7 @@ module.exports = isFunction; /* 260 */ /***/ (function(module, exports, __webpack_require__) { -var Symbol = __webpack_require__(121); +var Symbol = __webpack_require__(122); /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -54434,7 +54440,7 @@ module.exports = exports['default']; var arrayLikeKeys = __webpack_require__(264), baseKeys = __webpack_require__(276), - isArrayLike = __webpack_require__(120); + isArrayLike = __webpack_require__(121); /** * Creates an array of the own enumerable property names of `object`. @@ -54654,7 +54660,7 @@ module.exports = isArray; /* 269 */ /***/ (function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(122), +/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(123), stubFalse = __webpack_require__(270); /** Detect free variable `exports`. */ @@ -54785,7 +54791,7 @@ module.exports = isTypedArray; /***/ (function(module, exports, __webpack_require__) { var baseGetTag = __webpack_require__(72), - isLength = __webpack_require__(125), + isLength = __webpack_require__(126), isObjectLike = __webpack_require__(73); /** `Object#toString` result references. */ @@ -54870,7 +54876,7 @@ module.exports = baseUnary; /* 275 */ /***/ (function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(123); +/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(124); /** Detect free variable `exports`. */ var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; @@ -55085,7 +55091,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = asyncify; -var _isObject = __webpack_require__(124); +var _isObject = __webpack_require__(125); var _isObject2 = _interopRequireDefault(_isObject); @@ -55208,7 +55214,7 @@ exports.default = function (fn) { }; }; -var _slice = __webpack_require__(126); +var _slice = __webpack_require__(127); var _slice2 = _interopRequireDefault(_slice); @@ -55230,7 +55236,7 @@ exports.hasNextTick = exports.hasSetImmediate = undefined; exports.fallback = fallback; exports.wrap = wrap; -var _slice = __webpack_require__(126); +var _slice = __webpack_require__(127); var _slice2 = _interopRequireDefault(_slice); @@ -55692,7 +55698,7 @@ function preprocessValidJumps (runState) { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var ethUtil = __webpack_require__(7); -var fees = __webpack_require__(128); +var fees = __webpack_require__(129); var BN = ethUtil.BN; // secp256k1n/2 @@ -57289,8 +57295,8 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! /* 295 */ /***/ (function(module, exports, __webpack_require__) { -const utils = __webpack_require__(127) -const params = __webpack_require__(129) +const utils = __webpack_require__(128) +const params = __webpack_require__(130) const BN = utils.BN /** * An object that repersents the block header @@ -58822,7 +58828,7 @@ webpackEmptyContext.id = 304; const async = __webpack_require__(14) const ethUtil = __webpack_require__(9) -const Bloom = __webpack_require__(130) +const Bloom = __webpack_require__(131) const common = __webpack_require__(28) const rlp = ethUtil.rlp const Trie = __webpack_require__(33) @@ -59038,7 +59044,7 @@ module.exports = function (opts, cb) { const async = __webpack_require__(14) const utils = __webpack_require__(9) const BN = utils.BN -const Bloom = __webpack_require__(130) +const Bloom = __webpack_require__(131) const Block = __webpack_require__(29) /** @@ -59550,7 +59556,7 @@ module.exports = function (blockchain, cb) { "use strict"; const ethUtil = __webpack_require__(7) -const fees = __webpack_require__(128) +const fees = __webpack_require__(129) const BN = ethUtil.BN // secp256k1n/2 @@ -60284,7 +60290,7 @@ module.exports = RequestManager; ;(function (root, factory, undef) { if (true) { // CommonJS - module.exports = exports = factory(__webpack_require__(1), __webpack_require__(58), __webpack_require__(313), __webpack_require__(314), __webpack_require__(41), __webpack_require__(42), __webpack_require__(78), __webpack_require__(133), __webpack_require__(315), __webpack_require__(134), __webpack_require__(316), __webpack_require__(135), __webpack_require__(317), __webpack_require__(79), __webpack_require__(318), __webpack_require__(43), __webpack_require__(6), __webpack_require__(319), __webpack_require__(320), __webpack_require__(321), __webpack_require__(322), __webpack_require__(323), __webpack_require__(324), __webpack_require__(325), __webpack_require__(326), __webpack_require__(327), __webpack_require__(328), __webpack_require__(329), __webpack_require__(330), __webpack_require__(331), __webpack_require__(332), __webpack_require__(333), __webpack_require__(334)); + module.exports = exports = factory(__webpack_require__(1), __webpack_require__(58), __webpack_require__(313), __webpack_require__(314), __webpack_require__(41), __webpack_require__(42), __webpack_require__(79), __webpack_require__(133), __webpack_require__(315), __webpack_require__(134), __webpack_require__(316), __webpack_require__(135), __webpack_require__(317), __webpack_require__(80), __webpack_require__(318), __webpack_require__(43), __webpack_require__(6), __webpack_require__(319), __webpack_require__(320), __webpack_require__(321), __webpack_require__(322), __webpack_require__(323), __webpack_require__(324), __webpack_require__(325), __webpack_require__(326), __webpack_require__(327), __webpack_require__(328), __webpack_require__(329), __webpack_require__(330), __webpack_require__(331), __webpack_require__(332), __webpack_require__(333), __webpack_require__(334)); } else if (typeof define === "function" && define.amd) { // AMD @@ -60987,7 +60993,7 @@ module.exports = RequestManager; ;(function (root, factory, undef) { if (true) { // CommonJS - module.exports = exports = factory(__webpack_require__(1), __webpack_require__(78), __webpack_require__(79)); + module.exports = exports = factory(__webpack_require__(1), __webpack_require__(79), __webpack_require__(80)); } else if (typeof define === "function" && define.amd) { // AMD @@ -63991,7 +63997,7 @@ module.exports = Eth; */ var utils = __webpack_require__(5); -var coder = __webpack_require__(80); +var coder = __webpack_require__(81); var SolidityEvent = __webpack_require__(137); var SolidityFunction = __webpack_require__(347); var AllEvents = __webpack_require__(348); @@ -64609,7 +64615,7 @@ module.exports = SolidityTypeBytes; * @date 2015 */ -var coder = __webpack_require__(80); +var coder = __webpack_require__(81); var utils = __webpack_require__(5); var errors = __webpack_require__(44); var formatters = __webpack_require__(26); @@ -68146,7 +68152,7 @@ var LevelUpObjectAdapter = __webpack_require__(385); var levelup = __webpack_require__(67); var filedown = __webpack_require__(386); var cachedown = __webpack_require__(387); -var Sublevel = __webpack_require__(81); +var Sublevel = __webpack_require__(82); var Block = __webpack_require__(29); var txserializer = __webpack_require__(150); var blockserializer = __webpack_require__(391); @@ -68225,7 +68231,7 @@ module.exports = Database; /* 371 */ /***/ (function(module, exports, __webpack_require__) { -var Sublevel = __webpack_require__(81); +var Sublevel = __webpack_require__(82); // Level up adapter that looks like an array. Doesn't support inserts. @@ -68597,7 +68603,7 @@ module.exports = function (compare) { var EventEmitter = __webpack_require__(19).EventEmitter var addpre = __webpack_require__(143).addPrefix -var errors = __webpack_require__(82) +var errors = __webpack_require__(83) function isFunction (f) { return 'function' === typeof f @@ -68907,7 +68913,7 @@ module.exports = { var Readable = __webpack_require__(379).Readable , inherits = __webpack_require__(0).inherits , extend = __webpack_require__(149) - , EncodingError = __webpack_require__(82).EncodingError + , EncodingError = __webpack_require__(83).EncodingError , util = __webpack_require__(382) @@ -69005,7 +69011,7 @@ exports = module.exports = __webpack_require__(145); exports.Stream = Stream; exports.Readable = exports; exports.Writable = __webpack_require__(147); -exports.Duplex = __webpack_require__(83); +exports.Duplex = __webpack_require__(84); exports.Transform = __webpack_require__(148); exports.PassThrough = __webpack_require__(381); if (!process.browser && process.env.READABLE_STREAM === 'disable') { @@ -69085,7 +69091,7 @@ PassThrough.prototype._transform = function(chunk, encoding, cb) { */ var extend = __webpack_require__(149) - , LevelUPError = __webpack_require__(82).LevelUPError + , LevelUPError = __webpack_require__(83).LevelUPError , encodings = __webpack_require__(144) , defaultOptions = { createIfMissing : true @@ -70376,7 +70382,7 @@ function outside(version, range, hilo, loose) { /* 385 */ /***/ (function(module, exports, __webpack_require__) { -var Sublevel = __webpack_require__(81); +var Sublevel = __webpack_require__(82); var async = __webpack_require__(15); function LevelUpObjectAdapter(name, db, valueserializer, keyserializer, options) { @@ -72154,7 +72160,7 @@ var async = __webpack_require__(15); var inherits = __webpack_require__(0).inherits; var StateManager = __webpack_require__(402); var to = __webpack_require__(10); -var txhelper = __webpack_require__(84); +var txhelper = __webpack_require__(85); var pkg = __webpack_require__(443); var Subprovider = __webpack_require__(32); @@ -72598,7 +72604,7 @@ module.exports = GethApiDouble; var Account = __webpack_require__(25); var Block = __webpack_require__(29); var VM = __webpack_require__(77); -var RuntimeError = __webpack_require__(131); +var RuntimeError = __webpack_require__(78); var Trie = __webpack_require__(33); var FakeTransaction = __webpack_require__(40); var utils = __webpack_require__(7); @@ -72614,7 +72620,7 @@ var async = __webpack_require__(15); var to = __webpack_require__(10); var random = __webpack_require__(442); -var txhelper = __webpack_require__(84); +var txhelper = __webpack_require__(85); StateManager = function(options) { var self = this; @@ -87494,7 +87500,7 @@ var FakeTransaction = __webpack_require__(40); var Web3 = __webpack_require__(57); var to = __webpack_require__(10); var async = __webpack_require__(15); -var txhelper = __webpack_require__(84) +var txhelper = __webpack_require__(85) var inherits = __webpack_require__(0).inherits; @@ -88203,7 +88209,7 @@ module.exports = { /* 443 */ /***/ (function(module, exports) { -module.exports = {"_from":"ganache-core@1.1.1","_id":"ganache-core@1.1.1","_inBundle":false,"_integrity":"sha512-q5HDV86aO/cAk0Lchy3o/hU+KlhOsg/Xz+VDepdpZB+B56/U/HVIllU8hXSHTUQiqG14rrlDIem3WXPZbyJdBA==","_location":"/ganache-core","_phantomChildren":{"acorn":"5.1.1","acorn-dynamic-import":"2.0.2","big.js":"3.1.3","co":"4.6.0","code-point-at":"1.1.0","create-hash":"1.1.3","decamelize":"1.2.0","emojis-list":"2.1.0","enhanced-resolve":"3.4.1","get-caller-file":"1.0.2","graceful-fs":"4.1.11","interpret":"1.0.3","is-fullwidth-code-point":"1.0.0","is-utf8":"0.2.1","json-loader":"0.5.7","json-stable-stringify":"1.0.1","json5":"0.5.1","lcid":"1.0.0","loader-runner":"2.3.0","lodash":"4.17.4","memory-fs":"0.4.1","mkdirp":"0.5.1","node-libs-browser":"2.0.0","normalize-package-data":"2.4.0","object-assign":"4.1.1","parse-json":"2.2.0","pbkdf2":"3.0.13","pify":"2.3.0","pinkie-promise":"2.0.1","randombytes":"2.0.5","require-directory":"2.1.1","require-main-filename":"1.0.1","safe-buffer":"5.1.1","set-blocking":"2.0.0","source-map":"0.5.7","strip-ansi":"3.0.1","tapable":"0.2.8","uglify-js":"2.8.29","unorm":"1.4.1","watchpack":"1.4.0","webpack-sources":"1.0.1","wrap-ansi":"2.1.0","y18n":"3.2.1"},"_requested":{"type":"version","registry":true,"raw":"ganache-core@1.1.1","name":"ganache-core","escapedName":"ganache-core","rawSpec":"1.1.1","saveSpec":null,"fetchSpec":"1.1.1"},"_requiredBy":["#DEV:/"],"_resolved":"https://registry.npmjs.org/ganache-core/-/ganache-core-1.1.1.tgz","_shasum":"a07560720331d2507b21d3582f9142cc91bd783b","_spec":"ganache-core@1.1.1","_where":"/Users/tim/Documents/workspace/Consensys/testrpc","bugs":{"url":"https://github.com/trufflesuite/ganache-core/issues"},"bundleDependencies":false,"dependencies":{"async":"~1.5.0","bip39":"~2.4.0","cachedown":"^1.0.0","chai":"^3.5.0","ethereumjs-account":"~2.0.4","ethereumjs-block":"~1.2.2","ethereumjs-tx":"^1.3.0","ethereumjs-util":"~5.1.0","ethereumjs-vm":"~2.2.0","ethereumjs-wallet":"~0.6.0","fake-merkle-patricia-tree":"~1.0.1","heap":"~0.2.6","js-scrypt":"^0.2.0","level-sublevel":"^6.6.1","levelup":"^1.1.0","localstorage-down":"^0.6.7","merkle-patricia-tree":"^2.1.2","mocha":"~2.2.5","on-build-webpack":"^0.1.0","prepend-file":"^1.3.1","seedrandom":"~2.4.2","shebang-loader":"0.0.1","solc":"0.4.8","temp":"^0.8.3","tmp":"0.0.31","web3":"^0.19.1","web3-provider-engine":"~8.1.0","webpack":"^2.2.1","yargs":"^7.0.2"},"deprecated":false,"description":"[![npm](https://img.shields.io/npm/v/ethereumjs-testrpc.svg)]() [![npm](https://img.shields.io/npm/dm/ethereumjs-testrpc.svg)]() [![Build Status](https://travis-ci.org/ethereumjs/testrpc.svg?branch=master)](https://travis-ci.org/ethereumjs/testrpc)","directories":{"lib":"./lib"},"homepage":"https://github.com/trufflesuite/ganache-core#readme","main":"./index.js","name":"ganache-core","repository":{"type":"git","url":"git+https://github.com/trufflesuite/ganache-core.git"},"scripts":{"test":"mocha"},"version":"1.1.1"} +module.exports = {"_from":"ganache-core@1.1.2","_id":"ganache-core@1.1.2","_inBundle":false,"_integrity":"sha512-RpT4BPrbk5p06OVHgk38FfK3Vou+E3w+mvx5cdiHX/MPzrGeHUnBTRHiQut14v0kGTKFkwS+4ggXspszN4VNVQ==","_location":"/ganache-core","_phantomChildren":{"acorn":"5.1.1","acorn-dynamic-import":"2.0.2","big.js":"3.1.3","co":"4.6.0","code-point-at":"1.1.0","decamelize":"1.2.0","emojis-list":"2.1.0","enhanced-resolve":"3.4.1","get-caller-file":"1.0.2","graceful-fs":"4.1.11","interpret":"1.0.3","is-fullwidth-code-point":"1.0.0","is-utf8":"0.2.1","json-loader":"0.5.7","json-stable-stringify":"1.0.1","json5":"0.5.1","lcid":"1.0.0","loader-runner":"2.3.0","lodash":"4.17.4","memory-fs":"0.4.1","mkdirp":"0.5.1","node-libs-browser":"2.0.0","normalize-package-data":"2.4.0","object-assign":"4.1.1","parse-json":"2.2.0","pify":"2.3.0","pinkie-promise":"2.0.1","require-directory":"2.1.1","require-main-filename":"1.0.1","set-blocking":"2.0.0","source-map":"0.5.7","strip-ansi":"3.0.1","tapable":"0.2.8","uglify-js":"2.8.29","watchpack":"1.4.0","webpack-sources":"1.0.1","wrap-ansi":"2.1.0","y18n":"3.2.1"},"_requested":{"type":"version","registry":true,"raw":"ganache-core@1.1.2","name":"ganache-core","escapedName":"ganache-core","rawSpec":"1.1.2","saveSpec":null,"fetchSpec":"1.1.2"},"_requiredBy":["#DEV:/"],"_resolved":"https://registry.npmjs.org/ganache-core/-/ganache-core-1.1.2.tgz","_shasum":"3beb638354f7ade4dd8ef7d56ab95d6c6808f575","_spec":"ganache-core@1.1.2","_where":"/Users/tim/Documents/workspace/Consensys/testrpc","bugs":{"url":"https://github.com/trufflesuite/ganache-core/issues"},"bundleDependencies":false,"dependencies":{"async":"~1.5.0","bip39":"~2.4.0","cachedown":"^1.0.0","chai":"^3.5.0","ethereumjs-account":"~2.0.4","ethereumjs-block":"~1.2.2","ethereumjs-tx":"^1.3.0","ethereumjs-util":"~5.1.0","ethereumjs-vm":"~2.2.0","ethereumjs-wallet":"~0.6.0","fake-merkle-patricia-tree":"~1.0.1","heap":"~0.2.6","js-scrypt":"^0.2.0","level-sublevel":"^6.6.1","levelup":"^1.1.0","localstorage-down":"^0.6.7","merkle-patricia-tree":"^2.1.2","mocha":"~2.2.5","on-build-webpack":"^0.1.0","prepend-file":"^1.3.1","seedrandom":"~2.4.2","shebang-loader":"0.0.1","solc":"0.4.8","temp":"^0.8.3","tmp":"0.0.31","web3":"^0.19.1","web3-provider-engine":"~8.1.0","webpack":"^2.2.1","yargs":"^7.0.2"},"deprecated":false,"description":"This is the core code that powers the Ganache application and the the Ganache command line tool.","directories":{"lib":"./lib"},"homepage":"https://github.com/trufflesuite/ganache-core#readme","main":"./index.js","name":"ganache-core","repository":{"type":"git","url":"git+https://github.com/trufflesuite/ganache-core.git"},"scripts":{"test":"mocha"},"version":"1.1.2"} /***/ }) /******/ ]); diff --git a/build/server.node.js b/build/server.node.js index a7fe69784..afab99161 100644 --- a/build/server.node.js +++ b/build/server.node.js @@ -15781,14 +15781,14 @@ module.exports = params /* 29 */ /***/ (function(module, exports, __webpack_require__) { -const ethUtil = __webpack_require__(128) +const ethUtil = __webpack_require__(129) const Tx = __webpack_require__(294) const Trie = __webpack_require__(33) const BN = ethUtil.BN const rlp = ethUtil.rlp const async = __webpack_require__(295) const BlockHeader = __webpack_require__(296) -const params = __webpack_require__(130) +const params = __webpack_require__(131) /** * Creates a new block object @@ -16439,8 +16439,8 @@ var util = __webpack_require__(3); util.inherits = __webpack_require__(2); /**/ -var Readable = __webpack_require__(98); -var Writable = __webpack_require__(99); +var Readable = __webpack_require__(99); +var Writable = __webpack_require__(100); util.inherits(Duplex, Readable); @@ -16542,8 +16542,8 @@ var util = __webpack_require__(3); util.inherits = __webpack_require__(2); /**/ -var Readable = __webpack_require__(111); -var Writable = __webpack_require__(114); +var Readable = __webpack_require__(112); +var Writable = __webpack_require__(115); util.inherits(Duplex, Readable); @@ -17101,7 +17101,7 @@ module.exports = class FakeTransaction extends Transaction { ;(function (root, factory, undef) { if (true) { // CommonJS - module.exports = exports = factory(__webpack_require__(1), __webpack_require__(79), __webpack_require__(80)); + module.exports = exports = factory(__webpack_require__(1), __webpack_require__(80), __webpack_require__(81)); } else if (typeof define === "function" && define.amd) { // AMD @@ -17565,7 +17565,7 @@ try { * */ -var createError = __webpack_require__(102).create +var createError = __webpack_require__(103).create , LevelUPError = createError('LevelUPError') , NotFoundError = createError('NotFoundError', LevelUPError) @@ -20471,9 +20471,9 @@ curve.edwards = __webpack_require__(181); /* 55 */ /***/ (function(module, exports, __webpack_require__) { -exports.AbstractLevelDOWN = __webpack_require__(95) -exports.AbstractIterator = __webpack_require__(96) -exports.AbstractChainedBatch = __webpack_require__(97) +exports.AbstractLevelDOWN = __webpack_require__(96) +exports.AbstractIterator = __webpack_require__(97) +exports.AbstractChainedBatch = __webpack_require__(98) exports.isLevelDOWN = __webpack_require__(213) @@ -22641,7 +22641,7 @@ var Batch = __webpack_require__(221) var Codec = __webpack_require__(222) var getLevelDOWN = __webpack_require__(224) var errors = __webpack_require__(50) -var util = __webpack_require__(103) +var util = __webpack_require__(104) var WriteError = errors.WriteError var ReadError = errors.ReadError @@ -25171,8 +25171,8 @@ var util = __webpack_require__(3); util.inherits = __webpack_require__(2); /**/ -var Readable = __webpack_require__(117); -var Writable = __webpack_require__(119); +var Readable = __webpack_require__(118); +var Writable = __webpack_require__(120); util.inherits(Duplex, Readable); @@ -25224,7 +25224,7 @@ function forEach (xs, f) { /* 73 */ /***/ (function(module, exports, __webpack_require__) { -var Symbol = __webpack_require__(122), +var Symbol = __webpack_require__(123), getRawTag = __webpack_require__(261), objectToString = __webpack_require__(262); @@ -25300,7 +25300,7 @@ var Block = __webpack_require__(29); var Log = __webpack_require__(76); var Receipt = __webpack_require__(77); var VM = __webpack_require__(78); -var RuntimeError = __webpack_require__(132); +var RuntimeError = __webpack_require__(79); var Trie = __webpack_require__(33); var Web3 = __webpack_require__(57); var utils = __webpack_require__(7); @@ -26268,13 +26268,96 @@ module.exports = Receipt; /* 78 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(94) +module.exports = __webpack_require__(95) /***/ }), /* 79 */ /***/ (function(module, exports, __webpack_require__) { +var inherits = __webpack_require__(0).inherits; +var to = __webpack_require__(10); + +inherits(RuntimeError, Error); + +// Note: ethereumjs-vm will return an object that has a "results" and "receipts" keys. +// You should pass in the whole object. +function RuntimeError(transactions, vm_output) { + Error.call(this); + this.results = {}; + this.hashes = []; + this.combine(transactions, vm_output); +}; + +RuntimeError.prototype.combine = function(transactions, vm_output) { + // Can be combined with vm_output or another RuntimeError. + if (transactions instanceof RuntimeError) { + var err = transactions; + var keys = Object.keys(err.results); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + this.results[key] = err.results[key]; + Array.prototype.push.apply(this.hashes, err.hashes); + } + } else { + var results = vm_output.results; + var receipts = vm_output.receipts; + + for (var i = 0; i < transactions.length; i++) { + var tx = transactions[i]; + var result = results[i]; + var receipt = receipts[i]; + + // 1 means no error, oddly. + if (result.vm.exception != 1) { + var hash = to.hex(tx.hash()); + + this.hashes.push(hash); + + this.results[hash] = { + error: result.vm.exceptionError, + program_counter: result.vm.runState.programCounter + }; + } + } + } + + // Once combined, set the message + if (this.hashes.length == 1) { + this.message = "VM Exception while processing transaction: " + this.results[this.hashes[0]].error; + } else { + this.message = "Multiple VM Exceptions while processing transactions: \n\n"; + + for (var i = 0; i < this.hashes.length; i++) { + var hash = this.hashes[i]; + + this.message += hash + ": " + this.results[hash].error + "\n"; + } + } +}; + +RuntimeError.prototype.count = function() { + return Object.keys(this.results).length; +}; + +RuntimeError.fromResults = function(transactions, vm_output) { + var err = new RuntimeError(transactions, vm_output); + + if (err.count() == 0) { + return null; + } + + return err; +}; + +module.exports = RuntimeError; + + +/***/ }), +/* 80 */ +/***/ (function(module, exports, __webpack_require__) { + ;(function (root, factory) { if (true) { // CommonJS @@ -26427,7 +26510,7 @@ module.exports = __webpack_require__(94) })); /***/ }), -/* 80 */ +/* 81 */ /***/ (function(module, exports, __webpack_require__) { ;(function (root, factory) { @@ -26575,7 +26658,7 @@ module.exports = __webpack_require__(94) })); /***/ }), -/* 81 */ +/* 82 */ /***/ (function(module, exports, __webpack_require__) { /* @@ -26844,7 +26927,7 @@ module.exports = coder; /***/ }), -/* 82 */ +/* 83 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -26871,7 +26954,7 @@ module.exports = function (db, opts) { /***/ }), -/* 83 */ +/* 84 */ /***/ (function(module, exports, __webpack_require__) { /* Copyright (c) 2012-2014 LevelUP contributors @@ -26880,7 +26963,7 @@ module.exports = function (db, opts) { * */ -var createError = __webpack_require__(102).create +var createError = __webpack_require__(103).create , LevelUPError = createError('LevelUPError') , NotFoundError = createError('NotFoundError', LevelUPError) @@ -26899,7 +26982,7 @@ module.exports = { /***/ }), -/* 84 */ +/* 85 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -26994,7 +27077,7 @@ function forEach (xs, f) { /***/ }), -/* 85 */ +/* 86 */ /***/ (function(module, exports, __webpack_require__) { var to = __webpack_require__(10); @@ -27050,7 +27133,7 @@ module.exports = { /***/ }), -/* 86 */ +/* 87 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27085,7 +27168,7 @@ module.exports = function (KeccakState) { /***/ }), -/* 87 */ +/* 88 */ /***/ (function(module, exports) { function webpackEmptyContext(req) { @@ -27094,16 +27177,16 @@ function webpackEmptyContext(req) { webpackEmptyContext.keys = function() { return []; }; webpackEmptyContext.resolve = webpackEmptyContext; module.exports = webpackEmptyContext; -webpackEmptyContext.id = 87; +webpackEmptyContext.id = 88; /***/ }), -/* 88 */ +/* 89 */ /***/ (function(module, exports) { module.exports = {"COMPRESSED_TYPE_INVALID":"compressed should be a boolean","EC_PRIVATE_KEY_TYPE_INVALID":"private key should be a Buffer","EC_PRIVATE_KEY_LENGTH_INVALID":"private key length is invalid","EC_PRIVATE_KEY_TWEAK_ADD_FAIL":"tweak out of range or resulting private key is invalid","EC_PRIVATE_KEY_TWEAK_MUL_FAIL":"tweak out of range","EC_PRIVATE_KEY_EXPORT_DER_FAIL":"couldn't export to DER format","EC_PRIVATE_KEY_IMPORT_DER_FAIL":"couldn't import from DER format","EC_PUBLIC_KEYS_TYPE_INVALID":"public keys should be an Array","EC_PUBLIC_KEYS_LENGTH_INVALID":"public keys Array should have at least 1 element","EC_PUBLIC_KEY_TYPE_INVALID":"public key should be a Buffer","EC_PUBLIC_KEY_LENGTH_INVALID":"public key length is invalid","EC_PUBLIC_KEY_PARSE_FAIL":"the public key could not be parsed or is invalid","EC_PUBLIC_KEY_CREATE_FAIL":"private was invalid, try again","EC_PUBLIC_KEY_TWEAK_ADD_FAIL":"tweak out of range or resulting public key is invalid","EC_PUBLIC_KEY_TWEAK_MUL_FAIL":"tweak out of range","EC_PUBLIC_KEY_COMBINE_FAIL":"the sum of the public keys is not valid","ECDH_FAIL":"scalar was invalid (zero or overflow)","ECDSA_SIGNATURE_TYPE_INVALID":"signature should be a Buffer","ECDSA_SIGNATURE_LENGTH_INVALID":"signature length is invalid","ECDSA_SIGNATURE_PARSE_FAIL":"couldn't parse signature","ECDSA_SIGNATURE_PARSE_DER_FAIL":"couldn't parse DER signature","ECDSA_SIGNATURE_SERIALIZE_DER_FAIL":"couldn't serialize signature to DER format","ECDSA_SIGN_FAIL":"nonce generation function failed or private key is invalid","ECDSA_RECOVER_FAIL":"couldn't recover public key from signature","MSG32_TYPE_INVALID":"message should be a Buffer","MSG32_LENGTH_INVALID":"message length is invalid","OPTIONS_TYPE_INVALID":"options should be an Object","OPTIONS_DATA_TYPE_INVALID":"options.data should be a Buffer","OPTIONS_DATA_LENGTH_INVALID":"options.data length is invalid","OPTIONS_NONCEFN_TYPE_INVALID":"options.noncefn should be a Function","RECOVERY_ID_TYPE_INVALID":"recovery should be a Number","RECOVERY_ID_VALUE_INVALID":"recovery should have value between -1 and 4","TWEAK_TYPE_INVALID":"tweak should be a Buffer","TWEAK_LENGTH_INVALID":"tweak length is invalid"} /***/ }), -/* 89 */ +/* 90 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27168,7 +27251,7 @@ utils.encode = function encode(arr, enc) { /***/ }), -/* 90 */ +/* 91 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27224,7 +27307,7 @@ exports.g1_256 = g1_256; /***/ }), -/* 91 */ +/* 92 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27232,7 +27315,7 @@ exports.g1_256 = g1_256; var utils = __webpack_require__(22); var common = __webpack_require__(48); -var shaCommon = __webpack_require__(90); +var shaCommon = __webpack_require__(91); var assert = __webpack_require__(31); var sum32 = utils.sum32; @@ -27336,7 +27419,7 @@ SHA256.prototype._digest = function digest(enc) { /***/ }), -/* 92 */ +/* 93 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27673,7 +27756,7 @@ function g1_512_lo(xh, xl) { /***/ }), -/* 93 */ +/* 94 */ /***/ (function(module, exports) { /** @@ -27692,7 +27775,7 @@ module.exports = function isHexPrefixed(str) { /***/ }), -/* 94 */ +/* 95 */ /***/ (function(module, exports, __webpack_require__) { const util = __webpack_require__(0) @@ -27779,14 +27862,14 @@ VM.prototype.populateCache = function (addresses, cb) { /***/ }), -/* 95 */ +/* 96 */ /***/ (function(module, exports, __webpack_require__) { /* Copyright (c) 2017 Rod Vagg, MIT License */ var xtend = __webpack_require__(36) - , AbstractIterator = __webpack_require__(96) - , AbstractChainedBatch = __webpack_require__(97) + , AbstractIterator = __webpack_require__(97) + , AbstractChainedBatch = __webpack_require__(98) function AbstractLevelDOWN (location) { if (!arguments.length || location === undefined) @@ -28057,7 +28140,7 @@ module.exports = AbstractLevelDOWN /***/ }), -/* 96 */ +/* 97 */ /***/ (function(module, exports) { /* Copyright (c) 2017 Rod Vagg, MIT License */ @@ -28112,7 +28195,7 @@ module.exports = AbstractIterator /***/ }), -/* 97 */ +/* 98 */ /***/ (function(module, exports) { /* Copyright (c) 2017 Rod Vagg, MIT License */ @@ -28206,7 +28289,7 @@ module.exports = AbstractChainedBatch /***/ }), -/* 98 */ +/* 99 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -28335,7 +28418,7 @@ function ReadableState(options, stream) { this.encoding = null; if (options.encoding) { if (!StringDecoder) - StringDecoder = __webpack_require__(100).StringDecoder; + StringDecoder = __webpack_require__(101).StringDecoder; this.decoder = new StringDecoder(options.encoding); this.encoding = options.encoding; } @@ -28445,7 +28528,7 @@ function needMoreData(state) { // backwards compatibility. Readable.prototype.setEncoding = function(enc) { if (!StringDecoder) - StringDecoder = __webpack_require__(100).StringDecoder; + StringDecoder = __webpack_require__(101).StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; return this; @@ -29163,7 +29246,7 @@ function indexOf (xs, x) { /***/ }), -/* 99 */ +/* 100 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -29646,7 +29729,7 @@ function endWritable(stream, state, cb) { /***/ }), -/* 100 */ +/* 101 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -29873,7 +29956,7 @@ function base64DetectIncompleteChar(buffer) { /***/ }), -/* 101 */ +/* 102 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -30088,7 +30171,7 @@ function done(stream, er) { /***/ }), -/* 102 */ +/* 103 */ /***/ (function(module, exports, __webpack_require__) { var all = module.exports.all = [ @@ -30407,7 +30490,7 @@ module.exports.create = module.exports.custom.createError /***/ }), -/* 103 */ +/* 104 */ /***/ (function(module, exports) { /* Copyright (c) 2012-2016 LevelUP contributors @@ -30447,12 +30530,12 @@ module.exports = { /***/ }), -/* 104 */ +/* 105 */ /***/ (function(module, exports, __webpack_require__) { var inherits = __webpack_require__(2) - , AbstractLevelDOWN = __webpack_require__(105).AbstractLevelDOWN - , AbstractIterator = __webpack_require__(105).AbstractIterator + , AbstractLevelDOWN = __webpack_require__(106).AbstractLevelDOWN + , AbstractIterator = __webpack_require__(106).AbstractIterator , ltgt = __webpack_require__(69) , createRBT = __webpack_require__(67) , globalStore = {} @@ -30681,24 +30764,24 @@ module.exports = MemDOWN /***/ }), -/* 105 */ +/* 106 */ /***/ (function(module, exports, __webpack_require__) { -exports.AbstractLevelDOWN = __webpack_require__(106) -exports.AbstractIterator = __webpack_require__(107) -exports.AbstractChainedBatch = __webpack_require__(108) +exports.AbstractLevelDOWN = __webpack_require__(107) +exports.AbstractIterator = __webpack_require__(108) +exports.AbstractChainedBatch = __webpack_require__(109) exports.isLevelDOWN = __webpack_require__(227) /***/ }), -/* 106 */ +/* 107 */ /***/ (function(module, exports, __webpack_require__) { /* Copyright (c) 2013 Rod Vagg, MIT License */ var xtend = __webpack_require__(36) - , AbstractIterator = __webpack_require__(107) - , AbstractChainedBatch = __webpack_require__(108) + , AbstractIterator = __webpack_require__(108) + , AbstractChainedBatch = __webpack_require__(109) function AbstractLevelDOWN (location) { if (!arguments.length || location === undefined) @@ -30969,7 +31052,7 @@ module.exports = AbstractLevelDOWN /***/ }), -/* 107 */ +/* 108 */ /***/ (function(module, exports) { /* Copyright (c) 2013 Rod Vagg, MIT License */ @@ -31024,7 +31107,7 @@ module.exports = AbstractIterator /***/ }), -/* 108 */ +/* 109 */ /***/ (function(module, exports) { /* Copyright (c) 2013 Rod Vagg, MIT License */ @@ -31109,7 +31192,7 @@ AbstractChainedBatch.prototype.write = function (options, callback) { module.exports = AbstractChainedBatch /***/ }), -/* 109 */ +/* 110 */ /***/ (function(module, exports, __webpack_require__) { const rlp = __webpack_require__(24) @@ -31370,7 +31453,7 @@ function isRawNode (node) { /***/ }), -/* 110 */ +/* 111 */ /***/ (function(module, exports, __webpack_require__) { var Stream = __webpack_require__(4); @@ -31384,18 +31467,18 @@ if (process.env.READABLE_STREAM === 'disable' && Stream) { exports.PassThrough = Stream.PassThrough; exports.Stream = Stream; } else { - exports = module.exports = __webpack_require__(111); + exports = module.exports = __webpack_require__(112); exports.Stream = Stream || exports; exports.Readable = exports; - exports.Writable = __webpack_require__(114); + exports.Writable = __webpack_require__(115); exports.Duplex = __webpack_require__(39); - exports.Transform = __webpack_require__(116); + exports.Transform = __webpack_require__(117); exports.PassThrough = __webpack_require__(234); } /***/ }), -/* 111 */ +/* 112 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -31448,7 +31531,7 @@ var EElistenerCount = function (emitter, type) { /**/ /**/ -var Stream = __webpack_require__(112); +var Stream = __webpack_require__(113); /**/ // TODO(bmeurer): Change this back to const once hole checks are @@ -31480,7 +31563,7 @@ if (debugUtil && debugUtil.debuglog) { /**/ var BufferList = __webpack_require__(232); -var destroyImpl = __webpack_require__(113); +var destroyImpl = __webpack_require__(114); var StringDecoder; util.inherits(Readable, Stream); @@ -31563,7 +31646,7 @@ function ReadableState(options, stream) { this.decoder = null; this.encoding = null; if (options.encoding) { - if (!StringDecoder) StringDecoder = __webpack_require__(115).StringDecoder; + if (!StringDecoder) StringDecoder = __webpack_require__(116).StringDecoder; this.decoder = new StringDecoder(options.encoding); this.encoding = options.encoding; } @@ -31719,7 +31802,7 @@ Readable.prototype.isPaused = function () { // backwards compatibility. Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = __webpack_require__(115).StringDecoder; + if (!StringDecoder) StringDecoder = __webpack_require__(116).StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; return this; @@ -32408,14 +32491,14 @@ function indexOf(xs, x) { } /***/ }), -/* 112 */ +/* 113 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(4); /***/ }), -/* 113 */ +/* 114 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -32493,7 +32576,7 @@ module.exports = { }; /***/ }), -/* 114 */ +/* 115 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -32574,7 +32657,7 @@ var internalUtil = { /**/ /**/ -var Stream = __webpack_require__(112); +var Stream = __webpack_require__(113); /**/ /**/ @@ -32588,7 +32671,7 @@ function _isUint8Array(obj) { } /**/ -var destroyImpl = __webpack_require__(113); +var destroyImpl = __webpack_require__(114); util.inherits(Writable, Stream); @@ -33163,7 +33246,7 @@ Writable.prototype._destroy = function (err, cb) { }; /***/ }), -/* 115 */ +/* 116 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -33441,7 +33524,7 @@ function simpleEnd(buf) { } /***/ }), -/* 116 */ +/* 117 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -33661,7 +33744,7 @@ function done(stream, er, data) { } /***/ }), -/* 117 */ +/* 118 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -33779,7 +33862,7 @@ function ReadableState(options, stream) { this.encoding = null; if (options.encoding) { if (!StringDecoder) - StringDecoder = __webpack_require__(118).StringDecoder; + StringDecoder = __webpack_require__(119).StringDecoder; this.decoder = new StringDecoder(options.encoding); this.encoding = options.encoding; } @@ -33880,7 +33963,7 @@ function needMoreData(state) { // backwards compatibility. Readable.prototype.setEncoding = function(enc) { if (!StringDecoder) - StringDecoder = __webpack_require__(118).StringDecoder; + StringDecoder = __webpack_require__(119).StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; }; @@ -34649,7 +34732,7 @@ function indexOf (xs, x) { /***/ }), -/* 118 */ +/* 119 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -34876,7 +34959,7 @@ function base64DetectIncompleteChar(buffer) { /***/ }), -/* 119 */ +/* 120 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -35268,7 +35351,7 @@ function endWritable(stream, state, cb) { /***/ }), -/* 120 */ +/* 121 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -35484,11 +35567,11 @@ function done(stream, er) { /***/ }), -/* 121 */ +/* 122 */ /***/ (function(module, exports, __webpack_require__) { var isFunction = __webpack_require__(260), - isLength = __webpack_require__(126); + isLength = __webpack_require__(127); /** * Checks if `value` is array-like. A value is considered array-like if it's @@ -35523,10 +35606,10 @@ module.exports = isArrayLike; /***/ }), -/* 122 */ +/* 123 */ /***/ (function(module, exports, __webpack_require__) { -var root = __webpack_require__(123); +var root = __webpack_require__(124); /** Built-in value references. */ var Symbol = root.Symbol; @@ -35535,10 +35618,10 @@ module.exports = Symbol; /***/ }), -/* 123 */ +/* 124 */ /***/ (function(module, exports, __webpack_require__) { -var freeGlobal = __webpack_require__(124); +var freeGlobal = __webpack_require__(125); /** Detect free variable `self`. */ var freeSelf = typeof self == 'object' && self && self.Object === Object && self; @@ -35550,7 +35633,7 @@ module.exports = root; /***/ }), -/* 124 */ +/* 125 */ /***/ (function(module, exports) { /** Detect free variable `global` from Node.js. */ @@ -35560,7 +35643,7 @@ module.exports = freeGlobal; /***/ }), -/* 125 */ +/* 126 */ /***/ (function(module, exports) { /** @@ -35597,7 +35680,7 @@ module.exports = isObject; /***/ }), -/* 126 */ +/* 127 */ /***/ (function(module, exports) { /** Used as references for various `Number` constants. */ @@ -35638,7 +35721,7 @@ module.exports = isLength; /***/ }), -/* 127 */ +/* 128 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -35660,7 +35743,7 @@ function slice(arrayLike, start) { module.exports = exports["default"]; /***/ }), -/* 128 */ +/* 129 */ /***/ (function(module, exports, __webpack_require__) { const SHA3 = __webpack_require__(49) @@ -36367,13 +36450,13 @@ exports.defineProperties = function (self, fields, data) { /***/ }), -/* 129 */ +/* 130 */ /***/ (function(module, exports) { module.exports = {"genesisGasLimit":{"v":5000,"d":"Gas limit of the Genesis block."},"genesisDifficulty":{"v":17179869184,"d":"Difficulty of the Genesis block."},"genesisNonce":{"v":"0x0000000000000042","d":"the geneis nonce"},"genesisExtraData":{"v":"0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa","d":"extra data "},"genesisHash":{"v":"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3","d":"genesis hash"},"genesisStateRoot":{"v":"0xd7f8974fb5ac78d9ac099b9ad5018bedc2ce0a72dad1827a1709da30580f0544","d":"the genesis state root"},"minGasLimit":{"v":5000,"d":"Minimum the gas limit may ever be."},"gasLimitBoundDivisor":{"v":1024,"d":"The bound divisor of the gas limit, used in update calculations."},"minimumDifficulty":{"v":131072,"d":"The minimum that the difficulty may ever be."},"difficultyBoundDivisor":{"v":2048,"d":"The bound divisor of the difficulty, used in the update calculations."},"durationLimit":{"v":13,"d":"The decision boundary on the blocktime duration used to determine whether difficulty should go up or not."},"maximumExtraDataSize":{"v":32,"d":"Maximum size extra data may be after Genesis."},"epochDuration":{"v":30000,"d":"Duration between proof-of-work epochs."},"stackLimit":{"v":1024,"d":"Maximum size of VM stack allowed."},"callCreateDepth":{"v":1024,"d":"Maximum depth of call/create stack."},"tierStepGas":{"v":[0,2,3,5,8,10,20],"d":"Once per operation, for a selection of them."},"expGas":{"v":10,"d":"Once per EXP instuction."},"expByteGas":{"v":10,"d":"Times ceil(log256(exponent)) for the EXP instruction."},"sha3Gas":{"v":30,"d":"Once per SHA3 operation."},"sha3WordGas":{"v":6,"d":"Once per word of the SHA3 operation's data."},"sloadGas":{"v":50,"d":"Once per SLOAD operation."},"sstoreSetGas":{"v":20000,"d":"Once per SSTORE operation if the zeroness changes from zero."},"sstoreResetGas":{"v":5000,"d":"Once per SSTORE operation if the zeroness does not change from zero."},"sstoreRefundGas":{"v":15000,"d":"Once per SSTORE operation if the zeroness changes to zero."},"jumpdestGas":{"v":1,"d":"Refunded gas, once per SSTORE operation if the zeroness changes to zero."},"logGas":{"v":375,"d":"Per LOG* operation."},"logDataGas":{"v":8,"d":"Per byte in a LOG* operation's data."},"logTopicGas":{"v":375,"d":"Multiplied by the * of the LOG*, per LOG transaction. e.g. LOG0 incurs 0 * c_txLogTopicGas, LOG4 incurs 4 * c_txLogTopicGas."},"createGas":{"v":32000,"d":"Once per CREATE operation & contract-creation transaction."},"callGas":{"v":40,"d":"Once per CALL operation & message call transaction."},"callStipend":{"v":2300,"d":"Free gas given at beginning of call."},"callValueTransferGas":{"v":9000,"d":"Paid for CALL when the value transfor is non-zero."},"callNewAccountGas":{"v":25000,"d":"Paid for CALL when the destination address didn't exist prior."},"suicideRefundGas":{"v":24000,"d":"Refunded following a suicide operation."},"memoryGas":{"v":3,"d":"Times the address of the (highest referenced byte in memory + 1). NOTE: referencing happens on read, write and in instructions such as RETURN and CALL."},"quadCoeffDiv":{"v":512,"d":"Divisor for the quadratic particle of the memory cost equation."},"createDataGas":{"v":200,"d":""},"txGas":{"v":21000,"d":"Per transaction. NOTE: Not payable on data of calls between transactions."},"txCreation":{"v":32000,"d":"the cost of creating a contract via tx"},"txDataZeroGas":{"v":4,"d":"Per byte of data attached to a transaction that equals zero. NOTE: Not payable on data of calls between transactions."},"txDataNonZeroGas":{"v":68,"d":"Per byte of data attached to a transaction that is not equal to zero. NOTE: Not payable on data of calls between transactions."},"copyGas":{"v":3,"d":"Multiplied by the number of 32-byte words that are copied (round up) for any *COPY operation and added."},"ecrecoverGas":{"v":3000,"d":""},"sha256Gas":{"v":60,"d":""},"sha256WordGas":{"v":12,"d":""},"ripemd160Gas":{"v":600,"d":""},"ripemd160WordGas":{"v":120,"d":""},"identityGas":{"v":15,"d":""},"identityWordGas":{"v":3,"d":""},"minerReward":{"v":"5000000000000000000","d":"the amount a miner get rewarded for mining a block"},"ommerReward":{"v":"625000000000000000","d":"The amount of wei a miner of an uncle block gets for being inculded in the blockchain"},"niblingReward":{"v":"156250000000000000","d":"the amount a miner gets for inculding a uncle"},"homeSteadForkNumber":{"v":1150000,"d":"the block that the Homestead fork started at"},"homesteadRepriceForkNumber":{"v":2463000,"d":"the block that the Homestead Reprice (EIP150) fork started at"},"timebombPeriod":{"v":100000,"d":"Exponential difficulty timebomb period"},"freeBlockPeriod":{"v":2}} /***/ }), -/* 130 */ +/* 131 */ /***/ (function(module, exports, __webpack_require__) { var params = __webpack_require__(297) @@ -36383,7 +36466,7 @@ module.exports = params /***/ }), -/* 131 */ +/* 132 */ /***/ (function(module, exports, __webpack_require__) { const assert = __webpack_require__(23) @@ -36476,89 +36559,6 @@ Bloom.prototype.or = function (bloom) { } -/***/ }), -/* 132 */ -/***/ (function(module, exports, __webpack_require__) { - -var inherits = __webpack_require__(0).inherits; -var to = __webpack_require__(10); - -inherits(RuntimeError, Error); - -// Note: ethereumjs-vm will return an object that has a "results" and "receipts" keys. -// You should pass in the whole object. -function RuntimeError(transactions, vm_output) { - Error.call(this); - this.results = {}; - this.hashes = []; - this.combine(transactions, vm_output); -}; - -RuntimeError.prototype.combine = function(transactions, vm_output) { - // Can be combined with vm_output or another RuntimeError. - if (transactions instanceof RuntimeError) { - var err = transactions; - var keys = Object.keys(err.results); - - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - this.results[key] = err.results[key]; - Array.prototype.push.apply(this.hashes, err.hashes); - } - } else { - var results = vm_output.results; - var receipts = vm_output.receipts; - - for (var i = 0; i < transactions.length; i++) { - var tx = transactions[i]; - var result = results[i]; - var receipt = receipts[i]; - - // 1 means no error, oddly. - if (result.vm.exception != 1) { - var hash = to.hex(tx.hash()); - - this.hashes.push(hash); - - this.results[hash] = { - error: result.vm.exceptionError, - program_counter: result.vm.runState.programCounter - }; - } - } - } - - // Once combined, set the message - if (this.hashes.length == 1) { - this.message = "VM Exception while processing transaction: " + this.results[this.hashes[0]].error; - } else { - this.message = "Multiple VM Exceptions while processing transactions: \n\n"; - - for (var i = 0; i < this.hashes.length; i++) { - var hash = this.hashes[i]; - - this.message += hash + ": " + this.results[hash].error + "\n"; - } - } -}; - -RuntimeError.prototype.count = function() { - return Object.keys(this.results).length; -}; - -RuntimeError.fromResults = function(transactions, vm_output) { - var err = new RuntimeError(transactions, vm_output); - - if (err.count() == 0) { - return null; - } - - return err; -}; - -module.exports = RuntimeError; - - /***/ }), /* 133 */ /***/ (function(module, exports) { @@ -37695,7 +37695,7 @@ module.exports = SolidityParam; */ var utils = __webpack_require__(5); -var coder = __webpack_require__(81); +var coder = __webpack_require__(82); var formatters = __webpack_require__(26); var sha3 = __webpack_require__(53); var Filter = __webpack_require__(61); @@ -39411,7 +39411,7 @@ function WritableState(options, stream) { } function Writable(options) { - var Duplex = __webpack_require__(84); + var Duplex = __webpack_require__(85); // Writable ctor is applied to Duplexes, though they're not // instanceof Writable, they're instanceof Readable. @@ -39748,7 +39748,7 @@ function endWritable(stream, state, cb) { module.exports = Transform; -var Duplex = __webpack_require__(84); +var Duplex = __webpack_require__(85); /**/ var util = __webpack_require__(3); @@ -40587,6 +40587,8 @@ var ReactiveBlockTracker = __webpack_require__(400); var GethDefaults = __webpack_require__(401); var GethApiDouble = __webpack_require__(402); +var RuntimeError = __webpack_require__(79); + function Provider(options) { var self = this; @@ -40642,17 +40644,21 @@ Provider.prototype.sendAsync = function(payload, callback) { payload = externalize(payload); } - var intermediary = callback; + var intermediary = function(err, result) { + if (err) { + // If we find a runtime error, mimic the result that would be sent back from + // normal Ethereum clients that don't return runtime errors (e.g., geth, parity). + if (err instanceof RuntimeError && (payload.method == "eth_sendTransaction" || payload.method == "eth_sendRawTransaction")) { + result.result = err.hashes[0]; + } + } else if (self.options.verbose) { + self.options.logger.log(" < " + JSON.stringify(result, null, 2).split("\n").join("\n < ")); + } + callback(err, result); + }; if (self.options.verbose) { self.options.logger.log(" > " + JSON.stringify(payload, null, 2).split("\n").join("\n > ")); - - intermediary = function(err, result) { - if (!err) { - self.options.logger.log(" < " + JSON.stringify(result, null, 2).split("\n").join("\n < ")); - } - callback(err, result); - }; } this.engine.sendAsync(payload, intermediary); @@ -41125,7 +41131,7 @@ try { "use strict"; -module.exports = __webpack_require__(86)(__webpack_require__(166)('keccak')) +module.exports = __webpack_require__(87)(__webpack_require__(166)('keccak')) /***/ }), @@ -41514,7 +41520,7 @@ exports.getRoot = function getRoot (file) { "use strict"; -module.exports = __webpack_require__(86)(__webpack_require__(168)) +module.exports = __webpack_require__(87)(__webpack_require__(168)) /***/ }), @@ -41796,7 +41802,7 @@ exports.p1600 = function (s) { var assert = __webpack_require__(171) var der = __webpack_require__(172) -var messages = __webpack_require__(88) +var messages = __webpack_require__(89) function initCompressedValue (value, defaultValue) { if (value === undefined) return defaultValue @@ -42412,7 +42418,7 @@ var createHash = __webpack_require__(20) var BN = __webpack_require__(8) var EC = __webpack_require__(13).ec -var messages = __webpack_require__(88) +var messages = __webpack_require__(89) var ec = new EC('secp256k1') var ecparams = ec.curve @@ -42672,7 +42678,7 @@ module.exports = {"_args":[["elliptic@6.4.0","/Users/tim/Documents/workspace/Con var utils = exports; var BN = __webpack_require__(8); var minAssert = __webpack_require__(31); -var minUtils = __webpack_require__(89); +var minUtils = __webpack_require__(90); utils.assert = minAssert; utils.toArray = minUtils.toArray; @@ -45035,9 +45041,9 @@ defineCurve('secp256k1', { exports.sha1 = __webpack_require__(184); exports.sha224 = __webpack_require__(185); -exports.sha256 = __webpack_require__(91); +exports.sha256 = __webpack_require__(92); exports.sha384 = __webpack_require__(186); -exports.sha512 = __webpack_require__(92); +exports.sha512 = __webpack_require__(93); /***/ }), @@ -45049,7 +45055,7 @@ exports.sha512 = __webpack_require__(92); var utils = __webpack_require__(22); var common = __webpack_require__(48); -var shaCommon = __webpack_require__(90); +var shaCommon = __webpack_require__(91); var rotl32 = utils.rotl32; var sum32 = utils.sum32; @@ -45129,7 +45135,7 @@ SHA1.prototype._digest = function digest(enc) { var utils = __webpack_require__(22); -var SHA256 = __webpack_require__(91); +var SHA256 = __webpack_require__(92); function SHA224() { if (!(this instanceof SHA224)) @@ -45167,7 +45173,7 @@ SHA224.prototype._digest = function digest(enc) { var utils = __webpack_require__(22); -var SHA512 = __webpack_require__(92); +var SHA512 = __webpack_require__(93); function SHA384() { if (!(this instanceof SHA384)) @@ -46448,7 +46454,7 @@ EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) { var hash = __webpack_require__(66); -var utils = __webpack_require__(89); +var utils = __webpack_require__(90); var assert = __webpack_require__(31); function HmacDRBG(options) { @@ -47136,7 +47142,7 @@ module.exports = Signature; "use strict"; -var isHexPrefixed = __webpack_require__(93); +var isHexPrefixed = __webpack_require__(94); var stripHexPrefix = __webpack_require__(198); /** @@ -47359,7 +47365,7 @@ module.exports = { /* 198 */ /***/ (function(module, exports, __webpack_require__) { -var isHexPrefixed = __webpack_require__(93); +var isHexPrefixed = __webpack_require__(94); /** * Removes '0x' from a given `String` is present @@ -48021,7 +48027,7 @@ const async = __webpack_require__(14) const ethUtil = __webpack_require__(9) const Account = __webpack_require__(25) const FakeMerklePatriciaTree = __webpack_require__(206) -const VM = __webpack_require__(94) +const VM = __webpack_require__(95) const ZERO_BUFFER = new Buffer('0000000000000000000000000000000000000000000000000000000000000000', 'hex') module.exports = createHookedVm @@ -49932,12 +49938,12 @@ function SecureTrie () { const assert = __webpack_require__(23) const levelup = __webpack_require__(68) -const memdown = __webpack_require__(104) +const memdown = __webpack_require__(105) const async = __webpack_require__(70) const rlp = __webpack_require__(24) const ethUtil = __webpack_require__(71) const semaphore = __webpack_require__(229) -const TrieNode = __webpack_require__(109) +const TrieNode = __webpack_require__(110) const ReadStream = __webpack_require__(230) const matchingNibbleLength = __webpack_require__(51).matchingNibbleLength const doKeysMatch = __webpack_require__(51).doKeysMatch @@ -50800,7 +50806,7 @@ module.exports.DeferredIterator = DeferredIterator /* 213 */ /***/ (function(module, exports, __webpack_require__) { -var AbstractLevelDOWN = __webpack_require__(95) +var AbstractLevelDOWN = __webpack_require__(96) function isLevelDOWN (db) { if (!db || typeof db !== 'object') @@ -50922,12 +50928,12 @@ ReadStream.prototype._cleanup = function(){ /* 216 */ /***/ (function(module, exports, __webpack_require__) { -exports = module.exports = __webpack_require__(98); +exports = module.exports = __webpack_require__(99); exports.Stream = __webpack_require__(4); exports.Readable = exports; -exports.Writable = __webpack_require__(99); +exports.Writable = __webpack_require__(100); exports.Duplex = __webpack_require__(38); -exports.Transform = __webpack_require__(101); +exports.Transform = __webpack_require__(102); exports.PassThrough = __webpack_require__(218); if (!process.browser && process.env.READABLE_STREAM === 'disable') { module.exports = __webpack_require__(4); @@ -50974,7 +50980,7 @@ module.exports = Array.isArray || function (arr) { module.exports = PassThrough; -var Transform = __webpack_require__(101); +var Transform = __webpack_require__(102); /**/ var util = __webpack_require__(3); @@ -51134,7 +51140,7 @@ module.exports = function (errno) { * */ -var util = __webpack_require__(103) +var util = __webpack_require__(104) var WriteError = __webpack_require__(50).WriteError var getOptions = util.getOptions var dispatchError = util.dispatchError @@ -52765,7 +52771,7 @@ function intersects(r1, r2, loose) { /* 227 */ /***/ (function(module, exports, __webpack_require__) { -var AbstractLevelDOWN = __webpack_require__(106) +var AbstractLevelDOWN = __webpack_require__(107) function isLevelDOWN (db) { if (!db || typeof db !== 'object') @@ -52899,8 +52905,8 @@ if (true) { /* 230 */ /***/ (function(module, exports, __webpack_require__) { -const Readable = __webpack_require__(110).Readable -const TrieNode = __webpack_require__(109) +const Readable = __webpack_require__(111).Readable +const TrieNode = __webpack_require__(110) const util = __webpack_require__(0) module.exports = TrieReadStream @@ -53070,7 +53076,7 @@ module.exports = __webpack_require__(0).deprecate; module.exports = PassThrough; -var Transform = __webpack_require__(116); +var Transform = __webpack_require__(117); /**/ var util = __webpack_require__(3); @@ -53094,10 +53100,10 @@ PassThrough.prototype._transform = function (chunk, encoding, cb) { /***/ (function(module, exports, __webpack_require__) { const levelup = __webpack_require__(68) -const memdown = __webpack_require__(104) +const memdown = __webpack_require__(105) const async = __webpack_require__(70) const inherits = __webpack_require__(0).inherits -const Readable = __webpack_require__(110).Readable +const Readable = __webpack_require__(111).Readable const levelws = __webpack_require__(236) const callTogether = __webpack_require__(51).callTogether @@ -53444,12 +53450,12 @@ module.exports.WriteStream = WriteStream /***/ (function(module, exports, __webpack_require__) { var Stream = __webpack_require__(4); // hack to fix a circular dependency issue when used with browserify -exports = module.exports = __webpack_require__(117); +exports = module.exports = __webpack_require__(118); exports.Stream = Stream; exports.Readable = exports; -exports.Writable = __webpack_require__(119); +exports.Writable = __webpack_require__(120); exports.Duplex = __webpack_require__(72); -exports.Transform = __webpack_require__(120); +exports.Transform = __webpack_require__(121); exports.PassThrough = __webpack_require__(239); if (!process.browser && process.env.READABLE_STREAM === 'disable') { module.exports = __webpack_require__(4); @@ -53496,7 +53502,7 @@ module.exports = Array.isArray || function (arr) { module.exports = PassThrough; -var Transform = __webpack_require__(120); +var Transform = __webpack_require__(121); /**/ var util = __webpack_require__(3); @@ -54368,7 +54374,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = iterator; -var _isArrayLike = __webpack_require__(121); +var _isArrayLike = __webpack_require__(122); var _isArrayLike2 = _interopRequireDefault(_isArrayLike); @@ -54425,7 +54431,7 @@ module.exports = exports['default']; /***/ (function(module, exports, __webpack_require__) { var baseGetTag = __webpack_require__(73), - isObject = __webpack_require__(125); + isObject = __webpack_require__(126); /** `Object#toString` result references. */ var asyncTag = '[object AsyncFunction]', @@ -54467,7 +54473,7 @@ module.exports = isFunction; /* 261 */ /***/ (function(module, exports, __webpack_require__) { -var Symbol = __webpack_require__(122); +var Symbol = __webpack_require__(123); /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -54568,7 +54574,7 @@ module.exports = exports['default']; var arrayLikeKeys = __webpack_require__(265), baseKeys = __webpack_require__(277), - isArrayLike = __webpack_require__(121); + isArrayLike = __webpack_require__(122); /** * Creates an array of the own enumerable property names of `object`. @@ -54788,7 +54794,7 @@ module.exports = isArray; /* 270 */ /***/ (function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(123), +/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(124), stubFalse = __webpack_require__(271); /** Detect free variable `exports`. */ @@ -54919,7 +54925,7 @@ module.exports = isTypedArray; /***/ (function(module, exports, __webpack_require__) { var baseGetTag = __webpack_require__(73), - isLength = __webpack_require__(126), + isLength = __webpack_require__(127), isObjectLike = __webpack_require__(74); /** `Object#toString` result references. */ @@ -55004,7 +55010,7 @@ module.exports = baseUnary; /* 276 */ /***/ (function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(124); +/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(125); /** Detect free variable `exports`. */ var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; @@ -55219,7 +55225,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = asyncify; -var _isObject = __webpack_require__(125); +var _isObject = __webpack_require__(126); var _isObject2 = _interopRequireDefault(_isObject); @@ -55342,7 +55348,7 @@ exports.default = function (fn) { }; }; -var _slice = __webpack_require__(127); +var _slice = __webpack_require__(128); var _slice2 = _interopRequireDefault(_slice); @@ -55364,7 +55370,7 @@ exports.hasNextTick = exports.hasSetImmediate = undefined; exports.fallback = fallback; exports.wrap = wrap; -var _slice = __webpack_require__(127); +var _slice = __webpack_require__(128); var _slice2 = _interopRequireDefault(_slice); @@ -55826,7 +55832,7 @@ function preprocessValidJumps (runState) { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var ethUtil = __webpack_require__(7); -var fees = __webpack_require__(129); +var fees = __webpack_require__(130); var BN = ethUtil.BN; // secp256k1n/2 @@ -57423,8 +57429,8 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! /* 296 */ /***/ (function(module, exports, __webpack_require__) { -const utils = __webpack_require__(128) -const params = __webpack_require__(130) +const utils = __webpack_require__(129) +const params = __webpack_require__(131) const BN = utils.BN /** * An object that repersents the block header @@ -58956,7 +58962,7 @@ webpackEmptyContext.id = 305; const async = __webpack_require__(14) const ethUtil = __webpack_require__(9) -const Bloom = __webpack_require__(131) +const Bloom = __webpack_require__(132) const common = __webpack_require__(28) const rlp = ethUtil.rlp const Trie = __webpack_require__(33) @@ -59172,7 +59178,7 @@ module.exports = function (opts, cb) { const async = __webpack_require__(14) const utils = __webpack_require__(9) const BN = utils.BN -const Bloom = __webpack_require__(131) +const Bloom = __webpack_require__(132) const Block = __webpack_require__(29) /** @@ -59684,7 +59690,7 @@ module.exports = function (blockchain, cb) { "use strict"; const ethUtil = __webpack_require__(7) -const fees = __webpack_require__(129) +const fees = __webpack_require__(130) const BN = ethUtil.BN // secp256k1n/2 @@ -60418,7 +60424,7 @@ module.exports = RequestManager; ;(function (root, factory, undef) { if (true) { // CommonJS - module.exports = exports = factory(__webpack_require__(1), __webpack_require__(58), __webpack_require__(314), __webpack_require__(315), __webpack_require__(41), __webpack_require__(42), __webpack_require__(79), __webpack_require__(134), __webpack_require__(316), __webpack_require__(135), __webpack_require__(317), __webpack_require__(136), __webpack_require__(318), __webpack_require__(80), __webpack_require__(319), __webpack_require__(43), __webpack_require__(6), __webpack_require__(320), __webpack_require__(321), __webpack_require__(322), __webpack_require__(323), __webpack_require__(324), __webpack_require__(325), __webpack_require__(326), __webpack_require__(327), __webpack_require__(328), __webpack_require__(329), __webpack_require__(330), __webpack_require__(331), __webpack_require__(332), __webpack_require__(333), __webpack_require__(334), __webpack_require__(335)); + module.exports = exports = factory(__webpack_require__(1), __webpack_require__(58), __webpack_require__(314), __webpack_require__(315), __webpack_require__(41), __webpack_require__(42), __webpack_require__(80), __webpack_require__(134), __webpack_require__(316), __webpack_require__(135), __webpack_require__(317), __webpack_require__(136), __webpack_require__(318), __webpack_require__(81), __webpack_require__(319), __webpack_require__(43), __webpack_require__(6), __webpack_require__(320), __webpack_require__(321), __webpack_require__(322), __webpack_require__(323), __webpack_require__(324), __webpack_require__(325), __webpack_require__(326), __webpack_require__(327), __webpack_require__(328), __webpack_require__(329), __webpack_require__(330), __webpack_require__(331), __webpack_require__(332), __webpack_require__(333), __webpack_require__(334), __webpack_require__(335)); } else if (typeof define === "function" && define.amd) { // AMD @@ -61121,7 +61127,7 @@ module.exports = RequestManager; ;(function (root, factory, undef) { if (true) { // CommonJS - module.exports = exports = factory(__webpack_require__(1), __webpack_require__(79), __webpack_require__(80)); + module.exports = exports = factory(__webpack_require__(1), __webpack_require__(80), __webpack_require__(81)); } else if (typeof define === "function" && define.amd) { // AMD @@ -64125,7 +64131,7 @@ module.exports = Eth; */ var utils = __webpack_require__(5); -var coder = __webpack_require__(81); +var coder = __webpack_require__(82); var SolidityEvent = __webpack_require__(138); var SolidityFunction = __webpack_require__(348); var AllEvents = __webpack_require__(349); @@ -64743,7 +64749,7 @@ module.exports = SolidityTypeBytes; * @date 2015 */ -var coder = __webpack_require__(81); +var coder = __webpack_require__(82); var utils = __webpack_require__(5); var errors = __webpack_require__(44); var formatters = __webpack_require__(26); @@ -68280,7 +68286,7 @@ var LevelUpObjectAdapter = __webpack_require__(386); var levelup = __webpack_require__(68); var filedown = __webpack_require__(387); var cachedown = __webpack_require__(388); -var Sublevel = __webpack_require__(82); +var Sublevel = __webpack_require__(83); var Block = __webpack_require__(29); var txserializer = __webpack_require__(150); var blockserializer = __webpack_require__(392); @@ -68359,7 +68365,7 @@ module.exports = Database; /* 372 */ /***/ (function(module, exports, __webpack_require__) { -var Sublevel = __webpack_require__(82); +var Sublevel = __webpack_require__(83); // Level up adapter that looks like an array. Doesn't support inserts. @@ -68731,7 +68737,7 @@ module.exports = function (compare) { var EventEmitter = __webpack_require__(19).EventEmitter var addpre = __webpack_require__(143).addPrefix -var errors = __webpack_require__(83) +var errors = __webpack_require__(84) function isFunction (f) { return 'function' === typeof f @@ -69041,7 +69047,7 @@ module.exports = { var Readable = __webpack_require__(380).Readable , inherits = __webpack_require__(0).inherits , extend = __webpack_require__(149) - , EncodingError = __webpack_require__(83).EncodingError + , EncodingError = __webpack_require__(84).EncodingError , util = __webpack_require__(383) @@ -69139,7 +69145,7 @@ exports = module.exports = __webpack_require__(145); exports.Stream = Stream; exports.Readable = exports; exports.Writable = __webpack_require__(147); -exports.Duplex = __webpack_require__(84); +exports.Duplex = __webpack_require__(85); exports.Transform = __webpack_require__(148); exports.PassThrough = __webpack_require__(382); if (!process.browser && process.env.READABLE_STREAM === 'disable') { @@ -69219,7 +69225,7 @@ PassThrough.prototype._transform = function(chunk, encoding, cb) { */ var extend = __webpack_require__(149) - , LevelUPError = __webpack_require__(83).LevelUPError + , LevelUPError = __webpack_require__(84).LevelUPError , encodings = __webpack_require__(144) , defaultOptions = { createIfMissing : true @@ -70510,7 +70516,7 @@ function outside(version, range, hilo, loose) { /* 386 */ /***/ (function(module, exports, __webpack_require__) { -var Sublevel = __webpack_require__(82); +var Sublevel = __webpack_require__(83); var async = __webpack_require__(15); function LevelUpObjectAdapter(name, db, valueserializer, keyserializer, options) { @@ -72288,7 +72294,7 @@ var async = __webpack_require__(15); var inherits = __webpack_require__(0).inherits; var StateManager = __webpack_require__(403); var to = __webpack_require__(10); -var txhelper = __webpack_require__(85); +var txhelper = __webpack_require__(86); var pkg = __webpack_require__(444); var Subprovider = __webpack_require__(32); @@ -72732,7 +72738,7 @@ module.exports = GethApiDouble; var Account = __webpack_require__(25); var Block = __webpack_require__(29); var VM = __webpack_require__(78); -var RuntimeError = __webpack_require__(132); +var RuntimeError = __webpack_require__(79); var Trie = __webpack_require__(33); var FakeTransaction = __webpack_require__(40); var utils = __webpack_require__(7); @@ -72748,7 +72754,7 @@ var async = __webpack_require__(15); var to = __webpack_require__(10); var random = __webpack_require__(443); -var txhelper = __webpack_require__(85); +var txhelper = __webpack_require__(86); StateManager = function(options) { var self = this; @@ -87628,7 +87634,7 @@ var FakeTransaction = __webpack_require__(40); var Web3 = __webpack_require__(57); var to = __webpack_require__(10); var async = __webpack_require__(15); -var txhelper = __webpack_require__(85) +var txhelper = __webpack_require__(86) var inherits = __webpack_require__(0).inherits; @@ -88337,7 +88343,7 @@ module.exports = { /* 444 */ /***/ (function(module, exports) { -module.exports = {"_from":"ganache-core@1.1.1","_id":"ganache-core@1.1.1","_inBundle":false,"_integrity":"sha512-q5HDV86aO/cAk0Lchy3o/hU+KlhOsg/Xz+VDepdpZB+B56/U/HVIllU8hXSHTUQiqG14rrlDIem3WXPZbyJdBA==","_location":"/ganache-core","_phantomChildren":{"acorn":"5.1.1","acorn-dynamic-import":"2.0.2","big.js":"3.1.3","co":"4.6.0","code-point-at":"1.1.0","create-hash":"1.1.3","decamelize":"1.2.0","emojis-list":"2.1.0","enhanced-resolve":"3.4.1","get-caller-file":"1.0.2","graceful-fs":"4.1.11","interpret":"1.0.3","is-fullwidth-code-point":"1.0.0","is-utf8":"0.2.1","json-loader":"0.5.7","json-stable-stringify":"1.0.1","json5":"0.5.1","lcid":"1.0.0","loader-runner":"2.3.0","lodash":"4.17.4","memory-fs":"0.4.1","mkdirp":"0.5.1","node-libs-browser":"2.0.0","normalize-package-data":"2.4.0","object-assign":"4.1.1","parse-json":"2.2.0","pbkdf2":"3.0.13","pify":"2.3.0","pinkie-promise":"2.0.1","randombytes":"2.0.5","require-directory":"2.1.1","require-main-filename":"1.0.1","safe-buffer":"5.1.1","set-blocking":"2.0.0","source-map":"0.5.7","strip-ansi":"3.0.1","tapable":"0.2.8","uglify-js":"2.8.29","unorm":"1.4.1","watchpack":"1.4.0","webpack-sources":"1.0.1","wrap-ansi":"2.1.0","y18n":"3.2.1"},"_requested":{"type":"version","registry":true,"raw":"ganache-core@1.1.1","name":"ganache-core","escapedName":"ganache-core","rawSpec":"1.1.1","saveSpec":null,"fetchSpec":"1.1.1"},"_requiredBy":["#DEV:/"],"_resolved":"https://registry.npmjs.org/ganache-core/-/ganache-core-1.1.1.tgz","_shasum":"a07560720331d2507b21d3582f9142cc91bd783b","_spec":"ganache-core@1.1.1","_where":"/Users/tim/Documents/workspace/Consensys/testrpc","bugs":{"url":"https://github.com/trufflesuite/ganache-core/issues"},"bundleDependencies":false,"dependencies":{"async":"~1.5.0","bip39":"~2.4.0","cachedown":"^1.0.0","chai":"^3.5.0","ethereumjs-account":"~2.0.4","ethereumjs-block":"~1.2.2","ethereumjs-tx":"^1.3.0","ethereumjs-util":"~5.1.0","ethereumjs-vm":"~2.2.0","ethereumjs-wallet":"~0.6.0","fake-merkle-patricia-tree":"~1.0.1","heap":"~0.2.6","js-scrypt":"^0.2.0","level-sublevel":"^6.6.1","levelup":"^1.1.0","localstorage-down":"^0.6.7","merkle-patricia-tree":"^2.1.2","mocha":"~2.2.5","on-build-webpack":"^0.1.0","prepend-file":"^1.3.1","seedrandom":"~2.4.2","shebang-loader":"0.0.1","solc":"0.4.8","temp":"^0.8.3","tmp":"0.0.31","web3":"^0.19.1","web3-provider-engine":"~8.1.0","webpack":"^2.2.1","yargs":"^7.0.2"},"deprecated":false,"description":"[![npm](https://img.shields.io/npm/v/ethereumjs-testrpc.svg)]() [![npm](https://img.shields.io/npm/dm/ethereumjs-testrpc.svg)]() [![Build Status](https://travis-ci.org/ethereumjs/testrpc.svg?branch=master)](https://travis-ci.org/ethereumjs/testrpc)","directories":{"lib":"./lib"},"homepage":"https://github.com/trufflesuite/ganache-core#readme","main":"./index.js","name":"ganache-core","repository":{"type":"git","url":"git+https://github.com/trufflesuite/ganache-core.git"},"scripts":{"test":"mocha"},"version":"1.1.1"} +module.exports = {"_from":"ganache-core@1.1.2","_id":"ganache-core@1.1.2","_inBundle":false,"_integrity":"sha512-RpT4BPrbk5p06OVHgk38FfK3Vou+E3w+mvx5cdiHX/MPzrGeHUnBTRHiQut14v0kGTKFkwS+4ggXspszN4VNVQ==","_location":"/ganache-core","_phantomChildren":{"acorn":"5.1.1","acorn-dynamic-import":"2.0.2","big.js":"3.1.3","co":"4.6.0","code-point-at":"1.1.0","decamelize":"1.2.0","emojis-list":"2.1.0","enhanced-resolve":"3.4.1","get-caller-file":"1.0.2","graceful-fs":"4.1.11","interpret":"1.0.3","is-fullwidth-code-point":"1.0.0","is-utf8":"0.2.1","json-loader":"0.5.7","json-stable-stringify":"1.0.1","json5":"0.5.1","lcid":"1.0.0","loader-runner":"2.3.0","lodash":"4.17.4","memory-fs":"0.4.1","mkdirp":"0.5.1","node-libs-browser":"2.0.0","normalize-package-data":"2.4.0","object-assign":"4.1.1","parse-json":"2.2.0","pify":"2.3.0","pinkie-promise":"2.0.1","require-directory":"2.1.1","require-main-filename":"1.0.1","set-blocking":"2.0.0","source-map":"0.5.7","strip-ansi":"3.0.1","tapable":"0.2.8","uglify-js":"2.8.29","watchpack":"1.4.0","webpack-sources":"1.0.1","wrap-ansi":"2.1.0","y18n":"3.2.1"},"_requested":{"type":"version","registry":true,"raw":"ganache-core@1.1.2","name":"ganache-core","escapedName":"ganache-core","rawSpec":"1.1.2","saveSpec":null,"fetchSpec":"1.1.2"},"_requiredBy":["#DEV:/"],"_resolved":"https://registry.npmjs.org/ganache-core/-/ganache-core-1.1.2.tgz","_shasum":"3beb638354f7ade4dd8ef7d56ab95d6c6808f575","_spec":"ganache-core@1.1.2","_where":"/Users/tim/Documents/workspace/Consensys/testrpc","bugs":{"url":"https://github.com/trufflesuite/ganache-core/issues"},"bundleDependencies":false,"dependencies":{"async":"~1.5.0","bip39":"~2.4.0","cachedown":"^1.0.0","chai":"^3.5.0","ethereumjs-account":"~2.0.4","ethereumjs-block":"~1.2.2","ethereumjs-tx":"^1.3.0","ethereumjs-util":"~5.1.0","ethereumjs-vm":"~2.2.0","ethereumjs-wallet":"~0.6.0","fake-merkle-patricia-tree":"~1.0.1","heap":"~0.2.6","js-scrypt":"^0.2.0","level-sublevel":"^6.6.1","levelup":"^1.1.0","localstorage-down":"^0.6.7","merkle-patricia-tree":"^2.1.2","mocha":"~2.2.5","on-build-webpack":"^0.1.0","prepend-file":"^1.3.1","seedrandom":"~2.4.2","shebang-loader":"0.0.1","solc":"0.4.8","temp":"^0.8.3","tmp":"0.0.31","web3":"^0.19.1","web3-provider-engine":"~8.1.0","webpack":"^2.2.1","yargs":"^7.0.2"},"deprecated":false,"description":"This is the core code that powers the Ganache application and the the Ganache command line tool.","directories":{"lib":"./lib"},"homepage":"https://github.com/trufflesuite/ganache-core#readme","main":"./index.js","name":"ganache-core","repository":{"type":"git","url":"git+https://github.com/trufflesuite/ganache-core.git"},"scripts":{"test":"mocha"},"version":"1.1.2"} /***/ }) /******/ ]); diff --git a/package.json b/package.json index 6d3fc357a..ef4aa34f1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ethereumjs-testrpc", - "version": "4.1.0", + "version": "4.1.1", "bin": { "testrpc": "./build/cli.node.js" }, @@ -19,7 +19,7 @@ "prepublish": "npm run build" }, "devDependencies": { - "ganache-core": "1.1.1", + "ganache-core": "1.1.2", "yargs": "^7.0.2" }, "repository": {