metronome-contracts
Version:
Web3 Contracts for Metronome Token
11,353 lines • 999 kB
JavaScript
(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;
/***/ })
/******/ });
});