UNPKG

metronome-contracts

Version:
11,353 lines 999 kB
(function webpackUniversalModuleDefinition(root, factory) {
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory();
	else if(typeof define === 'function' && define.amd)
		define([], factory);
	else if(typeof exports === 'object')
		exports["metronome-contracts"] = factory();
	else
		root["metronome-contracts"] = factory();
})(window, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "/dist/";
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = "./src/index.js");
/******/ })
/************************************************************************/
/******/ ({

/***/ "./node_modules/axios/index.js":
/*!*************************************!*\
  !*** ./node_modules/axios/index.js ***!
  \*************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/lib/axios.js");

/***/ }),

/***/ "./node_modules/axios/lib/adapters/xhr.js":
/*!************************************************!*\
  !*** ./node_modules/axios/lib/adapters/xhr.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/axios/lib/core/settle.js");
var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js");
var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/axios/lib/helpers/parseHeaders.js");
var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js");
var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/axios/lib/core/createError.js");

module.exports = function xhrAdapter(config) {
  return new Promise(function dispatchXhrRequest(resolve, reject) {
    var requestData = config.data;
    var requestHeaders = config.headers;

    if (utils.isFormData(requestData)) {
      delete requestHeaders['Content-Type']; // Let the browser set it
    }

    var request = new XMLHttpRequest();

    // HTTP basic authentication
    if (config.auth) {
      var username = config.auth.username || '';
      var password = config.auth.password || '';
      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
    }

    request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);

    // Set the request timeout in MS
    request.timeout = config.timeout;

    // Listen for ready state
    request.onreadystatechange = function handleLoad() {
      if (!request || request.readyState !== 4) {
        return;
      }

      // The request errored out and we didn't get a response, this will be
      // handled by onerror instead
      // With one exception: request that using file: protocol, most browsers
      // will return status as 0 even though it's a successful request
      if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
        return;
      }

      // Prepare the response
      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
      var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
      var response = {
        data: responseData,
        status: request.status,
        statusText: request.statusText,
        headers: responseHeaders,
        config: config,
        request: request
      };

      settle(resolve, reject, response);

      // Clean up request
      request = null;
    };

    // Handle low level network errors
    request.onerror = function handleError() {
      // Real errors are hidden from us by the browser
      // onerror should only fire if it's a network error
      reject(createError('Network Error', config, null, request));

      // Clean up request
      request = null;
    };

    // Handle timeout
    request.ontimeout = function handleTimeout() {
      reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',
        request));

      // Clean up request
      request = null;
    };

    // Add xsrf header
    // This is only done if running in a standard browser environment.
    // Specifically not if we're in a web worker, or react-native.
    if (utils.isStandardBrowserEnv()) {
      var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/axios/lib/helpers/cookies.js");

      // Add xsrf header
      var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?
          cookies.read(config.xsrfCookieName) :
          undefined;

      if (xsrfValue) {
        requestHeaders[config.xsrfHeaderName] = xsrfValue;
      }
    }

    // Add headers to the request
    if ('setRequestHeader' in request) {
      utils.forEach(requestHeaders, function setRequestHeader(val, key) {
        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
          // Remove Content-Type if data is undefined
          delete requestHeaders[key];
        } else {
          // Otherwise add header to the request
          request.setRequestHeader(key, val);
        }
      });
    }

    // Add withCredentials to request if needed
    if (config.withCredentials) {
      request.withCredentials = true;
    }

    // Add responseType to request if needed
    if (config.responseType) {
      try {
        request.responseType = config.responseType;
      } catch (e) {
        // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.
        // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.
        if (config.responseType !== 'json') {
          throw e;
        }
      }
    }

    // Handle progress if needed
    if (typeof config.onDownloadProgress === 'function') {
      request.addEventListener('progress', config.onDownloadProgress);
    }

    // Not all browsers support upload events
    if (typeof config.onUploadProgress === 'function' && request.upload) {
      request.upload.addEventListener('progress', config.onUploadProgress);
    }

    if (config.cancelToken) {
      // Handle cancellation
      config.cancelToken.promise.then(function onCanceled(cancel) {
        if (!request) {
          return;
        }

        request.abort();
        reject(cancel);
        // Clean up request
        request = null;
      });
    }

    if (requestData === undefined) {
      requestData = null;
    }

    // Send the request
    request.send(requestData);
  });
};


/***/ }),

/***/ "./node_modules/axios/lib/axios.js":
/*!*****************************************!*\
  !*** ./node_modules/axios/lib/axios.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js");
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js");
var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/axios/lib/core/Axios.js");
var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/axios/lib/defaults.js");

/**
 * Create an instance of Axios
 *
 * @param {Object} defaultConfig The default config for the instance
 * @return {Axios} A new instance of Axios
 */
function createInstance(defaultConfig) {
  var context = new Axios(defaultConfig);
  var instance = bind(Axios.prototype.request, context);

  // Copy axios.prototype to instance
  utils.extend(instance, Axios.prototype, context);

  // Copy context to instance
  utils.extend(instance, context);

  return instance;
}

// Create the default instance to be exported
var axios = createInstance(defaults);

// Expose Axios class to allow class inheritance
axios.Axios = Axios;

// Factory for creating new instances
axios.create = function create(instanceConfig) {
  return createInstance(utils.merge(defaults, instanceConfig));
};

// Expose Cancel & CancelToken
axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/axios/lib/cancel/Cancel.js");
axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/axios/lib/cancel/CancelToken.js");
axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js");

// Expose all/spread
axios.all = function all(promises) {
  return Promise.all(promises);
};
axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/axios/lib/helpers/spread.js");

module.exports = axios;

// Allow use of default import syntax in TypeScript
module.exports.default = axios;


/***/ }),

/***/ "./node_modules/axios/lib/cancel/Cancel.js":
/*!*************************************************!*\
  !*** ./node_modules/axios/lib/cancel/Cancel.js ***!
  \*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


/**
 * A `Cancel` is an object that is thrown when an operation is canceled.
 *
 * @class
 * @param {string=} message The message.
 */
function Cancel(message) {
  this.message = message;
}

Cancel.prototype.toString = function toString() {
  return 'Cancel' + (this.message ? ': ' + this.message : '');
};

Cancel.prototype.__CANCEL__ = true;

module.exports = Cancel;


/***/ }),

/***/ "./node_modules/axios/lib/cancel/CancelToken.js":
/*!******************************************************!*\
  !*** ./node_modules/axios/lib/cancel/CancelToken.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/axios/lib/cancel/Cancel.js");

/**
 * A `CancelToken` is an object that can be used to request cancellation of an operation.
 *
 * @class
 * @param {Function} executor The executor function.
 */
function CancelToken(executor) {
  if (typeof executor !== 'function') {
    throw new TypeError('executor must be a function.');
  }

  var resolvePromise;
  this.promise = new Promise(function promiseExecutor(resolve) {
    resolvePromise = resolve;
  });

  var token = this;
  executor(function cancel(message) {
    if (token.reason) {
      // Cancellation has already been requested
      return;
    }

    token.reason = new Cancel(message);
    resolvePromise(token.reason);
  });
}

/**
 * Throws a `Cancel` if cancellation has been requested.
 */
CancelToken.prototype.throwIfRequested = function throwIfRequested() {
  if (this.reason) {
    throw this.reason;
  }
};

/**
 * Returns an object that contains a new `CancelToken` and a function that, when called,
 * cancels the `CancelToken`.
 */
CancelToken.source = function source() {
  var cancel;
  var token = new CancelToken(function executor(c) {
    cancel = c;
  });
  return {
    token: token,
    cancel: cancel
  };
};

module.exports = CancelToken;


/***/ }),

/***/ "./node_modules/axios/lib/cancel/isCancel.js":
/*!***************************************************!*\
  !*** ./node_modules/axios/lib/cancel/isCancel.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


module.exports = function isCancel(value) {
  return !!(value && value.__CANCEL__);
};


/***/ }),

/***/ "./node_modules/axios/lib/core/Axios.js":
/*!**********************************************!*\
  !*** ./node_modules/axios/lib/core/Axios.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/axios/lib/defaults.js");
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/axios/lib/core/InterceptorManager.js");
var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/axios/lib/core/dispatchRequest.js");

/**
 * Create a new instance of Axios
 *
 * @param {Object} instanceConfig The default config for the instance
 */
function Axios(instanceConfig) {
  this.defaults = instanceConfig;
  this.interceptors = {
    request: new InterceptorManager(),
    response: new InterceptorManager()
  };
}

/**
 * Dispatch a request
 *
 * @param {Object} config The config specific for this request (merged with this.defaults)
 */
Axios.prototype.request = function request(config) {
  /*eslint no-param-reassign:0*/
  // Allow for axios('example/url'[, config]) a la fetch API
  if (typeof config === 'string') {
    config = utils.merge({
      url: arguments[0]
    }, arguments[1]);
  }

  config = utils.merge(defaults, {method: 'get'}, this.defaults, config);
  config.method = config.method.toLowerCase();

  // Hook up interceptors middleware
  var chain = [dispatchRequest, undefined];
  var promise = Promise.resolve(config);

  this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
    chain.unshift(interceptor.fulfilled, interceptor.rejected);
  });

  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
    chain.push(interceptor.fulfilled, interceptor.rejected);
  });

  while (chain.length) {
    promise = promise.then(chain.shift(), chain.shift());
  }

  return promise;
};

// Provide aliases for supported request methods
utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
  /*eslint func-names:0*/
  Axios.prototype[method] = function(url, config) {
    return this.request(utils.merge(config || {}, {
      method: method,
      url: url
    }));
  };
});

utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
  /*eslint func-names:0*/
  Axios.prototype[method] = function(url, data, config) {
    return this.request(utils.merge(config || {}, {
      method: method,
      url: url,
      data: data
    }));
  };
});

module.exports = Axios;


/***/ }),

/***/ "./node_modules/axios/lib/core/InterceptorManager.js":
/*!***********************************************************!*\
  !*** ./node_modules/axios/lib/core/InterceptorManager.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");

function InterceptorManager() {
  this.handlers = [];
}

/**
 * Add a new interceptor to the stack
 *
 * @param {Function} fulfilled The function to handle `then` for a `Promise`
 * @param {Function} rejected The function to handle `reject` for a `Promise`
 *
 * @return {Number} An ID used to remove interceptor later
 */
InterceptorManager.prototype.use = function use(fulfilled, rejected) {
  this.handlers.push({
    fulfilled: fulfilled,
    rejected: rejected
  });
  return this.handlers.length - 1;
};

/**
 * Remove an interceptor from the stack
 *
 * @param {Number} id The ID that was returned by `use`
 */
InterceptorManager.prototype.eject = function eject(id) {
  if (this.handlers[id]) {
    this.handlers[id] = null;
  }
};

/**
 * Iterate over all the registered interceptors
 *
 * This method is particularly useful for skipping over any
 * interceptors that may have become `null` calling `eject`.
 *
 * @param {Function} fn The function to call for each interceptor
 */
InterceptorManager.prototype.forEach = function forEach(fn) {
  utils.forEach(this.handlers, function forEachHandler(h) {
    if (h !== null) {
      fn(h);
    }
  });
};

module.exports = InterceptorManager;


/***/ }),

/***/ "./node_modules/axios/lib/core/createError.js":
/*!****************************************************!*\
  !*** ./node_modules/axios/lib/core/createError.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/axios/lib/core/enhanceError.js");

/**
 * Create an Error with the specified message, config, error code, request and response.
 *
 * @param {string} message The error message.
 * @param {Object} config The config.
 * @param {string} [code] The error code (for example, 'ECONNABORTED').
 * @param {Object} [request] The request.
 * @param {Object} [response] The response.
 * @returns {Error} The created error.
 */
module.exports = function createError(message, config, code, request, response) {
  var error = new Error(message);
  return enhanceError(error, config, code, request, response);
};


/***/ }),

/***/ "./node_modules/axios/lib/core/dispatchRequest.js":
/*!********************************************************!*\
  !*** ./node_modules/axios/lib/core/dispatchRequest.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/axios/lib/core/transformData.js");
var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js");
var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults.js");
var isAbsoluteURL = __webpack_require__(/*! ./../helpers/isAbsoluteURL */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js");
var combineURLs = __webpack_require__(/*! ./../helpers/combineURLs */ "./node_modules/axios/lib/helpers/combineURLs.js");

/**
 * Throws a `Cancel` if cancellation has been requested.
 */
function throwIfCancellationRequested(config) {
  if (config.cancelToken) {
    config.cancelToken.throwIfRequested();
  }
}

/**
 * Dispatch a request to the server using the configured adapter.
 *
 * @param {object} config The config that is to be used for the request
 * @returns {Promise} The Promise to be fulfilled
 */
module.exports = function dispatchRequest(config) {
  throwIfCancellationRequested(config);

  // Support baseURL config
  if (config.baseURL && !isAbsoluteURL(config.url)) {
    config.url = combineURLs(config.baseURL, config.url);
  }

  // Ensure headers exist
  config.headers = config.headers || {};

  // Transform request data
  config.data = transformData(
    config.data,
    config.headers,
    config.transformRequest
  );

  // Flatten headers
  config.headers = utils.merge(
    config.headers.common || {},
    config.headers[config.method] || {},
    config.headers || {}
  );

  utils.forEach(
    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
    function cleanHeaderConfig(method) {
      delete config.headers[method];
    }
  );

  var adapter = config.adapter || defaults.adapter;

  return adapter(config).then(function onAdapterResolution(response) {
    throwIfCancellationRequested(config);

    // Transform response data
    response.data = transformData(
      response.data,
      response.headers,
      config.transformResponse
    );

    return response;
  }, function onAdapterRejection(reason) {
    if (!isCancel(reason)) {
      throwIfCancellationRequested(config);

      // Transform response data
      if (reason && reason.response) {
        reason.response.data = transformData(
          reason.response.data,
          reason.response.headers,
          config.transformResponse
        );
      }
    }

    return Promise.reject(reason);
  });
};


/***/ }),

/***/ "./node_modules/axios/lib/core/enhanceError.js":
/*!*****************************************************!*\
  !*** ./node_modules/axios/lib/core/enhanceError.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


/**
 * Update an Error with the specified config, error code, and response.
 *
 * @param {Error} error The error to update.
 * @param {Object} config The config.
 * @param {string} [code] The error code (for example, 'ECONNABORTED').
 * @param {Object} [request] The request.
 * @param {Object} [response] The response.
 * @returns {Error} The error.
 */
module.exports = function enhanceError(error, config, code, request, response) {
  error.config = config;
  if (code) {
    error.code = code;
  }
  error.request = request;
  error.response = response;
  return error;
};


/***/ }),

/***/ "./node_modules/axios/lib/core/settle.js":
/*!***********************************************!*\
  !*** ./node_modules/axios/lib/core/settle.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var createError = __webpack_require__(/*! ./createError */ "./node_modules/axios/lib/core/createError.js");

/**
 * Resolve or reject a Promise based on response status.
 *
 * @param {Function} resolve A function that resolves the promise.
 * @param {Function} reject A function that rejects the promise.
 * @param {object} response The response.
 */
module.exports = function settle(resolve, reject, response) {
  var validateStatus = response.config.validateStatus;
  // Note: status is not exposed by XDomainRequest
  if (!response.status || !validateStatus || validateStatus(response.status)) {
    resolve(response);
  } else {
    reject(createError(
      'Request failed with status code ' + response.status,
      response.config,
      null,
      response.request,
      response
    ));
  }
};


/***/ }),

/***/ "./node_modules/axios/lib/core/transformData.js":
/*!******************************************************!*\
  !*** ./node_modules/axios/lib/core/transformData.js ***!
  \******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");

/**
 * Transform the data for a request or a response
 *
 * @param {Object|String} data The data to be transformed
 * @param {Array} headers The headers for the request or response
 * @param {Array|Function} fns A single function or Array of functions
 * @returns {*} The resulting transformed data
 */
module.exports = function transformData(data, headers, fns) {
  /*eslint no-param-reassign:0*/
  utils.forEach(fns, function transform(fn) {
    data = fn(data, headers);
  });

  return data;
};


/***/ }),

/***/ "./node_modules/axios/lib/defaults.js":
/*!********************************************!*\
  !*** ./node_modules/axios/lib/defaults.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(process) {

var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js");
var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/axios/lib/helpers/normalizeHeaderName.js");

var DEFAULT_CONTENT_TYPE = {
  'Content-Type': 'application/x-www-form-urlencoded'
};

function setContentTypeIfUnset(headers, value) {
  if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
    headers['Content-Type'] = value;
  }
}

function getDefaultAdapter() {
  var adapter;
  if (typeof XMLHttpRequest !== 'undefined') {
    // For browsers use XHR adapter
    adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/axios/lib/adapters/xhr.js");
  } else if (typeof process !== 'undefined') {
    // For node use HTTP adapter
    adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/axios/lib/adapters/xhr.js");
  }
  return adapter;
}

var defaults = {
  adapter: getDefaultAdapter(),

  transformRequest: [function transformRequest(data, headers) {
    normalizeHeaderName(headers, 'Content-Type');
    if (utils.isFormData(data) ||
      utils.isArrayBuffer(data) ||
      utils.isBuffer(data) ||
      utils.isStream(data) ||
      utils.isFile(data) ||
      utils.isBlob(data)
    ) {
      return data;
    }
    if (utils.isArrayBufferView(data)) {
      return data.buffer;
    }
    if (utils.isURLSearchParams(data)) {
      setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
      return data.toString();
    }
    if (utils.isObject(data)) {
      setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
      return JSON.stringify(data);
    }
    return data;
  }],

  transformResponse: [function transformResponse(data) {
    /*eslint no-param-reassign:0*/
    if (typeof data === 'string') {
      try {
        data = JSON.parse(data);
      } catch (e) { /* Ignore */ }
    }
    return data;
  }],

  /**
   * A timeout in milliseconds to abort a request. If set to 0 (default) a
   * timeout is not created.
   */
  timeout: 0,

  xsrfCookieName: 'XSRF-TOKEN',
  xsrfHeaderName: 'X-XSRF-TOKEN',

  maxContentLength: -1,

  validateStatus: function validateStatus(status) {
    return status >= 200 && status < 300;
  }
};

defaults.headers = {
  common: {
    'Accept': 'application/json, text/plain, */*'
  }
};

utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
  defaults.headers[method] = {};
});

utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
});

module.exports = defaults;

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node-libs-browser/node_modules/process/browser.js */ "./node_modules/node-libs-browser/node_modules/process/browser.js")))

/***/ }),

/***/ "./node_modules/axios/lib/helpers/bind.js":
/*!************************************************!*\
  !*** ./node_modules/axios/lib/helpers/bind.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


module.exports = function bind(fn, thisArg) {
  return function wrap() {
    var args = new Array(arguments.length);
    for (var i = 0; i < args.length; i++) {
      args[i] = arguments[i];
    }
    return fn.apply(thisArg, args);
  };
};


/***/ }),

/***/ "./node_modules/axios/lib/helpers/buildURL.js":
/*!****************************************************!*\
  !*** ./node_modules/axios/lib/helpers/buildURL.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");

function encode(val) {
  return encodeURIComponent(val).
    replace(/%40/gi, '@').
    replace(/%3A/gi, ':').
    replace(/%24/g, '$').
    replace(/%2C/gi, ',').
    replace(/%20/g, '+').
    replace(/%5B/gi, '[').
    replace(/%5D/gi, ']');
}

/**
 * Build a URL by appending params to the end
 *
 * @param {string} url The base of the url (e.g., http://www.google.com)
 * @param {object} [params] The params to be appended
 * @returns {string} The formatted url
 */
module.exports = function buildURL(url, params, paramsSerializer) {
  /*eslint no-param-reassign:0*/
  if (!params) {
    return url;
  }

  var serializedParams;
  if (paramsSerializer) {
    serializedParams = paramsSerializer(params);
  } else if (utils.isURLSearchParams(params)) {
    serializedParams = params.toString();
  } else {
    var parts = [];

    utils.forEach(params, function serialize(val, key) {
      if (val === null || typeof val === 'undefined') {
        return;
      }

      if (utils.isArray(val)) {
        key = key + '[]';
      } else {
        val = [val];
      }

      utils.forEach(val, function parseValue(v) {
        if (utils.isDate(v)) {
          v = v.toISOString();
        } else if (utils.isObject(v)) {
          v = JSON.stringify(v);
        }
        parts.push(encode(key) + '=' + encode(v));
      });
    });

    serializedParams = parts.join('&');
  }

  if (serializedParams) {
    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
  }

  return url;
};


/***/ }),

/***/ "./node_modules/axios/lib/helpers/combineURLs.js":
/*!*******************************************************!*\
  !*** ./node_modules/axios/lib/helpers/combineURLs.js ***!
  \*******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


/**
 * Creates a new URL by combining the specified URLs
 *
 * @param {string} baseURL The base URL
 * @param {string} relativeURL The relative URL
 * @returns {string} The combined URL
 */
module.exports = function combineURLs(baseURL, relativeURL) {
  return relativeURL
    ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
    : baseURL;
};


/***/ }),

/***/ "./node_modules/axios/lib/helpers/cookies.js":
/*!***************************************************!*\
  !*** ./node_modules/axios/lib/helpers/cookies.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");

module.exports = (
  utils.isStandardBrowserEnv() ?

  // Standard browser envs support document.cookie
  (function standardBrowserEnv() {
    return {
      write: function write(name, value, expires, path, domain, secure) {
        var cookie = [];
        cookie.push(name + '=' + encodeURIComponent(value));

        if (utils.isNumber(expires)) {
          cookie.push('expires=' + new Date(expires).toGMTString());
        }

        if (utils.isString(path)) {
          cookie.push('path=' + path);
        }

        if (utils.isString(domain)) {
          cookie.push('domain=' + domain);
        }

        if (secure === true) {
          cookie.push('secure');
        }

        document.cookie = cookie.join('; ');
      },

      read: function read(name) {
        var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
        return (match ? decodeURIComponent(match[3]) : null);
      },

      remove: function remove(name) {
        this.write(name, '', Date.now() - 86400000);
      }
    };
  })() :

  // Non standard browser env (web workers, react-native) lack needed support.
  (function nonStandardBrowserEnv() {
    return {
      write: function write() {},
      read: function read() { return null; },
      remove: function remove() {}
    };
  })()
);


/***/ }),

/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js":
/*!*********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***!
  \*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


/**
 * Determines whether the specified URL is absolute
 *
 * @param {string} url The URL to test
 * @returns {boolean} True if the specified URL is absolute, otherwise false
 */
module.exports = function isAbsoluteURL(url) {
  // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
  // by any combination of letters, digits, plus, period, or hyphen.
  return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
};


/***/ }),

/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js":
/*!***********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***!
  \***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");

module.exports = (
  utils.isStandardBrowserEnv() ?

  // Standard browser envs have full support of the APIs needed to test
  // whether the request URL is of the same origin as current location.
  (function standardBrowserEnv() {
    var msie = /(msie|trident)/i.test(navigator.userAgent);
    var urlParsingNode = document.createElement('a');
    var originURL;

    /**
    * Parse a URL to discover it's components
    *
    * @param {String} url The URL to be parsed
    * @returns {Object}
    */
    function resolveURL(url) {
      var href = url;

      if (msie) {
        // IE needs attribute set twice to normalize properties
        urlParsingNode.setAttribute('href', href);
        href = urlParsingNode.href;
      }

      urlParsingNode.setAttribute('href', href);

      // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
      return {
        href: urlParsingNode.href,
        protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
        host: urlParsingNode.host,
        search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
        hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
        hostname: urlParsingNode.hostname,
        port: urlParsingNode.port,
        pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
                  urlParsingNode.pathname :
                  '/' + urlParsingNode.pathname
      };
    }

    originURL = resolveURL(window.location.href);

    /**
    * Determine if a URL shares the same origin as the current location
    *
    * @param {String} requestURL The URL to test
    * @returns {boolean} True if URL shares the same origin, otherwise false
    */
    return function isURLSameOrigin(requestURL) {
      var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
      return (parsed.protocol === originURL.protocol &&
            parsed.host === originURL.host);
    };
  })() :

  // Non standard browser envs (web workers, react-native) lack needed support.
  (function nonStandardBrowserEnv() {
    return function isURLSameOrigin() {
      return true;
    };
  })()
);


/***/ }),

/***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js":
/*!***************************************************************!*\
  !*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***!
  \***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js");

module.exports = function normalizeHeaderName(headers, normalizedName) {
  utils.forEach(headers, function processHeader(value, name) {
    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
      headers[normalizedName] = value;
      delete headers[name];
    }
  });
};


/***/ }),

/***/ "./node_modules/axios/lib/helpers/parseHeaders.js":
/*!********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***!
  \********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");

// Headers whose duplicates are ignored by node
// c.f. https://nodejs.org/api/http.html#http_message_headers
var ignoreDuplicateOf = [
  'age', 'authorization', 'content-length', 'content-type', 'etag',
  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
  'last-modified', 'location', 'max-forwards', 'proxy-authorization',
  'referer', 'retry-after', 'user-agent'
];

/**
 * Parse headers into an object
 *
 * ```
 * Date: Wed, 27 Aug 2014 08:58:49 GMT
 * Content-Type: application/json
 * Connection: keep-alive
 * Transfer-Encoding: chunked
 * ```
 *
 * @param {String} headers Headers needing to be parsed
 * @returns {Object} Headers parsed into an object
 */
module.exports = function parseHeaders(headers) {
  var parsed = {};
  var key;
  var val;
  var i;

  if (!headers) { return parsed; }

  utils.forEach(headers.split('\n'), function parser(line) {
    i = line.indexOf(':');
    key = utils.trim(line.substr(0, i)).toLowerCase();
    val = utils.trim(line.substr(i + 1));

    if (key) {
      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
        return;
      }
      if (key === 'set-cookie') {
        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
      } else {
        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
      }
    }
  });

  return parsed;
};


/***/ }),

/***/ "./node_modules/axios/lib/helpers/spread.js":
/*!**************************************************!*\
  !*** ./node_modules/axios/lib/helpers/spread.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


/**
 * Syntactic sugar for invoking a function and expanding an array for arguments.
 *
 * Common use case would be to use `Function.prototype.apply`.
 *
 *  ```js
 *  function f(x, y, z) {}
 *  var args = [1, 2, 3];
 *  f.apply(null, args);
 *  ```
 *
 * With `spread` this example can be re-written.
 *
 *  ```js
 *  spread(function(x, y, z) {})([1, 2, 3]);
 *  ```
 *
 * @param {Function} callback
 * @returns {Function}
 */
module.exports = function spread(callback) {
  return function wrap(arr) {
    return callback.apply(null, arr);
  };
};


/***/ }),

/***/ "./node_modules/axios/lib/utils.js":
/*!*****************************************!*\
  !*** ./node_modules/axios/lib/utils.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js");
var isBuffer = __webpack_require__(/*! is-buffer */ "./node_modules/is-buffer/index.js");

/*global toString:true*/

// utils is a library of generic helper functions non-specific to axios

var toString = Object.prototype.toString;

/**
 * Determine if a value is an Array
 *
 * @param {Object} val The value to test
 * @returns {boolean} True if value is an Array, otherwise false
 */
function isArray(val) {
  return toString.call(val) === '[object Array]';
}

/**
 * Determine if a value is an ArrayBuffer
 *
 * @param {Object} val The value to test
 * @returns {boolean} True if value is an ArrayBuffer, otherwise false
 */
function isArrayBuffer(val) {
  return toString.call(val) === '[object ArrayBuffer]';
}

/**
 * Determine if a value is a FormData
 *
 * @param {Object} val The value to test
 * @returns {boolean} True if value is an FormData, otherwise false
 */
function isFormData(val) {
  return (typeof FormData !== 'undefined') && (val instanceof FormData);
}

/**
 * Determine if a value is a view on an ArrayBuffer
 *
 * @param {Object} val The value to test
 * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
 */
function isArrayBufferView(val) {
  var result;
  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
    result = ArrayBuffer.isView(val);
  } else {
    result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);
  }
  return result;
}

/**
 * Determine if a value is a String
 *
 * @param {Object} val The value to test
 * @returns {boolean} True if value is a String, otherwise false
 */
function isString(val) {
  return typeof val === 'string';
}

/**
 * Determine if a value is a Number
 *
 * @param {Object} val The value to test
 * @returns {boolean} True if value is a Number, otherwise false
 */
function isNumber(val) {
  return typeof val === 'number';
}

/**
 * Determine if a value is undefined
 *
 * @param {Object} val The value to test
 * @returns {boolean} True if the value is undefined, otherwise false
 */
function isUndefined(val) {
  return typeof val === 'undefined';
}

/**
 * Determine if a value is an Object
 *
 * @param {Object} val The value to test
 * @returns {boolean} True if value is an Object, otherwise false
 */
function isObject(val) {
  return val !== null && typeof val === 'object';
}

/**
 * Determine if a value is a Date
 *
 * @param {Object} val The value to test
 * @returns {boolean} True if value is a Date, otherwise false
 */
function isDate(val) {
  return toString.call(val) === '[object Date]';
}

/**
 * Determine if a value is a File
 *
 * @param {Object} val The value to test
 * @returns {boolean} True if value is a File, otherwise false
 */
function isFile(val) {
  return toString.call(val) === '[object File]';
}

/**
 * Determine if a value is a Blob
 *
 * @param {Object} val The value to test
 * @returns {boolean} True if value is a Blob, otherwise false
 */
function isBlob(val) {
  return toString.call(val) === '[object Blob]';
}

/**
 * Determine if a value is a Function
 *
 * @param {Object} val The value to test
 * @returns {boolean} True if value is a Function, otherwise false
 */
function isFunction(val) {
  return toString.call(val) === '[object Function]';
}

/**
 * Determine if a value is a Stream
 *
 * @param {Object} val The value to test
 * @returns {boolean} True if value is a Stream, otherwise false
 */
function isStream(val) {
  return isObject(val) && isFunction(val.pipe);
}

/**
 * Determine if a value is a URLSearchParams object
 *
 * @param {Object} val The value to test
 * @returns {boolean} True if value is a URLSearchParams object, otherwise false
 */
function isURLSearchParams(val) {
  return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
}

/**
 * Trim excess whitespace off the beginning and end of a string
 *
 * @param {String} str The String to trim
 * @returns {String} The String freed of excess whitespace
 */
function trim(str) {
  return str.replace(/^\s*/, '').replace(/\s*$/, '');
}

/**
 * Determine if we're running in a standard browser environment
 *
 * This allows axios to run in a web worker, and react-native.
 * Both environments support XMLHttpRequest, but not fully standard globals.
 *
 * web workers:
 *  typeof window -> undefined
 *  typeof document -> undefined
 *
 * react-native:
 *  navigator.product -> 'ReactNative'
 */
function isStandardBrowserEnv() {
  if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
    return false;
  }
  return (
    typeof window !== 'undefined' &&
    typeof document !== 'undefined'
  );
}

/**
 * Iterate over an Array or an Object invoking a function for each item.
 *
 * If `obj` is an Array callback will be called passing
 * the value, index, and complete array for each item.
 *
 * If 'obj' is an Object callback will be called passing
 * the value, key, and complete object for each property.
 *
 * @param {Object|Array} obj The object to iterate
 * @param {Function} fn The callback to invoke for each item
 */
function forEach(obj, fn) {
  // Don't bother if no value provided
  if (obj === null || typeof obj === 'undefined') {
    return;
  }

  // Force an array if not already something iterable
  if (typeof obj !== 'object') {
    /*eslint no-param-reassign:0*/
    obj = [obj];
  }

  if (isArray(obj)) {
    // Iterate over array values
    for (var i = 0, l = obj.length; i < l; i++) {
      fn.call(null, obj[i], i, obj);
    }
  } else {
    // Iterate over object keys
    for (var key in obj) {
      if (Object.prototype.hasOwnProperty.call(obj, key)) {
        fn.call(null, obj[key], key, obj);
      }
    }
  }
}

/**
 * Accepts varargs expecting each argument to be an object, then
 * immutably merges the properties of each object and returns result.
 *
 * When multiple objects contain the same key the later object in
 * the arguments list will take precedence.
 *
 * Example:
 *
 * ```js
 * var result = merge({foo: 123}, {foo: 456});
 * console.log(result.foo); // outputs 456
 * ```
 *
 * @param {Object} obj1 Object to merge
 * @returns {Object} Result of all merge properties
 */
function merge(/* obj1, obj2, obj3, ... */) {
  var result = {};
  function assignValue(val, key) {
    if (typeof result[key] === 'object' && typeof val === 'object') {
      result[key] = merge(result[key], val);
    } else {
      result[key] = val;
    }
  }

  for (var i = 0, l = arguments.length; i < l; i++) {
    forEach(arguments[i], assignValue);
  }
  return result;
}

/**
 * Extends object a by mutably adding to it the properties of object b.
 *
 * @param {Object} a The object to be extended
 * @param {Object} b The object to copy properties from
 * @param {Object} thisArg The object to bind function to
 * @return {Object} The resulting value of object a
 */
function extend(a, b, thisArg) {
  forEach(b, function assignValue(val, key) {
    if (thisArg && typeof val === 'function') {
      a[key] = bind(val, thisArg);
    } else {
      a[key] = val;
    }
  });
  return a;
}

module.exports = {
  isArray: isArray,
  isArrayBuffer: isArrayBuffer,
  isBuffer: isBuffer,
  isFormData: isFormData,
  isArrayBufferView: isArrayBufferView,
  isString: isString,
  isNumber: isNumber,
  isObject: isObject,
  isUndefined: isUndefined,
  isDate: isDate,
  isFile: isFile,
  isBlob: isBlob,
  isFunction: isFunction,
  isStream: isStream,
  isURLSearchParams: isURLSearchParams,
  isStandardBrowserEnv: isStandardBrowserEnv,
  forEach: forEach,
  merge: merge,
  extend: extend,
  trim: trim
};


/***/ }),

/***/ "./node_modules/base64-js/index.js":
/*!*****************************************!*\
  !*** ./node_modules/base64-js/index.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


exports.byteLength = byteLength
exports.toByteArray = toByteArray
exports.fromByteArray = fromByteArray

var lookup = []
var revLookup = []
var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array

var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
for (var i = 0, len = code.length; i < len; ++i) {
  lookup[i] = code[i]
  revLookup[code.charCodeAt(i)] = i
}

// Support decoding URL-safe base64 strings, as Node.js does.
// See: https://en.wikipedia.org/wiki/Base64#URL_applications
revLookup['-'.charCodeAt(0)] = 62
revLookup['_'.charCodeAt(0)] = 63

function getLens (b64) {
  var len = b64.length

  if (len % 4 > 0) {
    throw new Error('Invalid string. Length must be a multiple of 4')
  }

  // Trim off extra bytes after placeholder bytes are found
  // See: https://github.com/beatgammit/base64-js/issues/42
  var validLen = b64.indexOf('=')
  if (validLen === -1) validLen = len

  var placeHoldersLen = validLen === len
    ? 0
    : 4 - (validLen % 4)

  return [validLen, placeHoldersLen]
}

// base64 is 4/3 + up to two characters of the original data
function byteLength (b64) {
  var lens = getLens(b64)
  var validLen = lens[0]
  var placeHoldersLen = lens[1]
  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
}

function _byteLength (b64, validLen, placeHoldersLen) {
  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
}

function toByteArray (b64) {
  var tmp
  var lens = getLens(b64)
  var validLen = lens[0]
  var placeHoldersLen = lens[1]

  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))

  var curByte = 0

  // if there are placeholders, only get up to the last complete 4 chars
  var len = placeHoldersLen > 0
    ? validLen - 4
    : validLen

  var i
  for (i = 0; i < len; i += 4) {
    tmp =
      (revLookup[b64.charCodeAt(i)] << 18) |
      (revLookup[b64.charCodeAt(i + 1)] << 12) |
      (revLookup[b64.charCodeAt(i + 2)] << 6) |
      revLookup[b64.charCodeAt(i + 3)]
    arr[curByte++] = (tmp >> 16) & 0xFF
    arr[curByte++] = (tmp >> 8) & 0xFF
    arr[curByte++] = tmp & 0xFF
  }

  if (placeHoldersLen === 2) {
    tmp =
      (revLookup[b64.charCodeAt(i)] << 2) |
      (revLookup[b64.charCodeAt(i + 1)] >> 4)
    arr[curByte++] = tmp & 0xFF
  }

  if (placeHoldersLen === 1) {
    tmp =
      (revLookup[b64.charCodeAt(i)] << 10) |
      (revLookup[b64.charCodeAt(i + 1)] << 4) |
      (revLookup[b64.charCodeAt(i + 2)] >> 2)
    arr[curByte++] = (tmp >> 8) & 0xFF
    arr[curByte++] = tmp & 0xFF
  }

  return arr
}

function tripletToBase64 (num) {
  return lookup[num >> 18 & 0x3F] +
    lookup[num >> 12 & 0x3F] +
    lookup[num >> 6 & 0x3F] +
    lookup[num & 0x3F]
}

function encodeChunk (uint8, start, end) {
  var tmp
  var output = []
  for (var i = start; i < end; i += 3) {
    tmp =
      ((uint8[i] << 16) & 0xFF0000) +
      ((uint8[i + 1] << 8) & 0xFF00) +
      (uint8[i + 2] & 0xFF)
    output.push(tripletToBase64(tmp))
  }
  return output.join('')
}

function fromByteArray (uint8) {
  var tmp
  var len = uint8.length
  var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes
  var parts = []
  var maxChunkLength = 16383 // must be multiple of 3

  // go through the array every three bytes, we'll deal with trailing stuff later
  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
    parts.push(encodeChunk(
      uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)
    ))
  }

  // pad the end with zeros, but make sure to not forget the extra bytes
  if (extraBytes === 1) {
    tmp = uint8[len - 1]
    parts.push(
      lookup[tmp >> 2] +
      lookup[(tmp << 4) & 0x3F] +
      '=='
    )
  } else if (extraBytes === 2) {
    tmp = (uint8[len - 2] << 8) + uint8[len - 1]
    parts.push(
      lookup[tmp >> 10] +
      lookup[(tmp >> 4) & 0x3F] +
      lookup[(tmp << 2) & 0x3F] +
      '='
    )
  }

  return parts.join('')
}


/***/ }),

/***/ "./node_modules/bn.js/lib/bn.js":
/*!**************************************!*\
  !*** ./node_modules/bn.js/lib/bn.js ***!
  \**************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(module) {(function (module, exports) {
  'use strict';

  // Utils
  function assert (val, msg) {
    if (!val) throw new Error(msg || 'Assertion failed');
  }

  // Could use `inherits` module, but don't want to move from single file
  // architecture yet.
  function inherits (ctor, superCtor) {
    ctor.super_ = superCtor;
    var TempCtor = function () {};
    TempCtor.prototype = superCtor.prototype;
    ctor.prototype = new TempCtor();
    ctor.prototype.constructor = ctor;
  }

  // BN

  function BN (number, base, endian) {
    if (BN.isBN(number)) {
      return number;
    }

    this.negative = 0;
    this.words = null;
    this.length = 0;

    // Reduction context
    this.red = null;

    if (number !== null) {
      if (base === 'le' || base === 'be') {
        endian = base;
        base = 10;
      }

      this._init(number || 0, base || 10, endian || 'be');
    }
  }
  if (typeof module === 'object') {
    module.exports = BN;
  } else {
    exports.BN = BN;
  }

  BN.BN = BN;
  BN.wordSize = 26;

  var Buffer;
  try {
    Buffer = __webpack_require__(/*! buffer */ "./node_modules/node-libs-browser/node_modules/buffer/index.js").Buffer;
  } catch (e) {
  }

  BN.isBN = function isBN (num) {
    if (num instanceof BN) {
      return true;
    }

    return num !== null && typeof num === 'object' &&
      num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);
  };

  BN.max = function max (left, right) {
    if (left.cmp(right) > 0) return left;
    return right;
  };

  BN.min = function min (left, right) {
    if (left.cmp(right) < 0) return left;
    return right;
  };

  BN.prototype._init = function init (number, base, endian) {
    if (typeof number === 'number') {
      return this._initNumber(number, base, endian);
    }

    if (typeof number === 'object') {
      return this._initArray(number, base, endian);
    }

    if (base === 'hex') {
      base = 16;
    }
    assert(base === (base | 0) && base >= 2 && base <= 36);

    number = number.toString().replace(/\s+/g, '');
    var start = 0;
    if (number[0] === '-') {
      start++;
    }

    if (base === 16) {
      this._parseHex(number, start);
    } else {
      this._parseBase(number, base, start);
    }

    if (number[0] === '-') {
      this.negative = 1;
    }

    this.strip();

    if (endian !== 'le') return;

    this._initArray(this.toArray(), base, endian);
  };

  BN.prototype._initNumber = function _initNumber (number, base, endian) {
    if (number < 0) {
      this.negative = 1;
      number = -number;
    }
    if (number < 0x4000000) {
      this.words = [ number & 0x3ffffff ];
      this.length = 1;
    } else if (number < 0x10000000000000) {
      this.words = [
        number & 0x3ffffff,
        (number / 0x4000000) & 0x3ffffff
      ];
      this.length = 2;
    } else {
      assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)
      this.words = [
        number & 0x3ffffff,
        (number / 0x4000000) & 0x3ffffff,
        1
      ];
      this.length = 3;
    }

    if (endian !== 'le') return;

    // Reverse the bytes
    this._initArray(this.toArray(), base, endian);
  };

  BN.prototype._initArray = function _initArray (number, base, endian) {
    // Perhaps a Uint8Array
    assert(typeof number.length === 'number');
    if (number.length <= 0) {
      this.words = [ 0 ];
      this.length = 1;
      return this;
    }

    this.length = Math.ceil(number.length / 3);
    this.words = new Array(this.length);
    for (var i = 0; i < this.length; i++) {
      this.words[i] = 0;
    }

    var j, w;
    var off = 0;
    if (endian === 'be') {
      for (i = number.length - 1, j = 0; i >= 0; i -= 3) {
        w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);
        this.words[j] |= (w << off) & 0x3ffffff;
        this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;
        off += 24;
        if (off >= 26) {
          off -= 26;
          j++;
        }
      }
    } else if (endian === 'le') {
      for (i = 0, j = 0; i < number.length; i += 3) {
        w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);
        this.words[j] |= (w << off) & 0x3ffffff;
        this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;
        off += 24;
        if (off >= 26) {
          off -= 26;
          j++;
        }
      }
    }
    return this.strip();
  };

  function parseHex (str, start, end) {
    var r = 0;
    var len = Math.min(str.length, end);
    for (var i = start; i < len; i++) {
      var c = str.charCodeAt(i) - 48;

      r <<= 4;

      // 'a' - 'f'
      if (c >= 49 && c <= 54) {
        r |= c - 49 + 0xa;

      // 'A' - 'F'
      } else if (c >= 17 && c <= 22) {
        r |= c - 17 + 0xa;

      // '0' - '9'
      } else {
        r |= c & 0xf;
      }
    }
    return r;
  }

  BN.prototype._parseHex = function _parseHex (number, start) {
    // Create possibly bigger array to ensure that it fits the number
    this.length = Math.ceil((number.length - start) / 6);
    this.words = new Array(this.length);
    for (var i = 0; i < this.length; i++) {
      this.words[i] = 0;
    }

    var j, w;
    // Scan 24-bit chunks and add them to the number
    var off = 0;
    for (i = number.length - 6, j = 0; i >= start; i -= 6) {
      w = parseHex(number, i, i + 6);
      this.words[j] |= (w << off) & 0x3ffffff;
      // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb
      this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;
      off += 24;
      if (off >= 26) {
        off -= 26;
        j++;
      }
    }
    if (i + 6 !== start) {
      w = parseHex(number, start, i + 6);
      this.words[j] |= (w << off) & 0x3ffffff;
      this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;
    }
    this.strip();
  };

  function parseBase (str, start, end, mul) {
    var r = 0;
    var len = Math.min(str.length, end);
    for (var i = start; i < len; i++) {
      var c = str.charCodeAt(i) - 48;

      r *= mul;

      // 'a'
      if (c >= 49) {
        r += c - 49 + 0xa;

      // 'A'
      } else if (c >= 17) {
        r += c - 17 + 0xa;

      // '0' - '9'
      } else {
        r += c;
      }
    }
    return r;
  }

  BN.prototype._parseBase = function _parseBase (number, base, start) {
    // Initialize as zero
    this.words = [ 0 ];
    this.length = 1;

    // Find length of limb in base
    for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {
      limbLen++;
    }
    limbLen--;
    limbPow = (limbPow / base) | 0;

    var total = number.length - start;
    var mod = total % limbLen;
    var end = Math.min(total, total - mod) + start;

    var word = 0;
    for (var i = start; i < end; i += limbLen) {
      word = parseBase(number, i, i + limbLen, base);

      this.imuln(limbPow);
      if (this.words[0] + word < 0x4000000) {
        this.words[0] += word;
      } else {
        this._iaddn(word);
      }
    }

    if (mod !== 0) {
      var pow = 1;
      word = parseBase(number, i, number.length, base);

      for (i = 0; i < mod; i++) {
        pow *= base;
      }

      this.imuln(pow);
      if (this.words[0] + word < 0x4000000) {
        this.words[0] += word;
      } else {
        this._iaddn(word);
      }
    }
  };

  BN.prototype.copy = function copy (dest) {
    dest.words = new Array(this.length);
    for (var i = 0; i < this.length; i++) {
      dest.words[i] = this.words[i];
    }
    dest.length = this.length;
    dest.negative = this.negative;
    dest.red = this.red;
  };

  BN.prototype.clone = function clone () {
    var r = new BN(null);
    this.copy(r);
    return r;
  };

  BN.prototype._expand = function _expand (size) {
    while (this.length < size) {
      this.words[this.length++] = 0;
    }
    return this;
  };

  // Remove leading `0` from `this`
  BN.prototype.strip = function strip () {
    while (this.length > 1 && this.words[this.length - 1] === 0) {
      this.length--;
    }
    return this._normSign();
  };

  BN.prototype._normSign = function _normSign () {
    // -0 = 0
    if (this.length === 1 && this.words[0] === 0) {
      this.negative = 0;
    }
    return this;
  };

  BN.prototype.inspect = function inspect () {
    return (this.red ? '<BN-R: ' : '<BN: ') + this.toString(16) + '>';
  };

  /*

  var zeros = [];
  var groupSizes = [];
  var groupBases = [];

  var s = '';
  var i = -1;
  while (++i < BN.wordSize) {
    zeros[i] = s;
    s += '0';
  }
  groupSizes[0] = 0;
  groupSizes[1] = 0;
  groupBases[0] = 0;
  groupBases[1] = 0;
  var base = 2 - 1;
  while (++base < 36 + 1) {
    var groupSize = 0;
    var groupBase = 1;
    while (groupBase < (1 << BN.wordSize) / base) {
      groupBase *= base;
      groupSize += 1;
    }
    groupSizes[base] = groupSize;
    groupBases[base] = groupBase;
  }

  */

  var zeros = [
    '',
    '0',
    '00',
    '000',
    '0000',
    '00000',
    '000000',
    '0000000',
    '00000000',
    '000000000',
    '0000000000',
    '00000000000',
    '000000000000',
    '0000000000000',
    '00000000000000',
    '000000000000000',
    '0000000000000000',
    '00000000000000000',
    '000000000000000000',
    '0000000000000000000',
    '00000000000000000000',
    '000000000000000000000',
    '0000000000000000000000',
    '00000000000000000000000',
    '000000000000000000000000',
    '0000000000000000000000000'
  ];

  var groupSizes = [
    0, 0,
    25, 16, 12, 11, 10, 9, 8,
    8, 7, 7, 7, 7, 6, 6,
    6, 6, 6, 6, 6, 5, 5,
    5, 5, 5, 5, 5, 5, 5,
    5, 5, 5, 5, 5, 5, 5
  ];

  var groupBases = [
    0, 0,
    33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,
    43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,
    16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,
    6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,
    24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176
  ];

  BN.prototype.toString = function toString (base, padding) {
    base = base || 10;
    padding = padding | 0 || 1;

    var out;
    if (base === 16 || base === 'hex') {
      out = '';
      var off = 0;
      var carry = 0;
      for (var i = 0; i < this.length; i++) {
        var w = this.words[i];
        var word = (((w << off) | carry) & 0xffffff).toString(16);
        carry = (w >>> (24 - off)) & 0xffffff;
        if (carry !== 0 || i !== this.length - 1) {
          out = zeros[6 - word.length] + word + out;
        } else {
          out = word + out;
        }
        off += 2;
        if (off >= 26) {
          off -= 26;
          i--;
        }
      }
      if (carry !== 0) {
        out = carry.toString(16) + out;
      }
      while (out.length % padding !== 0) {
        out = '0' + out;
      }
      if (this.negative !== 0) {
        out = '-' + out;
      }
      return out;
    }

    if (base === (base | 0) && base >= 2 && base <= 36) {
      // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));
      var groupSize = groupSizes[base];
      // var groupBase = Math.pow(base, groupSize);
      var groupBase = groupBases[base];
      out = '';
      var c = this.clone();
      c.negative = 0;
      while (!c.isZero()) {
        var r = c.modn(groupBase).toString(base);
        c = c.idivn(groupBase);

        if (!c.isZero()) {
          out = zeros[groupSize - r.length] + r + out;
        } else {
          out = r + out;
        }
      }
      if (this.isZero()) {
        out = '0' + out;
      }
      while (out.length % padding !== 0) {
        out = '0' + out;
      }
      if (this.negative !== 0) {
        out = '-' + out;
      }
      return out;
    }

    assert(false, 'Base should be between 2 and 36');
  };

  BN.prototype.toNumber = function toNumber () {
    var ret = this.words[0];
    if (this.length === 2) {
      ret += this.words[1] * 0x4000000;
    } else if (this.length === 3 && this.words[2] === 0x01) {
      // NOTE: at this stage it is known that the top bit is set
      ret += 0x10000000000000 + (this.words[1] * 0x4000000);
    } else if (this.length > 2) {
      assert(false, 'Number can only safely store up to 53 bits');
    }
    return (this.negative !== 0) ? -ret : ret;
  };

  BN.prototype.toJSON = function toJSON () {
    return this.toString(16);
  };

  BN.prototype.toBuffer = function toBuffer (endian, length) {
    assert(typeof Buffer !== 'undefined');
    return this.toArrayLike(Buffer, endian, length);
  };

  BN.prototype.toArray = function toArray (endian, length) {
    return this.toArrayLike(Array, endian, length);
  };

  BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {
    var byteLength = this.byteLength();
    var reqLength = length || Math.max(1, byteLength);
    assert(byteLength <= reqLength, 'byte array longer than desired length');
    assert(reqLength > 0, 'Requested array length <= 0');

    this.strip();
    var littleEndian = endian === 'le';
    var res = new ArrayType(reqLength);

    var b, i;
    var q = this.clone();
    if (!littleEndian) {
      // Assume big-endian
      for (i = 0; i < reqLength - byteLength; i++) {
        res[i] = 0;
      }

      for (i = 0; !q.isZero(); i++) {
        b = q.andln(0xff);
        q.iushrn(8);

        res[reqLength - i - 1] = b;
      }
    } else {
      for (i = 0; !q.isZero(); i++) {
        b = q.andln(0xff);
        q.iushrn(8);

        res[i] = b;
      }

      for (; i < reqLength; i++) {
        res[i] = 0;
      }
    }

    return res;
  };

  if (Math.clz32) {
    BN.prototype._countBits = function _countBits (w) {
      return 32 - Math.clz32(w);
    };
  } else {
    BN.prototype._countBits = function _countBits (w) {
      var t = w;
      var r = 0;
      if (t >= 0x1000) {
        r += 13;
        t >>>= 13;
      }
      if (t >= 0x40) {
        r += 7;
        t >>>= 7;
      }
      if (t >= 0x8) {
        r += 4;
        t >>>= 4;
      }
      if (t >= 0x02) {
        r += 2;
        t >>>= 2;
      }
      return r + t;
    };
  }

  BN.prototype._zeroBits = function _zeroBits (w) {
    // Short-cut
    if (w === 0) return 26;

    var t = w;
    var r = 0;
    if ((t & 0x1fff) === 0) {
      r += 13;
      t >>>= 13;
    }
    if ((t & 0x7f) === 0) {
      r += 7;
      t >>>= 7;
    }
    if ((t & 0xf) === 0) {
      r += 4;
      t >>>= 4;
    }
    if ((t & 0x3) === 0) {
      r += 2;
      t >>>= 2;
    }
    if ((t & 0x1) === 0) {
      r++;
    }
    return r;
  };

  // Return number of used bits in a BN
  BN.prototype.bitLength = function bitLength () {
    var w = this.words[this.length - 1];
    var hi = this._countBits(w);
    return (this.length - 1) * 26 + hi;
  };

  function toBitArray (num) {
    var w = new Array(num.bitLength());

    for (var bit = 0; bit < w.length; bit++) {
      var off = (bit / 26) | 0;
      var wbit = bit % 26;

      w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;
    }

    return w;
  }

  // Number of trailing zero bits
  BN.prototype.zeroBits = function zeroBits () {
    if (this.isZero()) return 0;

    var r = 0;
    for (var i = 0; i < this.length; i++) {
      var b = this._zeroBits(this.words[i]);
      r += b;
      if (b !== 26) break;
    }
    return r;
  };

  BN.prototype.byteLength = function byteLength () {
    return Math.ceil(this.bitLength() / 8);
  };

  BN.prototype.toTwos = function toTwos (width) {
    if (this.negative !== 0) {
      return this.abs().inotn(width).iaddn(1);
    }
    return this.clone();
  };

  BN.prototype.fromTwos = function fromTwos (width) {
    if (this.testn(width - 1)) {
      return this.notn(width).iaddn(1).ineg();
    }
    return this.clone();
  };

  BN.prototype.isNeg = function isNeg () {
    return this.negative !== 0;
  };

  // Return negative clone of `this`
  BN.prototype.neg = function neg () {
    return this.clone().ineg();
  };

  BN.prototype.ineg = function ineg () {
    if (!this.isZero()) {
      this.negative ^= 1;
    }

    return this;
  };

  // Or `num` with `this` in-place
  BN.prototype.iuor = function iuor (num) {
    while (this.length < num.length) {
      this.words[this.length++] = 0;
    }

    for (var i = 0; i < num.length; i++) {
      this.words[i] = this.words[i] | num.words[i];
    }

    return this.strip();
  };

  BN.prototype.ior = function ior (num) {
    assert((this.negative | num.negative) === 0);
    return this.iuor(num);
  };

  // Or `num` with `this`
  BN.prototype.or = function or (num) {
    if (this.length > num.length) return this.clone().ior(num);
    return num.clone().ior(this);
  };

  BN.prototype.uor = function uor (num) {
    if (this.length > num.length) return this.clone().iuor(num);
    return num.clone().iuor(this);
  };

  // And `num` with `this` in-place
  BN.prototype.iuand = function iuand (num) {
    // b = min-length(num, this)
    var b;
    if (this.length > num.length) {
      b = num;
    } else {
      b = this;
    }

    for (var i = 0; i < b.length; i++) {
      this.words[i] = this.words[i] & num.words[i];
    }

    this.length = b.length;

    return this.strip();
  };

  BN.prototype.iand = function iand (num) {
    assert((this.negative | num.negative) === 0);
    return this.iuand(num);
  };

  // And `num` with `this`
  BN.prototype.and = function and (num) {
    if (this.length > num.length) return this.clone().iand(num);
    return num.clone().iand(this);
  };

  BN.prototype.uand = function uand (num) {
    if (this.length > num.length) return this.clone().iuand(num);
    return num.clone().iuand(this);
  };

  // Xor `num` with `this` in-place
  BN.prototype.iuxor = function iuxor (num) {
    // a.length > b.length
    var a;
    var b;
    if (this.length > num.length) {
      a = this;
      b = num;
    } else {
      a = num;
      b = this;
    }

    for (var i = 0; i < b.length; i++) {
      this.words[i] = a.words[i] ^ b.words[i];
    }

    if (this !== a) {
      for (; i < a.length; i++) {
        this.words[i] = a.words[i];
      }
    }

    this.length = a.length;

    return this.strip();
  };

  BN.prototype.ixor = function ixor (num) {
    assert((this.negative | num.negative) === 0);
    return this.iuxor(num);
  };

  // Xor `num` with `this`
  BN.prototype.xor = function xor (num) {
    if (this.length > num.length) return this.clone().ixor(num);
    return num.clone().ixor(this);
  };

  BN.prototype.uxor = function uxor (num) {
    if (this.length > num.length) return this.clone().iuxor(num);
    return num.clone().iuxor(this);
  };

  // Not ``this`` with ``width`` bitwidth
  BN.prototype.inotn = function inotn (width) {
    assert(typeof width === 'number' && width >= 0);

    var bytesNeeded = Math.ceil(width / 26) | 0;
    var bitsLeft = width % 26;

    // Extend the buffer with leading zeroes
    this._expand(bytesNeeded);

    if (bitsLeft > 0) {
      bytesNeeded--;
    }

    // Handle complete words
    for (var i = 0; i < bytesNeeded; i++) {
      this.words[i] = ~this.words[i] & 0x3ffffff;
    }

    // Handle the residue
    if (bitsLeft > 0) {
      this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));
    }

    // And remove leading zeroes
    return this.strip();
  };

  BN.prototype.notn = function notn (width) {
    return this.clone().inotn(width);
  };

  // Set `bit` of `this`
  BN.prototype.setn = function setn (bit, val) {
    assert(typeof bit === 'number' && bit >= 0);

    var off = (bit / 26) | 0;
    var wbit = bit % 26;

    this._expand(off + 1);

    if (val) {
      this.words[off] = this.words[off] | (1 << wbit);
    } else {
      this.words[off] = this.words[off] & ~(1 << wbit);
    }

    return this.strip();
  };

  // Add `num` to `this` in-place
  BN.prototype.iadd = function iadd (num) {
    var r;

    // negative + positive
    if (this.negative !== 0 && num.negative === 0) {
      this.negative = 0;
      r = this.isub(num);
      this.negative ^= 1;
      return this._normSign();

    // positive + negative
    } else if (this.negative === 0 && num.negative !== 0) {
      num.negative = 0;
      r = this.isub(num);
      num.negative = 1;
      return r._normSign();
    }

    // a.length > b.length
    var a, b;
    if (this.length > num.length) {
      a = this;
      b = num;
    } else {
      a = num;
      b = this;
    }

    var carry = 0;
    for (var i = 0; i < b.length; i++) {
      r = (a.words[i] | 0) + (b.words[i] | 0) + carry;
      this.words[i] = r & 0x3ffffff;
      carry = r >>> 26;
    }
    for (; carry !== 0 && i < a.length; i++) {
      r = (a.words[i] | 0) + carry;
      this.words[i] = r & 0x3ffffff;
      carry = r >>> 26;
    }

    this.length = a.length;
    if (carry !== 0) {
      this.words[this.length] = carry;
      this.length++;
    // Copy the rest of the words
    } else if (a !== this) {
      for (; i < a.length; i++) {
        this.words[i] = a.words[i];
      }
    }

    return this;
  };

  // Add `num` to `this`
  BN.prototype.add = function add (num) {
    var res;
    if (num.negative !== 0 && this.negative === 0) {
      num.negative = 0;
      res = this.sub(num);
      num.negative ^= 1;
      return res;
    } else if (num.negative === 0 && this.negative !== 0) {
      this.negative = 0;
      res = num.sub(this);
      this.negative = 1;
      return res;
    }

    if (this.length > num.length) return this.clone().iadd(num);

    return num.clone().iadd(this);
  };

  // Subtract `num` from `this` in-place
  BN.prototype.isub = function isub (num) {
    // this - (-num) = this + num
    if (num.negative !== 0) {
      num.negative = 0;
      var r = this.iadd(num);
      num.negative = 1;
      return r._normSign();

    // -this - num = -(this + num)
    } else if (this.negative !== 0) {
      this.negative = 0;
      this.iadd(num);
      this.negative = 1;
      return this._normSign();
    }

    // At this point both numbers are positive
    var cmp = this.cmp(num);

    // Optimization - zeroify
    if (cmp === 0) {
      this.negative = 0;
      this.length = 1;
      this.words[0] = 0;
      return this;
    }

    // a > b
    var a, b;
    if (cmp > 0) {
      a = this;
      b = num;
    } else {
      a = num;
      b = this;
    }

    var carry = 0;
    for (var i = 0; i < b.length; i++) {
      r = (a.words[i] | 0) - (b.words[i] | 0) + carry;
      carry = r >> 26;
      this.words[i] = r & 0x3ffffff;
    }
    for (; carry !== 0 && i < a.length; i++) {
      r = (a.words[i] | 0) + carry;
      carry = r >> 26;
      this.words[i] = r & 0x3ffffff;
    }

    // Copy rest of the words
    if (carry === 0 && i < a.length && a !== this) {
      for (; i < a.length; i++) {
        this.words[i] = a.words[i];
      }
    }

    this.length = Math.max(this.length, i);

    if (a !== this) {
      this.negative = 1;
    }

    return this.strip();
  };

  // Subtract `num` from `this`
  BN.prototype.sub = function sub (num) {
    return this.clone().isub(num);
  };

  function smallMulTo (self, num, out) {
    out.negative = num.negative ^ self.negative;
    var len = (self.length + num.length) | 0;
    out.length = len;
    len = (len - 1) | 0;

    // Peel one iteration (compiler can't do it, because of code complexity)
    var a = self.words[0] | 0;
    var b = num.words[0] | 0;
    var r = a * b;

    var lo = r & 0x3ffffff;
    var carry = (r / 0x4000000) | 0;
    out.words[0] = lo;

    for (var k = 1; k < len; k++) {
      // Sum all words with the same `i + j = k` and accumulate `ncarry`,
      // note that ncarry could be >= 0x3ffffff
      var ncarry = carry >>> 26;
      var rword = carry & 0x3ffffff;
      var maxJ = Math.min(k, num.length - 1);
      for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {
        var i = (k - j) | 0;
        a = self.words[i] | 0;
        b = num.words[j] | 0;
        r = a * b + rword;
        ncarry += (r / 0x4000000) | 0;
        rword = r & 0x3ffffff;
      }
      out.words[k] = rword | 0;
      carry = ncarry | 0;
    }
    if (carry !== 0) {
      out.words[k] = carry | 0;
    } else {
      out.length--;
    }

    return out.strip();
  }

  // TODO(indutny): it may be reasonable to omit it for users who don't need
  // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit
  // multiplication (like elliptic secp256k1).
  var comb10MulTo = function comb10MulTo (self, num, out) {
    var a = self.words;
    var b = num.words;
    var o = out.words;
    var c = 0;
    var lo;
    var mid;
    var hi;
    var a0 = a[0] | 0;
    var al0 = a0 & 0x1fff;
    var ah0 = a0 >>> 13;
    var a1 = a[1] | 0;
    var al1 = a1 & 0x1fff;
    var ah1 = a1 >>> 13;
    var a2 = a[2] | 0;
    var al2 = a2 & 0x1fff;
    var ah2 = a2 >>> 13;
    var a3 = a[3] | 0;
    var al3 = a3 & 0x1fff;
    var ah3 = a3 >>> 13;
    var a4 = a[4] | 0;
    var al4 = a4 & 0x1fff;
    var ah4 = a4 >>> 13;
    var a5 = a[5] | 0;
    var al5 = a5 & 0x1fff;
    var ah5 = a5 >>> 13;
    var a6 = a[6] | 0;
    var al6 = a6 & 0x1fff;
    var ah6 = a6 >>> 13;
    var a7 = a[7] | 0;
    var al7 = a7 & 0x1fff;
    var ah7 = a7 >>> 13;
    var a8 = a[8] | 0;
    var al8 = a8 & 0x1fff;
    var ah8 = a8 >>> 13;
    var a9 = a[9] | 0;
    var al9 = a9 & 0x1fff;
    var ah9 = a9 >>> 13;
    var b0 = b[0] | 0;
    var bl0 = b0 & 0x1fff;
    var bh0 = b0 >>> 13;
    var b1 = b[1] | 0;
    var bl1 = b1 & 0x1fff;
    var bh1 = b1 >>> 13;
    var b2 = b[2] | 0;
    var bl2 = b2 & 0x1fff;
    var bh2 = b2 >>> 13;
    var b3 = b[3] | 0;
    var bl3 = b3 & 0x1fff;
    var bh3 = b3 >>> 13;
    var b4 = b[4] | 0;
    var bl4 = b4 & 0x1fff;
    var bh4 = b4 >>> 13;
    var b5 = b[5] | 0;
    var bl5 = b5 & 0x1fff;
    var bh5 = b5 >>> 13;
    var b6 = b[6] | 0;
    var bl6 = b6 & 0x1fff;
    var bh6 = b6 >>> 13;
    var b7 = b[7] | 0;
    var bl7 = b7 & 0x1fff;
    var bh7 = b7 >>> 13;
    var b8 = b[8] | 0;
    var bl8 = b8 & 0x1fff;
    var bh8 = b8 >>> 13;
    var b9 = b[9] | 0;
    var bl9 = b9 & 0x1fff;
    var bh9 = b9 >>> 13;

    out.negative = self.negative ^ num.negative;
    out.length = 19;
    /* k = 0 */
    lo = Math.imul(al0, bl0);
    mid = Math.imul(al0, bh0);
    mid = (mid + Math.imul(ah0, bl0)) | 0;
    hi = Math.imul(ah0, bh0);
    var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;
    w0 &= 0x3ffffff;
    /* k = 1 */
    lo = Math.imul(al1, bl0);
    mid = Math.imul(al1, bh0);
    mid = (mid + Math.imul(ah1, bl0)) | 0;
    hi = Math.imul(ah1, bh0);
    lo = (lo + Math.imul(al0, bl1)) | 0;
    mid = (mid + Math.imul(al0, bh1)) | 0;
    mid = (mid + Math.imul(ah0, bl1)) | 0;
    hi = (hi + Math.imul(ah0, bh1)) | 0;
    var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;
    w1 &= 0x3ffffff;
    /* k = 2 */
    lo = Math.imul(al2, bl0);
    mid = Math.imul(al2, bh0);
    mid = (mid + Math.imul(ah2, bl0)) | 0;
    hi = Math.imul(ah2, bh0);
    lo = (lo + Math.imul(al1, bl1)) | 0;
    mid = (mid + Math.imul(al1, bh1)) | 0;
    mid = (mid + Math.imul(ah1, bl1)) | 0;
    hi = (hi + Math.imul(ah1, bh1)) | 0;
    lo = (lo + Math.imul(al0, bl2)) | 0;
    mid = (mid + Math.imul(al0, bh2)) | 0;
    mid = (mid + Math.imul(ah0, bl2)) | 0;
    hi = (hi + Math.imul(ah0, bh2)) | 0;
    var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;
    w2 &= 0x3ffffff;
    /* k = 3 */
    lo = Math.imul(al3, bl0);
    mid = Math.imul(al3, bh0);
    mid = (mid + Math.imul(ah3, bl0)) | 0;
    hi = Math.imul(ah3, bh0);
    lo = (lo + Math.imul(al2, bl1)) | 0;
    mid = (mid + Math.imul(al2, bh1)) | 0;
    mid = (mid + Math.imul(ah2, bl1)) | 0;
    hi = (hi + Math.imul(ah2, bh1)) | 0;
    lo = (lo + Math.imul(al1, bl2)) | 0;
    mid = (mid + Math.imul(al1, bh2)) | 0;
    mid = (mid + Math.imul(ah1, bl2)) | 0;
    hi = (hi + Math.imul(ah1, bh2)) | 0;
    lo = (lo + Math.imul(al0, bl3)) | 0;
    mid = (mid + Math.imul(al0, bh3)) | 0;
    mid = (mid + Math.imul(ah0, bl3)) | 0;
    hi = (hi + Math.imul(ah0, bh3)) | 0;
    var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;
    w3 &= 0x3ffffff;
    /* k = 4 */
    lo = Math.imul(al4, bl0);
    mid = Math.imul(al4, bh0);
    mid = (mid + Math.imul(ah4, bl0)) | 0;
    hi = Math.imul(ah4, bh0);
    lo = (lo + Math.imul(al3, bl1)) | 0;
    mid = (mid + Math.imul(al3, bh1)) | 0;
    mid = (mid + Math.imul(ah3, bl1)) | 0;
    hi = (hi + Math.imul(ah3, bh1)) | 0;
    lo = (lo + Math.imul(al2, bl2)) | 0;
    mid = (mid + Math.imul(al2, bh2)) | 0;
    mid = (mid + Math.imul(ah2, bl2)) | 0;
    hi = (hi + Math.imul(ah2, bh2)) | 0;
    lo = (lo + Math.imul(al1, bl3)) | 0;
    mid = (mid + Math.imul(al1, bh3)) | 0;
    mid = (mid + Math.imul(ah1, bl3)) | 0;
    hi = (hi + Math.imul(ah1, bh3)) | 0;
    lo = (lo + Math.imul(al0, bl4)) | 0;
    mid = (mid + Math.imul(al0, bh4)) | 0;
    mid = (mid + Math.imul(ah0, bl4)) | 0;
    hi = (hi + Math.imul(ah0, bh4)) | 0;
    var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;
    w4 &= 0x3ffffff;
    /* k = 5 */
    lo = Math.imul(al5, bl0);
    mid = Math.imul(al5, bh0);
    mid = (mid + Math.imul(ah5, bl0)) | 0;
    hi = Math.imul(ah5, bh0);
    lo = (lo + Math.imul(al4, bl1)) | 0;
    mid = (mid + Math.imul(al4, bh1)) | 0;
    mid = (mid + Math.imul(ah4, bl1)) | 0;
    hi = (hi + Math.imul(ah4, bh1)) | 0;
    lo = (lo + Math.imul(al3, bl2)) | 0;
    mid = (mid + Math.imul(al3, bh2)) | 0;
    mid = (mid + Math.imul(ah3, bl2)) | 0;
    hi = (hi + Math.imul(ah3, bh2)) | 0;
    lo = (lo + Math.imul(al2, bl3)) | 0;
    mid = (mid + Math.imul(al2, bh3)) | 0;
    mid = (mid + Math.imul(ah2, bl3)) | 0;
    hi = (hi + Math.imul(ah2, bh3)) | 0;
    lo = (lo + Math.imul(al1, bl4)) | 0;
    mid = (mid + Math.imul(al1, bh4)) | 0;
    mid = (mid + Math.imul(ah1, bl4)) | 0;
    hi = (hi + Math.imul(ah1, bh4)) | 0;
    lo = (lo + Math.imul(al0, bl5)) | 0;
    mid = (mid + Math.imul(al0, bh5)) | 0;
    mid = (mid + Math.imul(ah0, bl5)) | 0;
    hi = (hi + Math.imul(ah0, bh5)) | 0;
    var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;
    w5 &= 0x3ffffff;
    /* k = 6 */
    lo = Math.imul(al6, bl0);
    mid = Math.imul(al6, bh0);
    mid = (mid + Math.imul(ah6, bl0)) | 0;
    hi = Math.imul(ah6, bh0);
    lo = (lo + Math.imul(al5, bl1)) | 0;
    mid = (mid + Math.imul(al5, bh1)) | 0;
    mid = (mid + Math.imul(ah5, bl1)) | 0;
    hi = (hi + Math.imul(ah5, bh1)) | 0;
    lo = (lo + Math.imul(al4, bl2)) | 0;
    mid = (mid + Math.imul(al4, bh2)) | 0;
    mid = (mid + Math.imul(ah4, bl2)) | 0;
    hi = (hi + Math.imul(ah4, bh2)) | 0;
    lo = (lo + Math.imul(al3, bl3)) | 0;
    mid = (mid + Math.imul(al3, bh3)) | 0;
    mid = (mid + Math.imul(ah3, bl3)) | 0;
    hi = (hi + Math.imul(ah3, bh3)) | 0;
    lo = (lo + Math.imul(al2, bl4)) | 0;
    mid = (mid + Math.imul(al2, bh4)) | 0;
    mid = (mid + Math.imul(ah2, bl4)) | 0;
    hi = (hi + Math.imul(ah2, bh4)) | 0;
    lo = (lo + Math.imul(al1, bl5)) | 0;
    mid = (mid + Math.imul(al1, bh5)) | 0;
    mid = (mid + Math.imul(ah1, bl5)) | 0;
    hi = (hi + Math.imul(ah1, bh5)) | 0;
    lo = (lo + Math.imul(al0, bl6)) | 0;
    mid = (mid + Math.imul(al0, bh6)) | 0;
    mid = (mid + Math.imul(ah0, bl6)) | 0;
    hi = (hi + Math.imul(ah0, bh6)) | 0;
    var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;
    w6 &= 0x3ffffff;
    /* k = 7 */
    lo = Math.imul(al7, bl0);
    mid = Math.imul(al7, bh0);
    mid = (mid + Math.imul(ah7, bl0)) | 0;
    hi = Math.imul(ah7, bh0);
    lo = (lo + Math.imul(al6, bl1)) | 0;
    mid = (mid + Math.imul(al6, bh1)) | 0;
    mid = (mid + Math.imul(ah6, bl1)) | 0;
    hi = (hi + Math.imul(ah6, bh1)) | 0;
    lo = (lo + Math.imul(al5, bl2)) | 0;
    mid = (mid + Math.imul(al5, bh2)) | 0;
    mid = (mid + Math.imul(ah5, bl2)) | 0;
    hi = (hi + Math.imul(ah5, bh2)) | 0;
    lo = (lo + Math.imul(al4, bl3)) | 0;
    mid = (mid + Math.imul(al4, bh3)) | 0;
    mid = (mid + Math.imul(ah4, bl3)) | 0;
    hi = (hi + Math.imul(ah4, bh3)) | 0;
    lo = (lo + Math.imul(al3, bl4)) | 0;
    mid = (mid + Math.imul(al3, bh4)) | 0;
    mid = (mid + Math.imul(ah3, bl4)) | 0;
    hi = (hi + Math.imul(ah3, bh4)) | 0;
    lo = (lo + Math.imul(al2, bl5)) | 0;
    mid = (mid + Math.imul(al2, bh5)) | 0;
    mid = (mid + Math.imul(ah2, bl5)) | 0;
    hi = (hi + Math.imul(ah2, bh5)) | 0;
    lo = (lo + Math.imul(al1, bl6)) | 0;
    mid = (mid + Math.imul(al1, bh6)) | 0;
    mid = (mid + Math.imul(ah1, bl6)) | 0;
    hi = (hi + Math.imul(ah1, bh6)) | 0;
    lo = (lo + Math.imul(al0, bl7)) | 0;
    mid = (mid + Math.imul(al0, bh7)) | 0;
    mid = (mid + Math.imul(ah0, bl7)) | 0;
    hi = (hi + Math.imul(ah0, bh7)) | 0;
    var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;
    w7 &= 0x3ffffff;
    /* k = 8 */
    lo = Math.imul(al8, bl0);
    mid = Math.imul(al8, bh0);
    mid = (mid + Math.imul(ah8, bl0)) | 0;
    hi = Math.imul(ah8, bh0);
    lo = (lo + Math.imul(al7, bl1)) | 0;
    mid = (mid + Math.imul(al7, bh1)) | 0;
    mid = (mid + Math.imul(ah7, bl1)) | 0;
    hi = (hi + Math.imul(ah7, bh1)) | 0;
    lo = (lo + Math.imul(al6, bl2)) | 0;
    mid = (mid + Math.imul(al6, bh2)) | 0;
    mid = (mid + Math.imul(ah6, bl2)) | 0;
    hi = (hi + Math.imul(ah6, bh2)) | 0;
    lo = (lo + Math.imul(al5, bl3)) | 0;
    mid = (mid + Math.imul(al5, bh3)) | 0;
    mid = (mid + Math.imul(ah5, bl3)) | 0;
    hi = (hi + Math.imul(ah5, bh3)) | 0;
    lo = (lo + Math.imul(al4, bl4)) | 0;
    mid = (mid + Math.imul(al4, bh4)) | 0;
    mid = (mid + Math.imul(ah4, bl4)) | 0;
    hi = (hi + Math.imul(ah4, bh4)) | 0;
    lo = (lo + Math.imul(al3, bl5)) | 0;
    mid = (mid + Math.imul(al3, bh5)) | 0;
    mid = (mid + Math.imul(ah3, bl5)) | 0;
    hi = (hi + Math.imul(ah3, bh5)) | 0;
    lo = (lo + Math.imul(al2, bl6)) | 0;
    mid = (mid + Math.imul(al2, bh6)) | 0;
    mid = (mid + Math.imul(ah2, bl6)) | 0;
    hi = (hi + Math.imul(ah2, bh6)) | 0;
    lo = (lo + Math.imul(al1, bl7)) | 0;
    mid = (mid + Math.imul(al1, bh7)) | 0;
    mid = (mid + Math.imul(ah1, bl7)) | 0;
    hi = (hi + Math.imul(ah1, bh7)) | 0;
    lo = (lo + Math.imul(al0, bl8)) | 0;
    mid = (mid + Math.imul(al0, bh8)) | 0;
    mid = (mid + Math.imul(ah0, bl8)) | 0;
    hi = (hi + Math.imul(ah0, bh8)) | 0;
    var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;
    w8 &= 0x3ffffff;
    /* k = 9 */
    lo = Math.imul(al9, bl0);
    mid = Math.imul(al9, bh0);
    mid = (mid + Math.imul(ah9, bl0)) | 0;
    hi = Math.imul(ah9, bh0);
    lo = (lo + Math.imul(al8, bl1)) | 0;
    mid = (mid + Math.imul(al8, bh1)) | 0;
    mid = (mid + Math.imul(ah8, bl1)) | 0;
    hi = (hi + Math.imul(ah8, bh1)) | 0;
    lo = (lo + Math.imul(al7, bl2)) | 0;
    mid = (mid + Math.imul(al7, bh2)) | 0;
    mid = (mid + Math.imul(ah7, bl2)) | 0;
    hi = (hi + Math.imul(ah7, bh2)) | 0;
    lo = (lo + Math.imul(al6, bl3)) | 0;
    mid = (mid + Math.imul(al6, bh3)) | 0;
    mid = (mid + Math.imul(ah6, bl3)) | 0;
    hi = (hi + Math.imul(ah6, bh3)) | 0;
    lo = (lo + Math.imul(al5, bl4)) | 0;
    mid = (mid + Math.imul(al5, bh4)) | 0;
    mid = (mid + Math.imul(ah5, bl4)) | 0;
    hi = (hi + Math.imul(ah5, bh4)) | 0;
    lo = (lo + Math.imul(al4, bl5)) | 0;
    mid = (mid + Math.imul(al4, bh5)) | 0;
    mid = (mid + Math.imul(ah4, bl5)) | 0;
    hi = (hi + Math.imul(ah4, bh5)) | 0;
    lo = (lo + Math.imul(al3, bl6)) | 0;
    mid = (mid + Math.imul(al3, bh6)) | 0;
    mid = (mid + Math.imul(ah3, bl6)) | 0;
    hi = (hi + Math.imul(ah3, bh6)) | 0;
    lo = (lo + Math.imul(al2, bl7)) | 0;
    mid = (mid + Math.imul(al2, bh7)) | 0;
    mid = (mid + Math.imul(ah2, bl7)) | 0;
    hi = (hi + Math.imul(ah2, bh7)) | 0;
    lo = (lo + Math.imul(al1, bl8)) | 0;
    mid = (mid + Math.imul(al1, bh8)) | 0;
    mid = (mid + Math.imul(ah1, bl8)) | 0;
    hi = (hi + Math.imul(ah1, bh8)) | 0;
    lo = (lo + Math.imul(al0, bl9)) | 0;
    mid = (mid + Math.imul(al0, bh9)) | 0;
    mid = (mid + Math.imul(ah0, bl9)) | 0;
    hi = (hi + Math.imul(ah0, bh9)) | 0;
    var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;
    w9 &= 0x3ffffff;
    /* k = 10 */
    lo = Math.imul(al9, bl1);
    mid = Math.imul(al9, bh1);
    mid = (mid + Math.imul(ah9, bl1)) | 0;
    hi = Math.imul(ah9, bh1);
    lo = (lo + Math.imul(al8, bl2)) | 0;
    mid = (mid + Math.imul(al8, bh2)) | 0;
    mid = (mid + Math.imul(ah8, bl2)) | 0;
    hi = (hi + Math.imul(ah8, bh2)) | 0;
    lo = (lo + Math.imul(al7, bl3)) | 0;
    mid = (mid + Math.imul(al7, bh3)) | 0;
    mid = (mid + Math.imul(ah7, bl3)) | 0;
    hi = (hi + Math.imul(ah7, bh3)) | 0;
    lo = (lo + Math.imul(al6, bl4)) | 0;
    mid = (mid + Math.imul(al6, bh4)) | 0;
    mid = (mid + Math.imul(ah6, bl4)) | 0;
    hi = (hi + Math.imul(ah6, bh4)) | 0;
    lo = (lo + Math.imul(al5, bl5)) | 0;
    mid = (mid + Math.imul(al5, bh5)) | 0;
    mid = (mid + Math.imul(ah5, bl5)) | 0;
    hi = (hi + Math.imul(ah5, bh5)) | 0;
    lo = (lo + Math.imul(al4, bl6)) | 0;
    mid = (mid + Math.imul(al4, bh6)) | 0;
    mid = (mid + Math.imul(ah4, bl6)) | 0;
    hi = (hi + Math.imul(ah4, bh6)) | 0;
    lo = (lo + Math.imul(al3, bl7)) | 0;
    mid = (mid + Math.imul(al3, bh7)) | 0;
    mid = (mid + Math.imul(ah3, bl7)) | 0;
    hi = (hi + Math.imul(ah3, bh7)) | 0;
    lo = (lo + Math.imul(al2, bl8)) | 0;
    mid = (mid + Math.imul(al2, bh8)) | 0;
    mid = (mid + Math.imul(ah2, bl8)) | 0;
    hi = (hi + Math.imul(ah2, bh8)) | 0;
    lo = (lo + Math.imul(al1, bl9)) | 0;
    mid = (mid + Math.imul(al1, bh9)) | 0;
    mid = (mid + Math.imul(ah1, bl9)) | 0;
    hi = (hi + Math.imul(ah1, bh9)) | 0;
    var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;
    w10 &= 0x3ffffff;
    /* k = 11 */
    lo = Math.imul(al9, bl2);
    mid = Math.imul(al9, bh2);
    mid = (mid + Math.imul(ah9, bl2)) | 0;
    hi = Math.imul(ah9, bh2);
    lo = (lo + Math.imul(al8, bl3)) | 0;
    mid = (mid + Math.imul(al8, bh3)) | 0;
    mid = (mid + Math.imul(ah8, bl3)) | 0;
    hi = (hi + Math.imul(ah8, bh3)) | 0;
    lo = (lo + Math.imul(al7, bl4)) | 0;
    mid = (mid + Math.imul(al7, bh4)) | 0;
    mid = (mid + Math.imul(ah7, bl4)) | 0;
    hi = (hi + Math.imul(ah7, bh4)) | 0;
    lo = (lo + Math.imul(al6, bl5)) | 0;
    mid = (mid + Math.imul(al6, bh5)) | 0;
    mid = (mid + Math.imul(ah6, bl5)) | 0;
    hi = (hi + Math.imul(ah6, bh5)) | 0;
    lo = (lo + Math.imul(al5, bl6)) | 0;
    mid = (mid + Math.imul(al5, bh6)) | 0;
    mid = (mid + Math.imul(ah5, bl6)) | 0;
    hi = (hi + Math.imul(ah5, bh6)) | 0;
    lo = (lo + Math.imul(al4, bl7)) | 0;
    mid = (mid + Math.imul(al4, bh7)) | 0;
    mid = (mid + Math.imul(ah4, bl7)) | 0;
    hi = (hi + Math.imul(ah4, bh7)) | 0;
    lo = (lo + Math.imul(al3, bl8)) | 0;
    mid = (mid + Math.imul(al3, bh8)) | 0;
    mid = (mid + Math.imul(ah3, bl8)) | 0;
    hi = (hi + Math.imul(ah3, bh8)) | 0;
    lo = (lo + Math.imul(al2, bl9)) | 0;
    mid = (mid + Math.imul(al2, bh9)) | 0;
    mid = (mid + Math.imul(ah2, bl9)) | 0;
    hi = (hi + Math.imul(ah2, bh9)) | 0;
    var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;
    w11 &= 0x3ffffff;
    /* k = 12 */
    lo = Math.imul(al9, bl3);
    mid = Math.imul(al9, bh3);
    mid = (mid + Math.imul(ah9, bl3)) | 0;
    hi = Math.imul(ah9, bh3);
    lo = (lo + Math.imul(al8, bl4)) | 0;
    mid = (mid + Math.imul(al8, bh4)) | 0;
    mid = (mid + Math.imul(ah8, bl4)) | 0;
    hi = (hi + Math.imul(ah8, bh4)) | 0;
    lo = (lo + Math.imul(al7, bl5)) | 0;
    mid = (mid + Math.imul(al7, bh5)) | 0;
    mid = (mid + Math.imul(ah7, bl5)) | 0;
    hi = (hi + Math.imul(ah7, bh5)) | 0;
    lo = (lo + Math.imul(al6, bl6)) | 0;
    mid = (mid + Math.imul(al6, bh6)) | 0;
    mid = (mid + Math.imul(ah6, bl6)) | 0;
    hi = (hi + Math.imul(ah6, bh6)) | 0;
    lo = (lo + Math.imul(al5, bl7)) | 0;
    mid = (mid + Math.imul(al5, bh7)) | 0;
    mid = (mid + Math.imul(ah5, bl7)) | 0;
    hi = (hi + Math.imul(ah5, bh7)) | 0;
    lo = (lo + Math.imul(al4, bl8)) | 0;
    mid = (mid + Math.imul(al4, bh8)) | 0;
    mid = (mid + Math.imul(ah4, bl8)) | 0;
    hi = (hi + Math.imul(ah4, bh8)) | 0;
    lo = (lo + Math.imul(al3, bl9)) | 0;
    mid = (mid + Math.imul(al3, bh9)) | 0;
    mid = (mid + Math.imul(ah3, bl9)) | 0;
    hi = (hi + Math.imul(ah3, bh9)) | 0;
    var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;
    w12 &= 0x3ffffff;
    /* k = 13 */
    lo = Math.imul(al9, bl4);
    mid = Math.imul(al9, bh4);
    mid = (mid + Math.imul(ah9, bl4)) | 0;
    hi = Math.imul(ah9, bh4);
    lo = (lo + Math.imul(al8, bl5)) | 0;
    mid = (mid + Math.imul(al8, bh5)) | 0;
    mid = (mid + Math.imul(ah8, bl5)) | 0;
    hi = (hi + Math.imul(ah8, bh5)) | 0;
    lo = (lo + Math.imul(al7, bl6)) | 0;
    mid = (mid + Math.imul(al7, bh6)) | 0;
    mid = (mid + Math.imul(ah7, bl6)) | 0;
    hi = (hi + Math.imul(ah7, bh6)) | 0;
    lo = (lo + Math.imul(al6, bl7)) | 0;
    mid = (mid + Math.imul(al6, bh7)) | 0;
    mid = (mid + Math.imul(ah6, bl7)) | 0;
    hi = (hi + Math.imul(ah6, bh7)) | 0;
    lo = (lo + Math.imul(al5, bl8)) | 0;
    mid = (mid + Math.imul(al5, bh8)) | 0;
    mid = (mid + Math.imul(ah5, bl8)) | 0;
    hi = (hi + Math.imul(ah5, bh8)) | 0;
    lo = (lo + Math.imul(al4, bl9)) | 0;
    mid = (mid + Math.imul(al4, bh9)) | 0;
    mid = (mid + Math.imul(ah4, bl9)) | 0;
    hi = (hi + Math.imul(ah4, bh9)) | 0;
    var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;
    w13 &= 0x3ffffff;
    /* k = 14 */
    lo = Math.imul(al9, bl5);
    mid = Math.imul(al9, bh5);
    mid = (mid + Math.imul(ah9, bl5)) | 0;
    hi = Math.imul(ah9, bh5);
    lo = (lo + Math.imul(al8, bl6)) | 0;
    mid = (mid + Math.imul(al8, bh6)) | 0;
    mid = (mid + Math.imul(ah8, bl6)) | 0;
    hi = (hi + Math.imul(ah8, bh6)) | 0;
    lo = (lo + Math.imul(al7, bl7)) | 0;
    mid = (mid + Math.imul(al7, bh7)) | 0;
    mid = (mid + Math.imul(ah7, bl7)) | 0;
    hi = (hi + Math.imul(ah7, bh7)) | 0;
    lo = (lo + Math.imul(al6, bl8)) | 0;
    mid = (mid + Math.imul(al6, bh8)) | 0;
    mid = (mid + Math.imul(ah6, bl8)) | 0;
    hi = (hi + Math.imul(ah6, bh8)) | 0;
    lo = (lo + Math.imul(al5, bl9)) | 0;
    mid = (mid + Math.imul(al5, bh9)) | 0;
    mid = (mid + Math.imul(ah5, bl9)) | 0;
    hi = (hi + Math.imul(ah5, bh9)) | 0;
    var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;
    w14 &= 0x3ffffff;
    /* k = 15 */
    lo = Math.imul(al9, bl6);
    mid = Math.imul(al9, bh6);
    mid = (mid + Math.imul(ah9, bl6)) | 0;
    hi = Math.imul(ah9, bh6);
    lo = (lo + Math.imul(al8, bl7)) | 0;
    mid = (mid + Math.imul(al8, bh7)) | 0;
    mid = (mid + Math.imul(ah8, bl7)) | 0;
    hi = (hi + Math.imul(ah8, bh7)) | 0;
    lo = (lo + Math.imul(al7, bl8)) | 0;
    mid = (mid + Math.imul(al7, bh8)) | 0;
    mid = (mid + Math.imul(ah7, bl8)) | 0;
    hi = (hi + Math.imul(ah7, bh8)) | 0;
    lo = (lo + Math.imul(al6, bl9)) | 0;
    mid = (mid + Math.imul(al6, bh9)) | 0;
    mid = (mid + Math.imul(ah6, bl9)) | 0;
    hi = (hi + Math.imul(ah6, bh9)) | 0;
    var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;
    w15 &= 0x3ffffff;
    /* k = 16 */
    lo = Math.imul(al9, bl7);
    mid = Math.imul(al9, bh7);
    mid = (mid + Math.imul(ah9, bl7)) | 0;
    hi = Math.imul(ah9, bh7);
    lo = (lo + Math.imul(al8, bl8)) | 0;
    mid = (mid + Math.imul(al8, bh8)) | 0;
    mid = (mid + Math.imul(ah8, bl8)) | 0;
    hi = (hi + Math.imul(ah8, bh8)) | 0;
    lo = (lo + Math.imul(al7, bl9)) | 0;
    mid = (mid + Math.imul(al7, bh9)) | 0;
    mid = (mid + Math.imul(ah7, bl9)) | 0;
    hi = (hi + Math.imul(ah7, bh9)) | 0;
    var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;
    w16 &= 0x3ffffff;
    /* k = 17 */
    lo = Math.imul(al9, bl8);
    mid = Math.imul(al9, bh8);
    mid = (mid + Math.imul(ah9, bl8)) | 0;
    hi = Math.imul(ah9, bh8);
    lo = (lo + Math.imul(al8, bl9)) | 0;
    mid = (mid + Math.imul(al8, bh9)) | 0;
    mid = (mid + Math.imul(ah8, bl9)) | 0;
    hi = (hi + Math.imul(ah8, bh9)) | 0;
    var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;
    w17 &= 0x3ffffff;
    /* k = 18 */
    lo = Math.imul(al9, bl9);
    mid = Math.imul(al9, bh9);
    mid = (mid + Math.imul(ah9, bl9)) | 0;
    hi = Math.imul(ah9, bh9);
    var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
    c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;
    w18 &= 0x3ffffff;
    o[0] = w0;
    o[1] = w1;
    o[2] = w2;
    o[3] = w3;
    o[4] = w4;
    o[5] = w5;
    o[6] = w6;
    o[7] = w7;
    o[8] = w8;
    o[9] = w9;
    o[10] = w10;
    o[11] = w11;
    o[12] = w12;
    o[13] = w13;
    o[14] = w14;
    o[15] = w15;
    o[16] = w16;
    o[17] = w17;
    o[18] = w18;
    if (c !== 0) {
      o[19] = c;
      out.length++;
    }
    return out;
  };

  // Polyfill comb
  if (!Math.imul) {
    comb10MulTo = smallMulTo;
  }

  function bigMulTo (self, num, out) {
    out.negative = num.negative ^ self.negative;
    out.length = self.length + num.length;

    var carry = 0;
    var hncarry = 0;
    for (var k = 0; k < out.length - 1; k++) {
      // Sum all words with the same `i + j = k` and accumulate `ncarry`,
      // note that ncarry could be >= 0x3ffffff
      var ncarry = hncarry;
      hncarry = 0;
      var rword = carry & 0x3ffffff;
      var maxJ = Math.min(k, num.length - 1);
      for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {
        var i = k - j;
        var a = self.words[i] | 0;
        var b = num.words[j] | 0;
        var r = a * b;

        var lo = r & 0x3ffffff;
        ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;
        lo = (lo + rword) | 0;
        rword = lo & 0x3ffffff;
        ncarry = (ncarry + (lo >>> 26)) | 0;

        hncarry += ncarry >>> 26;
        ncarry &= 0x3ffffff;
      }
      out.words[k] = rword;
      carry = ncarry;
      ncarry = hncarry;
    }
    if (carry !== 0) {
      out.words[k] = carry;
    } else {
      out.length--;
    }

    return out.strip();
  }

  function jumboMulTo (self, num, out) {
    var fftm = new FFTM();
    return fftm.mulp(self, num, out);
  }

  BN.prototype.mulTo = function mulTo (num, out) {
    var res;
    var len = this.length + num.length;
    if (this.length === 10 && num.length === 10) {
      res = comb10MulTo(this, num, out);
    } else if (len < 63) {
      res = smallMulTo(this, num, out);
    } else if (len < 1024) {
      res = bigMulTo(this, num, out);
    } else {
      res = jumboMulTo(this, num, out);
    }

    return res;
  };

  // Cooley-Tukey algorithm for FFT
  // slightly revisited to rely on looping instead of recursion

  function FFTM (x, y) {
    this.x = x;
    this.y = y;
  }

  FFTM.prototype.makeRBT = function makeRBT (N) {
    var t = new Array(N);
    var l = BN.prototype._countBits(N) - 1;
    for (var i = 0; i < N; i++) {
      t[i] = this.revBin(i, l, N);
    }

    return t;
  };

  // Returns binary-reversed representation of `x`
  FFTM.prototype.revBin = function revBin (x, l, N) {
    if (x === 0 || x === N - 1) return x;

    var rb = 0;
    for (var i = 0; i < l; i++) {
      rb |= (x & 1) << (l - i - 1);
      x >>= 1;
    }

    return rb;
  };

  // Performs "tweedling" phase, therefore 'emulating'
  // behaviour of the recursive algorithm
  FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {
    for (var i = 0; i < N; i++) {
      rtws[i] = rws[rbt[i]];
      itws[i] = iws[rbt[i]];
    }
  };

  FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {
    this.permute(rbt, rws, iws, rtws, itws, N);

    for (var s = 1; s < N; s <<= 1) {
      var l = s << 1;

      var rtwdf = Math.cos(2 * Math.PI / l);
      var itwdf = Math.sin(2 * Math.PI / l);

      for (var p = 0; p < N; p += l) {
        var rtwdf_ = rtwdf;
        var itwdf_ = itwdf;

        for (var j = 0; j < s; j++) {
          var re = rtws[p + j];
          var ie = itws[p + j];

          var ro = rtws[p + j + s];
          var io = itws[p + j + s];

          var rx = rtwdf_ * ro - itwdf_ * io;

          io = rtwdf_ * io + itwdf_ * ro;
          ro = rx;

          rtws[p + j] = re + ro;
          itws[p + j] = ie + io;

          rtws[p + j + s] = re - ro;
          itws[p + j + s] = ie - io;

          /* jshint maxdepth : false */
          if (j !== l) {
            rx = rtwdf * rtwdf_ - itwdf * itwdf_;

            itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;
            rtwdf_ = rx;
          }
        }
      }
    }
  };

  FFTM.prototype.guessLen13b = function guessLen13b (n, m) {
    var N = Math.max(m, n) | 1;
    var odd = N & 1;
    var i = 0;
    for (N = N / 2 | 0; N; N = N >>> 1) {
      i++;
    }

    return 1 << i + 1 + odd;
  };

  FFTM.prototype.conjugate = function conjugate (rws, iws, N) {
    if (N <= 1) return;

    for (var i = 0; i < N / 2; i++) {
      var t = rws[i];

      rws[i] = rws[N - i - 1];
      rws[N - i - 1] = t;

      t = iws[i];

      iws[i] = -iws[N - i - 1];
      iws[N - i - 1] = -t;
    }
  };

  FFTM.prototype.normalize13b = function normalize13b (ws, N) {
    var carry = 0;
    for (var i = 0; i < N / 2; i++) {
      var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +
        Math.round(ws[2 * i] / N) +
        carry;

      ws[i] = w & 0x3ffffff;

      if (w < 0x4000000) {
        carry = 0;
      } else {
        carry = w / 0x4000000 | 0;
      }
    }

    return ws;
  };

  FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {
    var carry = 0;
    for (var i = 0; i < len; i++) {
      carry = carry + (ws[i] | 0);

      rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;
      rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;
    }

    // Pad with zeroes
    for (i = 2 * len; i < N; ++i) {
      rws[i] = 0;
    }

    assert(carry === 0);
    assert((carry & ~0x1fff) === 0);
  };

  FFTM.prototype.stub = function stub (N) {
    var ph = new Array(N);
    for (var i = 0; i < N; i++) {
      ph[i] = 0;
    }

    return ph;
  };

  FFTM.prototype.mulp = function mulp (x, y, out) {
    var N = 2 * this.guessLen13b(x.length, y.length);

    var rbt = this.makeRBT(N);

    var _ = this.stub(N);

    var rws = new Array(N);
    var rwst = new Array(N);
    var iwst = new Array(N);

    var nrws = new Array(N);
    var nrwst = new Array(N);
    var niwst = new Array(N);

    var rmws = out.words;
    rmws.length = N;

    this.convert13b(x.words, x.length, rws, N);
    this.convert13b(y.words, y.length, nrws, N);

    this.transform(rws, _, rwst, iwst, N, rbt);
    this.transform(nrws, _, nrwst, niwst, N, rbt);

    for (var i = 0; i < N; i++) {
      var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];
      iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];
      rwst[i] = rx;
    }

    this.conjugate(rwst, iwst, N);
    this.transform(rwst, iwst, rmws, _, N, rbt);
    this.conjugate(rmws, _, N);
    this.normalize13b(rmws, N);

    out.negative = x.negative ^ y.negative;
    out.length = x.length + y.length;
    return out.strip();
  };

  // Multiply `this` by `num`
  BN.prototype.mul = function mul (num) {
    var out = new BN(null);
    out.words = new Array(this.length + num.length);
    return this.mulTo(num, out);
  };

  // Multiply employing FFT
  BN.prototype.mulf = function mulf (num) {
    var out = new BN(null);
    out.words = new Array(this.length + num.length);
    return jumboMulTo(this, num, out);
  };

  // In-place Multiplication
  BN.prototype.imul = function imul (num) {
    return this.clone().mulTo(num, this);
  };

  BN.prototype.imuln = function imuln (num) {
    assert(typeof num === 'number');
    assert(num < 0x4000000);

    // Carry
    var carry = 0;
    for (var i = 0; i < this.length; i++) {
      var w = (this.words[i] | 0) * num;
      var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);
      carry >>= 26;
      carry += (w / 0x4000000) | 0;
      // NOTE: lo is 27bit maximum
      carry += lo >>> 26;
      this.words[i] = lo & 0x3ffffff;
    }

    if (carry !== 0) {
      this.words[i] = carry;
      this.length++;
    }

    return this;
  };

  BN.prototype.muln = function muln (num) {
    return this.clone().imuln(num);
  };

  // `this` * `this`
  BN.prototype.sqr = function sqr () {
    return this.mul(this);
  };

  // `this` * `this` in-place
  BN.prototype.isqr = function isqr () {
    return this.imul(this.clone());
  };

  // Math.pow(`this`, `num`)
  BN.prototype.pow = function pow (num) {
    var w = toBitArray(num);
    if (w.length === 0) return new BN(1);

    // Skip leading zeroes
    var res = this;
    for (var i = 0; i < w.length; i++, res = res.sqr()) {
      if (w[i] !== 0) break;
    }

    if (++i < w.length) {
      for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {
        if (w[i] === 0) continue;

        res = res.mul(q);
      }
    }

    return res;
  };

  // Shift-left in-place
  BN.prototype.iushln = function iushln (bits) {
    assert(typeof bits === 'number' && bits >= 0);
    var r = bits % 26;
    var s = (bits - r) / 26;
    var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);
    var i;

    if (r !== 0) {
      var carry = 0;

      for (i = 0; i < this.length; i++) {
        var newCarry = this.words[i] & carryMask;
        var c = ((this.words[i] | 0) - newCarry) << r;
        this.words[i] = c | carry;
        carry = newCarry >>> (26 - r);
      }

      if (carry) {
        this.words[i] = carry;
        this.length++;
      }
    }

    if (s !== 0) {
      for (i = this.length - 1; i >= 0; i--) {
        this.words[i + s] = this.words[i];
      }

      for (i = 0; i < s; i++) {
        this.words[i] = 0;
      }

      this.length += s;
    }

    return this.strip();
  };

  BN.prototype.ishln = function ishln (bits) {
    // TODO(indutny): implement me
    assert(this.negative === 0);
    return this.iushln(bits);
  };

  // Shift-right in-place
  // NOTE: `hint` is a lowest bit before trailing zeroes
  // NOTE: if `extended` is present - it will be filled with destroyed bits
  BN.prototype.iushrn = function iushrn (bits, hint, extended) {
    assert(typeof bits === 'number' && bits >= 0);
    var h;
    if (hint) {
      h = (hint - (hint % 26)) / 26;
    } else {
      h = 0;
    }

    var r = bits % 26;
    var s = Math.min((bits - r) / 26, this.length);
    var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);
    var maskedWords = extended;

    h -= s;
    h = Math.max(0, h);

    // Extended mode, copy masked part
    if (maskedWords) {
      for (var i = 0; i < s; i++) {
        maskedWords.words[i] = this.words[i];
      }
      maskedWords.length = s;
    }

    if (s === 0) {
      // No-op, we should not move anything at all
    } else if (this.length > s) {
      this.length -= s;
      for (i = 0; i < this.length; i++) {
        this.words[i] = this.words[i + s];
      }
    } else {
      this.words[0] = 0;
      this.length = 1;
    }

    var carry = 0;
    for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {
      var word = this.words[i] | 0;
      this.words[i] = (carry << (26 - r)) | (word >>> r);
      carry = word & mask;
    }

    // Push carried bits as a mask
    if (maskedWords && carry !== 0) {
      maskedWords.words[maskedWords.length++] = carry;
    }

    if (this.length === 0) {
      this.words[0] = 0;
      this.length = 1;
    }

    return this.strip();
  };

  BN.prototype.ishrn = function ishrn (bits, hint, extended) {
    // TODO(indutny): implement me
    assert(this.negative === 0);
    return this.iushrn(bits, hint, extended);
  };

  // Shift-left
  BN.prototype.shln = function shln (bits) {
    return this.clone().ishln(bits);
  };

  BN.prototype.ushln = function ushln (bits) {
    return this.clone().iushln(bits);
  };

  // Shift-right
  BN.prototype.shrn = function shrn (bits) {
    return this.clone().ishrn(bits);
  };

  BN.prototype.ushrn = function ushrn (bits) {
    return this.clone().iushrn(bits);
  };

  // Test if n bit is set
  BN.prototype.testn = function testn (bit) {
    assert(typeof bit === 'number' && bit >= 0);
    var r = bit % 26;
    var s = (bit - r) / 26;
    var q = 1 << r;

    // Fast case: bit is much higher than all existing words
    if (this.length <= s) return false;

    // Check bit and return
    var w = this.words[s];

    return !!(w & q);
  };

  // Return only lowers bits of number (in-place)
  BN.prototype.imaskn = function imaskn (bits) {
    assert(typeof bits === 'number' && bits >= 0);
    var r = bits % 26;
    var s = (bits - r) / 26;

    assert(this.negative === 0, 'imaskn works only with positive numbers');

    if (this.length <= s) {
      return this;
    }

    if (r !== 0) {
      s++;
    }
    this.length = Math.min(s, this.length);

    if (r !== 0) {
      var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);
      this.words[this.length - 1] &= mask;
    }

    return this.strip();
  };

  // Return only lowers bits of number
  BN.prototype.maskn = function maskn (bits) {
    return this.clone().imaskn(bits);
  };

  // Add plain number `num` to `this`
  BN.prototype.iaddn = function iaddn (num) {
    assert(typeof num === 'number');
    assert(num < 0x4000000);
    if (num < 0) return this.isubn(-num);

    // Possible sign change
    if (this.negative !== 0) {
      if (this.length === 1 && (this.words[0] | 0) < num) {
        this.words[0] = num - (this.words[0] | 0);
        this.negative = 0;
        return this;
      }

      this.negative = 0;
      this.isubn(num);
      this.negative = 1;
      return this;
    }

    // Add without checks
    return this._iaddn(num);
  };

  BN.prototype._iaddn = function _iaddn (num) {
    this.words[0] += num;

    // Carry
    for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {
      this.words[i] -= 0x4000000;
      if (i === this.length - 1) {
        this.words[i + 1] = 1;
      } else {
        this.words[i + 1]++;
      }
    }
    this.length = Math.max(this.length, i + 1);

    return this;
  };

  // Subtract plain number `num` from `this`
  BN.prototype.isubn = function isubn (num) {
    assert(typeof num === 'number');
    assert(num < 0x4000000);
    if (num < 0) return this.iaddn(-num);

    if (this.negative !== 0) {
      this.negative = 0;
      this.iaddn(num);
      this.negative = 1;
      return this;
    }

    this.words[0] -= num;

    if (this.length === 1 && this.words[0] < 0) {
      this.words[0] = -this.words[0];
      this.negative = 1;
    } else {
      // Carry
      for (var i = 0; i < this.length && this.words[i] < 0; i++) {
        this.words[i] += 0x4000000;
        this.words[i + 1] -= 1;
      }
    }

    return this.strip();
  };

  BN.prototype.addn = function addn (num) {
    return this.clone().iaddn(num);
  };

  BN.prototype.subn = function subn (num) {
    return this.clone().isubn(num);
  };

  BN.prototype.iabs = function iabs () {
    this.negative = 0;

    return this;
  };

  BN.prototype.abs = function abs () {
    return this.clone().iabs();
  };

  BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {
    var len = num.length + shift;
    var i;

    this._expand(len);

    var w;
    var carry = 0;
    for (i = 0; i < num.length; i++) {
      w = (this.words[i + shift] | 0) + carry;
      var right = (num.words[i] | 0) * mul;
      w -= right & 0x3ffffff;
      carry = (w >> 26) - ((right / 0x4000000) | 0);
      this.words[i + shift] = w & 0x3ffffff;
    }
    for (; i < this.length - shift; i++) {
      w = (this.words[i + shift] | 0) + carry;
      carry = w >> 26;
      this.words[i + shift] = w & 0x3ffffff;
    }

    if (carry === 0) return this.strip();

    // Subtraction overflow
    assert(carry === -1);
    carry = 0;
    for (i = 0; i < this.length; i++) {
      w = -(this.words[i] | 0) + carry;
      carry = w >> 26;
      this.words[i] = w & 0x3ffffff;
    }
    this.negative = 1;

    return this.strip();
  };

  BN.prototype._wordDiv = function _wordDiv (num, mode) {
    var shift = this.length - num.length;

    var a = this.clone();
    var b = num;

    // Normalize
    var bhi = b.words[b.length - 1] | 0;
    var bhiBits = this._countBits(bhi);
    shift = 26 - bhiBits;
    if (shift !== 0) {
      b = b.ushln(shift);
      a.iushln(shift);
      bhi = b.words[b.length - 1] | 0;
    }

    // Initialize quotient
    var m = a.length - b.length;
    var q;

    if (mode !== 'mod') {
      q = new BN(null);
      q.length = m + 1;
      q.words = new Array(q.length);
      for (var i = 0; i < q.length; i++) {
        q.words[i] = 0;
      }
    }

    var diff = a.clone()._ishlnsubmul(b, 1, m);
    if (diff.negative === 0) {
      a = diff;
      if (q) {
        q.words[m] = 1;
      }
    }

    for (var j = m - 1; j >= 0; j--) {
      var qj = (a.words[b.length + j] | 0) * 0x4000000 +
        (a.words[b.length + j - 1] | 0);

      // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max
      // (0x7ffffff)
      qj = Math.min((qj / bhi) | 0, 0x3ffffff);

      a._ishlnsubmul(b, qj, j);
      while (a.negative !== 0) {
        qj--;
        a.negative = 0;
        a._ishlnsubmul(b, 1, j);
        if (!a.isZero()) {
          a.negative ^= 1;
        }
      }
      if (q) {
        q.words[j] = qj;
      }
    }
    if (q) {
      q.strip();
    }
    a.strip();

    // Denormalize
    if (mode !== 'div' && shift !== 0) {
      a.iushrn(shift);
    }

    return {
      div: q || null,
      mod: a
    };
  };

  // NOTE: 1) `mode` can be set to `mod` to request mod only,
  //       to `div` to request div only, or be absent to
  //       request both div & mod
  //       2) `positive` is true if unsigned mod is requested
  BN.prototype.divmod = function divmod (num, mode, positive) {
    assert(!num.isZero());

    if (this.isZero()) {
      return {
        div: new BN(0),
        mod: new BN(0)
      };
    }

    var div, mod, res;
    if (this.negative !== 0 && num.negative === 0) {
      res = this.neg().divmod(num, mode);

      if (mode !== 'mod') {
        div = res.div.neg();
      }

      if (mode !== 'div') {
        mod = res.mod.neg();
        if (positive && mod.negative !== 0) {
          mod.iadd(num);
        }
      }

      return {
        div: div,
        mod: mod
      };
    }

    if (this.negative === 0 && num.negative !== 0) {
      res = this.divmod(num.neg(), mode);

      if (mode !== 'mod') {
        div = res.div.neg();
      }

      return {
        div: div,
        mod: res.mod
      };
    }

    if ((this.negative & num.negative) !== 0) {
      res = this.neg().divmod(num.neg(), mode);

      if (mode !== 'div') {
        mod = res.mod.neg();
        if (positive && mod.negative !== 0) {
          mod.isub(num);
        }
      }

      return {
        div: res.div,
        mod: mod
      };
    }

    // Both numbers are positive at this point

    // Strip both numbers to approximate shift value
    if (num.length > this.length || this.cmp(num) < 0) {
      return {
        div: new BN(0),
        mod: this
      };
    }

    // Very short reduction
    if (num.length === 1) {
      if (mode === 'div') {
        return {
          div: this.divn(num.words[0]),
          mod: null
        };
      }

      if (mode === 'mod') {
        return {
          div: null,
          mod: new BN(this.modn(num.words[0]))
        };
      }

      return {
        div: this.divn(num.words[0]),
        mod: new BN(this.modn(num.words[0]))
      };
    }

    return this._wordDiv(num, mode);
  };

  // Find `this` / `num`
  BN.prototype.div = function div (num) {
    return this.divmod(num, 'div', false).div;
  };

  // Find `this` % `num`
  BN.prototype.mod = function mod (num) {
    return this.divmod(num, 'mod', false).mod;
  };

  BN.prototype.umod = function umod (num) {
    return this.divmod(num, 'mod', true).mod;
  };

  // Find Round(`this` / `num`)
  BN.prototype.divRound = function divRound (num) {
    var dm = this.divmod(num);

    // Fast case - exact division
    if (dm.mod.isZero()) return dm.div;

    var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;

    var half = num.ushrn(1);
    var r2 = num.andln(1);
    var cmp = mod.cmp(half);

    // Round down
    if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;

    // Round up
    return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);
  };

  BN.prototype.modn = function modn (num) {
    assert(num <= 0x3ffffff);
    var p = (1 << 26) % num;

    var acc = 0;
    for (var i = this.length - 1; i >= 0; i--) {
      acc = (p * acc + (this.words[i] | 0)) % num;
    }

    return acc;
  };

  // In-place division by number
  BN.prototype.idivn = function idivn (num) {
    assert(num <= 0x3ffffff);

    var carry = 0;
    for (var i = this.length - 1; i >= 0; i--) {
      var w = (this.words[i] | 0) + carry * 0x4000000;
      this.words[i] = (w / num) | 0;
      carry = w % num;
    }

    return this.strip();
  };

  BN.prototype.divn = function divn (num) {
    return this.clone().idivn(num);
  };

  BN.prototype.egcd = function egcd (p) {
    assert(p.negative === 0);
    assert(!p.isZero());

    var x = this;
    var y = p.clone();

    if (x.negative !== 0) {
      x = x.umod(p);
    } else {
      x = x.clone();
    }

    // A * x + B * y = x
    var A = new BN(1);
    var B = new BN(0);

    // C * x + D * y = y
    var C = new BN(0);
    var D = new BN(1);

    var g = 0;

    while (x.isEven() && y.isEven()) {
      x.iushrn(1);
      y.iushrn(1);
      ++g;
    }

    var yp = y.clone();
    var xp = x.clone();

    while (!x.isZero()) {
      for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);
      if (i > 0) {
        x.iushrn(i);
        while (i-- > 0) {
          if (A.isOdd() || B.isOdd()) {
            A.iadd(yp);
            B.isub(xp);
          }

          A.iushrn(1);
          B.iushrn(1);
        }
      }

      for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);
      if (j > 0) {
        y.iushrn(j);
        while (j-- > 0) {
          if (C.isOdd() || D.isOdd()) {
            C.iadd(yp);
            D.isub(xp);
          }

          C.iushrn(1);
          D.iushrn(1);
        }
      }

      if (x.cmp(y) >= 0) {
        x.isub(y);
        A.isub(C);
        B.isub(D);
      } else {
        y.isub(x);
        C.isub(A);
        D.isub(B);
      }
    }

    return {
      a: C,
      b: D,
      gcd: y.iushln(g)
    };
  };

  // This is reduced incarnation of the binary EEA
  // above, designated to invert members of the
  // _prime_ fields F(p) at a maximal speed
  BN.prototype._invmp = function _invmp (p) {
    assert(p.negative === 0);
    assert(!p.isZero());

    var a = this;
    var b = p.clone();

    if (a.negative !== 0) {
      a = a.umod(p);
    } else {
      a = a.clone();
    }

    var x1 = new BN(1);
    var x2 = new BN(0);

    var delta = b.clone();

    while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {
      for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);
      if (i > 0) {
        a.iushrn(i);
        while (i-- > 0) {
          if (x1.isOdd()) {
            x1.iadd(delta);
          }

          x1.iushrn(1);
        }
      }

      for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);
      if (j > 0) {
        b.iushrn(j);
        while (j-- > 0) {
          if (x2.isOdd()) {
            x2.iadd(delta);
          }

          x2.iushrn(1);
        }
      }

      if (a.cmp(b) >= 0) {
        a.isub(b);
        x1.isub(x2);
      } else {
        b.isub(a);
        x2.isub(x1);
      }
    }

    var res;
    if (a.cmpn(1) === 0) {
      res = x1;
    } else {
      res = x2;
    }

    if (res.cmpn(0) < 0) {
      res.iadd(p);
    }

    return res;
  };

  BN.prototype.gcd = function gcd (num) {
    if (this.isZero()) return num.abs();
    if (num.isZero()) return this.abs();

    var a = this.clone();
    var b = num.clone();
    a.negative = 0;
    b.negative = 0;

    // Remove common factor of two
    for (var shift = 0; a.isEven() && b.isEven(); shift++) {
      a.iushrn(1);
      b.iushrn(1);
    }

    do {
      while (a.isEven()) {
        a.iushrn(1);
      }
      while (b.isEven()) {
        b.iushrn(1);
      }

      var r = a.cmp(b);
      if (r < 0) {
        // Swap `a` and `b` to make `a` always bigger than `b`
        var t = a;
        a = b;
        b = t;
      } else if (r === 0 || b.cmpn(1) === 0) {
        break;
      }

      a.isub(b);
    } while (true);

    return b.iushln(shift);
  };

  // Invert number in the field F(num)
  BN.prototype.invm = function invm (num) {
    return this.egcd(num).a.umod(num);
  };

  BN.prototype.isEven = function isEven () {
    return (this.words[0] & 1) === 0;
  };

  BN.prototype.isOdd = function isOdd () {
    return (this.words[0] & 1) === 1;
  };

  // And first word and num
  BN.prototype.andln = function andln (num) {
    return this.words[0] & num;
  };

  // Increment at the bit position in-line
  BN.prototype.bincn = function bincn (bit) {
    assert(typeof bit === 'number');
    var r = bit % 26;
    var s = (bit - r) / 26;
    var q = 1 << r;

    // Fast case: bit is much higher than all existing words
    if (this.length <= s) {
      this._expand(s + 1);
      this.words[s] |= q;
      return this;
    }

    // Add bit and propagate, if needed
    var carry = q;
    for (var i = s; carry !== 0 && i < this.length; i++) {
      var w = this.words[i] | 0;
      w += carry;
      carry = w >>> 26;
      w &= 0x3ffffff;
      this.words[i] = w;
    }
    if (carry !== 0) {
      this.words[i] = carry;
      this.length++;
    }
    return this;
  };

  BN.prototype.isZero = function isZero () {
    return this.length === 1 && this.words[0] === 0;
  };

  BN.prototype.cmpn = function cmpn (num) {
    var negative = num < 0;

    if (this.negative !== 0 && !negative) return -1;
    if (this.negative === 0 && negative) return 1;

    this.strip();

    var res;
    if (this.length > 1) {
      res = 1;
    } else {
      if (negative) {
        num = -num;
      }

      assert(num <= 0x3ffffff, 'Number is too big');

      var w = this.words[0] | 0;
      res = w === num ? 0 : w < num ? -1 : 1;
    }
    if (this.negative !== 0) return -res | 0;
    return res;
  };

  // Compare two numbers and return:
  // 1 - if `this` > `num`
  // 0 - if `this` == `num`
  // -1 - if `this` < `num`
  BN.prototype.cmp = function cmp (num) {
    if (this.negative !== 0 && num.negative === 0) return -1;
    if (this.negative === 0 && num.negative !== 0) return 1;

    var res = this.ucmp(num);
    if (this.negative !== 0) return -res | 0;
    return res;
  };

  // Unsigned comparison
  BN.prototype.ucmp = function ucmp (num) {
    // At this point both numbers have the same sign
    if (this.length > num.length) return 1;
    if (this.length < num.length) return -1;

    var res = 0;
    for (var i = this.length - 1; i >= 0; i--) {
      var a = this.words[i] | 0;
      var b = num.words[i] | 0;

      if (a === b) continue;
      if (a < b) {
        res = -1;
      } else if (a > b) {
        res = 1;
      }
      break;
    }
    return res;
  };

  BN.prototype.gtn = function gtn (num) {
    return this.cmpn(num) === 1;
  };

  BN.prototype.gt = function gt (num) {
    return this.cmp(num) === 1;
  };

  BN.prototype.gten = function gten (num) {
    return this.cmpn(num) >= 0;
  };

  BN.prototype.gte = function gte (num) {
    return this.cmp(num) >= 0;
  };

  BN.prototype.ltn = function ltn (num) {
    return this.cmpn(num) === -1;
  };

  BN.prototype.lt = function lt (num) {
    return this.cmp(num) === -1;
  };

  BN.prototype.lten = function lten (num) {
    return this.cmpn(num) <= 0;
  };

  BN.prototype.lte = function lte (num) {
    return this.cmp(num) <= 0;
  };

  BN.prototype.eqn = function eqn (num) {
    return this.cmpn(num) === 0;
  };

  BN.prototype.eq = function eq (num) {
    return this.cmp(num) === 0;
  };

  //
  // A reduce context, could be using montgomery or something better, depending
  // on the `m` itself.
  //
  BN.red = function red (num) {
    return new Red(num);
  };

  BN.prototype.toRed = function toRed (ctx) {
    assert(!this.red, 'Already a number in reduction context');
    assert(this.negative === 0, 'red works only with positives');
    return ctx.convertTo(this)._forceRed(ctx);
  };

  BN.prototype.fromRed = function fromRed () {
    assert(this.red, 'fromRed works only with numbers in reduction context');
    return this.red.convertFrom(this);
  };

  BN.prototype._forceRed = function _forceRed (ctx) {
    this.red = ctx;
    return this;
  };

  BN.prototype.forceRed = function forceRed (ctx) {
    assert(!this.red, 'Already a number in reduction context');
    return this._forceRed(ctx);
  };

  BN.prototype.redAdd = function redAdd (num) {
    assert(this.red, 'redAdd works only with red numbers');
    return this.red.add(this, num);
  };

  BN.prototype.redIAdd = function redIAdd (num) {
    assert(this.red, 'redIAdd works only with red numbers');
    return this.red.iadd(this, num);
  };

  BN.prototype.redSub = function redSub (num) {
    assert(this.red, 'redSub works only with red numbers');
    return this.red.sub(this, num);
  };

  BN.prototype.redISub = function redISub (num) {
    assert(this.red, 'redISub works only with red numbers');
    return this.red.isub(this, num);
  };

  BN.prototype.redShl = function redShl (num) {
    assert(this.red, 'redShl works only with red numbers');
    return this.red.shl(this, num);
  };

  BN.prototype.redMul = function redMul (num) {
    assert(this.red, 'redMul works only with red numbers');
    this.red._verify2(this, num);
    return this.red.mul(this, num);
  };

  BN.prototype.redIMul = function redIMul (num) {
    assert(this.red, 'redMul works only with red numbers');
    this.red._verify2(this, num);
    return this.red.imul(this, num);
  };

  BN.prototype.redSqr = function redSqr () {
    assert(this.red, 'redSqr works only with red numbers');
    this.red._verify1(this);
    return this.red.sqr(this);
  };

  BN.prototype.redISqr = function redISqr () {
    assert(this.red, 'redISqr works only with red numbers');
    this.red._verify1(this);
    return this.red.isqr(this);
  };

  // Square root over p
  BN.prototype.redSqrt = function redSqrt () {
    assert(this.red, 'redSqrt works only with red numbers');
    this.red._verify1(this);
    return this.red.sqrt(this);
  };

  BN.prototype.redInvm = function redInvm () {
    assert(this.red, 'redInvm works only with red numbers');
    this.red._verify1(this);
    return this.red.invm(this);
  };

  // Return negative clone of `this` % `red modulo`
  BN.prototype.redNeg = function redNeg () {
    assert(this.red, 'redNeg works only with red numbers');
    this.red._verify1(this);
    return this.red.neg(this);
  };

  BN.prototype.redPow = function redPow (num) {
    assert(this.red && !num.red, 'redPow(normalNum)');
    this.red._verify1(this);
    return this.red.pow(this, num);
  };

  // Prime numbers with efficient reduction
  var primes = {
    k256: null,
    p224: null,
    p192: null,
    p25519: null
  };

  // Pseudo-Mersenne prime
  function MPrime (name, p) {
    // P = 2 ^ N - K
    this.name = name;
    this.p = new BN(p, 16);
    this.n = this.p.bitLength();
    this.k = new BN(1).iushln(this.n).isub(this.p);

    this.tmp = this._tmp();
  }

  MPrime.prototype._tmp = function _tmp () {
    var tmp = new BN(null);
    tmp.words = new Array(Math.ceil(this.n / 13));
    return tmp;
  };

  MPrime.prototype.ireduce = function ireduce (num) {
    // Assumes that `num` is less than `P^2`
    // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)
    var r = num;
    var rlen;

    do {
      this.split(r, this.tmp);
      r = this.imulK(r);
      r = r.iadd(this.tmp);
      rlen = r.bitLength();
    } while (rlen > this.n);

    var cmp = rlen < this.n ? -1 : r.ucmp(this.p);
    if (cmp === 0) {
      r.words[0] = 0;
      r.length = 1;
    } else if (cmp > 0) {
      r.isub(this.p);
    } else {
      r.strip();
    }

    return r;
  };

  MPrime.prototype.split = function split (input, out) {
    input.iushrn(this.n, 0, out);
  };

  MPrime.prototype.imulK = function imulK (num) {
    return num.imul(this.k);
  };

  function K256 () {
    MPrime.call(
      this,
      'k256',
      'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');
  }
  inherits(K256, MPrime);

  K256.prototype.split = function split (input, output) {
    // 256 = 9 * 26 + 22
    var mask = 0x3fffff;

    var outLen = Math.min(input.length, 9);
    for (var i = 0; i < outLen; i++) {
      output.words[i] = input.words[i];
    }
    output.length = outLen;

    if (input.length <= 9) {
      input.words[0] = 0;
      input.length = 1;
      return;
    }

    // Shift by 9 limbs
    var prev = input.words[9];
    output.words[output.length++] = prev & mask;

    for (i = 10; i < input.length; i++) {
      var next = input.words[i] | 0;
      input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);
      prev = next;
    }
    prev >>>= 22;
    input.words[i - 10] = prev;
    if (prev === 0 && input.length > 10) {
      input.length -= 10;
    } else {
      input.length -= 9;
    }
  };

  K256.prototype.imulK = function imulK (num) {
    // K = 0x1000003d1 = [ 0x40, 0x3d1 ]
    num.words[num.length] = 0;
    num.words[num.length + 1] = 0;
    num.length += 2;

    // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390
    var lo = 0;
    for (var i = 0; i < num.length; i++) {
      var w = num.words[i] | 0;
      lo += w * 0x3d1;
      num.words[i] = lo & 0x3ffffff;
      lo = w * 0x40 + ((lo / 0x4000000) | 0);
    }

    // Fast length reduction
    if (num.words[num.length - 1] === 0) {
      num.length--;
      if (num.words[num.length - 1] === 0) {
        num.length--;
      }
    }
    return num;
  };

  function P224 () {
    MPrime.call(
      this,
      'p224',
      'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');
  }
  inherits(P224, MPrime);

  function P192 () {
    MPrime.call(
      this,
      'p192',
      'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');
  }
  inherits(P192, MPrime);

  function P25519 () {
    // 2 ^ 255 - 19
    MPrime.call(
      this,
      '25519',
      '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');
  }
  inherits(P25519, MPrime);

  P25519.prototype.imulK = function imulK (num) {
    // K = 0x13
    var carry = 0;
    for (var i = 0; i < num.length; i++) {
      var hi = (num.words[i] | 0) * 0x13 + carry;
      var lo = hi & 0x3ffffff;
      hi >>>= 26;

      num.words[i] = lo;
      carry = hi;
    }
    if (carry !== 0) {
      num.words[num.length++] = carry;
    }
    return num;
  };

  // Exported mostly for testing purposes, use plain name instead
  BN._prime = function prime (name) {
    // Cached version of prime
    if (primes[name]) return primes[name];

    var prime;
    if (name === 'k256') {
      prime = new K256();
    } else if (name === 'p224') {
      prime = new P224();
    } else if (name === 'p192') {
      prime = new P192();
    } else if (name === 'p25519') {
      prime = new P25519();
    } else {
      throw new Error('Unknown prime ' + name);
    }
    primes[name] = prime;

    return prime;
  };

  //
  // Base reduction engine
  //
  function Red (m) {
    if (typeof m === 'string') {
      var prime = BN._prime(m);
      this.m = prime.p;
      this.prime = prime;
    } else {
      assert(m.gtn(1), 'modulus must be greater than 1');
      this.m = m;
      this.prime = null;
    }
  }

  Red.prototype._verify1 = function _verify1 (a) {
    assert(a.negative === 0, 'red works only with positives');
    assert(a.red, 'red works only with red numbers');
  };

  Red.prototype._verify2 = function _verify2 (a, b) {
    assert((a.negative | b.negative) === 0, 'red works only with positives');
    assert(a.red && a.red === b.red,
      'red works only with red numbers');
  };

  Red.prototype.imod = function imod (a) {
    if (this.prime) return this.prime.ireduce(a)._forceRed(this);
    return a.umod(this.m)._forceRed(this);
  };

  Red.prototype.neg = function neg (a) {
    if (a.isZero()) {
      return a.clone();
    }

    return this.m.sub(a)._forceRed(this);
  };

  Red.prototype.add = function add (a, b) {
    this._verify2(a, b);

    var res = a.add(b);
    if (res.cmp(this.m) >= 0) {
      res.isub(this.m);
    }
    return res._forceRed(this);
  };

  Red.prototype.iadd = function iadd (a, b) {
    this._verify2(a, b);

    var res = a.iadd(b);
    if (res.cmp(this.m) >= 0) {
      res.isub(this.m);
    }
    return res;
  };

  Red.prototype.sub = function sub (a, b) {
    this._verify2(a, b);

    var res = a.sub(b);
    if (res.cmpn(0) < 0) {
      res.iadd(this.m);
    }
    return res._forceRed(this);
  };

  Red.prototype.isub = function isub (a, b) {
    this._verify2(a, b);

    var res = a.isub(b);
    if (res.cmpn(0) < 0) {
      res.iadd(this.m);
    }
    return res;
  };

  Red.prototype.shl = function shl (a, num) {
    this._verify1(a);
    return this.imod(a.ushln(num));
  };

  Red.prototype.imul = function imul (a, b) {
    this._verify2(a, b);
    return this.imod(a.imul(b));
  };

  Red.prototype.mul = function mul (a, b) {
    this._verify2(a, b);
    return this.imod(a.mul(b));
  };

  Red.prototype.isqr = function isqr (a) {
    return this.imul(a, a.clone());
  };

  Red.prototype.sqr = function sqr (a) {
    return this.mul(a, a);
  };

  Red.prototype.sqrt = function sqrt (a) {
    if (a.isZero()) return a.clone();

    var mod3 = this.m.andln(3);
    assert(mod3 % 2 === 1);

    // Fast case
    if (mod3 === 3) {
      var pow = this.m.add(new BN(1)).iushrn(2);
      return this.pow(a, pow);
    }

    // Tonelli-Shanks algorithm (Totally unoptimized and slow)
    //
    // Find Q and S, that Q * 2 ^ S = (P - 1)
    var q = this.m.subn(1);
    var s = 0;
    while (!q.isZero() && q.andln(1) === 0) {
      s++;
      q.iushrn(1);
    }
    assert(!q.isZero());

    var one = new BN(1).toRed(this);
    var nOne = one.redNeg();

    // Find quadratic non-residue
    // NOTE: Max is such because of generalized Riemann hypothesis.
    var lpow = this.m.subn(1).iushrn(1);
    var z = this.m.bitLength();
    z = new BN(2 * z * z).toRed(this);

    while (this.pow(z, lpow).cmp(nOne) !== 0) {
      z.redIAdd(nOne);
    }

    var c = this.pow(z, q);
    var r = this.pow(a, q.addn(1).iushrn(1));
    var t = this.pow(a, q);
    var m = s;
    while (t.cmp(one) !== 0) {
      var tmp = t;
      for (var i = 0; tmp.cmp(one) !== 0; i++) {
        tmp = tmp.redSqr();
      }
      assert(i < m);
      var b = this.pow(c, new BN(1).iushln(m - i - 1));

      r = r.redMul(b);
      c = b.redSqr();
      t = t.redMul(c);
      m = i;
    }

    return r;
  };

  Red.prototype.invm = function invm (a) {
    var inv = a._invmp(this.m);
    if (inv.negative !== 0) {
      inv.negative = 0;
      return this.imod(inv).redNeg();
    } else {
      return this.imod(inv);
    }
  };

  Red.prototype.pow = function pow (a, num) {
    if (num.isZero()) return new BN(1);
    if (num.cmpn(1) === 0) return a.clone();

    var windowSize = 4;
    var wnd = new Array(1 << windowSize);
    wnd[0] = new BN(1).toRed(this);
    wnd[1] = a;
    for (var i = 2; i < wnd.length; i++) {
      wnd[i] = this.mul(wnd[i - 1], a);
    }

    var res = wnd[0];
    var current = 0;
    var currentLen = 0;
    var start = num.bitLength() % 26;
    if (start === 0) {
      start = 26;
    }

    for (i = num.length - 1; i >= 0; i--) {
      var word = num.words[i];
      for (var j = start - 1; j >= 0; j--) {
        var bit = (word >> j) & 1;
        if (res !== wnd[0]) {
          res = this.sqr(res);
        }

        if (bit === 0 && current === 0) {
          currentLen = 0;
          continue;
        }

        current <<= 1;
        current |= bit;
        currentLen++;
        if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;

        res = this.mul(res, wnd[current]);
        currentLen = 0;
        current = 0;
      }
      start = 26;
    }

    return res;
  };

  Red.prototype.convertTo = function convertTo (num) {
    var r = num.umod(this.m);

    return r === num ? r.clone() : r;
  };

  Red.prototype.convertFrom = function convertFrom (num) {
    var res = num.clone();
    res.red = null;
    return res;
  };

  //
  // Montgomery method engine
  //

  BN.mont = function mont (num) {
    return new Mont(num);
  };

  function Mont (m) {
    Red.call(this, m);

    this.shift = this.m.bitLength();
    if (this.shift % 26 !== 0) {
      this.shift += 26 - (this.shift % 26);
    }

    this.r = new BN(1).iushln(this.shift);
    this.r2 = this.imod(this.r.sqr());
    this.rinv = this.r._invmp(this.m);

    this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);
    this.minv = this.minv.umod(this.r);
    this.minv = this.r.sub(this.minv);
  }
  inherits(Mont, Red);

  Mont.prototype.convertTo = function convertTo (num) {
    return this.imod(num.ushln(this.shift));
  };

  Mont.prototype.convertFrom = function convertFrom (num) {
    var r = this.imod(num.mul(this.rinv));
    r.red = null;
    return r;
  };

  Mont.prototype.imul = function imul (a, b) {
    if (a.isZero() || b.isZero()) {
      a.words[0] = 0;
      a.length = 1;
      return a;
    }

    var t = a.imul(b);
    var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);
    var u = t.isub(c).iushrn(this.shift);
    var res = u;

    if (u.cmp(this.m) >= 0) {
      res = u.isub(this.m);
    } else if (u.cmpn(0) < 0) {
      res = u.iadd(this.m);
    }

    return res._forceRed(this);
  };

  Mont.prototype.mul = function mul (a, b) {
    if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);

    var t = a.mul(b);
    var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);
    var u = t.isub(c).iushrn(this.shift);
    var res = u;
    if (u.cmp(this.m) >= 0) {
      res = u.isub(this.m);
    } else if (u.cmpn(0) < 0) {
      res = u.iadd(this.m);
    }

    return res._forceRed(this);
  };

  Mont.prototype.invm = function invm (a) {
    // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R
    var res = this.imod(a._invmp(this.m).mul(this.r2));
    return res._forceRed(this);
  };
})( false || module, this);

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module)))

/***/ }),

/***/ "./node_modules/eventemitter3/index.js":
/*!*********************************************!*\
  !*** ./node_modules/eventemitter3/index.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var has = Object.prototype.hasOwnProperty
  , prefix = '~';

/**
 * Constructor to create a storage for our `EE` objects.
 * An `Events` instance is a plain object whose properties are event names.
 *
 * @constructor
 * @api private
 */
function Events() {}

//
// We try to not inherit from `Object.prototype`. In some engines creating an
// instance in this way is faster than calling `Object.create(null)` directly.
// If `Object.create(null)` is not supported we prefix the event names with a
// character to make sure that the built-in object properties are not
// overridden or used as an attack vector.
//
if (Object.create) {
  Events.prototype = Object.create(null);

  //
  // This hack is needed because the `__proto__` property is still inherited in
  // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.
  //
  if (!new Events().__proto__) prefix = false;
}

/**
 * Representation of a single event listener.
 *
 * @param {Function} fn The listener function.
 * @param {Mixed} context The context to invoke the listener with.
 * @param {Boolean} [once=false] Specify if the listener is a one-time listener.
 * @constructor
 * @api private
 */
function EE(fn, context, once) {
  this.fn = fn;
  this.context = context;
  this.once = once || false;
}

/**
 * Minimal `EventEmitter` interface that is molded against the Node.js
 * `EventEmitter` interface.
 *
 * @constructor
 * @api public
 */
function EventEmitter() {
  this._events = new Events();
  this._eventsCount = 0;
}

/**
 * Return an array listing the events for which the emitter has registered
 * listeners.
 *
 * @returns {Array}
 * @api public
 */
EventEmitter.prototype.eventNames = function eventNames() {
  var names = []
    , events
    , name;

  if (this._eventsCount === 0) return names;

  for (name in (events = this._events)) {
    if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);
  }

  if (Object.getOwnPropertySymbols) {
    return names.concat(Object.getOwnPropertySymbols(events));
  }

  return names;
};

/**
 * Return the listeners registered for a given event.
 *
 * @param {String|Symbol} event The event name.
 * @param {Boolean} exists Only check if there are listeners.
 * @returns {Array|Boolean}
 * @api public
 */
EventEmitter.prototype.listeners = function listeners(event, exists) {
  var evt = prefix ? prefix + event : event
    , available = this._events[evt];

  if (exists) return !!available;
  if (!available) return [];
  if (available.fn) return [available.fn];

  for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {
    ee[i] = available[i].fn;
  }

  return ee;
};

/**
 * Calls each of the listeners registered for a given event.
 *
 * @param {String|Symbol} event The event name.
 * @returns {Boolean} `true` if the event had listeners, else `false`.
 * @api public
 */
EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
  var evt = prefix ? prefix + event : event;

  if (!this._events[evt]) return false;

  var listeners = this._events[evt]
    , len = arguments.length
    , args
    , i;

  if (listeners.fn) {
    if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);

    switch (len) {
      case 1: return listeners.fn.call(listeners.context), true;
      case 2: return listeners.fn.call(listeners.context, a1), true;
      case 3: return listeners.fn.call(listeners.context, a1, a2), true;
      case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;
      case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
      case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
    }

    for (i = 1, args = new Array(len -1); i < len; i++) {
      args[i - 1] = arguments[i];
    }

    listeners.fn.apply(listeners.context, args);
  } else {
    var length = listeners.length
      , j;

    for (i = 0; i < length; i++) {
      if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);

      switch (len) {
        case 1: listeners[i].fn.call(listeners[i].context); break;
        case 2: listeners[i].fn.call(listeners[i].context, a1); break;
        case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;
        case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;
        default:
          if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {
            args[j - 1] = arguments[j];
          }

          listeners[i].fn.apply(listeners[i].context, args);
      }
    }
  }

  return true;
};

/**
 * Add a listener for a given event.
 *
 * @param {String|Symbol} event The event name.
 * @param {Function} fn The listener function.
 * @param {Mixed} [context=this] The context to invoke the listener with.
 * @returns {EventEmitter} `this`.
 * @api public
 */
EventEmitter.prototype.on = function on(event, fn, context) {
  var listener = new EE(fn, context || this)
    , evt = prefix ? prefix + event : event;

  if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;
  else if (!this._events[evt].fn) this._events[evt].push(listener);
  else this._events[evt] = [this._events[evt], listener];

  return this;
};

/**
 * Add a one-time listener for a given event.
 *
 * @param {String|Symbol} event The event name.
 * @param {Function} fn The listener function.
 * @param {Mixed} [context=this] The context to invoke the listener with.
 * @returns {EventEmitter} `this`.
 * @api public
 */
EventEmitter.prototype.once = function once(event, fn, context) {
  var listener = new EE(fn, context || this, true)
    , evt = prefix ? prefix + event : event;

  if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;
  else if (!this._events[evt].fn) this._events[evt].push(listener);
  else this._events[evt] = [this._events[evt], listener];

  return this;
};

/**
 * Remove the listeners of a given event.
 *
 * @param {String|Symbol} event The event name.
 * @param {Function} fn Only remove the listeners that match this function.
 * @param {Mixed} context Only remove the listeners that have this context.
 * @param {Boolean} once Only remove one-time listeners.
 * @returns {EventEmitter} `this`.
 * @api public
 */
EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {
  var evt = prefix ? prefix + event : event;

  if (!this._events[evt]) return this;
  if (!fn) {
    if (--this._eventsCount === 0) this._events = new Events();
    else delete this._events[evt];
    return this;
  }

  var listeners = this._events[evt];

  if (listeners.fn) {
    if (
         listeners.fn === fn
      && (!once || listeners.once)
      && (!context || listeners.context === context)
    ) {
      if (--this._eventsCount === 0) this._events = new Events();
      else delete this._events[evt];
    }
  } else {
    for (var i = 0, events = [], length = listeners.length; i < length; i++) {
      if (
           listeners[i].fn !== fn
        || (once && !listeners[i].once)
        || (context && listeners[i].context !== context)
      ) {
        events.push(listeners[i]);
      }
    }

    //
    // Reset the array, or remove it completely if we have no more listeners.
    //
    if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;
    else if (--this._eventsCount === 0) this._events = new Events();
    else delete this._events[evt];
  }

  return this;
};

/**
 * Remove all listeners, or those of the specified event.
 *
 * @param {String|Symbol} [event] The event name.
 * @returns {EventEmitter} `this`.
 * @api public
 */
EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
  var evt;

  if (event) {
    evt = prefix ? prefix + event : event;
    if (this._events[evt]) {
      if (--this._eventsCount === 0) this._events = new Events();
      else delete this._events[evt];
    }
  } else {
    this._events = new Events();
    this._eventsCount = 0;
  }

  return this;
};

//
// Alias methods names because people roll like that.
//
EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
EventEmitter.prototype.addListener = EventEmitter.prototype.on;

//
// This function doesn't apply anymore.
//
EventEmitter.prototype.setMaxListeners = function setMaxListeners() {
  return this;
};

//
// Expose the prefix.
//
EventEmitter.prefixed = prefix;

//
// Allow `EventEmitter` to be imported as module namespace.
//
EventEmitter.EventEmitter = EventEmitter;

//
// Expose the module.
//
if (true) {
  module.exports = EventEmitter;
}


/***/ }),

/***/ "./node_modules/ieee754/index.js":
/*!***************************************!*\
  !*** ./node_modules/ieee754/index.js ***!
  \***************************************/
/*! no static exports found */
/***/ (function(module, exports) {

exports.read = function (buffer, offset, isLE, mLen, nBytes) {
  var e, m
  var eLen = (nBytes * 8) - mLen - 1
  var eMax = (1 << eLen) - 1
  var eBias = eMax >> 1
  var nBits = -7
  var i = isLE ? (nBytes - 1) : 0
  var d = isLE ? -1 : 1
  var s = buffer[offset + i]

  i += d

  e = s & ((1 << (-nBits)) - 1)
  s >>= (-nBits)
  nBits += eLen
  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}

  m = e & ((1 << (-nBits)) - 1)
  e >>= (-nBits)
  nBits += mLen
  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}

  if (e === 0) {
    e = 1 - eBias
  } else if (e === eMax) {
    return m ? NaN : ((s ? -1 : 1) * Infinity)
  } else {
    m = m + Math.pow(2, mLen)
    e = e - eBias
  }
  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
}

exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
  var e, m, c
  var eLen = (nBytes * 8) - mLen - 1
  var eMax = (1 << eLen) - 1
  var eBias = eMax >> 1
  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
  var i = isLE ? 0 : (nBytes - 1)
  var d = isLE ? 1 : -1
  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0

  value = Math.abs(value)

  if (isNaN(value) || value === Infinity) {
    m = isNaN(value) ? 1 : 0
    e = eMax
  } else {
    e = Math.floor(Math.log(value) / Math.LN2)
    if (value * (c = Math.pow(2, -e)) < 1) {
      e--
      c *= 2
    }
    if (e + eBias >= 1) {
      value += rt / c
    } else {
      value += rt * Math.pow(2, 1 - eBias)
    }
    if (value * c >= 2) {
      e++
      c /= 2
    }

    if (e + eBias >= eMax) {
      m = 0
      e = eMax
    } else if (e + eBias >= 1) {
      m = ((value * c) - 1) * Math.pow(2, mLen)
      e = e + eBias
    } else {
      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
      e = 0
    }
  }

  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}

  e = (e << mLen) | m
  eLen += mLen
  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}

  buffer[offset + i - d] |= s * 128
}


/***/ }),

/***/ "./node_modules/is-buffer/index.js":
/*!*****************************************!*\
  !*** ./node_modules/is-buffer/index.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports) {

/*!
 * Determine if an object is a Buffer
 *
 * @author   Feross Aboukhadijeh <https://feross.org>
 * @license  MIT
 */

module.exports = function isBuffer (obj) {
  return obj != null && obj.constructor != null &&
    typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
}


/***/ }),

/***/ "./node_modules/is-hex-prefixed/src/index.js":
/*!***************************************************!*\
  !*** ./node_modules/is-hex-prefixed/src/index.js ***!
  \***************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

/**
 * Returns a `Boolean` on whether or not the a `String` starts with '0x'
 * @param {String} str the string input value
 * @return {Boolean} a boolean if it is or is not hex prefixed
 * @throws if the str input is not a string
 */
module.exports = function isHexPrefixed(str) {
  if (typeof str !== 'string') {
    throw new Error("[is-hex-prefixed] value must be type 'string', is currently type " + (typeof str) + ", while checking isHexPrefixed.");
  }

  return str.slice(0, 2) === '0x';
}


/***/ }),

/***/ "./node_modules/isarray/index.js":
/*!***************************************!*\
  !*** ./node_modules/isarray/index.js ***!
  \***************************************/
/*! no static exports found */
/***/ (function(module, exports) {

var toString = {}.toString;

module.exports = Array.isArray || function (arr) {
  return toString.call(arr) == '[object Array]';
};


/***/ }),

/***/ "./node_modules/js-sha3/src/sha3.js":
/*!******************************************!*\
  !*** ./node_modules/js-sha3/src/sha3.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(process, global) {/**
 * [js-sha3]{@link https://github.com/emn178/js-sha3}
 *
 * @version 0.5.5
 * @author Chen, Yi-Cyuan [emn178@gmail.com]
 * @copyright Chen, Yi-Cyuan 2015-2016
 * @license MIT
 */
(function (root) {
  'use strict';

  var NODE_JS = typeof process == 'object' && process.versions && process.versions.node;
  if (NODE_JS) {
    root = global;
  }
  var COMMON_JS = !root.JS_SHA3_TEST && typeof module == 'object' && module.exports;
  var HEX_CHARS = '0123456789abcdef'.split('');
  var SHAKE_PADDING = [31, 7936, 2031616, 520093696];
  var KECCAK_PADDING = [1, 256, 65536, 16777216];
  var PADDING = [6, 1536, 393216, 100663296];
  var SHIFT = [0, 8, 16, 24];
  var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649,
            0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, 
            2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, 
            2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648,
            2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648];
  var BITS = [224, 256, 384, 512];
  var SHAKE_BITS = [128, 256];
  var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array'];

  var createOutputMethod = function (bits, padding, outputType) {
    return function (message) {
      return new Keccak(bits, padding, bits).update(message)[outputType]();
    }
  };

  var createShakeOutputMethod = function (bits, padding, outputType) {
    return function (message, outputBits) {
      return new Keccak(bits, padding, outputBits).update(message)[outputType]();
    }
  };

  var createMethod = function (bits, padding) {
    var method = createOutputMethod(bits, padding, 'hex');
    method.create = function () {
      return new Keccak(bits, padding, bits);
    };
    method.update = function (message) {
      return method.create().update(message);
    };
    for (var i = 0;i < OUTPUT_TYPES.length;++i) {
      var type = OUTPUT_TYPES[i];
      method[type] = createOutputMethod(bits, padding, type);
    }
    return method;
  };

  var createShakeMethod = function (bits, padding) {
    var method = createShakeOutputMethod(bits, padding, 'hex');
    method.create = function (outputBits) {
      return new Keccak(bits, padding, outputBits);
    };
    method.update = function (message, outputBits) {
      return method.create(outputBits).update(message);
    };
    for (var i = 0;i < OUTPUT_TYPES.length;++i) {
      var type = OUTPUT_TYPES[i];
      method[type] = createShakeOutputMethod(bits, padding, type);
    }
    return method;
  };

  var algorithms = [
    {name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod},
    {name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod},
    {name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod}
  ];

  var methods = {};

  for (var i = 0;i < algorithms.length;++i) {
    var algorithm = algorithms[i];
    var bits  = algorithm.bits;
    for (var j = 0;j < bits.length;++j) {
      methods[algorithm.name +'_' + bits[j]] = algorithm.createMethod(bits[j], algorithm.padding);
    }
  }

  function Keccak(bits, padding, outputBits) {
    this.blocks = [];
    this.s = [];
    this.padding = padding;
    this.outputBits = outputBits;
    this.reset = true;
    this.block = 0;
    this.start = 0;
    this.blockCount = (1600 - (bits << 1)) >> 5;
    this.byteCount = this.blockCount << 2;
    this.outputBlocks = outputBits >> 5;
    this.extraBytes = (outputBits & 31) >> 3;

    for (var i = 0;i < 50;++i) {
      this.s[i] = 0;
    }
  };

  Keccak.prototype.update = function (message) {
    var notString = typeof message != 'string';
    if (notString && message.constructor == root.ArrayBuffer) {
      message = new Uint8Array(message);
    }
    var length = message.length, blocks = this.blocks, byteCount = this.byteCount, 
        blockCount = this.blockCount, index = 0, s = this.s, i, code;
    
    while (index < length) {
      if (this.reset) {
        this.reset = false;
        blocks[0] = this.block;
        for (i = 1;i < blockCount + 1;++i) {
          blocks[i] = 0;
        }
      }
      if (notString) {
        for (i = this.start;index < length && i < byteCount;++index) {
          blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];
        }
      } else {
        for (i = this.start;index < length && i < byteCount;++index) {
          code = message.charCodeAt(index);
          if (code < 0x80) {
            blocks[i >> 2] |= code << SHIFT[i++ & 3];
          } else if (code < 0x800) {
            blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];
            blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
          } else if (code < 0xd800 || code >= 0xe000) {
            blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];
            blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
            blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
          } else {
            code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));
            blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];
            blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];
            blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];
            blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
          }
        }
      }
      this.lastByteIndex = i;
      if (i >= byteCount) {
        this.start = i - byteCount;
        this.block = blocks[blockCount];
        for (i = 0;i < blockCount;++i) {
          s[i] ^= blocks[i];
        }
        f(s);
        this.reset = true;
      } else {
        this.start = i;
      }
    }
    return this;
  };

  Keccak.prototype.finalize = function () {
    var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;
    blocks[i >> 2] |= this.padding[i & 3];
    if (this.lastByteIndex == this.byteCount) {
      blocks[0] = blocks[blockCount];
      for (i = 1;i < blockCount + 1;++i) {
        blocks[i] = 0;
      }
    }
    blocks[blockCount - 1] |= 0x80000000;
    for (i = 0;i < blockCount;++i) {
      s[i] ^= blocks[i];
    }
    f(s);
  };

  Keccak.prototype.toString = Keccak.prototype.hex = function () {
    this.finalize();

    var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, 
        extraBytes = this.extraBytes, i = 0, j = 0;
    var hex = '', block;
    while (j < outputBlocks) {
      for (i = 0;i < blockCount && j < outputBlocks;++i, ++j) {
        block = s[i];
        hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] +
               HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] +
               HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] +
               HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F];
      }
      if (j % blockCount == 0) {
        f(s);
        i = 0;
      }
    }
    if (extraBytes) {
      block = s[i];
      if (extraBytes > 0) {
        hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F];
      }
      if (extraBytes > 1) {
        hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F];
      }
      if (extraBytes > 2) {
        hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F];
      }
    }
    return hex;
  };

  Keccak.prototype.arrayBuffer = function () {
    this.finalize();

    var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, 
        extraBytes = this.extraBytes, i = 0, j = 0;
    var bytes = this.outputBits >> 3;
    var buffer;
    if (extraBytes) {
      buffer = new ArrayBuffer((outputBlocks + 1) << 2);
    } else {
      buffer = new ArrayBuffer(bytes);
    }
    var array = new Uint32Array(buffer);
    while (j < outputBlocks) {
      for (i = 0;i < blockCount && j < outputBlocks;++i, ++j) {
        array[j] = s[i];
      }
      if (j % blockCount == 0) {
        f(s);
      }
    }
    if (extraBytes) {
      array[i] = s[i];
      buffer = buffer.slice(0, bytes);
    }
    return buffer;
  };

  Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;

  Keccak.prototype.digest = Keccak.prototype.array = function () {
    this.finalize();

    var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, 
        extraBytes = this.extraBytes, i = 0, j = 0;
    var array = [], offset, block;
    while (j < outputBlocks) {
      for (i = 0;i < blockCount && j < outputBlocks;++i, ++j) {
        offset = j << 2;
        block = s[i];
        array[offset] = block & 0xFF;
        array[offset + 1] = (block >> 8) & 0xFF;
        array[offset + 2] = (block >> 16) & 0xFF;
        array[offset + 3] = (block >> 24) & 0xFF;
      }
      if (j % blockCount == 0) {
        f(s);
      }
    }
    if (extraBytes) {
      offset = j << 2;
      block = s[i];
      if (extraBytes > 0) {
        array[offset] = block & 0xFF;
      }
      if (extraBytes > 1) {
        array[offset + 1] = (block >> 8) & 0xFF;
      }
      if (extraBytes > 2) {
        array[offset + 2] = (block >> 16) & 0xFF;
      }
    }
    return array;
  };

  var f = function (s) {
    var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, 
        b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, 
        b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, 
        b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;
    for (n = 0;n < 48;n += 2) {
      c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];
      c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];
      c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];
      c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];
      c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];
      c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];
      c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];
      c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];
      c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];
      c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];

      h = c8 ^ ((c2 << 1) | (c3 >>> 31));
      l = c9 ^ ((c3 << 1) | (c2 >>> 31));
      s[0] ^= h;
      s[1] ^= l;
      s[10] ^= h;
      s[11] ^= l;
      s[20] ^= h;
      s[21] ^= l;
      s[30] ^= h;
      s[31] ^= l;
      s[40] ^= h;
      s[41] ^= l;
      h = c0 ^ ((c4 << 1) | (c5 >>> 31));
      l = c1 ^ ((c5 << 1) | (c4 >>> 31));
      s[2] ^= h;
      s[3] ^= l;
      s[12] ^= h;
      s[13] ^= l;
      s[22] ^= h;
      s[23] ^= l;
      s[32] ^= h;
      s[33] ^= l;
      s[42] ^= h;
      s[43] ^= l;
      h = c2 ^ ((c6 << 1) | (c7 >>> 31));
      l = c3 ^ ((c7 << 1) | (c6 >>> 31));
      s[4] ^= h;
      s[5] ^= l;
      s[14] ^= h;
      s[15] ^= l;
      s[24] ^= h;
      s[25] ^= l;
      s[34] ^= h;
      s[35] ^= l;
      s[44] ^= h;
      s[45] ^= l;
      h = c4 ^ ((c8 << 1) | (c9 >>> 31));
      l = c5 ^ ((c9 << 1) | (c8 >>> 31));
      s[6] ^= h;
      s[7] ^= l;
      s[16] ^= h;
      s[17] ^= l;
      s[26] ^= h;
      s[27] ^= l;
      s[36] ^= h;
      s[37] ^= l;
      s[46] ^= h;
      s[47] ^= l;
      h = c6 ^ ((c0 << 1) | (c1 >>> 31));
      l = c7 ^ ((c1 << 1) | (c0 >>> 31));
      s[8] ^= h;
      s[9] ^= l;
      s[18] ^= h;
      s[19] ^= l;
      s[28] ^= h;
      s[29] ^= l;
      s[38] ^= h;
      s[39] ^= l;
      s[48] ^= h;
      s[49] ^= l;

      b0 = s[0];
      b1 = s[1];
      b32 = (s[11] << 4) | (s[10] >>> 28);
      b33 = (s[10] << 4) | (s[11] >>> 28);
      b14 = (s[20] << 3) | (s[21] >>> 29);
      b15 = (s[21] << 3) | (s[20] >>> 29);
      b46 = (s[31] << 9) | (s[30] >>> 23);
      b47 = (s[30] << 9) | (s[31] >>> 23);
      b28 = (s[40] << 18) | (s[41] >>> 14);
      b29 = (s[41] << 18) | (s[40] >>> 14);
      b20 = (s[2] << 1) | (s[3] >>> 31);
      b21 = (s[3] << 1) | (s[2] >>> 31);
      b2 = (s[13] << 12) | (s[12] >>> 20);
      b3 = (s[12] << 12) | (s[13] >>> 20);
      b34 = (s[22] << 10) | (s[23] >>> 22);
      b35 = (s[23] << 10) | (s[22] >>> 22);
      b16 = (s[33] << 13) | (s[32] >>> 19);
      b17 = (s[32] << 13) | (s[33] >>> 19);
      b48 = (s[42] << 2) | (s[43] >>> 30);
      b49 = (s[43] << 2) | (s[42] >>> 30);
      b40 = (s[5] << 30) | (s[4] >>> 2);
      b41 = (s[4] << 30) | (s[5] >>> 2);
      b22 = (s[14] << 6) | (s[15] >>> 26);
      b23 = (s[15] << 6) | (s[14] >>> 26);
      b4 = (s[25] << 11) | (s[24] >>> 21);
      b5 = (s[24] << 11) | (s[25] >>> 21);
      b36 = (s[34] << 15) | (s[35] >>> 17);
      b37 = (s[35] << 15) | (s[34] >>> 17);
      b18 = (s[45] << 29) | (s[44] >>> 3);
      b19 = (s[44] << 29) | (s[45] >>> 3);
      b10 = (s[6] << 28) | (s[7] >>> 4);
      b11 = (s[7] << 28) | (s[6] >>> 4);
      b42 = (s[17] << 23) | (s[16] >>> 9);
      b43 = (s[16] << 23) | (s[17] >>> 9);
      b24 = (s[26] << 25) | (s[27] >>> 7);
      b25 = (s[27] << 25) | (s[26] >>> 7);
      b6 = (s[36] << 21) | (s[37] >>> 11);
      b7 = (s[37] << 21) | (s[36] >>> 11);
      b38 = (s[47] << 24) | (s[46] >>> 8);
      b39 = (s[46] << 24) | (s[47] >>> 8);
      b30 = (s[8] << 27) | (s[9] >>> 5);
      b31 = (s[9] << 27) | (s[8] >>> 5);
      b12 = (s[18] << 20) | (s[19] >>> 12);
      b13 = (s[19] << 20) | (s[18] >>> 12);
      b44 = (s[29] << 7) | (s[28] >>> 25);
      b45 = (s[28] << 7) | (s[29] >>> 25);
      b26 = (s[38] << 8) | (s[39] >>> 24);
      b27 = (s[39] << 8) | (s[38] >>> 24);
      b8 = (s[48] << 14) | (s[49] >>> 18);
      b9 = (s[49] << 14) | (s[48] >>> 18);

      s[0] = b0 ^ (~b2 & b4);
      s[1] = b1 ^ (~b3 & b5);
      s[10] = b10 ^ (~b12 & b14);
      s[11] = b11 ^ (~b13 & b15);
      s[20] = b20 ^ (~b22 & b24);
      s[21] = b21 ^ (~b23 & b25);
      s[30] = b30 ^ (~b32 & b34);
      s[31] = b31 ^ (~b33 & b35);
      s[40] = b40 ^ (~b42 & b44);
      s[41] = b41 ^ (~b43 & b45);
      s[2] = b2 ^ (~b4 & b6);
      s[3] = b3 ^ (~b5 & b7);
      s[12] = b12 ^ (~b14 & b16);
      s[13] = b13 ^ (~b15 & b17);
      s[22] = b22 ^ (~b24 & b26);
      s[23] = b23 ^ (~b25 & b27);
      s[32] = b32 ^ (~b34 & b36);
      s[33] = b33 ^ (~b35 & b37);
      s[42] = b42 ^ (~b44 & b46);
      s[43] = b43 ^ (~b45 & b47);
      s[4] = b4 ^ (~b6 & b8);
      s[5] = b5 ^ (~b7 & b9);
      s[14] = b14 ^ (~b16 & b18);
      s[15] = b15 ^ (~b17 & b19);
      s[24] = b24 ^ (~b26 & b28);
      s[25] = b25 ^ (~b27 & b29);
      s[34] = b34 ^ (~b36 & b38);
      s[35] = b35 ^ (~b37 & b39);
      s[44] = b44 ^ (~b46 & b48);
      s[45] = b45 ^ (~b47 & b49);
      s[6] = b6 ^ (~b8 & b0);
      s[7] = b7 ^ (~b9 & b1);
      s[16] = b16 ^ (~b18 & b10);
      s[17] = b17 ^ (~b19 & b11);
      s[26] = b26 ^ (~b28 & b20);
      s[27] = b27 ^ (~b29 & b21);
      s[36] = b36 ^ (~b38 & b30);
      s[37] = b37 ^ (~b39 & b31);
      s[46] = b46 ^ (~b48 & b40);
      s[47] = b47 ^ (~b49 & b41);
      s[8] = b8 ^ (~b0 & b2);
      s[9] = b9 ^ (~b1 & b3);
      s[18] = b18 ^ (~b10 & b12);
      s[19] = b19 ^ (~b11 & b13);
      s[28] = b28 ^ (~b20 & b22);
      s[29] = b29 ^ (~b21 & b23);
      s[38] = b38 ^ (~b30 & b32);
      s[39] = b39 ^ (~b31 & b33);
      s[48] = b48 ^ (~b40 & b42);
      s[49] = b49 ^ (~b41 & b43);

      s[0] ^= RC[n];
      s[1] ^= RC[n + 1];
    }
  }

  if (COMMON_JS) {
    module.exports = methods;
  } else if (root) {
    for (var key in methods) {
      root[key] = methods[key];
    }
  }
}(this));

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node-libs-browser/node_modules/process/browser.js */ "./node_modules/node-libs-browser/node_modules/process/browser.js"), __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/modify-values/index.js":
/*!*********************************************!*\
  !*** ./node_modules/modify-values/index.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

module.exports = function (obj, modifier) {
	var key;
	var val;
	var ret = {};
	var keys = Object.keys(Object(obj));

	for (var i = 0; i < keys.length; i++) {
		key = keys[i];
		val = obj[key];
		ret[key] = modifier(val, key);
	}

	return ret;
};


/***/ }),

/***/ "./node_modules/node-libs-browser/node_modules/buffer/index.js":
/*!*********************************************************************!*\
  !*** ./node_modules/node-libs-browser/node_modules/buffer/index.js ***!
  \*********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
 * @license  MIT
 */
/* eslint-disable no-proto */



var base64 = __webpack_require__(/*! base64-js */ "./node_modules/base64-js/index.js")
var ieee754 = __webpack_require__(/*! ieee754 */ "./node_modules/ieee754/index.js")
var isArray = __webpack_require__(/*! isarray */ "./node_modules/isarray/index.js")

exports.Buffer = Buffer
exports.SlowBuffer = SlowBuffer
exports.INSPECT_MAX_BYTES = 50

/**
 * If `Buffer.TYPED_ARRAY_SUPPORT`:
 *   === true    Use Uint8Array implementation (fastest)
 *   === false   Use Object implementation (most compatible, even IE6)
 *
 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
 * Opera 11.6+, iOS 4.2+.
 *
 * Due to various browser bugs, sometimes the Object implementation will be used even
 * when the browser supports typed arrays.
 *
 * Note:
 *
 *   - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
 *     See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
 *
 *   - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
 *
 *   - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
 *     incorrect length in some situations.

 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
 * get the Object implementation, which is slower but behaves correctly.
 */
Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined
  ? global.TYPED_ARRAY_SUPPORT
  : typedArraySupport()

/*
 * Export kMaxLength after typed array support is determined.
 */
exports.kMaxLength = kMaxLength()

function typedArraySupport () {
  try {
    var arr = new Uint8Array(1)
    arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}
    return arr.foo() === 42 && // typed array instances can be augmented
        typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
        arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
  } catch (e) {
    return false
  }
}

function kMaxLength () {
  return Buffer.TYPED_ARRAY_SUPPORT
    ? 0x7fffffff
    : 0x3fffffff
}

function createBuffer (that, length) {
  if (kMaxLength() < length) {
    throw new RangeError('Invalid typed array length')
  }
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    // Return an augmented `Uint8Array` instance, for best performance
    that = new Uint8Array(length)
    that.__proto__ = Buffer.prototype
  } else {
    // Fallback: Return an object instance of the Buffer class
    if (that === null) {
      that = new Buffer(length)
    }
    that.length = length
  }

  return that
}

/**
 * The Buffer constructor returns instances of `Uint8Array` that have their
 * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
 * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
 * and the `Uint8Array` methods. Square bracket notation works as expected -- it
 * returns a single octet.
 *
 * The `Uint8Array` prototype remains unmodified.
 */

function Buffer (arg, encodingOrOffset, length) {
  if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {
    return new Buffer(arg, encodingOrOffset, length)
  }

  // Common case.
  if (typeof arg === 'number') {
    if (typeof encodingOrOffset === 'string') {
      throw new Error(
        'If encoding is specified then the first argument must be a string'
      )
    }
    return allocUnsafe(this, arg)
  }
  return from(this, arg, encodingOrOffset, length)
}

Buffer.poolSize = 8192 // not used by this implementation

// TODO: Legacy, not needed anymore. Remove in next major version.
Buffer._augment = function (arr) {
  arr.__proto__ = Buffer.prototype
  return arr
}

function from (that, value, encodingOrOffset, length) {
  if (typeof value === 'number') {
    throw new TypeError('"value" argument must not be a number')
  }

  if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {
    return fromArrayBuffer(that, value, encodingOrOffset, length)
  }

  if (typeof value === 'string') {
    return fromString(that, value, encodingOrOffset)
  }

  return fromObject(that, value)
}

/**
 * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
 * if value is a number.
 * Buffer.from(str[, encoding])
 * Buffer.from(array)
 * Buffer.from(buffer)
 * Buffer.from(arrayBuffer[, byteOffset[, length]])
 **/
Buffer.from = function (value, encodingOrOffset, length) {
  return from(null, value, encodingOrOffset, length)
}

if (Buffer.TYPED_ARRAY_SUPPORT) {
  Buffer.prototype.__proto__ = Uint8Array.prototype
  Buffer.__proto__ = Uint8Array
  if (typeof Symbol !== 'undefined' && Symbol.species &&
      Buffer[Symbol.species] === Buffer) {
    // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97
    Object.defineProperty(Buffer, Symbol.species, {
      value: null,
      configurable: true
    })
  }
}

function assertSize (size) {
  if (typeof size !== 'number') {
    throw new TypeError('"size" argument must be a number')
  } else if (size < 0) {
    throw new RangeError('"size" argument must not be negative')
  }
}

function alloc (that, size, fill, encoding) {
  assertSize(size)
  if (size <= 0) {
    return createBuffer(that, size)
  }
  if (fill !== undefined) {
    // Only pay attention to encoding if it's a string. This
    // prevents accidentally sending in a number that would
    // be interpretted as a start offset.
    return typeof encoding === 'string'
      ? createBuffer(that, size).fill(fill, encoding)
      : createBuffer(that, size).fill(fill)
  }
  return createBuffer(that, size)
}

/**
 * Creates a new filled Buffer instance.
 * alloc(size[, fill[, encoding]])
 **/
Buffer.alloc = function (size, fill, encoding) {
  return alloc(null, size, fill, encoding)
}

function allocUnsafe (that, size) {
  assertSize(size)
  that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)
  if (!Buffer.TYPED_ARRAY_SUPPORT) {
    for (var i = 0; i < size; ++i) {
      that[i] = 0
    }
  }
  return that
}

/**
 * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
 * */
Buffer.allocUnsafe = function (size) {
  return allocUnsafe(null, size)
}
/**
 * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
 */
Buffer.allocUnsafeSlow = function (size) {
  return allocUnsafe(null, size)
}

function fromString (that, string, encoding) {
  if (typeof encoding !== 'string' || encoding === '') {
    encoding = 'utf8'
  }

  if (!Buffer.isEncoding(encoding)) {
    throw new TypeError('"encoding" must be a valid string encoding')
  }

  var length = byteLength(string, encoding) | 0
  that = createBuffer(that, length)

  var actual = that.write(string, encoding)

  if (actual !== length) {
    // Writing a hex string, for example, that contains invalid characters will
    // cause everything after the first invalid character to be ignored. (e.g.
    // 'abxxcd' will be treated as 'ab')
    that = that.slice(0, actual)
  }

  return that
}

function fromArrayLike (that, array) {
  var length = array.length < 0 ? 0 : checked(array.length) | 0
  that = createBuffer(that, length)
  for (var i = 0; i < length; i += 1) {
    that[i] = array[i] & 255
  }
  return that
}

function fromArrayBuffer (that, array, byteOffset, length) {
  array.byteLength // this throws if `array` is not a valid ArrayBuffer

  if (byteOffset < 0 || array.byteLength < byteOffset) {
    throw new RangeError('\'offset\' is out of bounds')
  }

  if (array.byteLength < byteOffset + (length || 0)) {
    throw new RangeError('\'length\' is out of bounds')
  }

  if (byteOffset === undefined && length === undefined) {
    array = new Uint8Array(array)
  } else if (length === undefined) {
    array = new Uint8Array(array, byteOffset)
  } else {
    array = new Uint8Array(array, byteOffset, length)
  }

  if (Buffer.TYPED_ARRAY_SUPPORT) {
    // Return an augmented `Uint8Array` instance, for best performance
    that = array
    that.__proto__ = Buffer.prototype
  } else {
    // Fallback: Return an object instance of the Buffer class
    that = fromArrayLike(that, array)
  }
  return that
}

function fromObject (that, obj) {
  if (Buffer.isBuffer(obj)) {
    var len = checked(obj.length) | 0
    that = createBuffer(that, len)

    if (that.length === 0) {
      return that
    }

    obj.copy(that, 0, 0, len)
    return that
  }

  if (obj) {
    if ((typeof ArrayBuffer !== 'undefined' &&
        obj.buffer instanceof ArrayBuffer) || 'length' in obj) {
      if (typeof obj.length !== 'number' || isnan(obj.length)) {
        return createBuffer(that, 0)
      }
      return fromArrayLike(that, obj)
    }

    if (obj.type === 'Buffer' && isArray(obj.data)) {
      return fromArrayLike(that, obj.data)
    }
  }

  throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')
}

function checked (length) {
  // Note: cannot use `length < kMaxLength()` here because that fails when
  // length is NaN (which is otherwise coerced to zero.)
  if (length >= kMaxLength()) {
    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
                         'size: 0x' + kMaxLength().toString(16) + ' bytes')
  }
  return length | 0
}

function SlowBuffer (length) {
  if (+length != length) { // eslint-disable-line eqeqeq
    length = 0
  }
  return Buffer.alloc(+length)
}

Buffer.isBuffer = function isBuffer (b) {
  return !!(b != null && b._isBuffer)
}

Buffer.compare = function compare (a, b) {
  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
    throw new TypeError('Arguments must be Buffers')
  }

  if (a === b) return 0

  var x = a.length
  var y = b.length

  for (var i = 0, len = Math.min(x, y); i < len; ++i) {
    if (a[i] !== b[i]) {
      x = a[i]
      y = b[i]
      break
    }
  }

  if (x < y) return -1
  if (y < x) return 1
  return 0
}

Buffer.isEncoding = function isEncoding (encoding) {
  switch (String(encoding).toLowerCase()) {
    case 'hex':
    case 'utf8':
    case 'utf-8':
    case 'ascii':
    case 'latin1':
    case 'binary':
    case 'base64':
    case 'ucs2':
    case 'ucs-2':
    case 'utf16le':
    case 'utf-16le':
      return true
    default:
      return false
  }
}

Buffer.concat = function concat (list, length) {
  if (!isArray(list)) {
    throw new TypeError('"list" argument must be an Array of Buffers')
  }

  if (list.length === 0) {
    return Buffer.alloc(0)
  }

  var i
  if (length === undefined) {
    length = 0
    for (i = 0; i < list.length; ++i) {
      length += list[i].length
    }
  }

  var buffer = Buffer.allocUnsafe(length)
  var pos = 0
  for (i = 0; i < list.length; ++i) {
    var buf = list[i]
    if (!Buffer.isBuffer(buf)) {
      throw new TypeError('"list" argument must be an Array of Buffers')
    }
    buf.copy(buffer, pos)
    pos += buf.length
  }
  return buffer
}

function byteLength (string, encoding) {
  if (Buffer.isBuffer(string)) {
    return string.length
  }
  if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&
      (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {
    return string.byteLength
  }
  if (typeof string !== 'string') {
    string = '' + string
  }

  var len = string.length
  if (len === 0) return 0

  // Use a for loop to avoid recursion
  var loweredCase = false
  for (;;) {
    switch (encoding) {
      case 'ascii':
      case 'latin1':
      case 'binary':
        return len
      case 'utf8':
      case 'utf-8':
      case undefined:
        return utf8ToBytes(string).length
      case 'ucs2':
      case 'ucs-2':
      case 'utf16le':
      case 'utf-16le':
        return len * 2
      case 'hex':
        return len >>> 1
      case 'base64':
        return base64ToBytes(string).length
      default:
        if (loweredCase) return utf8ToBytes(string).length // assume utf8
        encoding = ('' + encoding).toLowerCase()
        loweredCase = true
    }
  }
}
Buffer.byteLength = byteLength

function slowToString (encoding, start, end) {
  var loweredCase = false

  // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
  // property of a typed array.

  // This behaves neither like String nor Uint8Array in that we set start/end
  // to their upper/lower bounds if the value passed is out of range.
  // undefined is handled specially as per ECMA-262 6th Edition,
  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
  if (start === undefined || start < 0) {
    start = 0
  }
  // Return early if start > this.length. Done here to prevent potential uint32
  // coercion fail below.
  if (start > this.length) {
    return ''
  }

  if (end === undefined || end > this.length) {
    end = this.length
  }

  if (end <= 0) {
    return ''
  }

  // Force coersion to uint32. This will also coerce falsey/NaN values to 0.
  end >>>= 0
  start >>>= 0

  if (end <= start) {
    return ''
  }

  if (!encoding) encoding = 'utf8'

  while (true) {
    switch (encoding) {
      case 'hex':
        return hexSlice(this, start, end)

      case 'utf8':
      case 'utf-8':
        return utf8Slice(this, start, end)

      case 'ascii':
        return asciiSlice(this, start, end)

      case 'latin1':
      case 'binary':
        return latin1Slice(this, start, end)

      case 'base64':
        return base64Slice(this, start, end)

      case 'ucs2':
      case 'ucs-2':
      case 'utf16le':
      case 'utf-16le':
        return utf16leSlice(this, start, end)

      default:
        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
        encoding = (encoding + '').toLowerCase()
        loweredCase = true
    }
  }
}

// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect
// Buffer instances.
Buffer.prototype._isBuffer = true

function swap (b, n, m) {
  var i = b[n]
  b[n] = b[m]
  b[m] = i
}

Buffer.prototype.swap16 = function swap16 () {
  var len = this.length
  if (len % 2 !== 0) {
    throw new RangeError('Buffer size must be a multiple of 16-bits')
  }
  for (var i = 0; i < len; i += 2) {
    swap(this, i, i + 1)
  }
  return this
}

Buffer.prototype.swap32 = function swap32 () {
  var len = this.length
  if (len % 4 !== 0) {
    throw new RangeError('Buffer size must be a multiple of 32-bits')
  }
  for (var i = 0; i < len; i += 4) {
    swap(this, i, i + 3)
    swap(this, i + 1, i + 2)
  }
  return this
}

Buffer.prototype.swap64 = function swap64 () {
  var len = this.length
  if (len % 8 !== 0) {
    throw new RangeError('Buffer size must be a multiple of 64-bits')
  }
  for (var i = 0; i < len; i += 8) {
    swap(this, i, i + 7)
    swap(this, i + 1, i + 6)
    swap(this, i + 2, i + 5)
    swap(this, i + 3, i + 4)
  }
  return this
}

Buffer.prototype.toString = function toString () {
  var length = this.length | 0
  if (length === 0) return ''
  if (arguments.length === 0) return utf8Slice(this, 0, length)
  return slowToString.apply(this, arguments)
}

Buffer.prototype.equals = function equals (b) {
  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
  if (this === b) return true
  return Buffer.compare(this, b) === 0
}

Buffer.prototype.inspect = function inspect () {
  var str = ''
  var max = exports.INSPECT_MAX_BYTES
  if (this.length > 0) {
    str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
    if (this.length > max) str += ' ... '
  }
  return '<Buffer ' + str + '>'
}

Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
  if (!Buffer.isBuffer(target)) {
    throw new TypeError('Argument must be a Buffer')
  }

  if (start === undefined) {
    start = 0
  }
  if (end === undefined) {
    end = target ? target.length : 0
  }
  if (thisStart === undefined) {
    thisStart = 0
  }
  if (thisEnd === undefined) {
    thisEnd = this.length
  }

  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
    throw new RangeError('out of range index')
  }

  if (thisStart >= thisEnd && start >= end) {
    return 0
  }
  if (thisStart >= thisEnd) {
    return -1
  }
  if (start >= end) {
    return 1
  }

  start >>>= 0
  end >>>= 0
  thisStart >>>= 0
  thisEnd >>>= 0

  if (this === target) return 0

  var x = thisEnd - thisStart
  var y = end - start
  var len = Math.min(x, y)

  var thisCopy = this.slice(thisStart, thisEnd)
  var targetCopy = target.slice(start, end)

  for (var i = 0; i < len; ++i) {
    if (thisCopy[i] !== targetCopy[i]) {
      x = thisCopy[i]
      y = targetCopy[i]
      break
    }
  }

  if (x < y) return -1
  if (y < x) return 1
  return 0
}

// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
// OR the last index of `val` in `buffer` at offset <= `byteOffset`.
//
// Arguments:
// - buffer - a Buffer to search
// - val - a string, Buffer, or number
// - byteOffset - an index into `buffer`; will be clamped to an int32
// - encoding - an optional encoding, relevant is val is a string
// - dir - true for indexOf, false for lastIndexOf
function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
  // Empty buffer means no match
  if (buffer.length === 0) return -1

  // Normalize byteOffset
  if (typeof byteOffset === 'string') {
    encoding = byteOffset
    byteOffset = 0
  } else if (byteOffset > 0x7fffffff) {
    byteOffset = 0x7fffffff
  } else if (byteOffset < -0x80000000) {
    byteOffset = -0x80000000
  }
  byteOffset = +byteOffset  // Coerce to Number.
  if (isNaN(byteOffset)) {
    // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
    byteOffset = dir ? 0 : (buffer.length - 1)
  }

  // Normalize byteOffset: negative offsets start from the end of the buffer
  if (byteOffset < 0) byteOffset = buffer.length + byteOffset
  if (byteOffset >= buffer.length) {
    if (dir) return -1
    else byteOffset = buffer.length - 1
  } else if (byteOffset < 0) {
    if (dir) byteOffset = 0
    else return -1
  }

  // Normalize val
  if (typeof val === 'string') {
    val = Buffer.from(val, encoding)
  }

  // Finally, search either indexOf (if dir is true) or lastIndexOf
  if (Buffer.isBuffer(val)) {
    // Special case: looking for empty string/buffer always fails
    if (val.length === 0) {
      return -1
    }
    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
  } else if (typeof val === 'number') {
    val = val & 0xFF // Search for a byte value [0-255]
    if (Buffer.TYPED_ARRAY_SUPPORT &&
        typeof Uint8Array.prototype.indexOf === 'function') {
      if (dir) {
        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
      } else {
        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
      }
    }
    return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)
  }

  throw new TypeError('val must be string, number or Buffer')
}

function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
  var indexSize = 1
  var arrLength = arr.length
  var valLength = val.length

  if (encoding !== undefined) {
    encoding = String(encoding).toLowerCase()
    if (encoding === 'ucs2' || encoding === 'ucs-2' ||
        encoding === 'utf16le' || encoding === 'utf-16le') {
      if (arr.length < 2 || val.length < 2) {
        return -1
      }
      indexSize = 2
      arrLength /= 2
      valLength /= 2
      byteOffset /= 2
    }
  }

  function read (buf, i) {
    if (indexSize === 1) {
      return buf[i]
    } else {
      return buf.readUInt16BE(i * indexSize)
    }
  }

  var i
  if (dir) {
    var foundIndex = -1
    for (i = byteOffset; i < arrLength; i++) {
      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
        if (foundIndex === -1) foundIndex = i
        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
      } else {
        if (foundIndex !== -1) i -= i - foundIndex
        foundIndex = -1
      }
    }
  } else {
    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength
    for (i = byteOffset; i >= 0; i--) {
      var found = true
      for (var j = 0; j < valLength; j++) {
        if (read(arr, i + j) !== read(val, j)) {
          found = false
          break
        }
      }
      if (found) return i
    }
  }

  return -1
}

Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
  return this.indexOf(val, byteOffset, encoding) !== -1
}

Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
}

Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
}

function hexWrite (buf, string, offset, length) {
  offset = Number(offset) || 0
  var remaining = buf.length - offset
  if (!length) {
    length = remaining
  } else {
    length = Number(length)
    if (length > remaining) {
      length = remaining
    }
  }

  // must be an even number of digits
  var strLen = string.length
  if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')

  if (length > strLen / 2) {
    length = strLen / 2
  }
  for (var i = 0; i < length; ++i) {
    var parsed = parseInt(string.substr(i * 2, 2), 16)
    if (isNaN(parsed)) return i
    buf[offset + i] = parsed
  }
  return i
}

function utf8Write (buf, string, offset, length) {
  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
}

function asciiWrite (buf, string, offset, length) {
  return blitBuffer(asciiToBytes(string), buf, offset, length)
}

function latin1Write (buf, string, offset, length) {
  return asciiWrite(buf, string, offset, length)
}

function base64Write (buf, string, offset, length) {
  return blitBuffer(base64ToBytes(string), buf, offset, length)
}

function ucs2Write (buf, string, offset, length) {
  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
}

Buffer.prototype.write = function write (string, offset, length, encoding) {
  // Buffer#write(string)
  if (offset === undefined) {
    encoding = 'utf8'
    length = this.length
    offset = 0
  // Buffer#write(string, encoding)
  } else if (length === undefined && typeof offset === 'string') {
    encoding = offset
    length = this.length
    offset = 0
  // Buffer#write(string, offset[, length][, encoding])
  } else if (isFinite(offset)) {
    offset = offset | 0
    if (isFinite(length)) {
      length = length | 0
      if (encoding === undefined) encoding = 'utf8'
    } else {
      encoding = length
      length = undefined
    }
  // legacy write(string, encoding, offset, length) - remove in v0.13
  } else {
    throw new Error(
      'Buffer.write(string, encoding, offset[, length]) is no longer supported'
    )
  }

  var remaining = this.length - offset
  if (length === undefined || length > remaining) length = remaining

  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
    throw new RangeError('Attempt to write outside buffer bounds')
  }

  if (!encoding) encoding = 'utf8'

  var loweredCase = false
  for (;;) {
    switch (encoding) {
      case 'hex':
        return hexWrite(this, string, offset, length)

      case 'utf8':
      case 'utf-8':
        return utf8Write(this, string, offset, length)

      case 'ascii':
        return asciiWrite(this, string, offset, length)

      case 'latin1':
      case 'binary':
        return latin1Write(this, string, offset, length)

      case 'base64':
        // Warning: maxLength not taken into account in base64Write
        return base64Write(this, string, offset, length)

      case 'ucs2':
      case 'ucs-2':
      case 'utf16le':
      case 'utf-16le':
        return ucs2Write(this, string, offset, length)

      default:
        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
        encoding = ('' + encoding).toLowerCase()
        loweredCase = true
    }
  }
}

Buffer.prototype.toJSON = function toJSON () {
  return {
    type: 'Buffer',
    data: Array.prototype.slice.call(this._arr || this, 0)
  }
}

function base64Slice (buf, start, end) {
  if (start === 0 && end === buf.length) {
    return base64.fromByteArray(buf)
  } else {
    return base64.fromByteArray(buf.slice(start, end))
  }
}

function utf8Slice (buf, start, end) {
  end = Math.min(buf.length, end)
  var res = []

  var i = start
  while (i < end) {
    var firstByte = buf[i]
    var codePoint = null
    var bytesPerSequence = (firstByte > 0xEF) ? 4
      : (firstByte > 0xDF) ? 3
      : (firstByte > 0xBF) ? 2
      : 1

    if (i + bytesPerSequence <= end) {
      var secondByte, thirdByte, fourthByte, tempCodePoint

      switch (bytesPerSequence) {
        case 1:
          if (firstByte < 0x80) {
            codePoint = firstByte
          }
          break
        case 2:
          secondByte = buf[i + 1]
          if ((secondByte & 0xC0) === 0x80) {
            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
            if (tempCodePoint > 0x7F) {
              codePoint = tempCodePoint
            }
          }
          break
        case 3:
          secondByte = buf[i + 1]
          thirdByte = buf[i + 2]
          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
              codePoint = tempCodePoint
            }
          }
          break
        case 4:
          secondByte = buf[i + 1]
          thirdByte = buf[i + 2]
          fourthByte = buf[i + 3]
          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
              codePoint = tempCodePoint
            }
          }
      }
    }

    if (codePoint === null) {
      // we did not generate a valid codePoint so insert a
      // replacement char (U+FFFD) and advance only 1 byte
      codePoint = 0xFFFD
      bytesPerSequence = 1
    } else if (codePoint > 0xFFFF) {
      // encode to utf16 (surrogate pair dance)
      codePoint -= 0x10000
      res.push(codePoint >>> 10 & 0x3FF | 0xD800)
      codePoint = 0xDC00 | codePoint & 0x3FF
    }

    res.push(codePoint)
    i += bytesPerSequence
  }

  return decodeCodePointsArray(res)
}

// Based on http://stackoverflow.com/a/22747272/680742, the browser with
// the lowest limit is Chrome, with 0x10000 args.
// We go 1 magnitude less, for safety
var MAX_ARGUMENTS_LENGTH = 0x1000

function decodeCodePointsArray (codePoints) {
  var len = codePoints.length
  if (len <= MAX_ARGUMENTS_LENGTH) {
    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
  }

  // Decode in chunks to avoid "call stack size exceeded".
  var res = ''
  var i = 0
  while (i < len) {
    res += String.fromCharCode.apply(
      String,
      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
    )
  }
  return res
}

function asciiSlice (buf, start, end) {
  var ret = ''
  end = Math.min(buf.length, end)

  for (var i = start; i < end; ++i) {
    ret += String.fromCharCode(buf[i] & 0x7F)
  }
  return ret
}

function latin1Slice (buf, start, end) {
  var ret = ''
  end = Math.min(buf.length, end)

  for (var i = start; i < end; ++i) {
    ret += String.fromCharCode(buf[i])
  }
  return ret
}

function hexSlice (buf, start, end) {
  var len = buf.length

  if (!start || start < 0) start = 0
  if (!end || end < 0 || end > len) end = len

  var out = ''
  for (var i = start; i < end; ++i) {
    out += toHex(buf[i])
  }
  return out
}

function utf16leSlice (buf, start, end) {
  var bytes = buf.slice(start, end)
  var res = ''
  for (var i = 0; i < bytes.length; i += 2) {
    res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
  }
  return res
}

Buffer.prototype.slice = function slice (start, end) {
  var len = this.length
  start = ~~start
  end = end === undefined ? len : ~~end

  if (start < 0) {
    start += len
    if (start < 0) start = 0
  } else if (start > len) {
    start = len
  }

  if (end < 0) {
    end += len
    if (end < 0) end = 0
  } else if (end > len) {
    end = len
  }

  if (end < start) end = start

  var newBuf
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    newBuf = this.subarray(start, end)
    newBuf.__proto__ = Buffer.prototype
  } else {
    var sliceLen = end - start
    newBuf = new Buffer(sliceLen, undefined)
    for (var i = 0; i < sliceLen; ++i) {
      newBuf[i] = this[i + start]
    }
  }

  return newBuf
}

/*
 * Need to make sure that buffer isn't trying to write out of bounds.
 */
function checkOffset (offset, ext, length) {
  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
}

Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
  offset = offset | 0
  byteLength = byteLength | 0
  if (!noAssert) checkOffset(offset, byteLength, this.length)

  var val = this[offset]
  var mul = 1
  var i = 0
  while (++i < byteLength && (mul *= 0x100)) {
    val += this[offset + i] * mul
  }

  return val
}

Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
  offset = offset | 0
  byteLength = byteLength | 0
  if (!noAssert) {
    checkOffset(offset, byteLength, this.length)
  }

  var val = this[offset + --byteLength]
  var mul = 1
  while (byteLength > 0 && (mul *= 0x100)) {
    val += this[offset + --byteLength] * mul
  }

  return val
}

Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 1, this.length)
  return this[offset]
}

Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 2, this.length)
  return this[offset] | (this[offset + 1] << 8)
}

Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 2, this.length)
  return (this[offset] << 8) | this[offset + 1]
}

Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 4, this.length)

  return ((this[offset]) |
      (this[offset + 1] << 8) |
      (this[offset + 2] << 16)) +
      (this[offset + 3] * 0x1000000)
}

Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 4, this.length)

  return (this[offset] * 0x1000000) +
    ((this[offset + 1] << 16) |
    (this[offset + 2] << 8) |
    this[offset + 3])
}

Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
  offset = offset | 0
  byteLength = byteLength | 0
  if (!noAssert) checkOffset(offset, byteLength, this.length)

  var val = this[offset]
  var mul = 1
  var i = 0
  while (++i < byteLength && (mul *= 0x100)) {
    val += this[offset + i] * mul
  }
  mul *= 0x80

  if (val >= mul) val -= Math.pow(2, 8 * byteLength)

  return val
}

Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
  offset = offset | 0
  byteLength = byteLength | 0
  if (!noAssert) checkOffset(offset, byteLength, this.length)

  var i = byteLength
  var mul = 1
  var val = this[offset + --i]
  while (i > 0 && (mul *= 0x100)) {
    val += this[offset + --i] * mul
  }
  mul *= 0x80

  if (val >= mul) val -= Math.pow(2, 8 * byteLength)

  return val
}

Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 1, this.length)
  if (!(this[offset] & 0x80)) return (this[offset])
  return ((0xff - this[offset] + 1) * -1)
}

Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 2, this.length)
  var val = this[offset] | (this[offset + 1] << 8)
  return (val & 0x8000) ? val | 0xFFFF0000 : val
}

Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 2, this.length)
  var val = this[offset + 1] | (this[offset] << 8)
  return (val & 0x8000) ? val | 0xFFFF0000 : val
}

Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 4, this.length)

  return (this[offset]) |
    (this[offset + 1] << 8) |
    (this[offset + 2] << 16) |
    (this[offset + 3] << 24)
}

Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 4, this.length)

  return (this[offset] << 24) |
    (this[offset + 1] << 16) |
    (this[offset + 2] << 8) |
    (this[offset + 3])
}

Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 4, this.length)
  return ieee754.read(this, offset, true, 23, 4)
}

Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 4, this.length)
  return ieee754.read(this, offset, false, 23, 4)
}

Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 8, this.length)
  return ieee754.read(this, offset, true, 52, 8)
}

Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 8, this.length)
  return ieee754.read(this, offset, false, 52, 8)
}

function checkInt (buf, value, offset, ext, max, min) {
  if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
  if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
  if (offset + ext > buf.length) throw new RangeError('Index out of range')
}

Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
  value = +value
  offset = offset | 0
  byteLength = byteLength | 0
  if (!noAssert) {
    var maxBytes = Math.pow(2, 8 * byteLength) - 1
    checkInt(this, value, offset, byteLength, maxBytes, 0)
  }

  var mul = 1
  var i = 0
  this[offset] = value & 0xFF
  while (++i < byteLength && (mul *= 0x100)) {
    this[offset + i] = (value / mul) & 0xFF
  }

  return offset + byteLength
}

Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
  value = +value
  offset = offset | 0
  byteLength = byteLength | 0
  if (!noAssert) {
    var maxBytes = Math.pow(2, 8 * byteLength) - 1
    checkInt(this, value, offset, byteLength, maxBytes, 0)
  }

  var i = byteLength - 1
  var mul = 1
  this[offset + i] = value & 0xFF
  while (--i >= 0 && (mul *= 0x100)) {
    this[offset + i] = (value / mul) & 0xFF
  }

  return offset + byteLength
}

Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
  this[offset] = (value & 0xff)
  return offset + 1
}

function objectWriteUInt16 (buf, value, offset, littleEndian) {
  if (value < 0) value = 0xffff + value + 1
  for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {
    buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
      (littleEndian ? i : 1 - i) * 8
  }
}

Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset] = (value & 0xff)
    this[offset + 1] = (value >>> 8)
  } else {
    objectWriteUInt16(this, value, offset, true)
  }
  return offset + 2
}

Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset] = (value >>> 8)
    this[offset + 1] = (value & 0xff)
  } else {
    objectWriteUInt16(this, value, offset, false)
  }
  return offset + 2
}

function objectWriteUInt32 (buf, value, offset, littleEndian) {
  if (value < 0) value = 0xffffffff + value + 1
  for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {
    buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
  }
}

Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset + 3] = (value >>> 24)
    this[offset + 2] = (value >>> 16)
    this[offset + 1] = (value >>> 8)
    this[offset] = (value & 0xff)
  } else {
    objectWriteUInt32(this, value, offset, true)
  }
  return offset + 4
}

Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset] = (value >>> 24)
    this[offset + 1] = (value >>> 16)
    this[offset + 2] = (value >>> 8)
    this[offset + 3] = (value & 0xff)
  } else {
    objectWriteUInt32(this, value, offset, false)
  }
  return offset + 4
}

Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) {
    var limit = Math.pow(2, 8 * byteLength - 1)

    checkInt(this, value, offset, byteLength, limit - 1, -limit)
  }

  var i = 0
  var mul = 1
  var sub = 0
  this[offset] = value & 0xFF
  while (++i < byteLength && (mul *= 0x100)) {
    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
      sub = 1
    }
    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
  }

  return offset + byteLength
}

Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) {
    var limit = Math.pow(2, 8 * byteLength - 1)

    checkInt(this, value, offset, byteLength, limit - 1, -limit)
  }

  var i = byteLength - 1
  var mul = 1
  var sub = 0
  this[offset + i] = value & 0xFF
  while (--i >= 0 && (mul *= 0x100)) {
    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
      sub = 1
    }
    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
  }

  return offset + byteLength
}

Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
  if (value < 0) value = 0xff + value + 1
  this[offset] = (value & 0xff)
  return offset + 1
}

Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset] = (value & 0xff)
    this[offset + 1] = (value >>> 8)
  } else {
    objectWriteUInt16(this, value, offset, true)
  }
  return offset + 2
}

Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset] = (value >>> 8)
    this[offset + 1] = (value & 0xff)
  } else {
    objectWriteUInt16(this, value, offset, false)
  }
  return offset + 2
}

Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset] = (value & 0xff)
    this[offset + 1] = (value >>> 8)
    this[offset + 2] = (value >>> 16)
    this[offset + 3] = (value >>> 24)
  } else {
    objectWriteUInt32(this, value, offset, true)
  }
  return offset + 4
}

Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
  if (value < 0) value = 0xffffffff + value + 1
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset] = (value >>> 24)
    this[offset + 1] = (value >>> 16)
    this[offset + 2] = (value >>> 8)
    this[offset + 3] = (value & 0xff)
  } else {
    objectWriteUInt32(this, value, offset, false)
  }
  return offset + 4
}

function checkIEEE754 (buf, value, offset, ext, max, min) {
  if (offset + ext > buf.length) throw new RangeError('Index out of range')
  if (offset < 0) throw new RangeError('Index out of range')
}

function writeFloat (buf, value, offset, littleEndian, noAssert) {
  if (!noAssert) {
    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
  }
  ieee754.write(buf, value, offset, littleEndian, 23, 4)
  return offset + 4
}

Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
  return writeFloat(this, value, offset, true, noAssert)
}

Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
  return writeFloat(this, value, offset, false, noAssert)
}

function writeDouble (buf, value, offset, littleEndian, noAssert) {
  if (!noAssert) {
    checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
  }
  ieee754.write(buf, value, offset, littleEndian, 52, 8)
  return offset + 8
}

Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
  return writeDouble(this, value, offset, true, noAssert)
}

Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
  return writeDouble(this, value, offset, false, noAssert)
}

// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
Buffer.prototype.copy = function copy (target, targetStart, start, end) {
  if (!start) start = 0
  if (!end && end !== 0) end = this.length
  if (targetStart >= target.length) targetStart = target.length
  if (!targetStart) targetStart = 0
  if (end > 0 && end < start) end = start

  // Copy 0 bytes; we're done
  if (end === start) return 0
  if (target.length === 0 || this.length === 0) return 0

  // Fatal error conditions
  if (targetStart < 0) {
    throw new RangeError('targetStart out of bounds')
  }
  if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
  if (end < 0) throw new RangeError('sourceEnd out of bounds')

  // Are we oob?
  if (end > this.length) end = this.length
  if (target.length - targetStart < end - start) {
    end = target.length - targetStart + start
  }

  var len = end - start
  var i

  if (this === target && start < targetStart && targetStart < end) {
    // descending copy from end
    for (i = len - 1; i >= 0; --i) {
      target[i + targetStart] = this[i + start]
    }
  } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
    // ascending copy from start
    for (i = 0; i < len; ++i) {
      target[i + targetStart] = this[i + start]
    }
  } else {
    Uint8Array.prototype.set.call(
      target,
      this.subarray(start, start + len),
      targetStart
    )
  }

  return len
}

// Usage:
//    buffer.fill(number[, offset[, end]])
//    buffer.fill(buffer[, offset[, end]])
//    buffer.fill(string[, offset[, end]][, encoding])
Buffer.prototype.fill = function fill (val, start, end, encoding) {
  // Handle string cases:
  if (typeof val === 'string') {
    if (typeof start === 'string') {
      encoding = start
      start = 0
      end = this.length
    } else if (typeof end === 'string') {
      encoding = end
      end = this.length
    }
    if (val.length === 1) {
      var code = val.charCodeAt(0)
      if (code < 256) {
        val = code
      }
    }
    if (encoding !== undefined && typeof encoding !== 'string') {
      throw new TypeError('encoding must be a string')
    }
    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
      throw new TypeError('Unknown encoding: ' + encoding)
    }
  } else if (typeof val === 'number') {
    val = val & 255
  }

  // Invalid ranges are not set to a default, so can range check early.
  if (start < 0 || this.length < start || this.length < end) {
    throw new RangeError('Out of range index')
  }

  if (end <= start) {
    return this
  }

  start = start >>> 0
  end = end === undefined ? this.length : end >>> 0

  if (!val) val = 0

  var i
  if (typeof val === 'number') {
    for (i = start; i < end; ++i) {
      this[i] = val
    }
  } else {
    var bytes = Buffer.isBuffer(val)
      ? val
      : utf8ToBytes(new Buffer(val, encoding).toString())
    var len = bytes.length
    for (i = 0; i < end - start; ++i) {
      this[i + start] = bytes[i % len]
    }
  }

  return this
}

// HELPER FUNCTIONS
// ================

var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g

function base64clean (str) {
  // Node strips out invalid characters like \n and \t from the string, base64-js does not
  str = stringtrim(str).replace(INVALID_BASE64_RE, '')
  // Node converts strings with length < 2 to ''
  if (str.length < 2) return ''
  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
  while (str.length % 4 !== 0) {
    str = str + '='
  }
  return str
}

function stringtrim (str) {
  if (str.trim) return str.trim()
  return str.replace(/^\s+|\s+$/g, '')
}

function toHex (n) {
  if (n < 16) return '0' + n.toString(16)
  return n.toString(16)
}

function utf8ToBytes (string, units) {
  units = units || Infinity
  var codePoint
  var length = string.length
  var leadSurrogate = null
  var bytes = []

  for (var i = 0; i < length; ++i) {
    codePoint = string.charCodeAt(i)

    // is surrogate component
    if (codePoint > 0xD7FF && codePoint < 0xE000) {
      // last char was a lead
      if (!leadSurrogate) {
        // no lead yet
        if (codePoint > 0xDBFF) {
          // unexpected trail
          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
          continue
        } else if (i + 1 === length) {
          // unpaired lead
          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
          continue
        }

        // valid lead
        leadSurrogate = codePoint

        continue
      }

      // 2 leads in a row
      if (codePoint < 0xDC00) {
        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
        leadSurrogate = codePoint
        continue
      }

      // valid surrogate pair
      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
    } else if (leadSurrogate) {
      // valid bmp char, but last char was a lead
      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
    }

    leadSurrogate = null

    // encode utf8
    if (codePoint < 0x80) {
      if ((units -= 1) < 0) break
      bytes.push(codePoint)
    } else if (codePoint < 0x800) {
      if ((units -= 2) < 0) break
      bytes.push(
        codePoint >> 0x6 | 0xC0,
        codePoint & 0x3F | 0x80
      )
    } else if (codePoint < 0x10000) {
      if ((units -= 3) < 0) break
      bytes.push(
        codePoint >> 0xC | 0xE0,
        codePoint >> 0x6 & 0x3F | 0x80,
        codePoint & 0x3F | 0x80
      )
    } else if (codePoint < 0x110000) {
      if ((units -= 4) < 0) break
      bytes.push(
        codePoint >> 0x12 | 0xF0,
        codePoint >> 0xC & 0x3F | 0x80,
        codePoint >> 0x6 & 0x3F | 0x80,
        codePoint & 0x3F | 0x80
      )
    } else {
      throw new Error('Invalid code point')
    }
  }

  return bytes
}

function asciiToBytes (str) {
  var byteArray = []
  for (var i = 0; i < str.length; ++i) {
    // Node's code seems to be doing this and not & 0x7F..
    byteArray.push(str.charCodeAt(i) & 0xFF)
  }
  return byteArray
}

function utf16leToBytes (str, units) {
  var c, hi, lo
  var byteArray = []
  for (var i = 0; i < str.length; ++i) {
    if ((units -= 2) < 0) break

    c = str.charCodeAt(i)
    hi = c >> 8
    lo = c % 256
    byteArray.push(lo)
    byteArray.push(hi)
  }

  return byteArray
}

function base64ToBytes (str) {
  return base64.toByteArray(base64clean(str))
}

function blitBuffer (src, dst, offset, length) {
  for (var i = 0; i < length; ++i) {
    if ((i + offset >= dst.length) || (i >= src.length)) break
    dst[i + offset] = src[i]
  }
  return i
}

function isnan (val) {
  return val !== val // eslint-disable-line no-self-compare
}

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/node-libs-browser/node_modules/process/browser.js":
/*!************************************************************************!*\
  !*** ./node_modules/node-libs-browser/node_modules/process/browser.js ***!
  \************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

// shim for using process in browser
var process = module.exports = {};

// cached from whatever global is present so that test runners that stub it
// don't break things.  But we need to wrap it in a try catch in case it is
// wrapped in strict mode code which doesn't define any globals.  It's inside a
// function because try/catches deoptimize in certain engines.

var cachedSetTimeout;
var cachedClearTimeout;

function defaultSetTimout() {
    throw new Error('setTimeout has not been defined');
}
function defaultClearTimeout () {
    throw new Error('clearTimeout has not been defined');
}
(function () {
    try {
        if (typeof setTimeout === 'function') {
            cachedSetTimeout = setTimeout;
        } else {
            cachedSetTimeout = defaultSetTimout;
        }
    } catch (e) {
        cachedSetTimeout = defaultSetTimout;
    }
    try {
        if (typeof clearTimeout === 'function') {
            cachedClearTimeout = clearTimeout;
        } else {
            cachedClearTimeout = defaultClearTimeout;
        }
    } catch (e) {
        cachedClearTimeout = defaultClearTimeout;
    }
} ())
function runTimeout(fun) {
    if (cachedSetTimeout === setTimeout) {
        //normal enviroments in sane situations
        return setTimeout(fun, 0);
    }
    // if setTimeout wasn't available but was latter defined
    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
        cachedSetTimeout = setTimeout;
        return setTimeout(fun, 0);
    }
    try {
        // when when somebody has screwed with setTimeout but no I.E. maddness
        return cachedSetTimeout(fun, 0);
    } catch(e){
        try {
            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
            return cachedSetTimeout.call(null, fun, 0);
        } catch(e){
            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
            return cachedSetTimeout.call(this, fun, 0);
        }
    }


}
function runClearTimeout(marker) {
    if (cachedClearTimeout === clearTimeout) {
        //normal enviroments in sane situations
        return clearTimeout(marker);
    }
    // if clearTimeout wasn't available but was latter defined
    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
        cachedClearTimeout = clearTimeout;
        return clearTimeout(marker);
    }
    try {
        // when when somebody has screwed with setTimeout but no I.E. maddness
        return cachedClearTimeout(marker);
    } catch (e){
        try {
            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
            return cachedClearTimeout.call(null, marker);
        } catch (e){
            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
            // Some versions of I.E. have different rules for clearTimeout vs setTimeout
            return cachedClearTimeout.call(this, marker);
        }
    }



}
var queue = [];
var draining = false;
var currentQueue;
var queueIndex = -1;

function cleanUpNextTick() {
    if (!draining || !currentQueue) {
        return;
    }
    draining = false;
    if (currentQueue.length) {
        queue = currentQueue.concat(queue);
    } else {
        queueIndex = -1;
    }
    if (queue.length) {
        drainQueue();
    }
}

function drainQueue() {
    if (draining) {
        return;
    }
    var timeout = runTimeout(cleanUpNextTick);
    draining = true;

    var len = queue.length;
    while(len) {
        currentQueue = queue;
        queue = [];
        while (++queueIndex < len) {
            if (currentQueue) {
                currentQueue[queueIndex].run();
            }
        }
        queueIndex = -1;
        len = queue.length;
    }
    currentQueue = null;
    draining = false;
    runClearTimeout(timeout);
}

process.nextTick = function (fun) {
    var args = new Array(arguments.length - 1);
    if (arguments.length > 1) {
        for (var i = 1; i < arguments.length; i++) {
            args[i - 1] = arguments[i];
        }
    }
    queue.push(new Item(fun, args));
    if (queue.length === 1 && !draining) {
        runTimeout(drainQueue);
    }
};

// v8 likes predictible objects
function Item(fun, array) {
    this.fun = fun;
    this.array = array;
}
Item.prototype.run = function () {
    this.fun.apply(null, this.array);
};
process.title = 'browser';
process.browser = true;
process.env = {};
process.argv = [];
process.version = ''; // empty string to avoid regexp issues
process.versions = {};

function noop() {}

process.on = noop;
process.addListener = noop;
process.once = noop;
process.off = noop;
process.removeListener = noop;
process.removeAllListeners = noop;
process.emit = noop;
process.prependListener = noop;
process.prependOnceListener = noop;

process.listeners = function (name) { return [] }

process.binding = function (name) {
    throw new Error('process.binding is not supported');
};

process.cwd = function () { return '/' };
process.chdir = function (dir) {
    throw new Error('process.chdir is not supported');
};
process.umask = function() { return 0; };


/***/ }),

/***/ "./node_modules/number-to-bn/src/index.js":
/*!************************************************!*\
  !*** ./node_modules/number-to-bn/src/index.js ***!
  \************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

var BN = __webpack_require__(/*! bn.js */ "./node_modules/bn.js/lib/bn.js");
var stripHexPrefix = __webpack_require__(/*! strip-hex-prefix */ "./node_modules/strip-hex-prefix/src/index.js");

/**
 * Returns a BN object, converts a number value to a BN
 * @param {String|Number|Object} `arg` input a string number, hex string number, number, BigNumber or BN object
 * @return {Object} `output` BN object of the number
 * @throws if the argument is not an array, object that isn't a bignumber, not a string number or number
 */
module.exports = function numberToBN(arg) {
  if (typeof arg === 'string' || typeof arg === 'number') {
    var multiplier = new BN(1); // eslint-disable-line
    var formattedString = String(arg).toLowerCase().trim();
    var isHexPrefixed = formattedString.substr(0, 2) === '0x' || formattedString.substr(0, 3) === '-0x';
    var stringArg = stripHexPrefix(formattedString); // eslint-disable-line
    if (stringArg.substr(0, 1) === '-') {
      stringArg = stripHexPrefix(stringArg.slice(1));
      multiplier = new BN(-1, 10);
    }
    stringArg = stringArg === '' ? '0' : stringArg;

    if ((!stringArg.match(/^-?[0-9]+$/) && stringArg.match(/^[0-9A-Fa-f]+$/))
      || stringArg.match(/^[a-fA-F]+$/)
      || (isHexPrefixed === true && stringArg.match(/^[0-9A-Fa-f]+$/))) {
      return new BN(stringArg, 16).mul(multiplier);
    }

    if ((stringArg.match(/^-?[0-9]+$/) || stringArg === '') && isHexPrefixed === false) {
      return new BN(stringArg, 10).mul(multiplier);
    }
  } else if (typeof arg === 'object' && arg.toString && (!arg.pop && !arg.push)) {
    if (arg.toString(10).match(/^-?[0-9]+$/) && (arg.mul || arg.dividedToIntegerBy)) {
      return new BN(arg.toString(10), 10);
    }
  }

  throw new Error('[number-to-bn] while converting number ' + JSON.stringify(arg) + ' to BN.js instance, error: invalid number value. Value must be an integer, hex string, BN or BigNumber instance. Note, decimals are not supported.');
}


/***/ }),

/***/ "./node_modules/qtumjs-ethjs-abi/src/index.js":
/*!****************************************************!*\
  !*** ./node_modules/qtumjs-ethjs-abi/src/index.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

/* eslint-disable */
/*
Primary Attribution
Richard Moore <ricmoo@me.com>
https://github.com/ethers-io

Note, Richard is a god of ether gods. Follow and respect him, and use Ethers.io!
*/

const Buffer = __webpack_require__(/*! buffer */ "./node_modules/node-libs-browser/node_modules/buffer/index.js").Buffer;
const utils = __webpack_require__(/*! ./utils/index.js */ "./node_modules/qtumjs-ethjs-abi/src/utils/index.js");
const uint256Coder = utils.uint256Coder;
const coderBoolean = utils.coderBoolean;
const coderFixedBytes = utils.coderFixedBytes;
const coderAddress = utils.coderAddress;
const coderDynamicBytes = utils.coderDynamicBytes;
const coderString = utils.coderString;
const coderArray = utils.coderArray;
const paramTypePart = utils.paramTypePart;
const getParamCoder = utils.getParamCoder;

const {
  hexStringToBuffer,
  toHexStringNoPrefix,
  toHexString,
  configure,
} = utils

// function Result() { }
class Result {
  constructor(size = undefined) {
    if (size) {
      Object.defineProperty(this, "length", {
        value: size
      })
    }
  }

  // Implements iterator protocol for array-like destructuring and for..of loop.
  [Symbol.iterator]() {
    const size = this.length || 0

    let i = 0
    return {
      next: () => {
        const done = i > size - 1
        const v = {
          value: !done ? this[i] : undefined,
          done,
        }

        i++

        return v
      }
    }
  }
}

/**
 * @param {Array<string>} types
 * @param {any[]} values
 */
function encodeParams(types, values, noHexPrefix = false) {
  if (types.length !== values.length) {
    throw new Error(`[ethjs-abi] while encoding params, types/values mismatch, Your contract requires ${types.length} types (arguments), and you passed in ${values.length}`);
  }

  var parts = [];

  types.forEach(function (type, index) {
    var coder = getParamCoder(type);
    parts.push({ dynamic: coder.dynamic, value: coder.encode(values[index]) });
  });

  function alignSize(size) {
    return parseInt(32 * Math.ceil(size / 32));
  }

  var staticSize = 0, dynamicSize = 0;
  parts.forEach(function (part) {
    if (part.dynamic) {
      staticSize += 32;
      dynamicSize += alignSize(part.value.length);
    } else {
      staticSize += alignSize(part.value.length);
    }
  });

  var offset = 0, dynamicOffset = staticSize;
  const data = new Buffer(staticSize + dynamicSize);

  parts.forEach(function (part, index) {
    if (part.dynamic) {
      uint256Coder.encode(dynamicOffset).copy(data, offset);
      offset += 32;

      part.value.copy(data, dynamicOffset);
      dynamicOffset += alignSize(part.value.length);
    } else {
      part.value.copy(data, offset);
      offset += alignSize(part.value.length);
    }
  });

  if (noHexPrefix) {
    return toHexStringNoPrefix(data);
  } else {
    return toHexString(data);
  }
}

/**
 * Decode bytecode data from output names and types
 *
 * @param {string[]} names
 * @param {string[]} types
 * @param {(string | Buffer)} data
 * @param {boolean} useNumberedParams
 * @param {Result} values
 * @returns {Result}
 */
function decodeParams(names, types, data, useNumberedParams = true, values = new Result()) {
  // Names is optional, so shift over all the parameters if not provided
  if (arguments.length < 3) {
    data = types;
    types = names;
    names = [];
  }

  data = utils.hexOrBuffer(data);

  var offset = 0;
  types.forEach(function (type, index) {
    var coder = getParamCoder(type);

    if (coder.dynamic) {
      var dynamicOffset = uint256Coder.decode(data, offset);
      var result = coder.decode(data, dynamicOffset.value.toNumber());
      offset += dynamicOffset.consumed;
    } else {
      var result = coder.decode(data, offset);
      offset += result.consumed;
    }

    if (useNumberedParams) {
      values[index] = result.value;
    }

    if (names[index]) {
      values[names[index]] = result.value;
    }
  });
  return values;
}

// create an encoded method signature from an ABI object
function encodeSignature(method) {
  const signature = `${method.name}(${utils.getKeys(method.inputs, 'type').join(',')})`;
  const signatureEncoded = utils.keccak256(signature).slice(0, 8)

  return toHexString(signatureEncoded);
}

// encode method ABI object with values in an array, output bytecode
function encodeMethod(method, values) {
  const paramsEncoded = encodeParams(utils.getKeys(method.inputs, 'type'), values, true);

  return `${encodeSignature(method)}${paramsEncoded}`;
}

// decode method data bytecode, from method ABI object
function decodeMethod(method, data) {
  const outputNames = utils.getKeys(method.outputs, 'name', true);
  const outputTypes = utils.getKeys(method.outputs, 'type');

  return decodeParams(outputNames, outputTypes, utils.hexOrBuffer(data));
}

// decode method data bytecode, from method ABI object
function encodeEvent(eventObject, values) {
  return encodeMethod(eventObject, values);
}

function eventSignature(eventObject) {
  const signature = `${eventObject.name}(${utils.getKeys(eventObject.inputs, 'type').join(',')})`;

  return toHexString(utils.keccak256(signature));
}

// decode method data bytecode, from method ABI object
function decodeEvent(eventObject, data, topics, useNumberedParams = true) {
  const nonIndexed = eventObject.inputs.filter((input) => !input.indexed)
  const nonIndexedNames = utils.getKeys(nonIndexed, 'name', true);
  const nonIndexedTypes = utils.getKeys(nonIndexed, 'type');
  const event = decodeParams(
    nonIndexedNames, nonIndexedTypes, utils.hexOrBuffer(data), false,
    new Result(eventObject.inputs.length)
  );
  const topicOffset = eventObject.anonymous ? 0 : 1;

  let iTopic = 0;

  eventObject.inputs.map((input, i) => {
    // FIXME: special handling for string and bytes

    if (input.indexed) {
      const topic = hexStringToBuffer(topics[iTopic + topicOffset]);
      const coder = getParamCoder(input.type);
      event[input.name] = coder.decode(topic, 0).value;
      iTopic++;
    }

    if (useNumberedParams) {
      Object.defineProperty(event, i, {
        enumerable: false,
        value: event[input.name],
      });
    }
  });

  event.type = eventObject.name;

  return event;
}

// Decode a specific log item with a specific event abi
function decodeLogItem(eventObject, log, useNumberedParams = true) {
  if (eventObject && log.topics[0] === eventSignature(eventObject)) {
    return decodeEvent(eventObject, log.data, log.topics, useNumberedParams)
  }
}

// Create a decoder for all events defined in an abi. It returns a function which is called
// on an array of log entries such as received from getLogs or getTransactionReceipt and parses
// any matching log entries
function logDecoder(abi, useNumberedParams = true) {
  const eventMap = {}
  abi.filter(item => item.type === 'event').map(item => {
    eventMap[eventSignature(item)] = item
  })
  return function (logItems) {
    return logItems.map(log => decodeLogItem(eventMap[log.topics[0]], log, useNumberedParams)).filter(i => i)
  }
}


module.exports = {
  encodeParams,
  decodeParams,
  encodeMethod,
  decodeMethod,
  encodeEvent,
  decodeEvent,
  decodeLogItem,
  logDecoder,
  eventSignature,
  encodeSignature,
  configure,
};


/***/ }),

/***/ "./node_modules/qtumjs-ethjs-abi/src/utils/index.js":
/*!**********************************************************!*\
  !*** ./node_modules/qtumjs-ethjs-abi/src/utils/index.js ***!
  \**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

/*
Primary Attribution
Richard Moore <ricmoo@me.com>
https://github.com/ethers-io

Note, Richard is a god of ether gods. Follow and respect him, and use Ethers.io!
*/

const Buffer = __webpack_require__(/*! buffer */ "./node_modules/node-libs-browser/node_modules/buffer/index.js").Buffer;
const BN = __webpack_require__(/*! bn.js */ "./node_modules/bn.js/lib/bn.js");
const numberToBN = __webpack_require__(/*! number-to-bn */ "./node_modules/number-to-bn/src/index.js");
const keccak256 = __webpack_require__(/*! js-sha3 */ "./node_modules/js-sha3/src/sha3.js").keccak_256;

/**
 * Convert Buffer to hex string
 * @param {(Buffer | string)} data
 * @returns {string} data in hexadecimal string
 */
function toHexStringNoPrefix(data) {
  if (typeof data === 'string') {
    return data;
  }

  return data.toString('hex');
}

/**
 * Convert Buffer to hex string, prefixed with `0x`
 * @param {(Buffer | string)} data
 * @returns {string} data in hexadecimal string
 */
function toHexStringPrefixed(data) {
  if (typeof data === 'string') {
    return `0x${data}`;
  }

  return `0x${data.toString('hex')}`;
}

let noHexStringPrefix = false;
/**
 * Convert Buffer to hex string
 * @param {(Buffer | string)} data
 * @returns {string} data in hexadecimal string
 */
function toHexString(data) {
  if (noHexStringPrefix) {
    return toHexStringNoPrefix(data);
  }

  return toHexStringPrefixed(data);
}

/**
 *
 * @param {Object} opts ABI encoding options
 * @param {boolean} opts.noHexStringPrefix Disable 0x prefix when outputing hexadecimal string
 */
function configure(opts) {
  if (opts.noHexStringPrefix) {
    noHexStringPrefix = toHexStringNoPrefix;
  }
}

// from ethereumjs-util
function stripZeros(aInput) {
  var a = aInput; // eslint-disable-line
  var first = a[0]; // eslint-disable-line
  while (a.length > 0 && first.toString() === '0') {
    a = a.slice(1);
    first = a[0];
  }
  return a;
}

function bnToBuffer(bnInput) {
  var bn = bnInput; // eslint-disable-line
  var hex = bn.toString(16); // eslint-disable-line
  if (hex.length % 2) { hex = `0${hex}`; }
  return stripZeros(new Buffer(hex, 'hex'));
}

/**
 * Check if a string is hexadecimal data
 *
 * @param {string} value
 * @param {number} size
 */
function isHexString(value, size) {
  return hexStringToBuffer(value).length === size;
}

/**
 * Convert hexadecimal string to a buffer. The '0x' prefix is optional.
 * @param {string} value
 * @param {number} size The expected buffer size
 * @param {string} msg optional error message
 */
function hexStringToBuffer(value, size = null, msg = null) {
  if (typeof (value) !== 'string' || !value.match(/^(0x)?[0-9A-Fa-f]*$/)) {
    const err = new Error(msg || '[ethjs-abi] invalid hex string');
    err.value = value;
    throw err;
  }

  // massage the hex string before conversion to Buffer
  let data = value;
  if (data[0] === '0' && data[1] === 'x') {
    data = data.slice(2);
  }

  if (data.length % 2 !== 0) {
    data = `0${data}`;
  }

  if (size && data.length !== size * 2) {
    throw new Error(msg || `[ethjs-abi] Expects a ${size} bytes hex string`);
  }

  return new Buffer(data, 'hex');
}

/**
 * Convert string to Buffer
 * @param {(Buffer|string)} valueInput
 * @returns {Buffer}
 */
function hexOrBuffer(value) {
  if (typeof value === 'string') {
    return hexStringToBuffer(value);
  }

  return value;
}

function hexlify(value) {
  if (typeof (value) === 'number') {
    return `0x${bnToBuffer(new BN(value)).toString('hex')}`;
  } else if (value.mod || value.modulo) {
    return `0x${bnToBuffer(value).toString('hex')}`;
  } else { // eslint-disable-line
    return `0x${hexOrBuffer(value).toString('hex')}`;
  }
}

// getKeys([{a: 1, b: 2}, {a: 3, b: 4}], 'a') => [1, 3]
function getKeys(params, key, allowEmpty) {
  var result = []; // eslint-disable-line

  if (!Array.isArray(params)) { throw new Error(`[ethjs-abi] while getting keys, invalid params value ${JSON.stringify(params)}`); }

  for (var i = 0; i < params.length; i++) { // eslint-disable-line
    var value = params[i][key];  // eslint-disable-line
    if (allowEmpty && !value) {
      value = '';
    } else if (typeof (value) !== 'string') {
      throw new Error('[ethjs-abi] while getKeys found invalid ABI data structure, type value not string');
    }
    result.push(value);
  }

  return result;
}

function coderNumber(size, signed) {
  return {
    encode: function encodeNumber(valueInput) {
      var value = valueInput; // eslint-disable-line

      if (typeof value === 'object'
        && value.toString
        && (value.toTwos || value.dividedToIntegerBy)) {
        value = (value.toString(10)).split('.')[0];
      }

      if (typeof value === 'string' || typeof value === 'number') {
        value = String(value).split('.')[0];
      }

      value = numberToBN(value);
      value = value.toTwos(size * 8).maskn(size * 8);
      if (signed) {
        value = value.fromTwos(size * 8).toTwos(256);
      }
      return value.toArrayLike(Buffer, 'be', 32);
    },
    decode: function decodeNumber(data, offset) {
      var junkLength = 32 - size; // eslint-disable-line
      var value = new BN(data.slice(offset + junkLength, offset + 32)); // eslint-disable-line
      if (signed) {
        value = value.fromTwos(size * 8);
      } else {
        value = value.maskn(size * 8);
      }
      return {
        consumed: 32,
        value: new BN(value.toString(10)),
      };
    },
  };
}
const uint256Coder = coderNumber(32, false);

const coderBoolean = {
  encode: function encodeBoolean(value) {
    return uint256Coder.encode(value ? 1 : 0);
  },
  decode: function decodeBoolean(data, offset) {
    var result = uint256Coder.decode(data, offset); // eslint-disable-line
    return {
      consumed: result.consumed,
      value: !result.value.isZero(),
    };
  },
};

function coderFixedBytes(length) {
  return {
    encode: function encodeFixedBytes(valueInput) {
      var value = valueInput; // eslint-disable-line
      value = hexOrBuffer(value);

      if (value.length === 32) { return value; }

      var result = new Buffer(32); // eslint-disable-line
      result.fill(0);
      value.copy(result);
      return result;
    },
    decode: function decodeFixedBytes(data, offset) {
      if (data.length !== 0 && data.length < offset + 32) { throw new Error(`[ethjs-abi] while decoding fixed bytes, invalid bytes data length: ${length}`); }

      return {
        consumed: 32,
        value: toHexString(data.slice(offset, offset + length)),
      };
    },
  };
}

const coderAddress = {
  encode: function encodeAddress(input) {
    const result = new Buffer(32);
    const value = hexStringToBuffer(input, 20, '[ethjs-abi] while encoding invalid address; not alphanumeric 20 byte hex string');
    result.fill(0);
    value.copy(result, 12);
    return result;
  },
  decode: function decodeAddress(data, offset) {
    if (data.length === 0) {
      return {
        consumed: 32,
        value: toHexString(new Buffer('')),
      };
    }
    if (data.length !== 0 && data.length < offset + 32) { throw new Error(`[ethjs-abi] while decoding address data, invalid address data, invalid byte length ${data.length}`); }
    return {
      consumed: 32,
      value: toHexString(data.slice(offset + 12, offset + 32).toString('hex')),
    };
  },
};

function encodeDynamicBytesHelper(value) {
  var dataLength = parseInt(32 * Math.ceil(value.length / 32)); // eslint-disable-line
  var padding = new Buffer(dataLength - value.length); // eslint-disable-line
  padding.fill(0);

  return Buffer.concat([
    uint256Coder.encode(value.length),
    value,
    padding,
  ]);
}

function decodeDynamicBytesHelper(data, offset) {
  if (data.length !== 0 && data.length < offset + 32) { throw new Error(`[ethjs-abi] while decoding dynamic bytes data, invalid bytes length: ${data.length} should be less than ${offset + 32}`); }

  var length = uint256Coder.decode(data, offset).value; // eslint-disable-line
  length = length.toNumber();
  if (data.length !== 0 && data.length < offset + 32 + length) { throw new Error(`[ethjs-abi] while decoding dynamic bytes data, invalid bytes length: ${data.length} should be less than ${offset + 32 + length}`); }

  return {
    consumed: parseInt(32 + 32 * Math.ceil(length / 32), 10),
    value: data.slice(offset + 32, offset + 32 + length),
  };
}

const coderDynamicBytes = {
  encode: function encodeDynamicBytes(value) {
    return encodeDynamicBytesHelper(hexOrBuffer(value));
  },
  decode: function decodeDynamicBytes(data, offset) {
    var result = decodeDynamicBytesHelper(data, offset); // eslint-disable-line
    result.value = toHexString(result.value);
    return result;
  },
  dynamic: true,
};

const coderString = {
  encode: function encodeString(value) {
    return encodeDynamicBytesHelper(new Buffer(value, 'utf8'));
  },
  decode: function decodeString(data, offset) {
    var result = decodeDynamicBytesHelper(data, offset); // eslint-disable-line
    result.value = result.value.toString('utf8');
    return result;
  },
  dynamic: true,
};

function coderArray(coder, lengthInput) {
  return {
    encode: function encodeArray(value) {
      var result = new Buffer(0); // eslint-disable-line
      var length = lengthInput; // eslint-disable-line

      if (!Array.isArray(value)) { throw new Error('[ethjs-abi] while encoding array, invalid array data, not type Object (Array)'); }

      if (length === -1) {
        length = value.length;
        result = uint256Coder.encode(length);
      }

      if (length !== value.length) { throw new Error(`[ethjs-abi] while encoding array, size mismatch array length ${length} does not equal ${value.length}`); }

      value.forEach((resultValue) => {
        result = Buffer.concat([
          result,
          coder.encode(resultValue),
        ]);
      });

      return result;
    },
    decode: function decodeArray(data, offsetInput) {
      var length = lengthInput; // eslint-disable-line
      var offset = offsetInput; // eslint-disable-line
      // @TODO:
      // if (data.length < offset + length * 32) { throw new Error('invalid array'); }

      var consumed = 0; // eslint-disable-line
      var decodeResult; // eslint-disable-line

      if (length === -1) {
        decodeResult = uint256Coder.decode(data, offset);
        length = decodeResult.value.toNumber();
        consumed += decodeResult.consumed;
        offset += decodeResult.consumed;
      }

      var value = []; // eslint-disable-line

      for (var i = 0; i < length; i++) { // eslint-disable-line
        const loopResult = coder.decode(data, offset);
        consumed += loopResult.consumed;
        offset += loopResult.consumed;
        value.push(loopResult.value);
      }

      return {
        consumed,
        value,
      };
    },
    dynamic: (lengthInput === -1),
  };
}

// Break the type up into [staticType][staticArray]*[dynamicArray]? | [dynamicType] and
// build the coder up from its parts
const paramTypePart = new RegExp(/^((u?int|bytes)([0-9]*)|(address|bool|string)|(\[([0-9]*)\]))/);

/**
 *
 * @param {string} typeInput
 */
function getParamCoder(typeInput) {
  var type = typeInput; // eslint-disable-line
  var coder = null; // eslint-disable-line
  const invalidTypeErrorMessage = `[ethjs-abi] while getting param coder (getParamCoder) type value ${JSON.stringify(type)} is either invalid or unsupported by ethjs-abi.`;

  while (type) {
    var part = type.match(paramTypePart); // eslint-disable-line
    if (!part) { throw new Error(invalidTypeErrorMessage); }
    type = type.substring(part[0].length);

    var prefix = (part[2] || part[4] || part[5]); // eslint-disable-line
    switch (prefix) {
      case 'int': case 'uint':
        if (coder) { throw new Error(invalidTypeErrorMessage); }
        var intSize = parseInt(part[3] || 256); // eslint-disable-line
        if (intSize === 0 || intSize > 256 || (intSize % 8) !== 0) {
          throw new Error(`[ethjs-abi] while getting param coder for type ${type}, invalid ${prefix}<N> width: ${type}`);
        }

        coder = coderNumber(intSize / 8, (prefix === 'int'));
        break;

      case 'bool':
        if (coder) { throw new Error(invalidTypeErrorMessage); }
        coder = coderBoolean;
        break;

      case 'string':
        if (coder) { throw new Error(invalidTypeErrorMessage); }
        coder = coderString;
        break;

      case 'bytes':
        if (coder) { throw new Error(invalidTypeErrorMessage); }
        if (part[3]) {
          var size = parseInt(part[3]); // eslint-disable-line
          if (size === 0 || size > 32) {
            throw new Error(`[ethjs-abi] while getting param coder for prefix bytes, invalid type ${type}, size ${size} should be 0 or greater than 32`);
          }
          coder = coderFixedBytes(size);
        } else {
          coder = coderDynamicBytes;
        }
        break;

      case 'address':
        if (coder) { throw new Error(invalidTypeErrorMessage); }
        coder = coderAddress;
        break;

      case '[]':
        if (!coder || coder.dynamic) { throw new Error(invalidTypeErrorMessage); }
        coder = coderArray(coder, -1);
        break;

      // "[0-9+]"
      default:
        if (!coder || coder.dynamic) { throw new Error(invalidTypeErrorMessage); }
        var defaultSize = parseInt(part[6]); // eslint-disable-line
        coder = coderArray(coder, defaultSize);
    }
  }

  if (!coder) { throw new Error(invalidTypeErrorMessage); }
  return coder;
}

module.exports = {
  BN,
  bnToBuffer,
  isHexString,
  hexOrBuffer,
  hexlify,
  stripZeros,
  hexStringToBuffer,

  keccak256,

  getKeys,
  numberToBN,
  coderNumber,
  uint256Coder,
  coderBoolean,
  coderFixedBytes,
  coderAddress,
  coderDynamicBytes,
  coderString,
  coderArray,
  paramTypePart,
  getParamCoder,
  configure,
  toHexStringNoPrefix,
  toHexStringPrefixed,
  toHexString,
};


/***/ }),

/***/ "./node_modules/qtumjs/lib/Contract.js":
/*!*********************************************!*\
  !*** ./node_modules/qtumjs/lib/Contract.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var __rest = (this && this.__rest) || function (s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
            t[p[i]] = s[p[i]];
    return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
const eventemitter3_1 = __webpack_require__(/*! eventemitter3 */ "./node_modules/eventemitter3/index.js");
const { logDecoder, } = __webpack_require__(/*! qtumjs-ethjs-abi */ "./node_modules/qtumjs-ethjs-abi/src/index.js");
const abi_1 = __webpack_require__(/*! ./abi */ "./node_modules/qtumjs/lib/abi.js");
const TxReceiptPromise_1 = __webpack_require__(/*! ./TxReceiptPromise */ "./node_modules/qtumjs/lib/TxReceiptPromise.js");
const MethodMap_1 = __webpack_require__(/*! ./MethodMap */ "./node_modules/qtumjs/lib/MethodMap.js");
/**
 * Contract represents a Smart Contract deployed on the blockchain.
 */
class Contract {
    /**
     * Create a Contract
     *
     * @param rpc - The RPC object used to access the blockchain.
     * @param info - The deployment information about this contract generated by
     *      [solar](https://github.com/qtumproject/solar). It includes the contract
     *      address, owner address, and ABI definition for methods and types.
     * @param opts - init options
     */
    constructor(rpc, info, opts = {}) {
        this.rpc = rpc;
        this.info = info;
        this.methodMap = new MethodMap_1.MethodMap(info.abi);
        this.address = info.address;
        this._logDecoder = opts.logDecoder || new abi_1.ContractLogDecoder(this.info.abi);
        this._useBigNumber = false;
    }
    encodeParams(method, args = []) {
        const methodABI = this.methodMap.findMethod(method, args);
        if (!methodABI) {
            throw new Error(`Unknown method to call: ${method}`);
        }
        return abi_1.encodeInputs(methodABI, args);
    }
    /**
     * Call a contract method using ABI encoding, and return the RPC result as is.
     * This does not create a transaction. It is useful for gas estimation or
     * getting results from read-only methods.
     *
     * @param method name of contract method to call
     * @param args arguments
     */
    async rawCall(method, args = [], opts = {}) {
        const calldata = this.encodeParams(method, args);
        return this.rpc.callContract(Object.assign({ address: this.address, datahex: calldata, senderAddress: opts.senderAddress || this.info.sender }, opts));
    }
    /**
     * Executes contract method on your own local qtumd node as a "simulation"
     * using `callcontract`. It is free, and does not actually modify the
     * blockchain.
     *
     * @param method Name of the contract method
     * @param args Arguments for calling the method
     * @param opts call options
     */
    async call(method, args = [], opts = {}) {
        const r = await this.rawCall(method, args, opts);
        const exception = r.executionResult.excepted;
        if (exception !== "None") {
            throw new Error(`Call exception: ${exception}`);
        }
        const output = r.executionResult.output;
        let decodedOutputs = [];
        if (output !== "") {
            const methodABI = this.methodMap.findMethod(method, args);
            decodedOutputs = abi_1.decodeOutputs(methodABI, output);
        }
        const decodedLogs = r.transactionReceipt.log.map((rawLog) => {
            return this.logDecoder.decode(rawLog);
        });
        return Object.assign(r, {
            outputs: decodedOutputs,
            logs: decodedLogs,
        });
    }
    /**
     * Call a method, and return only the first return value of the method. This
     * is a convenient syntatic sugar to get the return value when there is only
     * one.
     *
     * @param method Name of the contract method
     * @param args Arguments for calling the method
     * @param opts call options
     */
    async return(method, args = [], opts = {}) {
        const result = await this.call(method, args, opts);
        return result.outputs[0];
    }
    async returnNumber(method, args = [], opts = {}) {
        const result = await this.call(method, args, opts);
        const val = result.outputs[0];
        // Convert big number to JavaScript number
        if (typeof val.toNumber !== "function") {
            throw new Error("Cannot convert result to a number");
        }
        return val.toNumber();
    }
    /**
     * Call a method, and return the first return value as Date. It is assumed
     * that the returned value is unix second.
     *
     * @param method
     * @param args
     * @param opts
     */
    async returnDate(method, args = [], opts = {}) {
        const result = await this.return(method, args, opts);
        if (typeof result !== "number") {
            throw Error("Cannot convert return value to Date. Expect return value to be a number.");
        }
        return new Date(result * 1000);
    }
    /**
     * Call a method, and return the first return value (a uint). Convert the value to
     * the desired currency unit.
     *
     * @param targetBase The currency unit to convert to. If a number, it is
     * treated as the power of 10. -8 is satoshi. 0 is the canonical unit.
     * @param method
     * @param args
     * @param opts
     */
    async returnCurrency(targetBase, method, args = [], opts = {}) {
        const value = await this.return(method, args, opts);
        if (typeof value !== "number") {
            throw Error("Cannot convert return value to currency unit. Expect return value to be a number.");
        }
        let base = 0;
        if (typeof targetBase === "number") {
            base = targetBase;
        }
        else {
            switch (targetBase) {
                case "qtum":
                case "btc":
                    base = 0;
                    break;
                case "sat":
                case "satoshi":
                    base = -8;
                default:
                    throw Error(`Unknown base currency unit: ${targetBase}`);
            }
        }
        const satoshi = 1e-8;
        return value * satoshi / (10 ** base);
    }
    async returnAs(converter, method, args = [], opts = {}) {
        const value = await this.return(method, args, opts);
        return await converter(value);
    }
    /**
     * Create a transaction that calls a method using ABI encoding, and return the
     * RPC result as is. A transaction will require network consensus to confirm,
     * and costs you gas.
     *
     * @param method name of contract method to call
     * @param args arguments
     */
    async rawSend(method, args, opts = {}) {
        // TODO opts: gas limit, gas price, sender address
        const methodABI = this.methodMap.findMethod(method, args);
        if (methodABI == null) {
            throw new Error(`Unknown method to send: ${method}`);
        }
        if (methodABI.constant) {
            throw new Error(`cannot send to a constant method: ${method}`);
        }
        const calldata = abi_1.encodeInputs(methodABI, args);
        return this.rpc.sendToContract(Object.assign({ address: this.address, datahex: calldata, senderAddress: opts.senderAddress || this.info.sender }, opts));
    }
    /**
     * Confirms an in-wallet transaction, and return the receipt.
     *
     * @param txid transaction id. Must be an in-wallet transaction
     * @param confirm how many confirmations to ensure
     * @param onConfirm callback that receives the receipt for each additional confirmation
     */
    async confirm(txid, confirm, onConfirm) {
        const txrp = new TxReceiptPromise_1.TxReceiptPromise(this.rpc, txid);
        if (onConfirm) {
            txrp.onConfirm((tx2, receipt2) => {
                const sendTxReceipt = this._makeSendTxReceipt(receipt2);
                onConfirm(tx2, sendTxReceipt);
            });
        }
        const receipt = await txrp.confirm(confirm);
        return this._makeSendTxReceipt(receipt);
    }
    /**
     * Returns the receipt for a transaction, with decoded event logs.
     *
     * @param txid transaction id. Must be an in-wallet transaction
     * @returns The receipt, or null if transaction is not yet confirmed.
     */
    async receipt(txid) {
        const receipt = await this.rpc.getTransactionReceipt({ txid });
        if (!receipt) {
            return null;
        }
        return this._makeSendTxReceipt(receipt);
    }
    async send(method, args = [], opts = {}) {
        const methodABI = this.methodMap.findMethod(method, args);
        if (methodABI == null) {
            throw new Error(`Unknown method to send: ${method}`);
        }
        if (methodABI.constant) {
            throw new Error(`cannot send to a constant method: ${method}`);
        }
        const calldata = abi_1.encodeInputs(methodABI, args);
        const sent = await this.rpc.sendToContract(Object.assign({ datahex: calldata, address: this.address, senderAddress: opts.senderAddress || this.info.sender }, opts));
        const txid = sent.txid;
        const txinfo = await this.rpc.getTransaction({ txid });
        const sendTx = Object.assign({}, txinfo, { method, confirm: (n, handler) => {
                return this.confirm(txid, n, handler);
            } });
        return sendTx;
    }
    /**
     * Get contract event logs, up to the latest block. By default, it starts looking
     * for logs from the beginning of the blockchain.
     * @param req
     */
    async logs(req = {}) {
        return this.waitLogs(Object.assign({ fromBlock: 0, toBlock: "latest" }, req));
    }
    /**
     * Get contract event logs. Long-poll wait if no log is found.
     * @param req (optional) IRPCWaitForLogsRequest
     */
    async waitLogs(req = {}) {
        const filter = req.filter || {};
        if (!filter.addresses) {
            filter.addresses = [this.address];
        }
        const result = await this.rpc.waitforlogs(Object.assign({}, req, { filter }));
        const entries = result.entries.map((entry) => {
            const parsedLog = this.logDecoder.decode(entry);
            return Object.assign({}, entry, { event: parsedLog });
        });
        return Object.assign({}, result, { entries });
    }
    /**
     * Subscribe to contract's events, using callback interface.
     */
    onLog(fn, opts = {}) {
        let nextblock = opts.fromBlock || "latest";
        const loop = async () => {
            while (true) {
                const result = await this.waitLogs(Object.assign({}, opts, { fromBlock: nextblock }));
                for (const entry of result.entries) {
                    fn(entry);
                }
                nextblock = result.nextblock;
            }
        };
        loop();
    }
    /**
     * Subscribe to contract's events, use EventsEmitter interface.
     */
    logEmitter(opts = {}) {
        const emitter = new eventemitter3_1.EventEmitter();
        this.onLog((entry) => {
            const key = (entry.event && entry.event.type) || "?";
            emitter.emit(key, entry);
        }, opts);
        return emitter;
    }
    get logDecoder() {
        return this._logDecoder;
    }
    _makeSendTxReceipt(receipt) {
        // https://stackoverflow.com/a/34710102
        // ...receiptNoLog will be a copy of receipt, without the `log` property
        const { log: rawlogs } = receipt, receiptNoLog = __rest(receipt, ["log"]);
        const logs = rawlogs.map((rawLog) => this.logDecoder.decode(rawLog));
        return Object.assign({}, receiptNoLog, { logs,
            rawlogs });
    }
}
exports.Contract = Contract;


/***/ }),

/***/ "./node_modules/qtumjs/lib/ContractsRepo.js":
/*!**************************************************!*\
  !*** ./node_modules/qtumjs/lib/ContractsRepo.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const Contract_1 = __webpack_require__(/*! ./Contract */ "./node_modules/qtumjs/lib/Contract.js");
const abi_1 = __webpack_require__(/*! ./abi */ "./node_modules/qtumjs/lib/abi.js");
const EventListener_1 = __webpack_require__(/*! ./EventListener */ "./node_modules/qtumjs/lib/EventListener.js");
/**
 * ContractsRepo contains the ABI definitions of all known contracts
 */
class ContractsRepo {
    constructor(rpc, repoData) {
        this.rpc = rpc;
        this.repoData = repoData;
        const eventABIs = this.allEventABIs();
        this.logDecoder = new abi_1.ContractLogDecoder(eventABIs);
    }
    contract(name) {
        const info = this.repoData.contracts[name];
        if (!info) {
            throw new Error(`cannot find contract: ${name}`);
        }
        // Instantiate the contract with a log decoder that can handle all known events
        return new Contract_1.Contract(this.rpc, info, { logDecoder: this.logDecoder });
    }
    eventListener() {
        return new EventListener_1.EventListener(this.rpc, this.logDecoder);
    }
    /**
     *  Combine all known event ABIs into one single array
     */
    allEventABIs() {
        const allEventABIs = [];
        const { contracts, libraries, related, } = this.repoData;
        if (contracts) {
            mergeDefs(contracts);
        }
        if (libraries) {
            mergeDefs(libraries);
        }
        if (related) {
            mergeDefs(related);
        }
        return allEventABIs;
        // inner utility function for allEventABIs
        function mergeDefs(abiDefs) {
            for (const key of Object.keys(abiDefs)) {
                const defs = abiDefs[key].abi;
                for (const def of defs) {
                    if (def.type === "event") {
                        allEventABIs.push(def);
                    }
                }
            }
        }
    }
}
exports.ContractsRepo = ContractsRepo;


/***/ }),

/***/ "./node_modules/qtumjs/lib/EventListener.js":
/*!**************************************************!*\
  !*** ./node_modules/qtumjs/lib/EventListener.js ***!
  \**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const eventemitter3_1 = __webpack_require__(/*! eventemitter3 */ "./node_modules/eventemitter3/index.js");
class EventListener {
    // TODO filter out unparseable logs
    constructor(rpc, logDecoder) {
        this.rpc = rpc;
        this.logDecoder = logDecoder;
    }
    /**
     * Get contract event logs. Long-poll wait if no log is found. Returns a cancel
     * function that stops the events subscription.
     *
     * @param req (optional) IRPCWaitForLogsRequest
     */
    waitLogs(req = {}) {
        const filter = req.filter || {};
        const logPromise = this.rpc.waitforlogs(Object.assign({}, req, { filter }));
        return logPromise.then((result) => {
            const entries = result.entries.map((entry) => {
                const parsedLog = this.logDecoder.decode(entry);
                return Object.assign({}, entry, { event: parsedLog });
            });
            return Object.assign({}, result, { entries });
        }); // bypass typechecker problem
    }
    /**
     * Subscribe to contract's events, using callback interface.
     */
    onLog(fn, opts = {}) {
        let nextblock = opts.fromBlock || "latest";
        let promiseCancel;
        let canceled = false;
        const asyncLoop = async () => {
            while (true) {
                if (canceled) {
                    break;
                }
                const logPromise = this.waitLogs(Object.assign({}, opts, { fromBlock: nextblock }));
                promiseCancel = logPromise.cancel;
                const result = await logPromise;
                for (const entry of result.entries) {
                    fn(entry);
                }
                nextblock = result.nextblock;
            }
        };
        asyncLoop();
        // return a cancel function
        return () => {
            canceled = true;
            if (promiseCancel) {
                promiseCancel();
            }
        };
    }
    /**
     * Subscribe to contract's events, use EventsEmitter interface.
     */
    emitter(opts = {}) {
        const emitter = new eventemitter3_1.EventEmitter();
        const cancel = this.onLog((entry) => {
            const key = (entry.event && entry.event.type) || "?";
            emitter.emit(key, entry);
        }, opts);
        return Object.assign(emitter, {
            cancel,
        });
    }
}
exports.EventListener = EventListener;


/***/ }),

/***/ "./node_modules/qtumjs/lib/MethodMap.js":
/*!**********************************************!*\
  !*** ./node_modules/qtumjs/lib/MethodMap.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

Object.defineProperty(exports, "__esModule", { value: true });
/**
 * Build an index of a contract's ABI definitions.
 */
class MethodMap {
    constructor(_methods) {
        this.methods = {};
        const keyCollisions = new Set();
        for (const method of _methods) {
            if (method.type !== "function") {
                continue;
            }
            const key = `${method.name}#${method.inputs.length}`;
            const sig = `${method.name}(${method.inputs.map((input) => input.type).join(",")})`;
            if (this.methods[key]) {
                // Detected ambiguity for this arity. User must use method signature
                // to select the method.
                keyCollisions.add(key);
            }
            else {
                this.methods[key] = method;
            }
            this.methods[sig] = method;
        }
        for (const key of keyCollisions) {
            delete this.methods[key];
        }
    }
    /**
     * Solidity allows method name overloading. If there's no ambiguity, allow
     * the name of the method as selector. If there is ambiguity (same number
     * of arguments, different types), must use the method signature.
     *
     * Example:
     *
     *   foo(uint a, uint b)
     *
     *   The method name is `foo`.
     *   The method signature is `foo(uint, uint)`
     */
    findMethod(selector, args = []) {
        // Find method by method signature
        const method = this.methods[selector];
        if (method) {
            return method;
        }
        // Find method by method name
        const key = `${selector}#${args.length}`;
        return this.methods[key];
    }
}
exports.MethodMap = MethodMap;


/***/ }),

/***/ "./node_modules/qtumjs/lib/Qtum.js":
/*!*****************************************!*\
  !*** ./node_modules/qtumjs/lib/Qtum.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const QtumRPC_1 = __webpack_require__(/*! ./QtumRPC */ "./node_modules/qtumjs/lib/QtumRPC.js");
const ContractsRepo_1 = __webpack_require__(/*! ./ContractsRepo */ "./node_modules/qtumjs/lib/ContractsRepo.js");
/**
 * The `Qtum` class is an instance of the `qtumjs` API.
 *
 * @param providerURL URL of the qtumd RPC service.
 * @param repoData Information about Solidity contracts.
 */
class Qtum extends QtumRPC_1.QtumRPC {
    constructor(providerURL, repoData) {
        super(providerURL);
        this.repo = new ContractsRepo_1.ContractsRepo(this, Object.assign({ 
            // massage the repoData by providing empty default properties
            contracts: {}, libraries: {}, related: {} }, repoData));
    }
    /**
     * A factory method to instantiate a `Contract` instance using the ABI
     * definitions and address found in `repoData`. The Contract instance is
     * configured with an event log decoder that can decode all known event types
     * found in `repoData`.
     *
     * @param name The name of a deployed contract
     */
    contract(name) {
        return this.repo.contract(name);
    }
}
exports.Qtum = Qtum;


/***/ }),

/***/ "./node_modules/qtumjs/lib/QtumRPC.js":
/*!********************************************!*\
  !*** ./node_modules/qtumjs/lib/QtumRPC.js ***!
  \********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const QtumRPCRaw_1 = __webpack_require__(/*! ./QtumRPCRaw */ "./node_modules/qtumjs/lib/QtumRPCRaw.js");
const sendToContractRequestDefaults = {
    amount: 0,
    gasLimit: 200000,
    // FIXME: Does not support string gasPrice although the doc says it does.
    gasPrice: 0.0000004,
};
class QtumRPC extends QtumRPCRaw_1.QtumRPCRaw {
    getInfo() {
        return this.rawCall("getinfo");
    }
    sendToContract(req) {
        const vals = Object.assign({}, sendToContractRequestDefaults, req);
        const args = [
            vals.address,
            vals.datahex,
            vals.amount,
            vals.gasLimit,
            vals.gasPrice,
        ];
        if (vals.senderAddress) {
            args.push(vals.senderAddress);
        }
        return this.rawCall("sendtocontract", args);
    }
    callContract(req) {
        const args = [
            req.address,
            req.datahex,
        ];
        if (req.senderAddress) {
            args.push(req.senderAddress);
        }
        return this.rawCall("callcontract", args);
    }
    getTransaction(req) {
        const args = [
            req.txid,
        ];
        if (req.include_watchonly) {
            args.push(req.include_watchonly);
        }
        else {
            args.push(false);
        }
        if (req.waitconf) {
            args.push(req.waitconf);
        }
        return this.rawCall("gettransaction", args);
    }
    async getTransactionReceipt(req) {
        // The raw RPC API returns [] if tx id doesn't exist or not mined yet
        // When transaction is mined, the API returns [receipt]
        //
        // We'll do the unwrapping here.
        const result = await this.rawCall("gettransactionreceipt", [req.txid]);
        if (result.length === 0) {
            return null;
        }
        return result[0];
    }
    /**
     * Long-poll request to get logs. Cancel the returned promise to terminate polling early.
     */
    waitforlogs(req = {}) {
        const args = [
            req.fromBlock,
            req.toBlock,
            req.filter,
            req.minconf,
        ];
        const cancelTokenSource = this.cancelTokenSource();
        const p = this.rawCall("waitforlogs", args, { cancelToken: cancelTokenSource.token });
        return Object.assign(p, {
            cancel: cancelTokenSource.cancel.bind(cancelTokenSource),
        });
    }
    async searchlogs(_req = {}) {
        const searchlogsDefaults = {
            fromBlock: "latest",
            toBlock: -1,
            addresses: [],
            topics: [],
            minconf: 0,
        };
        const req = Object.assign({ searchlogsDefaults }, _req);
        const args = [
            req.fromBlock,
            req.toBlock,
            req.addresses,
            req.topics,
            req.minconf,
        ];
        return this.rawCall("searchlogs", args);
    }
    async checkTransactionWaitSupport() {
        if (this._hasTxWaitSupport !== undefined) {
            return this._hasTxWaitSupport;
        }
        const helpmsg = await this.rawCall("help", ["gettransaction"]);
        this._hasTxWaitSupport = helpmsg.split("\n")[0].indexOf("waitconf") !== -1;
        return this._hasTxWaitSupport;
    }
    async fromHexAddress(hexAddress) {
        return this.rawCall("fromhexaddress", [hexAddress]);
    }
    async getHexAddress(address) {
        return this.rawCall("gethexaddress", [address]);
    }
}
exports.QtumRPC = QtumRPC;


/***/ }),

/***/ "./node_modules/qtumjs/lib/QtumRPCRaw.js":
/*!***********************************************!*\
  !*** ./node_modules/qtumjs/lib/QtumRPCRaw.js ***!
  \***********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __webpack_require__(/*! axios */ "./node_modules/axios/index.js");
const URL = __webpack_require__(/*! url-parse */ "./node_modules/url-parse/index.js");
class QtumRPCRaw {
    constructor(_baseURL) {
        this._baseURL = _baseURL;
        this.idNonce = 0;
        const url = new URL(_baseURL);
        const config = {
            baseURL: url.origin,
            // don't throw on non-200 response
            validateStatus: () => true,
        };
        if (url.username !== "" && url.password !== "") {
            config.auth = {
                username: url.username,
                password: url.password,
            };
        }
        this._api = axios_1.default.create(config);
    }
    cancelTokenSource() {
        return axios_1.default.CancelToken.source();
    }
    async rawCall(method, params = [], opts = {}) {
        const rpcCall = {
            method,
            params,
            id: this.idNonce++,
        };
        let res = await this.makeRPCCall(rpcCall);
        if (res.status === 402) {
            const auth = res.data;
            res = await this.authCall(auth.id, rpcCall);
        }
        if (res.status === 401) {
            // body is empty
            throw new Error(await res.statusText);
        }
        // 404 if method doesn't exist
        if (res.status === 404) {
            throw new Error(`unknown method: ${method}`);
        }
        if (res.status !== 200) {
            if (res.headers["content-type"] !== "application/json") {
                const body = await res.data;
                throw new Error(`${res.status} ${res.statusText}\n${res.data}`);
            }
            const eresult = await res.data;
            if (eresult.error) {
                const { code, message, } = eresult.error;
                throw new Error(`[${code}] ${message}`);
            }
            else {
                throw new Error(String(eresult));
            }
        }
        const { result } = await res.data;
        return result;
    }
    makeRPCCall(rpcCall) {
        return this._api.post("/", rpcCall);
    }
    async authCall(authID, rpcCall) {
        // long-poll an authorization until its state changes
        const res = await this._api.get(`/api/authorizations/${authID}/onchange`);
        const { data } = res;
        if (res.status !== 200) {
            throw new Error(data.message);
        }
        const auth = data;
        if (auth.state === "denied") {
            throw new Error(`Authorization denied: ${authID}`);
        }
        if (auth.state === "accepted") {
            return this.makeRPCCall(Object.assign({}, rpcCall, { auth: auth.id }));
        }
    }
}
exports.QtumRPCRaw = QtumRPCRaw;


/***/ }),

/***/ "./node_modules/qtumjs/lib/TxReceiptPromise.js":
/*!*****************************************************!*\
  !*** ./node_modules/qtumjs/lib/TxReceiptPromise.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const eventemitter3_1 = __webpack_require__(/*! eventemitter3 */ "./node_modules/eventemitter3/index.js");
const sleep_1 = __webpack_require__(/*! ./sleep */ "./node_modules/qtumjs/lib/sleep.js");
const EVENT_CONFIRM = "confirm";
class TxReceiptPromise {
    constructor(_rpc, txid) {
        this._rpc = _rpc;
        this.txid = txid;
        this._emitter = new eventemitter3_1.EventEmitter();
    }
    // TODO should return parsed logs with the receipt
    async confirm(confirm = 6, opts = {}) {
        const minconf = confirm;
        const pollInterval = opts.pollInterval || 3000;
        const hasTxWaitSupport = await this._rpc.checkTransactionWaitSupport();
        // if hasTxWaitSupport, make one long-poll per confirmation
        let curConfirmation = 1;
        // if !hasTxWaitSupport, poll every interval until tx.confirmations increased
        let lastConfirmation = 0;
        while (true) {
            const req = { txid: this.txid };
            if (hasTxWaitSupport) {
                req.waitconf = curConfirmation;
            }
            const tx = await this._rpc.getTransaction(req);
            if (tx.confirmations > 0) {
                const receipt = await this._rpc.getTransactionReceipt({ txid: tx.txid });
                if (!receipt) {
                    throw new Error("Cannot get transaction receipt");
                }
                // TODO augment receipt2 with parsed logs
                const receipt2 = receipt;
                // const ctx = new ConfirmedTransaction(this.contract.info.abi, tx, receipt)
                if (tx.confirmations > lastConfirmation) {
                    // confirmation increased since last check
                    curConfirmation = tx.confirmations;
                    this._emitter.emit(EVENT_CONFIRM, tx, receipt2);
                    // TODO emit update event
                    // txUpdated(ctx)
                }
                if (tx.confirmations >= minconf) {
                    // reached number of required confirmations. done
                    return receipt2;
                }
            }
            lastConfirmation = tx.confirmations;
            if (hasTxWaitSupport) {
                // long-poll for one additional confirmation
                curConfirmation++;
            }
            else {
                await sleep_1.sleep(pollInterval + Math.random() * 200);
            }
        }
    }
    onConfirm(fn) {
        this._emitter.on(EVENT_CONFIRM, fn);
    }
    offConfirm(fn) {
        this._emitter.off(EVENT_CONFIRM, fn);
    }
}
exports.TxReceiptPromise = TxReceiptPromise;


/***/ }),

/***/ "./node_modules/qtumjs/lib/abi.js":
/*!****************************************!*\
  !*** ./node_modules/qtumjs/lib/abi.js ***!
  \****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const { decodeParams, encodeMethod, logDecoder, configure: configureABI, } = __webpack_require__(/*! qtumjs-ethjs-abi */ "./node_modules/qtumjs-ethjs-abi/src/index.js");
configureABI({ noHexStringPrefix: true });
function encodeInputs(method, args = []) {
    const calldata = encodeMethod(method, args);
    return calldata;
}
exports.encodeInputs = encodeInputs;
function decodeOutputs(method, outputData) {
    const types = method.outputs.map((output) => output.type);
    // FIXME: would be nice to explicitly request for Array result
    const result = decodeParams(types, outputData);
    // Convert result to normal array...
    const values = [];
    for (let i = 0; i < types.length; i++) {
        values[i] = result[i];
    }
    return values;
}
exports.decodeOutputs = decodeOutputs;
class ContractLogDecoder {
    constructor(abi) {
        this.abi = abi;
        this._decoder = logDecoder(abi);
    }
    decode(rawlog) {
        const result = this._decoder([rawlog]);
        if (result.length === 0) {
            return null;
        }
        const log = result[0];
        return log;
    }
}
exports.ContractLogDecoder = ContractLogDecoder;


/***/ }),

/***/ "./node_modules/qtumjs/lib/index.js":
/*!******************************************!*\
  !*** ./node_modules/qtumjs/lib/index.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(Buffer) {
function __export(m) {
    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
// Browser polyfill required by ethjs-abi
// https://github.com/ethjs/ethjs-abi/blob/5e2d4c3b7207111c143ca30d01d743c28cfb52f6/src/utils/index.js#L28
if (typeof Buffer === "undefined") {
    const { Buffer } = __webpack_require__(/*! buffer */ "./node_modules/node-libs-browser/node_modules/buffer/index.js");
    Object.assign(window, {
        Buffer,
    });
}
__export(__webpack_require__(/*! ./abi */ "./node_modules/qtumjs/lib/abi.js"));
__export(__webpack_require__(/*! ./Contract */ "./node_modules/qtumjs/lib/Contract.js"));
__export(__webpack_require__(/*! ./QtumRPC */ "./node_modules/qtumjs/lib/QtumRPC.js"));
__export(__webpack_require__(/*! ./Qtum */ "./node_modules/qtumjs/lib/Qtum.js"));
__export(__webpack_require__(/*! ./TxReceiptPromise */ "./node_modules/qtumjs/lib/TxReceiptPromise.js"));

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node-libs-browser/node_modules/buffer/index.js */ "./node_modules/node-libs-browser/node_modules/buffer/index.js").Buffer))

/***/ }),

/***/ "./node_modules/qtumjs/lib/sleep.js":
/*!******************************************!*\
  !*** ./node_modules/qtumjs/lib/sleep.js ***!
  \******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

Object.defineProperty(exports, "__esModule", { value: true });
async function sleep(ms) {
    return new Promise((resolve) => {
        setTimeout(resolve, ms);
    });
}
exports.sleep = sleep;


/***/ }),

/***/ "./node_modules/querystringify/index.js":
/*!**********************************************!*\
  !*** ./node_modules/querystringify/index.js ***!
  \**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var has = Object.prototype.hasOwnProperty
  , undef;

/**
 * Decode a URI encoded string.
 *
 * @param {String} input The URI encoded string.
 * @returns {String|Null} The decoded string.
 * @api private
 */
function decode(input) {
  try {
    return decodeURIComponent(input.replace(/\+/g, ' '));
  } catch (e) {
    return null;
  }
}

/**
 * Attempts to encode a given input.
 *
 * @param {String} input The string that needs to be encoded.
 * @returns {String|Null} The encoded string.
 * @api private
 */
function encode(input) {
  try {
    return encodeURIComponent(input);
  } catch (e) {
    return null;
  }
}

/**
 * Simple query string parser.
 *
 * @param {String} query The query string that needs to be parsed.
 * @returns {Object}
 * @api public
 */
function querystring(query) {
  var parser = /([^=?&]+)=?([^&]*)/g
    , result = {}
    , part;

  while (part = parser.exec(query)) {
    var key = decode(part[1])
      , value = decode(part[2]);

    //
    // Prevent overriding of existing properties. This ensures that build-in
    // methods like `toString` or __proto__ are not overriden by malicious
    // querystrings.
    //
    // In the case if failed decoding, we want to omit the key/value pairs
    // from the result.
    //
    if (key === null || value === null || key in result) continue;
    result[key] = value;
  }

  return result;
}

/**
 * Transform a query string to an object.
 *
 * @param {Object} obj Object that should be transformed.
 * @param {String} prefix Optional prefix.
 * @returns {String}
 * @api public
 */
function querystringify(obj, prefix) {
  prefix = prefix || '';

  var pairs = []
    , value
    , key;

  //
  // Optionally prefix with a '?' if needed
  //
  if ('string' !== typeof prefix) prefix = '?';

  for (key in obj) {
    if (has.call(obj, key)) {
      value = obj[key];

      //
      // Edge cases where we actually want to encode the value to an empty
      // string instead of the stringified value.
      //
      if (!value && (value === null || value === undef || isNaN(value))) {
        value = '';
      }

      key = encodeURIComponent(key);
      value = encodeURIComponent(value);

      //
      // If we failed to encode the strings, we should bail out as we don't
      // want to add invalid strings to the query.
      //
      if (key === null || value === null) continue;
      pairs.push(key +'='+ value);
    }
  }

  return pairs.length ? prefix + pairs.join('&') : '';
}

//
// Expose the module.
//
exports.stringify = querystringify;
exports.parse = querystring;


/***/ }),

/***/ "./node_modules/requires-port/index.js":
/*!*********************************************!*\
  !*** ./node_modules/requires-port/index.js ***!
  \*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


/**
 * Check if we're required to add a port number.
 *
 * @see https://url.spec.whatwg.org/#default-port
 * @param {Number|String} port Port number we need to check
 * @param {String} protocol Protocol we need to check against.
 * @returns {Boolean} Is it a default port for the given protocol
 * @api private
 */
module.exports = function required(port, protocol) {
  protocol = protocol.split(':')[0];
  port = +port;

  if (!port) return false;

  switch (protocol) {
    case 'http':
    case 'ws':
    return port !== 80;

    case 'https':
    case 'wss':
    return port !== 443;

    case 'ftp':
    return port !== 21;

    case 'gopher':
    return port !== 70;

    case 'file':
    return false;
  }

  return port !== 0;
};


/***/ }),

/***/ "./node_modules/strip-hex-prefix/src/index.js":
/*!****************************************************!*\
  !*** ./node_modules/strip-hex-prefix/src/index.js ***!
  \****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

var isHexPrefixed = __webpack_require__(/*! is-hex-prefixed */ "./node_modules/is-hex-prefixed/src/index.js");

/**
 * Removes '0x' from a given `String` is present
 * @param {String} str the string value
 * @return {String|Optional} a string by pass if necessary
 */
module.exports = function stripHexPrefix(str) {
  if (typeof str !== 'string') {
    return str;
  }

  return isHexPrefixed(str) ? str.slice(2) : str;
}


/***/ }),

/***/ "./node_modules/url-parse/index.js":
/*!*****************************************!*\
  !*** ./node_modules/url-parse/index.js ***!
  \*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {

var required = __webpack_require__(/*! requires-port */ "./node_modules/requires-port/index.js")
  , qs = __webpack_require__(/*! querystringify */ "./node_modules/querystringify/index.js")
  , slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\/\//
  , protocolre = /^([a-z][a-z0-9.+-]*:)?(\/\/)?([\S\s]*)/i
  , whitespace = '[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]'
  , left = new RegExp('^'+ whitespace +'+');

/**
 * Trim a given string.
 *
 * @param {String} str String to trim.
 * @public
 */
function trimLeft(str) {
  return (str ? str : '').toString().replace(left, '');
}

/**
 * These are the parse rules for the URL parser, it informs the parser
 * about:
 *
 * 0. The char it Needs to parse, if it's a string it should be done using
 *    indexOf, RegExp using exec and NaN means set as current value.
 * 1. The property we should set when parsing this value.
 * 2. Indication if it's backwards or forward parsing, when set as number it's
 *    the value of extra chars that should be split off.
 * 3. Inherit from location if non existing in the parser.
 * 4. `toLowerCase` the resulting value.
 */
var rules = [
  ['#', 'hash'],                        // Extract from the back.
  ['?', 'query'],                       // Extract from the back.
  function sanitize(address) {          // Sanitize what is left of the address
    return address.replace('\\', '/');
  },
  ['/', 'pathname'],                    // Extract from the back.
  ['@', 'auth', 1],                     // Extract from the front.
  [NaN, 'host', undefined, 1, 1],       // Set left over value.
  [/:(\d+)$/, 'port', undefined, 1],    // RegExp the back.
  [NaN, 'hostname', undefined, 1, 1]    // Set left over.
];

/**
 * These properties should not be copied or inherited from. This is only needed
 * for all non blob URL's as a blob URL does not include a hash, only the
 * origin.
 *
 * @type {Object}
 * @private
 */
var ignore = { hash: 1, query: 1 };

/**
 * The location object differs when your code is loaded through a normal page,
 * Worker or through a worker using a blob. And with the blobble begins the
 * trouble as the location object will contain the URL of the blob, not the
 * location of the page where our code is loaded in. The actual origin is
 * encoded in the `pathname` so we can thankfully generate a good "default"
 * location from it so we can generate proper relative URL's again.
 *
 * @param {Object|String} loc Optional default location object.
 * @returns {Object} lolcation object.
 * @public
 */
function lolcation(loc) {
  var globalVar;

  if (typeof window !== 'undefined') globalVar = window;
  else if (typeof global !== 'undefined') globalVar = global;
  else if (typeof self !== 'undefined') globalVar = self;
  else globalVar = {};

  var location = globalVar.location || {};
  loc = loc || location;

  var finaldestination = {}
    , type = typeof loc
    , key;

  if ('blob:' === loc.protocol) {
    finaldestination = new Url(unescape(loc.pathname), {});
  } else if ('string' === type) {
    finaldestination = new Url(loc, {});
    for (key in ignore) delete finaldestination[key];
  } else if ('object' === type) {
    for (key in loc) {
      if (key in ignore) continue;
      finaldestination[key] = loc[key];
    }

    if (finaldestination.slashes === undefined) {
      finaldestination.slashes = slashes.test(loc.href);
    }
  }

  return finaldestination;
}

/**
 * @typedef ProtocolExtract
 * @type Object
 * @property {String} protocol Protocol matched in the URL, in lowercase.
 * @property {Boolean} slashes `true` if protocol is followed by "//", else `false`.
 * @property {String} rest Rest of the URL that is not part of the protocol.
 */

/**
 * Extract protocol information from a URL with/without double slash ("//").
 *
 * @param {String} address URL we want to extract from.
 * @return {ProtocolExtract} Extracted information.
 * @private
 */
function extractProtocol(address) {
  address = trimLeft(address);
  var match = protocolre.exec(address);

  return {
    protocol: match[1] ? match[1].toLowerCase() : '',
    slashes: !!match[2],
    rest: match[3]
  };
}

/**
 * Resolve a relative URL pathname against a base URL pathname.
 *
 * @param {String} relative Pathname of the relative URL.
 * @param {String} base Pathname of the base URL.
 * @return {String} Resolved pathname.
 * @private
 */
function resolve(relative, base) {
  if (relative === '') return base;

  var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/'))
    , i = path.length
    , last = path[i - 1]
    , unshift = false
    , up = 0;

  while (i--) {
    if (path[i] === '.') {
      path.splice(i, 1);
    } else if (path[i] === '..') {
      path.splice(i, 1);
      up++;
    } else if (up) {
      if (i === 0) unshift = true;
      path.splice(i, 1);
      up--;
    }
  }

  if (unshift) path.unshift('');
  if (last === '.' || last === '..') path.push('');

  return path.join('/');
}

/**
 * The actual URL instance. Instead of returning an object we've opted-in to
 * create an actual constructor as it's much more memory efficient and
 * faster and it pleases my OCD.
 *
 * It is worth noting that we should not use `URL` as class name to prevent
 * clashes with the global URL instance that got introduced in browsers.
 *
 * @constructor
 * @param {String} address URL we want to parse.
 * @param {Object|String} [location] Location defaults for relative paths.
 * @param {Boolean|Function} [parser] Parser for the query string.
 * @private
 */
function Url(address, location, parser) {
  address = trimLeft(address);

  if (!(this instanceof Url)) {
    return new Url(address, location, parser);
  }

  var relative, extracted, parse, instruction, index, key
    , instructions = rules.slice()
    , type = typeof location
    , url = this
    , i = 0;

  //
  // The following if statements allows this module two have compatibility with
  // 2 different API:
  //
  // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments
  //    where the boolean indicates that the query string should also be parsed.
  //
  // 2. The `URL` interface of the browser which accepts a URL, object as
  //    arguments. The supplied object will be used as default values / fall-back
  //    for relative paths.
  //
  if ('object' !== type && 'string' !== type) {
    parser = location;
    location = null;
  }

  if (parser && 'function' !== typeof parser) parser = qs.parse;

  location = lolcation(location);

  //
  // Extract protocol information before running the instructions.
  //
  extracted = extractProtocol(address || '');
  relative = !extracted.protocol && !extracted.slashes;
  url.slashes = extracted.slashes || relative && location.slashes;
  url.protocol = extracted.protocol || location.protocol || '';
  address = extracted.rest;

  //
  // When the authority component is absent the URL starts with a path
  // component.
  //
  if (!extracted.slashes) instructions[3] = [/(.*)/, 'pathname'];

  for (; i < instructions.length; i++) {
    instruction = instructions[i];

    if (typeof instruction === 'function') {
      address = instruction(address);
      continue;
    }

    parse = instruction[0];
    key = instruction[1];

    if (parse !== parse) {
      url[key] = address;
    } else if ('string' === typeof parse) {
      if (~(index = address.indexOf(parse))) {
        if ('number' === typeof instruction[2]) {
          url[key] = address.slice(0, index);
          address = address.slice(index + instruction[2]);
        } else {
          url[key] = address.slice(index);
          address = address.slice(0, index);
        }
      }
    } else if ((index = parse.exec(address))) {
      url[key] = index[1];
      address = address.slice(0, index.index);
    }

    url[key] = url[key] || (
      relative && instruction[3] ? location[key] || '' : ''
    );

    //
    // Hostname, host and protocol should be lowercased so they can be used to
    // create a proper `origin`.
    //
    if (instruction[4]) url[key] = url[key].toLowerCase();
  }

  //
  // Also parse the supplied query string in to an object. If we're supplied
  // with a custom parser as function use that instead of the default build-in
  // parser.
  //
  if (parser) url.query = parser(url.query);

  //
  // If the URL is relative, resolve the pathname against the base URL.
  //
  if (
      relative
    && location.slashes
    && url.pathname.charAt(0) !== '/'
    && (url.pathname !== '' || location.pathname !== '')
  ) {
    url.pathname = resolve(url.pathname, location.pathname);
  }

  //
  // We should not add port numbers if they are already the default port number
  // for a given protocol. As the host also contains the port number we're going
  // override it with the hostname which contains no port number.
  //
  if (!required(url.port, url.protocol)) {
    url.host = url.hostname;
    url.port = '';
  }

  //
  // Parse down the `auth` for the username and password.
  //
  url.username = url.password = '';
  if (url.auth) {
    instruction = url.auth.split(':');
    url.username = instruction[0] || '';
    url.password = instruction[1] || '';
  }

  url.origin = url.protocol && url.host && url.protocol !== 'file:'
    ? url.protocol +'//'+ url.host
    : 'null';

  //
  // The href is just the compiled result.
  //
  url.href = url.toString();
}

/**
 * This is convenience method for changing properties in the URL instance to
 * insure that they all propagate correctly.
 *
 * @param {String} part          Property we need to adjust.
 * @param {Mixed} value          The newly assigned value.
 * @param {Boolean|Function} fn  When setting the query, it will be the function
 *                               used to parse the query.
 *                               When setting the protocol, double slash will be
 *                               removed from the final url if it is true.
 * @returns {URL} URL instance for chaining.
 * @public
 */
function set(part, value, fn) {
  var url = this;

  switch (part) {
    case 'query':
      if ('string' === typeof value && value.length) {
        value = (fn || qs.parse)(value);
      }

      url[part] = value;
      break;

    case 'port':
      url[part] = value;

      if (!required(value, url.protocol)) {
        url.host = url.hostname;
        url[part] = '';
      } else if (value) {
        url.host = url.hostname +':'+ value;
      }

      break;

    case 'hostname':
      url[part] = value;

      if (url.port) value += ':'+ url.port;
      url.host = value;
      break;

    case 'host':
      url[part] = value;

      if (/:\d+$/.test(value)) {
        value = value.split(':');
        url.port = value.pop();
        url.hostname = value.join(':');
      } else {
        url.hostname = value;
        url.port = '';
      }

      break;

    case 'protocol':
      url.protocol = value.toLowerCase();
      url.slashes = !fn;
      break;

    case 'pathname':
    case 'hash':
      if (value) {
        var char = part === 'pathname' ? '/' : '#';
        url[part] = value.charAt(0) !== char ? char + value : value;
      } else {
        url[part] = value;
      }
      break;

    default:
      url[part] = value;
  }

  for (var i = 0; i < rules.length; i++) {
    var ins = rules[i];

    if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();
  }

  url.origin = url.protocol && url.host && url.protocol !== 'file:'
    ? url.protocol +'//'+ url.host
    : 'null';

  url.href = url.toString();

  return url;
}

/**
 * Transform the properties back in to a valid and full URL string.
 *
 * @param {Function} stringify Optional query stringify function.
 * @returns {String} Compiled version of the URL.
 * @public
 */
function toString(stringify) {
  if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;

  var query
    , url = this
    , protocol = url.protocol;

  if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';

  var result = protocol + (url.slashes ? '//' : '');

  if (url.username) {
    result += url.username;
    if (url.password) result += ':'+ url.password;
    result += '@';
  }

  result += url.host + url.pathname;

  query = 'object' === typeof url.query ? stringify(url.query) : url.query;
  if (query) result += '?' !== query.charAt(0) ? '?'+ query : query;

  if (url.hash) result += url.hash;

  return result;
}

Url.prototype = { set: set, toString: toString };

//
// Expose the URL parser and some additional properties that might be useful for
// others or testing.
//
Url.extractProtocol = extractProtocol;
Url.location = lolcation;
Url.trimLeft = trimLeft;
Url.qs = qs;

module.exports = Url;

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")))

/***/ }),

/***/ "./node_modules/webpack/buildin/global.js":
/*!***********************************!*\
  !*** (webpack)/buildin/global.js ***!
  \***********************************/
/*! no static exports found */
/***/ (function(module, exports) {

var g;

// This works in non-strict mode
g = (function() {
	return this;
})();

try {
	// This works if eval is allowed (see CSP)
	g = g || new Function("return this")();
} catch (e) {
	// This works if the window reference is available
	if (typeof window === "object") g = window;
}

// g can still be undefined, but nothing to do about it...
// We return undefined, instead of nothing here, so it's
// easier to handle this case. if(!global) { ...}

module.exports = g;


/***/ }),

/***/ "./node_modules/webpack/buildin/module.js":
/*!***********************************!*\
  !*** (webpack)/buildin/module.js ***!
  \***********************************/
/*! no static exports found */
/***/ (function(module, exports) {

module.exports = function(module) {
	if (!module.webpackPolyfill) {
		module.deprecate = function() {};
		module.paths = [];
		// module.parent = undefined by default
		if (!module.children) module.children = [];
		Object.defineProperty(module, "loaded", {
			enumerable: true,
			get: function() {
				return module.l;
			}
		});
		Object.defineProperty(module, "id", {
			enumerable: true,
			get: function() {
				return module.i;
			}
		});
		module.webpackPolyfill = 1;
	}
	return module;
};


/***/ }),

/***/ "./src/abis sync recursive ^\\.\\/.*\\.json$":
/*!**************************************!*\
  !*** ./src/abis sync ^\.\/.*\.json$ ***!
  \**************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

var map = {
	"./18e06e7/Proposals.json": "./src/abis/18e06e7/Proposals.json",
	"./18e06e7/TokenPorter.json": "./src/abis/18e06e7/TokenPorter.json",
	"./18e06e7/Validator.json": "./src/abis/18e06e7/Validator.json",
	"./35a6cd3/Auctions.json": "./src/abis/35a6cd3/Auctions.json",
	"./35a6cd3/AutonomousConverter.json": "./src/abis/35a6cd3/AutonomousConverter.json",
	"./35a6cd3/METToken.json": "./src/abis/35a6cd3/METToken.json",
	"./3a9a045/Auctions.json": "./src/abis/3a9a045/Auctions.json",
	"./3a9a045/AutonomousConverter.json": "./src/abis/3a9a045/AutonomousConverter.json",
	"./3a9a045/METToken.json": "./src/abis/3a9a045/METToken.json",
	"./3a9a045/Proposals.json": "./src/abis/3a9a045/Proposals.json",
	"./3a9a045/TokenPorter.json": "./src/abis/3a9a045/TokenPorter.json",
	"./3a9a045/Validator.json": "./src/abis/3a9a045/Validator.json",
	"./4af63f2/Auctions.json": "./src/abis/4af63f2/Auctions.json",
	"./4af63f2/AutonomousConverter.json": "./src/abis/4af63f2/AutonomousConverter.json",
	"./4af63f2/METToken.json": "./src/abis/4af63f2/METToken.json",
	"./6d976f7/Auctions.json": "./src/abis/6d976f7/Auctions.json",
	"./6d976f7/AutonomousConverter.json": "./src/abis/6d976f7/AutonomousConverter.json",
	"./6d976f7/METToken.json": "./src/abis/6d976f7/METToken.json",
	"./6d976f7/Proposals.json": "./src/abis/6d976f7/Proposals.json",
	"./6d976f7/TokenPorter.json": "./src/abis/6d976f7/TokenPorter.json",
	"./6d976f7/Validator.json": "./src/abis/6d976f7/Validator.json",
	"./6d976f7/metronome.json": "./src/abis/6d976f7/metronome.json",
	"./7e8f2e3/Proposals.json": "./src/abis/7e8f2e3/Proposals.json",
	"./7e8f2e3/TokenPorter.json": "./src/abis/7e8f2e3/TokenPorter.json",
	"./7e8f2e3/Validator.json": "./src/abis/7e8f2e3/Validator.json",
	"./821aeaf/Proposals.json": "./src/abis/821aeaf/Proposals.json",
	"./821aeaf/TokenPorter.json": "./src/abis/821aeaf/TokenPorter.json",
	"./821aeaf/Validator.json": "./src/abis/821aeaf/Validator.json",
	"./b21557f/Auctions.json": "./src/abis/b21557f/Auctions.json",
	"./b21557f/AutonomousConverter.json": "./src/abis/b21557f/AutonomousConverter.json",
	"./b21557f/METToken.json": "./src/abis/b21557f/METToken.json",
	"./b21557f/Proposals.json": "./src/abis/b21557f/Proposals.json",
	"./b21557f/TokenPorter.json": "./src/abis/b21557f/TokenPorter.json",
	"./b21557f/Validator.json": "./src/abis/b21557f/Validator.json"
};


function webpackContext(req) {
	var id = webpackContextResolve(req);
	return __webpack_require__(id);
}
function webpackContextResolve(req) {
	if(!__webpack_require__.o(map, req)) {
		var e = new Error("Cannot find module '" + req + "'");
		e.code = 'MODULE_NOT_FOUND';
		throw e;
	}
	return map[req];
}
webpackContext.keys = function webpackContextKeys() {
	return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = "./src/abis sync recursive ^\\.\\/.*\\.json$";

/***/ }),

/***/ "./src/abis/18e06e7/Proposals.json":
/*!*****************************************!*\
  !*** ./src/abis/18e06e7/Proposals.json ***!
  \*****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\"},{\"name\":\"action\",\"type\":\"bytes32\"},{\"name\":\"expiry\",\"type\":\"uint256\"},{\"name\":\"validator\",\"type\":\"address\"},{\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"name\":\"supportCount\",\"type\":\"uint256\"},{\"name\":\"passed\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"closeProposal\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"setValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"validator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"name\":\"_support\",\"type\":\"bool\"}],\"name\":\"voteForProposal\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"},{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeNewValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"actions\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"},{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeRemoveValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeNewThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"valProposals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_t\",\"type\":\"uint256\"}],\"name\":\"updateVotingPeriod\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"support\",\"type\":\"bool\"}],\"name\":\"LogVoted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"newValidator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"expiry\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"action\",\"type\":\"bytes32\"}],\"name\":\"LogProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"newValidator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"action\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"expiry\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"supportCount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"passed\",\"type\":\"bool\"}],\"name\":\"LogProposalClosed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/18e06e7/TokenPorter.json":
/*!*******************************************!*\
  !*** ./src/abis/18e06e7/TokenPorter.json ***!
  \*******************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[],\"name\":\"importSequence\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"setValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"chainHopStartTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"validator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"originChain\",\"type\":\"bytes8\"},{\"name\":\"recipientAddress\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\"},{\"name\":\"extraData\",\"type\":\"bytes\"},{\"name\":\"currentHash\",\"type\":\"bytes32\"},{\"name\":\"globalSupplyInOtherChains\",\"type\":\"uint256\"},{\"name\":\"validators\",\"type\":\"address[]\"}],\"name\":\"mintToken\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"claimables\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_exportFee\",\"type\":\"uint256\"}],\"name\":\"setExportFeePerTenThousand\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\"}],\"name\":\"removeDestinationChain\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"burnSequence\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\"},{\"name\":\"_destinationChain\",\"type\":\"bytes8\"},{\"name\":\"_addresses\",\"type\":\"address[]\"},{\"name\":\"_extraData\",\"type\":\"bytes\"},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\"},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\"},{\"name\":\"_importData\",\"type\":\"uint256[]\"},{\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"importMET\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"exportedBurns\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_minimumExportFee\",\"type\":\"uint256\"}],\"name\":\"setMinimumExportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"auctions\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\"}],\"name\":\"setChainHopStartTime\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"mintHashes\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumExportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"burnHashes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"exportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\"},{\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"addDestinationChain\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"burnAtTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\"},{\"name\":\"_auctionsAddr\",\"type\":\"address\"}],\"name\":\"initTokenPorter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"supplyOnAllChains\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes8\"}],\"name\":\"destinationChains\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"},{\"name\":\"_destChain\",\"type\":\"bytes8\"},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\"},{\"name\":\"_destRecipAddr\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"export\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"recipients\",\"type\":\"address[]\"}],\"name\":\"claimReceivables\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"merkleRoots\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"destinationChain\",\"type\":\"bytes8\"},{\"indexed\":false,\"name\":\"destinationMetronomeAddr\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountToBurn\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"currentTick\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"burnSequence\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"currentBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"prevBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"dailyMintable\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"supplyOnAllChains\",\"type\":\"uint256[]\"},{\"indexed\":false,\"name\":\"blockTimestamp\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"exporter\",\"type\":\"address\"}],\"name\":\"LogExportReceipt\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"originChain\",\"type\":\"bytes8\"},{\"indexed\":true,\"name\":\"currentBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"prevHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountToImport\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"exportTimeStamp\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"burnSequence\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"LogImportRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"originChain\",\"type\":\"bytes8\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountImported\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":true,\"name\":\"importSequence\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"currentHash\",\"type\":\"bytes32\"}],\"name\":\"LogImport\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"destinationMetronomeAddr\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ExportOnChainClaimedReceiptLog\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/18e06e7/Validator.json":
/*!*****************************************!*\
  !*** ./src/abis/18e06e7/Validator.json ***!
  \*****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\"}],\"name\":\"setTokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposals\",\"type\":\"address\"}],\"name\":\"setProposalContract\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getValidatorsCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"validators\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"removeValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"threshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"hashClaimed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"addValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proposals\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"hashRefutation\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"auctions\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\"},{\"name\":\"_originChain\",\"type\":\"bytes8\"},{\"name\":\"_recipientAddr\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_proof\",\"type\":\"bytes32[]\"},{\"name\":\"_extraData\",\"type\":\"bytes\"},{\"name\":\"_globalSupplyInOtherChains\",\"type\":\"uint256\"}],\"name\":\"attestHash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\"},{\"name\":\"_auctionsAddr\",\"type\":\"address\"},{\"name\":\"_tokenPorterAddr\",\"type\":\"address\"}],\"name\":\"initValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"hashAttestations\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"attestationCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"updateThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\"},{\"name\":\"_recipientAddr\",\"type\":\"address\"}],\"name\":\"refuteHash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_valCount\",\"type\":\"uint256\"},{\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"isNewThresholdValid\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"isValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"recipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"isValid\",\"type\":\"bool\"}],\"name\":\"LogAttestation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"validator\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"LogValidatorAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"validator\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"LogValidatorRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/35a6cd3/Auctions.json":
/*!****************************************!*\
  !*** ./src/abis/35a6cd3/Auctions.json ***!
  \****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[],\"name\":\"initialAuctionEndTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"initialPrice\",\"type\":\"uint256\"},{\"name\":\"_n\",\"type\":\"uint256\"}],\"name\":\"priceAt\",\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumPriceInDailyAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MULTIPLIER\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tentimes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastPurchaseTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_AC_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"hundredtimes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"genesisTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"dailyAuctionStartTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"mintable\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minted\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proceeds\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_GLOBAL_DAILY_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalMigratedIn\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumPrice\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastPurchasePrice\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"thousandtimes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"lastPurchasePrice\",\"type\":\"uint256\"},{\"name\":\"numTicks\",\"type\":\"uint256\"}],\"name\":\"priceAtInitialAuction\",\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"initPricer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"initialAuctionDuration\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"chain\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"DAILY_PURCHASE_LIMIT\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_FOUNDER_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"founders\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"globalSupplyAfterPercentageLogic\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalMigratedOut\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"AUCTION_WHEN_PERCENTAGE_LOGIC_STARTS\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"timeScale\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenLockers\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"tokens\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"purchasePrice\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"refund\",\"type\":\"uint256\"}],\"name\":\"LogAuctionFundsIn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"isRunning\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"t\",\"type\":\"uint256\"}],\"name\":\"whichTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"t\",\"type\":\"uint256\"}],\"name\":\"whichAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"heartbeat\",\"outputs\":[{\"name\":\"_chain\",\"type\":\"bytes8\"},{\"name\":\"auctionAddr\",\"type\":\"address\"},{\"name\":\"convertAddr\",\"type\":\"address\"},{\"name\":\"tokenAddr\",\"type\":\"address\"},{\"name\":\"minting\",\"type\":\"uint256\"},{\"name\":\"totalMET\",\"type\":\"uint256\"},{\"name\":\"proceedsBal\",\"type\":\"uint256\"},{\"name\":\"currTick\",\"type\":\"uint256\"},{\"name\":\"currAuction\",\"type\":\"uint256\"},{\"name\":\"nextAuctionGMT\",\"type\":\"uint256\"},{\"name\":\"genesisGMT\",\"type\":\"uint256\"},{\"name\":\"currentAuctionPrice\",\"type\":\"uint256\"},{\"name\":\"_dailyMintable\",\"type\":\"uint256\"},{\"name\":\"_lastPurchasePrice\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_proceeds\",\"type\":\"address\"},{\"name\":\"_genesisTime\",\"type\":\"uint256\"},{\"name\":\"_minimumPrice\",\"type\":\"uint256\"},{\"name\":\"_startingPrice\",\"type\":\"uint256\"},{\"name\":\"_timeScale\",\"type\":\"uint256\"},{\"name\":\"_chain\",\"type\":\"bytes8\"},{\"name\":\"_initialAuctionEndTime\",\"type\":\"uint256\"}],\"name\":\"skipInitBecauseIAmNotOg\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\"},{\"name\":\"_minimumPrice\",\"type\":\"uint256\"},{\"name\":\"_startingPrice\",\"type\":\"uint256\"},{\"name\":\"_timeScale\",\"type\":\"uint256\"}],\"name\":\"initAuctions\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_founder\",\"type\":\"address\"},{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"createTokenLocker\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_founders\",\"type\":\"uint256[]\"},{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_proceeds\",\"type\":\"address\"},{\"name\":\"_autonomousConverter\",\"type\":\"address\"}],\"name\":\"mintInitialSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stopEverything\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isInitialAuctionEnded\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"globalMetSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"globalDailySupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentPrice\",\"outputs\":[{\"name\":\"weiPerToken\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"dailyMintable\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokensOnThisChain\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentMintable\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"prepareAuctionForNonOGChain\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_wei\",\"type\":\"uint256\"},{\"name\":\"_timestamp\",\"type\":\"uint256\"}],\"name\":\"whatWouldPurchaseDo\",\"outputs\":[{\"name\":\"weiPerToken\",\"type\":\"uint256\"},{\"name\":\"tokens\",\"type\":\"uint256\"},{\"name\":\"refund\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]");

/***/ }),

/***/ "./src/abis/35a6cd3/AutonomousConverter.json":
/*!***************************************************!*\
  !*** ./src/abis/35a6cd3/AutonomousConverter.json ***!
  \***************************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"auctions\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"smartToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"reserveToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"LogFundsIn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"eth\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"met\",\"type\":\"uint256\"}],\"name\":\"ConvertEthToMet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"eth\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"met\",\"type\":\"uint256\"}],\"name\":\"ConvertMetToEth\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"name\":\"_reserveToken\",\"type\":\"address\"},{\"name\":\"_smartToken\",\"type\":\"address\"},{\"name\":\"_auctions\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"handleFund\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMetBalance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getEthBalance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_depositAmount\",\"type\":\"uint256\"}],\"name\":\"getMetForEthResult\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_depositAmount\",\"type\":\"uint256\"}],\"name\":\"getEthForMetResult\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_mintReturn\",\"type\":\"uint256\"}],\"name\":\"convertEthToMet\",\"outputs\":[{\"name\":\"returnedMet\",\"type\":\"uint256\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_mintReturn\",\"type\":\"uint256\"}],\"name\":\"convertMetToEth\",\"outputs\":[{\"name\":\"returnedEth\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]");

/***/ }),

/***/ "./src/abis/35a6cd3/METToken.json":
/*!****************************************!*\
  !*** ./src/abis/35a6cd3/METToken.json ***!
  \****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\"}],\"name\":\"setTokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"transferAllowed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\"},{\"name\":\"_minter\",\"type\":\"address\"},{\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"name\":\"_decmult\",\"type\":\"uint256\"}],\"name\":\"initToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approveMore\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"autonomousConverter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approveLess\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"destroy\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"roots\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\"},{\"name\":\"_minter\",\"type\":\"address\"},{\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"name\":\"_decmult\",\"type\":\"uint256\"}],\"name\":\"initMintable\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"subs\",\"outputs\":[{\"name\":\"startTime\",\"type\":\"uint256\"},{\"name\":\"payPerWeek\",\"type\":\"uint256\"},{\"name\":\"lastWithdrawTime\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"subscriber\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"subscribesTo\",\"type\":\"address\"}],\"name\":\"LogSubscription\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"subscriber\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"subscribesTo\",\"type\":\"address\"}],\"name\":\"LogCancelSubscription\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Destroy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\"},{\"name\":\"_minter\",\"type\":\"address\"},{\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"name\":\"_decmult\",\"type\":\"uint256\"}],\"name\":\"initMETToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"enableMETTransfers\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"bits\",\"type\":\"uint256[]\"}],\"name\":\"multiTransfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"setRoot\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getRoot\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"address\"},{\"name\":\"b\",\"type\":\"address\"}],\"name\":\"rootsMatch\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\"},{\"name\":\"_destinationChain\",\"type\":\"bytes8\"},{\"name\":\"_addresses\",\"type\":\"address[]\"},{\"name\":\"_extraData\",\"type\":\"bytes\"},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\"},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\"},{\"name\":\"_importData\",\"type\":\"uint256[]\"},{\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"importMET\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_destChain\",\"type\":\"bytes8\"},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\"},{\"name\":\"_destRecipAddr\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"export\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\"},{\"name\":\"_payPerWeek\",\"type\":\"uint256\"},{\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"subscribe\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"cancelSubscription\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"getSubscription\",\"outputs\":[{\"name\":\"startTime\",\"type\":\"uint256\"},{\"name\":\"payPerWeek\",\"type\":\"uint256\"},{\"name\":\"lastWithdrawTime\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"subWithdraw\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\"}],\"name\":\"multiSubWithdraw\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\"},{\"name\":\"_recipients\",\"type\":\"address[]\"}],\"name\":\"multiSubWithdrawFor\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]");

/***/ }),

/***/ "./src/abis/3a9a045/Auctions.json":
/*!****************************************!*\
  !*** ./src/abis/3a9a045/Auctions.json ***!
  \****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[],\"name\":\"initialAuctionEndTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"initialPrice\",\"type\":\"uint256\"},{\"name\":\"_n\",\"type\":\"uint256\"}],\"name\":\"priceAt\",\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumPriceInDailyAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MULTIPLIER\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tentimes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"restartAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isInitialAuctionEnded\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentMintable\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isRunning\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastPurchaseTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"globalMetSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_AC_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"globalDailySupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"hundredtimes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"heartbeat\",\"outputs\":[{\"name\":\"_chain\",\"type\":\"bytes8\"},{\"name\":\"auctionAddr\",\"type\":\"address\"},{\"name\":\"convertAddr\",\"type\":\"address\"},{\"name\":\"tokenAddr\",\"type\":\"address\"},{\"name\":\"minting\",\"type\":\"uint256\"},{\"name\":\"totalMET\",\"type\":\"uint256\"},{\"name\":\"proceedsBal\",\"type\":\"uint256\"},{\"name\":\"currTick\",\"type\":\"uint256\"},{\"name\":\"currAuction\",\"type\":\"uint256\"},{\"name\":\"nextAuctionGMT\",\"type\":\"uint256\"},{\"name\":\"genesisGMT\",\"type\":\"uint256\"},{\"name\":\"currentAuctionPrice\",\"type\":\"uint256\"},{\"name\":\"_dailyMintable\",\"type\":\"uint256\"},{\"name\":\"_lastPurchasePrice\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"genesisTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stopEverything\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"dailyAuctionStartTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"mintable\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minted\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokensOnThisChain\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proceeds\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_GLOBAL_DAILY_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_wei\",\"type\":\"uint256\"},{\"name\":\"_timestamp\",\"type\":\"uint256\"}],\"name\":\"whatWouldPurchaseDo\",\"outputs\":[{\"name\":\"weiPerToken\",\"type\":\"uint256\"},{\"name\":\"tokens\",\"type\":\"uint256\"},{\"name\":\"refund\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalMigratedIn\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumPrice\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastPurchasePrice\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"dailyMintable\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"thousandtimes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentPrice\",\"outputs\":[{\"name\":\"weiPerToken\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"lastPurchasePrice\",\"type\":\"uint256\"},{\"name\":\"numTicks\",\"type\":\"uint256\"}],\"name\":\"priceAtInitialAuction\",\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"initPricer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"initialAuctionDuration\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"chain\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"t\",\"type\":\"uint256\"}],\"name\":\"whichTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"DAILY_PURCHASE_LIMIT\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_FOUNDER_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"prepareAuctionForNonOGChain\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"founders\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"globalSupplyAfterPercentageLogic\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_proceeds\",\"type\":\"address\"},{\"name\":\"_genesisTime\",\"type\":\"uint256\"},{\"name\":\"_minimumPrice\",\"type\":\"uint256\"},{\"name\":\"_startingPrice\",\"type\":\"uint256\"},{\"name\":\"_timeScale\",\"type\":\"uint256\"},{\"name\":\"_chain\",\"type\":\"bytes8\"},{\"name\":\"_initialAuctionEndTime\",\"type\":\"uint256\"}],\"name\":\"skipInitBecauseIAmNotOg\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalMigratedOut\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"AUCTION_WHEN_PERCENTAGE_LOGIC_STARTS\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"timeScale\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_tick\",\"type\":\"uint256\"}],\"name\":\"whichAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"tokens\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"purchasePrice\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"refund\",\"type\":\"uint256\"}],\"name\":\"LogAuctionFundsIn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/3a9a045/AutonomousConverter.json":
/*!***************************************************!*\
  !*** ./src/abis/3a9a045/AutonomousConverter.json ***!
  \***************************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":false,\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_minReturn\",\"type\":\"uint256\"}],\"name\":\"convertMetToEth\",\"outputs\":[{\"name\":\"returnedEth\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_reserveToken\",\"type\":\"address\"},{\"name\":\"_smartToken\",\"type\":\"address\"},{\"name\":\"_auctions\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMetBalance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_depositAmount\",\"type\":\"uint256\"}],\"name\":\"getEthForMetResult\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_depositAmount\",\"type\":\"uint256\"}],\"name\":\"getMetForEthResult\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getEthBalance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"handleFund\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"auctions\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_minReturn\",\"type\":\"uint256\"}],\"name\":\"convertEthToMet\",\"outputs\":[{\"name\":\"returnedMet\",\"type\":\"uint256\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"smartToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"reserveToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"LogFundsIn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"eth\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"met\",\"type\":\"uint256\"}],\"name\":\"ConvertEthToMet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"eth\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"met\",\"type\":\"uint256\"}],\"name\":\"ConvertMetToEth\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/3a9a045/METToken.json":
/*!****************************************!*\
  !*** ./src/abis/3a9a045/METToken.json ***!
  \****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getRoot\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\"},{\"name\":\"_minter\",\"type\":\"address\"},{\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"name\":\"_decmult\",\"type\":\"uint256\"}],\"name\":\"initMETToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\"}],\"name\":\"setTokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"transferAllowed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\"},{\"name\":\"_minter\",\"type\":\"address\"},{\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"name\":\"_decmult\",\"type\":\"uint256\"}],\"name\":\"initToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_destChain\",\"type\":\"bytes8\"},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\"},{\"name\":\"_destRecipAddr\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"export\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approveMore\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"enableMETTransfers\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"autonomousConverter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"getSubscription\",\"outputs\":[{\"name\":\"startTime\",\"type\":\"uint256\"},{\"name\":\"payPerWeek\",\"type\":\"uint256\"},{\"name\":\"lastWithdrawTime\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"leakage\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\"},{\"name\":\"_destinationChain\",\"type\":\"bytes8\"},{\"name\":\"_addresses\",\"type\":\"address[]\"},{\"name\":\"_extraData\",\"type\":\"bytes\"},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\"},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\"},{\"name\":\"_importData\",\"type\":\"uint256[]\"},{\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"importMET\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approveLess\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"subWithdraw\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"cancelSubscription\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"destroy\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"roots\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\"},{\"name\":\"_payPerWeek\",\"type\":\"uint256\"},{\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"subscribe\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"bits\",\"type\":\"uint256[]\"}],\"name\":\"multiTransfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"updateLeakage\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"resetLeakage\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\"}],\"name\":\"multiSubWithdraw\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\"},{\"name\":\"_minter\",\"type\":\"address\"},{\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"name\":\"_decmult\",\"type\":\"uint256\"}],\"name\":\"initMintable\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"subs\",\"outputs\":[{\"name\":\"startTime\",\"type\":\"uint256\"},{\"name\":\"payPerWeek\",\"type\":\"uint256\"},{\"name\":\"lastWithdrawTime\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"address\"},{\"name\":\"b\",\"type\":\"address\"}],\"name\":\"rootsMatch\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"setRoot\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\"},{\"name\":\"_recipients\",\"type\":\"address[]\"}],\"name\":\"multiSubWithdrawFor\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"subscriber\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"subscribesTo\",\"type\":\"address\"}],\"name\":\"LogSubscription\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"subscriber\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"subscribesTo\",\"type\":\"address\"}],\"name\":\"LogCancelSubscription\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Destroy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/3a9a045/Proposals.json":
/*!*****************************************!*\
  !*** ./src/abis/3a9a045/Proposals.json ***!
  \*****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\"},{\"name\":\"action\",\"type\":\"bytes32\"},{\"name\":\"expiry\",\"type\":\"uint256\"},{\"name\":\"validator\",\"type\":\"address\"},{\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"name\":\"supportCount\",\"type\":\"uint256\"},{\"name\":\"passed\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"closeProposal\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"setValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"validator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"name\":\"_support\",\"type\":\"bool\"}],\"name\":\"voteForProposal\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"},{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeNewValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"actions\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"},{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeRemoveValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeNewThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"valProposals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_t\",\"type\":\"uint256\"}],\"name\":\"updateVotingPeriod\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"support\",\"type\":\"bool\"}],\"name\":\"LogVoted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"newValidator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"expiry\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"action\",\"type\":\"bytes32\"}],\"name\":\"LogProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"newValidator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"action\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"expiry\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"supportCount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"passed\",\"type\":\"bool\"}],\"name\":\"LogProposalClosed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/3a9a045/TokenPorter.json":
/*!*******************************************!*\
  !*** ./src/abis/3a9a045/TokenPorter.json ***!
  \*******************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[],\"name\":\"importSequence\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"setValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"chainHopStartTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"validator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"originChain\",\"type\":\"bytes8\"},{\"name\":\"recipientAddress\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\"},{\"name\":\"extraData\",\"type\":\"bytes\"},{\"name\":\"currentHash\",\"type\":\"bytes32\"},{\"name\":\"globalSupplyInOtherChains\",\"type\":\"uint256\"},{\"name\":\"validators\",\"type\":\"address[]\"}],\"name\":\"mintToken\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"claimables\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_exportFee\",\"type\":\"uint256\"}],\"name\":\"setExportFeePerTenThousand\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\"}],\"name\":\"removeDestinationChain\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"burnSequence\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\"},{\"name\":\"_destinationChain\",\"type\":\"bytes8\"},{\"name\":\"_addresses\",\"type\":\"address[]\"},{\"name\":\"_extraData\",\"type\":\"bytes\"},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\"},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\"},{\"name\":\"_importData\",\"type\":\"uint256[]\"},{\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"importMET\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"exportedBurns\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_minimumExportFee\",\"type\":\"uint256\"}],\"name\":\"setMinimumExportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"auctions\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\"}],\"name\":\"setChainHopStartTime\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"mintHashes\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumExportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"burnHashes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"exportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\"},{\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"addDestinationChain\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"burnAtTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\"},{\"name\":\"_auctionsAddr\",\"type\":\"address\"}],\"name\":\"initTokenPorter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"supplyOnAllChains\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes8\"}],\"name\":\"destinationChains\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"},{\"name\":\"_destChain\",\"type\":\"bytes8\"},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\"},{\"name\":\"_destRecipAddr\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"export\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"recipients\",\"type\":\"address[]\"}],\"name\":\"claimReceivables\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"merkleRoots\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"destinationChain\",\"type\":\"bytes8\"},{\"indexed\":false,\"name\":\"destinationMetronomeAddr\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountToBurn\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"currentTick\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"burnSequence\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"currentBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"prevBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"dailyMintable\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"supplyOnAllChains\",\"type\":\"uint256[]\"},{\"indexed\":false,\"name\":\"blockTimestamp\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"exporter\",\"type\":\"address\"}],\"name\":\"LogExportReceipt\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"originChain\",\"type\":\"bytes8\"},{\"indexed\":true,\"name\":\"currentBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"prevHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountToImport\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"exportTimeStamp\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"burnSequence\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"LogImportRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"originChain\",\"type\":\"bytes8\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountImported\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":true,\"name\":\"importSequence\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"currentHash\",\"type\":\"bytes32\"}],\"name\":\"LogImport\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"destinationMetronomeAddr\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ExportOnChainClaimedReceiptLog\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/3a9a045/Validator.json":
/*!*****************************************!*\
  !*** ./src/abis/3a9a045/Validator.json ***!
  \*****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\"}],\"name\":\"setTokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposals\",\"type\":\"address\"}],\"name\":\"setProposalContract\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getValidatorsCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"validators\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"removeValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"threshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"hashClaimed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"addValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proposals\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"hashRefutation\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"auctions\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\"},{\"name\":\"_originChain\",\"type\":\"bytes8\"},{\"name\":\"_recipientAddr\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_proof\",\"type\":\"bytes32[]\"},{\"name\":\"_extraData\",\"type\":\"bytes\"},{\"name\":\"_globalSupplyInOtherChains\",\"type\":\"uint256\"}],\"name\":\"attestHash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\"},{\"name\":\"_auctionsAddr\",\"type\":\"address\"},{\"name\":\"_tokenPorterAddr\",\"type\":\"address\"}],\"name\":\"initValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"hashAttestations\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"attestationCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"updateThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\"},{\"name\":\"_recipientAddr\",\"type\":\"address\"}],\"name\":\"refuteHash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_valCount\",\"type\":\"uint256\"},{\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"isNewThresholdValid\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"isValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"recipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"isValid\",\"type\":\"bool\"}],\"name\":\"LogAttestation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"validator\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"LogValidatorAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"validator\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"LogValidatorRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/4af63f2/Auctions.json":
/*!****************************************!*\
  !*** ./src/abis/4af63f2/Auctions.json ***!
  \****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[],\"name\":\"initialAuctionEndTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"initialPrice\",\"type\":\"uint256\"},{\"name\":\"_n\",\"type\":\"uint256\"}],\"name\":\"priceAt\",\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumPriceInDailyAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MULTIPLIER\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tentimes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"restartAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isInitialAuctionEnded\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentMintable\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isRunning\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastPurchaseTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"globalMetSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_AC_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"globalDailySupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"hundredtimes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"heartbeat\",\"outputs\":[{\"name\":\"_chain\",\"type\":\"bytes8\"},{\"name\":\"auctionAddr\",\"type\":\"address\"},{\"name\":\"convertAddr\",\"type\":\"address\"},{\"name\":\"tokenAddr\",\"type\":\"address\"},{\"name\":\"minting\",\"type\":\"uint256\"},{\"name\":\"totalMET\",\"type\":\"uint256\"},{\"name\":\"proceedsBal\",\"type\":\"uint256\"},{\"name\":\"currTick\",\"type\":\"uint256\"},{\"name\":\"currAuction\",\"type\":\"uint256\"},{\"name\":\"nextAuctionGMT\",\"type\":\"uint256\"},{\"name\":\"genesisGMT\",\"type\":\"uint256\"},{\"name\":\"currentAuctionPrice\",\"type\":\"uint256\"},{\"name\":\"_dailyMintable\",\"type\":\"uint256\"},{\"name\":\"_lastPurchasePrice\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"genesisTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stopEverything\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"dailyAuctionStartTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"mintable\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minted\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokensOnThisChain\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proceeds\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_GLOBAL_DAILY_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_wei\",\"type\":\"uint256\"},{\"name\":\"_timestamp\",\"type\":\"uint256\"}],\"name\":\"whatWouldPurchaseDo\",\"outputs\":[{\"name\":\"weiPerToken\",\"type\":\"uint256\"},{\"name\":\"tokens\",\"type\":\"uint256\"},{\"name\":\"refund\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalMigratedIn\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumPrice\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastPurchasePrice\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"dailyMintable\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"thousandtimes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentPrice\",\"outputs\":[{\"name\":\"weiPerToken\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"lastPurchasePrice\",\"type\":\"uint256\"},{\"name\":\"numTicks\",\"type\":\"uint256\"}],\"name\":\"priceAtInitialAuction\",\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"initPricer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"initialAuctionDuration\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"chain\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"t\",\"type\":\"uint256\"}],\"name\":\"whichTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"DAILY_PURCHASE_LIMIT\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_FOUNDER_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"prepareAuctionForNonOGChain\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"founders\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"globalSupplyAfterPercentageLogic\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_proceeds\",\"type\":\"address\"},{\"name\":\"_genesisTime\",\"type\":\"uint256\"},{\"name\":\"_minimumPrice\",\"type\":\"uint256\"},{\"name\":\"_startingPrice\",\"type\":\"uint256\"},{\"name\":\"_timeScale\",\"type\":\"uint256\"},{\"name\":\"_chain\",\"type\":\"bytes8\"},{\"name\":\"_initialAuctionEndTime\",\"type\":\"uint256\"}],\"name\":\"skipInitBecauseIAmNotOg\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalMigratedOut\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"AUCTION_WHEN_PERCENTAGE_LOGIC_STARTS\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"timeScale\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_tick\",\"type\":\"uint256\"}],\"name\":\"whichAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"tokens\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"purchasePrice\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"refund\",\"type\":\"uint256\"}],\"name\":\"LogAuctionFundsIn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/4af63f2/AutonomousConverter.json":
/*!***************************************************!*\
  !*** ./src/abis/4af63f2/AutonomousConverter.json ***!
  \***************************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":false,\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_minReturn\",\"type\":\"uint256\"}],\"name\":\"convertMetToEth\",\"outputs\":[{\"name\":\"returnedEth\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_reserveToken\",\"type\":\"address\"},{\"name\":\"_smartToken\",\"type\":\"address\"},{\"name\":\"_auctions\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMetBalance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_depositAmount\",\"type\":\"uint256\"}],\"name\":\"getEthForMetResult\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_depositAmount\",\"type\":\"uint256\"}],\"name\":\"getMetForEthResult\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getEthBalance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"handleFund\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"auctions\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_minReturn\",\"type\":\"uint256\"}],\"name\":\"convertEthToMet\",\"outputs\":[{\"name\":\"returnedMet\",\"type\":\"uint256\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"smartToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"reserveToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"LogFundsIn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"eth\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"met\",\"type\":\"uint256\"}],\"name\":\"ConvertEthToMet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"eth\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"met\",\"type\":\"uint256\"}],\"name\":\"ConvertMetToEth\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/4af63f2/METToken.json":
/*!****************************************!*\
  !*** ./src/abis/4af63f2/METToken.json ***!
  \****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getRoot\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\"},{\"name\":\"_minter\",\"type\":\"address\"},{\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"name\":\"_decmult\",\"type\":\"uint256\"}],\"name\":\"initMETToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\"}],\"name\":\"setTokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"transferAllowed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\"},{\"name\":\"_minter\",\"type\":\"address\"},{\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"name\":\"_decmult\",\"type\":\"uint256\"}],\"name\":\"initToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_destChain\",\"type\":\"bytes8\"},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\"},{\"name\":\"_destRecipAddr\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"export\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approveMore\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"enableMETTransfers\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"autonomousConverter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"getSubscription\",\"outputs\":[{\"name\":\"startTime\",\"type\":\"uint256\"},{\"name\":\"payPerWeek\",\"type\":\"uint256\"},{\"name\":\"lastWithdrawTime\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"leakage\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\"},{\"name\":\"_destinationChain\",\"type\":\"bytes8\"},{\"name\":\"_addresses\",\"type\":\"address[]\"},{\"name\":\"_extraData\",\"type\":\"bytes\"},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\"},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\"},{\"name\":\"_importData\",\"type\":\"uint256[]\"},{\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"importMET\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approveLess\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"subWithdraw\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"cancelSubscription\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"destroy\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"roots\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\"},{\"name\":\"_payPerWeek\",\"type\":\"uint256\"},{\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"subscribe\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"bits\",\"type\":\"uint256[]\"}],\"name\":\"multiTransfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"updateLeakage\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"resetLeakage\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\"}],\"name\":\"multiSubWithdraw\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\"},{\"name\":\"_minter\",\"type\":\"address\"},{\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"name\":\"_decmult\",\"type\":\"uint256\"}],\"name\":\"initMintable\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"subs\",\"outputs\":[{\"name\":\"startTime\",\"type\":\"uint256\"},{\"name\":\"payPerWeek\",\"type\":\"uint256\"},{\"name\":\"lastWithdrawTime\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"address\"},{\"name\":\"b\",\"type\":\"address\"}],\"name\":\"rootsMatch\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"setRoot\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\"},{\"name\":\"_recipients\",\"type\":\"address[]\"}],\"name\":\"multiSubWithdrawFor\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"subscriber\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"subscribesTo\",\"type\":\"address\"}],\"name\":\"LogSubscription\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"subscriber\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"subscribesTo\",\"type\":\"address\"}],\"name\":\"LogCancelSubscription\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Destroy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/6d976f7/Auctions.json":
/*!****************************************!*\
  !*** ./src/abis/6d976f7/Auctions.json ***!
  \****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"name\":\"initialAuctionEndTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"priceAt\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"initialPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_n\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minimumPriceInDailyAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"MULTIPLIER\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"currentTick\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"mintInitialSupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_founders\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_token\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_proceeds\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"tentimes\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"restartAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"initAuctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_minimumPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_startingPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_timeScale\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"initialized\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"isInitialAuctionEnded\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"currentMintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"isRunning\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"lastPurchaseTick\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"globalMetSupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"INITIAL_AC_SUPPLY\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"globalDailySupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"INITIAL_SUPPLY\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"hundredtimes\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"heartbeat\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"_chain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"auctionAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"convertAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"tokenAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"minting\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"totalMET\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"proceedsBal\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"currTick\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"currAuction\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"nextAuctionGMT\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"genesisGMT\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"currentAuctionPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_dailyMintable\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_lastPurchasePrice\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"createTokenLocker\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_founder\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_token\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"genesisTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"stopEverything\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"currentAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"dailyAuctionStartTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"mintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minted\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"tokensOnThisChain\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"proceeds\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"INITIAL_GLOBAL_DAILY_SUPPLY\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"whatWouldPurchaseDo\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_wei\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_timestamp\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"weiPerToken\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"tokens\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"refund\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"totalMigratedIn\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minimumPrice\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"lastPurchasePrice\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"dailyMintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"thousandtimes\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"currentPrice\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"weiPerToken\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"priceAtInitialAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"lastPurchasePrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"numTicks\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initPricer\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"initialAuctionDuration\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"chain\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes8\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"whichTick\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"t\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"DAILY_PURCHASE_LIMIT\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"INITIAL_FOUNDER_SUPPLY\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"prepareAuctionForNonOGChain\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"founders\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"globalSupplyAfterPercentageLogic\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"skipInitBecauseIAmNotOg\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_proceeds\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_genesisTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_minimumPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_startingPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_timeScale\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_chain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_initialAuctionEndTime\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"totalMigratedOut\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"AUCTION_WHEN_PERCENTAGE_LOGIC_STARTS\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"timeScale\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"tokenLockers\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"token\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"whichAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tick\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"\",\"type\":\"constructor\",\"payable\":false,\"inputs\":[],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"\",\"type\":\"fallback\",\"payable\":true,\"inputs\":null,\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogAuctionFundsIn\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"tokens\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"purchasePrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"refund\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}]");

/***/ }),

/***/ "./src/abis/6d976f7/AutonomousConverter.json":
/*!***************************************************!*\
  !*** ./src/abis/6d976f7/AutonomousConverter.json ***!
  \***************************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"name\":\"init\",\"type\":\"function\",\"payable\":true,\"inputs\":[{\"name\":\"_reserveToken\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_smartToken\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_auctions\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"getMetBalance\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"getMetForQtumResult\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_depositAmount\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"convertQtumToMet\",\"type\":\"function\",\"payable\":true,\"inputs\":[{\"name\":\"_minReturn\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"returnedMet\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"getQtumBalance\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"handleFund\",\"type\":\"function\",\"payable\":true,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"auctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"smartToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"getQtumForMetResult\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_depositAmount\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"reserveToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"convertMetToQtum\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_minReturn\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"returnedQtum\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"LogFundsIn\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"ConvertQtumToMet\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"qtum\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"met\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"ConvertMetToQtum\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"qtum\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"met\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}]");

/***/ }),

/***/ "./src/abis/6d976f7/METToken.json":
/*!****************************************!*\
  !*** ./src/abis/6d976f7/METToken.json ***!
  \****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"name\":\"name\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"getRoot\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"addr\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"approve\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"totalSupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initMETToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_decmult\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"setTokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"transferFrom\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"decimals\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"transferAllowed\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_decmult\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"mint\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"export\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_destChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_destRecipAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"tokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"approveMore\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"enableMETTransfers\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"autonomousConverter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"getSubscription\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_recipient\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"startTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"payPerWeek\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"lastWithdrawTime\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"leakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"importMET\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_destinationChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_addresses\",\"type\":\"address[]\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\",\"indexed\":false},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_importData\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_proof\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"balanceOf\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"approveLess\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"subWithdraw\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"cancelSubscription\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_recipient\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"symbol\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"destroy\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"roots\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"transfer\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"subscribe\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_payPerWeek\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_recipient\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"multiTransfer\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"bits\",\"type\":\"uint256[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"updateLeakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"resetLeakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"multiSubWithdraw\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"initMintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_decmult\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"subs\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false},{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"startTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"payPerWeek\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"lastWithdrawTime\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"rootsMatch\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"a\",\"type\":\"address\",\"indexed\":false},{\"name\":\"b\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setRoot\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"data\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"allowance\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"multiSubWithdrawFor\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\",\"indexed\":false},{\"name\":\"_recipients\",\"type\":\"address[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"LogSubscription\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"subscriber\",\"type\":\"address\",\"indexed\":true},{\"name\":\"subscribesTo\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogCancelSubscription\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"subscriber\",\"type\":\"address\",\"indexed\":true},{\"name\":\"subscribesTo\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Mint\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Destroy\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Transfer\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Approval\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false}]");

/***/ }),

/***/ "./src/abis/6d976f7/Proposals.json":
/*!*****************************************!*\
  !*** ./src/abis/6d976f7/Proposals.json ***!
  \*****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"name\":\"proposals\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"action\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"expiry\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"validator\",\"type\":\"address\",\"indexed\":false},{\"name\":\"newThreshold\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"supportCount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"passed\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"votingPeriod\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"closeProposal\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"setValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"validator\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"voteForProposal\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_support\",\"type\":\"bool\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"proposeNewValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_newThreshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"actions\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"proposeRemoveValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_newThreshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"proposeNewThreshold\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newThreshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"updateVotingPeriod\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_t\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"\",\"type\":\"constructor\",\"payable\":false,\"inputs\":[],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogVoted\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"voter\",\"type\":\"address\",\"indexed\":true},{\"name\":\"support\",\"type\":\"bool\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogProposalCreated\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"newValidator\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newThreshold\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"creator\",\"type\":\"address\",\"indexed\":false},{\"name\":\"expiry\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"action\",\"type\":\"bytes32\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogProposalClosed\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"newValidator\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newThreshold\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"action\",\"type\":\"bytes32\",\"indexed\":true},{\"name\":\"expiry\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"supportCount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"passed\",\"type\":\"bool\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}]");

/***/ }),

/***/ "./src/abis/6d976f7/TokenPorter.json":
/*!*******************************************!*\
  !*** ./src/abis/6d976f7/TokenPorter.json ***!
  \*******************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"name\":\"importSequence\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"chainHopStartTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"validator\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"mintToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"recipientAddress\",\"type\":\"address\",\"indexed\":false},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"currentHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"globalSupplyInOtherChains\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"validators\",\"type\":\"address[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"claimables\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false},{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setExportFeePerTenThousand\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_exportFee\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"removeDestinationChain\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"burnSequence\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"importMET\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_destinationChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_addresses\",\"type\":\"address[]\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\",\"indexed\":false},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_importData\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_proof\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"exportedBurns\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setMinimumExportFee\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_minimumExportFee\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"auctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setChainHopStartTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"mintHashes\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minimumExportFee\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"burnHashes\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"exportFee\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"addDestinationChain\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_contractAddress\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"burnAtTick\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initTokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_auctionsAddr\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"supplyOnAllChains\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"destinationChains\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes8\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"export\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_destChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_destRecipAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"claimReceivables\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"recipients\",\"type\":\"address[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"token\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"merkleRoots\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"LogExportReceipt\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"destinationChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"destinationMetronomeAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"destinationRecipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amountToBurn\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"currentTick\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"burnSequence\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"currentBurnHash\",\"type\":\"bytes32\",\"indexed\":true},{\"name\":\"prevBurnHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"dailyMintable\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"supplyOnAllChains\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"blockTimestamp\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"exporter\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogImportRequest\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"currentBurnHash\",\"type\":\"bytes32\",\"indexed\":true},{\"name\":\"prevHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"destinationRecipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amountToImport\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"exportTimeStamp\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"burnSequence\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"extraData\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogImport\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"destinationRecipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amountImported\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"importSequence\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"currentHash\",\"type\":\"bytes32\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"ExportOnChainClaimedReceiptLog\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"destinationMetronomeAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"destinationRecipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false}]");

/***/ }),

/***/ "./src/abis/6d976f7/Validator.json":
/*!*****************************************!*\
  !*** ./src/abis/6d976f7/Validator.json ***!
  \*****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"name\":\"setTokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"setProposalContract\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_proposals\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"getValidatorsCount\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"validators\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"removeValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"threshold\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"tokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"hashClaimed\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"addValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"proposals\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"hashRefutation\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"auctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"attestHash\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"_originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_recipientAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_proof\",\"type\":\"bytes32[]\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"_globalSupplyInOtherChains\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"initValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_auctionsAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_tokenPorterAddr\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"hashAttestations\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"attestationCount\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"updateThreshold\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_threshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"refuteHash\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"_recipientAddr\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"isNewThresholdValid\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_valCount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_threshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"isValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"token\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"LogAttestation\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"hash\",\"type\":\"bytes32\",\"indexed\":true},{\"name\":\"recipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"isValid\",\"type\":\"bool\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogValidatorAdded\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"validator\",\"type\":\"address\",\"indexed\":true},{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"threshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogValidatorRemoved\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"validator\",\"type\":\"address\",\"indexed\":true},{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"threshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}]");

/***/ }),

/***/ "./src/abis/6d976f7/metronome.json":
/*!*****************************************!*\
  !*** ./src/abis/6d976f7/metronome.json ***!
  \*****************************************/
/*! exports provided: contracts, libraries, related, default */
/***/ (function(module) {

module.exports = JSON.parse("{\"contracts\":{\"Auctions\":{\"source\":\"Auctions:Auctions\",\"abi\":[{\"name\":\"initialAuctionEndTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"priceAt\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"initialPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_n\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minimumPriceInDailyAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"MULTIPLIER\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"currentTick\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"mintInitialSupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_founders\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_token\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_proceeds\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"tentimes\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"restartAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"initAuctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_minimumPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_startingPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_timeScale\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"initialized\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"isInitialAuctionEnded\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"currentMintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"isRunning\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"lastPurchaseTick\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"globalMetSupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"INITIAL_AC_SUPPLY\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"globalDailySupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"INITIAL_SUPPLY\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"hundredtimes\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"heartbeat\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"_chain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"auctionAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"convertAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"tokenAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"minting\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"totalMET\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"proceedsBal\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"currTick\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"currAuction\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"nextAuctionGMT\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"genesisGMT\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"currentAuctionPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_dailyMintable\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_lastPurchasePrice\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"createTokenLocker\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_founder\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_token\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"genesisTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"stopEverything\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"currentAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"dailyAuctionStartTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"mintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minted\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"tokensOnThisChain\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"proceeds\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"INITIAL_GLOBAL_DAILY_SUPPLY\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"whatWouldPurchaseDo\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_wei\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_timestamp\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"weiPerToken\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"tokens\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"refund\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"totalMigratedIn\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minimumPrice\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"lastPurchasePrice\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"dailyMintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"thousandtimes\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"currentPrice\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"weiPerToken\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"priceAtInitialAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"lastPurchasePrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"numTicks\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initPricer\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"initialAuctionDuration\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"chain\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes8\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"whichTick\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"t\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"DAILY_PURCHASE_LIMIT\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"INITIAL_FOUNDER_SUPPLY\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"prepareAuctionForNonOGChain\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"founders\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"globalSupplyAfterPercentageLogic\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"skipInitBecauseIAmNotOg\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_proceeds\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_genesisTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_minimumPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_startingPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_timeScale\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_chain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_initialAuctionEndTime\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"totalMigratedOut\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"AUCTION_WHEN_PERCENTAGE_LOGIC_STARTS\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"timeScale\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"tokenLockers\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"token\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"whichAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tick\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"\",\"type\":\"constructor\",\"payable\":false,\"inputs\":[],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"\",\"type\":\"fallback\",\"payable\":true,\"inputs\":null,\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogAuctionFundsIn\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"tokens\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"purchasePrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"refund\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"60606040526503005753e800600090815560018080556a01a78429bce3279a9c0000600e55670de0b6b3a7640000600f5560108290556011919091556012556a084595161401484a00000060135562093a806014556a2b8213a156a49f0d000000601a55601b805467ffffffffffffffff1916675154554d00000000179055341561008957600080fd5b60058054600160a060020a03191633600160a060020a03161790556a069e10de76676d080000006013556135b3806100c26000396000f300606060405260043610620002d45763ffffffff60e060020a600035041662fca46f8114620007dc57806301dbdf441462000804578063053f74921462000820578063059f8b161462000836578063065e5360146200084c5780630a5f558e14620008625780630d2a25bb14620008e25780630dd93b5614620008f85780630eab31b1146200090e578063158ef93e14620009305780631d38bebd14620009465780631d3ce58d146200095c5780632014e5d1146200097257806321288400146200098857806322ce61b2146200099e5780632af4c31e14620009b45780632b193ac414620009d65780632b37921814620009ec5780632ff2e9dc1462000a025780633264a8441462000a185780633defb9621462000a2e57806340a3a9c71462000ae057806342c6498a1462000b0a5780634938649a1462000b20578063496a698d1462000b3657806349b11f241462000b4c5780634bf365df1462000b625780634f02c4201462000b78578063518c0f171462000b8e57806355b5ec641462000ba45780635d766d351462000bd65780637334a63f1462000bec57806379ba50971462000c2c5780637a8a5cf31462000c425780637f386b6c1462000c585780638207b07d1462000c6e578063843ad7b51462000c845780638da5cb5b1462000c9a5780639b8abe0b1462000cb05780639d1b464a1462000cc6578063a8afc5381462000cdc578063c1f7c5391462000cf8578063c50508de1462000d0e578063c763e5a11462000d24578063d282866a1462000d68578063d4ee1d901462000d81578063d511cc491462000d97578063d661d2061462000dad578063d7508a551462000dc3578063d8e75f621462000dd9578063d9db9d891462000df2578063df775a931462000e08578063e98c365b1462000e5d578063f17f3ca31462000e73578063f32b85e81462000e89578063f4285c3c1462000e9f578063fc0c546a1462000ec1578063fde9cded1462000ed7575b6000806000806000806000620002e962000ef0565b1515620002f557600080fd5b600034116200030357600080fd5b3496506200031062000f0d565b506200031b620010c2565b15620004d3576016544210156200033157600080fd5b6200033b6200114c565b600160a060020a0333166000908152601860205260409020541015620003cf5764174876e8008711156200038b57620003808764174876e80063ffffffff6200116216565b955064174876e80096505b600160a060020a0333166000908152601760205260409020349055620003b06200114c565b600160a060020a033316600090815260186020526040902055620004d3565b600160a060020a03331660009081526017602052604090205464174876e8009010620003fa57600080fd5b600160a060020a03331660009081526017602052604090205464174876e800906200042c908963ffffffff6200117a16565b11156200048e57600160a060020a033316600090815260176020526040902054620004779064174876e800906200046a908a63ffffffff6200117a16565b9063ffffffff6200116216565b95506200048b878763ffffffff6200116216565b96505b600160a060020a033316600090815260176020526040902054620004b9903463ffffffff6200117a16565b600160a060020a0333166000908152601760205260409020555b620004dd62001195565b9450620004eb8786620011a2565b91955093509150600083116200050057600080fd5b601554421080156200058957506007546a084595161401484a0000009062000586908590600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200056157600080fd5b5af115156200056f57600080fd5b505050604051805191905063ffffffff6200117a16565b10155b15620005a5574260158190556001620151809182900401026016555b600c859055600d849055601354831115620005bc57fe5b601354620005d1908463ffffffff6200116216565b60135586821115620005df57fe5b620005f1878363ffffffff6200116216565b600854909150600160a060020a0316637679a816826040518263ffffffff1660e060020a0281526004016000604051808303818588803b15156200063457600080fd5b5af115156200064257600080fd5b5050600754600160a060020a031691506340c10f199050338560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200069f57600080fd5b5af11515620006ad57600080fd5b505050604051805190501515620006c357600080fd5b620006d5828763ffffffff6200117a16565b915060008211156200077857600160a060020a03331660009081526017602052604081205411156200074657600160a060020a0333166000908152601760205260409020546200072c908363ffffffff6200116216565b600160a060020a0333166000908152601760205260409020555b600160a060020a03331682156108fc0283604051600060405180830381858888f1935050505015156200077857600080fd5b33600160a060020a03167fa3d6792be56a61c872a8e6d733ef6efe5e391cece4d5e9d2f37208fdab7dddfd8285600d54866040518085815260200184815260200183815260200182815260200194505050505060405180910390a250505050505050005b3415620007e857600080fd5b620007f26200127c565b60405190815260200160405180910390f35b34156200081057600080fd5b620007f260043560243562001282565b34156200082c57600080fd5b620007f262001403565b34156200084257600080fd5b620007f262001409565b34156200085857600080fd5b620007f262001195565b34156200086e57600080fd5b620008ce600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965050600160a060020a0385358116956020810135821695506040013516925062001413915050565b604051901515815260200160405180910390f35b3415620008ee57600080fd5b620007f262001755565b34156200090457600080fd5b620008ce62000f0d565b34156200091a57600080fd5b620008ce6004356024356044356064356200175b565b34156200093c57600080fd5b620008ce6200191e565b34156200095257600080fd5b620008ce620010c2565b34156200096857600080fd5b620007f26200192c565b34156200097e57600080fd5b620008ce62000ef0565b34156200099457600080fd5b620007f2620019ff565b3415620009aa57600080fd5b620007f262001a05565b3415620009c057600080fd5b620008ce600160a060020a036004351662001a69565b3415620009e257600080fd5b620007f262001ad5565b3415620009f857600080fd5b620007f262001adb565b341562000a0e57600080fd5b620007f262001bc7565b341562000a2457600080fd5b620007f262001bd6565b341562000a3a57600080fd5b62000a4462001bdc565b60405177ffffffffffffffffffffffffffffffffffffffffffffffff19909e168e52600160a060020a039c8d1660208f01529a8c166040808f019190915299909b1660608d015260808c019790975260a08b019590955260c08a019390935260e08901919091526101008801526101208701526101408601526101608501526101808401929092526101a08301526101c0909101905180910390f35b341562000aec57600080fd5b62000b08600160a060020a036004358116906024351662001d52565b005b341562000b1657600080fd5b620007f262001ec0565b341562000b2c57600080fd5b62000b0862001ec6565b341562000b4257600080fd5b620007f26200114c565b341562000b5857600080fd5b620007f262001f0b565b341562000b6e57600080fd5b620007f262001f11565b341562000b8457600080fd5b620008ce62001f17565b341562000b9a57600080fd5b620007f262001f20565b341562000bb057600080fd5b62000bba62001fa6565b604051600160a060020a03909116815260200160405180910390f35b341562000be257600080fd5b620007f262001fb5565b341562000bf857600080fd5b62000c0860043560243562001fc2565b60405180848152602001838152602001828152602001935050505060405180910390f35b341562000c3857600080fd5b620008ce62002054565b341562000c4e57600080fd5b620007f2620020e7565b341562000c6457600080fd5b620007f2620020ed565b341562000c7a57600080fd5b620007f2620020f3565b341562000c9057600080fd5b620007f2620020f9565b341562000ca657600080fd5b62000bba62002107565b341562000cbc57600080fd5b620007f262002116565b341562000cd257600080fd5b620007f26200211c565b341562000ce857600080fd5b620007f26004356024356200212c565b341562000d0457600080fd5b62000b0862002190565b341562000d1a57600080fd5b620007f262002264565b341562000d3057600080fd5b62000d3a6200226a565b60405177ffffffffffffffffffffffffffffffffffffffffffffffff19909116815260200160405180910390f35b341562000d7457600080fd5b620007f260043562002276565b341562000d8d57600080fd5b62000bba62002298565b341562000da357600080fd5b620007f2620022a7565b341562000db957600080fd5b620007f2620022b0565b341562000dcf57600080fd5b62000b08620022b6565b341562000de557600080fd5b62000bba6004356200240b565b341562000dfe57600080fd5b620007f262002434565b341562000e1457600080fd5b620008ce600160a060020a036004358116906024351660443560643560843560a43577ffffffffffffffffffffffffffffffffffffffffffffffff1960c4351660e4356200243a565b341562000e6957600080fd5b620007f262002600565b341562000e7f57600080fd5b620007f262002606565b341562000e9557600080fd5b620007f26200260c565b341562000eab57600080fd5b62000bba600160a060020a036004351662002612565b341562000ecd57600080fd5b62000bba6200262d565b341562000ee357600080fd5b620007f26004356200263c565b6000600b54421015801562000f0757506000600b54115b90505b90565b600080600080600062000f1f6200114c565b935062000f2e600c546200263c565b841115620010b657600854600160a060020a031663378252f26040518163ffffffff1660e060020a028152600401600060405180830381600087803b151562000f7657600080fd5b5af1151562000f8457600080fd5b50505062000f9162002684565b600d8290559194509250905062000fa88362002276565b600c556007546200102b90600160a060020a0316635c9b2e926040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000ff057600080fd5b5af1151562000ffe57600080fd5b50505060405180516013549091506200101e908463ffffffff6200117a16565b9063ffffffff6200117a16565b601355600754600160a060020a031663baaef4af6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156200106e57600080fd5b5af115156200107c57600080fd5b5050506139c7841115620010ac57620010a86200109862001adb565b601a549063ffffffff6200117a16565b601a555b60019450620010bb565b600094505b5050505090565b600060155460001415801562000f0757506015544210158062000f0757506007546a084595161401484a00000090600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200112d57600080fd5b5af115156200113b57600080fd5b505050604051805190501015905090565b600062000f076200115c62001195565b6200263c565b6000828211156200116f57fe5b508082035b92915050565b6000828201838110156200118a57fe5b8091505b5092915050565b600062000f074262002276565b600080600080600080600c548710151515620011bd57600080fd5b600c5487039250620011ce620010c2565b15620011ea57620011e2600d548462001282565b9550620011fb565b620011f8600d54846200212c565b95505b62001227866200121a670de0b6b3a76400008b63ffffffff6200279d16565b9063ffffffff620027cc16565b9150819450601354821115620012725760135494506200125b670de0b6b3a76400006200121a878963ffffffff6200279d16565b90506200126f888263ffffffff6200116216565b93505b5050509250925092565b60155481565b6000670de0b6b3a76400008183816103e882041115620012e757600091505b6103e88104821015620012e157600454620012d390670de0b6b3a7640000906200121a90869063ffffffff6200279d16565b9250600190910190620012a1565b6103e890065b60006064820411156200133d57600091505b6064810482101562001338576003546200132a90670de0b6b3a7640000906200121a90869063ffffffff6200279d16565b9250600190910190620012f9565b606490065b6000600a820411156200139357600091505b600a81048210156200138e576002546200138090670de0b6b3a7640000906200121a90869063ffffffff6200279d16565b92506001909101906200134f565b600a90065b600091505b80821015620013c857620013ba60646200121a85606363ffffffff6200279d16565b925060019091019062001398565b620013e7670de0b6b3a76400006200121a888663ffffffff6200279d16565b9350600154841015620013fa5760015493505b50505092915050565b60015481565b65b4791041f30081565b6005546000908190819081908190819033600160a060020a039081169116146200143c57600080fd5b60195460ff16156200144d57600080fd5b895115156200145b57600080fd5b600754600160a060020a03161580156200147d5750600160a060020a03891615155b15156200148957600080fd5b600854600160a060020a0316158015620014ab5750600160a060020a03881615155b1515620014b757600080fd5b600160a060020a0387161515620014cd57600080fd5b60078054600160a060020a03808c1673ffffffffffffffffffffffffffffffffffffffff199283161790925560088054928b1692909116919091179055600093505b8951841015620016a55760608a85815181106200152857fe5b9060200190602002015160029190910a90049250600160a060020a03831615156200155257600080fd5b8984815181106200155f57fe5b906020019060200201516bffffffffffffffffffffffff169150600082116200158757600080fd5b50600160a060020a038083166000908152600a602052604090819020546007549083169216906340c10f1990839085905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515620015f957600080fd5b5af115156200160757600080fd5b5050506040518051905015156200161d57600080fd5b80600160a060020a03166347e7ef24848460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156200167257600080fd5b5af115156200168057600080fd5b506200169791508690508363ffffffff6200117a16565b94506001909301926200150f565b600e548514620016b457600080fd5b600754600f54600160a060020a03909116906340c10f1990899060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200171257600080fd5b5af115156200172057600080fd5b5050506040518051905015156200173657600080fd5b6019805460ff1916600190811790915595505050505050949350505050565b60025481565b6005546000908190819033600160a060020a039081169116146200177e57600080fd5b60195460ff1615156200179057600080fd5b601954610100900460ff1615620017a657600080fd5b831515620017b357600080fd5b620017bd62002190565b6000871115620017d857603c808804810201600b55620017e5565b603c42064203603c01600b555b601454600b54016015819055620151808082040214156200180c576015546016556200181f565b6015546001620151809182900401026016555b6000600c819055861115620018345760008690555b6012849055600085111562001853576305f5e1008502600d556200185c565b630bebc200600d555b600091505b6009548210156200190157600a60006009848154811015156200188057fe5b6000918252602080832090910154600160a060020a039081168452908301939093526040918201902054909116915081906327fe75ed90518163ffffffff1660e060020a028152600401600060405180830381600087803b1515620018e457600080fd5b5af11515620018f257600080fd5b50506001909201915062001861565b6019805461ff001916610100179055600192505050949350505050565b601954610100900460ff1681565b60135460009081806200193e6200114c565b91506200195f62001951600c546200263c565b839063ffffffff6200116216565b905060008111156200198d576200198a6200197a82620027e4565b6013549063ffffffff6200117a16565b92505b600754620019f790600160a060020a0316635c9b2e926040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620019d257600080fd5b5af11515620019e057600080fd5b505050604051805185915063ffffffff6200117a16565b935050505090565b600c5481565b60008062001a126200114c565b90506139c781111562001a2a57601a54915062001a65565b62001a6262001a49689c2007651b250000008363ffffffff6200279d16565b6a084595161401484a0000009063ffffffff6200117a16565b91505b5090565b60055460009033600160a060020a0390811691161462001a8857600080fd5b600554600160a060020a038381169116141562001aa457600080fd5b506006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03831617905560015b919050565b600f5481565b6000689c2007651b25000000818080808062001af66200114c565b94506139c785111562001bbc5762001b10600c546200263c565b93506139c892508284111562001b24578392505b8285039150600182111562001b7b5760018203600202618ead01905062001b73634f8460e96200121a8362001b666002601a546200279d90919063ffffffff16565b9063ffffffff6200279d16565b955062001b9d565b62001b9a618ead6200121a6002601a546200279d90919063ffffffff16565b95505b689c2007651b2500000086101562001bbc57689c2007651b2500000095505b509395945050505050565b6a084595161401484a00000081565b60035481565b601b5460085460c060020a90910290600090819081908190819081908190819081908190819081908190600160a060020a03166350b48c5e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001c4357600080fd5b5af1151562001c5157600080fd5b5050506040518051600754309f50909d50600160a060020a03169b508b90506318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001ca457600080fd5b5af1151562001cb257600080fd5b5050506040518051600854909a50600160a060020a031631985062001cd8905062001195565b965062001ce46200114c565b955085151562001cf957601654945062001d14565b60165460125462015180880281151562001d0f57fe5b040194505b600b54935062001d236200211c565b925062001d2f620020f9565b915062001d3b6200192c565b9950600d549050909192939495969798999a9b9c9d565b60055460009033600160a060020a0390811691161462001d7157600080fd5b600160a060020a038216151562001d8757600080fd5b600160a060020a038316151562001d9d57600080fd5b600980546001810162001db1838262002b41565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038516179055308262001def62002b6d565b600160a060020a0392831681529116602082015260409081019051809103906000f080151562001e1e57600080fd5b600160a060020a038481166000908152600a602052604090819020805473ffffffffffffffffffffffffffffffffffffffff1916928416928317905591925090632af4c31e9085905160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151562001ea357600080fd5b5af1151562001eb157600080fd5b50505060405180515050505050565b600b5481565b60055433600160a060020a0390811691161462001ee257600080fd5b42600b54101562001ef257600080fd5b600b8054640757b12c0001908190556015819055601655565b60165481565b60135481565b60195460ff1681565b60075460009081908190600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001f6757600080fd5b5af1151562001f7557600080fd5b50505060405180519050915062001f8b6200192c565b905062001f9f828263ffffffff6200117a16565b9250505090565b600854600160a060020a031681565b689c2007651b2500000081565b600080600080600062001fdf62001fd98762002276565b620029a1565b945062002000856200121a670de0b6b3a76400008a63ffffffff6200279d16565b91508193506013548211156200204b57601354935062002034670de0b6b3a76400006200121a868863ffffffff6200279d16565b905062002048878263ffffffff6200116216565b92505b50509250925092565b60065460009033600160a060020a039081169116146200207357600080fd5b600654600554600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a3506006546005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055600190565b60115481565b60005481565b600d5481565b600062000f076000620027e4565b600554600160a060020a031681565b60045481565b600062000f0762001fd962001195565b60006200214665b4791041f3008363ffffffff6200279d16565b8311156200217b57620021786200216a65b4791041f3008463ffffffff6200279d16565b849063ffffffff6200116216565b90505b60005481101562001174575060005492915050565b670de0b6b3a764000060005b600a811015620021ca57620021bf60646200121a84606363ffffffff6200279d16565b91506001016200219c565b50600255670de0b6b3a764000060005b600a81101562002214576002546200220990670de0b6b3a7640000906200121a90859063ffffffff6200279d16565b9150600101620021da565b50600355670de0b6b3a764000060005b600a8110156200225e576003546200225390670de0b6b3a7640000906200121a90859063ffffffff6200279d16565b915060010162002224565b50600455565b60145481565b601b5460c060020a0281565b600081600b5411156200228857600080fd5b50601254600b54603c9203020490565b600654600160a060020a031681565b64174876e80081565b600e5481565b600754600160a060020a0316634892f0af6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620022f657600080fd5b5af115156200230457600080fd5b50505060405180519050600160a060020a031633600160a060020a031614806200233c575060075433600160a060020a039081169116145b15156200234857600080fd5b600754600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200238857600080fd5b5af115156200239657600080fd5b5050506040518051159050620023ab57600080fd5b601b5460c060020a0277ffffffffffffffffffffffffffffffffffffffffffffffff19167f45544800000000000000000000000000000000000000000000000000000000001415620023fc57600080fd5b6200240662001195565b600c55565b60098054829081106200241a57fe5b600091825260209091200154600160a060020a0316905081565b601a5481565b60055460009033600160a060020a039081169116146200245957600080fd5b60195460ff16156200246a57600080fd5b601954610100900460ff16156200248057600080fd5b8315156200248d57600080fd5b600754600160a060020a0316158015620024af5750600160a060020a03891615155b1515620024bb57600080fd5b600854600160a060020a0316158015620024dd5750600160a060020a03881615155b1515620024e957600080fd5b620024f362002190565b60078054600160a060020a03808c1673ffffffffffffffffffffffffffffffffffffffff199283161790925560088054928b16929091169190911790556000600e819055600f819055601355600b8790556015829055620151808204620151800260155414156200256a576015546016556200257d565b6015546001620151809182900401026016555b6000600c819055861115620025925760008690555b60128490556000851115620025b1576305f5e1008502600d55620025ba565b630bebc200600d555b50601b805460c060020a840467ffffffffffffffff199091161790556019805461ff001960ff199091166001908117919091166101001790915598975050505050505050565b60105481565b6139c781565b60125481565b600a60205260009081526040902054600160a060020a031681565b600754600160a060020a031681565b6000816200264c60165462002276565b11156200265c5750600062001ad0565b6105a06200266c60165462002276565b83038115156200267857fe5b04600101905062001ad0565b600080600080600080600080600b54421015620026b057600b549750600d549650601354955062002793565b620026bd600c546200263c565b9450620026c96200114c565b9350848403925060165497506001841115620026f657620026f3620026ed62001195565b62002ac8565b97505b6200270183620027e4565b955060018311156200271f57600d5460649004600101965062002793565b60135415806200272d575082155b156200274457600d54600202600101965062002793565b83600114156200275c57600054600202965062002793565b620027678862002276565b915060009050600c548211156200277f5750600c5481035b6200278d600d548262001282565b60020296505b5050505050909192565b600080831515620027b257600091506200118e565b50828202828482811515620027c357fe5b04146200118a57fe5b6000808284811515620027db57fe5b04949350505050565b6000806000806000620027f66200114c565b6007549094506200289f90600160a060020a0316635c9b2e926040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200283e57600080fd5b5af115156200284c57600080fd5b50505060405180516013546007549192506200101e91600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200056157600080fd5b689c2007651b25000000955092506139c78411156200293157620028c262001adb565b945060018611156200290f57620028ed618ead6200121a6002601a546200279d90919063ffffffff16565b91506200290c60026200121a8862001b66868a63ffffffff6200117a16565b94505b601a5462002929906200121a878663ffffffff6200279d16565b945062002998565b600186111562002950576200294d858763ffffffff6200279d16565b94505b6200297c62001a4962002965600c546200263c565b689c2007651b250000009063ffffffff6200279d16565b905062002995816200121a878663ffffffff6200279d16565b94505b50505050919050565b6000806000806000620029b6600c546200263c565b9350620029c8846200046a886200263c565b9250600090506013546000148015620029df575082155b15620029f057600d54945062002998565b600183111562002a1957600d5460649004600101915062002a118662002af7565b905062002a91565b826001141562002a8657601354151562002a3b57600d54600202915062002a7b565b62002a46866200263c565b6001141562002a5d57600054600202915062002a7b565b62002a75600d5462002a6f8862002b1b565b62001282565b60020291505b62002a118662002af7565b5050600d54600c5485035b600081101562002aa057600080fd5b62002aaa620010c2565b1562002abc5762002929828262001282565b6200299582826200212c565b60006201518060165460125462002adf856200263c565b620151800281151562002aee57fe5b04010392915050565b60008062002b058362002ac8565b905062002b128162002276565b90920392915050565b60008062002b298362002ac8565b9050600c5462002b398262002276565b039392505050565b81548183558181151162002b685760008381526020902062002b6891810190830162002b7e565b505050565b6040516109ec8062002b9c83390190565b62000f0a91905b8082111562001a65576000815560010162002b85560060606040526002805460a060020a60ff0219169055341561001f57600080fd5b6040516040806109ec833981016040528080519190602001805160008054600160a060020a03191633600160a060020a039081169190911790915590925083161515905061006c57600080fd5b600160a060020a038116151561008157600080fd5b60018054600160a060020a03938416600160a060020a03199182161790915560028054929093169116179055610930806100bc6000396000f3006060604052600436106100955763ffffffff60e060020a60003504166327fe75ed811461009a5780632af4c31e146100af57806334d8521b146100e25780633ccfd60b1461010757806347e7ef241461011a57806385aa61031461013c5780638da5cb5b1461016b578063ab2315111461017e578063cf30901214610191578063eef49ee3146101a4578063fc0c546a146101b7575b600080fd5b34156100a557600080fd5b6100ad6101ca565b005b34156100ba57600080fd5b6100ce600160a060020a0360043516610335565b604051901515815260200160405180910390f35b34156100ed57600080fd5b6100f56103ef565b60405190815260200160405180910390f35b341561011257600080fd5b6100ad6103f5565b341561012557600080fd5b6100ad600160a060020a0360043516602435610714565b341561014757600080fd5b61014f61083c565b604051600160a060020a03909116815260200160405180910390f35b341561017657600080fd5b61014f61084b565b341561018957600080fd5b6100f561085a565b341561019c57600080fd5b6100ce610860565b34156101af57600080fd5b6100f5610881565b34156101c257600080fd5b61014f610887565b60015433600160a060020a039081169116146101e557600080fd5b600154600160a060020a031662fca46f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561022357600080fd5b5af1151561023057600080fd5b50505060405180511515905061024557600080fd5b600154600160a060020a03166342c6498a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561028457600080fd5b5af1151561029157600080fd5b5050506040518051600154909150600160a060020a031662fca46f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156102da57600080fd5b5af115156102e757600080fd5b50505060405180519050101515156102fe57600080fd5b6002805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b6000805433600160a060020a0390811691161461035157600080fd5b600160a060020a038216151561036657600080fd5b600054600160a060020a038381169116141561038157600080fd5b600054600160a060020a0380841691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a35060008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60055481565b6000805481908190819033600160a060020a0390811691161461041757600080fd5b60025474010000000000000000000000000000000000000000900460ff16151561044057600080fd5b6003546000901161045057600080fd5b60015460009450600160a060020a031662fca46f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561049257600080fd5b5af1151561049f57600080fd5b505050604051805190509250600454600014801561050f5750600154600160a060020a0316631d38bebd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156104f757600080fd5b5af1151561050457600080fd5b505050604051805190505b156105705761054b61053e6064610532601960035461089690919063ffffffff16565b9063ffffffff6108cc16565b859063ffffffff6108e316565b9350610567600c610532866003546108f290919063ffffffff16565b60055560048390555b600454151561057e57600080fd5b60045461059490627861f863ffffffff6108e316565b4210610644576004546105ae90429063ffffffff6108f216565b91506105c382627861f863ffffffff6108cc16565b9050600081116105d257600080fd5b6005546105e99061053e908363ffffffff61089616565b935061060f610602627861f8600c63ffffffff61089616565b849063ffffffff6108e316565b421061061b5760035493505b61064061063182627861f863ffffffff61089616565b6004549063ffffffff6108e316565b6004555b600084111561070e57600354610660908563ffffffff6108f216565b600355600254600160a060020a031663a9059cbb338660405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156106b957600080fd5b5af115156106c657600080fd5b50505060405180515050600160a060020a0333167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d58560405190815260200160405180910390a25b50505050565b60015460009033600160a060020a0390811691161461073257600080fd5b60025474010000000000000000000000000000000000000000900460ff161561075a57600080fd5b600254600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156107aa57600080fd5b5af115156107b757600080fd5b505050604051805190509050816107d9600354836108f290919063ffffffff16565b10156107e457600080fd5b6003546107f7908363ffffffff6108e316565b600355600160a060020a0383167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c48360405190815260200160405180910390a2505050565b600154600160a060020a031681565b600054600160a060020a031681565b60045481565b60025474010000000000000000000000000000000000000000900460ff1681565b60035481565b600254600160a060020a031681565b6000808315156108a957600091506108c5565b508282028284828115156108b957fe5b04146108c157fe5b8091505b5092915050565b60008082848115156108da57fe5b04949350505050565b6000828201838110156108c157fe5b6000828211156108fe57fe5b509003905600a165627a7a72305820d194a03a5355bdf89ce1adc4fe81c2c36b0cf4bd329ec218876f5245176307fb0029a165627a7a723058204376475fee6893c20fb2ac11b1238d88858bc878ba542f3a88a3c6dabbf5202a0029\",\"binhash\":\"7672998d8040b93559895ac68ad9fae9811c2f8af00e9d338fb15ba1d3dfd4f8\",\"name\":\"Auctions\",\"deployName\":\"Auctions\",\"address\":\"b3f2d768fb1f2e341f5fe72f1b207fada4e51fe3\",\"txid\":\"406bc99b27cfa1769203508899a58056e9dd844d9a79b304c2f5cd004a1102e5\",\"createdAt\":\"2019-08-02T11:20:50.8559204Z\",\"confirmed\":true,\"sender\":\"qY3Dc6fwnStAfW1gHKLjmD56uwizq58LHQ\",\"senderHex\":\"9ed56f7c8413238455406e94ce19184e3e9d1a24\"},\"AutonomousConverter\":{\"source\":\"AutonomousConverter:AutonomousConverter\",\"abi\":[{\"name\":\"init\",\"type\":\"function\",\"payable\":true,\"inputs\":[{\"name\":\"_reserveToken\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_smartToken\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_auctions\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"getMetBalance\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"getMetForQtumResult\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_depositAmount\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"convertQtumToMet\",\"type\":\"function\",\"payable\":true,\"inputs\":[{\"name\":\"_minReturn\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"returnedMet\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"getQtumBalance\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"handleFund\",\"type\":\"function\",\"payable\":true,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"auctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"smartToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"getQtumForMetResult\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_depositAmount\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"reserveToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"convertMetToQtum\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_minReturn\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"returnedQtum\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"LogFundsIn\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"ConvertQtumToMet\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"qtum\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"met\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"ConvertMetToQtum\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"qtum\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"met\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"60606040526004805460a060020a60ff021916905560008054600160a060020a033316600160a060020a0319909116179055610e97806100406000396000f3006060604052600436106100c15763ffffffff60e060020a600035041663184b955981146100c65780632af4c31e146100e85780632eb969881461011b57806330662ff0146101405780633d1c18bf1461015657806375c21d66146101615780637679a8161461017457806379ba50971461017c57806385aa61031461018f5780638da5cb5b146101be578063c3e8fb40146101d1578063d4ee1d90146101e4578063eb73fda4146101f7578063f4325d671461020d578063fca20b0814610220575b600080fd5b6100e6600160a060020a0360043581169060243581169060443516610239565b005b34156100f357600080fd5b610107600160a060020a03600435166102f6565b604051901515815260200160405180910390f35b341561012657600080fd5b61012e61035c565b60405190815260200160405180910390f35b341561014b57600080fd5b61012e60043561036d565b61012e600435610380565b341561016c57600080fd5b61012e6103d9565b6100e66103e5565b341561018757600080fd5b610107610499565b341561019a57600080fd5b6101a261052a565b604051600160a060020a03909116815260200160405180910390f35b34156101c957600080fd5b6101a2610539565b34156101dc57600080fd5b6101a2610548565b34156101ef57600080fd5b6101a2610557565b341561020257600080fd5b61012e600435610566565b341561021857600080fd5b6101a2610573565b341561022b57600080fd5b61012e600435602435610582565b60005433600160a060020a0390811691161461025457600080fd5b60045474010000000000000000000000000000000000000000900460ff161561027c57600080fd5b600480546003805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a039788161790915560028054821695871695909517909455740100000000000000000000000000000000000000009316919093161774ff00000000000000000000000000000000000000001916179055565b6000805433600160a060020a0390811691161461031257600080fd5b600054600160a060020a038381169116141561032d57600080fd5b506001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161781555b919050565b600061036860016105dc565b905090565b600061037a600083610684565b92915050565b600061038e600083346107b0565b905033600160a060020a03167fd3df7f832b811a37403f56ed7d5866326fe5153072efff60aea4b71b1e1c3958348360405191825260208201526040908101905180910390a2919050565b600061036860006105dc565b600454600160a060020a03166355b5ec646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561042457600080fd5b5af1151561043157600080fd5b50505060405180519050600160a060020a031633600160a060020a031614151561045a57600080fd5b33600160a060020a03167f7d6f066517cd2256fb0abf18362576d1a32243ec9e4424ca53ebe8440a56d4733460405190815260200160405180910390a2565b60015460009033600160a060020a039081169116146104b757600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b600454600160a060020a031681565b600054600160a060020a031681565b600254600160a060020a031681565b600154600160a060020a031681565b600061037a600183610684565b600354600160a060020a031681565b6000610590600183856107b0565b905033600160a060020a03167f3f85ac303b8e81c8d3c98a9c8c4c8750745f063c9accff94d670eea196bc8402828560405191825260208201526040908101905180910390a292915050565b6000808260018111156105eb57fe5b14156106025750600160a060020a03301631610357565b600182600181111561061057fe5b14156100c157600354600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561066657600080fd5b5af1151561067357600080fd5b505050604051805190509050610357565b60006001818080808488600181111561069957fe5b14156106a457600094505b6106bd876106b18a6105dc565b9063ffffffff61087416565b60025490945061072190600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561070357600080fd5b5af1151561071057600080fd5b50505060405180519050888661088e565b60025490935061078c908490600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561076957600080fd5b5af1151561077657600080fd5b505050604051805191905063ffffffff61087416565b9150610797856105dc565b90506107a48284836108fb565b98975050505050505050565b6000600181818660018111156107c257fe5b14156108515760035460009250600160a060020a03166323b872dd33308760405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561082f57600080fd5b5af1151561083c57600080fd5b50505060405180519050151561085157600080fd5b61085b8685610931565b90506108688282876109c4565b92505b50509392505050565b60008282018381101561088357fe5b8091505b5092915050565b60008383836108f0670de0b6b3a76400006108e4816108d8876108d36108c56108c0856108bb8c8c610c0f565b610c34565b610c46565b670de0b6b3a7640000610ce8565b610cfa565b9063ffffffff610d1816565b9063ffffffff610d4316565b979650505050505050565b60008383836108f0670de0b6b3a76400006108e4816108d8856108d38361092761092c82828d8f610c0f565b610ce8565b610d5a565b600061093d8383610d66565b90506000811161094c57600080fd5b600254600160a060020a03166340c10f19338360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156109a257600080fd5b5af115156109af57600080fd5b50505060405180519050151561037a57600080fd5b60025460009081908190600160a060020a03166370a082313360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610a1b57600080fd5b5af11515610a2857600080fd5b50505060405180518611159050610a3e57600080fd5b60008411610a4b57600080fd5b610a558686610de4565b925083831015610a6457600080fd5b610a6d866105dc565b915082821015610a7c57600080fd5b600254600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610abb57600080fd5b5af11515610ac857600080fd5b5050506040518051915050808510610adf57600080fd5b600254600160a060020a031663a24835d1338760405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610b3557600080fd5b5af11515610b4257600080fd5b50505060405180515060009050866001811115610b5b57fe5b1415610b9757600160a060020a03331683156108fc0284604051600060405180830381858888f193505050501515610b9257600080fd5b61086b565b600354600160a060020a031663a9059cbb338560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610bed57600080fd5b5af11515610bfa57600080fd5b50505060405180519050151561086b57600080fd5b6000610c2d826108e485670de0b6b3a764000063ffffffff610d1816565b9392505050565b6000610c2d838363ffffffff61087416565b600080808080851515610c5c5760009450610cdf565b8586029350858685811515610c6d57fe5b0414610c7857600080fd5b610c8a86670de0b6b3a7640000610c34565b9250600091505b6001610c9d8484610ce8565b1115610cdb576002610caf8385610c34565b811515610cb857fe5b04905085610cc582610d5a565b11610cd257809150610cd6565b8092505b610c91565b8194505b50505050919050565b6000610c2d838363ffffffff610e5916565b6000610c2d670de0b6b3a76400006108e4858563ffffffff610d1816565b600080831515610d2b5760009150610887565b50828202828482811515610d3b57fe5b041461088357fe5b6000808284811515610d5157fe5b04949350505050565b600061037a8283610cfa565b60025460009081908190600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610dac57600080fd5b5af11515610db957600080fd5b505050604051805190509150610dce856105dc565b9050610ddb82858361088e565b95945050505050565b60025460009081908190600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610e2a57600080fd5b5af11515610e3757600080fd5b505050604051805190509150610e4c856105dc565b9050610ddb8285836108fb565b600082821115610e6557fe5b509003905600a165627a7a72305820f2a07f5f04f3c1ec3991fd075d38f348f1aff0f4a735cd5e65d797f73141a9750029\",\"binhash\":\"0af288213dc65c157f2b3f52c0ae75118211d0676cba8da136fd711e457b2ed4\",\"name\":\"AutonomousConverter\",\"deployName\":\"AutonomousConverter\",\"address\":\"d27ed9a738d166a68d499b355995bebfbd7b3955\",\"txid\":\"cf7f0b238adfc2f6fb2bc7972b106c86f08842bc9fe2a7538f96a234b716a563\",\"createdAt\":\"2019-08-02T11:24:20.6248567Z\",\"confirmed\":true,\"sender\":\"qY3Dc6fwnStAfW1gHKLjmD56uwizq58LHQ\",\"senderHex\":\"9ed56f7c8413238455406e94ce19184e3e9d1a24\"},\"METToken\":{\"source\":\"METToken:METToken\",\"abi\":[{\"name\":\"name\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"getRoot\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"addr\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"approve\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"totalSupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initMETToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_decmult\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"setTokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"transferFrom\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"decimals\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"transferAllowed\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_decmult\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"mint\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"export\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_destChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_destRecipAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"tokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"approveMore\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"enableMETTransfers\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"autonomousConverter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"getSubscription\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_recipient\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"startTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"payPerWeek\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"lastWithdrawTime\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"leakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"importMET\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_destinationChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_addresses\",\"type\":\"address[]\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\",\"indexed\":false},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_importData\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_proof\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"balanceOf\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"approveLess\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"subWithdraw\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"cancelSubscription\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_recipient\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"symbol\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"destroy\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"roots\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"transfer\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"subscribe\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_payPerWeek\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_recipient\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"multiTransfer\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"bits\",\"type\":\"uint256[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"updateLeakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"resetLeakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"multiSubWithdraw\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"initMintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_decmult\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"subs\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false},{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"startTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"payPerWeek\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"lastWithdrawTime\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"rootsMatch\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"a\",\"type\":\"address\",\"indexed\":false},{\"name\":\"b\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setRoot\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"data\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"allowance\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"multiSubWithdrawFor\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\",\"indexed\":false},{\"name\":\"_recipients\",\"type\":\"address[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"LogSubscription\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"subscriber\",\"type\":\"address\",\"indexed\":true},{\"name\":\"subscribesTo\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogCancelSubscription\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"subscriber\",\"type\":\"address\",\"indexed\":true},{\"name\":\"subscribesTo\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Mint\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Destroy\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Transfer\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Approval\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"606060405260008054600160a060020a033316600160a060020a0319909116179055612226806100306000396000f3006060604052600436106101f55763ffffffff60e060020a60003504166306fdde0381146101fa5780630754617214610284578063079cf76e146102b3578063095ea7b3146102e457806318160ddd1461031a578063195629de1461032d5780631987b8871461035a57806323b872dd146103795780632af4c31e146103a1578063313ce567146103c057806334fec467146103e95780633bf11a6c146103fc57806340c10f191461042757806346be2310146104495780634892f0af146104d95780634cef0ff6146104ec5780634ee4d7311461050e57806350b48c5e146105215780635b75dd8d146105345780635c9b2e921461057d5780636ffbff9c1461059057806370a082311461074d5780637240eccf1461076c57806379ba50971461078e5780638da5cb5b146107a157806393b212bc146107b457806393d81d58146107d357806395d89b41146107f2578063a24835d114610805578063a454687614610827578063a9059cbb14610846578063aa4925d714610868578063b33fcc7a1461088d578063b625690d146108dc578063baaef4af146108f2578063bae1cc7414610905578063c3f51fca14610954578063cd755b411461097f578063d2d85cf2146109a4578063d4ee1d90146109c9578063dab5f340146109dc578063dd62ed3e146109f2578063e6f4761314610a17575b600080fd5b341561020557600080fd5b61020d610aa6565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610249578082015183820152602001610231565b50505050905090810190601f1680156102765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561028f57600080fd5b610297610add565b604051600160a060020a03909116815260200160405180910390f35b34156102be57600080fd5b6102d2600160a060020a0360043516610aec565b60405190815260200160405180910390f35b34156102ef57600080fd5b610306600160a060020a0360043516602435610b07565b604051901515815260200160405180910390f35b341561032557600080fd5b6102d2610b93565b341561033857600080fd5b610358600160a060020a0360043581169060243516604435606435610b99565b005b341561036557600080fd5b610306600160a060020a0360043516610bc6565b341561038457600080fd5b610306600160a060020a0360043581169060243516604435610c29565b34156103ac57600080fd5b610306600160a060020a0360043516610c50565b34156103cb57600080fd5b6103d3610cb7565b60405160ff909116815260200160405180910390f35b34156103f457600080fd5b610306610cbc565b341561040757600080fd5b610358600160a060020a0360043581169060243516604435606435610cc5565b341561043257600080fd5b610306600160a060020a0360043516602435610cec565b341561045457600080fd5b6103066004803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060248035600160a060020a039081169260443590911691606435916084359160c49060a43590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610df095505050505050565b34156104e457600080fd5b610297610f35565b34156104f757600080fd5b610306600160a060020a0360043516602435610f44565b341561051957600080fd5b610306610fed565b341561052c57600080fd5b610297611074565b341561053f57600080fd5b610559600160a060020a0360043581169060243516611083565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561058857600080fd5b6102d26110bb565b341561059b57600080fd5b61030677ffffffffffffffffffffffffffffffffffffffffffffffff1960048035821691602480359091169190606490604435908101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506110c195505050505050565b341561075857600080fd5b6102d2600160a060020a03600435166113a8565b341561077757600080fd5b610306600160a060020a03600435166024356113c3565b341561079957600080fd5b6103066113fc565b34156107ac57600080fd5b61029761148d565b34156107bf57600080fd5b610306600160a060020a036004351661149c565b34156107de57600080fd5b610306600160a060020a03600435166114cd565b34156107fd57600080fd5b61020d6115a1565b341561081057600080fd5b610306600160a060020a03600435166024356115d8565b341561083257600080fd5b6102d2600160a060020a03600435166116dc565b341561085157600080fd5b610306600160a060020a03600435166024356116ee565b341561087357600080fd5b610306600435602435600160a060020a0360443516611713565b341561089857600080fd5b61030660046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506117e595505050505050565b34156108e757600080fd5b610358600435611808565b34156108fd57600080fd5b6103586118cf565b341561091057600080fd5b6102d2600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061190c95505050505050565b341561095f57600080fd5b610358600160a060020a0360043581169060243516604435606435611954565b341561098a57600080fd5b610559600160a060020a0360043581169060243516611a3b565b34156109af57600080fd5b610306600160a060020a0360043581169060243516611a67565b34156109d457600080fd5b610297611a8e565b34156109e757600080fd5b610358600435611a9d565b34156109fd57600080fd5b6102d2600160a060020a0360043581169060243516611ab8565b3415610a2257600080fd5b6102d2600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650611ae395505050505050565b60408051908101604052600981527f4d6574726f6e6f6d650000000000000000000000000000000000000000000000602082015281565b600654600160a060020a031681565b600160a060020a03166000908152600a602052604090205490565b600030600160a060020a031683600160a060020a031614151515610b2a57600080fd5b600160a060020a03338116600081815260086020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60025490565b60005433600160a060020a03908116911614610bb457600080fd5b610bc084848484610cc5565b50505050565b6000805433600160a060020a03908116911614610be257600080fd5b600160a060020a0382161515610bf757600080fd5b5060078054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60095460009060ff161515610c3d57600080fd5b610c48848484611b56565b949350505050565b6000805433600160a060020a03908116911614610c6c57600080fd5b600054600160a060020a0383811691161415610c8757600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b601281565b60095460ff1681565b60005433600160a060020a03908116911614610ce057600080fd5b610bc084848484611954565b60065460009033600160a060020a0390811691161480610d1a575060075433600160a060020a039081169116145b1515610d2557600080fd5b600160a060020a038316600090815260046020526040902054610d4e908363ffffffff611dcc16565b600160a060020a038416600090815260046020526040902055600254610d7a908363ffffffff611dcc16565b600255600160a060020a0383167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858360405190815260200160405180910390a282600160a060020a031660006000805160206121db8339815191528460405190815260200160405180910390a350600192915050565b600754600090600160a060020a03161515610e0a57600080fd5b600754600160a060020a031663f29b20403389898989898960405160e060020a63ffffffff8a16028152600160a060020a038089166004830190815277ffffffffffffffffffffffffffffffffffffffffffffffff1989166024840152878216604484015290861660648301526084820185905260a4820184905260e060c48301908152909160e40183818151815260200191508051906020019080838360005b83811015610ec3578082015183820152602001610eab565b50505050905090810190601f168015610ef05780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b1515610f1457600080fd5b5af11515610f2157600080fd5b505050604051805198975050505050505050565b600754600160a060020a031681565b600160a060020a03338116600090815260086020908152604080832093861683529290529081205481610f7d828563ffffffff611dcc16565b600160a060020a033381166000818152600860209081526040808320948b16808452949091529081902084905592935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259084905190815260200160405180910390a3506001949350505050565b60095460009060ff161580156110555750600654600160a060020a0316631d38bebd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561103d57600080fd5b5af1151561104a57600080fd5b505050604051805190505b151561106057600080fd5b506009805460ff1916600190811790915590565b600554600160a060020a031681565b600160a060020a039182166000908152600b602090815260408083209390941682529190915220805460018201546002909201549092565b60035481565b600754600090600160a060020a031615156110db57600080fd5b600754600160a060020a0316636ffbff9c8a8a8a8a8a8a8a8a6040518963ffffffff1660e060020a028152600401808977ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018877ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200180602001806020018060200180602001806020018060200187810387528d818151815260200191508051906020019060200280838360005b838110156111d25780820151838201526020016111ba565b5050505090500187810386528c818151815260200191508051906020019080838360005b8381101561120e5780820151838201526020016111f6565b50505050905090810190601f16801561123b5780820380516001836020036101000a031916815260200191505b5087810385528b818151815260200191508051906020019060200280838360005b8381101561127457808201518382015260200161125c565b5050505090500187810384528a818151815260200191508051906020019060200280838360005b838110156112b357808201518382015260200161129b565b50505050905001878103835289818151815260200191508051906020019060200280838360005b838110156112f25780820151838201526020016112da565b50505050905001878103825288818151815260200191508051906020019080838360005b8381101561132e578082015183820152602001611316565b50505050905090810190601f16801561135b5780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050602060405180830381600087803b151561138557600080fd5b5af1151561139257600080fd5b50505060405180519a9950505050505050505050565b600160a060020a031660009081526004602052604090205490565b600160a060020a03338116600090815260086020908152604080832093861683529290529081205481610f7d828563ffffffff611ddb16565b60015460009033600160a060020a0390811691161461141a57600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b600054600160a060020a031681565b60095460009060ff1615156114b057600080fd5b6114ba8233611ded565b15156114c557600080fd5b506001919050565b600160a060020a033381166000908152600b60209081526040808320938516835292905290812054151561150057600080fd5b600160a060020a033381166000908152600b6020908152604080832093861683529290522060010154151561153457600080fd5b600160a060020a033381166000818152600b602090815260408083209487168084529490915280822082815560018101839055600201919091557f4bc04e574b4f2b061a663b3328263978d3adeab9e4ea9526441c159cdee4eca8905160405180910390a3506001919050565b60408051908101604052600381527f4d45540000000000000000000000000000000000000000000000000000000000602082015281565b60055460009033600160a060020a0390811691161480611606575060075433600160a060020a039081169116145b151561161157600080fd5b600160a060020a03831660009081526004602052604090205461163a908363ffffffff611ddb16565b600160a060020a038416600090815260046020526040902055600254611666908363ffffffff611ddb16565b600255600160a060020a0383167f81325e2a6c442af9d36e4ee9697f38d5f4bf0837ade0f6c411c6a40af7c057ee8360405190815260200160405180910390a2600083600160a060020a03166000805160206121db8339815191528460405190815260200160405180910390a350600192915050565b600a6020526000908152604090205481565b60095460009060ff16151561170257600080fd5b61170c8383611f8b565b9392505050565b60004284101561172257600080fd5b82151561172e57600080fd5b600160a060020a038216151561174357600080fd5b606060405190810160409081528582526020808301869052818301879052600160a060020a033381166000908152600b8352838120918716815291522081518155602082015181600101556040820151816002015590505081600160a060020a031633600160a060020a03167f5c632ccb5c42002836e0c49ef1f6d67e925c5e77c1048ddbb47a9bf6a0f2d01260405160405180910390a35060019392505050565b60095460009060ff1615156117f957600080fd5b61180282612118565b92915050565b60065433600160a060020a0390811691161480611833575060075433600160a060020a039081169116145b151561183e57600080fd5b600654600160a060020a03166322ce61b26040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561187d57600080fd5b5af1151561188a57600080fd5b505050604051805190506118ab600354600254611dcc90919063ffffffff16565b11156118b657600080fd5b6003546118c9908263ffffffff611dcc16565b60035550565b60065433600160a060020a03908116911614806118fa575060075433600160a060020a039081169116145b151561190557600080fd5b6000600355565b600080805b835181101561194d5761193984828151811061192957fe5b9060200190602002015133611ded565b15611945576001909101905b600101611911565b5092915050565b60005433600160a060020a0390811691161461196f57600080fd5b600554600160a060020a03161580156119905750600160a060020a03841615155b151561199b57600080fd5b600654600160a060020a03161580156119bc5750600160a060020a03831615155b15156119c757600080fd5b60058054600160a060020a0380871673ffffffffffffffffffffffffffffffffffffffff19928316179092556006805492861692909116919091179055611a14828263ffffffff61219816565b6002819055600160a060020a03909416600090815260046020526040902093909355505050565b600b60209081526000928352604080842090915290825290208054600182015460029092015490919083565b600160a060020a039081166000908152600a60205260408082205493909216815220541490565b600154600160a060020a031681565b600160a060020a0333166000908152600a6020526040902055565b600160a060020a03918216600090815260086020908152604080832093909416825291909152205490565b60008060008351855114611af657600080fd5b5060009050805b8451811015611b4e57611b3a858281518110611b1557fe5b90602001906020020151858381518110611b2b57fe5b90602001906020020151611ded565b15611b46576001909101905b600101611afd565b509392505050565b600080600160a060020a0384161515611b6e57600080fd5b600654600160a060020a03858116911614801590611b9a5750600654600160a060020a03868116911614155b1515611ba557600080fd5b30600160a060020a031684600160a060020a031614158015611bd9575030600160a060020a031685600160a060020a031614155b1515611be457600080fd5b600654600160a060020a03166355b5ec646040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611c2357600080fd5b5af11515611c3057600080fd5b50505060405180519050905080600160a060020a031684600160a060020a031614158015611c70575080600160a060020a031685600160a060020a031614155b1515611c7b57600080fd5b600554600160a060020a0386811691161415611c9657600080fd5b600160a060020a038086166000908152600860209081526040808320339094168352929052205483901015611cca57600080fd5b600160a060020a038516600090815260046020526040902054611cf3908463ffffffff611ddb16565b600160a060020a038087166000908152600460205260408082209390935590861681522054611d28908463ffffffff611dcc16565b600160a060020a03808616600090815260046020908152604080832094909455888316825260088152838220339093168252919091522054611d70908463ffffffff611ddb16565b600160a060020a03808716600081815260086020908152604080832033861684529091529081902093909355908616916000805160206121db8339815191529086905190815260200160405180910390a3506001949350505050565b60008282018381101561170c57fe5b600082821115611de757fe5b50900390565b600160a060020a038083166000908152600b6020908152604080832093851683529290529081208054829081908190118015611e2a575082544290105b8015611e3a575060008360010154115b15611f7d57611e6962093a80611e5d856002015442611ddb90919063ffffffff16565b9063ffffffff6121c316565b9150611e8283600101548361219890919063ffffffff16565b9050600082118015611ead5750600160a060020a038616600090815260046020526040902054819010155b15611f7d57600160a060020a038087166000818152600b60209081526040808320948a1683529381528382204260029091015591815260049091522054611efa908263ffffffff611ddb16565b600160a060020a038088166000908152600460205260408082209390935590871681522054611f2f908263ffffffff611dcc16565b600160a060020a03808716600081815260046020526040908190209390935591908816906000805160206121db8339815191529084905190815260200160405180910390a360019350611f82565b600093505b50505092915050565b600080600160a060020a0384161515611fa357600080fd5b600654600160a060020a0385811691161415611fbe57600080fd5b30600160a060020a031684600160a060020a031614151515611fdf57600080fd5b600554600160a060020a0385811691161415611ffa57600080fd5b600654600160a060020a03166355b5ec646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561203957600080fd5b5af1151561204657600080fd5b5050506040518051915050600160a060020a03848116908216141561206a57600080fd5b600160a060020a033316600090815260046020526040902054612093908463ffffffff611ddb16565b600160a060020a0333811660009081526004602052604080822093909355908616815220546120c8908463ffffffff611dcc16565b600160a060020a0380861660008181526004602052604090819020939093559133909116906000805160206121db8339815191529086905190815260200160405180910390a35060019392505050565b60008080805b845183101561218d57606085848151811061213557fe5b906020019060200201519060020a9004915084838151811061215357fe5b906020019060200201516bffffffffffffffffffffffff16905061217782826116ee565b151561218257600080fd5b60019092019161211e565b506001949350505050565b6000808315156121ab576000915061194d565b508282028284828115156121bb57fe5b041461170c57fe5b60008082848115156121d157fe5b049493505050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820e771a652cbcf0ea8ce6ea34e4843db1aa33959d4bcb5058af27002aa731f83c50029\",\"binhash\":\"0e54e7a883c5a99cb6bfccde856bb50c5253f504d23b61d1767be3063ecffce0\",\"name\":\"METToken\",\"deployName\":\"METToken\",\"address\":\"16d74dac67ad7af791427a00e5c687c204b733ab\",\"txid\":\"e93676648b6d1f3a5241d1f3fbb48b650a266a6489b39b6665cb450c5869c11c\",\"createdAt\":\"2019-08-02T11:28:46.7837398Z\",\"confirmed\":true,\"sender\":\"qY3Dc6fwnStAfW1gHKLjmD56uwizq58LHQ\",\"senderHex\":\"9ed56f7c8413238455406e94ce19184e3e9d1a24\"},\"Proceeds\":{\"source\":\"Proceeds:Proceeds\",\"abi\":[{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"closeAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"autonomousConverter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"handleFund\",\"type\":\"function\",\"payable\":true,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"auctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initProceeds\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_auctions\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"LogProceedsIn\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogClosedAuction\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"606060405260008054600160a060020a033316600160a060020a0319909116179055610627806100306000396000f30060606040526004361061007f5763ffffffff60e060020a6000350416632af4c31e8114610084578063378252f2146100b757806350b48c5e146100cc5780637679a816146100fb57806379ba50971461010357806385aa6103146101165780638da5cb5b14610129578063ae71d5da1461013c578063d4ee1d9014610161575b600080fd5b341561008f57600080fd5b6100a3600160a060020a0360043516610174565b604051901515815260200160405180910390f35b34156100c257600080fd5b6100ca6101db565b005b34156100d757600080fd5b6100df6103d9565b604051600160a060020a03909116815260200160405180910390f35b6100ca6103e8565b341561010e57600080fd5b6100a3610442565b341561012157600080fd5b6100df6104d3565b341561013457600080fd5b6100df6104e2565b341561014757600080fd5b6100ca600160a060020a03600435811690602435166104f1565b341561016c57600080fd5b6100df61059f565b6000805433600160a060020a0390811691161461019057600080fd5b600054600160a060020a03838116911614156101ab57600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b60035460009081908190600160a060020a031663212884006040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561022157600080fd5b5af1151561022e57600080fd5b5050506040518051600354909450600160a060020a0316905063496a698d6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561027a57600080fd5b5af1151561028757600080fd5b505050604051805192506102c090506127106102b4600160a060020a03301631601963ffffffff6105ae16565b9063ffffffff6105e416565b905060008111801561032f5750600354600160a060020a031663fde9cded8460405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561031557600080fd5b5af1151561032257600080fd5b5050506040518051905082115b801561033c575081600454105b156103d4576004829055600254600160a060020a0316637679a816826040518263ffffffff1660e060020a0281526004016000604051808303818588803b151561038557600080fd5b5af1151561039257600080fd5b5050505033600160a060020a03167fce45c14a6c726f7154c3b98d500c578e3d8e91aeb29d5f9d12edb07b88f854828260405190815260200160405180910390a25b505050565b600254600160a060020a031681565b60035433600160a060020a0390811691161461040357600080fd5b33600160a060020a03167f6149d6fbfad1c173e29b8de83d7df1b09c0eaba8c3040a4c287f6f1333e60e273460405190815260200160405180910390a2565b60015460009033600160a060020a0390811691161461046057600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b600354600160a060020a031681565b600054600160a060020a031681565b60005433600160a060020a0390811691161461050c57600080fd5b600354600160a060020a031615801561052d5750600160a060020a03811615155b151561053857600080fd5b600254600160a060020a03161580156105595750600160a060020a03821615155b151561056457600080fd5b60028054600160a060020a0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560038054929093169116179055565b600154600160a060020a031681565b6000808315156105c157600091506105dd565b508282028284828115156105d157fe5b04146105d957fe5b8091505b5092915050565b60008082848115156105f257fe5b049493505050505600a165627a7a7230582026f244ada8d4ac34f8743488e723dd11f31155bff4b093b29eda39d3c8486a500029\",\"binhash\":\"9dd1bbe7fa2e881774f4784e42c16d09dc6671aec6acd2a1b976cc2d59f5d0a5\",\"name\":\"Proceeds\",\"deployName\":\"Proceeds\",\"address\":\"4af5b504d02306dbf10ce76214944fb518d8af82\",\"txid\":\"9dfe467ab5c23a93752a4afb829b40c8ee67aee9ce9689cbbb340a6c511d0f38\",\"createdAt\":\"2019-08-02T11:19:09.1629309Z\",\"confirmed\":true,\"sender\":\"qY3Dc6fwnStAfW1gHKLjmD56uwizq58LHQ\",\"senderHex\":\"9ed56f7c8413238455406e94ce19184e3e9d1a24\"},\"Proposals\":{\"source\":\"Proposals:Proposals\",\"abi\":[{\"name\":\"proposals\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"action\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"expiry\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"validator\",\"type\":\"address\",\"indexed\":false},{\"name\":\"newThreshold\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"supportCount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"passed\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"votingPeriod\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"closeProposal\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"setValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"validator\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"voteForProposal\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_support\",\"type\":\"bool\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"proposeNewValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_newThreshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"actions\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"proposeRemoveValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_newThreshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"proposeNewThreshold\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newThreshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"updateVotingPeriod\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_t\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"\",\"type\":\"constructor\",\"payable\":false,\"inputs\":[],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogVoted\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"voter\",\"type\":\"address\",\"indexed\":true},{\"name\":\"support\",\"type\":\"bool\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogProposalCreated\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"newValidator\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newThreshold\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"creator\",\"type\":\"address\",\"indexed\":false},{\"name\":\"expiry\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"action\",\"type\":\"bytes32\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogProposalClosed\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"newValidator\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newThreshold\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"action\",\"type\":\"bytes32\",\"indexed\":true},{\"name\":\"expiry\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"supportCount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"passed\",\"type\":\"bool\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"60606040526213c68060025534156200001757600080fd5b60008054600160a060020a03191633600160a060020a0316179055600480546001810162000046838262000101565b50600091825260209091207f61646476616c0000000000000000000000000000000000000000000000000000910155600480546001810162000089838262000101565b50600091825260209091207f72656d6f766576616c00000000000000000000000000000000000000000000009101556004805460018101620000cc838262000101565b50600091825260209091207f7570646174657468726573686f6c64000000000000000000000000000000000091015562000151565b8154818355818115116200012857600083815260209020620001289181019083016200012d565b505050565b6200014e91905b808211156200014a576000815560010162000134565b5090565b90565b61143d80620001616000396000f3006060604052600436106100c15763ffffffff60e060020a600035041663013cf08b81146100c657806302a251a3146101225780630386a016146101475780631327d3d81461015f5780632af4c31e146101925780633a5381b5146101b15780636505e8e8146101e057806379ba5097146101fb5780637afc7f131461020e57806383240f83146102305780638da5cb5b14610246578063a4ed7cda14610259578063d4ee1d901461027b578063e0e887d01461028e578063ef00ef43146102a4575b600080fd5b34156100d157600080fd5b6100dc6004356102ba565b6040519687526020870195909552604080870194909452600160a060020a039092166060860152608085015260a084015290151560c083015260e0909101905180910390f35b341561012d57600080fd5b610135610314565b60405190815260200160405180910390f35b341561015257600080fd5b61015d60043561031a565b005b341561016a57600080fd5b61017e600160a060020a0360043516610593565b604051901515815260200160405180910390f35b341561019d57600080fd5b61017e600160a060020a03600435166105f6565b34156101bc57600080fd5b6101c461065d565b604051600160a060020a03909116815260200160405180910390f35b34156101eb57600080fd5b61015d600435602435151561066c565b341561020657600080fd5b61017e61089d565b341561021957600080fd5b610135600160a060020a036004351660243561092f565b341561023b57600080fd5b610135600435610b30565b341561025157600080fd5b6101c4610b4f565b341561026457600080fd5b61015d600160a060020a0360043516602435610b5e565b341561028657600080fd5b6101c4610d5d565b341561029957600080fd5b61015d600435610d6c565b34156102af57600080fd5b61017e600435610ec0565b60058054829081106102c857fe5b6000918252602090912060099091020180546001820154600283015460038401546004850154600586015460079096015494965092949193600160a060020a0390911692919060ff1687565b60025481565b60008060058381548110151561032c57fe5b90600052602060002090600902016002015460001415151561034d57600080fd5b600354600160a060020a03166342cde4e86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561038c57600080fd5b5af1151561039957600080fd5b505050604051805190506005848154811015156103b257fe5b9060005260206000209060090201600501541015156103fa576103f5836005858154811015156103de57fe5b906000526020600020906009020160040154610ef1565b61058e565b600580548490811061040857fe5b90600052602060002090600902016002015442111561058e5760048054600190811061043057fe5b600091825260209091200154600580548590811061044a57fe5b906000526020600020906009020160010154600019161480156104ae5750600580548490811061047657fe5b90600052602060002090600902016005015460058481548110151561049757fe5b906000526020600020906009020160060180549050145b1561058e57600354600290600160a060020a031663274982406040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156104f557600080fd5b5af1151561050257600080fd5b5050506040518051905060010181151561051857fe5b6003549190049250600190600160a060020a03166342cde4e86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561055f57600080fd5b5af1151561056c57600080fd5b50505060405180519050039050818110156105845750805b61058e8382610ef1565b505050565b6000805433600160a060020a039081169116146105af57600080fd5b600160a060020a03821615156105c457600080fd5b5060038054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b6000805433600160a060020a0390811691161461061257600080fd5b600054600160a060020a038381169116141561062d57600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b600354600160a060020a031681565b600354600160a060020a031663facd743b3360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156106bc57600080fd5b5af115156106c957600080fd5b5050506040518051905015156106de57600080fd5b60058054839081106106ec57fe5b90600052602060002090600902016002015460001415151561070d57600080fd5b600580548390811061071b57fe5b9060005260206000209060090201600201544210151561073a57600080fd5b600580548390811061074857fe5b60009182526020808320600160a060020a03331684526008600990930201919091019052604090205460ff161561077e57600080fd5b600580548390811061078c57fe5b906000526020600020906009020160060180548060010182816107af9190611312565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a03161790556005805460019190849081106107f357fe5b6000918252602080832033600160a060020a03168452600992909202909101600801905260409020805460ff1916911515919091179055801561085957600580548390811061083e57fe5b60009182526020909120600560099092020101805460010190555b33600160a060020a0316827f90bc9818c321b37fcc42e126e9f66c87cfb1ae4e5246999564448b0cfba3957683604051901515815260200160405180910390a35050565b60015460009033600160a060020a039081169116146108bb57600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b90565b6003546000908190600160a060020a031663facd743b3360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561098457600080fd5b5af1151561099157600080fd5b5050506040518051905015156109a657600080fd5b600160a060020a03841615156109bb57600080fd5b600354600160a060020a031663facd743b8560405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610a0b57600080fd5b5af11515610a1857600080fd5b5050506040518051159050610a2c57600080fd5b6000831115610b0157600354600160a060020a031663274982406040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610a7457600080fd5b5af11515610a8157600080fd5b5050506040518051600354909250600160a060020a0316905063faa8fd7c600183018560405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b1515610adf57600080fd5b5af11515610aec57600080fd5b505050604051805190501515610b0157600080fd5b610b28843360046000815481101515610b1657fe5b9060005260206000209001548661122d565b949350505050565b6004805482908110610b3e57fe5b600091825260209091200154905081565b600054600160a060020a031681565b600354600090600160a060020a031663facd743b3360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610bb157600080fd5b5af11515610bbe57600080fd5b505050604051805190501515610bd357600080fd5b600160a060020a0383161515610be857600080fd5b600354600160a060020a031663facd743b8460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c3857600080fd5b5af11515610c4557600080fd5b505050604051805190501515610c5a57600080fd5b6000821115610d3057600354600160a060020a031663274982406040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ca257600080fd5b5af11515610caf57600080fd5b5050506040518051600354909250600160a060020a0316905063faa8fd7c60001983018460405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b1515610d0e57600080fd5b5af11515610d1b57600080fd5b505050604051805190501515610d3057600080fd5b610d57833360046001815481101515610d4557fe5b9060005260206000209001548561122d565b50505050565b600154600160a060020a031681565b600354600090600160a060020a031663facd743b3360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610dbf57600080fd5b5af11515610dcc57600080fd5b505050604051805190501515610de157600080fd5b600354600160a060020a031663274982406040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610e2057600080fd5b5af11515610e2d57600080fd5b5050506040518051600354909250600160a060020a0316905063faa8fd7c828460405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b1515610e8857600080fd5b5af11515610e9557600080fd5b505050604051805190501515610eaa57600080fd5b61058e60003360046002815481101515610d4557fe5b6000805433600160a060020a03908116911614610edc57600080fd5b811515610ee857600080fd5b50600255600190565b6001600583815481101515610f0257fe5b60009182526020822060099190910201600701805460ff191692151592909217909155600480549091908110610f3457fe5b6000918252602090912001546005805484908110610f4e57fe5b906000526020600020906009020160010154600019161415610ffe5760035460058054600160a060020a0390921691634d238c8e919085908110610f8e57fe5b6000918252602090912060036009909202010154600160a060020a031660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b1515610fe957600080fd5b5af11515610ff657600080fd5b5050506110d3565b60048054600190811061100d57fe5b600091825260209091200154600580548490811061102757fe5b9060005260206000209060090201600101546000191614156110d35760035460058054600160a060020a03909216916340a141ff91908590811061106757fe5b6000918252602090912060036009909202010154600160a060020a031660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b15156110c257600080fd5b5af115156110cf57600080fd5b5050505b801561113957600354600160a060020a031663d7d7442f8260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561112157600080fd5b5af1151561112e57600080fd5b505050604051805150505b600580548390811061114757fe5b6000918252602090912060016009909202010154600580548490811061116957fe5b906000526020600020906009020160030160009054906101000a9004600160a060020a0316600160a060020a0316837f4cbe9f3cd2820adb379ba937ed862786a0fa5c6dba0ac85ed6b6d465acde524e846005878154811015156111c957fe5b9060005260206000209060090201600201546005888154811015156111ea57fe5b9060005260206000209060090201600501546001604051938452602084019290925260408084019190915290151560608301526080909101905180910390a45050565b6000806000600580548091906001016112469190611336565b92506002544201915060058381548110151561125e57fe5b60009182526020909120600990910201838155600181018690556002810183905560038101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038a16908117909155600482018690559091508590857fecf70ba9763aea0fd53cd214bdac13367d476976458426b06f31c992f3fcf8fe818a87604051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a45050949350505050565b81548183558181151161058e5760008381526020902061058e918101908301611362565b81548183558181151161058e5760090281600902836000526020600020918201910161058e9190611380565b61092c91905b8082111561137c5760008155600101611368565b5090565b61092c91905b8082111561137c576000808255600182018190556002820181905560038201805473ffffffffffffffffffffffffffffffffffffffff1916905560048201819055600582018190556113db60068301826113f0565b5060078101805460ff19169055600901611386565b508054600082559060005260206000209081019061140e9190611362565b505600a165627a7a72305820755c3de433e090c98932961276271b7dab9808b37a0bc54dc828831e3992206a0029\",\"binhash\":\"28897be1e457b68ccdf287ac0ab2bfce7d795479d3cc05c594fc147dde8096cc\",\"name\":\"Proposals\",\"deployName\":\"Proposals\",\"address\":\"a6ca7ea28a78572ca06c8376555d8896f37ec6f8\",\"txid\":\"28c212a36ce856c221c07c0c199ec6b902bdf910110f031dbe74b07ec2388bac\",\"createdAt\":\"2019-08-02T11:17:16.6886602Z\",\"confirmed\":true,\"sender\":\"qY3Dc6fwnStAfW1gHKLjmD56uwizq58LHQ\",\"senderHex\":\"9ed56f7c8413238455406e94ce19184e3e9d1a24\"},\"SmartToken\":{\"source\":\"SmartToken:SmartToken\",\"abi\":[{\"name\":\"minter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initSmartToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"totalSupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setTokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"mint\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"tokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"autonomousConverter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"leakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"balanceOf\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"destroy\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"updateLeakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"resetLeakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"initMintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_decmult\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"Mint\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Destroy\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Transfer\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"606060405260008054600160a060020a033316600160a060020a03199091161790556109a2806100306000396000f3006060604052600436106100f05763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630754617281146100f55780630b0c8f1f1461012457806318160ddd1461014e5780631987b887146101735780632af4c31e146101a657806340c10f19146101c55780634892f0af146101e757806350b48c5e146101fa5780635c9b2e921461020d57806370a082311461022057806379ba50971461023f5780638da5cb5b14610252578063a24835d114610265578063b625690d14610287578063baaef4af1461029d578063c3f51fca146102b0578063d4ee1d90146102db575b600080fd5b341561010057600080fd5b6101086102ee565b604051600160a060020a03909116815260200160405180910390f35b341561012f57600080fd5b61014c600160a060020a03600435811690602435166044356102fd565b005b341561015957600080fd5b610161610331565b60405190815260200160405180910390f35b341561017e57600080fd5b610192600160a060020a0360043516610337565b604051901515815260200160405180910390f35b34156101b157600080fd5b610192600160a060020a036004351661039a565b34156101d057600080fd5b610192600160a060020a0360043516602435610401565b34156101f257600080fd5b610108610517565b341561020557600080fd5b610108610526565b341561021857600080fd5b610161610535565b341561022b57600080fd5b610161600160a060020a036004351661053b565b341561024a57600080fd5b610192610556565b341561025d57600080fd5b6101086105e7565b341561027057600080fd5b610192600160a060020a03600435166024356105f6565b341561029257600080fd5b61014c60043561070c565b34156102a857600080fd5b61014c6107ec565b34156102bb57600080fd5b61014c600160a060020a0360043581169060243516604435606435610829565b34156102e657600080fd5b610108610910565b600654600160a060020a031681565b60005433600160a060020a0390811691161461031857600080fd5b61032c838383670de0b6b3a7640000610829565b505050565b60025490565b6000805433600160a060020a0390811691161461035357600080fd5b600160a060020a038216151561036857600080fd5b5060078054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b6000805433600160a060020a039081169116146103b657600080fd5b600054600160a060020a03838116911614156103d157600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b60065460009033600160a060020a039081169116148061042f575060075433600160a060020a039081169116145b151561043a57600080fd5b600160a060020a038316600090815260046020526040902054610463908363ffffffff61091f16565b600160a060020a03841660009081526004602052604090205560025461048f908363ffffffff61091f16565b600255600160a060020a0383167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858360405190815260200160405180910390a282600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600754600160a060020a031681565b600554600160a060020a031681565b60035481565b600160a060020a031660009081526004602052604090205490565b60015460009033600160a060020a0390811691161461057457600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b600054600160a060020a031681565b60055460009033600160a060020a0390811691161480610624575060075433600160a060020a039081169116145b151561062f57600080fd5b600160a060020a038316600090815260046020526040902054610658908363ffffffff61093916565b600160a060020a038416600090815260046020526040902055600254610684908363ffffffff61093916565b600255600160a060020a0383167f81325e2a6c442af9d36e4ee9697f38d5f4bf0837ade0f6c411c6a40af7c057ee8360405190815260200160405180910390a2600083600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b60065433600160a060020a0390811691161480610737575060075433600160a060020a039081169116145b151561074257600080fd5b600654600160a060020a03166322ce61b26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561079a57600080fd5b5af115156107a757600080fd5b505050604051805190506107c860035460025461091f90919063ffffffff16565b11156107d357600080fd5b6003546107e6908263ffffffff61091f16565b60035550565b60065433600160a060020a0390811691161480610817575060075433600160a060020a039081169116145b151561082257600080fd5b6000600355565b60005433600160a060020a0390811691161461084457600080fd5b600554600160a060020a03161580156108655750600160a060020a03841615155b151561087057600080fd5b600654600160a060020a03161580156108915750600160a060020a03831615155b151561089c57600080fd5b60058054600160a060020a0380871673ffffffffffffffffffffffffffffffffffffffff199283161790925560068054928616929091169190911790556108e9828263ffffffff61094b16565b6002819055600160a060020a03909416600090815260046020526040902093909355505050565b600154600160a060020a031681565b60008282018381101561092e57fe5b8091505b5092915050565b60008282111561094557fe5b50900390565b60008083151561095e5760009150610932565b5082820282848281151561096e57fe5b041461092e57fe00a165627a7a723058200ce0e8a7847dabf04ba64698744b86be9abbc72de50f4e749fba8e55a16f9db80029\",\"binhash\":\"431117d8de1843d50dea8bb431da682ef729a4595d2239c1a7702e85ef2b83d6\",\"name\":\"SmartToken\",\"deployName\":\"SmartToken\",\"address\":\"572087e3d14b56d913eecf64fac3758c1eee5c88\",\"txid\":\"c701f8bf6cc1e318be750406bfe14ac7daa13a9e3ca6e67d1270dd6becce38ef\",\"createdAt\":\"2019-08-02T11:25:39.9494208Z\",\"confirmed\":true,\"sender\":\"qY3Dc6fwnStAfW1gHKLjmD56uwizq58LHQ\",\"senderHex\":\"9ed56f7c8413238455406e94ce19184e3e9d1a24\"},\"TokenPorter\":{\"source\":\"TokenPorter:TokenPorter\",\"abi\":[{\"name\":\"importSequence\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"chainHopStartTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"validator\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"mintToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"recipientAddress\",\"type\":\"address\",\"indexed\":false},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"currentHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"globalSupplyInOtherChains\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"validators\",\"type\":\"address[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"claimables\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false},{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setExportFeePerTenThousand\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_exportFee\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"removeDestinationChain\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"burnSequence\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"importMET\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_destinationChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_addresses\",\"type\":\"address[]\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\",\"indexed\":false},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_importData\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_proof\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"exportedBurns\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setMinimumExportFee\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_minimumExportFee\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"auctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setChainHopStartTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"mintHashes\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minimumExportFee\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"burnHashes\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"exportFee\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"addDestinationChain\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_contractAddress\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"burnAtTick\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initTokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_auctionsAddr\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"supplyOnAllChains\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"destinationChains\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes8\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"export\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_destChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_destRecipAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"claimReceivables\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"recipients\",\"type\":\"address[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"token\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"merkleRoots\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"LogExportReceipt\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"destinationChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"destinationMetronomeAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"destinationRecipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amountToBurn\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"currentTick\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"burnSequence\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"currentBurnHash\",\"type\":\"bytes32\",\"indexed\":true},{\"name\":\"prevBurnHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"dailyMintable\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"supplyOnAllChains\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"blockTimestamp\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"exporter\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogImportRequest\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"currentBurnHash\",\"type\":\"bytes32\",\"indexed\":true},{\"name\":\"prevHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"destinationRecipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amountToImport\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"exportTimeStamp\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"burnSequence\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"extraData\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogImport\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"destinationRecipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amountImported\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"importSequence\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"currentHash\",\"type\":\"bytes32\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"ExportOnChainClaimedReceiptLog\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"destinationMetronomeAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"destinationRecipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"606060405260016005556001600655426202a3000160075564e8d4a5100060085560326009556006604051805910620000355750595b9080825280602002602001820160405250600b9080516200005b9291602001906200007d565b5060008054600160a060020a03191633600160a060020a0316179055620000ed565b828054828255906000526020600020908101928215620000bb579160200282015b82811115620000bb5782518255916020019190600101906200009e565b50620000c9929150620000cd565b5090565b620000ea91905b80821115620000c95760008155600101620000d4565b90565b6124da80620000fd6000396000f3006060604052600436106101715763ffffffff60e060020a6000350416630245c5c881146101765780631327d3d81461019b5780632af4c31e146101ce578063386c66b9146101ed5780633a5381b51461020057806341819f831461022f5780634f530565146102ef57806360ab77d514610314578063620160831461032a57806367602c591461034a5780636ffbff9c1461035d57806379ba5097146105095780637a6e38541461051c5780637e880f771461053257806385aa6103146105485780638da5cb5b1461055b5780638f43cc201461056e5780639097dc9014610584578063962f1f3e1461059a5780639da6772a146105ad578063a8c36bc6146105c3578063b27e7244146105d6578063c385eb0f14610602578063c554a60014610618578063d4ee1d901461063f578063d8b194a714610652578063da7220d014610668578063f29b204014610688578063fb8b01971461070d578063fc0c546a1461075c578063fe5a53771461076f575b600080fd5b341561018157600080fd5b610189610785565b60405190815260200160405180910390f35b34156101a657600080fd5b6101ba600160a060020a036004351661078b565b604051901515815260200160405180910390f35b34156101d957600080fd5b6101ba600160a060020a03600435166107ee565b34156101f857600080fd5b610189610855565b341561020b57600080fd5b61021361085b565b604051600160a060020a03909116815260200160405180910390f35b341561023a57600080fd5b6101ba60048035600160c060020a0319169060248035600160a060020a03169160443591606435919060a49060843590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496863596602080820135975091955060608101945060409081013586018083019450359250829182810201905190810160405280939291908181526020018383602002808284375094965061086a95505050505050565b34156102fa57600080fd5b610189600160a060020a0360043581169060243516610c36565b341561031f57600080fd5b6101ba600435610c53565b341561033557600080fd5b6101ba600160c060020a031960043516610c78565b341561035557600080fd5b610189610d11565b341561036857600080fd5b6101ba600160c060020a031960048035821691602480359091169190606490604435908101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610d1795505050505050565b341561051457600080fd5b6101ba61123f565b341561052757600080fd5b6101896004356112d1565b341561053d57600080fd5b6101ba6004356112f0565b341561055357600080fd5b610213611322565b341561056657600080fd5b610213611331565b341561057957600080fd5b6101ba600435611340565b341561058f57600080fd5b610189600435611372565b34156105a557600080fd5b610189611384565b34156105b857600080fd5b61018960043561138a565b34156105ce57600080fd5b61018961139c565b34156105e157600080fd5b6101ba600160c060020a031960043516600160a060020a03602435166113a2565b341561060d57600080fd5b610189600435611434565b341561062357600080fd5b61063d600160a060020a0360043581169060243516611446565b005b341561064a57600080fd5b6102136114c9565b341561065d57600080fd5b6101896004356114d8565b341561067357600080fd5b610213600160c060020a0319600435166114e6565b341561069357600080fd5b6101ba600160a060020a0360048035821691600160c060020a031960248035919091169260443583169260643516916084359160a4359160e49060c43590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061150195505050505050565b341561071857600080fd5b6101896004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611d2c95505050505050565b341561076757600080fd5b610213611e23565b341561077a57600080fd5b610189600435611e32565b60065481565b6000805433600160a060020a039081169116146107a757600080fd5b600160a060020a03821615156107bc57600080fd5b5060048054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b6000805433600160a060020a0390811691161461080a57600080fd5b600054600160a060020a038381169116141561082557600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b60075481565b600454600160a060020a031681565b6004546000908190819033600160a060020a0390811691161461088c57600080fd5b600160c060020a03198b1615156108a257600080fd5b600160a060020a038a1615156108b757600080fd5b600089116108c457600080fd5b8515156108d057600080fd5b8a8a8a8a604051600160c060020a0319949094168452600160a060020a03929092166c01000000000000000000000000026008840152601c830152603c820152605c016040519081900390206000878152600d60205260409020541461093557600080fd5b610940898987611e44565b151561094b57600080fd5b60065460011480156109b05750600354600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561099757600080fd5b5af115156109a457600080fd5b50505060405180511590505b15610a0557600254600160a060020a031663d7508a556040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156109f457600080fd5b5af11515610a0157600080fd5b5050505b610a2c610a188a8a63ffffffff611f3616565b6000888152600e6020526040902054611f50565b600354600160a060020a03166340c10f198b8b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610a8257600080fd5b5af11515610a8f57600080fd5b505050604051805190501515610aa457600080fd5b610ab68451899063ffffffff6121b516565b9150600090505b8351811015610b5057600354600160a060020a03166340c10f19858381518110610ae357fe5b906020019060200201518460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610b3157600080fd5b5af11515610b3e57600080fd5b50505060405180515050600101610abd565b6006548690600160a060020a038c167febe5c0a5e91489624ca514a4e99cb8d9aefb44cde38892673e77e733b74017ab8e8d8d8d604051600160c060020a031985168152602081018490526040810183905260806060820181815290820183818151815260200191508051906020019080838360005b83811015610bde578082015183820152602001610bc6565b50505050905090810190601f168015610c0b5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a450506006805460019081019091559998505050505050505050565b601160209081526000928352604080842090915290825290205481565b6000805433600160a060020a03908116911614610c6f57600080fd5b50600955600190565b6000805433600160a060020a03908116911614610c9457600080fd5b600160c060020a031982161515610caa57600080fd5b600160c060020a03198216600090815260106020526040902054600160a060020a03161515610cd857600080fd5b50600160c060020a0319166000908152601060205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055600190565b60055481565b60035460009033600160a060020a03908116911614610d3557600080fd5b600754421015610d4457600080fd5b8251600814610d5257600080fd5b8651600214610d6057600080fd5b8451600214610d6e57600080fd5b600454600160a060020a0316634bf2500d86600181518110610d8c57fe5b9060200190602002015160405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610dcc57600080fd5b5af11515610dd957600080fd5b5050506040518051159050610ded57600080fd5b610dfc898989898989896121cc565b1515610e0757600080fd5b600254600160a060020a031663c763e5a16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610e4657600080fd5b5af11515610e5357600080fd5b5050506040518051600160c060020a03198a81169116149050610e7557600080fd5b600354600160a060020a031687600081518110610e8e57fe5b90602001906020020151600160a060020a031614610eab57600080fd5b82600181518110610eb857fe5b906020019060200201511515610ecd57600080fd5b600254600090600160a060020a031663212884006040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f0f57600080fd5b5af11515610f1c57600080fd5b505050604051805190501115610f8357600254600160a060020a0316630dd93b566040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f6b57600080fd5b5af11515610f7857600080fd5b505050604051805150505b610f8c826123a9565b600c600087600181518110610f9d57fe5b90602001906020020151815260208101919091526040016000205582600381518110610fc557fe5b90602001906020020151600e600087600181518110610fe057fe5b906020019060200201518152602081019190915260400160002055888760018151811061100957fe5b906020019060200201518460018151811061102057fe5b906020019060200201518560028151811061103757fe5b90602001906020020151604051600160c060020a0319949094168452600160a060020a03929092166c01000000000000000000000000026008840152601c830152603c820152605c016040518091039020600d60008760018151811061109957fe5b906020019060200201518152602081019190915260400160002055866001815181106110c157fe5b90602001906020020151600160a060020a0316856001815181106110e157fe5b906020019060200201517fa2e4b883e7a23d1dccf7889ba3f5cbce46f39c7132a9dca1dc99609c2a73f7c18b8860008151811061111a57fe5b906020019060200201518760018151811061113157fe5b906020019060200201518860028151811061114857fe5b906020019060200201518960008151811061115f57fe5b906020019060200201518a60068151811061117657fe5b906020019060200201518e604051600160c060020a0319881681526020810187905260408101869052606081018590526080810184905260a0810183905260e060c0820181815290820183818151815260200191508051906020019080838360005b838110156111f05780820151838201526020016111d8565b50505050905090810190601f16801561121d5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390a350600198975050505050505050565b60015460009033600160a060020a0390811691161461125d57600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b90565b600a8054829081106112df57fe5b600091825260209091200154905081565b6000805433600160a060020a0390811691161461130c57600080fd5b6000821161131957600080fd5b50600855600190565b600254600160a060020a031681565b600054600160a060020a031681565b6000805433600160a060020a0390811691161461135c57600080fd5b4282101561136957600080fd5b50600755600190565b600d6020526000908152604090205481565b60085481565b600f6020526000908152604090205481565b60095481565b6000805433600160a060020a039081169116146113be57600080fd5b600160c060020a03198316158015906113df5750600160a060020a03821615155b15156113ea57600080fd5b50600160c060020a0319821660009081526010602052604090208054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116179055600192915050565b600e6020526000908152604090205481565b60005433600160a060020a0390811691161461146157600080fd5b600160a060020a038216151561147657600080fd5b600160a060020a038116151561148b57600080fd5b60028054600160a060020a0392831673ffffffffffffffffffffffffffffffffffffffff199182161790915560038054939092169216919091179055565b600154600160a060020a031681565b600b8054829081106112df57fe5b601060205260009081526040902054600160a060020a031681565b600354600090819081908190819033600160a060020a0390811691161461152757600080fd5b60075442101561153657600080fd5b600160c060020a03198b16158015906115575750600160a060020a038a1615155b801561156b5750600160a060020a03891615155b801561157657508715155b151561158157600080fd5b600160c060020a03198b16600090815260106020526040902054600160a060020a038b81169116146115b257600080fd5b6115c2888863ffffffff611f3616565b600354600160a060020a03166370a082318e60405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561161257600080fd5b5af1151561161f57600080fd5b505050604051805190501015151561163657600080fd5b600854871015801561166e575061166a61271061165e6009548b61242a90919063ffffffff16565b9063ffffffff6121b516565b8710155b151561167957600080fd5b600254600160a060020a0316630dd93b566040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156116b857600080fd5b5af115156116c557600080fd5b50505060405180515050600354600160a060020a031663a24835d18d6116f18b8b63ffffffff611f3616565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561173457600080fd5b5af1151561174157600080fd5b50505060405180515050600254600160a060020a031663843ad7b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561178a57600080fd5b5af1151561179757600080fd5b5050506040518051600254909550600160a060020a0316905063065e53606040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156117e357600080fd5b5af115156117f057600080fd5b5050506040518051905092506005546001141561186657600a8054600181016118198382612467565b916000526020600020900160008060405160ff919091167f010000000000000000000000000000000000000000000000000000000000000002815260010160405190819003902090915550505b600254600160a060020a031663c763e5a16040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156118a557600080fd5b5af115156118b257600080fd5b5050506040518051600160c060020a03198d811691161415905061192d57600160a060020a03808b166000908152601160209081526040808320938d1683529290522054611906908963ffffffff611f3616565b600160a060020a03808c166000908152601160209081526040808320938e16835292905220555b6002544292508290600160a060020a031663c763e5a16040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561197157600080fd5b5af1151561197e57600080fd5b50505060405180516002549091508d908d908d908d908d908a90600160a060020a03166342c6498a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156119d457600080fd5b5af115156119e157600080fd5b505050604051805190508c8f600a600160055403815481101515611a0157fe5b9060005260206000209001546040518c8152600160c060020a0319808d1660208301528b1660288201526c01000000000000000000000000600160a060020a03808c16820260308401528a1602604482015260588101889052607881018790526098810186905260b8810185905260d8810184905260f8810183805190602001908083835b60208310611aa55780518252601f199092019160209182019101611a86565b6001836020036101000a03801982511681845116179092525050509190910192835250506020019a50604099505050505050505050505180910390209050600a8054806001018281611af79190612467565b506000918252602080832091909101839055600554838352600f90915260409182902055600354600160a060020a0316906318160ddd90518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611b5a57600080fd5b5af11515611b6757600080fd5b50505060405180519050600b6000815481101515611b8157fe5b9060005260206000209001819055508b600160a060020a031681600019168a600160a060020a03167fca44de332c14dded5f8ccbe1ff70f6b5848247af65567e31a815d3fb61be07928e8e8d8d8d8b600554600a600160055403815481101515611be757fe5b9060005260206000209001548f600b8f604051600160c060020a03198c168152600160a060020a038b166020820152604081018a90526060810189905260a0810187905260c0810186905260e0810185905261010081018490526101408101829052610160608082018181529061012083019083018a818151815260200191508051906020019080838360005b83811015611c8c578082015183820152602001611c74565b50505050905090810190601f168015611cb95780820380516001836020036101000a031916815260200191505b508381038252858181548152602001915080548015611cf757602002820191906000526020600020905b815481526020019060010190808311611ce3575b50509d505050505050505050505050505060405180910390a450506005805460019081019091559a9950505050505050505050565b600080600080600080865111611d4157600080fd5b600092505b8551831015611e1957858381518110611d5b57fe5b90602001906020020151600160a060020a033381166000908152601160209081526040808320938516835292905290812054919350909150811115611e0e57600160a060020a03338116600081815260116020908152604080832094871680845294909152808220919091557fdcc7a8e6641ae885efef96d6348800635daf98037d60462fe34e85013b3257139084905190815260200160405180910390a3611e0b84600163ffffffff611f3616565b93505b600190920191611d46565b5091949350505050565b600354600160a060020a031681565b600c6020526000908152604090205481565b60008080611e58868663ffffffff611f3616565b600354909250611ec190600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611e9e57600080fd5b5af11515611eab57600080fd5b505050604051805186915063ffffffff611f3616565b600254909150600160a060020a03166322ce61b26040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611f0357600080fd5b5af11515611f1057600080fd5b50505060405180519050611f2a838363ffffffff611f3616565b11159695505050505050565b600082820183811015611f4557fe5b8091505b5092915050565b600254600090819081908190600160a060020a031663fde9cded8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611fa157600080fd5b5af11515611fae57600080fd5b5050506040518051600254909550600160a060020a0316905063496a698d6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611ffa57600080fd5b5af1151561200757600080fd5b50505060405180519350612033905086612027858763ffffffff61245516565b9063ffffffff61242a16565b600254909250612104906120a2908690600160a060020a0316635d766d356040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561207f57600080fd5b5af1151561208c57600080fd5b505050604051805191905063ffffffff61242a16565b600254600160a060020a0316632ff2e9dc6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156120e157600080fd5b5af115156120ee57600080fd5b505050604051805191905063ffffffff611f3616565b60025490915061215290829061165e908590600160a060020a0316635d766d356040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561207f57600080fd5b600354909250600160a060020a031663b625690d8360405160e060020a63ffffffff84160281526004810191909152602401600060405180830381600087803b151561219d57600080fd5b5af115156121aa57600080fd5b505050505050505050565b60008082848115156121c357fe5b04949350505050565b6000816000815181106121db57fe5b906020019060200201518888886000815181106121f457fe5b906020019060200201518960018151811061220b57fe5b906020019060200201518660018151811061222257fe5b906020019060200201518760028151811061223957fe5b906020019060200201518860038151811061225057fe5b906020019060200201518960048151811061226757fe5b906020019060200201518a60058151811061227e57fe5b906020019060200201518e8e60008151811061229657fe5b906020019060200201516040518c8152600160c060020a0319808d1660208301528b1660288201526c01000000000000000000000000600160a060020a03808c16820260308401528a1602604482015260588101889052607881018790526098810186905260b8810185905260d8810184905260f8810183805190602001908083835b602083106123385780518252601f199092019160209182019101612319565b6001836020036101000a03801982511681845116179092525050509190910192835250506020019a5060409950505050505050505050519081900390208460018151811061238257fe5b90602001906020020151141561239a5750600161239e565b5060005b979650505050505050565b600080805b6020811015611f4957806008028482815181106123c757fe5b016020015160029190910a7f0100000000000000000000000000000000000000000000000000000000000000918290049091027fff00000000000000000000000000000000000000000000000000000000000000160491909117906001016123ae565b60008083151561243d5760009150611f49565b5082820282848281151561244d57fe5b0414611f4557fe5b60008282111561246157fe5b50900390565b81548183558181151161248b5760008381526020902061248b918101908301612490565b505050565b6112ce91905b808211156124aa5760008155600101612496565b50905600a165627a7a72305820956bfbdce576c47163c5c4019cecea2d6c7cb48b61cde48885d7007f583799d90029\",\"binhash\":\"00493cb0ea351e565d8ae86d07f5644ed179e14097943a942d037ea1e37b4bc4\",\"name\":\"TokenPorter\",\"deployName\":\"TokenPorter\",\"address\":\"4aa625d067457b6e5df52275048e70e68ea1bff7\",\"txid\":\"a4bdf236928c88f33d7f317a5e00c2a4488b8741c34389c036795e145eceb199\",\"createdAt\":\"2019-08-02T11:30:08.640196Z\",\"confirmed\":true,\"sender\":\"qY3Dc6fwnStAfW1gHKLjmD56uwizq58LHQ\",\"senderHex\":\"9ed56f7c8413238455406e94ce19184e3e9d1a24\"},\"Validator\":{\"source\":\"Validator:Validator\",\"abi\":[{\"name\":\"setTokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"setProposalContract\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_proposals\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"getValidatorsCount\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"validators\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"removeValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"threshold\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"tokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"hashClaimed\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"addValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"proposals\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"hashRefutation\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"auctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"attestHash\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"_originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_recipientAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_proof\",\"type\":\"bytes32[]\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"_globalSupplyInOtherChains\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"initValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_auctionsAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_tokenPorterAddr\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"hashAttestations\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"attestationCount\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"updateThreshold\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_threshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"refuteHash\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"_recipientAddr\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"isNewThresholdValid\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_valCount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_threshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"isValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"token\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"LogAttestation\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"hash\",\"type\":\"bytes32\",\"indexed\":true},{\"name\":\"recipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"isValid\",\"type\":\"bool\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogValidatorAdded\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"validator\",\"type\":\"address\",\"indexed\":true},{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"threshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogValidatorRemoved\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"validator\",\"type\":\"address\",\"indexed\":true},{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"threshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"60606040526001600c5560008054600160a060020a033316600160a060020a03199091161790556110b1806100356000396000f30060606040526004361061012f5763ffffffff60e060020a6000350416631987b887811461013457806320f3f5d41461016757806327498240146101865780632af4c31e146101ab57806335aa2e44146101ca57806340a141ff146101fc57806342cde4e81461021d5780634892f0af146102305780634bf2500d146102435780634d238c8e1461025957806355ef20e61461027857806366d8de651461028b57806379ba5097146102ad57806385aa6103146102c05780638da5cb5b146102d3578063bceac891146102e6578063bf2699e7146103b3578063c69ba441146103de578063d4ee1d9014610400578063d65ddd5214610413578063d7d7442f14610429578063e8fd112a1461043f578063faa8fd7c14610461578063facd743b1461047a578063fc0c546a14610499575b600080fd5b341561013f57600080fd5b610153600160a060020a03600435166104ac565b604051901515815260200160405180910390f35b341561017257600080fd5b610153600160a060020a0360043516610502565b341561019157600080fd5b610199610558565b60405190815260200160405180910390f35b34156101b657600080fd5b610153600160a060020a036004351661055f565b34156101d557600080fd5b6101e06004356105b9565b604051600160a060020a03909116815260200160405180910390f35b341561020757600080fd5b61021b600160a060020a03600435166105e1565b005b341561022857600080fd5b610199610790565b341561023b57600080fd5b6101e0610796565b341561024e57600080fd5b6101536004356107a5565b341561026457600080fd5b61021b600160a060020a03600435166107ba565b341561028357600080fd5b6101e06108d2565b341561029657600080fd5b610153600435600160a060020a03602435166108e1565b34156102b857600080fd5b610153610901565b34156102cb57600080fd5b6101e0610985565b34156102de57600080fd5b6101e0610994565b34156102f157600080fd5b61021b60048035906024803577ffffffffffffffffffffffffffffffffffffffffffffffff191691604435600160a060020a031691606435916084359160c49060a435908101908301358060208082020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050933593506109a392505050565b34156103be57600080fd5b61021b600160a060020a0360043581169060243581169060443516610d06565b34156103e957600080fd5b610153600435600160a060020a0360243516610da0565b341561040b57600080fd5b6101e0610dc0565b341561041e57600080fd5b610199600435610dcf565b341561043457600080fd5b610153600435610de1565b341561044a57600080fd5b61021b600435600160a060020a0360243516610e39565b341561046c57600080fd5b610153600435602435610f2c565b341561048557600080fd5b610153600160a060020a0360043516610f80565b34156104a457600080fd5b6101e0610f95565b6000805433600160a060020a039081169116146104c857600080fd5b600160a060020a03821615156104dd57600080fd5b5060088054600160a060020a038316600160a060020a03199091161790556001919050565b6000805433600160a060020a0390811691161461051e57600080fd5b600160a060020a038216151561053357600080fd5b50600a8054600160a060020a038316600160a060020a03199091161790556001919050565b6006545b90565b6000805433600160a060020a0390811691161461057b57600080fd5b600054600160a060020a038381169116141561059657600080fd5b5060018054600160a060020a038316600160a060020a0319909116178155919050565b60068054829081106105c757fe5b600091825260209091200154600160a060020a0316905081565b6000805433600160a060020a039081169116148061060d5750600a5433600160a060020a039081169116145b151561061857600080fd5b6006546001901161062857600080fd5b50600160a060020a0381166000908152600560205260408120805460ff191690555b6006548110156107185781600160a060020a031660068281548110151561066d57fe5b600091825260209091200154600160a060020a03161415610710576006546000190181146106f7576006805460001981019081106106a757fe5b60009182526020909120015460068054600160a060020a0390921691839081106106cd57fe5b60009182526020909120018054600160a060020a031916600160a060020a03929092169190911790555b600680549061070a90600019830161103e565b50610718565b60010161064a565b600654600c54106107435760065460011415610738576001600c55610743565b60065460001901600c555b33600160a060020a031682600160a060020a03167f5627cd186a8bbe264dd973df5fc00b47503dd5eb8b800c374a79cd07976e3b91600c5460405190815260200160405180910390a35050565b600c5481565b600854600160a060020a031681565b600b6020526000908152604090205460ff1681565b6000805433600160a060020a03908116911614806107e65750600a5433600160a060020a039081169116145b15156107f157600080fd5b600160a060020a03821660009081526005602052604090205460ff161561081757600080fd5b6006805460018101610829838261103e565b5060009182526020808320919091018054600160a060020a031916600160a060020a03861690811790915582526005905260409020805460ff1916600117905560065460029004600101905080600c54101561088557600c8190555b33600160a060020a031682600160a060020a03167f46213623f0eccf79b262f17f4d40ff0bee40a6cc53bd88881667cd1409d7b0b2600c5460405190815260200160405180910390a35050565b600a54600160a060020a031681565b600360209081526000928352604080842090915290825290205460ff1681565b60015460009033600160a060020a0390811691161461091f57600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a3506001805460008054600160a060020a031916600160a060020a0390921691909117905590565b600954600160a060020a031681565b600054600160a060020a031681565b600160a060020a03331660009081526005602052604090205460ff1615156109ca57600080fd5b8715156109d657600080fd5b6000888152600260209081526040808320600160a060020a033316845290915290205460ff1615610a0657600080fd5b6000888152600360209081526040808320600160a060020a033316845290915290205460ff1615610a3657600080fd5b600854610aa090600160a060020a031663fe5a53778a60405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610a8257600080fd5b5af11515610a8f57600080fd5b505050604051805190508985610fa4565b1515610aab57600080fd5b6000888152600260209081526040808320600160a060020a033381168552908352818420805460ff191660019081179091558c8552600490935292819020805483019055918816918a917ffe764dcbebeb35937aa8a11cf0f1f95e60b25fe4574742ea6e89943e315eb98a9151901515815260200160405180910390a3600c5460008981526004602052604090205410801590610b5757506000888152600b602052604090205460ff16155b15610cfc576000888152600b602052604090819020805460ff19166001179055600854600160a060020a0316906341819f8390899089908990899088908f9089906006905160e060020a63ffffffff8b1602815277ffffffffffffffffffffffffffffffffffffffffffffffff19891660048201908152600160a060020a0389166024830152604482018890526064820187905260a4820185905260c4820184905261010060848301908152909160e48101906101040187818151815260200191508051906020019080838360005b83811015610c3e578082015183820152602001610c26565b50505050905090810190601f168015610c6b5780820380516001836020036101000a031916815260200191505b508381038252848181548152602001915080548015610cb357602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610c95575b50509a5050505050505050505050602060405180830381600087803b1515610cda57600080fd5b5af11515610ce757600080fd5b505050604051805190501515610cfc57600080fd5b5050505050505050565b60005433600160a060020a03908116911614610d2157600080fd5b600160a060020a0383161515610d3657600080fd5b600160a060020a0382161515610d4b57600080fd5b600160a060020a0381161515610d6057600080fd5b60088054600160a060020a0319908116600160a060020a039384161790915560098054821693831693909317909255600780549092169216919091179055565b600260209081526000928352604080842090915290825290205460ff1681565b600154600160a060020a031681565b60046020526000908152604090205481565b6000805433600160a060020a0390811691161480610e0d5750600a5433600160a060020a039081169116145b1515610e1857600080fd5b600654610e259083610f2c565b1515610e3057600080fd5b50600c55600190565b600160a060020a03331660009081526005602052604090205460ff161515610e6057600080fd5b6000828152600260209081526040808320600160a060020a033316845290915290205460ff1615610e9057600080fd5b6000828152600360209081526040808320600160a060020a033316845290915290205460ff1615610ec057600080fd5b6000828152600360209081526040808320600160a060020a0333811685529252808320805460ff191660011790559083169184917ffe764dcbebeb35937aa8a11cf0f1f95e60b25fe4574742ea6e89943e315eb98a919051901515815260200160405180910390a35050565b6000816001148015610f3e5750826002145b15610f4b57506001610f7a565b60018210158015610f5b57508282105b8015610f6957506002830482115b15610f7657506001610f7a565b5060005b92915050565b60056020526000908152604090205460ff1681565b600754600160a060020a031681565b600080808515801590610fb657508415155b8015610fc25750835115155b1515610fcd57600080fd5b5083905060005b8351811015611032576002848281518110610feb57fe5b906020019060200201518360405191825260208083019190915260409182019151808303816000865af1151561102057600080fd5b50506040518051925050600101610fd4565b50939093149392505050565b81548183558181151161106257600083815260209020611062918101908301611067565b505050565b61055c91905b80821115611081576000815560010161106d565b50905600a165627a7a72305820d2fe8b1c1fdd565ba986f2e875b0d920711c80a23911a8297b049dac7a615cfe0029\",\"binhash\":\"f79185e878b78fb4918dfece9507fb6289fa8a693817991292ed4ceaf85753b0\",\"name\":\"Validator\",\"deployName\":\"Validator\",\"address\":\"39e910a1439cc806a3dcb5f253d8fa28a5b0c598\",\"txid\":\"df38ed9db6c93fb74f3ba94b9c685fc87cce097c5c7491742abed625a19b4f63\",\"createdAt\":\"2019-08-02T11:33:20.3281709Z\",\"confirmed\":true,\"sender\":\"qY3Dc6fwnStAfW1gHKLjmD56uwizq58LHQ\",\"senderHex\":\"9ed56f7c8413238455406e94ce19184e3e9d1a24\"}},\"libraries\":{},\"related\":{\"Auctions:Auctions\":{\"source\":\"Auctions:Auctions\",\"name\":\"Auctions\",\"abi\":[{\"name\":\"initialAuctionEndTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"priceAt\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"initialPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_n\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minimumPriceInDailyAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"MULTIPLIER\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"currentTick\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"mintInitialSupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_founders\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_token\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_proceeds\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"tentimes\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"restartAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"initAuctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_minimumPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_startingPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_timeScale\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"initialized\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"isInitialAuctionEnded\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"currentMintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"isRunning\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"lastPurchaseTick\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"globalMetSupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"INITIAL_AC_SUPPLY\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"globalDailySupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"INITIAL_SUPPLY\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"hundredtimes\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"heartbeat\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"_chain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"auctionAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"convertAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"tokenAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"minting\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"totalMET\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"proceedsBal\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"currTick\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"currAuction\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"nextAuctionGMT\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"genesisGMT\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"currentAuctionPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_dailyMintable\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_lastPurchasePrice\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"createTokenLocker\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_founder\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_token\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"genesisTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"stopEverything\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"currentAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"dailyAuctionStartTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"mintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minted\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"tokensOnThisChain\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"proceeds\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"INITIAL_GLOBAL_DAILY_SUPPLY\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"whatWouldPurchaseDo\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_wei\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_timestamp\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"weiPerToken\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"tokens\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"refund\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"totalMigratedIn\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minimumPrice\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"lastPurchasePrice\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"dailyMintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"thousandtimes\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"currentPrice\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"weiPerToken\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"priceAtInitialAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"lastPurchasePrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"numTicks\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initPricer\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"initialAuctionDuration\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"chain\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes8\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"whichTick\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"t\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"DAILY_PURCHASE_LIMIT\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"INITIAL_FOUNDER_SUPPLY\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"prepareAuctionForNonOGChain\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"founders\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"globalSupplyAfterPercentageLogic\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"skipInitBecauseIAmNotOg\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_proceeds\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_genesisTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_minimumPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_startingPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_timeScale\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_chain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_initialAuctionEndTime\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"totalMigratedOut\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"AUCTION_WHEN_PERCENTAGE_LOGIC_STARTS\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"timeScale\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"tokenLockers\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"token\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"whichAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tick\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"\",\"type\":\"constructor\",\"payable\":false,\"inputs\":[],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"\",\"type\":\"fallback\",\"payable\":true,\"inputs\":null,\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogAuctionFundsIn\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"tokens\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"purchasePrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"refund\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"60606040526503005753e800600090815560018080556a01a78429bce3279a9c0000600e55670de0b6b3a7640000600f5560108290556011919091556012556a084595161401484a00000060135562093a806014556a2b8213a156a49f0d000000601a55601b805467ffffffffffffffff1916675154554d00000000179055341561008957600080fd5b60058054600160a060020a03191633600160a060020a03161790556a069e10de76676d080000006013556135b3806100c26000396000f300606060405260043610620002d45763ffffffff60e060020a600035041662fca46f8114620007dc57806301dbdf441462000804578063053f74921462000820578063059f8b161462000836578063065e5360146200084c5780630a5f558e14620008625780630d2a25bb14620008e25780630dd93b5614620008f85780630eab31b1146200090e578063158ef93e14620009305780631d38bebd14620009465780631d3ce58d146200095c5780632014e5d1146200097257806321288400146200098857806322ce61b2146200099e5780632af4c31e14620009b45780632b193ac414620009d65780632b37921814620009ec5780632ff2e9dc1462000a025780633264a8441462000a185780633defb9621462000a2e57806340a3a9c71462000ae057806342c6498a1462000b0a5780634938649a1462000b20578063496a698d1462000b3657806349b11f241462000b4c5780634bf365df1462000b625780634f02c4201462000b78578063518c0f171462000b8e57806355b5ec641462000ba45780635d766d351462000bd65780637334a63f1462000bec57806379ba50971462000c2c5780637a8a5cf31462000c425780637f386b6c1462000c585780638207b07d1462000c6e578063843ad7b51462000c845780638da5cb5b1462000c9a5780639b8abe0b1462000cb05780639d1b464a1462000cc6578063a8afc5381462000cdc578063c1f7c5391462000cf8578063c50508de1462000d0e578063c763e5a11462000d24578063d282866a1462000d68578063d4ee1d901462000d81578063d511cc491462000d97578063d661d2061462000dad578063d7508a551462000dc3578063d8e75f621462000dd9578063d9db9d891462000df2578063df775a931462000e08578063e98c365b1462000e5d578063f17f3ca31462000e73578063f32b85e81462000e89578063f4285c3c1462000e9f578063fc0c546a1462000ec1578063fde9cded1462000ed7575b6000806000806000806000620002e962000ef0565b1515620002f557600080fd5b600034116200030357600080fd5b3496506200031062000f0d565b506200031b620010c2565b15620004d3576016544210156200033157600080fd5b6200033b6200114c565b600160a060020a0333166000908152601860205260409020541015620003cf5764174876e8008711156200038b57620003808764174876e80063ffffffff6200116216565b955064174876e80096505b600160a060020a0333166000908152601760205260409020349055620003b06200114c565b600160a060020a033316600090815260186020526040902055620004d3565b600160a060020a03331660009081526017602052604090205464174876e8009010620003fa57600080fd5b600160a060020a03331660009081526017602052604090205464174876e800906200042c908963ffffffff6200117a16565b11156200048e57600160a060020a033316600090815260176020526040902054620004779064174876e800906200046a908a63ffffffff6200117a16565b9063ffffffff6200116216565b95506200048b878763ffffffff6200116216565b96505b600160a060020a033316600090815260176020526040902054620004b9903463ffffffff6200117a16565b600160a060020a0333166000908152601760205260409020555b620004dd62001195565b9450620004eb8786620011a2565b91955093509150600083116200050057600080fd5b601554421080156200058957506007546a084595161401484a0000009062000586908590600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200056157600080fd5b5af115156200056f57600080fd5b505050604051805191905063ffffffff6200117a16565b10155b15620005a5574260158190556001620151809182900401026016555b600c859055600d849055601354831115620005bc57fe5b601354620005d1908463ffffffff6200116216565b60135586821115620005df57fe5b620005f1878363ffffffff6200116216565b600854909150600160a060020a0316637679a816826040518263ffffffff1660e060020a0281526004016000604051808303818588803b15156200063457600080fd5b5af115156200064257600080fd5b5050600754600160a060020a031691506340c10f199050338560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200069f57600080fd5b5af11515620006ad57600080fd5b505050604051805190501515620006c357600080fd5b620006d5828763ffffffff6200117a16565b915060008211156200077857600160a060020a03331660009081526017602052604081205411156200074657600160a060020a0333166000908152601760205260409020546200072c908363ffffffff6200116216565b600160a060020a0333166000908152601760205260409020555b600160a060020a03331682156108fc0283604051600060405180830381858888f1935050505015156200077857600080fd5b33600160a060020a03167fa3d6792be56a61c872a8e6d733ef6efe5e391cece4d5e9d2f37208fdab7dddfd8285600d54866040518085815260200184815260200183815260200182815260200194505050505060405180910390a250505050505050005b3415620007e857600080fd5b620007f26200127c565b60405190815260200160405180910390f35b34156200081057600080fd5b620007f260043560243562001282565b34156200082c57600080fd5b620007f262001403565b34156200084257600080fd5b620007f262001409565b34156200085857600080fd5b620007f262001195565b34156200086e57600080fd5b620008ce600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965050600160a060020a0385358116956020810135821695506040013516925062001413915050565b604051901515815260200160405180910390f35b3415620008ee57600080fd5b620007f262001755565b34156200090457600080fd5b620008ce62000f0d565b34156200091a57600080fd5b620008ce6004356024356044356064356200175b565b34156200093c57600080fd5b620008ce6200191e565b34156200095257600080fd5b620008ce620010c2565b34156200096857600080fd5b620007f26200192c565b34156200097e57600080fd5b620008ce62000ef0565b34156200099457600080fd5b620007f2620019ff565b3415620009aa57600080fd5b620007f262001a05565b3415620009c057600080fd5b620008ce600160a060020a036004351662001a69565b3415620009e257600080fd5b620007f262001ad5565b3415620009f857600080fd5b620007f262001adb565b341562000a0e57600080fd5b620007f262001bc7565b341562000a2457600080fd5b620007f262001bd6565b341562000a3a57600080fd5b62000a4462001bdc565b60405177ffffffffffffffffffffffffffffffffffffffffffffffff19909e168e52600160a060020a039c8d1660208f01529a8c166040808f019190915299909b1660608d015260808c019790975260a08b019590955260c08a019390935260e08901919091526101008801526101208701526101408601526101608501526101808401929092526101a08301526101c0909101905180910390f35b341562000aec57600080fd5b62000b08600160a060020a036004358116906024351662001d52565b005b341562000b1657600080fd5b620007f262001ec0565b341562000b2c57600080fd5b62000b0862001ec6565b341562000b4257600080fd5b620007f26200114c565b341562000b5857600080fd5b620007f262001f0b565b341562000b6e57600080fd5b620007f262001f11565b341562000b8457600080fd5b620008ce62001f17565b341562000b9a57600080fd5b620007f262001f20565b341562000bb057600080fd5b62000bba62001fa6565b604051600160a060020a03909116815260200160405180910390f35b341562000be257600080fd5b620007f262001fb5565b341562000bf857600080fd5b62000c0860043560243562001fc2565b60405180848152602001838152602001828152602001935050505060405180910390f35b341562000c3857600080fd5b620008ce62002054565b341562000c4e57600080fd5b620007f2620020e7565b341562000c6457600080fd5b620007f2620020ed565b341562000c7a57600080fd5b620007f2620020f3565b341562000c9057600080fd5b620007f2620020f9565b341562000ca657600080fd5b62000bba62002107565b341562000cbc57600080fd5b620007f262002116565b341562000cd257600080fd5b620007f26200211c565b341562000ce857600080fd5b620007f26004356024356200212c565b341562000d0457600080fd5b62000b0862002190565b341562000d1a57600080fd5b620007f262002264565b341562000d3057600080fd5b62000d3a6200226a565b60405177ffffffffffffffffffffffffffffffffffffffffffffffff19909116815260200160405180910390f35b341562000d7457600080fd5b620007f260043562002276565b341562000d8d57600080fd5b62000bba62002298565b341562000da357600080fd5b620007f2620022a7565b341562000db957600080fd5b620007f2620022b0565b341562000dcf57600080fd5b62000b08620022b6565b341562000de557600080fd5b62000bba6004356200240b565b341562000dfe57600080fd5b620007f262002434565b341562000e1457600080fd5b620008ce600160a060020a036004358116906024351660443560643560843560a43577ffffffffffffffffffffffffffffffffffffffffffffffff1960c4351660e4356200243a565b341562000e6957600080fd5b620007f262002600565b341562000e7f57600080fd5b620007f262002606565b341562000e9557600080fd5b620007f26200260c565b341562000eab57600080fd5b62000bba600160a060020a036004351662002612565b341562000ecd57600080fd5b62000bba6200262d565b341562000ee357600080fd5b620007f26004356200263c565b6000600b54421015801562000f0757506000600b54115b90505b90565b600080600080600062000f1f6200114c565b935062000f2e600c546200263c565b841115620010b657600854600160a060020a031663378252f26040518163ffffffff1660e060020a028152600401600060405180830381600087803b151562000f7657600080fd5b5af1151562000f8457600080fd5b50505062000f9162002684565b600d8290559194509250905062000fa88362002276565b600c556007546200102b90600160a060020a0316635c9b2e926040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000ff057600080fd5b5af1151562000ffe57600080fd5b50505060405180516013549091506200101e908463ffffffff6200117a16565b9063ffffffff6200117a16565b601355600754600160a060020a031663baaef4af6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156200106e57600080fd5b5af115156200107c57600080fd5b5050506139c7841115620010ac57620010a86200109862001adb565b601a549063ffffffff6200117a16565b601a555b60019450620010bb565b600094505b5050505090565b600060155460001415801562000f0757506015544210158062000f0757506007546a084595161401484a00000090600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200112d57600080fd5b5af115156200113b57600080fd5b505050604051805190501015905090565b600062000f076200115c62001195565b6200263c565b6000828211156200116f57fe5b508082035b92915050565b6000828201838110156200118a57fe5b8091505b5092915050565b600062000f074262002276565b600080600080600080600c548710151515620011bd57600080fd5b600c5487039250620011ce620010c2565b15620011ea57620011e2600d548462001282565b9550620011fb565b620011f8600d54846200212c565b95505b62001227866200121a670de0b6b3a76400008b63ffffffff6200279d16565b9063ffffffff620027cc16565b9150819450601354821115620012725760135494506200125b670de0b6b3a76400006200121a878963ffffffff6200279d16565b90506200126f888263ffffffff6200116216565b93505b5050509250925092565b60155481565b6000670de0b6b3a76400008183816103e882041115620012e757600091505b6103e88104821015620012e157600454620012d390670de0b6b3a7640000906200121a90869063ffffffff6200279d16565b9250600190910190620012a1565b6103e890065b60006064820411156200133d57600091505b6064810482101562001338576003546200132a90670de0b6b3a7640000906200121a90869063ffffffff6200279d16565b9250600190910190620012f9565b606490065b6000600a820411156200139357600091505b600a81048210156200138e576002546200138090670de0b6b3a7640000906200121a90869063ffffffff6200279d16565b92506001909101906200134f565b600a90065b600091505b80821015620013c857620013ba60646200121a85606363ffffffff6200279d16565b925060019091019062001398565b620013e7670de0b6b3a76400006200121a888663ffffffff6200279d16565b9350600154841015620013fa5760015493505b50505092915050565b60015481565b65b4791041f30081565b6005546000908190819081908190819033600160a060020a039081169116146200143c57600080fd5b60195460ff16156200144d57600080fd5b895115156200145b57600080fd5b600754600160a060020a03161580156200147d5750600160a060020a03891615155b15156200148957600080fd5b600854600160a060020a0316158015620014ab5750600160a060020a03881615155b1515620014b757600080fd5b600160a060020a0387161515620014cd57600080fd5b60078054600160a060020a03808c1673ffffffffffffffffffffffffffffffffffffffff199283161790925560088054928b1692909116919091179055600093505b8951841015620016a55760608a85815181106200152857fe5b9060200190602002015160029190910a90049250600160a060020a03831615156200155257600080fd5b8984815181106200155f57fe5b906020019060200201516bffffffffffffffffffffffff169150600082116200158757600080fd5b50600160a060020a038083166000908152600a602052604090819020546007549083169216906340c10f1990839085905160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515620015f957600080fd5b5af115156200160757600080fd5b5050506040518051905015156200161d57600080fd5b80600160a060020a03166347e7ef24848460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156200167257600080fd5b5af115156200168057600080fd5b506200169791508690508363ffffffff6200117a16565b94506001909301926200150f565b600e548514620016b457600080fd5b600754600f54600160a060020a03909116906340c10f1990899060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156200171257600080fd5b5af115156200172057600080fd5b5050506040518051905015156200173657600080fd5b6019805460ff1916600190811790915595505050505050949350505050565b60025481565b6005546000908190819033600160a060020a039081169116146200177e57600080fd5b60195460ff1615156200179057600080fd5b601954610100900460ff1615620017a657600080fd5b831515620017b357600080fd5b620017bd62002190565b6000871115620017d857603c808804810201600b55620017e5565b603c42064203603c01600b555b601454600b54016015819055620151808082040214156200180c576015546016556200181f565b6015546001620151809182900401026016555b6000600c819055861115620018345760008690555b6012849055600085111562001853576305f5e1008502600d556200185c565b630bebc200600d555b600091505b6009548210156200190157600a60006009848154811015156200188057fe5b6000918252602080832090910154600160a060020a039081168452908301939093526040918201902054909116915081906327fe75ed90518163ffffffff1660e060020a028152600401600060405180830381600087803b1515620018e457600080fd5b5af11515620018f257600080fd5b50506001909201915062001861565b6019805461ff001916610100179055600192505050949350505050565b601954610100900460ff1681565b60135460009081806200193e6200114c565b91506200195f62001951600c546200263c565b839063ffffffff6200116216565b905060008111156200198d576200198a6200197a82620027e4565b6013549063ffffffff6200117a16565b92505b600754620019f790600160a060020a0316635c9b2e926040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620019d257600080fd5b5af11515620019e057600080fd5b505050604051805185915063ffffffff6200117a16565b935050505090565b600c5481565b60008062001a126200114c565b90506139c781111562001a2a57601a54915062001a65565b62001a6262001a49689c2007651b250000008363ffffffff6200279d16565b6a084595161401484a0000009063ffffffff6200117a16565b91505b5090565b60055460009033600160a060020a0390811691161462001a8857600080fd5b600554600160a060020a038381169116141562001aa457600080fd5b506006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03831617905560015b919050565b600f5481565b6000689c2007651b25000000818080808062001af66200114c565b94506139c785111562001bbc5762001b10600c546200263c565b93506139c892508284111562001b24578392505b8285039150600182111562001b7b5760018203600202618ead01905062001b73634f8460e96200121a8362001b666002601a546200279d90919063ffffffff16565b9063ffffffff6200279d16565b955062001b9d565b62001b9a618ead6200121a6002601a546200279d90919063ffffffff16565b95505b689c2007651b2500000086101562001bbc57689c2007651b2500000095505b509395945050505050565b6a084595161401484a00000081565b60035481565b601b5460085460c060020a90910290600090819081908190819081908190819081908190819081908190600160a060020a03166350b48c5e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001c4357600080fd5b5af1151562001c5157600080fd5b5050506040518051600754309f50909d50600160a060020a03169b508b90506318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001ca457600080fd5b5af1151562001cb257600080fd5b5050506040518051600854909a50600160a060020a031631985062001cd8905062001195565b965062001ce46200114c565b955085151562001cf957601654945062001d14565b60165460125462015180880281151562001d0f57fe5b040194505b600b54935062001d236200211c565b925062001d2f620020f9565b915062001d3b6200192c565b9950600d549050909192939495969798999a9b9c9d565b60055460009033600160a060020a0390811691161462001d7157600080fd5b600160a060020a038216151562001d8757600080fd5b600160a060020a038316151562001d9d57600080fd5b600980546001810162001db1838262002b41565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038516179055308262001def62002b6d565b600160a060020a0392831681529116602082015260409081019051809103906000f080151562001e1e57600080fd5b600160a060020a038481166000908152600a602052604090819020805473ffffffffffffffffffffffffffffffffffffffff1916928416928317905591925090632af4c31e9085905160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151562001ea357600080fd5b5af1151562001eb157600080fd5b50505060405180515050505050565b600b5481565b60055433600160a060020a0390811691161462001ee257600080fd5b42600b54101562001ef257600080fd5b600b8054640757b12c0001908190556015819055601655565b60165481565b60135481565b60195460ff1681565b60075460009081908190600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001f6757600080fd5b5af1151562001f7557600080fd5b50505060405180519050915062001f8b6200192c565b905062001f9f828263ffffffff6200117a16565b9250505090565b600854600160a060020a031681565b689c2007651b2500000081565b600080600080600062001fdf62001fd98762002276565b620029a1565b945062002000856200121a670de0b6b3a76400008a63ffffffff6200279d16565b91508193506013548211156200204b57601354935062002034670de0b6b3a76400006200121a868863ffffffff6200279d16565b905062002048878263ffffffff6200116216565b92505b50509250925092565b60065460009033600160a060020a039081169116146200207357600080fd5b600654600554600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a3506006546005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055600190565b60115481565b60005481565b600d5481565b600062000f076000620027e4565b600554600160a060020a031681565b60045481565b600062000f0762001fd962001195565b60006200214665b4791041f3008363ffffffff6200279d16565b8311156200217b57620021786200216a65b4791041f3008463ffffffff6200279d16565b849063ffffffff6200116216565b90505b60005481101562001174575060005492915050565b670de0b6b3a764000060005b600a811015620021ca57620021bf60646200121a84606363ffffffff6200279d16565b91506001016200219c565b50600255670de0b6b3a764000060005b600a81101562002214576002546200220990670de0b6b3a7640000906200121a90859063ffffffff6200279d16565b9150600101620021da565b50600355670de0b6b3a764000060005b600a8110156200225e576003546200225390670de0b6b3a7640000906200121a90859063ffffffff6200279d16565b915060010162002224565b50600455565b60145481565b601b5460c060020a0281565b600081600b5411156200228857600080fd5b50601254600b54603c9203020490565b600654600160a060020a031681565b64174876e80081565b600e5481565b600754600160a060020a0316634892f0af6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620022f657600080fd5b5af115156200230457600080fd5b50505060405180519050600160a060020a031633600160a060020a031614806200233c575060075433600160a060020a039081169116145b15156200234857600080fd5b600754600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200238857600080fd5b5af115156200239657600080fd5b5050506040518051159050620023ab57600080fd5b601b5460c060020a0277ffffffffffffffffffffffffffffffffffffffffffffffff19167f45544800000000000000000000000000000000000000000000000000000000001415620023fc57600080fd5b6200240662001195565b600c55565b60098054829081106200241a57fe5b600091825260209091200154600160a060020a0316905081565b601a5481565b60055460009033600160a060020a039081169116146200245957600080fd5b60195460ff16156200246a57600080fd5b601954610100900460ff16156200248057600080fd5b8315156200248d57600080fd5b600754600160a060020a0316158015620024af5750600160a060020a03891615155b1515620024bb57600080fd5b600854600160a060020a0316158015620024dd5750600160a060020a03881615155b1515620024e957600080fd5b620024f362002190565b60078054600160a060020a03808c1673ffffffffffffffffffffffffffffffffffffffff199283161790925560088054928b16929091169190911790556000600e819055600f819055601355600b8790556015829055620151808204620151800260155414156200256a576015546016556200257d565b6015546001620151809182900401026016555b6000600c819055861115620025925760008690555b60128490556000851115620025b1576305f5e1008502600d55620025ba565b630bebc200600d555b50601b805460c060020a840467ffffffffffffffff199091161790556019805461ff001960ff199091166001908117919091166101001790915598975050505050505050565b60105481565b6139c781565b60125481565b600a60205260009081526040902054600160a060020a031681565b600754600160a060020a031681565b6000816200264c60165462002276565b11156200265c5750600062001ad0565b6105a06200266c60165462002276565b83038115156200267857fe5b04600101905062001ad0565b600080600080600080600080600b54421015620026b057600b549750600d549650601354955062002793565b620026bd600c546200263c565b9450620026c96200114c565b9350848403925060165497506001841115620026f657620026f3620026ed62001195565b62002ac8565b97505b6200270183620027e4565b955060018311156200271f57600d5460649004600101965062002793565b60135415806200272d575082155b156200274457600d54600202600101965062002793565b83600114156200275c57600054600202965062002793565b620027678862002276565b915060009050600c548211156200277f5750600c5481035b6200278d600d548262001282565b60020296505b5050505050909192565b600080831515620027b257600091506200118e565b50828202828482811515620027c357fe5b04146200118a57fe5b6000808284811515620027db57fe5b04949350505050565b6000806000806000620027f66200114c565b6007549094506200289f90600160a060020a0316635c9b2e926040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200283e57600080fd5b5af115156200284c57600080fd5b50505060405180516013546007549192506200101e91600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200056157600080fd5b689c2007651b25000000955092506139c78411156200293157620028c262001adb565b945060018611156200290f57620028ed618ead6200121a6002601a546200279d90919063ffffffff16565b91506200290c60026200121a8862001b66868a63ffffffff6200117a16565b94505b601a5462002929906200121a878663ffffffff6200279d16565b945062002998565b600186111562002950576200294d858763ffffffff6200279d16565b94505b6200297c62001a4962002965600c546200263c565b689c2007651b250000009063ffffffff6200279d16565b905062002995816200121a878663ffffffff6200279d16565b94505b50505050919050565b6000806000806000620029b6600c546200263c565b9350620029c8846200046a886200263c565b9250600090506013546000148015620029df575082155b15620029f057600d54945062002998565b600183111562002a1957600d5460649004600101915062002a118662002af7565b905062002a91565b826001141562002a8657601354151562002a3b57600d54600202915062002a7b565b62002a46866200263c565b6001141562002a5d57600054600202915062002a7b565b62002a75600d5462002a6f8862002b1b565b62001282565b60020291505b62002a118662002af7565b5050600d54600c5485035b600081101562002aa057600080fd5b62002aaa620010c2565b1562002abc5762002929828262001282565b6200299582826200212c565b60006201518060165460125462002adf856200263c565b620151800281151562002aee57fe5b04010392915050565b60008062002b058362002ac8565b905062002b128162002276565b90920392915050565b60008062002b298362002ac8565b9050600c5462002b398262002276565b039392505050565b81548183558181151162002b685760008381526020902062002b6891810190830162002b7e565b505050565b6040516109ec8062002b9c83390190565b62000f0a91905b8082111562001a65576000815560010162002b85560060606040526002805460a060020a60ff0219169055341561001f57600080fd5b6040516040806109ec833981016040528080519190602001805160008054600160a060020a03191633600160a060020a039081169190911790915590925083161515905061006c57600080fd5b600160a060020a038116151561008157600080fd5b60018054600160a060020a03938416600160a060020a03199182161790915560028054929093169116179055610930806100bc6000396000f3006060604052600436106100955763ffffffff60e060020a60003504166327fe75ed811461009a5780632af4c31e146100af57806334d8521b146100e25780633ccfd60b1461010757806347e7ef241461011a57806385aa61031461013c5780638da5cb5b1461016b578063ab2315111461017e578063cf30901214610191578063eef49ee3146101a4578063fc0c546a146101b7575b600080fd5b34156100a557600080fd5b6100ad6101ca565b005b34156100ba57600080fd5b6100ce600160a060020a0360043516610335565b604051901515815260200160405180910390f35b34156100ed57600080fd5b6100f56103ef565b60405190815260200160405180910390f35b341561011257600080fd5b6100ad6103f5565b341561012557600080fd5b6100ad600160a060020a0360043516602435610714565b341561014757600080fd5b61014f61083c565b604051600160a060020a03909116815260200160405180910390f35b341561017657600080fd5b61014f61084b565b341561018957600080fd5b6100f561085a565b341561019c57600080fd5b6100ce610860565b34156101af57600080fd5b6100f5610881565b34156101c257600080fd5b61014f610887565b60015433600160a060020a039081169116146101e557600080fd5b600154600160a060020a031662fca46f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561022357600080fd5b5af1151561023057600080fd5b50505060405180511515905061024557600080fd5b600154600160a060020a03166342c6498a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561028457600080fd5b5af1151561029157600080fd5b5050506040518051600154909150600160a060020a031662fca46f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156102da57600080fd5b5af115156102e757600080fd5b50505060405180519050101515156102fe57600080fd5b6002805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b6000805433600160a060020a0390811691161461035157600080fd5b600160a060020a038216151561036657600080fd5b600054600160a060020a038381169116141561038157600080fd5b600054600160a060020a0380841691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a35060008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60055481565b6000805481908190819033600160a060020a0390811691161461041757600080fd5b60025474010000000000000000000000000000000000000000900460ff16151561044057600080fd5b6003546000901161045057600080fd5b60015460009450600160a060020a031662fca46f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561049257600080fd5b5af1151561049f57600080fd5b505050604051805190509250600454600014801561050f5750600154600160a060020a0316631d38bebd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156104f757600080fd5b5af1151561050457600080fd5b505050604051805190505b156105705761054b61053e6064610532601960035461089690919063ffffffff16565b9063ffffffff6108cc16565b859063ffffffff6108e316565b9350610567600c610532866003546108f290919063ffffffff16565b60055560048390555b600454151561057e57600080fd5b60045461059490627861f863ffffffff6108e316565b4210610644576004546105ae90429063ffffffff6108f216565b91506105c382627861f863ffffffff6108cc16565b9050600081116105d257600080fd5b6005546105e99061053e908363ffffffff61089616565b935061060f610602627861f8600c63ffffffff61089616565b849063ffffffff6108e316565b421061061b5760035493505b61064061063182627861f863ffffffff61089616565b6004549063ffffffff6108e316565b6004555b600084111561070e57600354610660908563ffffffff6108f216565b600355600254600160a060020a031663a9059cbb338660405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156106b957600080fd5b5af115156106c657600080fd5b50505060405180515050600160a060020a0333167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d58560405190815260200160405180910390a25b50505050565b60015460009033600160a060020a0390811691161461073257600080fd5b60025474010000000000000000000000000000000000000000900460ff161561075a57600080fd5b600254600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156107aa57600080fd5b5af115156107b757600080fd5b505050604051805190509050816107d9600354836108f290919063ffffffff16565b10156107e457600080fd5b6003546107f7908363ffffffff6108e316565b600355600160a060020a0383167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c48360405190815260200160405180910390a2505050565b600154600160a060020a031681565b600054600160a060020a031681565b60045481565b60025474010000000000000000000000000000000000000000900460ff1681565b60035481565b600254600160a060020a031681565b6000808315156108a957600091506108c5565b508282028284828115156108b957fe5b04146108c157fe5b8091505b5092915050565b60008082848115156108da57fe5b04949350505050565b6000828201838110156108c157fe5b6000828211156108fe57fe5b509003905600a165627a7a72305820d194a03a5355bdf89ce1adc4fe81c2c36b0cf4bd329ec218876f5245176307fb0029a165627a7a723058204376475fee6893c20fb2ac11b1238d88858bc878ba542f3a88a3c6dabbf5202a0029\",\"binhash\":\"7672998d8040b93559895ac68ad9fae9811c2f8af00e9d338fb15ba1d3dfd4f8\"},\"AutonomousConverter:AutonomousConverter\":{\"source\":\"AutonomousConverter:AutonomousConverter\",\"name\":\"AutonomousConverter\",\"abi\":[{\"name\":\"init\",\"type\":\"function\",\"payable\":true,\"inputs\":[{\"name\":\"_reserveToken\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_smartToken\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_auctions\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"getMetBalance\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"getMetForQtumResult\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_depositAmount\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"convertQtumToMet\",\"type\":\"function\",\"payable\":true,\"inputs\":[{\"name\":\"_minReturn\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"returnedMet\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"getQtumBalance\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"handleFund\",\"type\":\"function\",\"payable\":true,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"auctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"smartToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"getQtumForMetResult\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_depositAmount\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"reserveToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"convertMetToQtum\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_minReturn\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"returnedQtum\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"LogFundsIn\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"ConvertQtumToMet\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"qtum\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"met\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"ConvertMetToQtum\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"qtum\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"met\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"60606040526004805460a060020a60ff021916905560008054600160a060020a033316600160a060020a0319909116179055610e97806100406000396000f3006060604052600436106100c15763ffffffff60e060020a600035041663184b955981146100c65780632af4c31e146100e85780632eb969881461011b57806330662ff0146101405780633d1c18bf1461015657806375c21d66146101615780637679a8161461017457806379ba50971461017c57806385aa61031461018f5780638da5cb5b146101be578063c3e8fb40146101d1578063d4ee1d90146101e4578063eb73fda4146101f7578063f4325d671461020d578063fca20b0814610220575b600080fd5b6100e6600160a060020a0360043581169060243581169060443516610239565b005b34156100f357600080fd5b610107600160a060020a03600435166102f6565b604051901515815260200160405180910390f35b341561012657600080fd5b61012e61035c565b60405190815260200160405180910390f35b341561014b57600080fd5b61012e60043561036d565b61012e600435610380565b341561016c57600080fd5b61012e6103d9565b6100e66103e5565b341561018757600080fd5b610107610499565b341561019a57600080fd5b6101a261052a565b604051600160a060020a03909116815260200160405180910390f35b34156101c957600080fd5b6101a2610539565b34156101dc57600080fd5b6101a2610548565b34156101ef57600080fd5b6101a2610557565b341561020257600080fd5b61012e600435610566565b341561021857600080fd5b6101a2610573565b341561022b57600080fd5b61012e600435602435610582565b60005433600160a060020a0390811691161461025457600080fd5b60045474010000000000000000000000000000000000000000900460ff161561027c57600080fd5b600480546003805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a039788161790915560028054821695871695909517909455740100000000000000000000000000000000000000009316919093161774ff00000000000000000000000000000000000000001916179055565b6000805433600160a060020a0390811691161461031257600080fd5b600054600160a060020a038381169116141561032d57600080fd5b506001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161781555b919050565b600061036860016105dc565b905090565b600061037a600083610684565b92915050565b600061038e600083346107b0565b905033600160a060020a03167fd3df7f832b811a37403f56ed7d5866326fe5153072efff60aea4b71b1e1c3958348360405191825260208201526040908101905180910390a2919050565b600061036860006105dc565b600454600160a060020a03166355b5ec646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561042457600080fd5b5af1151561043157600080fd5b50505060405180519050600160a060020a031633600160a060020a031614151561045a57600080fd5b33600160a060020a03167f7d6f066517cd2256fb0abf18362576d1a32243ec9e4424ca53ebe8440a56d4733460405190815260200160405180910390a2565b60015460009033600160a060020a039081169116146104b757600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b600454600160a060020a031681565b600054600160a060020a031681565b600254600160a060020a031681565b600154600160a060020a031681565b600061037a600183610684565b600354600160a060020a031681565b6000610590600183856107b0565b905033600160a060020a03167f3f85ac303b8e81c8d3c98a9c8c4c8750745f063c9accff94d670eea196bc8402828560405191825260208201526040908101905180910390a292915050565b6000808260018111156105eb57fe5b14156106025750600160a060020a03301631610357565b600182600181111561061057fe5b14156100c157600354600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561066657600080fd5b5af1151561067357600080fd5b505050604051805190509050610357565b60006001818080808488600181111561069957fe5b14156106a457600094505b6106bd876106b18a6105dc565b9063ffffffff61087416565b60025490945061072190600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561070357600080fd5b5af1151561071057600080fd5b50505060405180519050888661088e565b60025490935061078c908490600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561076957600080fd5b5af1151561077657600080fd5b505050604051805191905063ffffffff61087416565b9150610797856105dc565b90506107a48284836108fb565b98975050505050505050565b6000600181818660018111156107c257fe5b14156108515760035460009250600160a060020a03166323b872dd33308760405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561082f57600080fd5b5af1151561083c57600080fd5b50505060405180519050151561085157600080fd5b61085b8685610931565b90506108688282876109c4565b92505b50509392505050565b60008282018381101561088357fe5b8091505b5092915050565b60008383836108f0670de0b6b3a76400006108e4816108d8876108d36108c56108c0856108bb8c8c610c0f565b610c34565b610c46565b670de0b6b3a7640000610ce8565b610cfa565b9063ffffffff610d1816565b9063ffffffff610d4316565b979650505050505050565b60008383836108f0670de0b6b3a76400006108e4816108d8856108d38361092761092c82828d8f610c0f565b610ce8565b610d5a565b600061093d8383610d66565b90506000811161094c57600080fd5b600254600160a060020a03166340c10f19338360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156109a257600080fd5b5af115156109af57600080fd5b50505060405180519050151561037a57600080fd5b60025460009081908190600160a060020a03166370a082313360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610a1b57600080fd5b5af11515610a2857600080fd5b50505060405180518611159050610a3e57600080fd5b60008411610a4b57600080fd5b610a558686610de4565b925083831015610a6457600080fd5b610a6d866105dc565b915082821015610a7c57600080fd5b600254600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610abb57600080fd5b5af11515610ac857600080fd5b5050506040518051915050808510610adf57600080fd5b600254600160a060020a031663a24835d1338760405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610b3557600080fd5b5af11515610b4257600080fd5b50505060405180515060009050866001811115610b5b57fe5b1415610b9757600160a060020a03331683156108fc0284604051600060405180830381858888f193505050501515610b9257600080fd5b61086b565b600354600160a060020a031663a9059cbb338560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610bed57600080fd5b5af11515610bfa57600080fd5b50505060405180519050151561086b57600080fd5b6000610c2d826108e485670de0b6b3a764000063ffffffff610d1816565b9392505050565b6000610c2d838363ffffffff61087416565b600080808080851515610c5c5760009450610cdf565b8586029350858685811515610c6d57fe5b0414610c7857600080fd5b610c8a86670de0b6b3a7640000610c34565b9250600091505b6001610c9d8484610ce8565b1115610cdb576002610caf8385610c34565b811515610cb857fe5b04905085610cc582610d5a565b11610cd257809150610cd6565b8092505b610c91565b8194505b50505050919050565b6000610c2d838363ffffffff610e5916565b6000610c2d670de0b6b3a76400006108e4858563ffffffff610d1816565b600080831515610d2b5760009150610887565b50828202828482811515610d3b57fe5b041461088357fe5b6000808284811515610d5157fe5b04949350505050565b600061037a8283610cfa565b60025460009081908190600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610dac57600080fd5b5af11515610db957600080fd5b505050604051805190509150610dce856105dc565b9050610ddb82858361088e565b95945050505050565b60025460009081908190600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610e2a57600080fd5b5af11515610e3757600080fd5b505050604051805190509150610e4c856105dc565b9050610ddb8285836108fb565b600082821115610e6557fe5b509003905600a165627a7a72305820f2a07f5f04f3c1ec3991fd075d38f348f1aff0f4a735cd5e65d797f73141a9750029\",\"binhash\":\"0af288213dc65c157f2b3f52c0ae75118211d0676cba8da136fd711e457b2ed4\"},\"./contracts/FixedMath.sol:FixedMath\":{\"source\":\"./contracts/FixedMath.sol:FixedMath\",\"name\":\"FixedMath\",\"abi\":[],\"bin\":\"60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a72305820cc31be260cfb9d20dff89f02475c04aed3ac31998df5d8b35ff3765463c9ba4e0029\",\"binhash\":\"4c9b2094dc1ba4e77816493aa9aa668d4e8145dc9f1a5a56017cd302c8603cd4\"},\"./contracts/Formula.sol:Formula\":{\"source\":\"./contracts/Formula.sol:Formula\",\"name\":\"Formula\",\"abi\":[],\"bin\":\"60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a723058204d6d6736d3ee339f9cd138a6d0641a1d004332ef93d999770dafd62bc900c8c40029\",\"binhash\":\"4c9b2094dc1ba4e77816493aa9aa668d4e8145dc9f1a5a56017cd302c8603cd4\"},\"METToken:METToken\":{\"source\":\"METToken:METToken\",\"name\":\"METToken\",\"abi\":[{\"name\":\"name\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"getRoot\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"addr\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"approve\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"totalSupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initMETToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_decmult\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"setTokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"transferFrom\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"decimals\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"transferAllowed\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_decmult\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"mint\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"export\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_destChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_destRecipAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"tokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"approveMore\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"enableMETTransfers\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"autonomousConverter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"getSubscription\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_recipient\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"startTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"payPerWeek\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"lastWithdrawTime\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"leakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"importMET\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_destinationChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_addresses\",\"type\":\"address[]\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\",\"indexed\":false},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_importData\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_proof\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"balanceOf\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"approveLess\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"subWithdraw\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"cancelSubscription\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_recipient\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"symbol\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"destroy\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"roots\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"transfer\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"subscribe\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_payPerWeek\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_recipient\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"multiTransfer\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"bits\",\"type\":\"uint256[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"updateLeakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"resetLeakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"multiSubWithdraw\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"initMintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_decmult\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"subs\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false},{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"startTime\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"payPerWeek\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"lastWithdrawTime\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"rootsMatch\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"a\",\"type\":\"address\",\"indexed\":false},{\"name\":\"b\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setRoot\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"data\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"allowance\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"multiSubWithdrawFor\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\",\"indexed\":false},{\"name\":\"_recipients\",\"type\":\"address[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"LogSubscription\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"subscriber\",\"type\":\"address\",\"indexed\":true},{\"name\":\"subscribesTo\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogCancelSubscription\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"subscriber\",\"type\":\"address\",\"indexed\":true},{\"name\":\"subscribesTo\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Mint\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Destroy\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Transfer\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Approval\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"606060405260008054600160a060020a033316600160a060020a0319909116179055612226806100306000396000f3006060604052600436106101f55763ffffffff60e060020a60003504166306fdde0381146101fa5780630754617214610284578063079cf76e146102b3578063095ea7b3146102e457806318160ddd1461031a578063195629de1461032d5780631987b8871461035a57806323b872dd146103795780632af4c31e146103a1578063313ce567146103c057806334fec467146103e95780633bf11a6c146103fc57806340c10f191461042757806346be2310146104495780634892f0af146104d95780634cef0ff6146104ec5780634ee4d7311461050e57806350b48c5e146105215780635b75dd8d146105345780635c9b2e921461057d5780636ffbff9c1461059057806370a082311461074d5780637240eccf1461076c57806379ba50971461078e5780638da5cb5b146107a157806393b212bc146107b457806393d81d58146107d357806395d89b41146107f2578063a24835d114610805578063a454687614610827578063a9059cbb14610846578063aa4925d714610868578063b33fcc7a1461088d578063b625690d146108dc578063baaef4af146108f2578063bae1cc7414610905578063c3f51fca14610954578063cd755b411461097f578063d2d85cf2146109a4578063d4ee1d90146109c9578063dab5f340146109dc578063dd62ed3e146109f2578063e6f4761314610a17575b600080fd5b341561020557600080fd5b61020d610aa6565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610249578082015183820152602001610231565b50505050905090810190601f1680156102765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561028f57600080fd5b610297610add565b604051600160a060020a03909116815260200160405180910390f35b34156102be57600080fd5b6102d2600160a060020a0360043516610aec565b60405190815260200160405180910390f35b34156102ef57600080fd5b610306600160a060020a0360043516602435610b07565b604051901515815260200160405180910390f35b341561032557600080fd5b6102d2610b93565b341561033857600080fd5b610358600160a060020a0360043581169060243516604435606435610b99565b005b341561036557600080fd5b610306600160a060020a0360043516610bc6565b341561038457600080fd5b610306600160a060020a0360043581169060243516604435610c29565b34156103ac57600080fd5b610306600160a060020a0360043516610c50565b34156103cb57600080fd5b6103d3610cb7565b60405160ff909116815260200160405180910390f35b34156103f457600080fd5b610306610cbc565b341561040757600080fd5b610358600160a060020a0360043581169060243516604435606435610cc5565b341561043257600080fd5b610306600160a060020a0360043516602435610cec565b341561045457600080fd5b6103066004803577ffffffffffffffffffffffffffffffffffffffffffffffff19169060248035600160a060020a039081169260443590911691606435916084359160c49060a43590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610df095505050505050565b34156104e457600080fd5b610297610f35565b34156104f757600080fd5b610306600160a060020a0360043516602435610f44565b341561051957600080fd5b610306610fed565b341561052c57600080fd5b610297611074565b341561053f57600080fd5b610559600160a060020a0360043581169060243516611083565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561058857600080fd5b6102d26110bb565b341561059b57600080fd5b61030677ffffffffffffffffffffffffffffffffffffffffffffffff1960048035821691602480359091169190606490604435908101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437509496506110c195505050505050565b341561075857600080fd5b6102d2600160a060020a03600435166113a8565b341561077757600080fd5b610306600160a060020a03600435166024356113c3565b341561079957600080fd5b6103066113fc565b34156107ac57600080fd5b61029761148d565b34156107bf57600080fd5b610306600160a060020a036004351661149c565b34156107de57600080fd5b610306600160a060020a03600435166114cd565b34156107fd57600080fd5b61020d6115a1565b341561081057600080fd5b610306600160a060020a03600435166024356115d8565b341561083257600080fd5b6102d2600160a060020a03600435166116dc565b341561085157600080fd5b610306600160a060020a03600435166024356116ee565b341561087357600080fd5b610306600435602435600160a060020a0360443516611713565b341561089857600080fd5b61030660046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506117e595505050505050565b34156108e757600080fd5b610358600435611808565b34156108fd57600080fd5b6103586118cf565b341561091057600080fd5b6102d2600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061190c95505050505050565b341561095f57600080fd5b610358600160a060020a0360043581169060243516604435606435611954565b341561098a57600080fd5b610559600160a060020a0360043581169060243516611a3b565b34156109af57600080fd5b610306600160a060020a0360043581169060243516611a67565b34156109d457600080fd5b610297611a8e565b34156109e757600080fd5b610358600435611a9d565b34156109fd57600080fd5b6102d2600160a060020a0360043581169060243516611ab8565b3415610a2257600080fd5b6102d2600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650611ae395505050505050565b60408051908101604052600981527f4d6574726f6e6f6d650000000000000000000000000000000000000000000000602082015281565b600654600160a060020a031681565b600160a060020a03166000908152600a602052604090205490565b600030600160a060020a031683600160a060020a031614151515610b2a57600080fd5b600160a060020a03338116600081815260086020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60025490565b60005433600160a060020a03908116911614610bb457600080fd5b610bc084848484610cc5565b50505050565b6000805433600160a060020a03908116911614610be257600080fd5b600160a060020a0382161515610bf757600080fd5b5060078054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60095460009060ff161515610c3d57600080fd5b610c48848484611b56565b949350505050565b6000805433600160a060020a03908116911614610c6c57600080fd5b600054600160a060020a0383811691161415610c8757600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b601281565b60095460ff1681565b60005433600160a060020a03908116911614610ce057600080fd5b610bc084848484611954565b60065460009033600160a060020a0390811691161480610d1a575060075433600160a060020a039081169116145b1515610d2557600080fd5b600160a060020a038316600090815260046020526040902054610d4e908363ffffffff611dcc16565b600160a060020a038416600090815260046020526040902055600254610d7a908363ffffffff611dcc16565b600255600160a060020a0383167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858360405190815260200160405180910390a282600160a060020a031660006000805160206121db8339815191528460405190815260200160405180910390a350600192915050565b600754600090600160a060020a03161515610e0a57600080fd5b600754600160a060020a031663f29b20403389898989898960405160e060020a63ffffffff8a16028152600160a060020a038089166004830190815277ffffffffffffffffffffffffffffffffffffffffffffffff1989166024840152878216604484015290861660648301526084820185905260a4820184905260e060c48301908152909160e40183818151815260200191508051906020019080838360005b83811015610ec3578082015183820152602001610eab565b50505050905090810190601f168015610ef05780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b1515610f1457600080fd5b5af11515610f2157600080fd5b505050604051805198975050505050505050565b600754600160a060020a031681565b600160a060020a03338116600090815260086020908152604080832093861683529290529081205481610f7d828563ffffffff611dcc16565b600160a060020a033381166000818152600860209081526040808320948b16808452949091529081902084905592935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259084905190815260200160405180910390a3506001949350505050565b60095460009060ff161580156110555750600654600160a060020a0316631d38bebd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561103d57600080fd5b5af1151561104a57600080fd5b505050604051805190505b151561106057600080fd5b506009805460ff1916600190811790915590565b600554600160a060020a031681565b600160a060020a039182166000908152600b602090815260408083209390941682529190915220805460018201546002909201549092565b60035481565b600754600090600160a060020a031615156110db57600080fd5b600754600160a060020a0316636ffbff9c8a8a8a8a8a8a8a8a6040518963ffffffff1660e060020a028152600401808977ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff191681526020018877ffffffffffffffffffffffffffffffffffffffffffffffff191677ffffffffffffffffffffffffffffffffffffffffffffffff1916815260200180602001806020018060200180602001806020018060200187810387528d818151815260200191508051906020019060200280838360005b838110156111d25780820151838201526020016111ba565b5050505090500187810386528c818151815260200191508051906020019080838360005b8381101561120e5780820151838201526020016111f6565b50505050905090810190601f16801561123b5780820380516001836020036101000a031916815260200191505b5087810385528b818151815260200191508051906020019060200280838360005b8381101561127457808201518382015260200161125c565b5050505090500187810384528a818151815260200191508051906020019060200280838360005b838110156112b357808201518382015260200161129b565b50505050905001878103835289818151815260200191508051906020019060200280838360005b838110156112f25780820151838201526020016112da565b50505050905001878103825288818151815260200191508051906020019080838360005b8381101561132e578082015183820152602001611316565b50505050905090810190601f16801561135b5780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050602060405180830381600087803b151561138557600080fd5b5af1151561139257600080fd5b50505060405180519a9950505050505050505050565b600160a060020a031660009081526004602052604090205490565b600160a060020a03338116600090815260086020908152604080832093861683529290529081205481610f7d828563ffffffff611ddb16565b60015460009033600160a060020a0390811691161461141a57600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b600054600160a060020a031681565b60095460009060ff1615156114b057600080fd5b6114ba8233611ded565b15156114c557600080fd5b506001919050565b600160a060020a033381166000908152600b60209081526040808320938516835292905290812054151561150057600080fd5b600160a060020a033381166000908152600b6020908152604080832093861683529290522060010154151561153457600080fd5b600160a060020a033381166000818152600b602090815260408083209487168084529490915280822082815560018101839055600201919091557f4bc04e574b4f2b061a663b3328263978d3adeab9e4ea9526441c159cdee4eca8905160405180910390a3506001919050565b60408051908101604052600381527f4d45540000000000000000000000000000000000000000000000000000000000602082015281565b60055460009033600160a060020a0390811691161480611606575060075433600160a060020a039081169116145b151561161157600080fd5b600160a060020a03831660009081526004602052604090205461163a908363ffffffff611ddb16565b600160a060020a038416600090815260046020526040902055600254611666908363ffffffff611ddb16565b600255600160a060020a0383167f81325e2a6c442af9d36e4ee9697f38d5f4bf0837ade0f6c411c6a40af7c057ee8360405190815260200160405180910390a2600083600160a060020a03166000805160206121db8339815191528460405190815260200160405180910390a350600192915050565b600a6020526000908152604090205481565b60095460009060ff16151561170257600080fd5b61170c8383611f8b565b9392505050565b60004284101561172257600080fd5b82151561172e57600080fd5b600160a060020a038216151561174357600080fd5b606060405190810160409081528582526020808301869052818301879052600160a060020a033381166000908152600b8352838120918716815291522081518155602082015181600101556040820151816002015590505081600160a060020a031633600160a060020a03167f5c632ccb5c42002836e0c49ef1f6d67e925c5e77c1048ddbb47a9bf6a0f2d01260405160405180910390a35060019392505050565b60095460009060ff1615156117f957600080fd5b61180282612118565b92915050565b60065433600160a060020a0390811691161480611833575060075433600160a060020a039081169116145b151561183e57600080fd5b600654600160a060020a03166322ce61b26040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561187d57600080fd5b5af1151561188a57600080fd5b505050604051805190506118ab600354600254611dcc90919063ffffffff16565b11156118b657600080fd5b6003546118c9908263ffffffff611dcc16565b60035550565b60065433600160a060020a03908116911614806118fa575060075433600160a060020a039081169116145b151561190557600080fd5b6000600355565b600080805b835181101561194d5761193984828151811061192957fe5b9060200190602002015133611ded565b15611945576001909101905b600101611911565b5092915050565b60005433600160a060020a0390811691161461196f57600080fd5b600554600160a060020a03161580156119905750600160a060020a03841615155b151561199b57600080fd5b600654600160a060020a03161580156119bc5750600160a060020a03831615155b15156119c757600080fd5b60058054600160a060020a0380871673ffffffffffffffffffffffffffffffffffffffff19928316179092556006805492861692909116919091179055611a14828263ffffffff61219816565b6002819055600160a060020a03909416600090815260046020526040902093909355505050565b600b60209081526000928352604080842090915290825290208054600182015460029092015490919083565b600160a060020a039081166000908152600a60205260408082205493909216815220541490565b600154600160a060020a031681565b600160a060020a0333166000908152600a6020526040902055565b600160a060020a03918216600090815260086020908152604080832093909416825291909152205490565b60008060008351855114611af657600080fd5b5060009050805b8451811015611b4e57611b3a858281518110611b1557fe5b90602001906020020151858381518110611b2b57fe5b90602001906020020151611ded565b15611b46576001909101905b600101611afd565b509392505050565b600080600160a060020a0384161515611b6e57600080fd5b600654600160a060020a03858116911614801590611b9a5750600654600160a060020a03868116911614155b1515611ba557600080fd5b30600160a060020a031684600160a060020a031614158015611bd9575030600160a060020a031685600160a060020a031614155b1515611be457600080fd5b600654600160a060020a03166355b5ec646040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611c2357600080fd5b5af11515611c3057600080fd5b50505060405180519050905080600160a060020a031684600160a060020a031614158015611c70575080600160a060020a031685600160a060020a031614155b1515611c7b57600080fd5b600554600160a060020a0386811691161415611c9657600080fd5b600160a060020a038086166000908152600860209081526040808320339094168352929052205483901015611cca57600080fd5b600160a060020a038516600090815260046020526040902054611cf3908463ffffffff611ddb16565b600160a060020a038087166000908152600460205260408082209390935590861681522054611d28908463ffffffff611dcc16565b600160a060020a03808616600090815260046020908152604080832094909455888316825260088152838220339093168252919091522054611d70908463ffffffff611ddb16565b600160a060020a03808716600081815260086020908152604080832033861684529091529081902093909355908616916000805160206121db8339815191529086905190815260200160405180910390a3506001949350505050565b60008282018381101561170c57fe5b600082821115611de757fe5b50900390565b600160a060020a038083166000908152600b6020908152604080832093851683529290529081208054829081908190118015611e2a575082544290105b8015611e3a575060008360010154115b15611f7d57611e6962093a80611e5d856002015442611ddb90919063ffffffff16565b9063ffffffff6121c316565b9150611e8283600101548361219890919063ffffffff16565b9050600082118015611ead5750600160a060020a038616600090815260046020526040902054819010155b15611f7d57600160a060020a038087166000818152600b60209081526040808320948a1683529381528382204260029091015591815260049091522054611efa908263ffffffff611ddb16565b600160a060020a038088166000908152600460205260408082209390935590871681522054611f2f908263ffffffff611dcc16565b600160a060020a03808716600081815260046020526040908190209390935591908816906000805160206121db8339815191529084905190815260200160405180910390a360019350611f82565b600093505b50505092915050565b600080600160a060020a0384161515611fa357600080fd5b600654600160a060020a0385811691161415611fbe57600080fd5b30600160a060020a031684600160a060020a031614151515611fdf57600080fd5b600554600160a060020a0385811691161415611ffa57600080fd5b600654600160a060020a03166355b5ec646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561203957600080fd5b5af1151561204657600080fd5b5050506040518051915050600160a060020a03848116908216141561206a57600080fd5b600160a060020a033316600090815260046020526040902054612093908463ffffffff611ddb16565b600160a060020a0333811660009081526004602052604080822093909355908616815220546120c8908463ffffffff611dcc16565b600160a060020a0380861660008181526004602052604090819020939093559133909116906000805160206121db8339815191529086905190815260200160405180910390a35060019392505050565b60008080805b845183101561218d57606085848151811061213557fe5b906020019060200201519060020a9004915084838151811061215357fe5b906020019060200201516bffffffffffffffffffffffff16905061217782826116ee565b151561218257600080fd5b60019092019161211e565b506001949350505050565b6000808315156121ab576000915061194d565b508282028284828115156121bb57fe5b041461170c57fe5b60008082848115156121d157fe5b049493505050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820e771a652cbcf0ea8ce6ea34e4843db1aa33959d4bcb5058af27002aa731f83c50029\",\"binhash\":\"0e54e7a883c5a99cb6bfccde856bb50c5253f504d23b61d1767be3063ecffce0\"},\"./contracts/Mintable.sol:Mintable\":{\"source\":\"./contracts/Mintable.sol:Mintable\",\"name\":\"Mintable\",\"abi\":[{\"name\":\"minter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"totalSupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setTokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"mint\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"tokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"autonomousConverter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"leakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"balanceOf\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"destroy\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"updateLeakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"resetLeakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"initMintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_decmult\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"Mint\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Destroy\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Transfer\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"606060405260008054600160a060020a033316600160a060020a031990911617905561093b806100306000396000f3006060604052600436106100e55763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630754617281146100ea57806318160ddd146101195780631987b8871461013e5780632af4c31e1461017157806340c10f19146101905780634892f0af146101b257806350b48c5e146101c55780635c9b2e92146101d857806370a08231146101eb57806379ba50971461020a5780638da5cb5b1461021d578063a24835d114610230578063b625690d14610252578063baaef4af1461026a578063c3f51fca1461027d578063d4ee1d90146102a8575b600080fd5b34156100f557600080fd5b6100fd6102bb565b604051600160a060020a03909116815260200160405180910390f35b341561012457600080fd5b61012c6102ca565b60405190815260200160405180910390f35b341561014957600080fd5b61015d600160a060020a03600435166102d0565b604051901515815260200160405180910390f35b341561017c57600080fd5b61015d600160a060020a0360043516610333565b341561019b57600080fd5b61015d600160a060020a036004351660243561039a565b34156101bd57600080fd5b6100fd6104b0565b34156101d057600080fd5b6100fd6104bf565b34156101e357600080fd5b61012c6104ce565b34156101f657600080fd5b61012c600160a060020a03600435166104d4565b341561021557600080fd5b61015d6104ef565b341561022857600080fd5b6100fd610580565b341561023b57600080fd5b61015d600160a060020a036004351660243561058f565b341561025d57600080fd5b6102686004356106a5565b005b341561027557600080fd5b610268610785565b341561028857600080fd5b610268600160a060020a03600435811690602435166044356064356107c2565b34156102b357600080fd5b6100fd6108a9565b600654600160a060020a031681565b60025490565b6000805433600160a060020a039081169116146102ec57600080fd5b600160a060020a038216151561030157600080fd5b5060078054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b6000805433600160a060020a0390811691161461034f57600080fd5b600054600160a060020a038381169116141561036a57600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b60065460009033600160a060020a03908116911614806103c8575060075433600160a060020a039081169116145b15156103d357600080fd5b600160a060020a0383166000908152600460205260409020546103fc908363ffffffff6108b816565b600160a060020a038416600090815260046020526040902055600254610428908363ffffffff6108b816565b600255600160a060020a0383167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858360405190815260200160405180910390a282600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600754600160a060020a031681565b600554600160a060020a031681565b60035481565b600160a060020a031660009081526004602052604090205490565b60015460009033600160a060020a0390811691161461050d57600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b600054600160a060020a031681565b60055460009033600160a060020a03908116911614806105bd575060075433600160a060020a039081169116145b15156105c857600080fd5b600160a060020a0383166000908152600460205260409020546105f1908363ffffffff6108d216565b600160a060020a03841660009081526004602052604090205560025461061d908363ffffffff6108d216565b600255600160a060020a0383167f81325e2a6c442af9d36e4ee9697f38d5f4bf0837ade0f6c411c6a40af7c057ee8360405190815260200160405180910390a2600083600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b60065433600160a060020a03908116911614806106d0575060075433600160a060020a039081169116145b15156106db57600080fd5b600654600160a060020a03166322ce61b26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561073357600080fd5b5af1151561074057600080fd5b505050604051805190506107616003546002546108b890919063ffffffff16565b111561076c57600080fd5b60035461077f908263ffffffff6108b816565b60035550565b60065433600160a060020a03908116911614806107b0575060075433600160a060020a039081169116145b15156107bb57600080fd5b6000600355565b60005433600160a060020a039081169116146107dd57600080fd5b600554600160a060020a03161580156107fe5750600160a060020a03841615155b151561080957600080fd5b600654600160a060020a031615801561082a5750600160a060020a03831615155b151561083557600080fd5b60058054600160a060020a0380871673ffffffffffffffffffffffffffffffffffffffff19928316179092556006805492861692909116919091179055610882828263ffffffff6108e416565b6002819055600160a060020a03909416600090815260046020526040902093909355505050565b600154600160a060020a031681565b6000828201838110156108c757fe5b8091505b5092915050565b6000828211156108de57fe5b50900390565b6000808315156108f757600091506108cb565b5082820282848281151561090757fe5b04146108c757fe00a165627a7a72305820dec072d841bb982259ee7390686107b82f80eb9f7770f592f704d957340bfc090029\",\"binhash\":\"04d49b2dc671da370e7a9e06786a79f3279dec5aedb11ab140e5d79eb8c1fb0d\"},\"./contracts/Ownable.sol:Ownable\":{\"source\":\"./contracts/Ownable.sol:Ownable\",\"name\":\"Ownable\",\"abi\":[{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"\",\"type\":\"constructor\",\"payable\":false,\"inputs\":[],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a03199091161790556101a78061003b6000396000f30060606040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632af4c31e81146100505780638da5cb5b14610083575b600080fd5b341561005b57600080fd5b61006f600160a060020a03600435166100b2565b604051901515815260200160405180910390f35b341561008e57600080fd5b61009661016c565b604051600160a060020a03909116815260200160405180910390f35b6000805433600160a060020a039081169116146100ce57600080fd5b600160a060020a03821615156100e357600080fd5b600054600160a060020a03838116911614156100fe57600080fd5b600054600160a060020a0380841691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a35060008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b600054600160a060020a0316815600a165627a7a72305820170e6a7ec7de34ba37a809cfe96464aa1af17e7de76b9d7d8b7afe37b49c7ca10029\",\"binhash\":\"6a952554c7b78dabd315c883acb2d76f2d2d060ab1756ffcf72ad62b589a85db\"},\"./contracts/Owned.sol:Owned\":{\"source\":\"./contracts/Owned.sol:Owned\",\"name\":\"Owned\",\"abi\":[{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"606060405260008054600160a060020a033316600160a060020a0319909116179055610230806100306000396000f3006060604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632af4c31e811461006657806379ba5097146100995780638da5cb5b146100ac578063d4ee1d90146100db575b600080fd5b341561007157600080fd5b610085600160a060020a03600435166100ee565b604051901515815260200160405180910390f35b34156100a457600080fd5b610085610155565b34156100b757600080fd5b6100bf6101e6565b604051600160a060020a03909116815260200160405180910390f35b34156100e657600080fd5b6100bf6101f5565b6000805433600160a060020a0390811691161461010a57600080fd5b600054600160a060020a038381169116141561012557600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b60015460009033600160a060020a0390811691161461017357600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b600054600160a060020a031681565b600154600160a060020a0316815600a165627a7a72305820fc10b91e43b4b863a376b33fdcbc42f98178fd60074cf1bfa4f56bbfb53e12af0029\",\"binhash\":\"3d5f6a24086804e752e224b2d6884dd8eaf9d73563079e6909358ab6a256686c\"},\"./contracts/Pricer.sol:Pricer\":{\"source\":\"./contracts/Pricer.sol:Pricer\",\"name\":\"Pricer\",\"abi\":[{\"name\":\"priceAt\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"initialPrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_n\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minimumPriceInDailyAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"MULTIPLIER\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"tentimes\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"hundredtimes\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minimumPrice\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"thousandtimes\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"priceAtInitialAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"lastPurchasePrice\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"numTicks\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initPricer\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false}],\"bin\":\"60606040526503005753e80060005560018055341561001d57600080fd5b6104af8061002c6000396000f3006060604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301dbdf44811461009d578063053f7492146100c8578063059f8b16146100db5780630d2a25bb146100ee5780633264a844146101015780637f386b6c146101145780639b8abe0b14610127578063a8afc5381461013a578063c1f7c53914610153575b600080fd5b34156100a857600080fd5b6100b6600435602435610168565b60405190815260200160405180910390f35b34156100d357600080fd5b6100b66102da565b34156100e657600080fd5b6100b66102e0565b34156100f957600080fd5b6100b66102ea565b341561010c57600080fd5b6100b66102f0565b341561011f57600080fd5b6100b66102f6565b341561013257600080fd5b6100b66102fc565b341561014557600080fd5b6100b6600435602435610302565b341561015e57600080fd5b61016661035f565b005b6000670de0b6b3a76400008183816103e8820411156101d357600091505b6103e881048210156101cd576004546101c090670de0b6b3a7640000906101b490869063ffffffff61042416565b9063ffffffff61045a16565b9250600190910190610186565b6103e890065b600060648204111561022357600091505b6064810482101561021e5760035461021190670de0b6b3a7640000906101b490869063ffffffff61042416565b92506001909101906101e4565b606490065b6000600a8204111561027357600091505b600a810482101561026e5760025461026190670de0b6b3a7640000906101b490869063ffffffff61042416565b9250600190910190610234565b600a90065b600091505b808210156102a35761029660646101b485606363ffffffff61042416565b9250600190910190610278565b6102bf670de0b6b3a76400006101b4888663ffffffff61042416565b93506001548410156102d15760015493505b50505092915050565b60015481565b65b4791041f30081565b60025481565b60035481565b60005481565b60045481565b600061031a65b4791041f3008363ffffffff61042416565b83111561034a5761034761033a65b4791041f3008463ffffffff61042416565b849063ffffffff61047116565b90505b60005481101561035957506000545b92915050565b670de0b6b3a764000060005b600a8110156103945761038a60646101b484606363ffffffff61042416565b915060010161036b565b50600255670de0b6b3a764000060005b600a8110156103d9576002546103cf90670de0b6b3a7640000906101b490859063ffffffff61042416565b91506001016103a4565b50600355670de0b6b3a764000060005b600a81101561041e5760035461041490670de0b6b3a7640000906101b490859063ffffffff61042416565b91506001016103e9565b50600455565b6000808315156104375760009150610453565b5082820282848281151561044757fe5b041461044f57fe5b8091505b5092915050565b600080828481151561046857fe5b04949350505050565b60008282111561047d57fe5b509003905600a165627a7a72305820893e7914f07d1928c6909c4435eac17da3f2c6e78bf3aa679114b51a42eee5b90029\",\"binhash\":\"b83b8e0f6e45faaa74376c4eab4515cfb8452d39071d98b718252b544d330119\"},\"Proceeds:Proceeds\":{\"source\":\"Proceeds:Proceeds\",\"name\":\"Proceeds\",\"abi\":[{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"closeAuction\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"autonomousConverter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"handleFund\",\"type\":\"function\",\"payable\":true,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"auctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initProceeds\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_auctions\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"LogProceedsIn\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogClosedAuction\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"606060405260008054600160a060020a033316600160a060020a0319909116179055610627806100306000396000f30060606040526004361061007f5763ffffffff60e060020a6000350416632af4c31e8114610084578063378252f2146100b757806350b48c5e146100cc5780637679a816146100fb57806379ba50971461010357806385aa6103146101165780638da5cb5b14610129578063ae71d5da1461013c578063d4ee1d9014610161575b600080fd5b341561008f57600080fd5b6100a3600160a060020a0360043516610174565b604051901515815260200160405180910390f35b34156100c257600080fd5b6100ca6101db565b005b34156100d757600080fd5b6100df6103d9565b604051600160a060020a03909116815260200160405180910390f35b6100ca6103e8565b341561010e57600080fd5b6100a3610442565b341561012157600080fd5b6100df6104d3565b341561013457600080fd5b6100df6104e2565b341561014757600080fd5b6100ca600160a060020a03600435811690602435166104f1565b341561016c57600080fd5b6100df61059f565b6000805433600160a060020a0390811691161461019057600080fd5b600054600160a060020a03838116911614156101ab57600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b60035460009081908190600160a060020a031663212884006040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561022157600080fd5b5af1151561022e57600080fd5b5050506040518051600354909450600160a060020a0316905063496a698d6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561027a57600080fd5b5af1151561028757600080fd5b505050604051805192506102c090506127106102b4600160a060020a03301631601963ffffffff6105ae16565b9063ffffffff6105e416565b905060008111801561032f5750600354600160a060020a031663fde9cded8460405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561031557600080fd5b5af1151561032257600080fd5b5050506040518051905082115b801561033c575081600454105b156103d4576004829055600254600160a060020a0316637679a816826040518263ffffffff1660e060020a0281526004016000604051808303818588803b151561038557600080fd5b5af1151561039257600080fd5b5050505033600160a060020a03167fce45c14a6c726f7154c3b98d500c578e3d8e91aeb29d5f9d12edb07b88f854828260405190815260200160405180910390a25b505050565b600254600160a060020a031681565b60035433600160a060020a0390811691161461040357600080fd5b33600160a060020a03167f6149d6fbfad1c173e29b8de83d7df1b09c0eaba8c3040a4c287f6f1333e60e273460405190815260200160405180910390a2565b60015460009033600160a060020a0390811691161461046057600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b600354600160a060020a031681565b600054600160a060020a031681565b60005433600160a060020a0390811691161461050c57600080fd5b600354600160a060020a031615801561052d5750600160a060020a03811615155b151561053857600080fd5b600254600160a060020a03161580156105595750600160a060020a03821615155b151561056457600080fd5b60028054600160a060020a0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560038054929093169116179055565b600154600160a060020a031681565b6000808315156105c157600091506105dd565b508282028284828115156105d157fe5b04146105d957fe5b8091505b5092915050565b60008082848115156105f257fe5b049493505050505600a165627a7a7230582026f244ada8d4ac34f8743488e723dd11f31155bff4b093b29eda39d3c8486a500029\",\"binhash\":\"9dd1bbe7fa2e881774f4784e42c16d09dc6671aec6acd2a1b976cc2d59f5d0a5\"},\"Proposals:Proposals\":{\"source\":\"Proposals:Proposals\",\"name\":\"Proposals\",\"abi\":[{\"name\":\"proposals\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"action\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"expiry\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"validator\",\"type\":\"address\",\"indexed\":false},{\"name\":\"newThreshold\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"supportCount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"passed\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"votingPeriod\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"closeProposal\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"setValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"validator\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"voteForProposal\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_support\",\"type\":\"bool\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"proposeNewValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_newThreshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"actions\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"proposeRemoveValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_newThreshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"proposeNewThreshold\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newThreshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"updateVotingPeriod\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_t\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"\",\"type\":\"constructor\",\"payable\":false,\"inputs\":[],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogVoted\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"voter\",\"type\":\"address\",\"indexed\":true},{\"name\":\"support\",\"type\":\"bool\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogProposalCreated\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"newValidator\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newThreshold\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"creator\",\"type\":\"address\",\"indexed\":false},{\"name\":\"expiry\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"action\",\"type\":\"bytes32\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogProposalClosed\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"newValidator\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newThreshold\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"action\",\"type\":\"bytes32\",\"indexed\":true},{\"name\":\"expiry\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"supportCount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"passed\",\"type\":\"bool\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"60606040526213c68060025534156200001757600080fd5b60008054600160a060020a03191633600160a060020a0316179055600480546001810162000046838262000101565b50600091825260209091207f61646476616c0000000000000000000000000000000000000000000000000000910155600480546001810162000089838262000101565b50600091825260209091207f72656d6f766576616c00000000000000000000000000000000000000000000009101556004805460018101620000cc838262000101565b50600091825260209091207f7570646174657468726573686f6c64000000000000000000000000000000000091015562000151565b8154818355818115116200012857600083815260209020620001289181019083016200012d565b505050565b6200014e91905b808211156200014a576000815560010162000134565b5090565b90565b61143d80620001616000396000f3006060604052600436106100c15763ffffffff60e060020a600035041663013cf08b81146100c657806302a251a3146101225780630386a016146101475780631327d3d81461015f5780632af4c31e146101925780633a5381b5146101b15780636505e8e8146101e057806379ba5097146101fb5780637afc7f131461020e57806383240f83146102305780638da5cb5b14610246578063a4ed7cda14610259578063d4ee1d901461027b578063e0e887d01461028e578063ef00ef43146102a4575b600080fd5b34156100d157600080fd5b6100dc6004356102ba565b6040519687526020870195909552604080870194909452600160a060020a039092166060860152608085015260a084015290151560c083015260e0909101905180910390f35b341561012d57600080fd5b610135610314565b60405190815260200160405180910390f35b341561015257600080fd5b61015d60043561031a565b005b341561016a57600080fd5b61017e600160a060020a0360043516610593565b604051901515815260200160405180910390f35b341561019d57600080fd5b61017e600160a060020a03600435166105f6565b34156101bc57600080fd5b6101c461065d565b604051600160a060020a03909116815260200160405180910390f35b34156101eb57600080fd5b61015d600435602435151561066c565b341561020657600080fd5b61017e61089d565b341561021957600080fd5b610135600160a060020a036004351660243561092f565b341561023b57600080fd5b610135600435610b30565b341561025157600080fd5b6101c4610b4f565b341561026457600080fd5b61015d600160a060020a0360043516602435610b5e565b341561028657600080fd5b6101c4610d5d565b341561029957600080fd5b61015d600435610d6c565b34156102af57600080fd5b61017e600435610ec0565b60058054829081106102c857fe5b6000918252602090912060099091020180546001820154600283015460038401546004850154600586015460079096015494965092949193600160a060020a0390911692919060ff1687565b60025481565b60008060058381548110151561032c57fe5b90600052602060002090600902016002015460001415151561034d57600080fd5b600354600160a060020a03166342cde4e86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561038c57600080fd5b5af1151561039957600080fd5b505050604051805190506005848154811015156103b257fe5b9060005260206000209060090201600501541015156103fa576103f5836005858154811015156103de57fe5b906000526020600020906009020160040154610ef1565b61058e565b600580548490811061040857fe5b90600052602060002090600902016002015442111561058e5760048054600190811061043057fe5b600091825260209091200154600580548590811061044a57fe5b906000526020600020906009020160010154600019161480156104ae5750600580548490811061047657fe5b90600052602060002090600902016005015460058481548110151561049757fe5b906000526020600020906009020160060180549050145b1561058e57600354600290600160a060020a031663274982406040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156104f557600080fd5b5af1151561050257600080fd5b5050506040518051905060010181151561051857fe5b6003549190049250600190600160a060020a03166342cde4e86040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561055f57600080fd5b5af1151561056c57600080fd5b50505060405180519050039050818110156105845750805b61058e8382610ef1565b505050565b6000805433600160a060020a039081169116146105af57600080fd5b600160a060020a03821615156105c457600080fd5b5060038054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b6000805433600160a060020a0390811691161461061257600080fd5b600054600160a060020a038381169116141561062d57600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b600354600160a060020a031681565b600354600160a060020a031663facd743b3360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156106bc57600080fd5b5af115156106c957600080fd5b5050506040518051905015156106de57600080fd5b60058054839081106106ec57fe5b90600052602060002090600902016002015460001415151561070d57600080fd5b600580548390811061071b57fe5b9060005260206000209060090201600201544210151561073a57600080fd5b600580548390811061074857fe5b60009182526020808320600160a060020a03331684526008600990930201919091019052604090205460ff161561077e57600080fd5b600580548390811061078c57fe5b906000526020600020906009020160060180548060010182816107af9190611312565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a03161790556005805460019190849081106107f357fe5b6000918252602080832033600160a060020a03168452600992909202909101600801905260409020805460ff1916911515919091179055801561085957600580548390811061083e57fe5b60009182526020909120600560099092020101805460010190555b33600160a060020a0316827f90bc9818c321b37fcc42e126e9f66c87cfb1ae4e5246999564448b0cfba3957683604051901515815260200160405180910390a35050565b60015460009033600160a060020a039081169116146108bb57600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b90565b6003546000908190600160a060020a031663facd743b3360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561098457600080fd5b5af1151561099157600080fd5b5050506040518051905015156109a657600080fd5b600160a060020a03841615156109bb57600080fd5b600354600160a060020a031663facd743b8560405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610a0b57600080fd5b5af11515610a1857600080fd5b5050506040518051159050610a2c57600080fd5b6000831115610b0157600354600160a060020a031663274982406040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610a7457600080fd5b5af11515610a8157600080fd5b5050506040518051600354909250600160a060020a0316905063faa8fd7c600183018560405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b1515610adf57600080fd5b5af11515610aec57600080fd5b505050604051805190501515610b0157600080fd5b610b28843360046000815481101515610b1657fe5b9060005260206000209001548661122d565b949350505050565b6004805482908110610b3e57fe5b600091825260209091200154905081565b600054600160a060020a031681565b600354600090600160a060020a031663facd743b3360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610bb157600080fd5b5af11515610bbe57600080fd5b505050604051805190501515610bd357600080fd5b600160a060020a0383161515610be857600080fd5b600354600160a060020a031663facd743b8460405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c3857600080fd5b5af11515610c4557600080fd5b505050604051805190501515610c5a57600080fd5b6000821115610d3057600354600160a060020a031663274982406040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ca257600080fd5b5af11515610caf57600080fd5b5050506040518051600354909250600160a060020a0316905063faa8fd7c60001983018460405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b1515610d0e57600080fd5b5af11515610d1b57600080fd5b505050604051805190501515610d3057600080fd5b610d57833360046001815481101515610d4557fe5b9060005260206000209001548561122d565b50505050565b600154600160a060020a031681565b600354600090600160a060020a031663facd743b3360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610dbf57600080fd5b5af11515610dcc57600080fd5b505050604051805190501515610de157600080fd5b600354600160a060020a031663274982406040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610e2057600080fd5b5af11515610e2d57600080fd5b5050506040518051600354909250600160a060020a0316905063faa8fd7c828460405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b1515610e8857600080fd5b5af11515610e9557600080fd5b505050604051805190501515610eaa57600080fd5b61058e60003360046002815481101515610d4557fe5b6000805433600160a060020a03908116911614610edc57600080fd5b811515610ee857600080fd5b50600255600190565b6001600583815481101515610f0257fe5b60009182526020822060099190910201600701805460ff191692151592909217909155600480549091908110610f3457fe5b6000918252602090912001546005805484908110610f4e57fe5b906000526020600020906009020160010154600019161415610ffe5760035460058054600160a060020a0390921691634d238c8e919085908110610f8e57fe5b6000918252602090912060036009909202010154600160a060020a031660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b1515610fe957600080fd5b5af11515610ff657600080fd5b5050506110d3565b60048054600190811061100d57fe5b600091825260209091200154600580548490811061102757fe5b9060005260206000209060090201600101546000191614156110d35760035460058054600160a060020a03909216916340a141ff91908590811061106757fe5b6000918252602090912060036009909202010154600160a060020a031660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b15156110c257600080fd5b5af115156110cf57600080fd5b5050505b801561113957600354600160a060020a031663d7d7442f8260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561112157600080fd5b5af1151561112e57600080fd5b505050604051805150505b600580548390811061114757fe5b6000918252602090912060016009909202010154600580548490811061116957fe5b906000526020600020906009020160030160009054906101000a9004600160a060020a0316600160a060020a0316837f4cbe9f3cd2820adb379ba937ed862786a0fa5c6dba0ac85ed6b6d465acde524e846005878154811015156111c957fe5b9060005260206000209060090201600201546005888154811015156111ea57fe5b9060005260206000209060090201600501546001604051938452602084019290925260408084019190915290151560608301526080909101905180910390a45050565b6000806000600580548091906001016112469190611336565b92506002544201915060058381548110151561125e57fe5b60009182526020909120600990910201838155600181018690556002810183905560038101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038a16908117909155600482018690559091508590857fecf70ba9763aea0fd53cd214bdac13367d476976458426b06f31c992f3fcf8fe818a87604051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a45050949350505050565b81548183558181151161058e5760008381526020902061058e918101908301611362565b81548183558181151161058e5760090281600902836000526020600020918201910161058e9190611380565b61092c91905b8082111561137c5760008155600101611368565b5090565b61092c91905b8082111561137c576000808255600182018190556002820181905560038201805473ffffffffffffffffffffffffffffffffffffffff1916905560048201819055600582018190556113db60068301826113f0565b5060078101805460ff19169055600901611386565b508054600082559060005260206000209081019061140e9190611362565b505600a165627a7a72305820755c3de433e090c98932961276271b7dab9808b37a0bc54dc828831e3992206a0029\",\"binhash\":\"28897be1e457b68ccdf287ac0ab2bfce7d795479d3cc05c594fc147dde8096cc\"},\"./contracts/SafeMath.sol:SafeMath\":{\"source\":\"./contracts/SafeMath.sol:SafeMath\",\"name\":\"SafeMath\",\"abi\":[],\"bin\":\"604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146060604052600080fd00a165627a7a7230582028ba4f1e168ae9945684ed57de9639a1c77cd49ec761daa75e5b01447a0b07cd0029\",\"binhash\":\"1f22c35458b74a4a578fb62af152edee7078622a3f0360e0c94c2a00500df933\"},\"SmartToken:SmartToken\":{\"source\":\"SmartToken:SmartToken\",\"name\":\"SmartToken\",\"abi\":[{\"name\":\"minter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initSmartToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"totalSupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setTokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"mint\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"tokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"autonomousConverter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"leakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"balanceOf\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"destroy\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"updateLeakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"resetLeakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"initMintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_decmult\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"Mint\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Destroy\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Transfer\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"606060405260008054600160a060020a033316600160a060020a03199091161790556109a2806100306000396000f3006060604052600436106100f05763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630754617281146100f55780630b0c8f1f1461012457806318160ddd1461014e5780631987b887146101735780632af4c31e146101a657806340c10f19146101c55780634892f0af146101e757806350b48c5e146101fa5780635c9b2e921461020d57806370a082311461022057806379ba50971461023f5780638da5cb5b14610252578063a24835d114610265578063b625690d14610287578063baaef4af1461029d578063c3f51fca146102b0578063d4ee1d90146102db575b600080fd5b341561010057600080fd5b6101086102ee565b604051600160a060020a03909116815260200160405180910390f35b341561012f57600080fd5b61014c600160a060020a03600435811690602435166044356102fd565b005b341561015957600080fd5b610161610331565b60405190815260200160405180910390f35b341561017e57600080fd5b610192600160a060020a0360043516610337565b604051901515815260200160405180910390f35b34156101b157600080fd5b610192600160a060020a036004351661039a565b34156101d057600080fd5b610192600160a060020a0360043516602435610401565b34156101f257600080fd5b610108610517565b341561020557600080fd5b610108610526565b341561021857600080fd5b610161610535565b341561022b57600080fd5b610161600160a060020a036004351661053b565b341561024a57600080fd5b610192610556565b341561025d57600080fd5b6101086105e7565b341561027057600080fd5b610192600160a060020a03600435166024356105f6565b341561029257600080fd5b61014c60043561070c565b34156102a857600080fd5b61014c6107ec565b34156102bb57600080fd5b61014c600160a060020a0360043581169060243516604435606435610829565b34156102e657600080fd5b610108610910565b600654600160a060020a031681565b60005433600160a060020a0390811691161461031857600080fd5b61032c838383670de0b6b3a7640000610829565b505050565b60025490565b6000805433600160a060020a0390811691161461035357600080fd5b600160a060020a038216151561036857600080fd5b5060078054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b6000805433600160a060020a039081169116146103b657600080fd5b600054600160a060020a03838116911614156103d157600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b60065460009033600160a060020a039081169116148061042f575060075433600160a060020a039081169116145b151561043a57600080fd5b600160a060020a038316600090815260046020526040902054610463908363ffffffff61091f16565b600160a060020a03841660009081526004602052604090205560025461048f908363ffffffff61091f16565b600255600160a060020a0383167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858360405190815260200160405180910390a282600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600754600160a060020a031681565b600554600160a060020a031681565b60035481565b600160a060020a031660009081526004602052604090205490565b60015460009033600160a060020a0390811691161461057457600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b600054600160a060020a031681565b60055460009033600160a060020a0390811691161480610624575060075433600160a060020a039081169116145b151561062f57600080fd5b600160a060020a038316600090815260046020526040902054610658908363ffffffff61093916565b600160a060020a038416600090815260046020526040902055600254610684908363ffffffff61093916565b600255600160a060020a0383167f81325e2a6c442af9d36e4ee9697f38d5f4bf0837ade0f6c411c6a40af7c057ee8360405190815260200160405180910390a2600083600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b60065433600160a060020a0390811691161480610737575060075433600160a060020a039081169116145b151561074257600080fd5b600654600160a060020a03166322ce61b26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561079a57600080fd5b5af115156107a757600080fd5b505050604051805190506107c860035460025461091f90919063ffffffff16565b11156107d357600080fd5b6003546107e6908263ffffffff61091f16565b60035550565b60065433600160a060020a0390811691161480610817575060075433600160a060020a039081169116145b151561082257600080fd5b6000600355565b60005433600160a060020a0390811691161461084457600080fd5b600554600160a060020a03161580156108655750600160a060020a03841615155b151561087057600080fd5b600654600160a060020a03161580156108915750600160a060020a03831615155b151561089c57600080fd5b60058054600160a060020a0380871673ffffffffffffffffffffffffffffffffffffffff199283161790925560068054928616929091169190911790556108e9828263ffffffff61094b16565b6002819055600160a060020a03909416600090815260046020526040902093909355505050565b600154600160a060020a031681565b60008282018381101561092e57fe5b8091505b5092915050565b60008282111561094557fe5b50900390565b60008083151561095e5760009150610932565b5082820282848281151561096e57fe5b041461092e57fe00a165627a7a723058200ce0e8a7847dabf04ba64698744b86be9abbc72de50f4e749fba8e55a16f9db80029\",\"binhash\":\"431117d8de1843d50dea8bb431da682ef729a4595d2239c1a7702e85ef2b83d6\"},\"./contracts/Token.sol:Token\":{\"source\":\"./contracts/Token.sol:Token\",\"name\":\"Token\",\"abi\":[{\"name\":\"minter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"approve\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"totalSupply\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setTokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"transferFrom\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"initToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_decmult\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"mint\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"tokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"approveMore\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"autonomousConverter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"leakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"balanceOf\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"approveLess\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"destroy\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"transfer\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"multiTransfer\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"bits\",\"type\":\"uint256[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"updateLeakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"resetLeakage\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"initMintable\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_minter\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_initialSupply\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_decmult\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"allowance\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"Mint\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Destroy\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Transfer\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Approval\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_spender\",\"type\":\"address\",\"indexed\":true},{\"name\":\"_value\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"606060405260008054600160a060020a033316600160a060020a03199091161790556110f3806100306000396000f3006060604052600436106101245763ffffffff60e060020a600035041663075461728114610129578063095ea7b31461015857806318160ddd1461018e5780631987b887146101b357806323b872dd146101d25780632af4c31e146101fa5780633bf11a6c1461021957806340c10f19146102465780634892f0af146102685780634cef0ff61461027b57806350b48c5e1461029d5780635c9b2e92146102b057806370a08231146102c35780637240eccf146102e257806379ba5097146103045780638da5cb5b14610317578063a24835d11461032a578063a9059cbb1461034c578063b33fcc7a1461036e578063b625690d146103bd578063baaef4af146103d3578063c3f51fca146103e6578063d4ee1d9014610411578063dd62ed3e14610424575b600080fd5b341561013457600080fd5b61013c610449565b604051600160a060020a03909116815260200160405180910390f35b341561016357600080fd5b61017a600160a060020a0360043516602435610458565b604051901515815260200160405180910390f35b341561019957600080fd5b6101a16104e4565b60405190815260200160405180910390f35b34156101be57600080fd5b61017a600160a060020a03600435166104ea565b34156101dd57600080fd5b61017a600160a060020a036004358116906024351660443561054d565b341561020557600080fd5b61017a600160a060020a03600435166107c3565b341561022457600080fd5b610244600160a060020a036004358116906024351660443560643561082a565b005b341561025157600080fd5b61017a600160a060020a0360043516602435610857565b341561027357600080fd5b61013c61095b565b341561028657600080fd5b61017a600160a060020a036004351660243561096a565b34156102a857600080fd5b61013c610a13565b34156102bb57600080fd5b6101a1610a22565b34156102ce57600080fd5b6101a1600160a060020a0360043516610a28565b34156102ed57600080fd5b61017a600160a060020a0360043516602435610a43565b341561030f57600080fd5b61017a610a7c565b341561032257600080fd5b61013c610b0d565b341561033557600080fd5b61017a600160a060020a0360043516602435610b1c565b341561035757600080fd5b61017a600160a060020a0360043516602435610c20565b341561037957600080fd5b61017a6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610daf95505050505050565b34156103c857600080fd5b610244600435610e2f565b34156103de57600080fd5b610244610ef6565b34156103f157600080fd5b610244600160a060020a0360043581169060243516604435606435610f33565b341561041c57600080fd5b61013c61101a565b341561042f57600080fd5b6101a1600160a060020a0360043581169060243516611029565b600654600160a060020a031681565b600030600160a060020a031683600160a060020a03161415151561047b57600080fd5b600160a060020a03338116600081815260086020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60025490565b6000805433600160a060020a0390811691161461050657600080fd5b600160a060020a038216151561051b57600080fd5b5060078054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b600080600160a060020a038416151561056557600080fd5b600654600160a060020a038581169116148015906105915750600654600160a060020a03868116911614155b151561059c57600080fd5b30600160a060020a031684600160a060020a0316141580156105d0575030600160a060020a031685600160a060020a031614155b15156105db57600080fd5b600654600160a060020a03166355b5ec646040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561061a57600080fd5b5af1151561062757600080fd5b50505060405180519050905080600160a060020a031684600160a060020a031614158015610667575080600160a060020a031685600160a060020a031614155b151561067257600080fd5b600554600160a060020a038681169116141561068d57600080fd5b600160a060020a0380861660009081526008602090815260408083203390941683529290522054839010156106c157600080fd5b600160a060020a0385166000908152600460205260409020546106ea908463ffffffff61105416565b600160a060020a03808716600090815260046020526040808220939093559086168152205461071f908463ffffffff61106616565b600160a060020a03808616600090815260046020908152604080832094909455888316825260088152838220339093168252919091522054610767908463ffffffff61105416565b600160a060020a03808716600081815260086020908152604080832033861684529091529081902093909355908616916000805160206110a88339815191529086905190815260200160405180910390a3506001949350505050565b6000805433600160a060020a039081169116146107df57600080fd5b600054600160a060020a03838116911614156107fa57600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b60005433600160a060020a0390811691161461084557600080fd5b61085184848484610f33565b50505050565b60065460009033600160a060020a0390811691161480610885575060075433600160a060020a039081169116145b151561089057600080fd5b600160a060020a0383166000908152600460205260409020546108b9908363ffffffff61106616565b600160a060020a0384166000908152600460205260409020556002546108e5908363ffffffff61106616565b600255600160a060020a0383167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858360405190815260200160405180910390a282600160a060020a031660006000805160206110a88339815191528460405190815260200160405180910390a350600192915050565b600754600160a060020a031681565b600160a060020a033381166000908152600860209081526040808320938616835292905290812054816109a3828563ffffffff61106616565b600160a060020a033381166000818152600860209081526040808320948b16808452949091529081902084905592935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259084905190815260200160405180910390a3506001949350505050565b600554600160a060020a031681565b60035481565b600160a060020a031660009081526004602052604090205490565b600160a060020a033381166000908152600860209081526040808320938616835292905290812054816109a3828563ffffffff61105416565b60015460009033600160a060020a03908116911614610a9a57600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b600054600160a060020a031681565b60055460009033600160a060020a0390811691161480610b4a575060075433600160a060020a039081169116145b1515610b5557600080fd5b600160a060020a038316600090815260046020526040902054610b7e908363ffffffff61105416565b600160a060020a038416600090815260046020526040902055600254610baa908363ffffffff61105416565b600255600160a060020a0383167f81325e2a6c442af9d36e4ee9697f38d5f4bf0837ade0f6c411c6a40af7c057ee8360405190815260200160405180910390a2600083600160a060020a03166000805160206110a88339815191528460405190815260200160405180910390a350600192915050565b600080600160a060020a0384161515610c3857600080fd5b600654600160a060020a0385811691161415610c5357600080fd5b30600160a060020a031684600160a060020a031614151515610c7457600080fd5b600554600160a060020a0385811691161415610c8f57600080fd5b600654600160a060020a03166355b5ec646040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610cce57600080fd5b5af11515610cdb57600080fd5b5050506040518051915050600160a060020a038481169082161415610cff57600080fd5b600160a060020a033316600090815260046020526040902054610d28908463ffffffff61105416565b600160a060020a033381166000908152600460205260408082209390935590861681522054610d5d908463ffffffff61106616565b600160a060020a0380861660008181526004602052604090819020939093559133909116906000805160206110a88339815191529086905190815260200160405180910390a3600191505b5092915050565b60008080805b8451831015610e24576060858481518110610dcc57fe5b906020019060200201519060020a90049150848381518110610dea57fe5b906020019060200201516bffffffffffffffffffffffff169050610e0e8282610c20565b1515610e1957600080fd5b600190920191610db5565b506001949350505050565b60065433600160a060020a0390811691161480610e5a575060075433600160a060020a039081169116145b1515610e6557600080fd5b600654600160a060020a03166322ce61b26040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ea457600080fd5b5af11515610eb157600080fd5b50505060405180519050610ed260035460025461106690919063ffffffff16565b1115610edd57600080fd5b600354610ef0908263ffffffff61106616565b60035550565b60065433600160a060020a0390811691161480610f21575060075433600160a060020a039081169116145b1515610f2c57600080fd5b6000600355565b60005433600160a060020a03908116911614610f4e57600080fd5b600554600160a060020a0316158015610f6f5750600160a060020a03841615155b1515610f7a57600080fd5b600654600160a060020a0316158015610f9b5750600160a060020a03831615155b1515610fa657600080fd5b60058054600160a060020a0380871673ffffffffffffffffffffffffffffffffffffffff19928316179092556006805492861692909116919091179055610ff3828263ffffffff61107c16565b6002819055600160a060020a03909416600090815260046020526040902093909355505050565b600154600160a060020a031681565b600160a060020a03918216600090815260086020908152604080832093909416825291909152205490565b60008282111561106057fe5b50900390565b60008282018381101561107557fe5b9392505050565b60008083151561108f5760009150610da8565b5082820282848281151561109f57fe5b041461107557fe00ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d32d3667ab6fd3501935dd6338b6381d5fa4a6b2df5bc85aeafb5fc7ac3845110029\",\"binhash\":\"6b0d6fbcb4a43b2a3d365c60dccb32a1ee01dbd1790a57eab6c8685969bcc37b\"},\"./contracts/TokenLocker.sol:TokenLocker\":{\"source\":\"./contracts/TokenLocker.sol:TokenLocker\",\"name\":\"TokenLocker\",\"abi\":[{\"name\":\"lockTokenLocker\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"quarterlyWithdrawable\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"withdraw\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"deposit\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"beneficiary\",\"type\":\"address\",\"indexed\":false},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"auctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"lastWithdrawTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"locked\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"deposited\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"token\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"\",\"type\":\"constructor\",\"payable\":false,\"inputs\":[{\"name\":\"_auctions\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_token\",\"type\":\"address\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Withdrawn\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"who\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"Deposited\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"who\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"60606040526002805460a060020a60ff0219169055341561001f57600080fd5b6040516040806109ec833981016040528080519190602001805160008054600160a060020a03191633600160a060020a039081169190911790915590925083161515905061006c57600080fd5b600160a060020a038116151561008157600080fd5b60018054600160a060020a03938416600160a060020a03199182161790915560028054929093169116179055610930806100bc6000396000f3006060604052600436106100955763ffffffff60e060020a60003504166327fe75ed811461009a5780632af4c31e146100af57806334d8521b146100e25780633ccfd60b1461010757806347e7ef241461011a57806385aa61031461013c5780638da5cb5b1461016b578063ab2315111461017e578063cf30901214610191578063eef49ee3146101a4578063fc0c546a146101b7575b600080fd5b34156100a557600080fd5b6100ad6101ca565b005b34156100ba57600080fd5b6100ce600160a060020a0360043516610335565b604051901515815260200160405180910390f35b34156100ed57600080fd5b6100f56103ef565b60405190815260200160405180910390f35b341561011257600080fd5b6100ad6103f5565b341561012557600080fd5b6100ad600160a060020a0360043516602435610714565b341561014757600080fd5b61014f61083c565b604051600160a060020a03909116815260200160405180910390f35b341561017657600080fd5b61014f61084b565b341561018957600080fd5b6100f561085a565b341561019c57600080fd5b6100ce610860565b34156101af57600080fd5b6100f5610881565b34156101c257600080fd5b61014f610887565b60015433600160a060020a039081169116146101e557600080fd5b600154600160a060020a031662fca46f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561022357600080fd5b5af1151561023057600080fd5b50505060405180511515905061024557600080fd5b600154600160a060020a03166342c6498a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561028457600080fd5b5af1151561029157600080fd5b5050506040518051600154909150600160a060020a031662fca46f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156102da57600080fd5b5af115156102e757600080fd5b50505060405180519050101515156102fe57600080fd5b6002805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b6000805433600160a060020a0390811691161461035157600080fd5b600160a060020a038216151561036657600080fd5b600054600160a060020a038381169116141561038157600080fd5b600054600160a060020a0380841691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a35060008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60055481565b6000805481908190819033600160a060020a0390811691161461041757600080fd5b60025474010000000000000000000000000000000000000000900460ff16151561044057600080fd5b6003546000901161045057600080fd5b60015460009450600160a060020a031662fca46f6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561049257600080fd5b5af1151561049f57600080fd5b505050604051805190509250600454600014801561050f5750600154600160a060020a0316631d38bebd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156104f757600080fd5b5af1151561050457600080fd5b505050604051805190505b156105705761054b61053e6064610532601960035461089690919063ffffffff16565b9063ffffffff6108cc16565b859063ffffffff6108e316565b9350610567600c610532866003546108f290919063ffffffff16565b60055560048390555b600454151561057e57600080fd5b60045461059490627861f863ffffffff6108e316565b4210610644576004546105ae90429063ffffffff6108f216565b91506105c382627861f863ffffffff6108cc16565b9050600081116105d257600080fd5b6005546105e99061053e908363ffffffff61089616565b935061060f610602627861f8600c63ffffffff61089616565b849063ffffffff6108e316565b421061061b5760035493505b61064061063182627861f863ffffffff61089616565b6004549063ffffffff6108e316565b6004555b600084111561070e57600354610660908563ffffffff6108f216565b600355600254600160a060020a031663a9059cbb338660405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156106b957600080fd5b5af115156106c657600080fd5b50505060405180515050600160a060020a0333167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d58560405190815260200160405180910390a25b50505050565b60015460009033600160a060020a0390811691161461073257600080fd5b60025474010000000000000000000000000000000000000000900460ff161561075a57600080fd5b600254600160a060020a03166370a082313060405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156107aa57600080fd5b5af115156107b757600080fd5b505050604051805190509050816107d9600354836108f290919063ffffffff16565b10156107e457600080fd5b6003546107f7908363ffffffff6108e316565b600355600160a060020a0383167f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c48360405190815260200160405180910390a2505050565b600154600160a060020a031681565b600054600160a060020a031681565b60045481565b60025474010000000000000000000000000000000000000000900460ff1681565b60035481565b600254600160a060020a031681565b6000808315156108a957600091506108c5565b508282028284828115156108b957fe5b04146108c157fe5b8091505b5092915050565b60008082848115156108da57fe5b04949350505050565b6000828201838110156108c157fe5b6000828211156108fe57fe5b509003905600a165627a7a72305820d194a03a5355bdf89ce1adc4fe81c2c36b0cf4bd329ec218876f5245176307fb0029\",\"binhash\":\"b2ccd0cb7a78b32226fd9ca7fedbd616eead0cd34b9a99877c8ae048061828b3\"},\"TokenPorter:TokenPorter\":{\"source\":\"TokenPorter:TokenPorter\",\"name\":\"TokenPorter\",\"abi\":[{\"name\":\"importSequence\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"chainHopStartTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"validator\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"mintToken\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"recipientAddress\",\"type\":\"address\",\"indexed\":false},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"currentHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"globalSupplyInOtherChains\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"validators\",\"type\":\"address[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"claimables\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false},{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setExportFeePerTenThousand\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_exportFee\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"removeDestinationChain\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"burnSequence\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"importMET\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_destinationChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_addresses\",\"type\":\"address[]\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\",\"indexed\":false},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_importData\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"_proof\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"exportedBurns\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setMinimumExportFee\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_minimumExportFee\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"auctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"setChainHopStartTime\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"mintHashes\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"minimumExportFee\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"burnHashes\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"exportFee\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"addDestinationChain\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_contractAddress\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"burnAtTick\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"initTokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_auctionsAddr\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"supplyOnAllChains\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"destinationChains\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes8\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"export\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_destChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_destRecipAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"claimReceivables\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"recipients\",\"type\":\"address[]\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"token\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"merkleRoots\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"LogExportReceipt\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"destinationChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"destinationMetronomeAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"destinationRecipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amountToBurn\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"currentTick\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"burnSequence\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"currentBurnHash\",\"type\":\"bytes32\",\"indexed\":true},{\"name\":\"prevBurnHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"dailyMintable\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"supplyOnAllChains\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"blockTimestamp\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"exporter\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogImportRequest\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"currentBurnHash\",\"type\":\"bytes32\",\"indexed\":true},{\"name\":\"prevHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"destinationRecipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amountToImport\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"exportTimeStamp\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"burnSequence\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"extraData\",\"type\":\"bytes\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogImport\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"destinationRecipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amountImported\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"importSequence\",\"type\":\"uint256\",\"indexed\":true},{\"name\":\"currentHash\",\"type\":\"bytes32\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"ExportOnChainClaimedReceiptLog\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"destinationMetronomeAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"destinationRecipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"606060405260016005556001600655426202a3000160075564e8d4a5100060085560326009556006604051805910620000355750595b9080825280602002602001820160405250600b9080516200005b9291602001906200007d565b5060008054600160a060020a03191633600160a060020a0316179055620000ed565b828054828255906000526020600020908101928215620000bb579160200282015b82811115620000bb5782518255916020019190600101906200009e565b50620000c9929150620000cd565b5090565b620000ea91905b80821115620000c95760008155600101620000d4565b90565b6124da80620000fd6000396000f3006060604052600436106101715763ffffffff60e060020a6000350416630245c5c881146101765780631327d3d81461019b5780632af4c31e146101ce578063386c66b9146101ed5780633a5381b51461020057806341819f831461022f5780634f530565146102ef57806360ab77d514610314578063620160831461032a57806367602c591461034a5780636ffbff9c1461035d57806379ba5097146105095780637a6e38541461051c5780637e880f771461053257806385aa6103146105485780638da5cb5b1461055b5780638f43cc201461056e5780639097dc9014610584578063962f1f3e1461059a5780639da6772a146105ad578063a8c36bc6146105c3578063b27e7244146105d6578063c385eb0f14610602578063c554a60014610618578063d4ee1d901461063f578063d8b194a714610652578063da7220d014610668578063f29b204014610688578063fb8b01971461070d578063fc0c546a1461075c578063fe5a53771461076f575b600080fd5b341561018157600080fd5b610189610785565b60405190815260200160405180910390f35b34156101a657600080fd5b6101ba600160a060020a036004351661078b565b604051901515815260200160405180910390f35b34156101d957600080fd5b6101ba600160a060020a03600435166107ee565b34156101f857600080fd5b610189610855565b341561020b57600080fd5b61021361085b565b604051600160a060020a03909116815260200160405180910390f35b341561023a57600080fd5b6101ba60048035600160c060020a0319169060248035600160a060020a03169160443591606435919060a49060843590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496863596602080820135975091955060608101945060409081013586018083019450359250829182810201905190810160405280939291908181526020018383602002808284375094965061086a95505050505050565b34156102fa57600080fd5b610189600160a060020a0360043581169060243516610c36565b341561031f57600080fd5b6101ba600435610c53565b341561033557600080fd5b6101ba600160c060020a031960043516610c78565b341561035557600080fd5b610189610d11565b341561036857600080fd5b6101ba600160c060020a031960048035821691602480359091169190606490604435908101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650610d1795505050505050565b341561051457600080fd5b6101ba61123f565b341561052757600080fd5b6101896004356112d1565b341561053d57600080fd5b6101ba6004356112f0565b341561055357600080fd5b610213611322565b341561056657600080fd5b610213611331565b341561057957600080fd5b6101ba600435611340565b341561058f57600080fd5b610189600435611372565b34156105a557600080fd5b610189611384565b34156105b857600080fd5b61018960043561138a565b34156105ce57600080fd5b61018961139c565b34156105e157600080fd5b6101ba600160c060020a031960043516600160a060020a03602435166113a2565b341561060d57600080fd5b610189600435611434565b341561062357600080fd5b61063d600160a060020a0360043581169060243516611446565b005b341561064a57600080fd5b6102136114c9565b341561065d57600080fd5b6101896004356114d8565b341561067357600080fd5b610213600160c060020a0319600435166114e6565b341561069357600080fd5b6101ba600160a060020a0360048035821691600160c060020a031960248035919091169260443583169260643516916084359160a4359160e49060c43590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061150195505050505050565b341561071857600080fd5b6101896004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611d2c95505050505050565b341561076757600080fd5b610213611e23565b341561077a57600080fd5b610189600435611e32565b60065481565b6000805433600160a060020a039081169116146107a757600080fd5b600160a060020a03821615156107bc57600080fd5b5060048054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b6000805433600160a060020a0390811691161461080a57600080fd5b600054600160a060020a038381169116141561082557600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b60075481565b600454600160a060020a031681565b6004546000908190819033600160a060020a0390811691161461088c57600080fd5b600160c060020a03198b1615156108a257600080fd5b600160a060020a038a1615156108b757600080fd5b600089116108c457600080fd5b8515156108d057600080fd5b8a8a8a8a604051600160c060020a0319949094168452600160a060020a03929092166c01000000000000000000000000026008840152601c830152603c820152605c016040519081900390206000878152600d60205260409020541461093557600080fd5b610940898987611e44565b151561094b57600080fd5b60065460011480156109b05750600354600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561099757600080fd5b5af115156109a457600080fd5b50505060405180511590505b15610a0557600254600160a060020a031663d7508a556040518163ffffffff1660e060020a028152600401600060405180830381600087803b15156109f457600080fd5b5af11515610a0157600080fd5b5050505b610a2c610a188a8a63ffffffff611f3616565b6000888152600e6020526040902054611f50565b600354600160a060020a03166340c10f198b8b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610a8257600080fd5b5af11515610a8f57600080fd5b505050604051805190501515610aa457600080fd5b610ab68451899063ffffffff6121b516565b9150600090505b8351811015610b5057600354600160a060020a03166340c10f19858381518110610ae357fe5b906020019060200201518460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610b3157600080fd5b5af11515610b3e57600080fd5b50505060405180515050600101610abd565b6006548690600160a060020a038c167febe5c0a5e91489624ca514a4e99cb8d9aefb44cde38892673e77e733b74017ab8e8d8d8d604051600160c060020a031985168152602081018490526040810183905260806060820181815290820183818151815260200191508051906020019080838360005b83811015610bde578082015183820152602001610bc6565b50505050905090810190601f168015610c0b5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a450506006805460019081019091559998505050505050505050565b601160209081526000928352604080842090915290825290205481565b6000805433600160a060020a03908116911614610c6f57600080fd5b50600955600190565b6000805433600160a060020a03908116911614610c9457600080fd5b600160c060020a031982161515610caa57600080fd5b600160c060020a03198216600090815260106020526040902054600160a060020a03161515610cd857600080fd5b50600160c060020a0319166000908152601060205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055600190565b60055481565b60035460009033600160a060020a03908116911614610d3557600080fd5b600754421015610d4457600080fd5b8251600814610d5257600080fd5b8651600214610d6057600080fd5b8451600214610d6e57600080fd5b600454600160a060020a0316634bf2500d86600181518110610d8c57fe5b9060200190602002015160405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610dcc57600080fd5b5af11515610dd957600080fd5b5050506040518051159050610ded57600080fd5b610dfc898989898989896121cc565b1515610e0757600080fd5b600254600160a060020a031663c763e5a16040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610e4657600080fd5b5af11515610e5357600080fd5b5050506040518051600160c060020a03198a81169116149050610e7557600080fd5b600354600160a060020a031687600081518110610e8e57fe5b90602001906020020151600160a060020a031614610eab57600080fd5b82600181518110610eb857fe5b906020019060200201511515610ecd57600080fd5b600254600090600160a060020a031663212884006040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f0f57600080fd5b5af11515610f1c57600080fd5b505050604051805190501115610f8357600254600160a060020a0316630dd93b566040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f6b57600080fd5b5af11515610f7857600080fd5b505050604051805150505b610f8c826123a9565b600c600087600181518110610f9d57fe5b90602001906020020151815260208101919091526040016000205582600381518110610fc557fe5b90602001906020020151600e600087600181518110610fe057fe5b906020019060200201518152602081019190915260400160002055888760018151811061100957fe5b906020019060200201518460018151811061102057fe5b906020019060200201518560028151811061103757fe5b90602001906020020151604051600160c060020a0319949094168452600160a060020a03929092166c01000000000000000000000000026008840152601c830152603c820152605c016040518091039020600d60008760018151811061109957fe5b906020019060200201518152602081019190915260400160002055866001815181106110c157fe5b90602001906020020151600160a060020a0316856001815181106110e157fe5b906020019060200201517fa2e4b883e7a23d1dccf7889ba3f5cbce46f39c7132a9dca1dc99609c2a73f7c18b8860008151811061111a57fe5b906020019060200201518760018151811061113157fe5b906020019060200201518860028151811061114857fe5b906020019060200201518960008151811061115f57fe5b906020019060200201518a60068151811061117657fe5b906020019060200201518e604051600160c060020a0319881681526020810187905260408101869052606081018590526080810184905260a0810183905260e060c0820181815290820183818151815260200191508051906020019080838360005b838110156111f05780820151838201526020016111d8565b50505050905090810190601f16801561121d5780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390a350600198975050505050505050565b60015460009033600160a060020a0390811691161461125d57600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a350600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b90565b600a8054829081106112df57fe5b600091825260209091200154905081565b6000805433600160a060020a0390811691161461130c57600080fd5b6000821161131957600080fd5b50600855600190565b600254600160a060020a031681565b600054600160a060020a031681565b6000805433600160a060020a0390811691161461135c57600080fd5b4282101561136957600080fd5b50600755600190565b600d6020526000908152604090205481565b60085481565b600f6020526000908152604090205481565b60095481565b6000805433600160a060020a039081169116146113be57600080fd5b600160c060020a03198316158015906113df5750600160a060020a03821615155b15156113ea57600080fd5b50600160c060020a0319821660009081526010602052604090208054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116179055600192915050565b600e6020526000908152604090205481565b60005433600160a060020a0390811691161461146157600080fd5b600160a060020a038216151561147657600080fd5b600160a060020a038116151561148b57600080fd5b60028054600160a060020a0392831673ffffffffffffffffffffffffffffffffffffffff199182161790915560038054939092169216919091179055565b600154600160a060020a031681565b600b8054829081106112df57fe5b601060205260009081526040902054600160a060020a031681565b600354600090819081908190819033600160a060020a0390811691161461152757600080fd5b60075442101561153657600080fd5b600160c060020a03198b16158015906115575750600160a060020a038a1615155b801561156b5750600160a060020a03891615155b801561157657508715155b151561158157600080fd5b600160c060020a03198b16600090815260106020526040902054600160a060020a038b81169116146115b257600080fd5b6115c2888863ffffffff611f3616565b600354600160a060020a03166370a082318e60405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561161257600080fd5b5af1151561161f57600080fd5b505050604051805190501015151561163657600080fd5b600854871015801561166e575061166a61271061165e6009548b61242a90919063ffffffff16565b9063ffffffff6121b516565b8710155b151561167957600080fd5b600254600160a060020a0316630dd93b566040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156116b857600080fd5b5af115156116c557600080fd5b50505060405180515050600354600160a060020a031663a24835d18d6116f18b8b63ffffffff611f3616565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561173457600080fd5b5af1151561174157600080fd5b50505060405180515050600254600160a060020a031663843ad7b56040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561178a57600080fd5b5af1151561179757600080fd5b5050506040518051600254909550600160a060020a0316905063065e53606040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156117e357600080fd5b5af115156117f057600080fd5b5050506040518051905092506005546001141561186657600a8054600181016118198382612467565b916000526020600020900160008060405160ff919091167f010000000000000000000000000000000000000000000000000000000000000002815260010160405190819003902090915550505b600254600160a060020a031663c763e5a16040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156118a557600080fd5b5af115156118b257600080fd5b5050506040518051600160c060020a03198d811691161415905061192d57600160a060020a03808b166000908152601160209081526040808320938d1683529290522054611906908963ffffffff611f3616565b600160a060020a03808c166000908152601160209081526040808320938e16835292905220555b6002544292508290600160a060020a031663c763e5a16040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561197157600080fd5b5af1151561197e57600080fd5b50505060405180516002549091508d908d908d908d908d908a90600160a060020a03166342c6498a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156119d457600080fd5b5af115156119e157600080fd5b505050604051805190508c8f600a600160055403815481101515611a0157fe5b9060005260206000209001546040518c8152600160c060020a0319808d1660208301528b1660288201526c01000000000000000000000000600160a060020a03808c16820260308401528a1602604482015260588101889052607881018790526098810186905260b8810185905260d8810184905260f8810183805190602001908083835b60208310611aa55780518252601f199092019160209182019101611a86565b6001836020036101000a03801982511681845116179092525050509190910192835250506020019a50604099505050505050505050505180910390209050600a8054806001018281611af79190612467565b506000918252602080832091909101839055600554838352600f90915260409182902055600354600160a060020a0316906318160ddd90518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611b5a57600080fd5b5af11515611b6757600080fd5b50505060405180519050600b6000815481101515611b8157fe5b9060005260206000209001819055508b600160a060020a031681600019168a600160a060020a03167fca44de332c14dded5f8ccbe1ff70f6b5848247af65567e31a815d3fb61be07928e8e8d8d8d8b600554600a600160055403815481101515611be757fe5b9060005260206000209001548f600b8f604051600160c060020a03198c168152600160a060020a038b166020820152604081018a90526060810189905260a0810187905260c0810186905260e0810185905261010081018490526101408101829052610160608082018181529061012083019083018a818151815260200191508051906020019080838360005b83811015611c8c578082015183820152602001611c74565b50505050905090810190601f168015611cb95780820380516001836020036101000a031916815260200191505b508381038252858181548152602001915080548015611cf757602002820191906000526020600020905b815481526020019060010190808311611ce3575b50509d505050505050505050505050505060405180910390a450506005805460019081019091559a9950505050505050505050565b600080600080600080865111611d4157600080fd5b600092505b8551831015611e1957858381518110611d5b57fe5b90602001906020020151600160a060020a033381166000908152601160209081526040808320938516835292905290812054919350909150811115611e0e57600160a060020a03338116600081815260116020908152604080832094871680845294909152808220919091557fdcc7a8e6641ae885efef96d6348800635daf98037d60462fe34e85013b3257139084905190815260200160405180910390a3611e0b84600163ffffffff611f3616565b93505b600190920191611d46565b5091949350505050565b600354600160a060020a031681565b600c6020526000908152604090205481565b60008080611e58868663ffffffff611f3616565b600354909250611ec190600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611e9e57600080fd5b5af11515611eab57600080fd5b505050604051805186915063ffffffff611f3616565b600254909150600160a060020a03166322ce61b26040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611f0357600080fd5b5af11515611f1057600080fd5b50505060405180519050611f2a838363ffffffff611f3616565b11159695505050505050565b600082820183811015611f4557fe5b8091505b5092915050565b600254600090819081908190600160a060020a031663fde9cded8660405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515611fa157600080fd5b5af11515611fae57600080fd5b5050506040518051600254909550600160a060020a0316905063496a698d6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611ffa57600080fd5b5af1151561200757600080fd5b50505060405180519350612033905086612027858763ffffffff61245516565b9063ffffffff61242a16565b600254909250612104906120a2908690600160a060020a0316635d766d356040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561207f57600080fd5b5af1151561208c57600080fd5b505050604051805191905063ffffffff61242a16565b600254600160a060020a0316632ff2e9dc6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156120e157600080fd5b5af115156120ee57600080fd5b505050604051805191905063ffffffff611f3616565b60025490915061215290829061165e908590600160a060020a0316635d766d356040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561207f57600080fd5b600354909250600160a060020a031663b625690d8360405160e060020a63ffffffff84160281526004810191909152602401600060405180830381600087803b151561219d57600080fd5b5af115156121aa57600080fd5b505050505050505050565b60008082848115156121c357fe5b04949350505050565b6000816000815181106121db57fe5b906020019060200201518888886000815181106121f457fe5b906020019060200201518960018151811061220b57fe5b906020019060200201518660018151811061222257fe5b906020019060200201518760028151811061223957fe5b906020019060200201518860038151811061225057fe5b906020019060200201518960048151811061226757fe5b906020019060200201518a60058151811061227e57fe5b906020019060200201518e8e60008151811061229657fe5b906020019060200201516040518c8152600160c060020a0319808d1660208301528b1660288201526c01000000000000000000000000600160a060020a03808c16820260308401528a1602604482015260588101889052607881018790526098810186905260b8810185905260d8810184905260f8810183805190602001908083835b602083106123385780518252601f199092019160209182019101612319565b6001836020036101000a03801982511681845116179092525050509190910192835250506020019a5060409950505050505050505050519081900390208460018151811061238257fe5b90602001906020020151141561239a5750600161239e565b5060005b979650505050505050565b600080805b6020811015611f4957806008028482815181106123c757fe5b016020015160029190910a7f0100000000000000000000000000000000000000000000000000000000000000918290049091027fff00000000000000000000000000000000000000000000000000000000000000160491909117906001016123ae565b60008083151561243d5760009150611f49565b5082820282848281151561244d57fe5b0414611f4557fe5b60008282111561246157fe5b50900390565b81548183558181151161248b5760008381526020902061248b918101908301612490565b505050565b6112ce91905b808211156124aa5760008155600101612496565b50905600a165627a7a72305820956bfbdce576c47163c5c4019cecea2d6c7cb48b61cde48885d7007f583799d90029\",\"binhash\":\"00493cb0ea351e565d8ae86d07f5644ed179e14097943a942d037ea1e37b4bc4\"},\"Validator:Validator\":{\"source\":\"Validator:Validator\",\"name\":\"Validator\",\"abi\":[{\"name\":\"setTokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"setProposalContract\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_proposals\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"getValidatorsCount\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"changeOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"validators\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"removeValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"threshold\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"tokenPorter\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"hashClaimed\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"addValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"proposals\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"hashRefutation\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"acceptOwnership\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"auctions\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"owner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"attestHash\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"_originChain\",\"type\":\"bytes8\",\"indexed\":false},{\"name\":\"_recipientAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_proof\",\"type\":\"bytes32[]\",\"indexed\":false},{\"name\":\"_extraData\",\"type\":\"bytes\",\"indexed\":false},{\"name\":\"_globalSupplyInOtherChains\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"initValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_auctionsAddr\",\"type\":\"address\",\"indexed\":false},{\"name\":\"_tokenPorterAddr\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"hashAttestations\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"newOwner\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"attestationCount\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"updateThreshold\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_threshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":false,\"anonymous\":false},{\"name\":\"refuteHash\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\",\"indexed\":false},{\"name\":\"_recipientAddr\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[],\"constant\":false,\"anonymous\":false},{\"name\":\"isNewThresholdValid\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"_valCount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"_threshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"isValidator\",\"type\":\"function\",\"payable\":false,\"inputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"token\",\"type\":\"function\",\"payable\":false,\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"indexed\":false}],\"constant\":true,\"anonymous\":false},{\"name\":\"LogAttestation\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"hash\",\"type\":\"bytes32\",\"indexed\":true},{\"name\":\"recipientAddr\",\"type\":\"address\",\"indexed\":true},{\"name\":\"isValid\",\"type\":\"bool\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogValidatorAdded\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"validator\",\"type\":\"address\",\"indexed\":true},{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"threshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"LogValidatorRemoved\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"validator\",\"type\":\"address\",\"indexed\":true},{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"threshold\",\"type\":\"uint256\",\"indexed\":false}],\"outputs\":null,\"constant\":false,\"anonymous\":false},{\"name\":\"OwnershipChanged\",\"type\":\"event\",\"payable\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\",\"indexed\":true},{\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true}],\"outputs\":null,\"constant\":false,\"anonymous\":false}],\"bin\":\"60606040526001600c5560008054600160a060020a033316600160a060020a03199091161790556110b1806100356000396000f30060606040526004361061012f5763ffffffff60e060020a6000350416631987b887811461013457806320f3f5d41461016757806327498240146101865780632af4c31e146101ab57806335aa2e44146101ca57806340a141ff146101fc57806342cde4e81461021d5780634892f0af146102305780634bf2500d146102435780634d238c8e1461025957806355ef20e61461027857806366d8de651461028b57806379ba5097146102ad57806385aa6103146102c05780638da5cb5b146102d3578063bceac891146102e6578063bf2699e7146103b3578063c69ba441146103de578063d4ee1d9014610400578063d65ddd5214610413578063d7d7442f14610429578063e8fd112a1461043f578063faa8fd7c14610461578063facd743b1461047a578063fc0c546a14610499575b600080fd5b341561013f57600080fd5b610153600160a060020a03600435166104ac565b604051901515815260200160405180910390f35b341561017257600080fd5b610153600160a060020a0360043516610502565b341561019157600080fd5b610199610558565b60405190815260200160405180910390f35b34156101b657600080fd5b610153600160a060020a036004351661055f565b34156101d557600080fd5b6101e06004356105b9565b604051600160a060020a03909116815260200160405180910390f35b341561020757600080fd5b61021b600160a060020a03600435166105e1565b005b341561022857600080fd5b610199610790565b341561023b57600080fd5b6101e0610796565b341561024e57600080fd5b6101536004356107a5565b341561026457600080fd5b61021b600160a060020a03600435166107ba565b341561028357600080fd5b6101e06108d2565b341561029657600080fd5b610153600435600160a060020a03602435166108e1565b34156102b857600080fd5b610153610901565b34156102cb57600080fd5b6101e0610985565b34156102de57600080fd5b6101e0610994565b34156102f157600080fd5b61021b60048035906024803577ffffffffffffffffffffffffffffffffffffffffffffffff191691604435600160a060020a031691606435916084359160c49060a435908101908301358060208082020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965050933593506109a392505050565b34156103be57600080fd5b61021b600160a060020a0360043581169060243581169060443516610d06565b34156103e957600080fd5b610153600435600160a060020a0360243516610da0565b341561040b57600080fd5b6101e0610dc0565b341561041e57600080fd5b610199600435610dcf565b341561043457600080fd5b610153600435610de1565b341561044a57600080fd5b61021b600435600160a060020a0360243516610e39565b341561046c57600080fd5b610153600435602435610f2c565b341561048557600080fd5b610153600160a060020a0360043516610f80565b34156104a457600080fd5b6101e0610f95565b6000805433600160a060020a039081169116146104c857600080fd5b600160a060020a03821615156104dd57600080fd5b5060088054600160a060020a038316600160a060020a03199091161790556001919050565b6000805433600160a060020a0390811691161461051e57600080fd5b600160a060020a038216151561053357600080fd5b50600a8054600160a060020a038316600160a060020a03199091161790556001919050565b6006545b90565b6000805433600160a060020a0390811691161461057b57600080fd5b600054600160a060020a038381169116141561059657600080fd5b5060018054600160a060020a038316600160a060020a0319909116178155919050565b60068054829081106105c757fe5b600091825260209091200154600160a060020a0316905081565b6000805433600160a060020a039081169116148061060d5750600a5433600160a060020a039081169116145b151561061857600080fd5b6006546001901161062857600080fd5b50600160a060020a0381166000908152600560205260408120805460ff191690555b6006548110156107185781600160a060020a031660068281548110151561066d57fe5b600091825260209091200154600160a060020a03161415610710576006546000190181146106f7576006805460001981019081106106a757fe5b60009182526020909120015460068054600160a060020a0390921691839081106106cd57fe5b60009182526020909120018054600160a060020a031916600160a060020a03929092169190911790555b600680549061070a90600019830161103e565b50610718565b60010161064a565b600654600c54106107435760065460011415610738576001600c55610743565b60065460001901600c555b33600160a060020a031682600160a060020a03167f5627cd186a8bbe264dd973df5fc00b47503dd5eb8b800c374a79cd07976e3b91600c5460405190815260200160405180910390a35050565b600c5481565b600854600160a060020a031681565b600b6020526000908152604090205460ff1681565b6000805433600160a060020a03908116911614806107e65750600a5433600160a060020a039081169116145b15156107f157600080fd5b600160a060020a03821660009081526005602052604090205460ff161561081757600080fd5b6006805460018101610829838261103e565b5060009182526020808320919091018054600160a060020a031916600160a060020a03861690811790915582526005905260409020805460ff1916600117905560065460029004600101905080600c54101561088557600c8190555b33600160a060020a031682600160a060020a03167f46213623f0eccf79b262f17f4d40ff0bee40a6cc53bd88881667cd1409d7b0b2600c5460405190815260200160405180910390a35050565b600a54600160a060020a031681565b600360209081526000928352604080842090915290825290205460ff1681565b60015460009033600160a060020a0390811691161461091f57600080fd5b600154600054600160a060020a0391821691167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a3506001805460008054600160a060020a031916600160a060020a0390921691909117905590565b600954600160a060020a031681565b600054600160a060020a031681565b600160a060020a03331660009081526005602052604090205460ff1615156109ca57600080fd5b8715156109d657600080fd5b6000888152600260209081526040808320600160a060020a033316845290915290205460ff1615610a0657600080fd5b6000888152600360209081526040808320600160a060020a033316845290915290205460ff1615610a3657600080fd5b600854610aa090600160a060020a031663fe5a53778a60405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610a8257600080fd5b5af11515610a8f57600080fd5b505050604051805190508985610fa4565b1515610aab57600080fd5b6000888152600260209081526040808320600160a060020a033381168552908352818420805460ff191660019081179091558c8552600490935292819020805483019055918816918a917ffe764dcbebeb35937aa8a11cf0f1f95e60b25fe4574742ea6e89943e315eb98a9151901515815260200160405180910390a3600c5460008981526004602052604090205410801590610b5757506000888152600b602052604090205460ff16155b15610cfc576000888152600b602052604090819020805460ff19166001179055600854600160a060020a0316906341819f8390899089908990899088908f9089906006905160e060020a63ffffffff8b1602815277ffffffffffffffffffffffffffffffffffffffffffffffff19891660048201908152600160a060020a0389166024830152604482018890526064820187905260a4820185905260c4820184905261010060848301908152909160e48101906101040187818151815260200191508051906020019080838360005b83811015610c3e578082015183820152602001610c26565b50505050905090810190601f168015610c6b5780820380516001836020036101000a031916815260200191505b508381038252848181548152602001915080548015610cb357602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610c95575b50509a5050505050505050505050602060405180830381600087803b1515610cda57600080fd5b5af11515610ce757600080fd5b505050604051805190501515610cfc57600080fd5b5050505050505050565b60005433600160a060020a03908116911614610d2157600080fd5b600160a060020a0383161515610d3657600080fd5b600160a060020a0382161515610d4b57600080fd5b600160a060020a0381161515610d6057600080fd5b60088054600160a060020a0319908116600160a060020a039384161790915560098054821693831693909317909255600780549092169216919091179055565b600260209081526000928352604080842090915290825290205460ff1681565b600154600160a060020a031681565b60046020526000908152604090205481565b6000805433600160a060020a0390811691161480610e0d5750600a5433600160a060020a039081169116145b1515610e1857600080fd5b600654610e259083610f2c565b1515610e3057600080fd5b50600c55600190565b600160a060020a03331660009081526005602052604090205460ff161515610e6057600080fd5b6000828152600260209081526040808320600160a060020a033316845290915290205460ff1615610e9057600080fd5b6000828152600360209081526040808320600160a060020a033316845290915290205460ff1615610ec057600080fd5b6000828152600360209081526040808320600160a060020a0333811685529252808320805460ff191660011790559083169184917ffe764dcbebeb35937aa8a11cf0f1f95e60b25fe4574742ea6e89943e315eb98a919051901515815260200160405180910390a35050565b6000816001148015610f3e5750826002145b15610f4b57506001610f7a565b60018210158015610f5b57508282105b8015610f6957506002830482115b15610f7657506001610f7a565b5060005b92915050565b60056020526000908152604090205460ff1681565b600754600160a060020a031681565b600080808515801590610fb657508415155b8015610fc25750835115155b1515610fcd57600080fd5b5083905060005b8351811015611032576002848281518110610feb57fe5b906020019060200201518360405191825260208083019190915260409182019151808303816000865af1151561102057600080fd5b50506040518051925050600101610fd4565b50939093149392505050565b81548183558181151161106257600083815260209020611062918101908301611067565b505050565b61055c91905b80821115611081576000815560010161106d565b50905600a165627a7a72305820d2fe8b1c1fdd565ba986f2e875b0d920711c80a23911a8297b049dac7a615cfe0029\",\"binhash\":\"f79185e878b78fb4918dfece9507fb6289fa8a693817991292ed4ceaf85753b0\"}}}");

/***/ }),

/***/ "./src/abis/7e8f2e3/Proposals.json":
/*!*****************************************!*\
  !*** ./src/abis/7e8f2e3/Proposals.json ***!
  \*****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\"},{\"name\":\"action\",\"type\":\"bytes32\"},{\"name\":\"expiry\",\"type\":\"uint256\"},{\"name\":\"validator\",\"type\":\"address\"},{\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"name\":\"supportCount\",\"type\":\"uint256\"},{\"name\":\"passed\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"closeProposal\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"setValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"validator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"name\":\"_support\",\"type\":\"bool\"}],\"name\":\"voteForProposal\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"},{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeNewValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"actions\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"},{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeRemoveValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeNewThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"valProposals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_t\",\"type\":\"uint256\"}],\"name\":\"updateVotingPeriod\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"support\",\"type\":\"bool\"}],\"name\":\"LogVoted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"newValidator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"expiry\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"action\",\"type\":\"bytes32\"}],\"name\":\"LogProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"newValidator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"action\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"expiry\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"supportCount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"passed\",\"type\":\"bool\"}],\"name\":\"LogProposalClosed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/7e8f2e3/TokenPorter.json":
/*!*******************************************!*\
  !*** ./src/abis/7e8f2e3/TokenPorter.json ***!
  \*******************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[],\"name\":\"importSequence\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"setValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"chainHopStartTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"validator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"originChain\",\"type\":\"bytes8\"},{\"name\":\"recipientAddress\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\"},{\"name\":\"extraData\",\"type\":\"bytes\"},{\"name\":\"currentHash\",\"type\":\"bytes32\"},{\"name\":\"globalSupplyInOtherChains\",\"type\":\"uint256\"},{\"name\":\"validators\",\"type\":\"address[]\"}],\"name\":\"mintToken\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"claimables\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_exportFee\",\"type\":\"uint256\"}],\"name\":\"setExportFeePerTenThousand\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\"}],\"name\":\"removeDestinationChain\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"burnSequence\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\"},{\"name\":\"_destinationChain\",\"type\":\"bytes8\"},{\"name\":\"_addresses\",\"type\":\"address[]\"},{\"name\":\"_extraData\",\"type\":\"bytes\"},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\"},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\"},{\"name\":\"_importData\",\"type\":\"uint256[]\"},{\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"importMET\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"exportedBurns\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_minimumExportFee\",\"type\":\"uint256\"}],\"name\":\"setMinimumExportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"auctions\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\"}],\"name\":\"setChainHopStartTime\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"mintHashes\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumExportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"burnHashes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"exportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\"},{\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"addDestinationChain\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\"},{\"name\":\"_auctionsAddr\",\"type\":\"address\"}],\"name\":\"initTokenPorter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"supplyOnAllChains\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes8\"}],\"name\":\"destinationChains\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"},{\"name\":\"_destChain\",\"type\":\"bytes8\"},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\"},{\"name\":\"_destRecipAddr\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"export\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"recipients\",\"type\":\"address[]\"}],\"name\":\"claimReceivables\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"merkleRoots\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"destinationChain\",\"type\":\"bytes8\"},{\"indexed\":false,\"name\":\"destinationMetronomeAddr\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountToBurn\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"currentTick\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"burnSequence\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"currentBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"prevBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"dailyMintable\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"supplyOnAllChains\",\"type\":\"uint256[]\"},{\"indexed\":false,\"name\":\"blockTimestamp\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"exporter\",\"type\":\"address\"}],\"name\":\"LogExportReceipt\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"originChain\",\"type\":\"bytes8\"},{\"indexed\":true,\"name\":\"currentBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"prevHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountToImport\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"exportTimeStamp\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"burnSequence\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"LogImportRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"originChain\",\"type\":\"bytes8\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountImported\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":true,\"name\":\"importSequence\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"currentHash\",\"type\":\"bytes32\"}],\"name\":\"LogImport\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"destinationMetronomeAddr\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ExportOnChainClaimedReceiptLog\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"destinationChain\",\"type\":\"bytes8\"},{\"indexed\":false,\"name\":\"destinationMetronomeAddr\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountToBurn\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"currentTick\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"burnSequence\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"currentBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"prevBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"dailyMintable\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"supplyOnAllChains\",\"type\":\"uint256[]\"},{\"indexed\":false,\"name\":\"genesisTime\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"blockTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"dailyAuctionStartTime\",\"type\":\"uint256\"}],\"name\":\"ExportReceiptLog\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountImported\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"currentTick\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"importSequence\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"currentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"prevHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"dailyMintable\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"blockTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"ImportReceiptLog\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/7e8f2e3/Validator.json":
/*!*****************************************!*\
  !*** ./src/abis/7e8f2e3/Validator.json ***!
  \*****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\"}],\"name\":\"setTokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposals\",\"type\":\"address\"}],\"name\":\"setProposalContract\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getValidatorsCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"validators\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"removeValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"threshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"hashClaimed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"addValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proposals\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"hashRefutation\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"auctions\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\"},{\"name\":\"_originChain\",\"type\":\"bytes8\"},{\"name\":\"_recipientAddr\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_proof\",\"type\":\"bytes32[]\"},{\"name\":\"_extraData\",\"type\":\"bytes\"},{\"name\":\"_globalSupplyInOtherChains\",\"type\":\"uint256\"}],\"name\":\"attestHash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\"},{\"name\":\"_auctionsAddr\",\"type\":\"address\"},{\"name\":\"_tokenPorterAddr\",\"type\":\"address\"}],\"name\":\"initValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"hashAttestations\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"attestationCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"updateThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\"},{\"name\":\"_recipientAddr\",\"type\":\"address\"}],\"name\":\"refuteHash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_valCount\",\"type\":\"uint256\"},{\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"isNewThresholdValid\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"isValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"recipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"isValid\",\"type\":\"bool\"}],\"name\":\"LogAttestation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"validator\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"LogValidatorAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"validator\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"LogValidatorRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/821aeaf/Proposals.json":
/*!*****************************************!*\
  !*** ./src/abis/821aeaf/Proposals.json ***!
  \*****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\"},{\"name\":\"action\",\"type\":\"bytes32\"},{\"name\":\"expiry\",\"type\":\"uint256\"},{\"name\":\"validator\",\"type\":\"address\"},{\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"name\":\"supportCount\",\"type\":\"uint256\"},{\"name\":\"passed\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"closeProposal\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"setValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"validator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"name\":\"_support\",\"type\":\"bool\"}],\"name\":\"voteForProposal\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"},{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeNewValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"actions\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"},{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeRemoveValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeNewThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"valProposals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_t\",\"type\":\"uint256\"}],\"name\":\"updateVotingPeriod\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"support\",\"type\":\"bool\"}],\"name\":\"LogVoted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"newValidator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"expiry\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"action\",\"type\":\"bytes32\"}],\"name\":\"LogProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"newValidator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"action\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"expiry\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"supportCount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"passed\",\"type\":\"bool\"}],\"name\":\"LogProposalClosed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/821aeaf/TokenPorter.json":
/*!*******************************************!*\
  !*** ./src/abis/821aeaf/TokenPorter.json ***!
  \*******************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[],\"name\":\"importSequence\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"setValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"chainHopStartTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"validator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"originChain\",\"type\":\"bytes8\"},{\"name\":\"recipientAddress\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\"},{\"name\":\"extraData\",\"type\":\"bytes\"},{\"name\":\"currentHash\",\"type\":\"bytes32\"},{\"name\":\"globalSupplyInOtherChains\",\"type\":\"uint256\"},{\"name\":\"validators\",\"type\":\"address[]\"}],\"name\":\"mintToken\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"claimables\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_exportFee\",\"type\":\"uint256\"}],\"name\":\"setExportFeePerTenThousand\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\"}],\"name\":\"removeDestinationChain\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"burnSequence\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\"},{\"name\":\"_destinationChain\",\"type\":\"bytes8\"},{\"name\":\"_addresses\",\"type\":\"address[]\"},{\"name\":\"_extraData\",\"type\":\"bytes\"},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\"},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\"},{\"name\":\"_importData\",\"type\":\"uint256[]\"},{\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"importMET\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"exportedBurns\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_minimumExportFee\",\"type\":\"uint256\"}],\"name\":\"setMinimumExportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"auctions\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\"}],\"name\":\"setChainHopStartTime\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"mintHashes\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumExportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"burnHashes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"exportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\"},{\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"addDestinationChain\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\"},{\"name\":\"_auctionsAddr\",\"type\":\"address\"}],\"name\":\"initTokenPorter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"supplyOnAllChains\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes8\"}],\"name\":\"destinationChains\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"},{\"name\":\"_destChain\",\"type\":\"bytes8\"},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\"},{\"name\":\"_destRecipAddr\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"export\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"recipients\",\"type\":\"address[]\"}],\"name\":\"claimReceivables\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"merkleRoots\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"destinationChain\",\"type\":\"bytes8\"},{\"indexed\":false,\"name\":\"destinationMetronomeAddr\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountToBurn\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"currentTick\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"burnSequence\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"currentBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"prevBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"dailyMintable\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"supplyOnAllChains\",\"type\":\"uint256[]\"},{\"indexed\":false,\"name\":\"blockTimestamp\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"exporter\",\"type\":\"address\"}],\"name\":\"LogExportReceipt\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"originChain\",\"type\":\"bytes8\"},{\"indexed\":true,\"name\":\"currentBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"prevHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountToImport\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"exportTimeStamp\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"burnSequence\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"LogImportRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"originChain\",\"type\":\"bytes8\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountImported\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":true,\"name\":\"importSequence\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"currentHash\",\"type\":\"bytes32\"}],\"name\":\"LogImport\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"destinationMetronomeAddr\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ExportOnChainClaimedReceiptLog\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"destinationChain\",\"type\":\"bytes8\"},{\"indexed\":false,\"name\":\"destinationMetronomeAddr\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountToBurn\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"currentTick\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"burnSequence\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"currentBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"prevBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"dailyMintable\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"supplyOnAllChains\",\"type\":\"uint256[]\"},{\"indexed\":false,\"name\":\"genesisTime\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"blockTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"dailyAuctionStartTime\",\"type\":\"uint256\"}],\"name\":\"ExportReceiptLog\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountImported\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"currentTick\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"importSequence\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"currentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"prevHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"dailyMintable\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"blockTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"ImportReceiptLog\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/821aeaf/Validator.json":
/*!*****************************************!*\
  !*** ./src/abis/821aeaf/Validator.json ***!
  \*****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\"}],\"name\":\"setTokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposals\",\"type\":\"address\"}],\"name\":\"setProposalContract\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getValidatorsCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"validators\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"removeValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"threshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"hashClaimed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"addValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proposals\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"hashRefutation\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"auctions\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\"},{\"name\":\"_originChain\",\"type\":\"bytes8\"},{\"name\":\"_recipientAddr\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_proof\",\"type\":\"bytes32[]\"},{\"name\":\"_extraData\",\"type\":\"bytes\"},{\"name\":\"_globalSupplyInOtherChains\",\"type\":\"uint256\"}],\"name\":\"attestHash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\"},{\"name\":\"_auctionsAddr\",\"type\":\"address\"},{\"name\":\"_tokenPorterAddr\",\"type\":\"address\"}],\"name\":\"initValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"hashAttestations\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"attestationCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"updateThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\"},{\"name\":\"_recipientAddr\",\"type\":\"address\"}],\"name\":\"refuteHash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_valCount\",\"type\":\"uint256\"},{\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"isNewThresholdValid\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"isValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"recipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"isValid\",\"type\":\"bool\"}],\"name\":\"LogAttestation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"validator\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"LogValidatorAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"validator\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"LogValidatorRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/b21557f/Auctions.json":
/*!****************************************!*\
  !*** ./src/abis/b21557f/Auctions.json ***!
  \****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[],\"name\":\"initialAuctionEndTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"initialPrice\",\"type\":\"uint256\"},{\"name\":\"_n\",\"type\":\"uint256\"}],\"name\":\"priceAt\",\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumPriceInDailyAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MULTIPLIER\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tentimes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"restartAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isInitialAuctionEnded\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentMintable\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isRunning\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastPurchaseTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"globalMetSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_AC_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"globalDailySupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"hundredtimes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"heartbeat\",\"outputs\":[{\"name\":\"_chain\",\"type\":\"bytes8\"},{\"name\":\"auctionAddr\",\"type\":\"address\"},{\"name\":\"convertAddr\",\"type\":\"address\"},{\"name\":\"tokenAddr\",\"type\":\"address\"},{\"name\":\"minting\",\"type\":\"uint256\"},{\"name\":\"totalMET\",\"type\":\"uint256\"},{\"name\":\"proceedsBal\",\"type\":\"uint256\"},{\"name\":\"currTick\",\"type\":\"uint256\"},{\"name\":\"currAuction\",\"type\":\"uint256\"},{\"name\":\"nextAuctionGMT\",\"type\":\"uint256\"},{\"name\":\"genesisGMT\",\"type\":\"uint256\"},{\"name\":\"currentAuctionPrice\",\"type\":\"uint256\"},{\"name\":\"_dailyMintable\",\"type\":\"uint256\"},{\"name\":\"_lastPurchasePrice\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"genesisTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stopEverything\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"dailyAuctionStartTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"mintable\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minted\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokensOnThisChain\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proceeds\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_GLOBAL_DAILY_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_wei\",\"type\":\"uint256\"},{\"name\":\"_timestamp\",\"type\":\"uint256\"}],\"name\":\"whatWouldPurchaseDo\",\"outputs\":[{\"name\":\"weiPerToken\",\"type\":\"uint256\"},{\"name\":\"tokens\",\"type\":\"uint256\"},{\"name\":\"refund\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalMigratedIn\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumPrice\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastPurchasePrice\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"dailyMintable\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"thousandtimes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentPrice\",\"outputs\":[{\"name\":\"weiPerToken\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"lastPurchasePrice\",\"type\":\"uint256\"},{\"name\":\"numTicks\",\"type\":\"uint256\"}],\"name\":\"priceAtInitialAuction\",\"outputs\":[{\"name\":\"price\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"initPricer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"initialAuctionDuration\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"chain\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"t\",\"type\":\"uint256\"}],\"name\":\"whichTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"DAILY_PURCHASE_LIMIT\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_FOUNDER_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"prepareAuctionForNonOGChain\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"founders\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"globalSupplyAfterPercentageLogic\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_proceeds\",\"type\":\"address\"},{\"name\":\"_genesisTime\",\"type\":\"uint256\"},{\"name\":\"_minimumPrice\",\"type\":\"uint256\"},{\"name\":\"_startingPrice\",\"type\":\"uint256\"},{\"name\":\"_timeScale\",\"type\":\"uint256\"},{\"name\":\"_chain\",\"type\":\"bytes8\"},{\"name\":\"_initialAuctionEndTime\",\"type\":\"uint256\"}],\"name\":\"skipInitBecauseIAmNotOg\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalMigratedOut\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"AUCTION_WHEN_PERCENTAGE_LOGIC_STARTS\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"timeScale\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_tick\",\"type\":\"uint256\"}],\"name\":\"whichAuction\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"tokens\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"purchasePrice\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"refund\",\"type\":\"uint256\"}],\"name\":\"LogAuctionFundsIn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/b21557f/AutonomousConverter.json":
/*!***************************************************!*\
  !*** ./src/abis/b21557f/AutonomousConverter.json ***!
  \***************************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":false,\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_minReturn\",\"type\":\"uint256\"}],\"name\":\"convertMetToEth\",\"outputs\":[{\"name\":\"returnedEth\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_reserveToken\",\"type\":\"address\"},{\"name\":\"_smartToken\",\"type\":\"address\"},{\"name\":\"_auctions\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMetBalance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_depositAmount\",\"type\":\"uint256\"}],\"name\":\"getEthForMetResult\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_depositAmount\",\"type\":\"uint256\"}],\"name\":\"getMetForEthResult\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getEthBalance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"handleFund\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"auctions\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_minReturn\",\"type\":\"uint256\"}],\"name\":\"convertEthToMet\",\"outputs\":[{\"name\":\"returnedMet\",\"type\":\"uint256\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"smartToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"reserveToken\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"LogFundsIn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"eth\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"met\",\"type\":\"uint256\"}],\"name\":\"ConvertEthToMet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"eth\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"met\",\"type\":\"uint256\"}],\"name\":\"ConvertMetToEth\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/b21557f/METToken.json":
/*!****************************************!*\
  !*** ./src/abis/b21557f/METToken.json ***!
  \****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getRoot\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\"},{\"name\":\"_minter\",\"type\":\"address\"},{\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"name\":\"_decmult\",\"type\":\"uint256\"}],\"name\":\"initMETToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\"}],\"name\":\"setTokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"transferAllowed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\"},{\"name\":\"_minter\",\"type\":\"address\"},{\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"name\":\"_decmult\",\"type\":\"uint256\"}],\"name\":\"initToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_destChain\",\"type\":\"bytes8\"},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\"},{\"name\":\"_destRecipAddr\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"export\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approveMore\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"enableMETTransfers\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"autonomousConverter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"getSubscription\",\"outputs\":[{\"name\":\"startTime\",\"type\":\"uint256\"},{\"name\":\"payPerWeek\",\"type\":\"uint256\"},{\"name\":\"lastWithdrawTime\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"leakage\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\"},{\"name\":\"_destinationChain\",\"type\":\"bytes8\"},{\"name\":\"_addresses\",\"type\":\"address[]\"},{\"name\":\"_extraData\",\"type\":\"bytes\"},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\"},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\"},{\"name\":\"_importData\",\"type\":\"uint256[]\"},{\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"importMET\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approveLess\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"subWithdraw\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"cancelSubscription\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"destroy\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"roots\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\"},{\"name\":\"_payPerWeek\",\"type\":\"uint256\"},{\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"subscribe\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"bits\",\"type\":\"uint256[]\"}],\"name\":\"multiTransfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"updateLeakage\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"resetLeakage\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\"}],\"name\":\"multiSubWithdraw\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_autonomousConverter\",\"type\":\"address\"},{\"name\":\"_minter\",\"type\":\"address\"},{\"name\":\"_initialSupply\",\"type\":\"uint256\"},{\"name\":\"_decmult\",\"type\":\"uint256\"}],\"name\":\"initMintable\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"subs\",\"outputs\":[{\"name\":\"startTime\",\"type\":\"uint256\"},{\"name\":\"payPerWeek\",\"type\":\"uint256\"},{\"name\":\"lastWithdrawTime\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"a\",\"type\":\"address\"},{\"name\":\"b\",\"type\":\"address\"}],\"name\":\"rootsMatch\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"setRoot\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\"},{\"name\":\"_recipients\",\"type\":\"address[]\"}],\"name\":\"multiSubWithdrawFor\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"subscriber\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"subscribesTo\",\"type\":\"address\"}],\"name\":\"LogSubscription\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"subscriber\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"subscribesTo\",\"type\":\"address\"}],\"name\":\"LogCancelSubscription\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Destroy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/b21557f/Proposals.json":
/*!*****************************************!*\
  !*** ./src/abis/b21557f/Proposals.json ***!
  \*****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"name\":\"proposalId\",\"type\":\"uint256\"},{\"name\":\"action\",\"type\":\"bytes32\"},{\"name\":\"expiry\",\"type\":\"uint256\"},{\"name\":\"validator\",\"type\":\"address\"},{\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"name\":\"supportCount\",\"type\":\"uint256\"},{\"name\":\"passed\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"closeProposal\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"setValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"validator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"name\":\"_support\",\"type\":\"bool\"}],\"name\":\"voteForProposal\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"},{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeNewValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"actions\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"},{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeRemoveValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"proposeNewThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"valProposals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_t\",\"type\":\"uint256\"}],\"name\":\"updateVotingPeriod\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"support\",\"type\":\"bool\"}],\"name\":\"LogVoted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"newValidator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"expiry\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"action\",\"type\":\"bytes32\"}],\"name\":\"LogProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"newValidator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"newThreshold\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"action\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"expiry\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"supportCount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"passed\",\"type\":\"bool\"}],\"name\":\"LogProposalClosed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/b21557f/TokenPorter.json":
/*!*******************************************!*\
  !*** ./src/abis/b21557f/TokenPorter.json ***!
  \*******************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":true,\"inputs\":[],\"name\":\"importSequence\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"setValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"chainHopStartTime\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"validator\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"originChain\",\"type\":\"bytes8\"},{\"name\":\"recipientAddress\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"},{\"name\":\"fee\",\"type\":\"uint256\"},{\"name\":\"extraData\",\"type\":\"bytes\"},{\"name\":\"currentHash\",\"type\":\"bytes32\"},{\"name\":\"globalSupplyInOtherChains\",\"type\":\"uint256\"},{\"name\":\"validators\",\"type\":\"address[]\"}],\"name\":\"mintToken\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"claimables\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_exportFee\",\"type\":\"uint256\"}],\"name\":\"setExportFeePerTenThousand\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\"}],\"name\":\"removeDestinationChain\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"burnSequence\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_originChain\",\"type\":\"bytes8\"},{\"name\":\"_destinationChain\",\"type\":\"bytes8\"},{\"name\":\"_addresses\",\"type\":\"address[]\"},{\"name\":\"_extraData\",\"type\":\"bytes\"},{\"name\":\"_burnHashes\",\"type\":\"bytes32[]\"},{\"name\":\"_supplyOnAllChains\",\"type\":\"uint256[]\"},{\"name\":\"_importData\",\"type\":\"uint256[]\"},{\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"importMET\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"exportedBurns\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_minimumExportFee\",\"type\":\"uint256\"}],\"name\":\"setMinimumExportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"auctions\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_startTime\",\"type\":\"uint256\"}],\"name\":\"setChainHopStartTime\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"mintHashes\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumExportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"burnHashes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"exportFee\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_chainName\",\"type\":\"bytes8\"},{\"name\":\"_contractAddress\",\"type\":\"address\"}],\"name\":\"addDestinationChain\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"burnAtTick\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\"},{\"name\":\"_auctionsAddr\",\"type\":\"address\"}],\"name\":\"initTokenPorter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"supplyOnAllChains\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes8\"}],\"name\":\"destinationChains\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"},{\"name\":\"_destChain\",\"type\":\"bytes8\"},{\"name\":\"_destMetronomeAddr\",\"type\":\"address\"},{\"name\":\"_destRecipAddr\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"export\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"recipients\",\"type\":\"address[]\"}],\"name\":\"claimReceivables\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"merkleRoots\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"destinationChain\",\"type\":\"bytes8\"},{\"indexed\":false,\"name\":\"destinationMetronomeAddr\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountToBurn\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":false,\"name\":\"currentTick\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"burnSequence\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"currentBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"prevBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"dailyMintable\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"supplyOnAllChains\",\"type\":\"uint256[]\"},{\"indexed\":false,\"name\":\"blockTimestamp\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"exporter\",\"type\":\"address\"}],\"name\":\"LogExportReceipt\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"originChain\",\"type\":\"bytes8\"},{\"indexed\":true,\"name\":\"currentBurnHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"prevHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountToImport\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"exportTimeStamp\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"burnSequence\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"LogImportRequest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"originChain\",\"type\":\"bytes8\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amountImported\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"},{\"indexed\":true,\"name\":\"importSequence\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"currentHash\",\"type\":\"bytes32\"}],\"name\":\"LogImport\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"destinationMetronomeAddr\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"destinationRecipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ExportOnChainClaimedReceiptLog\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/abis/b21557f/Validator.json":
/*!*****************************************!*\
  !*** ./src/abis/b21557f/Validator.json ***!
  \*****************************************/
/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, default */
/***/ (function(module) {

module.exports = JSON.parse("[{\"constant\":false,\"inputs\":[{\"name\":\"_tokenPorter\",\"type\":\"address\"}],\"name\":\"setTokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_proposals\",\"type\":\"address\"}],\"name\":\"setProposalContract\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getValidatorsCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"changeOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"validators\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"removeValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"threshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenPorter\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"hashClaimed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"addValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proposals\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"hashRefutation\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"auctions\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\"},{\"name\":\"_originChain\",\"type\":\"bytes8\"},{\"name\":\"_recipientAddr\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_proof\",\"type\":\"bytes32[]\"},{\"name\":\"_extraData\",\"type\":\"bytes\"},{\"name\":\"_globalSupplyInOtherChains\",\"type\":\"uint256\"}],\"name\":\"attestHash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenAddr\",\"type\":\"address\"},{\"name\":\"_auctionsAddr\",\"type\":\"address\"},{\"name\":\"_tokenPorterAddr\",\"type\":\"address\"}],\"name\":\"initValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"hashAttestations\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"attestationCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"updateThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_burnHash\",\"type\":\"bytes32\"},{\"name\":\"_recipientAddr\",\"type\":\"address\"}],\"name\":\"refuteHash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_valCount\",\"type\":\"uint256\"},{\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"isNewThresholdValid\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"isValidator\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"recipientAddr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"isValid\",\"type\":\"bool\"}],\"name\":\"LogAttestation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"validator\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"LogValidatorAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"validator\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"LogValidatorRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipChanged\",\"type\":\"event\"}]");

/***/ }),

/***/ "./src/aliases.json":
/*!**************************!*\
  !*** ./src/aliases.json ***!
  \**************************/
/*! exports provided: 1, 3, 61, 63, classic, main, mainnet, mordor, ropsten, qtumTestnet, default */
/***/ (function(module) {

module.exports = JSON.parse("{\"1\":\"mainnet\",\"3\":\"ropsten\",\"61\":\"classic\",\"63\":\"mordor\",\"classic\":\"classic\",\"main\":\"mainnet\",\"mainnet\":\"mainnet\",\"mordor\":\"mordor\",\"ropsten\":\"ropsten\",\"qtumTestnet\":\"qtumTestnet\"}");

/***/ }),

/***/ "./src/contracts.json":
/*!****************************!*\
  !*** ./src/contracts.json ***!
  \****************************/
/*! exports provided: classic, mainnet, mordor, ropsten, qtumTestnet, default */
/***/ (function(module) {

module.exports = JSON.parse("{\"classic\":{\"birthblock\":8285377,\"contracts\":{\"Auctions\":{\"address\":\"0xF5269Caa54F1f776dD996Db35992D599e14d8a3B\"},\"AutonomousConverter\":{\"address\":\"0x567EEBB6397cC8345e5A7eAE288994bf45FDF85B\"},\"METToken\":{\"address\":\"0xA4d3A7b00056Cc5D8206b3b2983bfe0C107D90da\"},\"Proposals\":{\"address\":\"0x62c42c2Ee48E6034B0556ebCCF58A2E0eEB8E538\"},\"TokenPorter\":{\"address\":\"0x17B418cBE5c4F6DD75BdCA7F8BFBB1424062D9ef\"},\"Validator\":{\"address\":\"0x7f37407F868E6A88f9838B57B00FEB04f23E7F9F\"}},\"version\":\"3a9a045\"},\"mainnet\":{\"birthblock\":5659894,\"contracts\":{\"Auctions\":{\"address\":\"0x9d9BcDd249E439AAaB545F59a33812E39A8e3072\"},\"AutonomousConverter\":{\"address\":\"0x686e5ac50D9236A9b7406791256e47feDDB26AbA\"},\"METToken\":{\"address\":\"0xa3d58c4E56fedCae3a7c43A725aeE9A71F0ece4e\"},\"Proposals\":{\"address\":\"0x760a0A933f9597fbC3B4DB86Ef92D61c956269E4\",\"version\":\"821aeaf\"},\"TokenPorter\":{\"address\":\"0xc0CEF6cF59e56A9427CEF967f8dFb7BDe06173B3\",\"version\":\"821aeaf\"},\"Validator\":{\"address\":\"0xE804EBEfF801a63De6e746c24cEB41A9864Eb1C1\",\"version\":\"821aeaf\"}},\"version\":\"35a6cd3\"},\"mordor\":{\"birthblock\":35554,\"contracts\":{\"Auctions\":{\"address\":\"0x91D4f7097eA3A5cD3fDC9FC863dF9A0d6Ae64738\"},\"AutonomousConverter\":{\"address\":\"0x6ffAEBfd319cB66743acba078e173eD27B33a2a3\"},\"METToken\":{\"address\":\"0x2faE8aF94CdC68452042CCFc2AbF25a9120Fdb2E\"},\"Proposals\":{\"address\":\"0xb4C458a0389C7DFC325B5d97143b09D03a958Cf1\"},\"TokenPorter\":{\"address\":\"0x62187b4AA3BDA5bF7580fa4aa89659f018bb958f\"},\"Validator\":{\"address\":\"0x444E8fafB172cF0Df4Be1B4c20e24a48bd4a0Ae0\"}},\"version\":\"b21557f\"},\"ropsten\":{\"birthblock\":3399250,\"contracts\":{\"Auctions\":{\"address\":\"0x767182C6ef62398993099e5542Ab43c2456A8abA\"},\"AutonomousConverter\":{\"address\":\"0x638E84db864AA345266e1AEE13873b860aFe82e7\"},\"METToken\":{\"address\":\"0xF3e9a687Fdf24112745D4d7dEe150BA87A07ecc3\"},\"Proposals\":{\"address\":\"0xdC48aBe19B9e41d9A9B6A8B1E5793FeEf91faB6e\",\"version\":\"7e8f2e3\"},\"TokenPorter\":{\"address\":\"0x21c8CeB0c6f6c5357E9D6082B38425e46fdc6177\",\"version\":\"7e8f2e3\"},\"Validator\":{\"address\":\"0xe0CB1167725CDb0e77c0362EAf32Ae198Ebc4902\",\"version\":\"7e8f2e3\"}},\"version\":\"35a6cd3\"},\"qtumTestnet\":{\"birthblock\":222408,\"version\":\"6d976f7\",\"contracts\":{\"Auctions\":{\"address\":\"0xB3F2D768Fb1f2e341f5fE72F1B207FADa4E51fE3\"},\"AutonomousConverter\":{\"address\":\"0xD27eD9A738D166a68D499B355995BebFbd7B3955\"},\"METToken\":{\"address\":\"0x16D74daC67aD7AF791427A00e5C687c204B733aB\"},\"Proposals\":{\"address\":\"0xa6Ca7eA28A78572CA06C8376555D8896f37ec6F8\"},\"TokenPorter\":{\"address\":\"0x4aa625D067457b6E5df52275048E70E68EA1BFF7\"},\"Validator\":{\"address\":\"0x39E910a1439Cc806a3dcb5F253D8Fa28a5B0C598\"}}}}");

/***/ }),

/***/ "./src/index.js":
/*!**********************!*\
  !*** ./src/index.js ***!
  \**********************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";


function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

var mapValues = __webpack_require__(/*! modify-values */ "./node_modules/modify-values/index.js");

var _require = __webpack_require__(/*! qtumjs */ "./node_modules/qtumjs/lib/index.js"),
    Qtum = _require.Qtum;

var chainAliases = __webpack_require__(/*! ./aliases.json */ "./src/aliases.json");

var contractsDefinition = __webpack_require__(/*! ./contracts.json */ "./src/contracts.json"); // Create an object containing all chains, its contracts and static data.


var allContracts = mapValues(chainAliases, function (chainAlias) {
  var definitions = contractsDefinition[chainAlias];
  return mapValues(definitions.contracts, function (_ref, name) {
    var address = _ref.address,
        birthblock = _ref.birthblock,
        version = _ref.version;
    return {
      abi: __webpack_require__("./src/abis sync recursive ^\\.\\/.*\\.json$")("./".concat(version || definitions.version, "/").concat(name, ".json")),
      address: address,
      birthblock: birthblock || definitions.birthblock
    };
  });
});
/**
 * Create a contract using either web3@0.2x or web3@1.0.0
 *
 * @param {object} web3 The Web3 instance to instantiate the contracts.
 * @param {Array} abi The contract's ABI.
 * @param {string} address The contract's address.
 * @returns {*} The contract instance.
 */

var createContract = function createContract(web3, abi, address, qtumrpc) {
  var contract;

  if (qtumrpc) {
    var contractsRepo = {
      contracts: {
        '': {
          abi: abi,
          address: address
        }
      }
    };
    var qtum = new Qtum(qtumrpc, contractsRepo);
    contract = qtum.contract('');
  } else {
    contract = typeof web3.eth.Contract === 'function' ? new web3.eth.Contract(abi, address) : web3.eth.contract(abi).at(address);
  }

  return contract;
};
/** Class representing a contracts set. */


var MetronomeContracts =
/**
 * Create a Metronome contracts set.
 *
 * The contract set contains instances of all the contracts at the proper
 * addresses depending on the target chain.
 *
 * @param {Web3} web3 The Web3 instance to instantiate the contracts.
 * @param {string} [chain='mainnet'] The target chain name or ID.
 * @param {string} qtumrpc qtum rpc url
 */
function MetronomeContracts(web3) {
  var chain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'mainnet';
  var qtumrpc = arguments.length > 2 ? arguments[2] : undefined;

  _classCallCheck(this, MetronomeContracts);

  if (!web3 || !web3.eth) {
    throw new Error('Invalid web3 or qtumrpc provided');
  }

  var contracts = allContracts[chainAliases[chain]];

  if (!contracts) {
    throw new Error('Unknown chain');
  }

  Object.assign(this, mapValues(contracts, function (_ref2) {
    var abi = _ref2.abi,
        address = _ref2.address;
    return createContract(web3, abi, address, qtumrpc);
  }));
}; // Add contract definitions to the MetronomeContracts class for convenience


Object.assign(MetronomeContracts, allContracts);
module.exports = MetronomeContracts;

/***/ })

/******/ });
});