From 139144e7ab24fd88035ec6a5a75a33762a0a12e2 Mon Sep 17 00:00:00 2001 From: cgewecke Date: Mon, 7 Oct 2019 17:20:43 -0700 Subject: [PATCH 01/21] Clarify eth.personal.sign docs (#3091) --- docs/web3-eth-personal.rst | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/web3-eth-personal.rst b/docs/web3-eth-personal.rst index bba13f10128..3314fb5926f 100644 --- a/docs/web3-eth-personal.rst +++ b/docs/web3-eth-personal.rst @@ -80,7 +80,17 @@ sign web3.eth.personal.sign(dataToSign, address, password [, callback]) -Signs data using a specific account. +The sign method calculates an Ethereum specific signature with: + +.. code-block:: javascript + + sign(keccak256("\x19Ethereum Signed Message:\n" + dataToSign.length + dataToSign))) + +Adding a prefix to the message makes the calculated signature recognisable as an Ethereum specific signature. + +If you have the original message and the signed message, you can discover the signing account address +using :ref:`web3.eth.personal.ecRecover ` (See example below) + .. note:: Sending your account password over an unsecured HTTP RPC connection is highly unsecure. @@ -119,6 +129,11 @@ Example .then(console.log); > "0x30755ed65396facf86c53e6217c52b4daebe72aa4941d89635409de4c9c7f9466d4e9aaec7977f05e923889b33c0d0dd27d7226b6e6f56ce737465c5cfd04be400" + // recover the signing account address using original message and signed message + web3.eth.personal.ecRecover("Hello world", "0x30755ed65396...etc...") + .then(console.log); + > "0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe" + ------------------------------------------------------------------------------ From 6d4ea0d812a449364000b5886def9f17f9fd90f4 Mon Sep 17 00:00:00 2001 From: cgewecke Date: Mon, 7 Oct 2019 21:37:53 -0700 Subject: [PATCH 02/21] Use eth_chainId when signing transactions (#3097) * Use eth_chainId when signing transactions --- CHANGELOG.md | 1 + packages/web3-eth-accounts/src/index.js | 2 +- test/eth.accounts.signTransaction.js | 4 ++-- test/helpers/test.method.js | 4 ++-- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5fa39030b03..526b8f4041f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,5 +56,6 @@ Released with 1.0.0-beta.37 code base. ### Fixed +- Fix incorrectly populating chainId param with `net_version` when signing txs (#2378) - regeneratorRuntime error fixed (#3058) - Fix accessing event.name where event is undefined (#3014) diff --git a/packages/web3-eth-accounts/src/index.js b/packages/web3-eth-accounts/src/index.js index 829c33eff59..b45e830c9d9 100644 --- a/packages/web3-eth-accounts/src/index.js +++ b/packages/web3-eth-accounts/src/index.js @@ -69,7 +69,7 @@ var Accounts = function Accounts() { var _ethereumCall = [ new Method({ name: 'getId', - call: 'net_version', + call: 'eth_chainId', params: 0, outputFormatter: utils.hexToNumber }), diff --git a/test/eth.accounts.signTransaction.js b/test/eth.accounts.signTransaction.js index c2ef1728800..d68a467344c 100644 --- a/test/eth.accounts.signTransaction.js +++ b/test/eth.accounts.signTransaction.js @@ -495,7 +495,7 @@ describe("eth", function () { provider.injectResult(1); provider.injectValidation(function (payload) { assert.equal(payload.jsonrpc, '2.0'); - assert.equal(payload.method, 'net_version'); + assert.equal(payload.method, 'eth_chainId'); assert.deepEqual(payload.params, []); }); @@ -522,7 +522,7 @@ describe("eth", function () { provider.injectResult(1); provider.injectValidation(function (payload) { assert.equal(payload.jsonrpc, '2.0'); - assert.equal(payload.method, 'net_version'); + assert.equal(payload.method, 'eth_chainId'); assert.deepEqual(payload.params, []); }); provider.injectResult(1); diff --git a/test/helpers/test.method.js b/test/helpers/test.method.js index e2454740228..0d0e4300c49 100644 --- a/test/helpers/test.method.js +++ b/test/helpers/test.method.js @@ -10,10 +10,10 @@ var useLocalWallet = function (test, provider, web3) { test.useLocalWallet(web3); - provider.injectResult(1); + provider.injectResult("0x1"); provider.injectValidation(function (payload) { assert.equal(payload.jsonrpc, '2.0'); - assert.equal(payload.method, 'net_version'); + assert.equal(payload.method, 'eth_chainId'); assert.deepEqual(payload.params, []); }); From 4b91f10523d864f38ecf08ea84a26771ad3e31c7 Mon Sep 17 00:00:00 2001 From: cgewecke Date: Mon, 7 Oct 2019 21:39:16 -0700 Subject: [PATCH 03/21] Allow 'null' receipt.status values (#3090) * Add outputTransactionReceiptFormatter tests * Allow null receipt.status --- CHANGELOG.md | 1 + packages/web3-core-helpers/src/formatters.js | 2 +- ...tters.outputTransactionReceiptFormatter.js | 122 ++++++++++++++++++ 3 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 test/formatters.outputTransactionReceiptFormatter.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 526b8f4041f..ee272a38d93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,6 +56,7 @@ Released with 1.0.0-beta.37 code base. ### Fixed +- Fix error incorrectly thrown when receipt.status is `null` (#2183) - Fix incorrectly populating chainId param with `net_version` when signing txs (#2378) - regeneratorRuntime error fixed (#3058) - Fix accessing event.name where event is undefined (#3014) diff --git a/packages/web3-core-helpers/src/formatters.js b/packages/web3-core-helpers/src/formatters.js index e82b7a37c78..06ce76c30ef 100644 --- a/packages/web3-core-helpers/src/formatters.js +++ b/packages/web3-core-helpers/src/formatters.js @@ -216,7 +216,7 @@ var outputTransactionReceiptFormatter = function (receipt){ receipt.contractAddress = utils.toChecksumAddress(receipt.contractAddress); } - if(typeof receipt.status !== 'undefined') { + if(typeof receipt.status !== 'undefined' && receipt.status !== null) { receipt.status = Boolean(parseInt(receipt.status)); } diff --git a/test/formatters.outputTransactionReceiptFormatter.js b/test/formatters.outputTransactionReceiptFormatter.js new file mode 100644 index 00000000000..7647d725d36 --- /dev/null +++ b/test/formatters.outputTransactionReceiptFormatter.js @@ -0,0 +1,122 @@ +var assert = require('assert'); +var formatters = require('../packages/web3-core-helpers/src/formatters.js'); + +describe('outputTransactionReceiptFormatter', function() { + + it('call outputTransactionReceiptFormatter with a valid receipt', function() { + var receipt = { + status: '0x0', + cumulativeGasUsed: '0x100', + gasUsed: '0x100', + blockNumber: '0x100', + transactionIndex: '0xa', + to: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + from: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + contractAddress: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078' + }; + + assert.deepEqual(formatters.outputTransactionReceiptFormatter(receipt), { + status: false, + cumulativeGasUsed: 256, + gasUsed: 256, + blockNumber: 256, + transactionIndex: 10, + to: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + from: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + contractAddress: '0x03C9A938fF7f54090d0d99e2c6f80380510Ea078' + }); + }); + + it('call outputTransactionReceiptFormatter with a valid receipt and logs', function() { + var receipt = { + status: '0x0', + cumulativeGasUsed: '0x100', + gasUsed: '0x100', + blockNumber: '0x100', + transactionIndex: '0xa', + to: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + from: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + contractAddress: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + logs: [{}] + }; + + assert.deepEqual(formatters.outputTransactionReceiptFormatter(receipt), { + status: false, + cumulativeGasUsed: 256, + gasUsed: 256, + blockNumber: 256, + transactionIndex: 10, + to: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + from: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + contractAddress: '0x03C9A938fF7f54090d0d99e2c6f80380510Ea078', + logs: [ + { + blockNumber: undefined, + id: null, + logIndex: undefined, + transactionIndex: undefined + } + ] + }); + }); + + it('call outputTransactionReceiptFormatter when status is "0x1"', function() { + var receipt = { + status: '0x1', + cumulativeGasUsed: '0x100', + gasUsed: '0x100', + blockNumber: '0x100', + transactionIndex: '0xa', + to: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + from: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + contractAddress: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078' + }; + + assert.equal(formatters.outputTransactionReceiptFormatter(receipt).status, true) + }); + + it('call outputTransactionReceiptFormatter when status is "0x01"', function() { + var receipt = { + status: '0x01', + cumulativeGasUsed: '0x100', + gasUsed: '0x100', + blockNumber: '0x100', + transactionIndex: '0xa', + to: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + from: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + contractAddress: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078' + }; + + assert.equal(formatters.outputTransactionReceiptFormatter(receipt).status, true) + }); + + it('call outputTransactionReceiptFormatter when status is "undefined"', function() { + var receipt = { + status: undefined, + cumulativeGasUsed: '0x100', + gasUsed: '0x100', + blockNumber: '0x100', + transactionIndex: '0xa', + to: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + from: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + contractAddress: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078' + }; + + assert.equal(formatters.outputTransactionReceiptFormatter(receipt).status, undefined) + }); + + it('call outputTransactionReceiptFormatter when status is "null"', function() { + var receipt = { + status: null, + cumulativeGasUsed: '0x100', + gasUsed: '0x100', + blockNumber: '0x100', + transactionIndex: '0xa', + to: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + from: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + contractAddress: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078' + }; + + assert.equal(formatters.outputTransactionReceiptFormatter(receipt).status, null) + }); +}); From 049f31c2ee4b2df842ca786d31c02893c895ac00 Mon Sep 17 00:00:00 2001 From: cgewecke Date: Mon, 7 Oct 2019 21:41:11 -0700 Subject: [PATCH 04/21] Update error strings in utils module (#3088) * Update error strings in utils module --- CHANGELOG.md | 1 + packages/web3-utils/src/index.js | 4 ++-- test/utils.fromWei.js | 9 +++++++++ test/utils.toWei.js | 9 +++++++++ 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee272a38d93..79cc1b5b415 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,6 +56,7 @@ Released with 1.0.0-beta.37 code base. ### Fixed +- Fix incorrect references to BigNumber in utils.fromWei and utils.toWei error messages (#2468) - Fix error incorrectly thrown when receipt.status is `null` (#2183) - Fix incorrectly populating chainId param with `net_version` when signing txs (#2378) - regeneratorRuntime error fixed (#3058) diff --git a/packages/web3-utils/src/index.js b/packages/web3-utils/src/index.js index d2a066110fa..5a519adcbf2 100644 --- a/packages/web3-utils/src/index.js +++ b/packages/web3-utils/src/index.js @@ -232,7 +232,7 @@ var fromWei = function(number, unit) { unit = getUnitValue(unit); if(!utils.isBN(number) && !_.isString(number)) { - throw new Error('Please pass numbers as strings or BigNumber objects to avoid precision errors.'); + throw new Error('Please pass numbers as strings or BN objects to avoid precision errors.'); } return utils.isBN(number) ? ethjsUnit.fromWei(number, unit) : ethjsUnit.fromWei(number, unit).toString(10); @@ -264,7 +264,7 @@ var toWei = function(number, unit) { unit = getUnitValue(unit); if(!utils.isBN(number) && !_.isString(number)) { - throw new Error('Please pass numbers as strings or BigNumber objects to avoid precision errors.'); + throw new Error('Please pass numbers as strings or BN objects to avoid precision errors.'); } return utils.isBN(number) ? ethjsUnit.toWei(number, unit) : ethjsUnit.toWei(number, unit).toString(10); diff --git a/test/utils.fromWei.js b/test/utils.fromWei.js index c46413d3410..cacf09f18c3 100644 --- a/test/utils.fromWei.js +++ b/test/utils.fromWei.js @@ -18,5 +18,14 @@ describe('lib/utils/utils', function () { assert.equal(utils.fromWei('1000000000000000000', 'gether'), '0.000000001'); assert.equal(utils.fromWei('1000000000000000000', 'tether'), '0.000000000001'); }); + + it('should verify "number" arg is string or BN', function () { + try { + utils.fromWei(100000000000, 'wei') + assert.fail(); + } catch (error) { + assert(error.message.includes('Please pass numbers as strings or BN objects')) + } + }) }); }); diff --git a/test/utils.toWei.js b/test/utils.toWei.js index 7fd84a32dad..4b0cf9487c8 100644 --- a/test/utils.toWei.js +++ b/test/utils.toWei.js @@ -34,5 +34,14 @@ describe('lib/utils/utils', function () { assert.throws(function () {utils.toWei(1, 'wei1');}, Error); }); + + it('should verify "number" arg is string or BN', function () { + try { + utils.toWei(1, 'wei') + assert.fail(); + } catch (error) { + assert(error.message.includes('Please pass numbers as strings or BN objects')) + } + }) }); }); From 0cbf9aee0f6ee435b0894946d3473e1a5fb2a79b Mon Sep 17 00:00:00 2001 From: cgewecke Date: Mon, 7 Oct 2019 21:42:51 -0700 Subject: [PATCH 05/21] Fix utils.isBN (#3087) * Fix utils.isBN --- CHANGELOG.md | 1 + packages/web3-utils/src/utils.js | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79cc1b5b415..f79a8e3feaf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,6 +56,7 @@ Released with 1.0.0-beta.37 code base. ### Fixed +- Fix make isBN minification safe (#1777) - Fix incorrect references to BigNumber in utils.fromWei and utils.toWei error messages (#2468) - Fix error incorrectly thrown when receipt.status is `null` (#2183) - Fix incorrectly populating chainId param with `net_version` when signing txs (#2378) diff --git a/packages/web3-utils/src/utils.js b/packages/web3-utils/src/utils.js index 4b3d19ecf13..ff3169906c8 100644 --- a/packages/web3-utils/src/utils.js +++ b/packages/web3-utils/src/utils.js @@ -35,8 +35,7 @@ var Hash = require("eth-lib/lib/hash"); * @return {Boolean} */ var isBN = function (object) { - return object instanceof BN || - (object && object.constructor && object.constructor.name === 'BN'); + return BN.isBN(object); }; /** From 2b09606cdc570b959679225505c550ec308a1d29 Mon Sep 17 00:00:00 2001 From: cgewecke Date: Mon, 7 Oct 2019 21:44:36 -0700 Subject: [PATCH 06/21] Fix randomHex (#3085) * randomHex fixed * Add utils.randomHex unit test --- CHANGELOG.md | 1 + packages/web3-utils/package-lock.json | 16 ++++++++++++---- packages/web3-utils/package.json | 2 +- packages/web3-utils/src/index.js | 12 +++++++++++- test/utils.randomHex.js | 25 +++++++++++++++++++++++++ 5 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 test/utils.randomHex.js diff --git a/CHANGELOG.md b/CHANGELOG.md index f79a8e3feaf..508d67fbd84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,6 +56,7 @@ Released with 1.0.0-beta.37 code base. ### Fixed +- Fix randomHex returning inconsistent string lengths (#1490) - Fix make isBN minification safe (#1777) - Fix incorrect references to BigNumber in utils.fromWei and utils.toWei error messages (#2468) - Fix error incorrectly thrown when receipt.status is `null` (#2183) diff --git a/packages/web3-utils/package-lock.json b/packages/web3-utils/package-lock.json index ac144233140..1f26c73a510 100644 --- a/packages/web3-utils/package-lock.json +++ b/packages/web3-utils/package-lock.json @@ -282,10 +282,18 @@ "strict-uri-encode": "^1.0.0" } }, - "randomhex": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/randomhex/-/randomhex-0.1.5.tgz", - "integrity": "sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU=" + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" }, "simple-concat": { "version": "1.0.0", diff --git a/packages/web3-utils/package.json b/packages/web3-utils/package.json index 35fe152655f..a4389340440 100644 --- a/packages/web3-utils/package.json +++ b/packages/web3-utils/package.json @@ -13,7 +13,7 @@ "eth-lib": "0.2.7", "ethjs-unit": "0.1.6", "number-to-bn": "1.7.0", - "randomhex": "0.1.5", + "randombytes": "^2.1.0", "underscore": "1.9.1", "utf8": "3.0.0" } diff --git a/packages/web3-utils/src/index.js b/packages/web3-utils/src/index.js index 5a519adcbf2..2736c07ef25 100644 --- a/packages/web3-utils/src/index.js +++ b/packages/web3-utils/src/index.js @@ -26,7 +26,7 @@ var _ = require('underscore'); var ethjsUnit = require('ethjs-unit'); var utils = require('./utils.js'); var soliditySha3 = require('./soliditySha3.js'); -var randomHex = require('randomhex'); +var randombytes = require('randombytes'); @@ -145,6 +145,16 @@ var _flattenTypes = function(includeTuple, puts) }; +/** + * Returns a random hex string by the given bytes size + * + * @param {Number} size + * @returns {string} + */ +var randomHex = function(size) { + return '0x' + randombytes(size).toString('hex'); +}; + /** * Should be called to get ascii from it's hex representation * diff --git a/test/utils.randomHex.js b/test/utils.randomHex.js new file mode 100644 index 00000000000..2eb4c7716fc --- /dev/null +++ b/test/utils.randomHex.js @@ -0,0 +1,25 @@ +var chai = require('chai'); +var utils = require('../packages/web3-utils'); + +var assert = chai.assert; + +// Expect 2 chars per bytes plus `0x` prefix +var tests = [ + { value: 0, expected: { prefix: '0x', type: 'string', length: 2 }}, + { value: 15, expected: { prefix: '0x', type: 'string', length: 32 }}, + { value: 16, expected: { prefix: '0x', type: 'string', length: 34 }} +]; + +describe('lib/utils/utils', function () { + describe('randomHex', function () { + tests.forEach(function (test) { + it('should turn ' + test.value + ' to ' + test.expected, function () { + var result = utils.randomHex(test.value); + + assert.strictEqual(typeof result, test.expected.type); + assert.strictEqual(result.slice(0,2), test.expected.prefix); + assert.strictEqual(result.length, test.expected.length); + }); + }); + }); +}); From 5035b25ca1b8d2f13b20062cffada49f4ce62012 Mon Sep 17 00:00:00 2001 From: Abdul Rauf Date: Tue, 8 Oct 2019 13:08:32 +0200 Subject: [PATCH 07/21] docs: add lerna badge (#3108) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 08004e0af64..26a49e63889 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ # web3.js - Ethereum JavaScript API [![Join the chat at https://gitter.im/ethereum/web3.js](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ethereum/web3.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)[![npm](https://img.shields.io/npm/dm/web3.svg)](https://www.npmjs.com/package/web3) [![Build Status][travis-image]][travis-url] [![dependency status][dep-image]][dep-url] [![dev dependency status][dep-dev-image]][dep-dev-url] [![Coverage Status][coveralls-image]][coveralls-url] +[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/) This is the Ethereum [JavaScript API][docs] which connects to the [Generic JSON RPC](https://github.com/ethereum/wiki/wiki/JSON-RPC) spec. From c1db2ca1b4bf9642fb9512b14cdbdb9f16d0fd48 Mon Sep 17 00:00:00 2001 From: Jay Welsh Date: Tue, 8 Oct 2019 13:28:08 +0200 Subject: [PATCH 08/21] feat(Network): add support for net id of Goerli (#3095) * feat(Network): add support for net id of Goerli * eth.net.getNetworkType test extended --- CHANGELOG.md | 1 + packages/web3-eth/src/getNetworkType.js | 4 ++++ test/eth.net.getNetworkType.js | 22 +++++++++++++++------- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 508d67fbd84..44bf5d49a06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,6 +53,7 @@ Released with 1.0.0-beta.37 code base. ### Added - localStorage support detection added (#3031) +- getNetworkType method extended with Görli testnet (#3095) ### Fixed diff --git a/packages/web3-eth/src/getNetworkType.js b/packages/web3-eth/src/getNetworkType.js index dea30b7679f..3be3a2027e6 100644 --- a/packages/web3-eth/src/getNetworkType.js +++ b/packages/web3-eth/src/getNetworkType.js @@ -55,6 +55,10 @@ var getNetworkType = function (callback) { id === 4) { returnValue = 'rinkeby'; } + if (genesis.hash === '0xbf7e331f7f7c1dd2e05159666b3bf8bc7a8a3a9eb1d518969eab529dd9b88c1a' && + id === 5) { + returnValue = 'goerli'; + } if (genesis.hash === '0xa3c565fc15c7478862d50ccd6561e3c06b24cc509bf388941c25ea985ce32cb9' && id === 42) { returnValue = 'kovan'; diff --git a/test/eth.net.getNetworkType.js b/test/eth.net.getNetworkType.js index 80ef08c6146..132f44056e3 100644 --- a/test/eth.net.getNetworkType.js +++ b/test/eth.net.getNetworkType.js @@ -8,13 +8,21 @@ var tests = [{ id: 1, result: 'main' },{ - hash: '0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3', - id: 1, - result: 'main' + hash: '0cd786a2425d16f152c658316c423e6ce1181e15c3295826d7c9904cba9ce303', + id: 2, + result: 'morden' },{ - hash: '0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3', - id: 1, - result: 'main' + hash: '0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d', + id: 3, + result: 'ropsten' +},{ + hash: '0x6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177', + id: 4, + result: 'rinkeby' +},{ + hash: '0xbf7e331f7f7c1dd2e05159666b3bf8bc7a8a3a9eb1d518969eab529dd9b88c1a', + id: 5, + result: 'goerli' },{ hash: '0xffe56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3', id: 42, @@ -27,7 +35,7 @@ var tests = [{ hash: '0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3', id: 42, result: 'private' -}] +}]; describe('getNetworkType', function () { tests.forEach(function (test) { From c51c3b978102c0d904c46ecd3bb66e34c799cff8 Mon Sep 17 00:00:00 2001 From: cgewecke Date: Tue, 8 Oct 2019 05:05:48 -0700 Subject: [PATCH 09/21] Allow 0 fromBlock, toBlock values (#3089) * Allow 0 fromBlock, toBlock values --- CHANGELOG.md | 1 + packages/web3-core-helpers/src/formatters.js | 4 +- test/formatters.inputLogFormatter.js | 108 +++++++++++++++++++ 3 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 test/formatters.inputLogFormatter.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 44bf5d49a06..abddafac36b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,6 +57,7 @@ Released with 1.0.0-beta.37 code base. ### Fixed +- Fix allow `0` as a valid `fromBlock` or `toBlock` filter param (#1100) - Fix randomHex returning inconsistent string lengths (#1490) - Fix make isBN minification safe (#1777) - Fix incorrect references to BigNumber in utils.fromWei and utils.toWei error messages (#2468) diff --git a/packages/web3-core-helpers/src/formatters.js b/packages/web3-core-helpers/src/formatters.js index 06ce76c30ef..068d5e6d6c9 100644 --- a/packages/web3-core-helpers/src/formatters.js +++ b/packages/web3-core-helpers/src/formatters.js @@ -279,10 +279,10 @@ var inputLogFormatter = function(options) { return utils.fromUtf8(value); }; - if (options.fromBlock) + if (options.fromBlock || options.fromBlock === 0) options.fromBlock = inputBlockNumberFormatter(options.fromBlock); - if (options.toBlock) + if (options.toBlock || options.toBlock === 0) options.toBlock = inputBlockNumberFormatter(options.toBlock); diff --git a/test/formatters.inputLogFormatter.js b/test/formatters.inputLogFormatter.js new file mode 100644 index 00000000000..eee62490e39 --- /dev/null +++ b/test/formatters.inputLogFormatter.js @@ -0,0 +1,108 @@ +var chai = require('chai'); +var assert = chai.assert; +var formatters = require('../packages/web3-core-helpers/src/formatters.js'); + +describe('InputLogFormatterTest', function() { + + it('call inputLogFormatter with a valid log', function() { + var log = { + fromBlock: 'earliest', + toBlock: 'latest', + topics: ['0x0'], + address: '0x03C9A938fF7f54090d0d99e2c6f80380510Ea078' + }; + + assert.deepEqual(formatters.inputLogFormatter(log), { + fromBlock: 'earliest', + toBlock: 'latest', + topics: ['0x0'], + address: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078' + }); + }); + + it('call inputLogFormatter with numerical from/to blocks', function() { + var log = { + fromBlock: 1, + toBlock: 2, + topics: ['0x0'], + address: '0x03C9A938fF7f54090d0d99e2c6f80380510Ea078' + }; + + assert.deepEqual(formatters.inputLogFormatter(log), { + fromBlock: '0x1', + toBlock: '0x2', + topics: ['0x0'], + address: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078' + }); + }); + + it('call inputLogFormatter with zero valued from/to blocks', function() { + var log = { + fromBlock: 0, + toBlock: 0, + topics: ['0x0'], + address: '0x03C9A938fF7f54090d0d99e2c6f80380510Ea078' + }; + + assert.deepEqual(formatters.inputLogFormatter(log), { + fromBlock: '0x0', + toBlock: '0x0', + topics: ['0x0'], + address: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078' + }); + }); + + it('call inputLogFormatter with a array of addresses in the log', function() { + var log = { + fromBlock: 'earliest', + toBlock: 'latest', + topics: ['0x0'], + address: [ + '0x03C9A938fF7f54090d0d99e2c6f80380510Ea078', + '0x03C9A938fF7f54090d0d99e2c6f80380510Ea078' + ] + }; + + assert.deepEqual(formatters.inputLogFormatter(log), { + fromBlock: 'earliest', + toBlock: 'latest', + topics: ['0x0'], + address: [ + '0x03c9a938ff7f54090d0d99e2c6f80380510ea078', + '0x03c9a938ff7f54090d0d99e2c6f80380510ea078' + ] + }); + }); + + it('call inputLogFormatter with an topic item of null', function() { + var log = { + fromBlock: 'earliest', + toBlock: 'latest', + topics: [null], + address: '0x03C9A938fF7f54090d0d99e2c6f80380510Ea078' + }; + + assert.deepEqual(formatters.inputLogFormatter(log), { + fromBlock: 'earliest', + toBlock: 'latest', + topics: [null], + address: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078' + }); + }); + + it('call inputLogFormatter with an topic item that does not start with "0x"', function() { + var log = { + fromBlock: 'earliest', + toBlock: 'latest', + topics: ['00'], + address: '0x03C9A938fF7f54090d0d99e2c6f80380510Ea078' + }; + + assert.deepEqual(formatters.inputLogFormatter(log), { + fromBlock: 'earliest', + toBlock: 'latest', + topics: ['0x3030'], + address: '0x03c9a938ff7f54090d0d99e2c6f80380510ea078' + }); + }); +}); From a423681e47011fe88b3650ad9584890dba2c1193 Mon Sep 17 00:00:00 2001 From: Samuel Furter Date: Tue, 8 Oct 2019 21:14:07 +0900 Subject: [PATCH 10/21] web3.py url updated in readme (#3110) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 26a49e63889..b2ba7cb34cb 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ npm test ### Similar libraries in other languages - - Python - [Web3.py](https://github.com/pipermerriam/web3.py) + - Python - [Web3.py](https://github.com/ethereum/web3.py) - Haskell - [hs-web3](https://github.com/airalab/hs-web3) - Java - [web3j](https://github.com/web3j/web3j) - Scala - [web3j-scala](https://github.com/mslinn/web3j-scala) From 28d52a9653f976572b465a006b3d3d40d95bb327 Mon Sep 17 00:00:00 2001 From: Samuel Furter Date: Tue, 8 Oct 2019 21:21:23 +0900 Subject: [PATCH 11/21] documentation improvement back-ported from 2.x (#3111) --- docs/web3-eth-contract.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/web3-eth-contract.rst b/docs/web3-eth-contract.rst index 76a4b4c5084..de710fba48c 100644 --- a/docs/web3-eth-contract.rst +++ b/docs/web3-eth-contract.rst @@ -790,7 +790,7 @@ Parameters 1. ``options`` - ``Object`` (optional): The options used for deployment. * ``filter`` - ``Object`` (optional): Let you filter events by indexed parameters, e.g. ``{filter: {myNumber: [12,13]}}`` means all events where "myNumber" is 12 or 13. - * ``fromBlock`` - ``Number`` (optional): The block number from which to get events on. + * ``fromBlock`` - ``Number`` (optional): The block number (greater than or equal to) from which to get events on. * ``topics`` - ``Array`` (optional): This allows to manually set the topics for the event filter. If given the filter property and event signature, (topic[0]) will not be set automatically. 2. ``callback`` - ``Function`` (optional): This callback will be fired for each *event* as the second argument, or an error as the first argument. @@ -893,8 +893,8 @@ Parameters 1. ``event`` - ``String``: The name of the event in the contract, or ``"allEvents"`` to get all events. 2. ``options`` - ``Object`` (optional): The options used for deployment. * ``filter`` - ``Object`` (optional): Lets you filter events by indexed parameters, e.g. ``{filter: {myNumber: [12,13]}}`` means all events where "myNumber" is 12 or 13. - * ``fromBlock`` - ``Number`` (optional): The block number from which to get events on. - * ``toBlock`` - ``Number`` (optional): The block number to get events up to (Defaults to ``"latest"``). + * ``fromBlock`` - ``Number`` (optional): The block number (greater than or equal to) from which to get events on. + * ``toBlock`` - ``Number`` (optional): The block number (less than or equal to) to get events up to (Defaults to ``"latest"``). * ``topics`` - ``Array`` (optional): This allows manually setting the topics for the event filter. If given the filter property and event signature, (topic[0]) will not be set automatically. 3. ``callback`` - ``Function`` (optional): This callback will be fired with an array of event logs as the second argument, or an error as the first argument. From ce113d27d7b74ade6227cb72a7d01a25c4ca039a Mon Sep 17 00:00:00 2001 From: Samuel Furter Date: Wed, 9 Oct 2019 06:37:42 +0900 Subject: [PATCH 12/21] HttpProvider: CORS issue with Firefox and Safari (#3112) * CORS error fixed --- CHANGELOG.md | 1 + dist/web3.min.js | 1 - packages/web3-providers-http/src/index.js | 32 ++++++++++++++--------- 3 files changed, 20 insertions(+), 14 deletions(-) delete mode 100644 dist/web3.min.js diff --git a/CHANGELOG.md b/CHANGELOG.md index abddafac36b..1396607178b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -65,3 +65,4 @@ Released with 1.0.0-beta.37 code base. - Fix incorrectly populating chainId param with `net_version` when signing txs (#2378) - regeneratorRuntime error fixed (#3058) - Fix accessing event.name where event is undefined (#3014) +- HttpProvider: CORS issue with Firefox and Safari (#2978) diff --git a/dist/web3.min.js b/dist/web3.min.js deleted file mode 100644 index 573c5dabaac..00000000000 --- a/dist/web3.min.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";function _typeof2(t){return(_typeof2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function asyncGeneratorStep(t,e,r,n,i,o,a){try{var u=t[o](a),s=u.value}catch(t){return void r(t)}u.done?e(s):Promise.resolve(s).then(n,i)}function _asyncToGenerator(u){return function(){var t=this,a=arguments;return new Promise(function(e,r){var n=u.apply(t,a);function i(t){asyncGeneratorStep(n,e,r,i,o,"next",t)}function o(t){asyncGeneratorStep(n,e,r,i,o,"throw",t)}i(void 0)})}}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"===_typeof2(Symbol.iterator)?function(t){return _typeof2(t)}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":_typeof2(t)})(t)}!function(t){if("object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Web3=t()}}(function(){var define,module,exports;return function o(a,u,s){function c(e,t){if(!u[e]){if(!a[e]){var r="function"==typeof require&&require;if(!t&&r)return r(e,!0);if(f)return f(e,!0);var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}var i=u[e]={exports:{}};a[e][0].call(i.exports,function(t){return c(a[e][1][t]||t)},i,i.exports,o,a,u,s)}return u[e].exports}for(var f="function"==typeof require&&require,t=0;t>6],i=0==(32&r);if(31==(31&r)){var o=r;for(r=0;128==(128&o);){if(o=t.readUInt8(e),t.isError(o))return o;r<<=7,r|=127&o}}else r&=31;return{cls:n,primitive:i,tag:r,tagStr:u.tag[r]}}function l(t,e,r){var n=t.readUInt8(r);if(t.isError(n))return n;if(!e&&128===n)return null;if(0==(128&n))return n;var i=127&n;if(4>=8)a++;(i=new c(2+a))[0]=o,i[1]=128|a;u=1+a;for(var s=n.length;0>=8)i[u]=255&s;return this._createEncoderBuffer([i,n])},u.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"!==e)return"numstr"===e?this._isNumstr(t)?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===e?this._isPrintstr(t)?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(e)?this._createEncoderBuffer(t):"objDesc"===e?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: "+e+" unsupported");for(var r=new c(2*t.length),n=0;n>=7)i++}var a=new c(i),u=a.length-1;for(n=t.length-1;0<=n;n--){o=t[n];for(a[u--]=127&o;0<(o>>=7);)a[u--]=128|127&o}return this._createEncoderBuffer(a)},u.prototype._encodeTime=function(t,e){var r,n=new Date(t);return"gentime"===e?r=[s(n.getFullYear()),s(n.getUTCMonth()+1),s(n.getUTCDate()),s(n.getUTCHours()),s(n.getUTCMinutes()),s(n.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[s(n.getFullYear()%100),s(n.getUTCMonth()+1),s(n.getUTCDate()),s(n.getUTCHours()),s(n.getUTCMinutes()),s(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},u.prototype._encodeNull=function(){return this._createEncoderBuffer("")},u.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!c.isBuffer(t)){var r=t.toArray();!t.sign&&128&r[0]&&r.unshift(0),t=new c(r)}if(c.isBuffer(t)){var n=t.length;0===t.length&&n++;var i=new c(n);return t.copy(i),0===t.length&&(i[0]=0),this._createEncoderBuffer(i)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);n=1;for(var o=t;256<=o;o>>=8)n++;for(o=(i=new Array(n)).length-1;0<=o;o--)i[o]=255&t,t>>=8;return 128&i[0]&&i.unshift(0),this._createEncoderBuffer(new c(i))},u.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},u.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},u.prototype._skipDefault=function(t,e,r){var n,i=this._baseState;if(null===i.default)return!1;var o=t.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,e,r).join()),o.length!==i.defaultBuffer.length)return!1;for(n=0;n>16&255,o[a++]=e>>8&255,o[a++]=255&e;var c,f;2===i&&(e=l[t.charCodeAt(s)]<<2|l[t.charCodeAt(s+1)]>>4,o[a++]=255&e);1===i&&(e=l[t.charCodeAt(s)]<<10|l[t.charCodeAt(s+1)]<<4|l[t.charCodeAt(s+2)]>>2,o[a++]=e>>8&255,o[a++]=255&e);return o},r.fromByteArray=function(t){for(var e,r=t.length,n=r%3,i=[],o=0,a=r-n;o>2]+u[e<<4&63]+"==")):2===n&&(e=(t[r-2]<<8)+t[r-1],i.push(u[e>>10]+u[e>>4&63]+u[e<<2&63]+"="));return i.join("")};for(var u=[],l=[],h="undefined"!=typeof Uint8Array?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,o=n.length;i>18&63]+u[i>>12&63]+u[i>>6&63]+u[63&i]);return o.join("")}l["-".charCodeAt(0)]=62,l["_".charCodeAt(0)]=63},{}],16:[function(t,e,r){var n;function i(t){this.rand=t}if(e.exports=function(t){return n||(n=new i(null)),n.generate(t)},(e.exports.Rand=i).prototype.generate=function(t){return this._rand(t)},i.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),r=0;r>>24]^f[p>>>16&255]^l[y>>>8&255]^h[255&b]^e[v++],a=c[p>>>24]^f[y>>>16&255]^l[b>>>8&255]^h[255&d]^e[v++],u=c[y>>>24]^f[b>>>16&255]^l[d>>>8&255]^h[255&p]^e[v++],s=c[b>>>24]^f[d>>>16&255]^l[p>>>8&255]^h[255&y]^e[v++],d=o,p=a,y=u,b=s;return o=(n[d>>>24]<<24|n[p>>>16&255]<<16|n[y>>>8&255]<<8|n[255&b])^e[v++],a=(n[p>>>24]<<24|n[y>>>16&255]<<16|n[b>>>8&255]<<8|n[255&d])^e[v++],u=(n[y>>>24]<<24|n[b>>>16&255]<<16|n[d>>>8&255]<<8|n[255&p])^e[v++],s=(n[b>>>24]<<24|n[d>>>16&255]<<16|n[p>>>8&255]<<8|n[255&y])^e[v++],[o>>>=0,a>>>=0,u>>>=0,s>>>=0]}var l=[0,1,2,4,8,16,32,64,128,27,54],h=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],n=[],i=[[],[],[],[]],o=[[],[],[],[]],a=0,u=0,s=0;s<256;++s){var c=u^u<<1^u<<2^u<<3^u<<4;c=c>>>8^255&c^99;var f=t[n[r[a]=c]=a],l=t[f],h=t[l],d=257*t[c]^16843008*c;i[0][a]=d<<24|d>>>8,i[1][a]=d<<16|d>>>16,i[2][a]=d<<8|d>>>24,i[3][a]=d,d=16843009*h^65537*l^257*f^16843008*a,o[0][c]=d<<24|d>>>8,o[1][c]=d<<16|d>>>16,o[2][c]=d<<8|d>>>24,o[3][c]=d,0===a?a=u=1:(a=f^t[t[t[h^f]]],u^=t[t[u]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:o}}();function u(t){this._key=o(t),this._reset()}u.blockSize=16,u.keySize=32,u.prototype.blockSize=u.blockSize,u.prototype.keySize=u.keySize,u.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,n=4*(r+1),i=[],o=0;o>>24,a=h.SBOX[a>>>24]<<24|h.SBOX[a>>>16&255]<<16|h.SBOX[a>>>8&255]<<8|h.SBOX[255&a],a^=l[o/e|0]<<24):6>>24]<<24|h.SBOX[a>>>16&255]<<16|h.SBOX[a>>>8&255]<<8|h.SBOX[255&a]),i[o]=i[o-e]^a}for(var u=[],s=0;s>>24]]^h.INV_SUB_MIX[1][h.SBOX[f>>>16&255]]^h.INV_SUB_MIX[2][h.SBOX[f>>>8&255]]^h.INV_SUB_MIX[3][h.SBOX[255&f]]}this._nRounds=r,this._keySchedule=i,this._invKeySchedule=u},u.prototype.encryptBlockRaw=function(t){return a(t=o(t),this._keySchedule,h.SUB_MIX,h.SBOX,this._nRounds)},u.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=i.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},u.prototype.decryptBlock=function(t){var e=(t=o(t))[1];t[1]=t[3],t[3]=e;var r=a(t,this._invKeySchedule,h.INV_SUB_MIX,h.INV_SBOX,this._nRounds),n=i.allocUnsafe(16);return n.writeUInt32BE(r[0],0),n.writeUInt32BE(r[3],4),n.writeUInt32BE(r[2],8),n.writeUInt32BE(r[1],12),n},u.prototype.scrub=function(){n(this._keySchedule),n(this._invKeySchedule),n(this._key)},e.exports.AES=u},{"safe-buffer":147}],19:[function(t,e,r){var a=t("./aes"),c=t("safe-buffer").Buffer,u=t("cipher-base"),n=t("inherits"),f=t("./ghash"),i=t("buffer-xor"),l=t("./incr32");function o(t,e,r,n){u.call(this);var i=c.alloc(4,0);this._cipher=new a.AES(e);var o=this._cipher.encryptBlock(i);this._ghash=new f(o),r=function(t,e,r){if(12===e.length)return t._finID=c.concat([e,c.from([0,0,0,1])]),c.concat([e,c.from([0,0,0,2])]);var n=new f(r),i=e.length,o=i%16;n.update(e),o&&(o=16-o,n.update(c.alloc(o,0))),n.update(c.alloc(8,0));var a=8*i,u=c.alloc(8);u.writeUIntBE(a,0,8),n.update(u),t._finID=n.state;var s=c.from(t._finID);return l(s),s}(this,r,o),this._prev=c.from(r),this._cache=c.allocUnsafe(0),this._secCache=c.allocUnsafe(0),this._decrypt=n,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}n(o,u),o.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=c.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},o.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=i(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var r=0;t.length!==e.length&&r++;for(var n=Math.min(t.length,e.length),i=0;i>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function o(t){this.h=t,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}o.prototype.ghash=function(t){for(var e=-1;++e>>1|(1&n[e-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=a(i)},o.prototype.update=function(t){var e;for(this.cache=n.concat([this.cache,t]);16<=this.cache.length;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},o.prototype.final=function(t,e){return this.cache.length&&this.ghash(n.concat([this.cache,i],16)),this.ghash(a([0,t,0,e])),this.state},e.exports=o},{"safe-buffer":147}],24:[function(t,e,r){e.exports=function(t){for(var e,r=t.length;r--;){if(255!==(e=t.readUInt8(r))){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}}},{}],25:[function(t,e,r){var i=t("buffer-xor");r.encrypt=function(t,e){var r=i(e,t._prev);return t._prev=t._cipher.encryptBlock(r),t._prev},r.decrypt=function(t,e){var r=t._prev;t._prev=e;var n=t._cipher.decryptBlock(e);return i(n,r)}},{"buffer-xor":45}],26:[function(t,e,r){var o=t("safe-buffer").Buffer,a=t("buffer-xor");function u(t,e,r){var n=e.length,i=a(e,t._cache);return t._cache=t._cache.slice(n),t._prev=o.concat([t._prev,r?e:i]),i}r.encrypt=function(t,e,r){for(var n,i=o.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=o.allocUnsafe(0)),!(t._cache.length<=e.length)){i=o.concat([i,u(t,e,r)]);break}n=t._cache.length,i=o.concat([i,u(t,e.slice(0,n),r)]),e=e.slice(n)}return i}},{"buffer-xor":45,"safe-buffer":147}],27:[function(t,e,r){var a=t("safe-buffer").Buffer;function u(t,e,r){for(var n,i,o=-1,a=0;++o<8;)n=e&1<<7-o?128:0,a+=(128&(i=t._cipher.encryptBlock(t._prev)[0]^n))>>o%8,t._prev=s(t._prev,r?n:i);return a}function s(t,e){var r=t.length,n=-1,i=a.allocUnsafe(t.length);for(t=a.concat([t,a.from([e])]);++n>7;return i}r.encrypt=function(t,e,r){for(var n=e.length,i=a.allocUnsafe(n),o=-1;++o=e)throw new Error("invalid sig")}e.exports=function(t,e,r,n,i){var o=y(r);if("ec"===o.type){if("ecdsa"!==n&&"ecdsa/rsa"!==n)throw new Error("wrong public key type");return function(t,e,r){var n=b[r.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var i=new p(n),o=r.data.subjectPrivateKey.data;return i.verify(e,t,o)}(t,e,o)}if("dsa"===o.type){if("dsa"!==n)throw new Error("wrong public key type");return function(t,e,r){var n=r.data.p,i=r.data.q,o=r.data.g,a=r.data.pub_key,u=y.signature.decode(t,"der"),s=u.s,c=u.r;v(s,i),v(c,i);var f=d.mont(n),l=s.invm(i);return 0===o.toRed(f).redPow(new d(e).mul(l).mod(i)).fromRed().mul(a.toRed(f).redPow(c.mul(l).mod(i)).fromRed()).mod(n).mod(i).cmp(c)}(t,e,o)}if("rsa"!==n&&"ecdsa/rsa"!==n)throw new Error("wrong public key type");e=h.concat([i,e]);for(var a=o.modulus.byteLength(),u=[1],s=0;e.length+u.length+2>>1;case"base64":return T(t).length;default:if(i)return n?-1:O(t).length;e=(""+e).toLowerCase(),i=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function p(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):2147483647=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=l.from(e,n)),l.isBuffer(e))return 0===e.length?-1:y(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):y(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function y(t,e,r,n,i){var o,a=1,u=t.length,s=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;u/=a=2,s/=2,r/=2}function c(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var f=-1;for(o=r;o>>10&1023|55296),f=56320|1023&f),n.push(f),i+=l}return function(t){var e=t.length;if(e<=w)return String.fromCharCode.apply(String,t);var r="",n=0;for(;nthis.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return x(this,e,r);case"utf8":case"utf-8":return g(this,e,r);case"ascii":return _(this,e,r);case"latin1":case"binary":return A(this,e,r);case"base64":return m(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}.apply(this,arguments)},l.prototype.equals=function(t){if(!l.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===l.compare(this,t)},l.prototype.inspect=function(){var t="",e=P.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),""},l.prototype.compare=function(t,e,r,n,i){if(B(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+_typeof(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(i<=n&&r<=e)return 0;if(i<=n)return-1;if(r<=e)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(e>>>=0),u=Math.min(o,a),s=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||ithis.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o,a,u,s,c,f,l,h,d,p=!1;;)switch(n){case"hex":return b(this,t,e,r);case"utf8":case"utf-8":return h=e,d=r,N(O(t,(l=this).length-h),l,h,d);case"ascii":return v(this,t,e,r);case"latin1":case"binary":return v(this,t,e,r);case"base64":return s=this,c=e,f=r,N(T(t),s,c,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return a=e,u=r,N(function(t,e){for(var r,n,i,o=[],a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(t,(o=this).length-a),o,a,u);default:if(p)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),p=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var w=4096;function _(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;it.length)throw new RangeError("Index out of range")}function E(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function j(t,e,r,n,i){return e=+e,r>>>=0,i||E(t,0,r,4),o.write(t,e,r,n,23,4),r+4}function U(t,e,r,n,i){return e=+e,r>>>=0,i||E(t,0,r,8),o.write(t,e,r,n,52,8),r+8}l.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):r>>=0,e>>>=0,r||S(t,e,this.length);for(var n=this[t],i=1,o=0;++o>>=0,e>>>=0,r||S(t,e,this.length);for(var n=this[t+--e],i=1;0>>=0,e||S(t,1,this.length),this[t]},l.prototype.readUInt16LE=function(t,e){return t>>>=0,e||S(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUInt16BE=function(t,e){return t>>>=0,e||S(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUInt32LE=function(t,e){return t>>>=0,e||S(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUInt32BE=function(t,e){return t>>>=0,e||S(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||S(t,e,this.length);for(var n=this[t],i=1,o=0;++o>>=0,e>>>=0,r||S(t,e,this.length);for(var n=e,i=1,o=this[t+--n];0>>=0,e||S(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){t>>>=0,e||S(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(t,e){t>>>=0,e||S(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(t,e){return t>>>=0,e||S(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return t>>>=0,e||S(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,e){return t>>>=0,e||S(t,4,this.length),o.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return t>>>=0,e||S(t,4,this.length),o.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return t>>>=0,e||S(t,8,this.length),o.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return t>>>=0,e||S(t,8,this.length),o.read(this,t,!1,52,8)},l.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||M(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o>>=0,r>>>=0,n)||M(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,o=1;for(this[e+i]=255&t;0<=--i&&(o*=256);)this[e+i]=t/o&255;return e+r},l.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,1,255,0),this[e]=255&t,e+1},l.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},l.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);M(this,t,e,r,i-1,-i)}var o=0,a=1,u=0;for(this[e]=255&t;++o>0)-u&255;return e+r},l.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);M(this,t,e,r,i-1,-i)}var o=r-1,a=1,u=0;for(this[e+o]=255&t;0<=--o&&(a*=256);)t<0&&0===u&&0!==this[e+o+1]&&(u=1),this[e+o]=(t/a>>0)-u&255;return e+r},l.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},l.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeFloatLE=function(t,e,r){return j(this,t,e,!0,r)},l.prototype.writeFloatBE=function(t,e,r){return j(this,t,e,!1,r)},l.prototype.writeDoubleLE=function(t,e,r){return U(this,t,e,!0,r)},l.prototype.writeDoubleBE=function(t,e,r){return U(this,t,e,!1,r)},l.prototype.copy=function(t,e,r,n){if(!l.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),0=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function T(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(e,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function N(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function B(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function C(t){return t!=t}}).call(this,t("buffer").Buffer)},{"base64-js":15,buffer:46,ieee754:99}],47:[function(t,e,r){e.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},{}],48:[function(t,e,r){var i=t("safe-buffer").Buffer,n=t("stream").Transform,o=t("string_decoder").StringDecoder;function a(t){n.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}t("inherits")(a,n),a.prototype.update=function(t,e,r){"string"==typeof t&&(t=i.from(t,e));var n=this._update(t);return this.hashMode?this:(r&&(n=this._toString(n,r)),n)},a.prototype.setAutoPadding=function(){},a.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},a.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},a.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},a.prototype._transform=function(t,e,r){var n;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){n=t}finally{r(n)}},a.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},a.prototype._finalOrDigest=function(t){var e=this.__final()||i.alloc(0);return t&&(e=this._toString(e,t,!0)),e},a.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new o(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var n=this._decoder.write(t);return r&&(n+=this._decoder.end()),n},e.exports=a},{inherits:100,"safe-buffer":147,stream:156,string_decoder:161}],49:[function(t,e,r){(function(t){function e(t){return Object.prototype.toString.call(t)}r.isArray=function(t){return Array.isArray?Array.isArray(t):"[object Array]"===e(t)},r.isBoolean=function(t){return"boolean"==typeof t},r.isNull=function(t){return null===t},r.isNullOrUndefined=function(t){return null==t},r.isNumber=function(t){return"number"==typeof t},r.isString=function(t){return"string"==typeof t},r.isSymbol=function(t){return"symbol"===_typeof(t)},r.isUndefined=function(t){return void 0===t},r.isRegExp=function(t){return"[object RegExp]"===e(t)},r.isObject=function(t){return"object"===_typeof(t)&&null!==t},r.isDate=function(t){return"[object Date]"===e(t)},r.isError=function(t){return"[object Error]"===e(t)||t instanceof Error},r.isFunction=function(t){return"function"==typeof t},r.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"===_typeof(t)||void 0===t},r.isBuffer=t.isBuffer}).call(this,{isBuffer:t("../../is-buffer/index.js")})},{"../../is-buffer/index.js":101}],50:[function(t,u,e){(function(o){var e=t("elliptic"),n=t("bn.js");u.exports=function(t){return new i(t)};var r={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function i(t){this.curveType=r[t],this.curveType||(this.curveType={name:t}),this.curve=new e.ec(this.curveType.name),this.keys=void 0}function a(t,e,r){Array.isArray(t)||(t=t.toArray());var n=new o(t);if(r&&n.lengthr)?e=("rmd160"===t?new s:c(t)).update(e).digest():e.length>>1];r=h.r28shl(r,o),n=h.r28shl(n,o),h.pc2(r,n,t.keys,i)}},s.prototype._update=function(t,e,r,n){var i=this._desState,o=h.readUInt32BE(t,e),a=h.readUInt32BE(t,e+4);h.ip(o,a,i.tmp,0),o=i.tmp[0],a=i.tmp[1],"encrypt"===this.type?this._encrypt(i,o,a,i.tmp,0):this._decrypt(i,o,a,i.tmp,0),o=i.tmp[0],a=i.tmp[1],h.writeUInt32BE(r,o,n),h.writeUInt32BE(r,a,n+4)},s.prototype._pad=function(t,e){for(var r=t.length-e,n=e;n>>0,o=l}h.rip(a,o,n,i)},s.prototype._decrypt=function(t,e,r,n,i){for(var o=r,a=e,u=t.keys.length-2;0<=u;u-=2){var s=t.keys[u],c=t.keys[u+1];h.expand(o,t.tmp,0),s^=t.tmp[0],c^=t.tmp[1];var f=h.substitute(s,c),l=o;o=(a^h.permute(f))>>>0,a=l}h.rip(o,a,n,i)}},{"../des":56,inherits:100,"minimalistic-assert":105}],60:[function(t,e,r){var o=t("minimalistic-assert"),n=t("inherits"),i=t("../des"),a=i.Cipher,u=i.DES;function s(t,e){o.equal(e.length,24,"Invalid key length");var r=e.slice(0,8),n=e.slice(8,16),i=e.slice(16,24);this.ciphers="encrypt"===t?[u.create({type:"encrypt",key:r}),u.create({type:"decrypt",key:n}),u.create({type:"encrypt",key:i})]:[u.create({type:"decrypt",key:i}),u.create({type:"encrypt",key:n}),u.create({type:"decrypt",key:r})]}function c(t){a.call(this,t);var e=new s(this.type,this.options.key);this._edeState=e}n(c,a),(e.exports=c).create=function(t){return new c(t)},c.prototype._update=function(t,e,r,n){var i=this._edeState;i.ciphers[0]._update(t,e,r,n),i.ciphers[1]._update(r,n,r,n),i.ciphers[2]._update(r,n,r,n)},c.prototype._pad=u.prototype._pad,c.prototype._unpad=u.prototype._unpad},{"../des":56,inherits:100,"minimalistic-assert":105}],61:[function(t,e,r){r.readUInt32BE=function(t,e){return(t[0+e]<<24|t[1+e]<<16|t[2+e]<<8|t[3+e])>>>0},r.writeUInt32BE=function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},r.ip=function(t,e,r,n){for(var i=0,o=0,a=6;0<=a;a-=2){for(var u=0;u<=24;u+=8)i<<=1,i|=e>>>u+a&1;for(u=0;u<=24;u+=8)i<<=1,i|=t>>>u+a&1}for(a=6;0<=a;a-=2){for(u=1;u<=25;u+=8)o<<=1,o|=e>>>u+a&1;for(u=1;u<=25;u+=8)o<<=1,o|=t>>>u+a&1}r[n+0]=i>>>0,r[n+1]=o>>>0},r.rip=function(t,e,r,n){for(var i=0,o=0,a=0;a<4;a++)for(var u=24;0<=u;u-=8)i<<=1,i|=e>>>u+a&1,i<<=1,i|=t>>>u+a&1;for(a=4;a<8;a++)for(u=24;0<=u;u-=8)o<<=1,o|=e>>>u+a&1,o<<=1,o|=t>>>u+a&1;r[n+0]=i>>>0,r[n+1]=o>>>0},r.pc1=function(t,e,r,n){for(var i=0,o=0,a=7;5<=a;a--){for(var u=0;u<=24;u+=8)i<<=1,i|=e>>u+a&1;for(u=0;u<=24;u+=8)i<<=1,i|=t>>u+a&1}for(u=0;u<=24;u+=8)i<<=1,i|=e>>u+a&1;for(a=1;a<=3;a++){for(u=0;u<=24;u+=8)o<<=1,o|=e>>u+a&1;for(u=0;u<=24;u+=8)o<<=1,o|=t>>u+a&1}for(u=0;u<=24;u+=8)o<<=1,o|=t>>u+a&1;r[n+0]=i>>>0,r[n+1]=o>>>0},r.r28shl=function(t,e){return t<>>28-e};var s=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];r.pc2=function(t,e,r,n){for(var i=0,o=0,a=s.length>>>1,u=0;u>>s[u]&1;for(u=a;u>>s[u]&1;r[n+0]=i>>>0,r[n+1]=o>>>0},r.expand=function(t,e,r){var n=0,i=0;n=(1&t)<<5|t>>>27;for(var o=23;15<=o;o-=4)n<<=6,n|=t>>>o&63;for(o=11;3<=o;o-=4)i|=t>>>o&63,i<<=6;i|=(31&t)<<1|t>>>31,e[r+0]=n>>>0,e[r+1]=i>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];r.substitute=function(t,e){for(var r=0,n=0;n<4;n++){r<<=4,r|=i[64*n+(t>>>18-6*n&63)]}for(n=0;n<4;n++){r<<=4,r|=i[256+64*n+(e>>>18-6*n&63)]}return r>>>0};var n=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];r.permute=function(t){for(var e=0,r=0;r>>n[r]&1;return e>>>0},r.padSplit=function(t,e,r){for(var n=t.toString(2);n.lengtht;)r.ishrn(1);if(r.isEven()&&r.iadd(s),r.testn(1)||r.iadd(c),e.cmp(c)){if(!e.cmp(f))for(;r.mod(l).cmp(h);)r.iadd(p)}else for(;r.mod(a).cmp(d);)r.iadd(p);if(b(n=r.shrn(1))&&b(r)&&v(n)&&v(r)&&u.test(n)&&u.test(r))return r}}},{"bn.js":"BN","miller-rabin":104,randombytes:130}],65:[function(t,e,r){e.exports={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}},{}],66:[function(t,e,r){var n=r;n.version=t("../package.json").version,n.utils=t("./elliptic/utils"),n.rand=t("brorand"),n.curve=t("./elliptic/curve"),n.curves=t("./elliptic/curves"),n.ec=t("./elliptic/ec"),n.eddsa=t("./elliptic/eddsa")},{"../package.json":81,"./elliptic/curve":69,"./elliptic/curves":72,"./elliptic/ec":73,"./elliptic/eddsa":76,"./elliptic/utils":80,brorand:16}],67:[function(t,e,r){var n=t("bn.js"),i=t("../../elliptic").utils,S=i.getNAF,M=i.getJSF,l=i.assert;function o(t,e){this.type=t,this.p=new n(e.p,16),this.red=e.prime?n.red(e.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=e.n&&new n(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4);var r=this.n&&this.p.div(this.n);!r||0>1]):a.mixedAdd(i[-s-1>>1].neg()):0>1]):a.add(i[-s-1>>1].neg())}return"affine"===t.type?a.toP():a},o.prototype._wnafMulAdd=function(t,e,r,n,i){for(var o=this._wnafT1,a=this._wnafT2,u=this._wnafT3,s=0,c=0;c>1]:k<0&&(x=a[b][-k-1>>1].neg()),g="affine"===x.type?g.mixedAdd(x):g.add(x))}}for(c=0;c=Math.ceil((t.bitLength()+1)/e.step)},a.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i":""},f.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},f.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(t),i=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=n.redAdd(e),a=o.redSub(r),u=n.redSub(e),s=i.redMul(a),c=o.redMul(u),f=i.redMul(u),l=a.redMul(o);return this.curve.point(s,c,l,f)},f.prototype._projDbl=function(){var t,e,r,n=this.x.redAdd(this.y).redSqr(),i=this.x.redSqr(),o=this.y.redSqr();if(this.curve.twisted){var a=(c=this.curve._mulA(i)).redAdd(o);if(this.zOne)t=n.redSub(i).redSub(o).redMul(a.redSub(this.curve.two)),e=a.redMul(c.redSub(o)),r=a.redSqr().redSub(a).redSub(a);else{var u=this.z.redSqr(),s=a.redSub(u).redISub(u);t=n.redSub(i).redISub(o).redMul(s),e=a.redMul(c.redSub(o)),r=a.redMul(s)}}else{var c=i.redAdd(o);u=this.curve._mulC(this.z).redSqr(),s=c.redSub(u).redSub(u);t=this.curve._mulC(n.redISub(c)).redMul(s),e=this.curve._mulC(c).redMul(i.redISub(o)),r=c.redMul(s)}return this.curve.point(t,e,r)},f.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},f.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),n=this.t.redMul(this.curve.dd).redMul(t.t),i=this.z.redMul(t.z.redAdd(t.z)),o=r.redSub(e),a=i.redSub(n),u=i.redAdd(n),s=r.redAdd(e),c=o.redMul(a),f=u.redMul(s),l=o.redMul(s),h=a.redMul(u);return this.curve.point(c,f,h,l)},f.prototype._projAdd=function(t){var e,r,n=this.z.redMul(t.z),i=n.redSqr(),o=this.x.redMul(t.x),a=this.y.redMul(t.y),u=this.curve.d.redMul(o).redMul(a),s=i.redSub(u),c=i.redAdd(u),f=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(a),l=n.redMul(s).redMul(f);return r=this.curve.twisted?(e=n.redMul(c).redMul(a.redSub(this.curve._mulA(o))),s.redMul(c)):(e=n.redMul(c).redMul(a.redSub(o)),this.curve._mulC(s).redMul(c)),this.curve.point(l,e,r)},f.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},f.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},f.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},f.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},f.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},f.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},f.prototype.getX=function(){return this.normalize(),this.x.fromRed()},f.prototype.getY=function(){return this.normalize(),this.y.fromRed()},f.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},f.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),0<=r.cmp(this.curve.p))return!1;if(e.redIAdd(n),0===this.x.cmp(e))return!0}},f.prototype.toP=f.prototype.normalize,f.prototype.mixedAdd=f.prototype.add},{"../../elliptic":66,"../curve":69,"bn.js":"BN",inherits:100}],69:[function(t,e,r){var n=r;n.base=t("./base"),n.short=t("./short"),n.mont=t("./mont"),n.edwards=t("./edwards")},{"./base":67,"./edwards":68,"./mont":70,"./short":71}],70:[function(t,e,r){var n=t("../curve"),i=t("bn.js"),o=t("inherits"),a=n.base,u=t("../../elliptic").utils;function s(t){a.call(this,"mont",t),this.a=new i(t.a,16).toRed(this.red),this.b=new i(t.b,16).toRed(this.red),this.i4=new i(4).toRed(this.red).redInvm(),this.two=new i(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function c(t,e,r){a.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new i(e,16),this.z=new i(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}o(s,a),(e.exports=s).prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),n=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e);return 0===n.redSqrt().redSqr().cmp(n)},o(c,a.BasePoint),s.prototype.decodePoint=function(t,e){return this.point(u.toArray(t,e),1)},s.prototype.point=function(t,e){return new c(this,t,e)},s.prototype.pointFromJSON=function(t){return c.fromJSON(this,t)},c.prototype.precompute=function(){},c.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},c.fromJSON=function(t,e){return new c(t,e[0],e[1]||t.one)},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},c.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),r=t.redSub(e),n=t.redMul(e),i=r.redMul(e.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,i)},c.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=t.x.redAdd(t.z),o=t.x.redSub(t.z).redMul(r),a=i.redMul(n),u=e.z.redMul(o.redAdd(a).redSqr()),s=e.x.redMul(o.redISub(a).redSqr());return this.curve.point(u,s)},c.prototype.mul=function(t){for(var e=t.clone(),r=this,n=this.curve.point(null,null),i=[];0!==e.cmpn(0);e.iushrn(1))i.push(e.andln(1));for(var o=i.length-1;0<=o;o--)0===i[o]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},c.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},c.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},c.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},{"../../elliptic":66,"../curve":69,"bn.js":"BN",inherits:100}],71:[function(t,e,r){var n=t("../curve"),i=t("../../elliptic"),_=t("bn.js"),o=t("inherits"),a=n.base,u=i.utils.assert;function s(t){a.call(this,"short",t),this.a=new _(t.a,16).toRed(this.red),this.b=new _(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(t,e,r,n){a.BasePoint.call(this,t,"affine"),this.inf=null===e&&null===r?(this.x=null,!(this.y=null)):(this.x=new _(e,16),this.y=new _(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),!1)}function f(t,e,r,n){a.BasePoint.call(this,t,"jacobian"),this.z=null===e&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,new _(0)):(this.x=new _(e,16),this.y=new _(r,16),new _(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(s,a),(e.exports=s).prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,r;if(t.beta)e=new _(t.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);e=(e=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(t.lambda)r=new _(t.lambda,16);else{var i=this._getEndoRoots(this.n);0===this.g.mul(i[0]).x.cmp(this.g.x.redMul(e))?r=i[0]:(r=i[1],u(0===this.g.mul(r).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:r,basis:t.basis?t.basis.map(function(t){return{a:new _(t.a,16),b:new _(t.b,16)}}):this._getEndoBasis(r)}}},s.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:_.mont(t),r=new _(2).toRed(e).redInvm(),n=r.redNeg(),i=new _(3).toRed(e).redNeg().redSqrt().redMul(r);return[n.redAdd(i).fromRed(),n.redSub(i).fromRed()]},s.prototype._getEndoBasis=function(t){for(var e,r,n,i,o,a,u,s,c,f=this.n.ushrn(Math.floor(this.n.bitLength()/2)),l=t,h=this.n.clone(),d=new _(1),p=new _(0),y=new _(0),b=new _(1),v=0;0!==l.cmpn(0);){var m=h.div(l);s=h.sub(m.mul(l)),c=y.sub(m.mul(d));var g=b.sub(m.mul(p));if(!n&&s.cmp(f)<0)e=u.neg(),r=d,n=s.neg(),i=c;else if(n&&2==++v)break;h=l,l=u=s,y=d,d=c,b=p,p=g}o=s.neg(),a=c;var w=n.sqr().add(i.sqr());return 0<=o.sqr().add(a.sqr()).cmp(w)&&(o=e,a=r),n.negative&&(n=n.neg(),i=i.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:n,b:i},{a:o,b:a}]},s.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],i=n.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),a=i.mul(r.a),u=o.mul(n.a),s=i.mul(r.b),c=o.mul(n.b);return{k1:t.sub(a).sub(u),k2:s.add(c).neg()}},s.prototype.pointFromX=function(t,e){(t=new _(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var i=n.fromRed().isOdd();return(e&&!i||!e&&i)&&(n=n.redNeg()),this.point(t,n)},s.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},s.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},c.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(t){return t=new _(t,16),this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},c.prototype.mulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},c.prototype.jmulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},c.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},c.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(f,a.BasePoint),s.prototype.jpoint=function(t,e,r){return new f(this,t,e,r)},f.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)},f.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},f.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),i=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),a=t.y.redMul(r.redMul(this.z)),u=n.redSub(i),s=o.redSub(a);if(0===u.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=u.redSqr(),f=c.redMul(u),l=n.redMul(c),h=s.redSqr().redIAdd(f).redISub(l).redISub(l),d=s.redMul(l.redISub(h)).redISub(o.redMul(f)),p=this.z.redMul(t.z).redMul(u);return this.curve.jpoint(h,d,p)},f.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),a=r.redSub(n),u=i.redSub(o);if(0===a.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var s=a.redSqr(),c=s.redMul(a),f=r.redMul(s),l=u.redSqr().redIAdd(c).redISub(f).redISub(f),h=u.redMul(f.redISub(l)).redISub(i.redMul(c)),d=this.z.redMul(a);return this.curve.jpoint(l,h,d)},f.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var e=this,r=0;r":""},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},{"../../elliptic":66,"../curve":69,"bn.js":"BN",inherits:100}],72:[function(t,e,r){var n,i=r,o=t("hash.js"),a=t("../elliptic"),u=a.utils.assert;function s(t){"short"===t.type?this.curve=new a.curve.short(t):"edwards"===t.type?this.curve=new a.curve.edwards(t):this.curve=new a.curve.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,u(this.g.validate(),"Invalid curve"),u(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,r){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var t=new s(r);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:t}),t}})}i.PresetCurve=s,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=t("./precomputed/secp256k1")}catch(t){n=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},{"../elliptic":66,"./precomputed/secp256k1":79,"hash.js":85}],73:[function(t,e,r){var b=t("bn.js"),v=t("hmac-drbg"),o=t("../../elliptic"),d=o.utils.assert,n=t("./key"),m=t("./signature");function i(t){if(!(this instanceof i))return new i(t);"string"==typeof t&&(d(o.curves.hasOwnProperty(t),"Unknown curve "+t),t=o.curves[t]),t instanceof o.curves.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}(e.exports=i).prototype.keyPair=function(t){return new n(this,t)},i.prototype.keyFromPrivate=function(t,e){return n.fromPrivate(this,t,e)},i.prototype.keyFromPublic=function(t,e){return n.fromPublic(this,t,e)},i.prototype.genKeyPair=function(t){t||(t={});for(var e=new v({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||o.rand(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new b(2));;){var i=new b(e.generate(r));if(!(0>1;if(0<=a.cmp(this.curve.p.umod(this.curve.n))&&c)throw new Error("Unable to find sencond key candinate");a=c?this.curve.pointFromX(a.add(this.curve.n),s):this.curve.pointFromX(a,s);var f=e.r.invm(i),l=i.sub(o).mul(f).umod(i),h=u.mul(f).umod(i);return this.g.mulAdd(l,a,h)},i.prototype.getKeyRecoveryParam=function(t,e,r,n){if(null!==(e=new m(e,n)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")}},{"../../elliptic":66,"./key":74,"./signature":75,"bn.js":"BN","hmac-drbg":97}],74:[function(t,e,r){var n=t("bn.js"),i=t("../../elliptic").utils.assert;function o(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}(e.exports=o).fromPublic=function(t,e,r){return e instanceof o?e:new o(t,{pub:e,pubEnc:r})},o.fromPrivate=function(t,e,r){return e instanceof o?e:new o(t,{priv:e,privEnc:r})},o.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(t,e){return"string"==typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},o.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(t,e){this.priv=new n(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?i(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||i(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},o.prototype.derive=function(t){return t.mul(this.priv).getX()},o.prototype.sign=function(t,e,r){return this.ec.sign(t,this,e,r)},o.prototype.verify=function(t,e){return this.ec.verify(t,e,this)},o.prototype.inspect=function(){return""}},{"../../elliptic":66,"bn.js":"BN"}],75:[function(t,e,r){var u=t("bn.js"),s=t("../../elliptic").utils,n=s.assert;function i(t,e){if(t instanceof i)return t;this._importDER(t,e)||(n(t.r&&t.s,"Signature without r or s"),this.r=new u(t.r,16),this.s=new u(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}function c(){this.place=0}function f(t,e){var r=t[e.place++];if(!(128&r))return r;for(var n=15&r,i=0,o=0,a=e.place;o>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}(e.exports=i).prototype._importDER=function(t,e){t=s.toArray(t,e);var r=new c;if(48!==t[r.place++])return!1;if(f(t,r)+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var n=f(t,r),i=t.slice(r.place,n+r.place);if(r.place+=n,2!==t[r.place++])return!1;var o=f(t,r);if(t.length!==o+r.place)return!1;var a=t.slice(r.place,o+r.place);return 0===i[0]&&128&i[1]&&(i=i.slice(1)),0===a[0]&&128&a[1]&&(a=a.slice(1)),this.r=new u(i),this.s=new u(a),!(this.recoveryParam=null)},i.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=a(e),r=a(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];l(n,e.length),(n=n.concat(e)).push(2),l(n,r.length);var i=n.concat(r),o=[48];return l(o,i.length),o=o.concat(i),s.encode(o,t)}},{"../../elliptic":66,"bn.js":"BN"}],76:[function(t,e,r){var n=t("hash.js"),i=t("../../elliptic"),o=i.utils,a=o.assert,s=o.parseBytes,u=t("./key"),c=t("./signature");function f(t){if(a("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof f))return new f(t);t=i.curves[t].curve;this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=n.sha512}(e.exports=f).prototype.sign=function(t,e){t=s(t);var r=this.keyFromSecret(e),n=this.hashInt(r.messagePrefix(),t),i=this.g.mul(n),o=this.encodePoint(i),a=this.hashInt(o,r.pubBytes(),t).mul(r.priv()),u=n.add(a).umod(this.curve.n);return this.makeSignature({R:i,S:u,Rencoded:o})},f.prototype.verify=function(t,e,r){t=s(t),e=this.makeSignature(e);var n=this.keyFromPublic(r),i=this.hashInt(e.Rencoded(),n.pubBytes(),t),o=this.g.mul(e.S());return e.R().add(n.pub().mul(i)).eq(o)},f.prototype.hashInt=function(){for(var t=this.hash(),e=0;e>1)-1>1)-a:a,i.isubn(o)}else o=0;r.push(o);for(var u=0!==i.cmpn(0)&&0===i.andln(n-1)?e+1:1,s=1;si){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');u.name="MaxListenersExceededWarning",u.emitter=t,u.type=e,u.count=a.length,"object"===("undefined"==typeof console?"undefined":_typeof(console))&&console.warn&&console.warn("%s: %s",u.name,u.message)}}else a=o[e]=r,++t._eventsCount;return t}function h(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e=this._blockSize;){for(var i=this._blockOffset;i=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=i.join32(t,0,t.length-r,this.endian);for(var n=0;n>>24&255,n[i++]=t>>>16&255,n[i++]=t>>>8&255,n[i++]=255&t}else for(n[i++]=255&t,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;othis.blockSize&&(t=(new this.Hash).update(t).digest()),i(t.length<=this.blockSize);for(var e=t.length;e>>3},r.g1_256=function(t){return n(t,17)^n(t,19)^t>>>10}},{"../utils":96}],96:[function(t,e,r){var c=t("minimalistic-assert"),n=t("inherits");function o(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function i(t){return 1===t.length?"0"+t:t}function a(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}r.inherits=n,r.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r,n,i=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),a=0;a>6|192:(n=a,55296!=(64512&(r=t).charCodeAt(n))||n<0||n+1>=r.length||56320!=(64512&r.charCodeAt(n+1))?i[o++]=u>>12|224:(u=65536+((1023&u)<<10)+(1023&t.charCodeAt(++a)),i[o++]=u>>18|240,i[o++]=u>>12&63|128),u>>6&63|128),63&u|128)}else for(a=0;a>>0}return o},r.split32=function(t,e){for(var r=new Array(4*t.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},r.rotr32=function(t,e){return t>>>e|t<<32-e},r.rotl32=function(t,e){return t<>>32-e},r.sum32=function(t,e){return t+e>>>0},r.sum32_3=function(t,e,r){return t+e+r>>>0},r.sum32_4=function(t,e,r,n){return t+e+r+n>>>0},r.sum32_5=function(t,e,r,n,i){return t+e+r+n+i>>>0},r.sum64=function(t,e,r,n){var i=t[e],o=n+t[e+1]>>>0,a=(o>>0,t[e+1]=o},r.sum64_hi=function(t,e,r,n){return(e+n>>>0>>0},r.sum64_lo=function(t,e,r,n){return e+n>>>0},r.sum64_4_hi=function(t,e,r,n,i,o,a,u){var s=0,c=e;return s+=(c=c+n>>>0)>>0)>>0)>>0},r.sum64_4_lo=function(t,e,r,n,i,o,a,u){return e+n+o+u>>>0},r.sum64_5_hi=function(t,e,r,n,i,o,a,u,s,c){var f=0,l=e;return f+=(l=l+n>>>0)>>0)>>0)>>0)>>0},r.sum64_5_lo=function(t,e,r,n,i,o,a,u,s,c){return e+n+o+u+c>>>0},r.rotr64_hi=function(t,e,r){return(e<<32-r|t>>>r)>>>0},r.rotr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0},r.shr64_hi=function(t,e,r){return t>>>r},r.shr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0}},{inherits:100,"minimalistic-assert":105}],97:[function(t,e,r){var n=t("hash.js"),a=t("minimalistic-crypto-utils"),i=t("minimalistic-assert");function o(t){if(!(this instanceof o))return new o(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=a.toArray(t.entropy,t.entropyEnc||"hex"),r=a.toArray(t.nonce,t.nonceEnc||"hex"),n=a.toArray(t.pers,t.persEnc||"hex");i(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}(e.exports=o).prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},o.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=r,r=e,e=null),r&&(r=a.toArray(r,n||"hex"),this._update(r));for(var i=[];i.length>1,f=-7,l=r?i-1:0,h=r?-1:1,d=t[e+l];for(l+=h,o=d&(1<<-f)-1,d>>=-f,f+=u;0>=-f,f+=n;0>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,p=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(u=isNaN(e)?1:0,a=f):(a=Math.floor(Math.log(e)/Math.LN2),e*(s=Math.pow(2,-a))<1&&(a--,s*=2),2<=(e+=1<=a+l?h/s:h*Math.pow(2,1-l))*s&&(a++,s/=2),f<=a+l?(u=0,a=f):1<=a+l?(u=(e*s-1)*Math.pow(2,i),a+=l):(u=e*Math.pow(2,l-1)*Math.pow(2,i),a=0));8<=i;t[r+d]=255&u,d+=p,u/=256,i-=8);for(a=a<>>32-e}function c(t,e,r,n,i,o,a){return s(t+(e&r|~e&n)+i+o|0,a)+e|0}function f(t,e,r,n,i,o,a){return s(t+(e&n|r&~n)+i+o|0,a)+e|0}function l(t,e,r,n,i,o,a){return s(t+(e^r^n)+i+o|0,a)+e|0}function h(t,e,r,n,i,o,a){return s(t+(r^(e|~n))+i+o|0,a)+e|0}n(u,i),u.prototype._update=function(){for(var t=a,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,n=this._b,i=this._c,o=this._d;n=h(n=h(n=h(n=h(n=l(n=l(n=l(n=l(n=f(n=f(n=f(n=f(n=c(n=c(n=c(n=c(n,i=c(i,o=c(o,r=c(r,n,i,o,t[0],3614090360,7),n,i,t[1],3905402710,12),r,n,t[2],606105819,17),o,r,t[3],3250441966,22),i=c(i,o=c(o,r=c(r,n,i,o,t[4],4118548399,7),n,i,t[5],1200080426,12),r,n,t[6],2821735955,17),o,r,t[7],4249261313,22),i=c(i,o=c(o,r=c(r,n,i,o,t[8],1770035416,7),n,i,t[9],2336552879,12),r,n,t[10],4294925233,17),o,r,t[11],2304563134,22),i=c(i,o=c(o,r=c(r,n,i,o,t[12],1804603682,7),n,i,t[13],4254626195,12),r,n,t[14],2792965006,17),o,r,t[15],1236535329,22),i=f(i,o=f(o,r=f(r,n,i,o,t[1],4129170786,5),n,i,t[6],3225465664,9),r,n,t[11],643717713,14),o,r,t[0],3921069994,20),i=f(i,o=f(o,r=f(r,n,i,o,t[5],3593408605,5),n,i,t[10],38016083,9),r,n,t[15],3634488961,14),o,r,t[4],3889429448,20),i=f(i,o=f(o,r=f(r,n,i,o,t[9],568446438,5),n,i,t[14],3275163606,9),r,n,t[3],4107603335,14),o,r,t[8],1163531501,20),i=f(i,o=f(o,r=f(r,n,i,o,t[13],2850285829,5),n,i,t[2],4243563512,9),r,n,t[7],1735328473,14),o,r,t[12],2368359562,20),i=l(i,o=l(o,r=l(r,n,i,o,t[5],4294588738,4),n,i,t[8],2272392833,11),r,n,t[11],1839030562,16),o,r,t[14],4259657740,23),i=l(i,o=l(o,r=l(r,n,i,o,t[1],2763975236,4),n,i,t[4],1272893353,11),r,n,t[7],4139469664,16),o,r,t[10],3200236656,23),i=l(i,o=l(o,r=l(r,n,i,o,t[13],681279174,4),n,i,t[0],3936430074,11),r,n,t[3],3572445317,16),o,r,t[6],76029189,23),i=l(i,o=l(o,r=l(r,n,i,o,t[9],3654602809,4),n,i,t[12],3873151461,11),r,n,t[15],530742520,16),o,r,t[2],3299628645,23),i=h(i,o=h(o,r=h(r,n,i,o,t[0],4096336452,6),n,i,t[7],1126891415,10),r,n,t[14],2878612391,15),o,r,t[5],4237533241,21),i=h(i,o=h(o,r=h(r,n,i,o,t[12],1700485571,6),n,i,t[3],2399980690,10),r,n,t[10],4293915773,15),o,r,t[1],2240044497,21),i=h(i,o=h(o,r=h(r,n,i,o,t[8],1873313359,6),n,i,t[15],4264355552,10),r,n,t[6],2734768916,15),o,r,t[13],1309151649,21),i=h(i,o=h(o,r=h(r,n,i,o,t[4],4149444226,6),n,i,t[11],3174756917,10),r,n,t[2],718787259,15),o,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+o|0},u.prototype._digest=function(){this._block[this._blockOffset++]=128,56>8,a=255&i;o?r.push(o,a):r.push(a)}return r},n.zero2=i,n.toHex=o,n.encode=function(t,e){return"hex"===e?o(t):t}},{}],107:[function(t,e,r){r.endianness=function(){return"LE"},r.hostname=function(){return"undefined"!=typeof location?location.hostname:""},r.loadavg=function(){return[]},r.uptime=function(){return 0},r.freemem=function(){return Number.MAX_VALUE},r.totalmem=function(){return Number.MAX_VALUE},r.cpus=function(){return[]},r.type=function(){return"Browser"},r.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},r.networkInterfaces=r.getNetworkInterfaces=function(){return{}},r.arch=function(){return"javascript"},r.platform=function(){return"browser"},r.tmpdir=r.tmpDir=function(){return"/tmp"},r.EOL="\n",r.homedir=function(){return"/"}},{}],108:[function(t,e,r){e.exports={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}},{}],109:[function(t,e,r){var n=t("asn1.js");r.certificate=t("./certificate");var i=n.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});r.RSAPrivateKey=i;var o=n.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});r.RSAPublicKey=o;var a=n.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(u),this.key("subjectPublicKey").bitstr())});r.PublicKey=a;var u=n.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),s=n.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(u),this.key("subjectPrivateKey").octstr())});r.PrivateKey=s;var c=n.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});r.EncryptedPrivateKey=c;var f=n.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});r.DSAPrivateKey=f,r.DSAparam=n.define("DSAparam",function(){this.int()});var l=n.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(h),this.key("publicKey").optional().explicit(1).bitstr())});r.ECPrivateKey=l;var h=n.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});r.signature=n.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())})},{"./certificate":110,"asn1.js":1}],110:[function(t,e,r){var n=t("asn1.js"),i=n.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),o=n.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),a=n.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),u=n.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(a),this.key("subjectPublicKey").bitstr())}),s=n.define("RelativeDistinguishedName",function(){this.setof(o)}),c=n.define("RDNSequence",function(){this.seqof(s)}),f=n.define("Name",function(){this.choice({rdnSequence:this.use(c)})}),l=n.define("Validity",function(){this.seq().obj(this.key("notBefore").use(i),this.key("notAfter").use(i))}),h=n.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),d=n.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(a),this.key("issuer").use(f),this.key("validity").use(l),this.key("subject").use(f),this.key("subjectPublicKeyInfo").use(u),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(h).optional())}),p=n.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(d),this.key("signatureAlgorithm").use(a),this.key("signatureValue").bitstr())});e.exports=p},{"asn1.js":1}],111:[function(t,e,r){var h=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m,d=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,p=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m,y=t("evp_bytestokey"),b=t("browserify-aes"),v=t("safe-buffer").Buffer;e.exports=function(t,e){var r,n=t.toString(),i=n.match(h);if(i){var o="aes"+i[1],a=v.from(i[2],"hex"),u=v.from(i[3].replace(/[\r\n]/g,""),"base64"),s=y(e,a.slice(0,8),parseInt(i[1],10)).key,c=[],f=b.createDecipheriv(o,s,a);c.push(f.update(u)),c.push(f.final()),r=v.concat(c)}else{var l=n.match(p);r=new v(l[2].replace(/[\r\n]/g,""),"base64")}return{tag:n.match(d)[1],data:r}}},{"browserify-aes":20,evp_bytestokey:83,"safe-buffer":147}],112:[function(t,e,r){var m=t("./asn1"),g=t("./aesid.json"),w=t("./fixProc"),_=t("browserify-aes"),A=t("pbkdf2"),x=t("safe-buffer").Buffer;function n(t){var e;"object"!==_typeof(t)||x.isBuffer(t)||(e=t.passphrase,t=t.key),"string"==typeof t&&(t=x.from(t));var r,n,i,o,a,u,s,c,f,l,h,d,p,y=w(t,e),b=y.tag,v=y.data;switch(b){case"CERTIFICATE":n=m.certificate.decode(v,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(n||(n=m.PublicKey.decode(v,"der")),r=n.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return m.RSAPublicKey.decode(n.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return n.subjectPrivateKey=n.subjectPublicKey,{type:"ec",data:n};case"1.2.840.10040.4.1":return n.algorithm.params.pub_key=m.DSAparam.decode(n.subjectPublicKey.data,"der"),{type:"dsa",data:n.algorithm.params};default:throw new Error("unknown key id "+r)}throw new Error("unknown key type "+b);case"ENCRYPTED PRIVATE KEY":v=m.EncryptedPrivateKey.decode(v,"der"),o=e,a=(i=v).algorithm.decrypt.kde.kdeparams.salt,u=parseInt(i.algorithm.decrypt.kde.kdeparams.iters.toString(),10),s=g[i.algorithm.decrypt.cipher.algo.join(".")],c=i.algorithm.decrypt.cipher.iv,f=i.subjectPrivateKey,l=parseInt(s.split("-")[1],10)/8,h=A.pbkdf2Sync(o,a,u,l,"sha1"),d=_.createDecipheriv(s,h,c),(p=[]).push(d.update(f)),p.push(d.final()),v=x.concat(p);case"PRIVATE KEY":switch(r=(n=m.PrivateKey.decode(v,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return m.RSAPrivateKey.decode(n.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:n.algorithm.curve,privateKey:m.ECPrivateKey.decode(n.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return n.algorithm.params.priv_key=m.DSAparam.decode(n.subjectPrivateKey,"der"),{type:"dsa",params:n.algorithm.params};default:throw new Error("unknown key id "+r)}throw new Error("unknown key type "+b);case"RSA PUBLIC KEY":return m.RSAPublicKey.decode(v,"der");case"RSA PRIVATE KEY":return m.RSAPrivateKey.decode(v,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:m.DSAPrivateKey.decode(v,"der")};case"EC PRIVATE KEY":return{curve:(v=m.ECPrivateKey.decode(v,"der")).parameters.value,privateKey:v.privateKey};default:throw new Error("unknown key type "+b)}}(e.exports=n).signature=m.signature},{"./aesid.json":108,"./asn1":109,"./fixProc":111,"browserify-aes":20,pbkdf2:113,"safe-buffer":147}],113:[function(t,e,r){r.pbkdf2=t("./lib/async"),r.pbkdf2Sync=t("./lib/sync")},{"./lib/async":114,"./lib/sync":117}],114:[function(t,e,r){(function(c,f){var l,h=t("./precondition"),d=t("./default-encoding"),p=t("./sync"),y=t("safe-buffer").Buffer,b=f.crypto&&f.crypto.subtle,v={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},m=[];function g(t,e,r,n,i){return b.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then(function(t){return b.deriveBits({name:"PBKDF2",salt:e,iterations:r,hash:{name:i}},t,n<<3)}).then(function(t){return y.from(t)})}e.exports=function(e,r,n,i,o,a){"function"==typeof o&&(a=o,o=void 0);var t,u,s=v[(o=o||"sha1").toLowerCase()];if(!s||"function"!=typeof f.Promise)return c.nextTick(function(){var t;try{t=p(e,r,n,i,o)}catch(t){return a(t)}a(null,t)});if(h(e,r,n,i),"function"!=typeof a)throw new Error("No callback provided to pbkdf2");y.isBuffer(e)||(e=y.from(e,d)),y.isBuffer(r)||(r=y.from(r,d)),t=function(t){if(f.process&&!f.process.browser)return Promise.resolve(!1);if(!b||!b.importKey||!b.deriveBits)return Promise.resolve(!1);if(void 0!==m[t])return m[t];var e=g(l=l||y.alloc(8),l,10,128,t).then(function(){return!0}).catch(function(){return!1});return m[t]=e}(s).then(function(t){return t?g(e,r,n,i,s):p(e,r,n,i,o)}),u=a,t.then(function(t){c.nextTick(function(){u(null,t)})},function(t){c.nextTick(function(){u(t)})})}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./default-encoding":115,"./precondition":116,"./sync":117,_process:119,"safe-buffer":147}],115:[function(t,r,e){(function(t){var e;t.browser?e="utf-8":e=6<=parseInt(t.version.split(".")[0].slice(1),10)?"utf-8":"binary";r.exports=e}).call(this,t("_process"))},{_process:119}],116:[function(t,e,r){(function(r){var i=Math.pow(2,30)-1;function o(t,e){if("string"!=typeof t&&!r.isBuffer(t))throw new TypeError(e+" must be a buffer or string")}e.exports=function(t,e,r,n){if(o(t,"Password"),o(e,"Salt"),"number"!=typeof r)throw new TypeError("Iterations not a number");if(r<0)throw new TypeError("Bad iterations");if("number"!=typeof n)throw new TypeError("Key length not a number");if(n<0||io?e=i(e):e.lengtha||0<=new c(e).cmp(o.modulus))throw new Error("decryption error");i=r?p(new c(e),o):h(e,o);var u=y.alloc(a-i.length);if(i=y.concat([u,i],a),4===n)return function(t,e){var r=t.modulus.byteLength(),n=d("sha1").update(y.alloc(0)).digest(),i=n.length;if(0!==e[0])throw new Error("decryption error");var o=e.slice(1,i+1),a=e.slice(i+1),u=l(o,f(a,i)),s=l(a,f(u,r-i-1));if(function(t,e){t=y.from(t),e=y.from(e);var r=0,n=t.length;t.length!==e.length&&(r++,n=Math.min(t.length,e.length));var i=-1;for(;++i=e.length){o++;break}var a=e.slice(2,i-1);("0002"!==n.toString("hex")&&!r||"0001"!==n.toString("hex")&&r)&&o++;a.length<8&&o++;if(o)throw new Error("decryption error");return e.slice(i)}(0,i,r);if(3===n)return i;throw new Error("unknown padding")}},{"./mgf":121,"./withPublic":124,"./xor":125,"bn.js":"BN","browserify-rsa":38,"create-hash":51,"parse-asn1":112,"safe-buffer":147}],123:[function(t,e,r){var a=t("parse-asn1"),h=t("randombytes"),d=t("create-hash"),p=t("./mgf"),y=t("./xor"),b=t("bn.js"),u=t("./withPublic"),s=t("browserify-rsa"),v=t("safe-buffer").Buffer;e.exports=function(t,e,r){var n;n=t.padding?t.padding:r?1:4;var i,o=a(t);if(4===n)i=function(t,e){var r=t.modulus.byteLength(),n=e.length,i=d("sha1").update(v.alloc(0)).digest(),o=i.length,a=2*o;if(r-a-2= 0x80 (not a basic code point)","invalid-input":"Invalid input"},h=m-g,k=Math.floor,S=String.fromCharCode;function M(t){throw new RangeError(l[t])}function d(t,e){for(var r=t.length,n=[];r--;)n[r]=e(t[r]);return n}function p(t,e){var r=t.split("@"),n="";return 1>>10&1023|55296),t=56320|1023&t),e+=S(t)}).join("")}function U(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function I(t,e,r){var n=0;for(t=r?k(t/u):t>>1,t+=k(t/e);h*w>>1k((v-p)/a))&&M("overflow"),p+=s*a,!(s<(c=u<=b?g:b+w<=u?w:u-b));u+=m)a>k(v/(f=m-c))&&M("overflow"),a*=f;b=I(p-o,e=h.length+1,0==o),k(p/e)>v-y&&M("overflow"),y+=k(p/e),p%=e,h.splice(p++,0,y)}return j(h)}function b(t){var e,r,n,i,o,a,u,s,c,f,l,h,d,p,y,b=[];for(h=(t=E(t)).length,e=A,o=_,a=r=0;ak((v-r)/(d=n+1))&&M("overflow"),r+=(u-e)*d,e=u,a=0;av&&M("overflow"),l==e){for(s=r,c=m;!(s<(f=c<=o?g:o+w<=c?w:c-o));c+=m)y=s-f,p=m-f,b.push(S(U(f+y%p,0))),s=k(y/p);b.push(S(U(s,0))),o=I(r,d,n==i),r=0,++n}++r,++e}return b.join("")}if(i={version:"1.4.1",ucs2:{decode:E,encode:j},decode:y,encode:b,toASCII:function(t){return p(t,function(t){return c.test(t)?"xn--"+b(t):t})},toUnicode:function(t){return p(t,function(t){return s.test(t)?y(t.slice(4).toLowerCase()):t})}},"function"==typeof define&&"object"==_typeof(define.amd)&&define.amd)define("punycode",function(){return i});else if(e&&r)if(T.exports==e)r.exports=i;else for(o in i)i.hasOwnProperty(o)&&(e[o]=i[o]);else t.punycode=i}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],127:[function(t,e,r){e.exports=function(t,e,r,n){e=e||"&",r=r||"=";var i={};if("string"!=typeof t||0===t.length)return i;var o=/\+/g;t=t.split(e);var a=1e3;n&&"number"==typeof n.maxKeys&&(a=n.maxKeys);var u,s,c=t.length;0e.highWaterMark&&(e.highWaterMark=(y<=(r=t)?r=y:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),r)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0));var r}function A(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(w("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?v.nextTick(x,t):x(t))}function x(t){w("emit readable"),t.emit("readable"),j(t)}function k(t,e){e.readingMore||(e.readingMore=!0,v.nextTick(S,t,e))}function S(t,e){for(var r=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):r=function(t,e,r){var n;to.length?o.length:t;if(a===o.length?i+=o:i+=o.slice(0,t),0===(t-=a)){a===o.length?(++n,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r).data=o.slice(a);break}++n}return e.length-=n,i}(t,e):function(t,e){var r=c.allocUnsafe(t),n=e.head,i=1;n.data.copy(r),t-=n.data.length;for(;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(r,r.length-t,0,a),0===(t-=a)){a===o.length?(++i,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n).data=o.slice(a);break}++i}return e.length-=i,r}(t,e);return n}(t,e.buffer,e.decoder),r);var r}function I(t){var e=t._readableState;if(0=e.highWaterMark||e.ended))return w("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?I(this):A(this),null;if(0===(t=_(t,e))&&e.ended)return 0===e.length&&I(this),null;var n,i=e.needReadable;return w("need readable",i),(0===e.length||e.length-t>>0),o=this.head,a=0;o;)e=o.data,r=i,n=a,e.copy(r,n),a+=o.data.length,o=o.next;return i},t}(),n&&n.inspect&&n.inspect.custom&&(e.exports.prototype[n.inspect.custom]=function(){var t=n.inspect({length:this.length});return this.constructor.name+" "+t})},{"safe-buffer":147,util:17}],139:[function(t,e,r){var o=t("process-nextick-args");function a(t,e){t.emit("error",e)}e.exports={destroy:function(t,e){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?e?e(t):!t||this._writableState&&this._writableState.errorEmitted||o.nextTick(a,this,t):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?(o.nextTick(a,r,t),r._writableState&&(r._writableState.errorEmitted=!0)):e&&e(t)})),this},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},{"process-nextick-args":118}],140:[function(t,e,r){e.exports=t("events").EventEmitter},{events:82}],141:[function(t,e,r){var n=t("safe-buffer").Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=s,this.end=c,e=4;break;case"utf8":this.fillLast=u,e=4;break;case"base64":this.text=f,this.end=l,e=3;break;default:return this.write=h,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function a(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function u(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(1>>32-e}function k(t,e,r,n,i,o,a,u){return x(t+(e^r^n)+o+a|0,u)+i|0}function S(t,e,r,n,i,o,a,u){return x(t+(e&r|~e&n)+o+a|0,u)+i|0}function M(t,e,r,n,i,o,a,u){return x(t+((e|~r)^n)+o+a|0,u)+i|0}function E(t,e,r,n,i,o,a,u){return x(t+(e&n|r&~n)+o+a|0,u)+i|0}function j(t,e,r,n,i,o,a,u){return x(t+(e^(r|~n))+o+a|0,u)+i|0}i(a,o),a.prototype._update=function(){for(var t=b,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,n=0|this._b,i=0|this._c,o=0|this._d,a=0|this._e,u=0|this._a,s=0|this._b,c=0|this._c,f=0|this._d,l=0|this._e,h=0;h<80;h+=1){var d,p;p=h<16?(d=k(r,n,i,o,a,t[v[h]],_[0],g[h]),j(u,s,c,f,l,t[m[h]],A[0],w[h])):h<32?(d=S(r,n,i,o,a,t[v[h]],_[1],g[h]),E(u,s,c,f,l,t[m[h]],A[1],w[h])):h<48?(d=M(r,n,i,o,a,t[v[h]],_[2],g[h]),M(u,s,c,f,l,t[m[h]],A[2],w[h])):h<64?(d=E(r,n,i,o,a,t[v[h]],_[3],g[h]),S(u,s,c,f,l,t[m[h]],A[3],w[h])):(d=j(r,n,i,o,a,t[v[h]],_[4],g[h]),k(u,s,c,f,l,t[m[h]],A[4],w[h])),r=a,a=o,o=x(i,10),i=n,n=d,u=l,l=f,f=x(c,10),c=s,s=p}var y=this._b+i+f|0;this._b=this._c+o+l|0,this._c=this._d+a+u|0,this._d=this._e+r+s|0,this._e=this._a+n+c|0,this._a=y},a.prototype._digest=function(){this._block[this._blockOffset++]=128,56=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(4294967295&r)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},n.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=n},{"safe-buffer":147}],149:[function(t,e,r){(r=e.exports=function(t){t=t.toLowerCase();var e=r[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e}).sha=t("./sha"),r.sha1=t("./sha1"),r.sha224=t("./sha224"),r.sha256=t("./sha256"),r.sha384=t("./sha384"),r.sha512=t("./sha512")},{"./sha":150,"./sha1":151,"./sha224":152,"./sha256":153,"./sha384":154,"./sha512":155}],150:[function(t,e,r){var n=t("inherits"),i=t("./hash"),o=t("safe-buffer").Buffer,v=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function u(){this.init(),this._w=a,i.call(this,64,56)}n(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e,r,n,i,o,a,u=this._w,s=0|this._a,c=0|this._b,f=0|this._c,l=0|this._d,h=0|this._e,d=0;d<16;++d)u[d]=t.readInt32BE(4*d);for(;d<80;++d)u[d]=u[d-3]^u[d-8]^u[d-14]^u[d-16];for(var p=0;p<80;++p){var y=~~(p/20),b=0|((a=s)<<5|a>>>27)+(n=c,i=f,o=l,0===(r=y)?n&i|~n&o:2===r?n&i|n&o|i&o:n^i^o)+h+u[p]+v[y];h=l,l=f,f=(e=c)<<30|e>>>2,c=s,s=b}this._a=s+this._a|0,this._b=c+this._b|0,this._c=f+this._c|0,this._d=l+this._d|0,this._e=h+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},e.exports=u},{"./hash":148,inherits:100,"safe-buffer":147}],151:[function(t,e,r){var n=t("inherits"),i=t("./hash"),o=t("safe-buffer").Buffer,m=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function u(){this.init(),this._w=a,i.call(this,64,56)}n(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(t){for(var e,r,n,i,o,a,u,s=this._w,c=0|this._a,f=0|this._b,l=0|this._c,h=0|this._d,d=0|this._e,p=0;p<16;++p)s[p]=t.readInt32BE(4*p);for(;p<80;++p)s[p]=(e=s[p-3]^s[p-8]^s[p-14]^s[p-16])<<1|e>>>31;for(var y=0;y<80;++y){var b=~~(y/20),v=0|((u=c)<<5|u>>>27)+(i=f,o=l,a=h,0===(n=b)?i&o|~i&a:2===n?i&o|i&a|o&a:i^o^a)+d+s[y]+m[b];d=h,h=l,l=(r=f)<<30|r>>>2,f=c,c=v}this._a=c+this._a|0,this._b=f+this._b|0,this._c=l+this._c|0,this._d=h+this._d|0,this._e=d+this._e|0},u.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},e.exports=u},{"./hash":148,inherits:100,"safe-buffer":147}],152:[function(t,e,r){var n=t("inherits"),i=t("./sha256"),o=t("./hash"),a=t("safe-buffer").Buffer,u=new Array(64);function s(){this.init(),this._w=u,o.call(this,64,56)}n(s,i),s.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},s.prototype._hash=function(){var t=a.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},e.exports=s},{"./hash":148,"./sha256":153,inherits:100,"safe-buffer":147}],153:[function(t,e,r){var n=t("inherits"),i=t("./hash"),o=t("safe-buffer").Buffer,_=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function u(){this.init(),this._w=a,i.call(this,64,56)}n(u,i),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(t){for(var e,r,n,i,o,a,u,s=this._w,c=0|this._a,f=0|this._b,l=0|this._c,h=0|this._d,d=0|this._e,p=0|this._f,y=0|this._g,b=0|this._h,v=0;v<16;++v)s[v]=t.readInt32BE(4*v);for(;v<64;++v)s[v]=0|(((r=s[v-2])>>>17|r<<15)^(r>>>19|r<<13)^r>>>10)+s[v-7]+(((e=s[v-15])>>>7|e<<25)^(e>>>18|e<<14)^e>>>3)+s[v-16];for(var m=0;m<64;++m){var g=b+(((u=d)>>>6|u<<26)^(u>>>11|u<<21)^(u>>>25|u<<7))+((a=y)^d&(p^a))+_[m]+s[m]|0,w=0|(((o=c)>>>2|o<<30)^(o>>>13|o<<19)^(o>>>22|o<<10))+((n=c)&(i=f)|l&(n|i));b=y,y=p,p=d,d=h+g|0,h=l,l=f,f=c,c=g+w|0}this._a=c+this._a|0,this._b=f+this._b|0,this._c=l+this._c|0,this._d=h+this._d|0,this._e=d+this._e|0,this._f=p+this._f|0,this._g=y+this._g|0,this._h=b+this._h|0},u.prototype._hash=function(){var t=o.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},e.exports=u},{"./hash":148,inherits:100,"safe-buffer":147}],154:[function(t,e,r){var n=t("inherits"),i=t("./sha512"),o=t("./hash"),a=t("safe-buffer").Buffer,u=new Array(160);function s(){this.init(),this._w=u,o.call(this,128,112)}n(s,i),s.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},s.prototype._hash=function(){var n=a.allocUnsafe(48);function t(t,e,r){n.writeInt32BE(t,r),n.writeInt32BE(e,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),n},e.exports=s},{"./hash":148,"./sha512":155,inherits:100,"safe-buffer":147}],155:[function(t,e,r){var n=t("inherits"),i=t("./hash"),o=t("safe-buffer").Buffer,tt=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function u(){this.init(),this._w=a,i.call(this,128,112)}function et(t,e,r){return r^t&(e^r)}function rt(t,e,r){return t&e|r&(t|e)}function nt(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function it(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function ot(t,e){return t>>>0>>0?1:0}n(u,i),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(t){for(var e,r,n,i,o,a,u,s,c=this._w,f=0|this._ah,l=0|this._bh,h=0|this._ch,d=0|this._dh,p=0|this._eh,y=0|this._fh,b=0|this._gh,v=0|this._hh,m=0|this._al,g=0|this._bl,w=0|this._cl,_=0|this._dl,A=0|this._el,x=0|this._fl,k=0|this._gl,S=0|this._hl,M=0;M<32;M+=2)c[M]=t.readInt32BE(4*M),c[M+1]=t.readInt32BE(4*M+4);for(;M<160;M+=2){var E=c[M-30],j=c[M-30+1],U=((u=E)>>>1|(s=j)<<31)^(u>>>8|s<<24)^u>>>7,I=((o=j)>>>1|(a=E)<<31)^(o>>>8|a<<24)^(o>>>7|a<<25);E=c[M-4],j=c[M-4+1];var O=((n=E)>>>19|(i=j)<<13)^(i>>>29|n<<3)^n>>>6,T=((e=j)>>>19|(r=E)<<13)^(r>>>29|e<<3)^(e>>>6|r<<26),N=c[M-14],B=c[M-14+1],C=c[M-32],P=c[M-32+1],R=I+B|0,F=U+N+ot(R,I)|0;F=(F=F+O+ot(R=R+T|0,T)|0)+C+ot(R=R+P|0,P)|0,c[M]=F,c[M+1]=R}for(var L=0;L<160;L+=2){F=c[L],R=c[L+1];var q=rt(f,l,h),D=rt(m,g,w),z=nt(f,m),H=nt(m,f),K=it(p,A),$=it(A,p),W=tt[L],V=tt[L+1],G=et(p,y,b),X=et(A,x,k),J=S+$|0,Z=v+K+ot(J,S)|0;Z=(Z=(Z=Z+G+ot(J=J+X|0,X)|0)+W+ot(J=J+V|0,V)|0)+F+ot(J=J+R|0,R)|0;var Y=H+D|0,Q=z+q+ot(Y,H)|0;v=b,S=k,b=y,k=x,y=p,x=A,p=d+Z+ot(A=_+J|0,_)|0,d=h,_=w,h=l,w=g,l=f,g=m,f=Z+Q+ot(m=J+Y|0,J)|0}this._al=this._al+m|0,this._bl=this._bl+g|0,this._cl=this._cl+w|0,this._dl=this._dl+_|0,this._el=this._el+A|0,this._fl=this._fl+x|0,this._gl=this._gl+k|0,this._hl=this._hl+S|0,this._ah=this._ah+f+ot(this._al,m)|0,this._bh=this._bh+l+ot(this._bl,g)|0,this._ch=this._ch+h+ot(this._cl,w)|0,this._dh=this._dh+d+ot(this._dl,_)|0,this._eh=this._eh+p+ot(this._el,A)|0,this._fh=this._fh+y+ot(this._fl,x)|0,this._gh=this._gh+b+ot(this._gl,k)|0,this._hh=this._hh+v+ot(this._hl,S)|0},u.prototype._hash=function(){var n=o.allocUnsafe(64);function t(t,e,r){n.writeInt32BE(t,r),n.writeInt32BE(e,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),n},e.exports=u},{"./hash":148,inherits:100,"safe-buffer":147}],156:[function(t,e,r){e.exports=n;var f=t("events").EventEmitter;function n(){f.call(this)}t("inherits")(n,f),n.Readable=t("readable-stream/readable.js"),n.Writable=t("readable-stream/writable.js"),n.Duplex=t("readable-stream/duplex.js"),n.Transform=t("readable-stream/transform.js"),n.PassThrough=t("readable-stream/passthrough.js"),(n.Stream=n).prototype.pipe=function(e,t){var r=this;function n(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function i(){r.readable&&r.resume&&r.resume()}r.on("data",n),e.on("drain",i),e._isStdio||t&&!1===t.end||(r.on("end",a),r.on("close",u));var o=!1;function a(){o||(o=!0,e.end())}function u(){o||(o=!0,"function"==typeof e.destroy&&e.destroy())}function s(t){if(c(),0===f.listenerCount(this,"error"))throw t}function c(){r.removeListener("data",n),e.removeListener("drain",i),r.removeListener("end",a),r.removeListener("close",u),r.removeListener("error",s),e.removeListener("error",s),r.removeListener("end",c),r.removeListener("close",c),e.removeListener("close",c)}return r.on("error",s),e.on("error",s),r.on("end",c),r.on("close",c),e.on("close",c),e.emit("pipe",r),e}},{events:82,inherits:100,"readable-stream/duplex.js":132,"readable-stream/passthrough.js":142,"readable-stream/readable.js":143,"readable-stream/transform.js":144,"readable-stream/writable.js":145}],157:[function(r,t,i){(function(s){var c=r("./lib/request"),t=r("./lib/response"),f=r("xtend"),e=r("builtin-status-codes"),l=r("url"),n=i;n.request=function(t,e){t="string"==typeof t?l.parse(t):f(t);var r=-1===s.location.protocol.search(/^https?:$/)?"http:":"",n=t.protocol||r,i=t.hostname||t.host,o=t.port,a=t.path||"/";i&&-1!==i.indexOf(":")&&(i="["+i+"]"),t.url=(i?n+"//"+i:"")+(o?":"+o:"")+a,t.method=(t.method||"GET").toUpperCase(),t.headers=t.headers||{};var u=new c(t);return e&&u.on("response",e),u},n.get=function(t,e){var r=n.request(t,e);return r.end(),r},n.ClientRequest=c,n.IncomingMessage=t.IncomingMessage,n.Agent=function(){},n.Agent.defaultMaxSockets=4,n.globalAgent=new n.Agent,n.STATUS_CODES=e,n.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./lib/request":159,"./lib/response":160,"builtin-status-codes":47,url:164,xtend:168}],158:[function(t,e,u){(function(t){u.fetch=a(t.fetch)&&a(t.ReadableStream),u.writableStream=a(t.WritableStream),u.abortController=a(t.AbortController),u.blobConstructor=!1;try{new Blob([new ArrayBuffer(1)]),u.blobConstructor=!0}catch(t){}var e;function r(){if(void 0!==e)return e;if(t.XMLHttpRequest){e=new t.XMLHttpRequest;try{e.open("GET",t.XDomainRequest?"/":"https://example.com")}catch(t){e=null}}else e=null;return e}function n(t){var e=r();if(!e)return!1;try{return e.responseType=t,e.responseType===t}catch(t){}return!1}var i=void 0!==t.ArrayBuffer,o=i&&a(t.ArrayBuffer.prototype.slice);function a(t){return"function"==typeof t}u.arraybuffer=u.fetch||i&&n("arraybuffer"),u.msstream=!u.fetch&&o&&n("ms-stream"),u.mozchunkedarraybuffer=!u.fetch&&i&&n("moz-chunked-arraybuffer"),u.overrideMimeType=u.fetch||!!r()&&a(r().overrideMimeType),u.vbArray=a(t.VBArray),e=null}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],159:[function(o,u,t){(function(s,c,f){var l=o("./capability"),t=o("inherits"),e=o("./response"),a=o("readable-stream"),h=o("to-arraybuffer"),r=e.IncomingMessage,d=e.readyStates;var n=u.exports=function(e){var t,r=this;a.Writable.call(r),r._opts=e,r._body=[],r._headers={},e.auth&&r.setHeader("Authorization","Basic "+new f(e.auth).toString("base64")),Object.keys(e.headers).forEach(function(t){r.setHeader(t,e.headers[t])});var n,i,o=!0;if("disable-fetch"===e.mode||"requestTimeout"in e&&!l.abortController)t=!(o=!1);else if("prefer-streaming"===e.mode)t=!1;else if("allow-wrong-content-type"===e.mode)t=!l.overrideMimeType;else{if(e.mode&&"default"!==e.mode&&"prefer-fast"!==e.mode)throw new Error("Invalid value for opts.mode");t=!0}r._mode=(n=t,i=o,l.fetch&&i?"fetch":l.mozchunkedarraybuffer?"moz-chunked-arraybuffer":l.msstream?"ms-stream":l.arraybuffer&&n?"arraybuffer":l.vbArray&&n?"text:vbarray":"text"),r._fetchTimer=null,r.on("finish",function(){r._onFinish()})};t(n,a.Writable),n.prototype.setHeader=function(t,e){var r=t.toLowerCase();-1===i.indexOf(r)&&(this._headers[r]={name:t,value:e})},n.prototype.getHeader=function(t){var e=this._headers[t.toLowerCase()];return e?e.value:null},n.prototype.removeHeader=function(t){delete this._headers[t.toLowerCase()]},n.prototype._onFinish=function(){var e=this;if(!e._destroyed){var t=e._opts,n=e._headers,r=null;"GET"!==t.method&&"HEAD"!==t.method&&(r=l.arraybuffer?h(f.concat(e._body)):l.blobConstructor?new c.Blob(e._body.map(function(t){return h(t)}),{type:(n["content-type"]||{}).value||""}):f.concat(e._body).toString());var i=[];if(Object.keys(n).forEach(function(t){var e=n[t].name,r=n[t].value;Array.isArray(r)?r.forEach(function(t){i.push([e,t])}):i.push([e,r])}),"fetch"===e._mode){var o=null;if(l.abortController){var a=new AbortController;o=a.signal,e._fetchAbortController=a,"requestTimeout"in t&&0!==t.requestTimeout&&(e._fetchTimer=c.setTimeout(function(){e.emit("requestTimeout"),e._fetchAbortController&&e._fetchAbortController.abort()},t.requestTimeout))}c.fetch(e._opts.url,{method:e._opts.method,headers:i,body:r||void 0,mode:"cors",credentials:t.withCredentials?"include":"same-origin",signal:o}).then(function(t){e._fetchResponse=t,e._connect()},function(t){c.clearTimeout(e._fetchTimer),e._destroyed||e.emit("error",t)})}else{var u=e._xhr=new c.XMLHttpRequest;try{u.open(e._opts.method,e._opts.url,!0)}catch(t){return void s.nextTick(function(){e.emit("error",t)})}"responseType"in u&&(u.responseType=e._mode.split(":")[0]),"withCredentials"in u&&(u.withCredentials=!!t.withCredentials),"text"===e._mode&&"overrideMimeType"in u&&u.overrideMimeType("text/plain; charset=x-user-defined"),"requestTimeout"in t&&(u.timeout=t.requestTimeout,u.ontimeout=function(){e.emit("requestTimeout")}),i.forEach(function(t){u.setRequestHeader(t[0],t[1])}),e._response=null,u.onreadystatechange=function(){switch(u.readyState){case d.LOADING:case d.DONE:e._onXHRProgress()}},"moz-chunked-arraybuffer"===e._mode&&(u.onprogress=function(){e._onXHRProgress()}),u.onerror=function(){e._destroyed||e.emit("error",new Error("XHR error"))};try{u.send(r)}catch(t){return void s.nextTick(function(){e.emit("error",t)})}}}},n.prototype._onXHRProgress=function(){(function(t){try{var e=t.status;return null!==e&&0!==e}catch(t){return!1}})(this._xhr)&&!this._destroyed&&(this._response||this._connect(),this._response._onXHRProgress())},n.prototype._connect=function(){var e=this;e._destroyed||(e._response=new r(e._xhr,e._fetchResponse,e._mode,e._fetchTimer),e._response.on("error",function(t){e.emit("error",t)}),e.emit("response",e._response))},n.prototype._write=function(t,e,r){this._body.push(t),r()},n.prototype.abort=n.prototype.destroy=function(){this._destroyed=!0,c.clearTimeout(this._fetchTimer),this._response&&(this._response._destroyed=!0),this._xhr?this._xhr.abort():this._fetchAbortController&&this._fetchAbortController.abort()},n.prototype.end=function(t,e,r){"function"==typeof t&&(r=t,t=void 0),a.Writable.prototype.end.call(this,t,e,r)},n.prototype.flushHeaders=function(){},n.prototype.setTimeout=function(){},n.prototype.setNoDelay=function(){},n.prototype.setSocketKeepAlive=function(){};var i=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]}).call(this,o("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},o("buffer").Buffer)},{"./capability":158,"./response":160,_process:119,buffer:46,inherits:100,"readable-stream":143,"to-arraybuffer":163}],160:[function(r,t,n){(function(c,f,l){var h=r("./capability"),t=r("inherits"),d=r("readable-stream"),u=n.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},e=n.IncomingMessage=function(t,e,r,n){var i=this;if(d.Readable.call(i),i._mode=r,i.headers={},i.rawHeaders=[],i.trailers={},i.rawTrailers=[],i.on("end",function(){c.nextTick(function(){i.emit("close")})}),"fetch"===r){if(i._fetchResponse=e,i.url=e.url,i.statusCode=e.status,i.statusMessage=e.statusText,e.headers.forEach(function(t,e){i.headers[e.toLowerCase()]=t,i.rawHeaders.push(e,t)}),h.writableStream){var o=new WritableStream({write:function(r){return new Promise(function(t,e){i._destroyed?e():i.push(new l(r))?t():i._resumeFetch=t})},close:function(){f.clearTimeout(n),i._destroyed||i.push(null)},abort:function(t){i._destroyed||i.emit("error",t)}});try{return void e.body.pipeTo(o).catch(function(t){f.clearTimeout(n),i._destroyed||i.emit("error",t)})}catch(t){}}var a=e.body.getReader();!function e(){a.read().then(function(t){if(!i._destroyed){if(t.done)return f.clearTimeout(n),void i.push(null);i.push(new l(t.value)),e()}}).catch(function(t){f.clearTimeout(n),i._destroyed||i.emit("error",t)})}()}else{if(i._xhr=t,i._pos=0,i.url=t.responseURL,i.statusCode=t.status,i.statusMessage=t.statusText,t.getAllResponseHeaders().split(/\r?\n/).forEach(function(t){var e=t.match(/^([^:]+):\s*(.*)/);if(e){var r=e[1].toLowerCase();"set-cookie"===r?(void 0===i.headers[r]&&(i.headers[r]=[]),i.headers[r].push(e[2])):void 0!==i.headers[r]?i.headers[r]+=", "+e[2]:i.headers[r]=e[2],i.rawHeaders.push(e[1],e[2])}}),i._charset="x-user-defined",!h.overrideMimeType){var u=i.rawHeaders["mime-type"];if(u){var s=u.match(/;\s*charset=([^;])(;|$)/);s&&(i._charset=s[1].toLowerCase())}i._charset||(i._charset="utf-8")}}};t(e,d.Readable),e.prototype._read=function(){var t=this._resumeFetch;t&&(this._resumeFetch=null,t())},e.prototype._onXHRProgress=function(){var e=this,t=e._xhr,r=null;switch(e._mode){case"text:vbarray":if(t.readyState!==u.DONE)break;try{r=new f.VBArray(t.responseBody).toArray()}catch(t){}if(null!==r){e.push(new l(r));break}case"text":try{r=t.responseText}catch(t){e._mode="text:vbarray";break}if(r.length>e._pos){var n=r.substr(e._pos);if("x-user-defined"===e._charset){for(var i=new l(n.length),o=0;oe._pos&&(e.push(new l(new Uint8Array(a.result.slice(e._pos)))),e._pos=a.result.byteLength)},a.onload=function(){e.push(null)},a.readAsArrayBuffer(r)}e._xhr.readyState===u.DONE&&"ms-stream"!==e._mode&&e.push(null)}}).call(this,r("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},r("buffer").Buffer)},{"./capability":158,_process:119,buffer:46,inherits:100,"readable-stream":143}],161:[function(t,e,r){arguments[4][141][0].apply(r,arguments)},{dup:141,"safe-buffer":147}],162:[function(s,t,c){(function(t,e){var n=s("process/browser.js").nextTick,r=Function.prototype.apply,i=Array.prototype.slice,o={},a=0;function u(t,e){this._id=t,this._clearFn=e}c.setTimeout=function(){return new u(r.call(setTimeout,window,arguments),clearTimeout)},c.setInterval=function(){return new u(r.call(setInterval,window,arguments),clearInterval)},c.clearTimeout=c.clearInterval=function(t){t.close()},u.prototype.unref=u.prototype.ref=function(){},u.prototype.close=function(){this._clearFn.call(window,this._id)},c.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},c.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},c._unrefActive=c.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;0<=e&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},c.setImmediate="function"==typeof t?t:function(t){var e=a++,r=!(arguments.length<2)&&i.call(arguments,1);return o[e]=!0,n(function(){o[e]&&(r?t.apply(null,r):t.call(null),c.clearImmediate(e))}),e},c.clearImmediate="function"==typeof e?e:function(t){delete o[t]}}).call(this,s("timers").setImmediate,s("timers").clearImmediate)},{"process/browser.js":119,timers:162}],163:[function(t,e,r){var i=t("buffer").Buffer;e.exports=function(t){if(t instanceof Uint8Array){if(0===t.byteOffset&&t.byteLength===t.buffer.byteLength)return t.buffer;if("function"==typeof t.buffer.slice)return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}if(i.isBuffer(t)){for(var e=new Uint8Array(t.length),r=t.length,n=0;n",'"',"`"," ","\r","\n","\t"]),R=["'"].concat(i),F=["%","/","?",";","#"].concat(R),L=["/","?","#"],q=/^[+a-z0-9A-Z_-]{0,63}$/,D=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,z={javascript:!0,"javascript:":!0},H={javascript:!0,"javascript:":!0},K={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},$=t("querystring");function o(t,e,r){if(t&&B.isObject(t)&&t instanceof E)return t;var n=new E;return n.parse(t,e,r),n}E.prototype.parse=function(t,e,r){if(!B.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+_typeof(t));var n=t.indexOf("?"),i=-1!==n&&n>0},ToUint32:function(t){return this.ToNumber(t)>>>0},ToUint16:function(t){var e=this.ToNumber(t);if(s(e)||0===e||!c(e))return 0;var r=f(e)*Math.floor(Math.abs(e));return l(r,65536)},ToString:function(t){return a(t)},ToObject:function(t){return this.CheckObjectCoercible(t),i(t)},CheckObjectCoercible:function(t,e){if(null==t)throw new o(e||"Cannot call method on "+t);return t},IsCallable:h,SameValue:function(t,e){return t===e?0!==t||1/t==1/e:s(t)&&s(e)},Type:function(t){return null===t?"Null":void 0===t?"Undefined":"function"==typeof t||"object"===_typeof(t)?"Object":"number"==typeof t?"Number":"boolean"==typeof t?"Boolean":"string"==typeof t?"String":void 0},IsPropertyDescriptor:function(t){if("Object"!==this.Type(t))return!1;var e={"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Get]]":!0,"[[Set]]":!0,"[[Value]]":!0,"[[Writable]]":!0};for(var r in t)if(p(t,r)&&!e[r])return!1;var n=p(t,"[[Value]]"),i=p(t,"[[Get]]")||p(t,"[[Set]]");if(n&&i)throw new o("Property Descriptors may not be both accessor and data descriptors");return!0},IsAccessorDescriptor:function(t){return void 0!==t&&(u(this,"Property Descriptor","Desc",t),!(!p(t,"[[Get]]")&&!p(t,"[[Set]]")))},IsDataDescriptor:function(t){return void 0!==t&&(u(this,"Property Descriptor","Desc",t),!(!p(t,"[[Value]]")&&!p(t,"[[Writable]]")))},IsGenericDescriptor:function(t){return void 0!==t&&(u(this,"Property Descriptor","Desc",t),!this.IsAccessorDescriptor(t)&&!this.IsDataDescriptor(t))},FromPropertyDescriptor:function(t){if(void 0===t)return t;if(u(this,"Property Descriptor","Desc",t),this.IsDataDescriptor(t))return{value:t["[[Value]]"],writable:!!t["[[Writable]]"],enumerable:!!t["[[Enumerable]]"],configurable:!!t["[[Configurable]]"]};if(this.IsAccessorDescriptor(t))return{get:t["[[Get]]"],set:t["[[Set]]"],enumerable:!!t["[[Enumerable]]"],configurable:!!t["[[Configurable]]"]};throw new o("FromPropertyDescriptor must be called with a fully populated Property Descriptor")},ToPropertyDescriptor:function(t){if("Object"!==this.Type(t))throw new o("ToPropertyDescriptor requires an object");var e={};if(p(t,"enumerable")&&(e["[[Enumerable]]"]=this.ToBoolean(t.enumerable)),p(t,"configurable")&&(e["[[Configurable]]"]=this.ToBoolean(t.configurable)),p(t,"value")&&(e["[[Value]]"]=t.value),p(t,"writable")&&(e["[[Writable]]"]=this.ToBoolean(t.writable)),p(t,"get")){var r=t.get;if(void 0!==r&&!this.IsCallable(r))throw new TypeError("getter must be a function");e["[[Get]]"]=r}if(p(t,"set")){var n=t.set;if(void 0!==n&&!this.IsCallable(n))throw new o("setter must be a function");e["[[Set]]"]=n}if((p(e,"[[Get]]")||p(e,"[[Set]]"))&&(p(e,"[[Value]]")||p(e,"[[Writable]]")))throw new o("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute");return e}};e.exports=y},{"./GetIntrinsic":171,"./helpers/assertRecord":173,"./helpers/isFinite":174,"./helpers/isNaN":175,"./helpers/mod":176,"./helpers/sign":177,"es-to-primitive/es5":178,has:187,"is-callable":188}],173:[function(t,e,r){var n=t("../GetIntrinsic"),a=n("%TypeError%"),o=n("%SyntaxError%"),u=t("has"),s={"Property Descriptor":function(t,e){if("Object"!==t.Type(e))return!1;var r={"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Get]]":!0,"[[Set]]":!0,"[[Value]]":!0,"[[Writable]]":!0};for(var n in e)if(u(e,n)&&!r[n])return!1;var i=u(e,"[[Value]]"),o=u(e,"[[Get]]")||u(e,"[[Set]]");if(i&&o)throw new a("Property Descriptors may not be both accessor and data descriptors");return!0}};e.exports=function(t,e,r,n){var i=s[e];if("function"!=typeof i)throw new o("unknown record type: "+e);if(!i(t,n))throw new a(r+" must be a "+e);console.log(i(t,n),n)}},{"../GetIntrinsic":171,has:187}],174:[function(t,e,r){var n=Number.isNaN||function(t){return t!=t};e.exports=Number.isFinite||function(t){return"number"==typeof t&&!n(t)&&t!==1/0&&t!==-1/0}},{}],175:[function(t,e,r){e.exports=Number.isNaN||function(t){return t!=t}},{}],176:[function(t,e,r){e.exports=function(t,e){var r=t%e;return Math.floor(0<=r?r:r+e)}},{}],177:[function(t,e,r){e.exports=function(t){return 0<=t?1:-1}},{}],178:[function(t,e,r){var o=Object.prototype.toString,a=t("./helpers/isPrimitive"),u=t("is-callable"),n=function(t){var e;if((e=1>6|192);else{if(55295>18|240),r+=e(i>>12&63|128)}else r+=e(i>>12|224);r+=e(i>>6&63|128)}r+=e(63&i|128)}}return r},toString:function(t){for(var e="",r=0,n=a(t);r>10|55296),e+=String.fromCharCode(1023&i|56320)}}return e},fromNumber:function(t){var e=t.toString(16);return e.length%2==0?"0x"+e:"0x0"+e},toNumber:function(t){return parseInt(t.slice(2),16)},fromNat:function(t){return"0x0"===t?"0x":t.length%2==0?t:"0x0"+t.slice(2)},toNat:function(t){return"0"===t[2]?"0x"+t.slice(3):t},fromArray:n,toArray:r,fromUint8Array:function(t){return n([].slice.call(t,0))},toUint8Array:function(t){return new Uint8Array(r(t))}}},{"./array.js":180}],182:[function(t,e,r){var p="0123456789abcdef".split(""),y=[1,256,65536,16777216],b=[0,8,16,24],ft=[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],v=function(t){var e,r,n,i,o,a,u,s,c,f,l,h,d,p,y,b,v,m,g,w,_,A,x,k,S,M,E,j,U,I,O,T,N,B,C,P,R,F,L,q,D,z,H,K,$,W,V,G,X,J,Z,Y,Q,tt,et,rt,nt,it,ot,at,ut,st,ct;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],u=t[3]^t[13]^t[23]^t[33]^t[43],s=t[4]^t[14]^t[24]^t[34]^t[44],c=t[5]^t[15]^t[25]^t[35]^t[45],f=t[6]^t[16]^t[26]^t[36]^t[46],l=t[7]^t[17]^t[27]^t[37]^t[47],e=(h=t[8]^t[18]^t[28]^t[38]^t[48])^(a<<1|u>>>31),r=(d=t[9]^t[19]^t[29]^t[39]^t[49])^(u<<1|a>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(s<<1|c>>>31),r=o^(c<<1|s>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=a^(f<<1|l>>>31),r=u^(l<<1|f>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=s^(h<<1|d>>>31),r=c^(d<<1|h>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=f^(i<<1|o>>>31),r=l^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,p=t[0],y=t[1],W=t[11]<<4|t[10]>>>28,V=t[10]<<4|t[11]>>>28,j=t[20]<<3|t[21]>>>29,U=t[21]<<3|t[20]>>>29,at=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,z=t[40]<<18|t[41]>>>14,H=t[41]<<18|t[40]>>>14,B=t[2]<<1|t[3]>>>31,C=t[3]<<1|t[2]>>>31,b=t[13]<<12|t[12]>>>20,v=t[12]<<12|t[13]>>>20,G=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,I=t[33]<<13|t[32]>>>19,O=t[32]<<13|t[33]>>>19,st=t[42]<<2|t[43]>>>30,ct=t[43]<<2|t[42]>>>30,tt=t[5]<<30|t[4]>>>2,et=t[4]<<30|t[5]>>>2,P=t[14]<<6|t[15]>>>26,R=t[15]<<6|t[14]>>>26,m=t[25]<<11|t[24]>>>21,g=t[24]<<11|t[25]>>>21,J=t[34]<<15|t[35]>>>17,Z=t[35]<<15|t[34]>>>17,T=t[45]<<29|t[44]>>>3,N=t[44]<<29|t[45]>>>3,k=t[6]<<28|t[7]>>>4,S=t[7]<<28|t[6]>>>4,rt=t[17]<<23|t[16]>>>9,nt=t[16]<<23|t[17]>>>9,F=t[26]<<25|t[27]>>>7,L=t[27]<<25|t[26]>>>7,w=t[36]<<21|t[37]>>>11,_=t[37]<<21|t[36]>>>11,Y=t[47]<<24|t[46]>>>8,Q=t[46]<<24|t[47]>>>8,K=t[8]<<27|t[9]>>>5,$=t[9]<<27|t[8]>>>5,M=t[18]<<20|t[19]>>>12,E=t[19]<<20|t[18]>>>12,it=t[29]<<7|t[28]>>>25,ot=t[28]<<7|t[29]>>>25,q=t[38]<<8|t[39]>>>24,D=t[39]<<8|t[38]>>>24,A=t[48]<<14|t[49]>>>18,x=t[49]<<14|t[48]>>>18,t[0]=p^~b&m,t[1]=y^~v&g,t[10]=k^~M&j,t[11]=S^~E&U,t[20]=B^~P&F,t[21]=C^~R&L,t[30]=K^~W&G,t[31]=$^~V&X,t[40]=tt^~rt&it,t[41]=et^~nt&ot,t[2]=b^~m&w,t[3]=v^~g&_,t[12]=M^~j&I,t[13]=E^~U&O,t[22]=P^~F&q,t[23]=R^~L&D,t[32]=W^~G&J,t[33]=V^~X&Z,t[42]=rt^~it&at,t[43]=nt^~ot&ut,t[4]=m^~w&A,t[5]=g^~_&x,t[14]=j^~I&T,t[15]=U^~O&N,t[24]=F^~q&z,t[25]=L^~D&H,t[34]=G^~J&Y,t[35]=X^~Z&Q,t[44]=it^~at&st,t[45]=ot^~ut&ct,t[6]=w^~A&p,t[7]=_^~x&y,t[16]=I^~T&k,t[17]=O^~N&S,t[26]=q^~z&B,t[27]=D^~H&C,t[36]=J^~Y&K,t[37]=Z^~Q&$,t[46]=at^~st&tt,t[47]=ut^~ct&et,t[8]=A^~p&b,t[9]=x^~y&v,t[18]=T^~k&M,t[19]=N^~S&E,t[28]=z^~B&P,t[29]=H^~C&R,t[38]=Y^~K&W,t[39]=Q^~$&V,t[48]=st^~tt&rt,t[49]=ct^~et&nt,t[0]^=ft[n],t[1]^=ft[n+1]},n=function(a){return function(t){var e,r,n;if("0x"===t.slice(0,2)){e=[];for(var i=2,o=t.length;i>2]|=e[c]<>2]|=r<>2]|=(192|r>>6)<>2]|=(224|r>>12)<>2]|=(240|r>>18)<>2]|=(128|r>>12&63)<>2]|=(128|r>>6&63)<>2]|=(128|63&r)<>2]|=y[3&h],t.lastByteIndex===o)for(i[0]=i[a],h=1;h>4&15]+p[15&f]+p[f>>12&15]+p[f>>8&15]+p[f>>20&15]+p[f>>16&15]+p[f>>28&15]+p[f>>24&15];d%a==0&&(v(s),h=0)}return"0x"+l}({blocks:[],reset:!0,block:0,start:0,blockCount:1600-((r=a)<<1)>>5,outputBlocks:r>>5,s:(n=[0,0,0,0,0,0,0,0,0,0],[].concat(n,n,n,n,n))},e)}};e.exports={keccak256:n(256),keccak512:n(512),keccak256s:n(256),keccak512s:n(512)}},{}],183:[function(t,e,r){var i=t("is-callable"),o=Object.prototype.toString,a=Object.prototype.hasOwnProperty;e.exports=function(t,e,r){if(!i(e))throw new TypeError("iterator must be a function");var n;3<=arguments.length&&(n=r),"[object Array]"===o.call(t)?function(t,e,r){for(var n=0,i=t.length;n":">",'"':""","'":"'","`":"`"},D=d.invert(q),z=function(e){var r=function(t){return e[t]},t="(?:"+d.keys(e).join("|")+")",n=RegExp(t),i=RegExp(t,"g");return function(t){return t=null==t?"":""+t,n.test(t)?t.replace(i,r):t}};d.escape=z(q),d.unescape=z(D),d.result=function(t,e,r){d.isArray(e)||(e=[e]);var n=e.length;if(!n)return d.isFunction(r)?r.call(t):r;for(var i=0;i/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,$={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,V=function(t){return"\\"+$[t]};d.template=function(o,t,e){!t&&e&&(t=e),t=d.defaults({},t,d.templateSettings);var r,n=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(n,function(t,e,r,n,i){return u+=o.slice(a,i).replace(W,V),a=i+t.length,e?u+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":n&&(u+="';\n"+n+"\n__p+='"),t}),u+="';\n",t.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{r=new Function(t.variable||"obj","_",u)}catch(t){throw t.source=u,t}var i=function(t){return r.call(this,t,d)},s=t.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},d.chain=function(t){var e=d(t);return e._chain=!0,e};var G=function(t,e){return t._chain?d(e).chain():e};d.mixin=function(r){return d.each(d.functions(r),function(t){var e=d[t]=r[t];d.prototype[t]=function(){var t=[this._wrapped];return i.apply(t,arguments),G(this,e.apply(d,t))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var r=n[e];d.prototype[e]=function(){var t=this._wrapped;return r.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],G(this,t)}}),d.each(["concat","join","slice"],function(t){var e=n[t];d.prototype[t]=function(){return G(this,e.apply(this._wrapped,arguments))}}),d.prototype.valueOf=d.prototype.toJSON=d.prototype.value=function(){return this._wrapped},d.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return d})}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],206:[function(t,e,r){e.exports=function(t,e){if(e){e=(e=e.trim().replace(/^(\?|#|&)/,""))?"?"+e:e;var r=t.split(/[\?\#]/),n=r[0];e&&/\:\/\/[^\/]*$/.test(n)&&(n+="/");var i=t.match(/(\#.*)$/);t=n+e,i&&(t+=i[0])}return t}},{}],207:[function(t,e,r){var i=t("xhr-request");e.exports=function(t,e){return new Promise(function(r,n){i(t,e,function(t,e){t?n(t):r(e)})})}},{"xhr-request":208}],208:[function(t,e,r){var u=t("query-string"),s=t("url-set-query"),c=t("object-assign"),f=t("./lib/ensure-header.js"),l=t("./lib/request.js"),h="application/json",d=function(){};e.exports=function(t,e,r){if(!t||"string"!=typeof t)throw new TypeError("must specify a URL");"function"==typeof e&&(r=e,e={});if(r&&"function"!=typeof r)throw new TypeError("expected cb to be undefined or a function");r=r||d;var n=(e=e||{}).json?"json":"text",i=(e=c({responseType:n},e)).headers||{},o=(e.method||"GET").toUpperCase(),a=e.query;a&&("string"!=typeof a&&(a=u.stringify(a)),t=s(t,a));"json"===e.responseType&&f(i,"Accept",h);e.json&&"GET"!==o&&"HEAD"!==o&&(f(i,"Content-Type",h),e.body=JSON.stringify(e.body));return e.method=o,e.url=t,e.headers=i,delete e.query,delete e.json,l(e,r)}},{"./lib/ensure-header.js":209,"./lib/request.js":211,"object-assign":190,"query-string":195,"url-set-query":206}],209:[function(t,e,r){e.exports=function(t,e,r){var n=e.toLowerCase();t[e]||t[n]||(t[e]=r)}},{}],210:[function(t,e,r){e.exports=function(t,e){return e?{statusCode:e.statusCode,headers:e.headers,method:t.method,url:t.url,rawRequest:e.rawRequest?e.rawRequest:e}:null}},{}],211:[function(t,e,r){var n=t("xhr"),u=t("./normalize-response"),s=function(){};e.exports=function(i,o){delete i.uri;var a=!1;"json"===i.responseType&&(i.responseType="text",a=!0);var e=n(i,function(e,t,r){if(a&&!e)try{var n=t.rawRequest.responseText;r=JSON.parse(n)}catch(t){e=t}t=u(i,t),o(e,e?null:r,t),o=s}),r=e.onabort;return e.onabort=function(){var t=r.apply(e,Array.prototype.slice.call(arguments));return o(new Error("XHR Aborted")),o=s,t},e}},{"./normalize-response":210,xhr:212}],212:[function(t,e,r){var n=t("global/window"),i=t("is-function"),b=t("parse-headers"),o=t("xtend");function a(t,e,r){var n=t;return i(e)?(r=e,"string"==typeof t&&(n={uri:t})):n=o(e,{uri:t}),n.callback=r,n}function v(t,e,r){return u(e=a(t,e,r))}function u(n){if(void 0===n.callback)throw new Error("callback argument missing");var i=!1,o=function(t,e,r){i||(i=!0,n.callback(t,e,r))};function e(t){return clearTimeout(s),t instanceof Error||(t=new Error(""+(t||"Unknown XMLHttpRequest Error"))),t.statusCode=0,o(t,y)}function t(){if(!a){var t;clearTimeout(s),t=n.useXDR&&void 0===u.status?200:1223===u.status?204:u.status;var e=y,r=null;return 0!==t?(e={body:function(){var t=void 0;if(t=u.response?u.response:u.responseText||function(t){try{if("document"===t.responseType)return t.responseXML;var e=t.responseXML&&"parsererror"===t.responseXML.documentElement.nodeName;if(""===t.responseType&&!e)return t.responseXML}catch(t){}return null}(u),p)try{t=JSON.parse(t)}catch(t){}return t}(),statusCode:t,method:f,headers:{},url:c,rawRequest:u},u.getAllResponseHeaders&&(e.headers=b(u.getAllResponseHeaders()))):r=new Error("Internal XMLHttpRequest Error"),o(r,e,e.body)}}var r,a,u=n.xhr||null;u||(u=n.cors||n.useXDR?new v.XDomainRequest:new v.XMLHttpRequest);var s,c=u.url=n.uri||n.url,f=u.method=n.method||"GET",l=n.body||n.data,h=u.headers=n.headers||{},d=!!n.sync,p=!1,y={body:void 0,headers:{},statusCode:0,method:f,url:c,rawRequest:u};if("json"in n&&!1!==n.json&&(p=!0,h.accept||h.Accept||(h.Accept="application/json"),"GET"!==f&&"HEAD"!==f&&(h["content-type"]||h["Content-Type"]||(h["Content-Type"]="application/json"),l=JSON.stringify(!0===n.json?l:n.json))),u.onreadystatechange=function(){4===u.readyState&&setTimeout(t,0)},u.onload=t,u.onerror=e,u.onprogress=function(){},u.onabort=function(){a=!0},u.ontimeout=e,u.open(f,c,!d,n.username,n.password),d||(u.withCredentials=!!n.withCredentials),!d&&0":">",'"':""","'":"'","`":"`"},D=d.invert(q),z=function(e){var r=function(t){return e[t]},t="(?:"+d.keys(e).join("|")+")",n=RegExp(t),i=RegExp(t,"g");return function(t){return t=null==t?"":""+t,n.test(t)?t.replace(i,r):t}};d.escape=z(q),d.unescape=z(D),d.result=function(t,e,r){d.isArray(e)||(e=[e]);var n=e.length;if(!n)return d.isFunction(r)?r.call(t):r;for(var i=0;i/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,$={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,V=function(t){return"\\"+$[t]};d.template=function(o,t,e){!t&&e&&(t=e),t=d.defaults({},t,d.templateSettings);var r,n=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(n,function(t,e,r,n,i){return u+=o.slice(a,i).replace(W,V),a=i+t.length,e?u+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":n&&(u+="';\n"+n+"\n__p+='"),t}),u+="';\n",t.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{r=new Function(t.variable||"obj","_",u)}catch(t){throw t.source=u,t}var i=function(t){return r.call(this,t,d)},s=t.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},d.chain=function(t){var e=d(t);return e._chain=!0,e};var G=function(t,e){return t._chain?d(e).chain():e};d.mixin=function(r){return d.each(d.functions(r),function(t){var e=d[t]=r[t];d.prototype[t]=function(){var t=[this._wrapped];return i.apply(t,arguments),G(this,e.apply(d,t))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var r=n[e];d.prototype[e]=function(){var t=this._wrapped;return r.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],G(this,t)}}),d.each(["concat","join","slice"],function(t){var e=n[t];d.prototype[t]=function(){return G(this,e.apply(this._wrapped,arguments))}}),d.prototype.valueOf=d.prototype.toJSON=d.prototype.value=function(){return this._wrapped},d.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return d})}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],216:[function(t,e,r){e.exports={ErrorResponse:function(t){var e=t&&t.error&&t.error.message?t.error.message:JSON.stringify(t);return new Error("Returned error: "+e)},InvalidNumberOfParams:function(t,e,r){return new Error('Invalid number of parameters for "'+r+'". Got '+t+" expected "+e+"!")},InvalidConnection:function(t){return new Error("CONNECTION ERROR: Couldn't connect to node "+t+".")},InvalidProvider:function(){return new Error("Provider not set or invalid")},InvalidResponse:function(t){var e=t&&t.error&&t.error.message?t.error.message:"Invalid JSON RPC response: "+JSON.stringify(t);return new Error(e)},ConnectionTimeout:function(t){return new Error("CONNECTION TIMEOUT: timeout of "+t+" ms achived")}}},{}],217:[function(t,e,r){var n=t("underscore"),i=t("web3-utils"),o=t("web3-eth-iban"),a=function(t){return i.toBN(t).toString(10)},u=function(t){var e;if(void 0!==t)return"latest"===(e=t)||"pending"===e||"earliest"===e?t:i.isHexStrict(t)?n.isString(t)?t.toLowerCase():t:i.numberToHex(t)},s=function(e){if(e.to&&(e.to=l(e.to)),e.data&&e.input)throw new Error('You can\'t have "data" and "input" as properties of transactions at the same time, please use either "data" or "input" instead.');if(!e.data&&e.input&&(e.data=e.input,delete e.input),e.data&&!i.isHex(e.data))throw new Error("The data field must be HEX encoded data.");return(e.gas||e.gasLimit)&&(e.gas=e.gas||e.gasLimit),["gasPrice","gas","value","nonce"].filter(function(t){return void 0!==e[t]}).forEach(function(t){e[t]=i.numberToHex(e[t])}),e},c=function(t){return null!==t.blockNumber&&(t.blockNumber=i.hexToNumber(t.blockNumber)),null!==t.transactionIndex&&(t.transactionIndex=i.hexToNumber(t.transactionIndex)),t.nonce=i.hexToNumber(t.nonce),t.gas=i.hexToNumber(t.gas),t.gasPrice=a(t.gasPrice),t.value=a(t.value),t.to&&i.isAddress(t.to)?t.to=i.toChecksumAddress(t.to):t.to=null,t.from&&(t.from=i.toChecksumAddress(t.from)),t},f=function(t){if("string"==typeof t.blockHash&&"string"==typeof t.transactionHash&&"string"==typeof t.logIndex){var e=i.sha3(t.blockHash.replace("0x","")+t.transactionHash.replace("0x","")+t.logIndex.replace("0x",""));t.id="log_"+e.replace("0x","").substr(0,8)}else t.id||(t.id=null);return null!==t.blockNumber&&(t.blockNumber=i.hexToNumber(t.blockNumber)),null!==t.transactionIndex&&(t.transactionIndex=i.hexToNumber(t.transactionIndex)),null!==t.logIndex&&(t.logIndex=i.hexToNumber(t.logIndex)),t.address&&(t.address=i.toChecksumAddress(t.address)),t},l=function(t){var e=new o(t);if(e.isValid()&&e.isDirect())return e.toAddress().toLowerCase();if(i.isAddress(t))return"0x"+t.toLowerCase().replace("0x","");throw new Error('Provided address "'+t+"\" is invalid, the capitalization checksum test failed, or its an indrect IBAN address which can't be converted.")};e.exports={inputDefaultBlockNumberFormatter:function(t){return this&&null==t?this.defaultBlock:"genesis"===t||"earliest"===t?"0x0":u(t)},inputBlockNumberFormatter:u,inputCallFormatter:function(t){var e=(t=s(t)).from||(this?this.defaultAccount:null);return e&&(t.from=l(e)),t},inputTransactionFormatter:function(t){if(t=s(t),!n.isNumber(t.from)&&!n.isObject(t.from)){if(t.from=t.from||(this?this.defaultAccount:null),!t.from&&!n.isNumber(t.from))throw new Error('The send transactions "from" field must be defined!');t.from=l(t.from)}return t},inputAddressFormatter:l,inputPostFormatter:function(t){return t.ttl&&(t.ttl=i.numberToHex(t.ttl)),t.workToProve&&(t.workToProve=i.numberToHex(t.workToProve)),t.priority&&(t.priority=i.numberToHex(t.priority)),n.isArray(t.topics)||(t.topics=t.topics?[t.topics]:[]),t.topics=t.topics.map(function(t){return 0===t.indexOf("0x")?t:i.fromUtf8(t)}),t},inputLogFormatter:function(t){var e=function(t){return null==t?null:0===(t=String(t)).indexOf("0x")?t:i.fromUtf8(t)};return t.fromBlock&&(t.fromBlock=u(t.fromBlock)),t.toBlock&&(t.toBlock=u(t.toBlock)),t.topics=t.topics||[],t.topics=t.topics.map(function(t){return n.isArray(t)?t.map(e):e(t)}),e=null,t.address&&(t.address=n.isArray(t.address)?t.address.map(function(t){return l(t)}):l(t.address)),t},inputSignFormatter:function(t){return i.isHexStrict(t)?t:i.utf8ToHex(t)},outputBigNumberFormatter:a,outputTransactionFormatter:c,outputTransactionReceiptFormatter:function(t){if("object"!==_typeof(t))throw new Error("Received receipt is invalid: "+t);return null!==t.blockNumber&&(t.blockNumber=i.hexToNumber(t.blockNumber)),null!==t.transactionIndex&&(t.transactionIndex=i.hexToNumber(t.transactionIndex)),t.cumulativeGasUsed=i.hexToNumber(t.cumulativeGasUsed),t.gasUsed=i.hexToNumber(t.gasUsed),n.isArray(t.logs)&&(t.logs=t.logs.map(f)),t.contractAddress&&(t.contractAddress=i.toChecksumAddress(t.contractAddress)),void 0!==t.status&&(t.status=Boolean(parseInt(t.status))),t},outputBlockFormatter:function(t){return t.gasLimit=i.hexToNumber(t.gasLimit),t.gasUsed=i.hexToNumber(t.gasUsed),t.size=i.hexToNumber(t.size),t.timestamp=i.hexToNumber(t.timestamp),null!==t.number&&(t.number=i.hexToNumber(t.number)),t.difficulty&&(t.difficulty=a(t.difficulty)),t.totalDifficulty&&(t.totalDifficulty=a(t.totalDifficulty)),n.isArray(t.transactions)&&t.transactions.forEach(function(t){if(!n.isString(t))return c(t)}),t.miner&&(t.miner=i.toChecksumAddress(t.miner)),t},outputLogFormatter:f,outputPostFormatter:function(t){return t.expiry=i.hexToNumber(t.expiry),t.sent=i.hexToNumber(t.sent),t.ttl=i.hexToNumber(t.ttl),t.workProved=i.hexToNumber(t.workProved),t.topics||(t.topics=[]),t.topics=t.topics.map(function(t){return i.toUtf8(t)}),t},outputSyncingFormatter:function(t){return t.startingBlock=i.hexToNumber(t.startingBlock),t.currentBlock=i.hexToNumber(t.currentBlock),t.highestBlock=i.hexToNumber(t.highestBlock),t.knownStates&&(t.knownStates=i.hexToNumber(t.knownStates),t.pulledStates=i.hexToNumber(t.pulledStates)),t}}},{underscore:215,"web3-eth-iban":412,"web3-utils":449}],218:[function(t,e,r){var n=t("./errors"),i=t("./formatters");e.exports={errors:n,formatters:i}},{"./errors":216,"./formatters":217}],219:[function(t,J,Z){(function(X){!function(){var t="object"==("undefined"==typeof self?"undefined":_typeof(self))&&self.self===self&&self||"object"==_typeof(X)&&X.global===X&&X||this||{},e=t._,n=Array.prototype,a=Object.prototype,l="undefined"!=typeof Symbol?Symbol.prototype:null,i=n.push,s=n.slice,h=a.toString,o=a.hasOwnProperty,r=Array.isArray,u=Object.keys,c=Object.create,f=function(){},d=function t(e){return e instanceof t?e:this instanceof t?void(this._wrapped=e):new t(e)};void 0===Z||Z.nodeType?t._=d:(void 0!==J&&!J.nodeType&&J.exports&&(Z=J.exports=d),Z._=d),d.VERSION="1.9.1";var p,y=function(i,o,t){if(void 0===o)return i;switch(null==t?3:t){case 1:return function(t){return i.call(o,t)};case 3:return function(t,e,r){return i.call(o,t,e,r)};case 4:return function(t,e,r,n){return i.call(o,t,e,r,n)}}return function(){return i.apply(o,arguments)}},b=function(t,e,r){return d.iteratee!==p?d.iteratee(t,e):null==t?d.identity:d.isFunction(t)?y(t,e,r):d.isObject(t)&&!d.isArray(t)?d.matcher(t):d.property(t)};d.iteratee=p=function(t,e){return b(t,e,1/0)};var v=function(i,o){return o=null==o?i.length-1:+o,function(){for(var t=Math.max(arguments.length-o,0),e=Array(t),r=0;r":">",'"':""","'":"'","`":"`"},D=d.invert(q),z=function(e){var r=function(t){return e[t]},t="(?:"+d.keys(e).join("|")+")",n=RegExp(t),i=RegExp(t,"g");return function(t){return t=null==t?"":""+t,n.test(t)?t.replace(i,r):t}};d.escape=z(q),d.unescape=z(D),d.result=function(t,e,r){d.isArray(e)||(e=[e]);var n=e.length;if(!n)return d.isFunction(r)?r.call(t):r;for(var i=0;i/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,$={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,V=function(t){return"\\"+$[t]};d.template=function(o,t,e){!t&&e&&(t=e),t=d.defaults({},t,d.templateSettings);var r,n=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(n,function(t,e,r,n,i){return u+=o.slice(a,i).replace(W,V),a=i+t.length,e?u+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":n&&(u+="';\n"+n+"\n__p+='"),t}),u+="';\n",t.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{r=new Function(t.variable||"obj","_",u)}catch(t){throw t.source=u,t}var i=function(t){return r.call(this,t,d)},s=t.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},d.chain=function(t){var e=d(t);return e._chain=!0,e};var G=function(t,e){return t._chain?d(e).chain():e};d.mixin=function(r){return d.each(d.functions(r),function(t){var e=d[t]=r[t];d.prototype[t]=function(){var t=[this._wrapped];return i.apply(t,arguments),G(this,e.apply(d,t))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var r=n[e];d.prototype[e]=function(){var t=this._wrapped;return r.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],G(this,t)}}),d.each(["concat","join","slice"],function(t){var e=n[t];d.prototype[t]=function(){return G(this,e.apply(this._wrapped,arguments))}}),d.prototype.valueOf=d.prototype.toJSON=d.prototype.value=function(){return this._wrapped},d.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return d})}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],220:[function(t,e,r){var v=t("underscore"),n=t("web3-core-helpers").errors,i=t("web3-core-helpers").formatters,m=t("web3-utils"),g=t("web3-core-promievent"),w=t("web3-core-subscriptions").subscriptions,_=function(t){if(!t.call||!t.name)throw new Error('When creating a method you need to provide at least the "name" and "call" property.');this.name=t.name,this.call=t.call,this.params=t.params||0,this.inputFormatter=t.inputFormatter,this.outputFormatter=t.outputFormatter,this.transformPayload=t.transformPayload,this.extraFormatters=t.extraFormatters,this.requestManager=t.requestManager,this.accounts=t.accounts,this.defaultBlock=t.defaultBlock||"latest",this.defaultAccount=t.defaultAccount||null};_.prototype.setRequestManager=function(t,e){this.requestManager=t,e&&(this.accounts=e)},_.prototype.createFunction=function(t,e){var r=this.buildCall();return r.call=this.call,this.setRequestManager(t||this.requestManager,e||this.accounts),r},_.prototype.attachToObject=function(t){var e=this.buildCall();e.call=this.call;var r=this.name.split(".");1":">",'"':""","'":"'","`":"`"},D=d.invert(q),z=function(e){var r=function(t){return e[t]},t="(?:"+d.keys(e).join("|")+")",n=RegExp(t),i=RegExp(t,"g");return function(t){return t=null==t?"":""+t,n.test(t)?t.replace(i,r):t}};d.escape=z(q),d.unescape=z(D),d.result=function(t,e,r){d.isArray(e)||(e=[e]);var n=e.length;if(!n)return d.isFunction(r)?r.call(t):r;for(var i=0;i/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,$={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,V=function(t){return"\\"+$[t]};d.template=function(o,t,e){!t&&e&&(t=e),t=d.defaults({},t,d.templateSettings);var r,n=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(n,function(t,e,r,n,i){return u+=o.slice(a,i).replace(W,V),a=i+t.length,e?u+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":n&&(u+="';\n"+n+"\n__p+='"),t}),u+="';\n",t.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{r=new Function(t.variable||"obj","_",u)}catch(t){throw t.source=u,t}var i=function(t){return r.call(this,t,d)},s=t.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},d.chain=function(t){var e=d(t);return e._chain=!0,e};var G=function(t,e){return t._chain?d(e).chain():e};d.mixin=function(r){return d.each(d.functions(r),function(t){var e=d[t]=r[t];d.prototype[t]=function(){var t=[this._wrapped];return i.apply(t,arguments),G(this,e.apply(d,t))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var r=n[e];d.prototype[e]=function(){var t=this._wrapped;return r.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],G(this,t)}}),d.each(["concat","join","slice"],function(t){var e=n[t];d.prototype[t]=function(){return G(this,e.apply(this._wrapped,arguments))}}),d.prototype.valueOf=d.prototype.toJSON=d.prototype.value=function(){return this._wrapped},d.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return d})}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],227:[function(t,e,r){var i=t("./jsonrpc"),o=t("web3-core-helpers").errors,n=function(t){this.requestManager=t,this.requests=[]};n.prototype.add=function(t){this.requests.push(t)},n.prototype.execute=function(){var n=this.requests;this.requestManager.sendBatch(n,function(t,r){r=r||[],n.map(function(t,e){return r[e]||{}}).forEach(function(t,e){if(n[e].callback){if(t&&t.error)return n[e].callback(o.ErrorResponse(t));if(!i.isValidResponse(t))return n[e].callback(o.InvalidResponse(t));try{n[e].callback(null,n[e].format?n[e].format(t.result):t.result)}catch(t){n[e].callback(t)}}})})},e.exports=n},{"./jsonrpc":230,"web3-core-helpers":218}],228:[function(t,e,r){var n,i=null;try{n=Function("return this")()}catch(t){n=window}void 0!==n.ethereumProvider?i=n.ethereumProvider:void 0!==n.web3&&n.web3.currentProvider&&(n.web3.currentProvider.sendAsync&&(n.web3.currentProvider.send=n.web3.currentProvider.sendAsync,delete n.web3.currentProvider.sendAsync),!n.web3.currentProvider.on&&n.web3.currentProvider.connection&&"ipcProviderWrapper"===n.web3.currentProvider.connection.constructor.name&&(n.web3.currentProvider.on=function(t,r){if("function"!=typeof r)throw new Error("The second parameter callback must be a function.");switch(t){case"data":this.connection.on("data",function(e){var t="";e=e.toString();try{t=JSON.parse(e)}catch(t){return r(new Error("Couldn't parse response data"+e))}t.id||-1===t.method.indexOf("_subscription")||r(null,t)});break;default:this.connection.on(t,r)}}),i=n.web3.currentProvider),e.exports=i},{}],229:[function(t,e,r){var n=t("underscore"),i=t("web3-core-helpers").errors,o=t("./jsonrpc.js"),a=t("./batch.js"),u=t("./givenProvider.js"),s=function t(e){this.provider=null,this.providers=t.providers,this.setProvider(e),this.subscriptions={}};s.givenProvider=u,s.providers={WebsocketProvider:t("web3-providers-ws"),HttpProvider:t("web3-providers-http"),IpcProvider:t("web3-providers-ipc")},s.prototype.setProvider=function(t,e){var r=this;if(t&&"string"==typeof t&&this.providers)if(/^http(s)?:\/\//i.test(t))t=new this.providers.HttpProvider(t);else if(/^ws(s)?:\/\//i.test(t))t=new this.providers.WebsocketProvider(t);else if(t&&"object"===_typeof(e)&&"function"==typeof e.connect)t=new this.providers.IpcProvider(t,e);else if(t)throw new Error("Can't autodetect provider for \""+t+'"');this.provider&&this.provider.connected&&this.clearSubscriptions(),this.provider=t||null,this.provider&&this.provider.on&&this.provider.on("data",function(t,e){(t=t||e).method&&r.subscriptions[t.params.subscription]&&r.subscriptions[t.params.subscription].callback&&r.subscriptions[t.params.subscription].callback(null,t.params.result)})},s.prototype.send=function(t,r){if(r=r||function(){},!this.provider)return r(i.InvalidProvider());var n=o.toPayload(t.method,t.params);this.provider[this.provider.sendAsync?"sendAsync":"send"](n,function(t,e){return e&&e.id&&n.id!==e.id?r(new Error('Wrong response id "'+e.id+'" (expected: "'+n.id+'") in '+JSON.stringify(n))):t?r(t):e&&e.error?r(i.ErrorResponse(e)):o.isValidResponse(e)?void r(null,e.result):r(i.InvalidResponse(e))})},s.prototype.sendBatch=function(t,r){if(!this.provider)return r(i.InvalidProvider());var e=o.toBatchPayload(t);this.provider[this.provider.sendAsync?"sendAsync":"send"](e,function(t,e){return t?r(t):n.isArray(e)?void r(null,e):r(i.InvalidResponse(e))})},s.prototype.addSubscription=function(t,e,r,n){if(!this.provider.on)throw new Error("The provider doesn't support subscriptions: "+this.provider.constructor.name);this.subscriptions[t]={callback:n,type:r,name:e}},s.prototype.removeSubscription=function(t,e){this.subscriptions[t]&&(this.send({method:this.subscriptions[t].type+"_unsubscribe",params:[t]},e),delete this.subscriptions[t])},s.prototype.clearSubscriptions=function(e){var r=this;Object.keys(this.subscriptions).forEach(function(t){e&&"syncing"===r.subscriptions[t].name||r.removeSubscription(t)}),this.provider.reset&&this.provider.reset()},e.exports={Manager:s,BatchManager:a}},{"./batch.js":227,"./givenProvider.js":228,"./jsonrpc.js":230,underscore:226,"web3-core-helpers":218,"web3-providers-http":425,"web3-providers-ipc":428,"web3-providers-ws":434}],230:[function(t,e,r){var n={messageId:0,toPayload:function(t,e){if(!t)throw new Error('JSONRPC method should be specified for params: "'+JSON.stringify(e)+'"!');return n.messageId++,{jsonrpc:"2.0",id:n.messageId,method:t,params:e||[]}},isValidResponse:function(t){return Array.isArray(t)?t.every(e):e(t);function e(t){return!(!t||t.error||"2.0"!==t.jsonrpc||"number"!=typeof t.id&&"string"!=typeof t.id||void 0===t.result)}},toBatchPayload:function(t){return t.map(function(t){return n.toPayload(t.method,t.params)})}};e.exports=n},{}],231:[function(t,e,r){arguments[4][224][0].apply(r,arguments)},{dup:224}],232:[function(t,J,Z){(function(X){!function(){var t="object"==("undefined"==typeof self?"undefined":_typeof(self))&&self.self===self&&self||"object"==_typeof(X)&&X.global===X&&X||this||{},e=t._,n=Array.prototype,a=Object.prototype,l="undefined"!=typeof Symbol?Symbol.prototype:null,i=n.push,s=n.slice,h=a.toString,o=a.hasOwnProperty,r=Array.isArray,u=Object.keys,c=Object.create,f=function(){},d=function t(e){return e instanceof t?e:this instanceof t?void(this._wrapped=e):new t(e)};void 0===Z||Z.nodeType?t._=d:(void 0!==J&&!J.nodeType&&J.exports&&(Z=J.exports=d),Z._=d),d.VERSION="1.9.1";var p,y=function(i,o,t){if(void 0===o)return i;switch(null==t?3:t){case 1:return function(t){return i.call(o,t)};case 3:return function(t,e,r){return i.call(o,t,e,r)};case 4:return function(t,e,r,n){return i.call(o,t,e,r,n)}}return function(){return i.apply(o,arguments)}},b=function(t,e,r){return d.iteratee!==p?d.iteratee(t,e):null==t?d.identity:d.isFunction(t)?y(t,e,r):d.isObject(t)&&!d.isArray(t)?d.matcher(t):d.property(t)};d.iteratee=p=function(t,e){return b(t,e,1/0)};var v=function(i,o){return o=null==o?i.length-1:+o,function(){for(var t=Math.max(arguments.length-o,0),e=Array(t),r=0;r":">",'"':""","'":"'","`":"`"},D=d.invert(q),z=function(e){var r=function(t){return e[t]},t="(?:"+d.keys(e).join("|")+")",n=RegExp(t),i=RegExp(t,"g");return function(t){return t=null==t?"":""+t,n.test(t)?t.replace(i,r):t}};d.escape=z(q),d.unescape=z(D),d.result=function(t,e,r){d.isArray(e)||(e=[e]);var n=e.length;if(!n)return d.isFunction(r)?r.call(t):r;for(var i=0;i/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,$={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,V=function(t){return"\\"+$[t]};d.template=function(o,t,e){!t&&e&&(t=e),t=d.defaults({},t,d.templateSettings);var r,n=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(n,function(t,e,r,n,i){return u+=o.slice(a,i).replace(W,V),a=i+t.length,e?u+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":n&&(u+="';\n"+n+"\n__p+='"),t}),u+="';\n",t.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{r=new Function(t.variable||"obj","_",u)}catch(t){throw t.source=u,t}var i=function(t){return r.call(this,t,d)},s=t.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},d.chain=function(t){var e=d(t);return e._chain=!0,e};var G=function(t,e){return t._chain?d(e).chain():e};d.mixin=function(r){return d.each(d.functions(r),function(t){var e=d[t]=r[t];d.prototype[t]=function(){var t=[this._wrapped];return i.apply(t,arguments),G(this,e.apply(d,t))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var r=n[e];d.prototype[e]=function(){var t=this._wrapped;return r.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],G(this,t)}}),d.each(["concat","join","slice"],function(t){var e=n[t];d.prototype[t]=function(){return G(this,e.apply(this._wrapped,arguments))}}),d.prototype.valueOf=d.prototype.toJSON=d.prototype.value=function(){return this._wrapped},d.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return d})}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],233:[function(t,e,r){var n=t("./subscription.js"),i=function(t){this.name=t.name,this.type=t.type,this.subscriptions=t.subscriptions||{},this.requestManager=null};i.prototype.setRequestManager=function(t){this.requestManager=t},i.prototype.attachToObject=function(t){var e=this.buildCall(),r=this.name.split(".");1>>26-a&67108863,26<=(a+=24)&&(a-=26,i++);else if("le"===r)for(i=n=0;n>>26-a&67108863,26<=(a+=24)&&(a-=26,i++);return this.strip()},v.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r>>26-o&4194303,26<=(o+=24)&&(o-=26,n++);r+6!==e&&(i=a(t,e,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},v.prototype._parseBase=function(t,e,r){this.words=[0];for(var n=0,i=this.length=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,u=Math.min(o,o-a)+r,s=0,c=r;c"};var h=["","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"],d=[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],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function i(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;n=(r.length=n)-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,u=67108863&a,s=a/67108864|0;r.words[0]=u;for(var c=1;c>>26,l=67108863&s,h=Math.min(c,e.length-1),d=Math.max(0,c-t.length+1);d<=h;d++){var p=c-d|0;f+=(a=(i=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&a}r.words[c]=0|l,s=0|f}return 0!==s?r.words[c]=0|s:r.length--,r.strip()}v.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,i=0,o=0;o>>24-n&16777215)||o!==this.length-1?h[6-u.length]+u+r:u+r,26<=(n+=2)&&(n-=26,o--)}for(0!==i&&(r=i.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&2<=t&&t<=36){var s=d[t],c=p[t];r="";var f=this.clone();for(f.negative=0;!f.isZero();){var l=f.modn(c).toString(t);r=(f=f.idivn(c)).isZero()?l+r:h[s-l.length]+l+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}b(!1,"Base should be between 2 and 36")},v.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:2>>=13),64<=e&&(r+=7,e>>>=7),8<=e&&(r+=4,e>>>=4),2<=e&&(r+=2,e>>>=2),r+e},v.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},v.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},v.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},v.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},v.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},v.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},v.prototype.iuxor=function(t){var e,r;r=this.length>t.length?(e=this,t):(e=t,this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},v.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},v.prototype.inotn=function(t){b("number"==typeof t&&0<=t);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),0>26-r),this.strip()},v.prototype.notn=function(t){return this.clone().inotn(t)},v.prototype.setn=function(t,e){b("number"==typeof t&&0<=t);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,t):(r=t,this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},v.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;n=0>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,y=d>>>13,b=0|a[2],v=8191&b,m=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,A=0|a[4],x=8191&A,k=A>>>13,S=0|a[5],M=8191&S,E=S>>>13,j=0|a[6],U=8191&j,I=j>>>13,O=0|a[7],T=8191&O,N=O>>>13,B=0|a[8],C=8191&B,P=B>>>13,R=0|a[9],F=8191&R,L=R>>>13,q=0|u[0],D=8191&q,z=q>>>13,H=0|u[1],K=8191&H,$=H>>>13,W=0|u[2],V=8191&W,G=W>>>13,X=0|u[3],J=8191&X,Z=X>>>13,Y=0|u[4],Q=8191&Y,tt=Y>>>13,et=0|u[5],rt=8191&et,nt=et>>>13,it=0|u[6],ot=8191&it,at=it>>>13,ut=0|u[7],st=8191&ut,ct=ut>>>13,ft=0|u[8],lt=8191&ft,ht=ft>>>13,dt=0|u[9],pt=8191&dt,yt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(c+(n=Math.imul(l,D))|0)+((8191&(i=(i=Math.imul(l,z))+Math.imul(h,D)|0))<<13)|0;c=((o=Math.imul(h,z))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,D),i=(i=Math.imul(p,z))+Math.imul(y,D)|0,o=Math.imul(y,z);var vt=(c+(n=n+Math.imul(l,K)|0)|0)+((8191&(i=(i=i+Math.imul(l,$)|0)+Math.imul(h,K)|0))<<13)|0;c=((o=o+Math.imul(h,$)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,D),i=(i=Math.imul(v,z))+Math.imul(m,D)|0,o=Math.imul(m,z),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,$)|0;var mt=(c+(n=n+Math.imul(l,V)|0)|0)+((8191&(i=(i=i+Math.imul(l,G)|0)+Math.imul(h,V)|0))<<13)|0;c=((o=o+Math.imul(h,G)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(w,D),i=(i=Math.imul(w,z))+Math.imul(_,D)|0,o=Math.imul(_,z),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,$)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,$)|0,n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(y,V)|0,o=o+Math.imul(y,G)|0;var gt=(c+(n=n+Math.imul(l,J)|0)|0)+((8191&(i=(i=i+Math.imul(l,Z)|0)+Math.imul(h,J)|0))<<13)|0;c=((o=o+Math.imul(h,Z)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(x,D),i=(i=Math.imul(x,z))+Math.imul(k,D)|0,o=Math.imul(k,z),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,$)|0,n=n+Math.imul(v,V)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,G)|0,n=n+Math.imul(p,J)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(y,J)|0,o=o+Math.imul(y,Z)|0;var wt=(c+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(h,Q)|0))<<13)|0;c=((o=o+Math.imul(h,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(M,D),i=(i=Math.imul(M,z))+Math.imul(E,D)|0,o=Math.imul(E,z),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(k,K)|0,o=o+Math.imul(k,$)|0,n=n+Math.imul(w,V)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,V)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,J)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(m,J)|0,o=o+Math.imul(m,Z)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0;var _t=(c+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((o=o+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(U,D),i=(i=Math.imul(U,z))+Math.imul(I,D)|0,o=Math.imul(I,z),n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,$)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,$)|0,n=n+Math.imul(x,V)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(k,V)|0,o=o+Math.imul(k,G)|0,n=n+Math.imul(w,J)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,J)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0;var At=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,at)|0)+Math.imul(h,ot)|0))<<13)|0;c=((o=o+Math.imul(h,at)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(T,D),i=(i=Math.imul(T,z))+Math.imul(N,D)|0,o=Math.imul(N,z),n=n+Math.imul(U,K)|0,i=(i=i+Math.imul(U,$)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,$)|0,n=n+Math.imul(M,V)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(E,V)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(x,J)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(k,J)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0;var xt=(c+(n=n+Math.imul(l,st)|0)|0)+((8191&(i=(i=i+Math.imul(l,ct)|0)+Math.imul(h,st)|0))<<13)|0;c=((o=o+Math.imul(h,ct)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(C,D),i=(i=Math.imul(C,z))+Math.imul(P,D)|0,o=Math.imul(P,z),n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,$)|0)+Math.imul(N,K)|0,o=o+Math.imul(N,$)|0,n=n+Math.imul(U,V)|0,i=(i=i+Math.imul(U,G)|0)+Math.imul(I,V)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,Z)|0)+Math.imul(E,J)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,n=n+Math.imul(p,st)|0,i=(i=i+Math.imul(p,ct)|0)+Math.imul(y,st)|0,o=o+Math.imul(y,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ht)|0)+Math.imul(h,lt)|0))<<13)|0;c=((o=o+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(F,D),i=(i=Math.imul(F,z))+Math.imul(L,D)|0,o=Math.imul(L,z),n=n+Math.imul(C,K)|0,i=(i=i+Math.imul(C,$)|0)+Math.imul(P,K)|0,o=o+Math.imul(P,$)|0,n=n+Math.imul(T,V)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(N,V)|0,o=o+Math.imul(N,G)|0,n=n+Math.imul(U,J)|0,i=(i=i+Math.imul(U,Z)|0)+Math.imul(I,J)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(k,rt)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,st)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(m,st)|0,o=o+Math.imul(m,ct)|0,n=n+Math.imul(p,lt)|0,i=(i=i+Math.imul(p,ht)|0)+Math.imul(y,lt)|0,o=o+Math.imul(y,ht)|0;var St=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(i=(i=i+Math.imul(l,yt)|0)+Math.imul(h,pt)|0))<<13)|0;c=((o=o+Math.imul(h,yt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(F,K),i=(i=Math.imul(F,$))+Math.imul(L,K)|0,o=Math.imul(L,$),n=n+Math.imul(C,V)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(P,V)|0,o=o+Math.imul(P,G)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,Z)|0)+Math.imul(N,J)|0,o=o+Math.imul(N,Z)|0,n=n+Math.imul(U,Q)|0,i=(i=i+Math.imul(U,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,at)|0,n=n+Math.imul(w,st)|0,i=(i=i+Math.imul(w,ct)|0)+Math.imul(_,st)|0,o=o+Math.imul(_,ct)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,ht)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ht)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,yt)|0)+Math.imul(y,pt)|0))<<13)|0;c=((o=o+Math.imul(y,yt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(F,V),i=(i=Math.imul(F,G))+Math.imul(L,V)|0,o=Math.imul(L,G),n=n+Math.imul(C,J)|0,i=(i=i+Math.imul(C,Z)|0)+Math.imul(P,J)|0,o=o+Math.imul(P,Z)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,tt)|0,n=n+Math.imul(U,rt)|0,i=(i=i+Math.imul(U,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(x,st)|0,i=(i=i+Math.imul(x,ct)|0)+Math.imul(k,st)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(w,lt)|0,i=(i=i+Math.imul(w,ht)|0)+Math.imul(_,lt)|0,o=o+Math.imul(_,ht)|0;var Et=(c+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,yt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((o=o+Math.imul(m,yt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(F,J),i=(i=Math.imul(F,Z))+Math.imul(L,J)|0,o=Math.imul(L,Z),n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(N,rt)|0,o=o+Math.imul(N,nt)|0,n=n+Math.imul(U,ot)|0,i=(i=i+Math.imul(U,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(M,st)|0,i=(i=i+Math.imul(M,ct)|0)+Math.imul(E,st)|0,o=o+Math.imul(E,ct)|0,n=n+Math.imul(x,lt)|0,i=(i=i+Math.imul(x,ht)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,ht)|0;var jt=(c+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,yt)|0)+Math.imul(_,pt)|0))<<13)|0;c=((o=o+Math.imul(_,yt)|0)+(i>>>13)|0)+(jt>>>26)|0,jt&=67108863,n=Math.imul(F,Q),i=(i=Math.imul(F,tt))+Math.imul(L,Q)|0,o=Math.imul(L,tt),n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,at)|0)+Math.imul(N,ot)|0,o=o+Math.imul(N,at)|0,n=n+Math.imul(U,st)|0,i=(i=i+Math.imul(U,ct)|0)+Math.imul(I,st)|0,o=o+Math.imul(I,ct)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ht)|0;var Ut=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,yt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,yt)|0)+(i>>>13)|0)+(Ut>>>26)|0,Ut&=67108863,n=Math.imul(F,rt),i=(i=Math.imul(F,nt))+Math.imul(L,rt)|0,o=Math.imul(L,nt),n=n+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,at)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,at)|0,n=n+Math.imul(T,st)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(N,st)|0,o=o+Math.imul(N,ct)|0,n=n+Math.imul(U,lt)|0,i=(i=i+Math.imul(U,ht)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ht)|0;var It=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,yt)|0)+Math.imul(E,pt)|0))<<13)|0;c=((o=o+Math.imul(E,yt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(F,ot),i=(i=Math.imul(F,at))+Math.imul(L,ot)|0,o=Math.imul(L,at),n=n+Math.imul(C,st)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(P,st)|0,o=o+Math.imul(P,ct)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(N,lt)|0,o=o+Math.imul(N,ht)|0;var Ot=(c+(n=n+Math.imul(U,pt)|0)|0)+((8191&(i=(i=i+Math.imul(U,yt)|0)+Math.imul(I,pt)|0))<<13)|0;c=((o=o+Math.imul(I,yt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(F,st),i=(i=Math.imul(F,ct))+Math.imul(L,st)|0,o=Math.imul(L,ct),n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ht)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ht)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,yt)|0)+Math.imul(N,pt)|0))<<13)|0;c=((o=o+Math.imul(N,yt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(F,lt),i=(i=Math.imul(F,ht))+Math.imul(L,lt)|0,o=Math.imul(L,ht);var Nt=(c+(n=n+Math.imul(C,pt)|0)|0)+((8191&(i=(i=i+Math.imul(C,yt)|0)+Math.imul(P,pt)|0))<<13)|0;c=((o=o+Math.imul(P,yt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863;var Bt=(c+(n=Math.imul(F,pt))|0)+((8191&(i=(i=Math.imul(F,yt))+Math.imul(L,pt)|0))<<13)|0;return c=((o=Math.imul(L,yt))+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,s[0]=bt,s[1]=vt,s[2]=mt,s[3]=gt,s[4]=wt,s[5]=_t,s[6]=At,s[7]=xt,s[8]=kt,s[9]=St,s[10]=Mt,s[11]=Et,s[12]=jt,s[13]=Ut,s[14]=It,s[15]=Ot,s[16]=Tt,s[17]=Nt,s[18]=Bt,0!==c&&(s[19]=c,r.length++),r};function u(t,e,r){return(new s).mulp(t,e,r)}function s(t,e){this.x=t,this.y=e}Math.imul||(o=i),v.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?o(this,t,e):r<63?i(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=u,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):u(this,t,e)},s.prototype.makeRBT=function(t){for(var e=new Array(t),r=v.prototype._countBits(t)-1,n=0;n>=1;return n},s.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*o+1]=8191&i,i>>>=13;for(o=2*e;o>=26,e+=n/67108864|0,e+=i>>>26,this.words[r]=67108863&i}return 0!==e&&(this.words[r]=e,this.length++),this},v.prototype.muln=function(t){return this.clone().imuln(t)},v.prototype.sqr=function(){return this.mul(this)},v.prototype.isqr=function(){return this.imul(this.clone())},v.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new v(1);for(var r=this,n=0;n>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;0<=e;e--)this.words[e+n]=this.words[e];for(e=0;e>>i<o)for(this.length-=o,s=0;s>>i,c=f&a}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},v.prototype.ishrn=function(t,e,r){return b(0===this.negative),this.iushrn(t,e,r)},v.prototype.shln=function(t){return this.clone().ishln(t)},v.prototype.ushln=function(t){return this.clone().iushln(t)},v.prototype.shrn=function(t){return this.clone().ishrn(t)},v.prototype.ushrn=function(t){return this.clone().iushrn(t)},v.prototype.testn=function(t){b("number"==typeof t&&0<=t);var e=t%26,r=(t-e)/26,n=1<>>e<>26)-(u/67108864|0),this.words[n+r]=67108863&i}for(;n>26,this.words[n+r]=67108863&i;if(0===a)return this.strip();for(b(-1===a),n=a=0;n>26,this.words[n]=67108863&i;return this.negative=1,this.strip()},v.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var a,u=n.length-i.length;if("mod"!==e){(a=new v(null)).length=u+1,a.words=new Array(a.length);for(var s=0;sthis.length||this.cmp(t)<0?{div:new v(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new v(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new v(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,i,o},v.prototype.div=function(t){return this.divmod(t,"div",!1).div},v.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},v.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},v.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},v.prototype.modn=function(t){b(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;0<=n;n--)r=(e*r+(0|this.words[n]))%t;return r},v.prototype.idivn=function(t){b(t<=67108863);for(var e=0,r=this.length-1;0<=r;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},v.prototype.divn=function(t){return this.clone().idivn(t)},v.prototype.egcd=function(t){b(0===t.negative),b(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new v(1),i=new v(0),o=new v(0),a=new v(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var s=r.clone(),c=e.clone();!e.isZero();){for(var f=0,l=1;0==(e.words[0]&l)&&f<26;++f,l<<=1);if(0>>26,a&=67108863,this.words[o]=a}return 0!==i&&(this.words[o]=i,this.length++),this},v.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},v.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),1t.length)return 1;if(this.lengththis.n;);var n=e>>22,i=o}i>>>=22,0===(t.words[n-10]=i)&&10>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},v._prime=function(t){if(c[t])return c[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new m;else if("p192"===t)e=new g;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return c[t]=e},_.prototype._verify1=function(t){b(0===t.negative,"red works only with positives"),b(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){b(0==(t.negative|e.negative),"red works only with positives"),b(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return 0<=r.cmp(this.m)&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return 0<=r.cmp(this.m)&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(b(e%2==1),3===e){var r=this.m.add(new v(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),i=0;!n.isZero()&&0===n.andln(1);)i++,n.iushrn(1);b(!n.isZero());var o=new v(1).toRed(this),a=o.redNeg(),u=this.m.subn(1).iushrn(1),s=this.m.bitLength();for(s=new v(2*s*s).toRed(this);0!==this.pow(s,u).cmp(a);)s.redIAdd(a);for(var c=this.pow(s,n),f=this.pow(t,n.addn(1).iushrn(1)),l=this.pow(t,n),h=i;0!==l.cmp(o);){for(var d=l,p=0;0!==d.cmp(o);p++)d=d.redSqr();b(p>c&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++a||0===n&&0===c)&&(i=this.mul(i,r[o]),o=a=0)):a=0}u=26}return i},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},v.mont=function(t){return new A(t)},r(A,_),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return 0<=i.cmp(this.m)?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new v(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return 0<=i.cmp(this.m)?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this)},{buffer:17}],238:[function(t,e,r){var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e};Object.defineProperty(r,"__esModule",{value:!0});var a=t("./address"),u=t("./bignumber"),s=t("./bytes"),c=t("./utf8"),f=t("./properties"),l=o(t("./errors")),h=new RegExp(/^bytes([0-9]*)$/),d=new RegExp(/^(u?int)([0-9]*)$/),p=new RegExp(/^(.*)\[([0-9]*)\]$/);r.defaultCoerceFunc=function(t,e){var r=t.match(d);return r&&parseInt(r[2])<=48?e.toNumber():e};var y=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$"),b=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function v(t){return t.match(/^uint($|[^1-9])/)?t="uint256"+t.substring(4):t.match(/^int($|[^1-9])/)&&(t="int256"+t.substring(3)),t}function m(e,t){function r(t){throw new Error('unexpected character "'+e[t]+'" at position '+t+' in "'+e+'"')}for(var n={type:"",name:"",state:{allowType:!0}},i=n,o=0;ot.length)throw new Error("invalid null");return{consumed:0,value:this.coerceFunc("null",void 0)}},t}(w),x=function(a){function t(t,e,r,n){var i=this,o=(r?"int":"uint")+8*e;return(i=a.call(this,t,o,o,n,!1)||this).size=e,i.signed=r,i}return i(t,a),t.prototype.encode=function(e){try{var t=u.bigNumberify(e);return t=t.toTwos(8*this.size).maskn(8*this.size),this.signed&&(t=t.fromTwos(8*this.size).toTwos(256)),s.padZeros(s.arrayify(t),32)}catch(t){l.throwError("invalid number value",l.INVALID_ARGUMENT,{arg:this.localName,coderType:this.name,value:e})}return null},t.prototype.decode=function(t,e){t.length>1]>>4&&(e[i]=e[i].toUpperCase()),8<=(15&r[i>>1])&&(e[i+1]=e[i+1].toUpperCase());return"0x"+e.join("")}for(var f={},l=0;l<10;l++)f[String(l)]=String(l);for(l=0;l<26;l++)f[String.fromCharCode(65+l)]=String(10+l);var h,d=Math.floor((h=9007199254740991,Math.log10?Math.log10(h):Math.log(h)/Math.LN10));function p(t){t=(t=t.toUpperCase()).substring(4)+t.substring(0,2)+"00";var e="";for(t.split("").forEach(function(t){e+=f[t]});e.length>=d;){var r=e.substring(0,d);e=parseInt(r,10)%97+e.substring(r.length)}for(var n=String(98-parseInt(e,10)%97);n.length<2;)n="0"+n;return n}function y(t){var e=null;if("string"!=typeof t&&s.throwError("invalid address",s.INVALID_ARGUMENT,{arg:"address",value:t}),t.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==t.substring(0,2)&&(t="0x"+t),e=c(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&s.throwError("bad address checksum",s.INVALID_ARGUMENT,{arg:"address",value:t});else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==p(t)&&s.throwError("bad icap checksum",s.INVALID_ARGUMENT,{arg:"address",value:t}),e=new i.default.BN(t.substring(4),36).toString(16);e.length<40;)e="0"+e;e=c("0x"+e)}else s.throwError("invalid address",s.INVALID_ARGUMENT,{arg:"address",value:t});return e}r.getAddress=y,r.getIcapAddress=function(t){for(var e=new i.default.BN(y(t).substring(2),16).toString(36).toUpperCase();e.length<30;)e="0"+e;return"XE"+p("XE00"+e)+e},r.getContractAddress=function(t){if(!t.from)throw new Error("missing from address");var e=t.nonce;return y("0x"+a.keccak256(u.encode([y(t.from),o.stripZeros(o.hexlify(e))])).substring(26))}},{"./bytes":241,"./errors":242,"./keccak256":243,"./rlp":245,"bn.js":237}],240:[function(t,e,r){var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},a=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e};Object.defineProperty(r,"__esModule",{value:!0});var u=o(t("bn.js")),s=t("./bytes"),c=t("./properties"),f=t("./types"),l=a(t("./errors")),h=new u.default.BN(-1);function d(t){var e=t.toString(16);return"-"===e[0]?e.length%2==0?"-0x0"+e.substring(1):"-0x"+e.substring(1):e.length%2==1?"0x0"+e:"0x"+e}function p(t){return v(t)._bn}function y(t){return new b(d(t))}var b=function(r){function n(t){var e=r.call(this)||this;if(l.checkNew(e,n),"string"==typeof t)s.isHexString(t)?("0x"==t&&(t="0x0"),c.defineReadOnly(e,"_hex",t)):"-"===t[0]&&s.isHexString(t.substring(1))?c.defineReadOnly(e,"_hex",t):t.match(/^-?[0-9]*$/)?(""==t&&(t="0"),c.defineReadOnly(e,"_hex",d(new u.default.BN(t)))):l.throwError("invalid BigNumber string value",l.INVALID_ARGUMENT,{arg:"value",value:t});else if("number"==typeof t){parseInt(String(t))!==t&&l.throwError("underflow",l.NUMERIC_FAULT,{operation:"setValue",fault:"underflow",value:t,outputValue:parseInt(String(t))});try{c.defineReadOnly(e,"_hex",d(new u.default.BN(t)))}catch(t){l.throwError("overflow",l.NUMERIC_FAULT,{operation:"setValue",fault:"overflow",details:t.message})}}else t instanceof n?c.defineReadOnly(e,"_hex",t._hex):t.toHexString?c.defineReadOnly(e,"_hex",d(p(t.toHexString()))):s.isArrayish(t)?c.defineReadOnly(e,"_hex",d(new u.default.BN(s.hexlify(t).substring(2),16))):l.throwError("invalid BigNumber value",l.INVALID_ARGUMENT,{arg:"value",value:t});return e}return i(n,r),Object.defineProperty(n.prototype,"_bn",{get:function(){return"-"===this._hex[0]?new u.default.BN(this._hex.substring(3),16).mul(h):new u.default.BN(this._hex.substring(2),16)},enumerable:!0,configurable:!0}),n.prototype.fromTwos=function(t){return y(this._bn.fromTwos(t))},n.prototype.toTwos=function(t){return y(this._bn.toTwos(t))},n.prototype.add=function(t){return y(this._bn.add(p(t)))},n.prototype.sub=function(t){return y(this._bn.sub(p(t)))},n.prototype.div=function(t){return v(t).isZero()&&l.throwError("division by zero",l.NUMERIC_FAULT,{operation:"divide",fault:"division by zero"}),y(this._bn.div(p(t)))},n.prototype.mul=function(t){return y(this._bn.mul(p(t)))},n.prototype.mod=function(t){return y(this._bn.mod(p(t)))},n.prototype.pow=function(t){return y(this._bn.pow(p(t)))},n.prototype.maskn=function(t){return y(this._bn.maskn(t))},n.prototype.eq=function(t){return this._bn.eq(p(t))},n.prototype.lt=function(t){return this._bn.lt(p(t))},n.prototype.lte=function(t){return this._bn.lte(p(t))},n.prototype.gt=function(t){return this._bn.gt(p(t))},n.prototype.gte=function(t){return this._bn.gte(p(t))},n.prototype.isZero=function(){return this._bn.isZero()},n.prototype.toNumber=function(){try{return this._bn.toNumber()}catch(t){l.throwError("overflow",l.NUMERIC_FAULT,{operation:"setValue",fault:"overflow",details:t.message})}return null},n.prototype.toString=function(){return this._bn.toString(10)},n.prototype.toHexString=function(){return this._hex},n}(f.BigNumber);function v(t){return t instanceof b?t:new b(t)}r.bigNumberify=v,r.ConstantNegativeOne=v(-1),r.ConstantZero=v(0),r.ConstantOne=v(1),r.ConstantTwo=v(2),r.ConstantWeiPerEther=v("1000000000000000000")},{"./bytes":241,"./errors":242,"./properties":244,"./types":246,"bn.js":237}],241:[function(t,e,r){Object.defineProperty(r,"__esModule",{value:!0});var n=t("./types"),u=t("./errors");function a(t){return t instanceof n.BigNumber}function s(e){return e.slice||(e.slice=function(){var t=Array.prototype.slice.call(arguments);return new Uint8Array(Array.prototype.slice.apply(e,t))}),e}function c(t){if(!t||parseInt(String(t.length))!=t.length||"string"==typeof t)return!1;for(var e=0;e>4]+l[15&o])}return"0x"+n.join("")}return u.throwError("invalid hexlify value",null,{arg:"value",value:t}),"never"}function d(t,e){for(o(t)||u.throwError("invalid hex string",u.INVALID_ARGUMENT,{arg:"value",value:t});t.length<2*e+2;)t="0x0"+t.substring(2);return t}function p(t){var e,r=0,n="0x",i="0x";if((e=t)&&null!=e.r&&null!=e.s){null==t.v&&null==t.recoveryParam&&u.throwError("at least on of recoveryParam or v must be specified",u.INVALID_ARGUMENT,{argument:"signature",value:t}),n=d(t.r,32),i=d(t.s,32),"string"==typeof(r=t.v)&&(r=parseInt(r,16));var o=t.recoveryParam;null==o&&null!=t.v&&(o=1-r%2),r=27+o}else{var a=f(t);if(65!==a.length)throw new Error("invalid signature");n=h(a.slice(0,32)),i=h(a.slice(32,64)),27!==(r=a[64])&&28!==r&&(r=27+r%2)}return{r:n,s:i,recoveryParam:r-27,v:r}}r.hexlify=h,r.hexDataLength=function(t){return o(t)&&t.length%2==0?(t.length-2)/2:null},r.hexDataSlice=function(t,e,r){return o(t)||u.throwError("invalid hex data",u.INVALID_ARGUMENT,{arg:"value",value:t}),t.length%2!=0&&u.throwError("hex data length must be even",u.INVALID_ARGUMENT,{arg:"value",value:t}),e=2+2*e,null!=r?"0x"+t.substring(e,e+2*r):"0x"+t.substring(e)},r.hexStripZeros=function(t){for(o(t)||u.throwError("invalid hex string",u.INVALID_ARGUMENT,{arg:"value",value:t});3>=8;return e}function i(t,e,r){for(var n=0,i=0;it.length)throw new Error("too short");if(e+1+r+(n=i(t,e+1,r))>t.length)throw new Error("to short");return u(t,e,e+1+r,r+n)}if(192<=t[e]){if(e+1+(n=t[e]-192)>t.length)throw new Error("invalid rlp data");return u(t,e,e+1,n)}if(184<=t[e]){var r;if(e+1+(r=t[e]-183)>t.length)throw new Error("invalid rlp data");if(e+1+r+(n=i(t,e+1,r))>t.length)throw new Error("invalid rlp data");return{consumed:1+r+n,result:o.hexlify(t.slice(e+1+r,e+1+r+n))}}if(128<=t[e]){var n;if(e+1+(n=t[e]-128)>t.length)throw new Error("invlaid rlp data");return{consumed:1+n,result:o.hexlify(t.slice(e+1,e+1+n))}}return{consumed:1,result:o.hexlify(t[e])}}r.encode=function(t){return o.hexlify(function e(t){if(Array.isArray(t)){var r=[];return t.forEach(function(t){r=r.concat(e(t))}),r.length<=55?(r.unshift(192+r.length),r):((n=a(r.length)).unshift(247+n.length),n.concat(r))}var n,i=Array.prototype.slice.call(o.arrayify(t));return 1===i.length&&i[0]<=127?i:i.length<=55?(i.unshift(128+i.length),i):((n=a(i.length)).unshift(183+n.length),n.concat(i))}(t))},r.decode=function(t){var e=o.arrayify(t),r=s(e,0);if(r.consumed!==e.length)throw new Error("invalid rlp data");return r.result}},{"./bytes":241}],246:[function(t,e,r){Object.defineProperty(r,"__esModule",{value:!0});var n=function(){};r.BigNumber=n;var i=function(){};r.Indexed=i;var o=function(){};r.MinimalProvider=o;var a=function(){};r.Signer=a;var u=function(){};r.HDNode=u},{}],247:[function(t,e,r){Object.defineProperty(r,"__esModule",{value:!0});var a,n,s=t("./bytes");(n=a=r.UnicodeNormalizationForm||(r.UnicodeNormalizationForm={})).current="",n.NFC="NFC",n.NFD="NFD",n.NFKC="NFKC",n.NFKD="NFKD",r.toUtf8Bytes=function(t,e){void 0===e&&(e=a.current),e!=a.current&&(t=t.normalize(e));for(var r=[],n=0,i=0;i>6|192:(55296==(64512&o)&&i+1>18|240,r[n++]=o>>12&63|128):r[n++]=o>>12|224,o>>6&63|128),63&o|128)}return s.arrayify(r)},r.toUtf8String=function(t){t=s.arrayify(t);for(var e="",r=0;r>7!=0){if(n>>6!=2){var i=null;if(n>>5==6)i=1;else if(n>>4==14)i=2;else if(n>>3==30)i=3;else if(n>>2==62)i=4;else{if(n>>1!=126)continue;i=5}if(r+i>t.length){for(;r>6==2;r++);if(r!=t.length)continue;return e}var o,a=n&(1<<8-i-1)-1;for(o=0;o>6!=2)break;a=a<<6|63&u}o==i?a<=65535?e+=String.fromCharCode(a):(a-=65536,e+=String.fromCharCode(55296+(a>>10&1023),56320+(1023&a))):r--}}else e+=String.fromCharCode(n)}return e}},{"./bytes":241}],248:[function(t,_,e){(function(g,w){!function(){var t="object"===("undefined"==typeof window?"undefined":_typeof(window))?window:{};!t.JS_SHA3_NO_NODE_JS&&"object"===_typeof(g)&&g.versions&&g.versions.node&&(t=w);for(var e=!t.JS_SHA3_NO_COMMON_JS&&"object"===_typeof(_)&&_.exports,s="0123456789abcdef".split(""),f=[0,8,16,24],ft=[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],r=[224,256,384,512],o=["hex","buffer","arrayBuffer","array"],a=function(e,r,n){return function(t){return new v(e,r,e).update(t)[n]()}},u=function(r,n,i){return function(t,e){return new v(r,n,e).update(t)[i]()}},n=function(t,e){var r=a(t,e,"hex");r.create=function(){return new v(t,e,t)},r.update=function(t){return r.create().update(t)};for(var n=0;n>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}v.prototype.update=function(t){var e="string"!=typeof t;e&&t.constructor===ArrayBuffer&&(t=new Uint8Array(t));for(var r,n,i=t.length,o=this.blocks,a=this.byteCount,u=this.blockCount,s=0,c=this.s;s>2]|=t[s]<>2]|=n<>2]|=(192|n>>6)<>2]|=(224|n>>12)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[r],e=1;e>4&15]+s[15&t]+s[t>>12&15]+s[t>>8&15]+s[t>>20&15]+s[t>>16&15]+s[t>>28&15]+s[t>>24&15];a%e==0&&(m(r),o=0)}return i&&(t=r[o],0>4&15]+s[15&t]),1>12&15]+s[t>>8&15]),2>20&15]+s[t>>16&15])),u},v.prototype.buffer=v.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,u=this.outputBits>>3;t=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(u);for(var s=new Uint32Array(t);a>8&255,s[t+2]=e>>16&255,s[t+3]=e>>24&255;u%r==0&&m(n)}return o&&(t=u<<2,e=n[a],0>8&255),2>16&255)),s};var m=function(t){var e,r,n,i,o,a,u,s,c,f,l,h,d,p,y,b,v,m,g,w,_,A,x,k,S,M,E,j,U,I,O,T,N,B,C,P,R,F,L,q,D,z,H,K,$,W,V,G,X,J,Z,Y,Q,tt,et,rt,nt,it,ot,at,ut,st,ct;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],u=t[3]^t[13]^t[23]^t[33]^t[43],s=t[4]^t[14]^t[24]^t[34]^t[44],c=t[5]^t[15]^t[25]^t[35]^t[45],f=t[6]^t[16]^t[26]^t[36]^t[46],l=t[7]^t[17]^t[27]^t[37]^t[47],e=(h=t[8]^t[18]^t[28]^t[38]^t[48])^(a<<1|u>>>31),r=(d=t[9]^t[19]^t[29]^t[39]^t[49])^(u<<1|a>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(s<<1|c>>>31),r=o^(c<<1|s>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=a^(f<<1|l>>>31),r=u^(l<<1|f>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=s^(h<<1|d>>>31),r=c^(d<<1|h>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=f^(i<<1|o>>>31),r=l^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,p=t[0],y=t[1],W=t[11]<<4|t[10]>>>28,V=t[10]<<4|t[11]>>>28,j=t[20]<<3|t[21]>>>29,U=t[21]<<3|t[20]>>>29,at=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,z=t[40]<<18|t[41]>>>14,H=t[41]<<18|t[40]>>>14,B=t[2]<<1|t[3]>>>31,C=t[3]<<1|t[2]>>>31,b=t[13]<<12|t[12]>>>20,v=t[12]<<12|t[13]>>>20,G=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,I=t[33]<<13|t[32]>>>19,O=t[32]<<13|t[33]>>>19,st=t[42]<<2|t[43]>>>30,ct=t[43]<<2|t[42]>>>30,tt=t[5]<<30|t[4]>>>2,et=t[4]<<30|t[5]>>>2,P=t[14]<<6|t[15]>>>26,R=t[15]<<6|t[14]>>>26,m=t[25]<<11|t[24]>>>21,g=t[24]<<11|t[25]>>>21,J=t[34]<<15|t[35]>>>17,Z=t[35]<<15|t[34]>>>17,T=t[45]<<29|t[44]>>>3,N=t[44]<<29|t[45]>>>3,k=t[6]<<28|t[7]>>>4,S=t[7]<<28|t[6]>>>4,rt=t[17]<<23|t[16]>>>9,nt=t[16]<<23|t[17]>>>9,F=t[26]<<25|t[27]>>>7,L=t[27]<<25|t[26]>>>7,w=t[36]<<21|t[37]>>>11,_=t[37]<<21|t[36]>>>11,Y=t[47]<<24|t[46]>>>8,Q=t[46]<<24|t[47]>>>8,K=t[8]<<27|t[9]>>>5,$=t[9]<<27|t[8]>>>5,M=t[18]<<20|t[19]>>>12,E=t[19]<<20|t[18]>>>12,it=t[29]<<7|t[28]>>>25,ot=t[28]<<7|t[29]>>>25,q=t[38]<<8|t[39]>>>24,D=t[39]<<8|t[38]>>>24,A=t[48]<<14|t[49]>>>18,x=t[49]<<14|t[48]>>>18,t[0]=p^~b&m,t[1]=y^~v&g,t[10]=k^~M&j,t[11]=S^~E&U,t[20]=B^~P&F,t[21]=C^~R&L,t[30]=K^~W&G,t[31]=$^~V&X,t[40]=tt^~rt&it,t[41]=et^~nt&ot,t[2]=b^~m&w,t[3]=v^~g&_,t[12]=M^~j&I,t[13]=E^~U&O,t[22]=P^~F&q,t[23]=R^~L&D,t[32]=W^~G&J,t[33]=V^~X&Z,t[42]=rt^~it&at,t[43]=nt^~ot&ut,t[4]=m^~w&A,t[5]=g^~_&x,t[14]=j^~I&T,t[15]=U^~O&N,t[24]=F^~q&z,t[25]=L^~D&H,t[34]=G^~J&Y,t[35]=X^~Z&Q,t[44]=it^~at&st,t[45]=ot^~ut&ct,t[6]=w^~A&p,t[7]=_^~x&y,t[16]=I^~T&k,t[17]=O^~N&S,t[26]=q^~z&B,t[27]=D^~H&C,t[36]=J^~Y&K,t[37]=Z^~Q&$,t[46]=at^~st&tt,t[47]=ut^~ct&et,t[8]=A^~p&b,t[9]=x^~y&v,t[18]=T^~k&M,t[19]=N^~S&E,t[28]=z^~B&P,t[29]=H^~C&R,t[38]=Y^~K&W,t[39]=Q^~$&V,t[48]=st^~tt&rt,t[49]=ct^~et&nt,t[0]^=ft[n],t[1]^=ft[n+1]};if(e)_.exports=c;else for(h=0;h":">",'"':""","'":"'","`":"`"},D=d.invert(q),z=function(e){var r=function(t){return e[t]},t="(?:"+d.keys(e).join("|")+")",n=RegExp(t),i=RegExp(t,"g");return function(t){return t=null==t?"":""+t,n.test(t)?t.replace(i,r):t}};d.escape=z(q),d.unescape=z(D),d.result=function(t,e,r){d.isArray(e)||(e=[e]);var n=e.length;if(!n)return d.isFunction(r)?r.call(t):r;for(var i=0;i/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,$={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,V=function(t){return"\\"+$[t]};d.template=function(o,t,e){!t&&e&&(t=e),t=d.defaults({},t,d.templateSettings);var r,n=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(n,function(t,e,r,n,i){return u+=o.slice(a,i).replace(W,V),a=i+t.length,e?u+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":n&&(u+="';\n"+n+"\n__p+='"),t}),u+="';\n",t.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{r=new Function(t.variable||"obj","_",u)}catch(t){throw t.source=u,t}var i=function(t){return r.call(this,t,d)},s=t.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},d.chain=function(t){var e=d(t);return e._chain=!0,e};var G=function(t,e){return t._chain?d(e).chain():e};d.mixin=function(r){return d.each(d.functions(r),function(t){var e=d[t]=r[t];d.prototype[t]=function(){var t=[this._wrapped];return i.apply(t,arguments),G(this,e.apply(d,t))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var r=n[e];d.prototype[e]=function(){var t=this._wrapped;return r.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],G(this,t)}}),d.each(["concat","join","slice"],function(t){var e=n[t];d.prototype[t]=function(){return G(this,e.apply(this._wrapped,arguments))}}),d.prototype.valueOf=d.prototype.toJSON=d.prototype.value=function(){return this._wrapped},d.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return d})}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],250:[function(t,e,r){var f=t("underscore"),n=t("web3-utils"),o=new(t("ethers/utils/abi-coder").AbiCoder)(function(t,e){return!t.match(/^u?int/)||f.isArray(e)||f.isObject(e)&&"BN"===e.constructor.name?e:e.toString()});function l(){}var i=function(){};i.prototype.encodeFunctionSignature=function(t){return f.isObject(t)&&(t=n._jsonInterfaceMethodToString(t)),n.sha3(t).slice(0,10)},i.prototype.encodeEventSignature=function(t){return f.isObject(t)&&(t=n._jsonInterfaceMethodToString(t)),n.sha3(t)},i.prototype.encodeParameter=function(t,e){return this.encodeParameters([t],[e])},i.prototype.encodeParameters=function(t,e){return o.encode(this.mapTypes(t),e)},i.prototype.mapTypes=function(t){var r=this,n=[];return t.forEach(function(t){if(r.isSimplifiedStructFormat(t)){var e=Object.keys(t)[0];n.push(Object.assign(r.mapStructNameAndType(e),{components:r.mapStructToCoderFormat(t[e])}))}else n.push(t)}),n},i.prototype.isSimplifiedStructFormat=function(t){return"object"===_typeof(t)&&void 0===t.components&&void 0===t.name},i.prototype.mapStructNameAndType=function(t){var e="tuple";return-1=e)throw new Error("invalid sig")}e.exports=function(t,e,r,n,i){var o=y(r);if("ec"===o.type){if("ecdsa"!==n&&"ecdsa/rsa"!==n)throw new Error("wrong public key type");return function(t,e,r){var n=b[r.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var i=new p(n),o=r.data.subjectPrivateKey.data;return i.verify(e,t,o)}(t,e,o)}if("dsa"===o.type){if("dsa"!==n)throw new Error("wrong public key type");return function(t,e,r){var n=r.data.p,i=r.data.q,o=r.data.g,a=r.data.pub_key,u=y.signature.decode(t,"der"),s=u.s,c=u.r;v(s,i),v(c,i);var f=d.mont(n),l=s.invm(i);return 0===o.toRed(f).redPow(new d(e).mul(l).mod(i)).fromRed().mul(a.toRed(f).redPow(c.mul(l).mod(i)).fromRed()).mod(n).mod(i).cmp(c)}(t,e,o)}if("rsa"!==n&&"ecdsa/rsa"!==n)throw new Error("wrong public key type");e=h.concat([i,e]);for(var a=o.modulus.byteLength(),u=[1],s=0;e.length+u.length+2=e.length)throw"";var t=e.slice(r,r+2);return t<"80"?(r+=2,"0x"+t):t<"c0"?o():a()},i=function(){var t=parseInt(e.slice(r,r+=2),16)%64;return t<56?t:parseInt(e.slice(r,r+=2*(t-55)),16)},o=function(){var t=i();return"0x"+e.slice(r,r+=2*t)},a=function(){for(var t=2*i()+r,e=[];r>>32-e}function s(t,e,r){var n;for(n=0;n<16;n++)e[n]=(255&t[4*n+0])<<0,e[n]|=(255&t[4*n+1])<<8,e[n]|=(255&t[4*n+2])<<16,e[n]|=(255&t[4*n+3])<<24;for(c(e,0,r,0,16),n=8;0>0&255,t[i+1]=e[n]>>8&255,t[i+2]=e[n]>>16&255,t[i+3]=e[n]>>24&255}}function _(t,e,r,n,i){for(var o=0;o 0 and a power of 2");if(2147483647/128/n":">",'"':""","'":"'","`":"`"},D=d.invert(q),z=function(e){var r=function(t){return e[t]},t="(?:"+d.keys(e).join("|")+")",n=RegExp(t),i=RegExp(t,"g");return function(t){return t=null==t?"":""+t,n.test(t)?t.replace(i,r):t}};d.escape=z(q),d.unescape=z(D),d.result=function(t,e,r){d.isArray(e)||(e=[e]);var n=e.length;if(!n)return d.isFunction(r)?r.call(t):r;for(var i=0;i/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,$={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,V=function(t){return"\\"+$[t]};d.template=function(o,t,e){!t&&e&&(t=e),t=d.defaults({},t,d.templateSettings);var r,n=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(n,function(t,e,r,n,i){return u+=o.slice(a,i).replace(W,V),a=i+t.length,e?u+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":n&&(u+="';\n"+n+"\n__p+='"),t}),u+="';\n",t.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{r=new Function(t.variable||"obj","_",u)}catch(t){throw t.source=u,t}var i=function(t){return r.call(this,t,d)},s=t.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},d.chain=function(t){var e=d(t);return e._chain=!0,e};var G=function(t,e){return t._chain?d(e).chain():e};d.mixin=function(r){return d.each(d.functions(r),function(t){var e=d[t]=r[t];d.prototype[t]=function(){var t=[this._wrapped];return i.apply(t,arguments),G(this,e.apply(d,t))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var r=n[e];d.prototype[e]=function(){var t=this._wrapped;return r.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],G(this,t)}}),d.each(["concat","join","slice"],function(t){var e=n[t];d.prototype[t]=function(){return G(this,e.apply(this._wrapped,arguments))}}),d.prototype.valueOf=d.prototype.toJSON=d.prototype.value=function(){return this._wrapped},d.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return d})}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],391:[function(t,e,r){var n=t("./v1"),i=t("./v4"),o=i;o.v1=n,o.v4=i,e.exports=o},{"./v1":394,"./v4":395}],392:[function(t,e,r){for(var i=[],n=0;n<256;++n)i[n]=(n+256).toString(16).substr(1);e.exports=function(t,e){var r=e||0,n=i;return[n[t[r++]],n[t[r++]],n[t[r++]],n[t[r++]],"-",n[t[r++]],n[t[r++]],"-",n[t[r++]],n[t[r++]],"-",n[t[r++]],n[t[r++]],"-",n[t[r++]],n[t[r++]],n[t[r++]],n[t[r++]],n[t[r++]],n[t[r++]]].join("")}},{}],393:[function(t,e,r){var n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(n){var i=new Uint8Array(16);e.exports=function(){return n(i),i}}else{var o=new Array(16);e.exports=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),o[e]=t>>>((3&e)<<3)&255;return o}}},{}],394:[function(t,e,r){var p,y,b=t("./lib/rng"),v=t("./lib/bytesToUuid"),m=0,g=0;e.exports=function(t,e,r){var n=e&&r||0,i=e||[],o=(t=t||{}).node||p,a=void 0!==t.clockseq?t.clockseq:y;if(null==o||null==a){var u=b();null==o&&(o=p=[1|u[0],u[1],u[2],u[3],u[4],u[5]]),null==a&&(a=y=16383&(u[6]<<8|u[7]))}var s=void 0!==t.msecs?t.msecs:(new Date).getTime(),c=void 0!==t.nsecs?t.nsecs:g+1,f=s-m+(c-g)/1e4;if(f<0&&void 0===t.clockseq&&(a=a+1&16383),(f<0||m>>24&255,i[n++]=l>>>16&255,i[n++]=l>>>8&255,i[n++]=255&l;var h=s/4294967296*1e4&268435455;i[n++]=h>>>8&255,i[n++]=255&h,i[n++]=h>>>24&15|16,i[n++]=h>>>16&255,i[n++]=a>>>8|128,i[n++]=255&a;for(var d=0;d<6;++d)i[n+d]=o[d];return e||v(i)}},{"./lib/bytesToUuid":392,"./lib/rng":393}],395:[function(t,e,r){var a=t("./lib/rng"),u=t("./lib/bytesToUuid");e.exports=function(t,e,r){var n=e&&r||0;"string"==typeof t&&(e="binary"===t?new Array(16):null,t=null);var i=(t=t||{}).random||(t.rng||a)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e)for(var o=0;o<16;++o)e[n+o]=i[o];return e||u(i)}},{"./lib/bytesToUuid":392,"./lib/rng":393}],396:[function(a,u,t){(function(t,h){var d=a("underscore"),r=a("web3-core"),n=a("web3-core-method"),p=a("any-promise"),y=a("eth-lib/lib/account"),b=a("eth-lib/lib/hash"),v=a("eth-lib/lib/rlp"),m=a("eth-lib/lib/nat"),g=a("eth-lib/lib/bytes"),w=a(void 0===t?"crypto-browserify":"crypto"),_=a("scrypt-shim"),A=a("uuid"),x=a("web3-utils"),k=a("web3-core-helpers"),i=function(t){return d.isUndefined(t)||d.isNull(t)},S=function(t){for(;t&&t.startsWith("0x0");)t="0x"+t.slice(3);return t},M=function(t){return t.length%2==1&&(t=t.replace("0x","0x0")),t},e=function(){var e=this;r.packageInit(this,arguments),delete this.BatchRequest,delete this.extend;var t=[new n({name:"getId",call:"net_version",params:0,outputFormatter:x.hexToNumber}),new n({name:"getGasPrice",call:"eth_gasPrice",params:0}),new n({name:"getTransactionCount",call:"eth_getTransactionCount",params:2,inputFormatter:[function(t){if(x.isAddress(t))return t;throw new Error("Address "+t+' is not a valid address to get the "transactionCount".')},function(){return"latest"}]})];this._ethereumCall={},d.each(t,function(t){t.attachToObject(e._ethereumCall),t.setRequestManager(e._requestManager)}),this.wallet=new o(this)};function o(t){this._accounts=t,this.length=0,this.defaultKeyName="web3js_wallet"}e.prototype._addAccountFunctions=function(r){var n=this;return r.signTransaction=function(t,e){return n.signTransaction(t,r.privateKey,e)},r.sign=function(t){return n.sign(t,r.privateKey)},r.encrypt=function(t,e){return n.encrypt(r.privateKey,t,e)},r},e.prototype.create=function(t){return this._addAccountFunctions(y.create(t||x.randomHex(32)))},e.prototype.privateKeyToAccount=function(t){return this._addAccountFunctions(y.fromPrivate(t))},e.prototype.signTransaction=function(e,s,c){var f,l=!1;if(c=c||function(){},!e)return l=new Error("No transaction object given!"),c(l),p.reject(l);function r(t){if(t.gas||t.gasLimit||(l=new Error('"gas" is missing')),(t.nonce<0||t.gas<0||t.gasPrice<0||t.chainId<0)&&(l=new Error("Gas, gasPrice, nonce or chainId is lower than 0")),l)return c(l),p.reject(l);try{var e=t=k.formatters.inputCallFormatter(t);e.to=t.to||"0x",e.data=t.data||"0x",e.value=t.value||"0x",e.chainId=x.numberToHex(t.chainId);var r=v.encode([g.fromNat(e.nonce),g.fromNat(e.gasPrice),g.fromNat(e.gas),e.to.toLowerCase(),g.fromNat(e.value),e.data,g.fromNat(e.chainId||"0x1"),"0x","0x"]),n=b.keccak256(r),i=y.makeSigner(2*m.toNumber(e.chainId||"0x1")+35)(b.keccak256(r),s),o=v.decode(r).slice(0,6).concat(y.decodeSignature(i));o[6]=M(S(o[6])),o[7]=M(S(o[7])),o[8]=M(S(o[8]));var a=v.encode(o),u=v.decode(a);f={messageHash:n,v:S(u[6]),r:S(u[7]),s:S(u[8]),rawTransaction:a}}catch(t){return c(t),p.reject(t)}return c(null,f),f}return void 0!==e.nonce&&void 0!==e.chainId&&void 0!==e.gasPrice?p.resolve(r(e)):p.all([i(e.chainId)?this._ethereumCall.getId():e.chainId,i(e.gasPrice)?this._ethereumCall.getGasPrice():e.gasPrice,i(e.nonce)?this._ethereumCall.getTransactionCount(this.privateKeyToAccount(s).address):e.nonce]).then(function(t){if(i(t[0])||i(t[1])||i(t[2]))throw new Error('One of the values "chainId", "gasPrice", or "nonce" couldn\'t be fetched: '+JSON.stringify(t));return r(d.extend(e,{chainId:t[0],gasPrice:t[1],nonce:t[2]}))})},e.prototype.recoverTransaction=function(t){var e=v.decode(t),r=y.encodeSignature(e.slice(6,9)),n=g.toNumber(e[6]),i=n<35?[]:[g.fromNumber(n-35>>1),"0x","0x"],o=e.slice(0,6).concat(i),a=v.encode(o);return y.recover(b.keccak256(a),r)},e.prototype.hashMessage=function(t){var e=x.isHexStrict(t)?x.hexToBytes(t):t,r=h.from(e),n="Ethereum Signed Message:\n"+e.length,i=h.from(n),o=h.concat([i,r]);return b.keccak256s(o)},e.prototype.sign=function(t,e){var r=this.hashMessage(t),n=y.sign(r,e),i=y.decodeSignature(n);return{message:t,messageHash:r,v:i[0],r:i[1],s:i[2],signature:n}},e.prototype.recover=function(t,e,r){var n=[].slice.apply(arguments);return d.isObject(t)?this.recover(t.messageHash,y.encodeSignature([t.v,t.r,t.s]),!0):(r||(t=this.hashMessage(t)),4<=n.length?(r=n.slice(-1)[0],r=!!d.isBoolean(r)&&!!r,this.recover(t,y.encodeSignature(n.slice(1,4)),r)):y.recover(t,e))},e.prototype.decrypt=function(t,e,r){if(!d.isString(e))throw new Error("No password given.");var n,i,o=d.isObject(t)?t:JSON.parse(r?t.toLowerCase():t);if(3!==o.version)throw new Error("Not a valid V3 wallet");if("scrypt"===o.crypto.kdf)i=o.crypto.kdfparams,n=_(h.from(e),h.from(i.salt,"hex"),i.n,i.r,i.p,i.dklen);else{if("pbkdf2"!==o.crypto.kdf)throw new Error("Unsupported key derivation scheme");if("hmac-sha256"!==(i=o.crypto.kdfparams).prf)throw new Error("Unsupported parameters to PBKDF2");n=w.pbkdf2Sync(h.from(e),h.from(i.salt,"hex"),i.c,i.dklen,"sha256")}var a=h.from(o.crypto.ciphertext,"hex");if(x.sha3(h.concat([n.slice(16,32),a])).replace("0x","")!==o.crypto.mac)throw new Error("Key derivation failed - possibly wrong password");var u=w.createDecipheriv(o.crypto.cipher,n.slice(0,16),h.from(o.crypto.cipherparams.iv,"hex")),s="0x"+h.concat([u.update(a),u.final()]).toString("hex");return this.privateKeyToAccount(s)},e.prototype.encrypt=function(t,e,r){var n,i=this.privateKeyToAccount(t),o=(r=r||{}).salt||w.randomBytes(32),a=r.iv||w.randomBytes(16),u=r.kdf||"scrypt",s={dklen:r.dklen||32,salt:o.toString("hex")};if("pbkdf2"===u)s.c=r.c||262144,s.prf="hmac-sha256",n=w.pbkdf2Sync(h.from(e),h.from(s.salt,"hex"),s.c,s.dklen,"sha256");else{if("scrypt"!==u)throw new Error("Unsupported kdf");s.n=r.n||8192,s.r=r.r||8,s.p=r.p||1,n=_(h.from(e),h.from(s.salt,"hex"),s.n,s.r,s.p,s.dklen)}var c=w.createCipheriv(r.cipher||"aes-128-ctr",n.slice(0,16),a);if(!c)throw new Error("Unsupported cipher");var f=h.concat([c.update(h.from(i.privateKey.replace("0x",""),"hex")),c.final()]),l=x.sha3(h.concat([n.slice(16,32),h.from(f,"hex")])).replace("0x","");return{version:3,id:A.v4({random:r.uuid||w.randomBytes(16)}),address:i.address.toLowerCase().replace("0x",""),crypto:{ciphertext:f.toString("hex"),cipherparams:{iv:a.toString("hex")},cipher:r.cipher||"aes-128-ctr",kdf:u,kdfparams:s,mac:l.toString("hex")}}},o.prototype._findSafeIndex=function(t){return t=t||0,d.has(this,t)?this._findSafeIndex(t+1):t},o.prototype._currentIndexes=function(){return Object.keys(this).map(function(t){return parseInt(t)}).filter(function(t){return t<9e20})},o.prototype.create=function(t,e){for(var r=0;r":">",'"':""","'":"'","`":"`"},D=d.invert(q),z=function(e){var r=function(t){return e[t]},t="(?:"+d.keys(e).join("|")+")",n=RegExp(t),i=RegExp(t,"g");return function(t){return t=null==t?"":""+t,n.test(t)?t.replace(i,r):t}};d.escape=z(q),d.unescape=z(D),d.result=function(t,e,r){d.isArray(e)||(e=[e]);var n=e.length;if(!n)return d.isFunction(r)?r.call(t):r;for(var i=0;i/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,$={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,V=function(t){return"\\"+$[t]};d.template=function(o,t,e){!t&&e&&(t=e),t=d.defaults({},t,d.templateSettings);var r,n=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(n,function(t,e,r,n,i){return u+=o.slice(a,i).replace(W,V),a=i+t.length,e?u+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":n&&(u+="';\n"+n+"\n__p+='"),t}),u+="';\n",t.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{r=new Function(t.variable||"obj","_",u)}catch(t){throw t.source=u,t}var i=function(t){return r.call(this,t,d)},s=t.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},d.chain=function(t){var e=d(t);return e._chain=!0,e};var G=function(t,e){return t._chain?d(e).chain():e};d.mixin=function(r){return d.each(d.functions(r),function(t){var e=d[t]=r[t];d.prototype[t]=function(){var t=[this._wrapped];return i.apply(t,arguments),G(this,e.apply(d,t))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var r=n[e];d.prototype[e]=function(){var t=this._wrapped;return r.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],G(this,t)}}),d.each(["concat","join","slice"],function(t){var e=n[t];d.prototype[t]=function(){return G(this,e.apply(this._wrapped,arguments))}}),d.prototype.valueOf=d.prototype.toJSON=d.prototype.value=function(){return this._wrapped},d.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return d})}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],398:[function(t,e,r){var c=t("underscore"),f=t("web3-core"),a=t("web3-core-method"),l=t("web3-utils"),n=t("web3-core-subscriptions").subscription,h=t("web3-core-helpers").formatters,i=t("web3-core-helpers").errors,u=t("web3-core-promievent"),d=t("web3-eth-abi"),o=function t(e,r,n){var o=this,i=Array.prototype.slice.call(arguments);if(!(this instanceof t))throw new Error('Please use the "new" keyword to instantiate a web3.eth.contract() object!');if(f.packageInit(this,[this.constructor.currentProvider]),this.clearSubscriptions=this._requestManager.clearSubscriptions,!e||!Array.isArray(e))throw new Error("You must provide the json interface of the contract when instantiating a contract object.");this.options={};var a=i[i.length-1];c.isObject(a)&&!c.isArray(a)&&(n=a,this.options=c.extend(this.options,this._getOrSetDefaultOptions(n)),c.isObject(r)&&(r=null)),Object.defineProperty(this.options,"address",{set:function(t){t&&(o._address=l.toChecksumAddress(h.inputAddressFormatter(t)))},get:function(){return o._address},enumerable:!0}),Object.defineProperty(this.options,"jsonInterface",{set:function(t){return o.methods={},o.events={},o._jsonInterface=t.map(function(t){var e,r;if(t.constant="view"===t.stateMutability||"pure"===t.stateMutability||t.constant,t.payable="payable"===t.stateMutability||t.payable,t.name&&(r=l._jsonInterfaceMethodToString(t)),"function"===t.type){if(t.signature=d.encodeFunctionSignature(r),e=o._createTxObject.bind({method:t,parent:o}),o.methods[t.name]){var n=o._createTxObject.bind({method:t,parent:o,nextMethod:o.methods[t.name]});o.methods[t.name]=n}else o.methods[t.name]=e;o.methods[t.signature]=e,o.methods[r]=e}else if("event"===t.type){t.signature=d.encodeEventSignature(r);var i=o._on.bind(o,t.signature);o.events[t.name]&&"bound "!==o.events[t.name].name||(o.events[t.name]=i),o.events[t.signature]=i,o.events[r]=i}return t}),o.events.allEvents=o._on.bind(o,"allevents"),o._jsonInterface},get:function(){return o._jsonInterface},enumerable:!0});var u=this.constructor.defaultAccount,s=this.constructor.defaultBlock||"latest";Object.defineProperty(this,"defaultAccount",{get:function(){return u},set:function(t){return t&&(u=l.toChecksumAddress(h.inputAddressFormatter(t))),t},enumerable:!0}),Object.defineProperty(this,"defaultBlock",{get:function(){return s},set:function(t){return s=t},enumerable:!0}),this.methods={},this.events={},this._address=null,this._jsonInterface=[],this.options.address=r,this.options.jsonInterface=e};o.setProvider=function(t,e){f.packageInit(this,[t]),this._ethAccounts=e},o.prototype._getCallback=function(t){if(t&&c.isFunction(t[t.length-1]))return t.pop()},o.prototype._checkListener=function(t,e){if(e===t)throw new Error('The event "'+t+"\" is a reserved event name, you can't use it.")},o.prototype._getOrSetDefaultOptions=function(t){var e=t.gasPrice?String(t.gasPrice):null,r=t.from?l.toChecksumAddress(h.inputAddressFormatter(t.from)):null;return t.data=t.data||this.options.data,t.from=r||this.options.from,t.gasPrice=e||this.options.gasPrice,t.gas=t.gas||t.gasLimit||this.options.gas,delete t.gasLimit,t},o.prototype._encodeEventABI=function(t,e){var r=(e=e||{}).filter||{},n={};if(["fromBlock","toBlock"].filter(function(t){return void 0!==e[t]}).forEach(function(t){n[t]=h.inputBlockNumberFormatter(e[t])}),c.isArray(e.topics))n.topics=e.topics;else{if(n.topics=[],t&&!t.anonymous&&"ALLEVENTS"!==t.name&&n.topics.push(t.signature),"ALLEVENTS"!==t.name){var i=t.inputs.filter(function(t){return!0===t.indexed}).map(function(e){var t=r[e.name];return t?c.isArray(t)?t.map(function(t){return d.encodeParameter(e.type,t)}):d.encodeParameter(e.type,t):null});n.topics=n.topics.concat(i)}n.topics.length||delete n.topics}return this.options.address&&(n.address=this.options.address.toLowerCase()),n},o.prototype._decodeEventABI=function(e){var t=this;e.data=e.data||"",e.topics=e.topics||[];var r=h.outputLogFormatter(e);"ALLEVENTS"===t.name&&(t=t.jsonInterface.find(function(t){return t.signature===e.topics[0]})||{anonymous:!0}),t.inputs=t.inputs||[];var n=t.anonymous?e.topics:e.topics.slice(1);return r.returnValues=d.decodeLog(t.inputs,e.data,n),delete r.returnValues.__length__,r.event=t.name,r.signature=t.anonymous||!e.topics[0]?null:e.topics[0],r.raw={data:r.data,topics:r.topics},delete r.data,delete r.topics,r},o.prototype._encodeMethodABI=function(){var e=this._method.signature,r=this.arguments||[],n=!1,t=this._parent.options.jsonInterface.filter(function(t){return"constructor"===e&&t.type===e||(t.signature===e||t.signature===e.replace("0x","")||t.name===e)&&"function"===t.type}).map(function(t){var e=c.isArray(t.inputs)?t.inputs.length:0;if(e!==r.length)throw new Error("The number of arguments is not matching the methods required number. You need to pass "+e+" arguments.");return"function"===t.type&&(n=t.signature),c.isArray(t.inputs)?t.inputs:[]}).map(function(t){return d.encodeParameters(t,r).replace("0x","")})[0]||"";if("constructor"===e){if(!this._deployData)throw new Error("The contract has no contract data option set. This is necessary to append the constructor parameters.");return this._deployData+t}var i=n?n+t:t;if(i)return i;throw new Error("Couldn't find a matching contract method named \""+this._method.name+'".')},o.prototype._decodeMethodReturn=function(t,e){if(!e)return null;e=2<=e.length?e.slice(2):e;var r=d.decodeParameters(t,e);return 1===r.__length__?r[0]:(delete r.__length__,r)},o.prototype.deploy=function(t,e){if((t=t||{}).arguments=t.arguments||[],!(t=this._getOrSetDefaultOptions(t)).data)return l._fireError(new Error('No "data" specified in neither the given options, nor the default options.'),null,null,e);var r=c.find(this.options.jsonInterface,function(t){return"constructor"===t.type})||{};return r.signature="constructor",this._createTxObject.apply({method:r,parent:this,deployData:t.data,_ethAccounts:this.constructor._ethAccounts},t.arguments)},o.prototype._generateEventOptions=function(){var t=Array.prototype.slice.call(arguments),e=this._getCallback(t),r=c.isObject(t[t.length-1])?t.pop():{},n=c.isString(t[0])?t[0]:"allevents",i="allevents"===n.toLowerCase()?{name:"ALLEVENTS",jsonInterface:this.options.jsonInterface}:this.options.jsonInterface.find(function(t){return"event"===t.type&&(t.name===n||t.signature==="0x"+n.replace("0x",""))});if(!i)throw new Error('Event "'+n+"\" doesn't exist in this contract.");if(!l.isAddress(this.options.address))throw new Error("This contract object doesn't have address set yet, please set an address first.");return{params:this._encodeEventABI(i,r),event:i,callback:e}},o.prototype.clone=function(){return new this.constructor(this.options.jsonInterface,this.options.address,this.options)},o.prototype.once=function(t,e,n){var r=Array.prototype.slice.call(arguments);if(!(n=this._getCallback(r)))throw new Error("Once requires a callback as the second parameter.");e&&delete e.fromBlock,this._on(t,e,function(t,e,r){r.unsubscribe(),c.isFunction(n)&&n(t,e,r)})},o.prototype._on=function(){var t=this._generateEventOptions.apply(this,arguments);this._checkListener("newListener",t.event.name,t.callback),this._checkListener("removeListener",t.event.name,t.callback);var e=new n({subscription:{params:1,inputFormatter:[h.inputLogFormatter],outputFormatter:this._decodeEventABI.bind(t.event),subscriptionHandler:function(t){t.removed?this.emit("changed",t):this.emit("data",t),c.isFunction(this.callback)&&this.callback(null,t,this)}},type:"eth",requestManager:this._requestManager});return e.subscribe("logs",t.params,t.callback||function(){}),e},o.prototype.getPastEvents=function(){var t=this._generateEventOptions.apply(this,arguments),e=new a({name:"getPastLogs",call:"eth_getLogs",params:1,inputFormatter:[h.inputLogFormatter],outputFormatter:this._decodeEventABI.bind(t.event)});e.setRequestManager(this._requestManager);var r=e.buildCall();return e=null,r(t.params,t.callback)},o.prototype._createTxObject=function(){var t=Array.prototype.slice.call(arguments),e={};if("function"===this.method.type&&(e.call=this.parent._executeMethod.bind(e,"call"),e.call.request=this.parent._executeMethod.bind(e,"call",!0)),e.send=this.parent._executeMethod.bind(e,"send"),e.send.request=this.parent._executeMethod.bind(e,"send",!0),e.encodeABI=this.parent._encodeMethodABI.bind(e),e.estimateGas=this.parent._executeMethod.bind(e,"estimate"),t&&this.method.inputs&&t.length!==this.method.inputs.length){if(this.nextMethod)return this.nextMethod.apply(null,t);throw i.InvalidNumberOfParams(t.length,this.method.inputs.length,this.method.name)}return e.arguments=t||[],e._method=this.method,e._parent=this.parent,e._ethAccounts=this.parent.constructor._ethAccounts||this._ethAccounts,this.deployData&&(e._deployData=this.deployData),e},o.prototype._processExecuteArguments=function(t,e){var r={};if(r.type=t.shift(),r.callback=this._parent._getCallback(t),"call"===r.type&&!0!==t[t.length-1]&&(c.isString(t[t.length-1])||isFinite(t[t.length-1]))&&(r.defaultBlock=t.pop()),r.options=c.isObject(t[t.length-1])?t.pop():{},r.generateRequest=!0===t[t.length-1]&&t.pop(),r.options=this._parent._getOrSetDefaultOptions(r.options),r.options.data=this.encodeABI(),!this._deployData&&!l.isAddress(this._parent.options.address))throw new Error("This contract object doesn't have address set yet, please set an address first.");return this._deployData||(r.options.to=this._parent.options.address),r.options.data?r:l._fireError(new Error("Couldn't find a matching contract method, or the number of parameters is wrong."),e.eventEmitter,e.reject,r.callback)},o.prototype._executeMethod=function(){var n=this,t=this._parent._processExecuteArguments.call(this,Array.prototype.slice.call(arguments),e),e=u("send"!==t.type),r=n.constructor._ethAccounts||n._ethAccounts;if(t.generateRequest){var i={params:[h.inputCallFormatter.call(this._parent,t.options)],callback:t.callback};return"call"===t.type?(i.params.push(h.inputDefaultBlockNumberFormatter.call(this._parent,t.defaultBlock)),i.method="eth_call",i.format=this._parent._decodeMethodReturn.bind(null,this._method.outputs)):i.method="eth_sendTransaction",i}switch(t.type){case"estimate":return new a({name:"estimateGas",call:"eth_estimateGas",params:1,inputFormatter:[h.inputCallFormatter],outputFormatter:l.hexToNumber,requestManager:n._parent._requestManager,accounts:r,defaultAccount:n._parent.defaultAccount,defaultBlock:n._parent.defaultBlock}).createFunction()(t.options,t.callback);case"call":return new a({name:"call",call:"eth_call",params:2,inputFormatter:[h.inputCallFormatter,h.inputDefaultBlockNumberFormatter],outputFormatter:function(t){return n._parent._decodeMethodReturn(n._method.outputs,t)},requestManager:n._parent._requestManager,accounts:r,defaultAccount:n._parent.defaultAccount,defaultBlock:n._parent.defaultBlock}).createFunction()(t.options,t.defaultBlock,t.callback);case"send":if(!l.isAddress(t.options.from))return l._fireError(new Error('No "from" address specified in neither the given options, nor the default options.'),e.eventEmitter,e.reject,t.callback);if(c.isBoolean(this._method.payable)&&!this._method.payable&&t.options.value&&0\\$%@ءؤة\"'^|~⦅⦆・ゥャ¢£¬¦¥₩│←↑→↓■○𐐨𐐩𐐪𐐫𐐬𐐭𐐮𐐯𐐰𐐱𐐲𐐳𐐴𐐵𐐶𐐷𐐸𐐹𐐺𐐻𐐼𐐽𐐾𐐿𐑀𐑁𐑂𐑃𐑄𐑅𐑆𐑇𐑈𐑉𐑊𐑋𐑌𐑍𐑎𐑏𐓘𐓙𐓚𐓛𐓜𐓝𐓞𐓟𐓠𐓡𐓢𐓣𐓤𐓥𐓦𐓧𐓨𐓩𐓪𐓫𐓬𐓭𐓮𐓯𐓰𐓱𐓲𐓳𐓴𐓵𐓶𐓷𐓸𐓹𐓺𐓻𐳀𐳁𐳂𐳃𐳄𐳅𐳆𐳇𐳈𐳉𐳊𐳋𐳌𐳍𐳎𐳏𐳐𐳑𐳒𐳓𐳔𐳕𐳖𐳗𐳘𐳙𐳚𐳛𐳜𐳝𐳞𐳟𐳠𐳡𐳢𐳣𐳤𐳥𐳦𐳧𐳨𐳩𐳪𐳫𐳬𐳭𐳮𐳯𐳰𐳱𐳲𑣀𑣁𑣂𑣃𑣄𑣅𑣆𑣇𑣈𑣉𑣊𑣋𑣌𑣍𑣎𑣏𑣐𑣑𑣒𑣓𑣔𑣕𑣖𑣗𑣘𑣙𑣚𑣛𑣜𑣝𑣞𑣟ıȷ∇∂𞤢𞤣𞤤𞤥𞤦𞤧𞤨𞤩𞤪𞤫𞤬𞤭𞤮𞤯𞤰𞤱𞤲𞤳𞤴𞤵𞤶𞤷𞤸𞤹𞤺𞤻𞤼𞤽𞤾𞤿𞥀𞥁𞥂𞥃ٮڡٯ字双多解交映無前後再新初終販声吹演投捕遊指禁空合満申割営配得可丽丸乁𠄢你侻倂偺備像㒞𠘺兔兤具𠔜㒹內𠕋冗冤仌冬𩇟刃㓟刻剆剷㔕包匆卉博即卽卿𠨬灰及叟𠭣叫叱吆咞吸呈周咢哶唐啓啣善喫喳嗂圖圗噑噴壮城埴堍型堲報墬𡓤売壷夆夢奢𡚨𡛪姬娛娧姘婦㛮嬈嬾𡧈寃寘寳𡬘寿将㞁屠峀岍𡷤嵃𡷦嵮嵫嵼巡巢㠯巽帨帽幩㡢𢆃㡼庰庳庶𪎒𢌱舁弢㣇𣊸𦇚形彫㣣徚忍志忹悁㤺㤜𢛔惇慈慌慺憲憤憯懞戛扝抱拔捐𢬌挽拼捨掃揤𢯱搢揅掩㨮摩摾撝摷㩬敬𣀊旣書晉㬙㬈㫤冒冕最暜肭䏙朡杞杓𣏃㭉柺枅桒𣑭梎栟椔楂榣槪檨𣚣櫛㰘次𣢧歔㱎歲殟殻𣪍𡴋𣫺汎𣲼沿泍汧洖派浩浸涅𣴞洴港湮㴳滇𣻑淹潮𣽞𣾎濆瀹瀛㶖灊災灷炭𠔥煅𤉣熜爨牐𤘈犀犕𤜵𤠔獺王㺬玥㺸瑇瑜璅瓊㼛甤𤰶甾𤲒𢆟瘐𤾡𤾸𥁄㿼䀈𥃳𥃲𥄙𥄳眞真瞋䁆䂖𥐝硎䃣𥘦𥚚𥛅秫䄯穊穏𥥼𥪧䈂𥮫篆築䈧𥲀糒䊠糨糣紀𥾆絣䌁緇縂繅䌴𦈨𦉇䍙𦋙罺𦌾羕翺𦓚𦔣聠𦖨聰𣍟䏕育脃䐋脾媵𦞧𦞵𣎓𣎜舄辞䑫芑芋芝劳花芳芽苦𦬼茝荣莭茣莽菧荓菊菌菜𦰶𦵫𦳕䔫蓱蓳蔖𧏊蕤𦼬䕝䕡𦾱𧃒䕫虐虧虩蚩蚈蜎蛢蜨蝫螆蟡蠁䗹衠𧙧裗裞䘵裺㒻𧢮𧥦䚾䛇誠𧲨貫賁贛起𧼯𠠄跋趼跰𠣞軔𨗒𨗭邔郱鄑𨜮鄛鈸鋗鋘鉼鏹鐕𨯺開䦕閷𨵷䧦雃嶲霣𩅅𩈚䩮䩶韠𩐊䪲𩒖頩𩖶飢䬳餩馧駂駾䯎𩬰鱀鳽䳎䳭鵧𪃎䳸𪄅𪈎𪊑䵖黾鼅鼏鼖𪘀",mapChar:function(t){return 196608<=t?917760<=t&&t<=917999?18874368:0:e[r[t>>4]][15&t]}}},"function"==typeof define&&define.amd?define([],function(){return i()}):"object"===_typeof(r)?e.exports=i():n.uts46_map=i()},{}],401:[function(t,e,r){var n,i;n=this,i=function(p,y){function i(t,e,r){for(var n=[],i=p.ucs2.decode(t),o=0;o>23,f=s>>21&3,l=s>>5&65535,h=31&s,d=y.mapStr.substr(l,h);if(0===f||e&&1&c)throw new Error("Illegal char "+u);1===f?n.push(d):2===f?n.push(r?d:u):3===f&&n.push(u)}return n.join("").normalize("NFC")}function c(t,e,r){void 0===r&&(r=!1);var n=i(t,r,e).split(".");return(n=n.map(function(t){return t.startsWith("xn--")?o(t=p.decode(t.substring(4)),r,!1):o(t,r,e),t})).join(".")}function o(t,e,r){if("-"===t[2]&&"-"===t[3])throw new Error("Failed to validate "+t);if(t.startsWith("-")||t.endsWith("-"))throw new Error("Failed to validate "+t);if(t.includes("."))throw new Error("Failed to validate "+t);if(i(t,e,r)!==t)throw new Error("Failed to validate "+t);var n=t.codePointAt(0);if(y.mapChar(n)&2<<23)throw new Error("Label contains illegal character: "+n)}return{toUnicode:function(t,e){return void 0===e&&(e={}),c(t,!1,"useStd3ASCII"in e&&e.useStd3ASCII)},toAscii:function(t,e){void 0===e&&(e={});var r,n=!("transitional"in e)||e.transitional,i="useStd3ASCII"in e&&e.useStd3ASCII,o="verifyDnsLength"in e&&e.verifyDnsLength,a=c(t,n,i).split(".").map(p.toASCII),u=a.join(".");if(o){if(u.length<1||253>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}v.prototype.update=function(t){var e="string"!=typeof t;e&&t.constructor===ArrayBuffer&&(t=new Uint8Array(t));for(var r,n,i=t.length,o=this.blocks,a=this.byteCount,u=this.blockCount,s=0,c=this.s;s>2]|=t[s]<>2]|=n<>2]|=(192|n>>6)<>2]|=(224|n>>12)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[r],e=1;e>4&15]+s[15&t]+s[t>>12&15]+s[t>>8&15]+s[t>>20&15]+s[t>>16&15]+s[t>>28&15]+s[t>>24&15];a%e==0&&(m(r),o=0)}return i&&(t=r[o],0>4&15]+s[15&t]),1>12&15]+s[t>>8&15]),2>20&15]+s[t>>16&15])),u},v.prototype.buffer=v.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,u=this.outputBits>>3;t=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(u);for(var s=new Uint32Array(t);a>8&255,s[t+2]=e>>16&255,s[t+3]=e>>24&255;u%r==0&&m(n)}return o&&(t=u<<2,e=n[a],0>8&255),2>16&255)),s};var m=function(t){var e,r,n,i,o,a,u,s,c,f,l,h,d,p,y,b,v,m,g,w,_,A,x,k,S,M,E,j,U,I,O,T,N,B,C,P,R,F,L,q,D,z,H,K,$,W,V,G,X,J,Z,Y,Q,tt,et,rt,nt,it,ot,at,ut,st,ct;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],u=t[3]^t[13]^t[23]^t[33]^t[43],s=t[4]^t[14]^t[24]^t[34]^t[44],c=t[5]^t[15]^t[25]^t[35]^t[45],f=t[6]^t[16]^t[26]^t[36]^t[46],l=t[7]^t[17]^t[27]^t[37]^t[47],e=(h=t[8]^t[18]^t[28]^t[38]^t[48])^(a<<1|u>>>31),r=(d=t[9]^t[19]^t[29]^t[39]^t[49])^(u<<1|a>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(s<<1|c>>>31),r=o^(c<<1|s>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=a^(f<<1|l>>>31),r=u^(l<<1|f>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=s^(h<<1|d>>>31),r=c^(d<<1|h>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=f^(i<<1|o>>>31),r=l^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,p=t[0],y=t[1],W=t[11]<<4|t[10]>>>28,V=t[10]<<4|t[11]>>>28,j=t[20]<<3|t[21]>>>29,U=t[21]<<3|t[20]>>>29,at=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,z=t[40]<<18|t[41]>>>14,H=t[41]<<18|t[40]>>>14,B=t[2]<<1|t[3]>>>31,C=t[3]<<1|t[2]>>>31,b=t[13]<<12|t[12]>>>20,v=t[12]<<12|t[13]>>>20,G=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,I=t[33]<<13|t[32]>>>19,O=t[32]<<13|t[33]>>>19,st=t[42]<<2|t[43]>>>30,ct=t[43]<<2|t[42]>>>30,tt=t[5]<<30|t[4]>>>2,et=t[4]<<30|t[5]>>>2,P=t[14]<<6|t[15]>>>26,R=t[15]<<6|t[14]>>>26,m=t[25]<<11|t[24]>>>21,g=t[24]<<11|t[25]>>>21,J=t[34]<<15|t[35]>>>17,Z=t[35]<<15|t[34]>>>17,T=t[45]<<29|t[44]>>>3,N=t[44]<<29|t[45]>>>3,k=t[6]<<28|t[7]>>>4,S=t[7]<<28|t[6]>>>4,rt=t[17]<<23|t[16]>>>9,nt=t[16]<<23|t[17]>>>9,F=t[26]<<25|t[27]>>>7,L=t[27]<<25|t[26]>>>7,w=t[36]<<21|t[37]>>>11,_=t[37]<<21|t[36]>>>11,Y=t[47]<<24|t[46]>>>8,Q=t[46]<<24|t[47]>>>8,K=t[8]<<27|t[9]>>>5,$=t[9]<<27|t[8]>>>5,M=t[18]<<20|t[19]>>>12,E=t[19]<<20|t[18]>>>12,it=t[29]<<7|t[28]>>>25,ot=t[28]<<7|t[29]>>>25,q=t[38]<<8|t[39]>>>24,D=t[39]<<8|t[38]>>>24,A=t[48]<<14|t[49]>>>18,x=t[49]<<14|t[48]>>>18,t[0]=p^~b&m,t[1]=y^~v&g,t[10]=k^~M&j,t[11]=S^~E&U,t[20]=B^~P&F,t[21]=C^~R&L,t[30]=K^~W&G,t[31]=$^~V&X,t[40]=tt^~rt&it,t[41]=et^~nt&ot,t[2]=b^~m&w,t[3]=v^~g&_,t[12]=M^~j&I,t[13]=E^~U&O,t[22]=P^~F&q,t[23]=R^~L&D,t[32]=W^~G&J,t[33]=V^~X&Z,t[42]=rt^~it&at,t[43]=nt^~ot&ut,t[4]=m^~w&A,t[5]=g^~_&x,t[14]=j^~I&T,t[15]=U^~O&N,t[24]=F^~q&z,t[25]=L^~D&H,t[34]=G^~J&Y,t[35]=X^~Z&Q,t[44]=it^~at&st,t[45]=ot^~ut&ct,t[6]=w^~A&p,t[7]=_^~x&y,t[16]=I^~T&k,t[17]=O^~N&S,t[26]=q^~z&B,t[27]=D^~H&C,t[36]=J^~Y&K,t[37]=Z^~Q&$,t[46]=at^~st&tt,t[47]=ut^~ct&et,t[8]=A^~p&b,t[9]=x^~y&v,t[18]=T^~k&M,t[19]=N^~S&E,t[28]=z^~B&P,t[29]=H^~C&R,t[38]=Y^~K&W,t[39]=Q^~$&V,t[48]=st^~tt&rt,t[49]=ct^~et&nt,t[0]^=ft[n],t[1]^=ft[n+1]};if(e)_.exports=c;else for(h=0;h":">",'"':""","'":"'","`":"`"},D=d.invert(q),z=function(e){var r=function(t){return e[t]},t="(?:"+d.keys(e).join("|")+")",n=RegExp(t),i=RegExp(t,"g");return function(t){return t=null==t?"":""+t,n.test(t)?t.replace(i,r):t}};d.escape=z(q),d.unescape=z(D),d.result=function(t,e,r){d.isArray(e)||(e=[e]);var n=e.length;if(!n)return d.isFunction(r)?r.call(t):r;for(var i=0;i/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,$={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,V=function(t){return"\\"+$[t]};d.template=function(o,t,e){!t&&e&&(t=e),t=d.defaults({},t,d.templateSettings);var r,n=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(n,function(t,e,r,n,i){return u+=o.slice(a,i).replace(W,V),a=i+t.length,e?u+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":n&&(u+="';\n"+n+"\n__p+='"),t}),u+="';\n",t.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{r=new Function(t.variable||"obj","_",u)}catch(t){throw t.source=u,t}var i=function(t){return r.call(this,t,d)},s=t.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},d.chain=function(t){var e=d(t);return e._chain=!0,e};var G=function(t,e){return t._chain?d(e).chain():e};d.mixin=function(r){return d.each(d.functions(r),function(t){var e=d[t]=r[t];d.prototype[t]=function(){var t=[this._wrapped];return i.apply(t,arguments),G(this,e.apply(d,t))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var r=n[e];d.prototype[e]=function(){var t=this._wrapped;return r.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],G(this,t)}}),d.each(["concat","join","slice"],function(t){var e=n[t];d.prototype[t]=function(){return G(this,e.apply(this._wrapped,arguments))}}),d.prototype.valueOf=d.prototype.toJSON=d.prototype.value=function(){return this._wrapped},d.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return d})}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],404:[function(t,e,r){var n=t("./config"),i=t("./contracts/Registry"),o=t("./lib/ResolverMethodHandler");function a(t){this.eth=t}Object.defineProperty(a.prototype,"registry",{get:function(){return new i(this)},enumerable:!0}),Object.defineProperty(a.prototype,"resolverMethodHandler",{get:function(){return new o(this.registry)},enumerable:!0}),a.prototype.resolver=function(t){return this.registry.resolver(t)},a.prototype.getAddress=function(t,e){return this.resolverMethodHandler.method(t,"addr",[]).call(e)},a.prototype.setAddress=function(t,e,r,n){return this.resolverMethodHandler.method(t,"setAddr",[e]).send(r,n)},a.prototype.getPubkey=function(t,e){return this.resolverMethodHandler.method(t,"pubkey",[],e).call(e)},a.prototype.setPubkey=function(t,e,r,n,i){return this.resolverMethodHandler.method(t,"setPubkey",[e,r]).send(n,i)},a.prototype.getContent=function(t,e){return this.resolverMethodHandler.method(t,"content",[]).call(e)},a.prototype.setContent=function(t,e,r,n){return this.resolverMethodHandler.method(t,"setContent",[e]).send(r,n)},a.prototype.getMultihash=function(t,e){return this.resolverMethodHandler.method(t,"multihash",[]).call(e)},a.prototype.setMultihash=function(t,e,r,n){return this.resolverMethodHandler.method(t,"multihash",[e]).send(r,n)},a.prototype.checkNetwork=function(){var r=this;return r.eth.getBlock("latest").then(function(t){var e=new Date/1e3-t.timestamp;if(3600":">",'"':""","'":"'","`":"`"},D=d.invert(q),z=function(e){var r=function(t){return e[t]},t="(?:"+d.keys(e).join("|")+")",n=RegExp(t),i=RegExp(t,"g");return function(t){return t=null==t?"":""+t,n.test(t)?t.replace(i,r):t}};d.escape=z(q),d.unescape=z(D),d.result=function(t,e,r){d.isArray(e)||(e=[e]);var n=e.length;if(!n)return d.isFunction(r)?r.call(t):r;for(var i=0;i/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,$={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,V=function(t){return"\\"+$[t]};d.template=function(o,t,e){!t&&e&&(t=e),t=d.defaults({},t,d.templateSettings);var r,n=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(n,function(t,e,r,n,i){return u+=o.slice(a,i).replace(W,V),a=i+t.length,e?u+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":n&&(u+="';\n"+n+"\n__p+='"),t}),u+="';\n",t.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{r=new Function(t.variable||"obj","_",u)}catch(t){throw t.source=u,t}var i=function(t){return r.call(this,t,d)},s=t.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},d.chain=function(t){var e=d(t);return e._chain=!0,e};var G=function(t,e){return t._chain?d(e).chain():e};d.mixin=function(r){return d.each(d.functions(r),function(t){var e=d[t]=r[t];d.prototype[t]=function(){var t=[this._wrapped];return i.apply(t,arguments),G(this,e.apply(d,t))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var r=n[e];d.prototype[e]=function(){var t=this._wrapped;return r.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],G(this,t)}}),d.each(["concat","join","slice"],function(t){var e=n[t];d.prototype[t]=function(){return G(this,e.apply(this._wrapped,arguments))}}),d.prototype.valueOf=d.prototype.toJSON=d.prototype.value=function(){return this._wrapped},d.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return d})}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],415:[function(t,e,r){var i=t("underscore");e.exports=function(r){var n,e=this;return this.net.getId().then(function(t){return n=t,e.getBlock(0)}).then(function(t){var e="private";return"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3"===t.hash&&1===n&&(e="main"),"0cd786a2425d16f152c658316c423e6ce1181e15c3295826d7c9904cba9ce303"===t.hash&&2===n&&(e="morden"),"0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d"===t.hash&&3===n&&(e="ropsten"),"0x6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177"===t.hash&&4===n&&(e="rinkeby"),"0xa3c565fc15c7478862d50ccd6561e3c06b24cc509bf388941c25ea985ce32cb9"===t.hash&&42===n&&(e="kovan"),i.isFunction(r)&&r(null,e),e}).catch(function(t){if(!i.isFunction(r))throw t;r(t)})}},{underscore:414}],416:[function(t,e,r){var u=t("underscore"),s=t("web3-core"),n=t("web3-core-helpers"),c=t("web3-core-subscriptions").subscriptions,f=t("web3-core-method"),l=t("web3-utils"),h=t("web3-net"),d=t("web3-eth-ens"),p=t("web3-eth-personal"),y=t("web3-eth-contract"),b=t("web3-eth-iban"),v=t("web3-eth-accounts"),m=t("web3-eth-abi"),g=t("./getNetworkType.js"),w=n.formatters,_=function(t){return u.isString(t[0])&&0===t[0].indexOf("0x")?"eth_getBlockByHash":"eth_getBlockByNumber"},A=function(t){return u.isString(t[0])&&0===t[0].indexOf("0x")?"eth_getTransactionByBlockHashAndIndex":"eth_getTransactionByBlockNumberAndIndex"},x=function(t){return u.isString(t[0])&&0===t[0].indexOf("0x")?"eth_getUncleByBlockHashAndIndex":"eth_getUncleByBlockNumberAndIndex"},k=function(t){return u.isString(t[0])&&0===t[0].indexOf("0x")?"eth_getBlockTransactionCountByHash":"eth_getBlockTransactionCountByNumber"},S=function(t){return u.isString(t[0])&&0===t[0].indexOf("0x")?"eth_getUncleCountByBlockHash":"eth_getUncleCountByBlockNumber"},i=function(){var e=this;s.packageInit(this,arguments);var t=this.setProvider;this.setProvider=function(){t.apply(e,arguments),e.net.setProvider.apply(e,arguments),e.personal.setProvider.apply(e,arguments),e.accounts.setProvider.apply(e,arguments),e.Contract.setProvider(e.currentProvider,e.accounts)};var r=null,n="latest";Object.defineProperty(this,"defaultAccount",{get:function(){return r},set:function(t){return t&&(r=l.toChecksumAddress(w.inputAddressFormatter(t))),e.Contract.defaultAccount=r,e.personal.defaultAccount=r,a.forEach(function(t){t.defaultAccount=r}),t},enumerable:!0}),Object.defineProperty(this,"defaultBlock",{get:function(){return n},set:function(t){return n=t,e.Contract.defaultBlock=n,e.personal.defaultBlock=n,a.forEach(function(t){t.defaultBlock=n}),t},enumerable:!0}),this.clearSubscriptions=e._requestManager.clearSubscriptions,this.net=new h(this.currentProvider),this.net.getNetworkType=g.bind(this),this.accounts=new v(this.currentProvider),this.personal=new p(this.currentProvider),this.personal.defaultAccount=this.defaultAccount;var i=this,o=function(){y.apply(this,arguments);var t=this,e=i.setProvider;i.setProvider=function(){e.apply(i,arguments),s.packageInit(t,[i.currentProvider])}};o.setProvider=function(){y.setProvider.apply(this,arguments)},(o.prototype=Object.create(y.prototype)).constructor=o,this.Contract=o,this.Contract.defaultAccount=this.defaultAccount,this.Contract.defaultBlock=this.defaultBlock,this.Contract.setProvider(this.currentProvider,this.accounts),this.Iban=b,this.abi=m,this.ens=new d(this);var a=[new f({name:"getNodeInfo",call:"web3_clientVersion"}),new f({name:"getProtocolVersion",call:"eth_protocolVersion",params:0}),new f({name:"getCoinbase",call:"eth_coinbase",params:0}),new f({name:"isMining",call:"eth_mining",params:0}),new f({name:"getHashrate",call:"eth_hashrate",params:0,outputFormatter:l.hexToNumber}),new f({name:"isSyncing",call:"eth_syncing",params:0,outputFormatter:w.outputSyncingFormatter}),new f({name:"getGasPrice",call:"eth_gasPrice",params:0,outputFormatter:w.outputBigNumberFormatter}),new f({name:"getAccounts",call:"eth_accounts",params:0,outputFormatter:l.toChecksumAddress}),new f({name:"getBlockNumber",call:"eth_blockNumber",params:0,outputFormatter:l.hexToNumber}),new f({name:"getBalance",call:"eth_getBalance",params:2,inputFormatter:[w.inputAddressFormatter,w.inputDefaultBlockNumberFormatter],outputFormatter:w.outputBigNumberFormatter}),new f({name:"getStorageAt",call:"eth_getStorageAt",params:3,inputFormatter:[w.inputAddressFormatter,l.numberToHex,w.inputDefaultBlockNumberFormatter]}),new f({name:"getCode",call:"eth_getCode",params:2,inputFormatter:[w.inputAddressFormatter,w.inputDefaultBlockNumberFormatter]}),new f({name:"getBlock",call:_,params:2,inputFormatter:[w.inputBlockNumberFormatter,function(t){return!!t}],outputFormatter:w.outputBlockFormatter}),new f({name:"getUncle",call:x,params:2,inputFormatter:[w.inputBlockNumberFormatter,l.numberToHex],outputFormatter:w.outputBlockFormatter}),new f({name:"getBlockTransactionCount",call:k,params:1,inputFormatter:[w.inputBlockNumberFormatter],outputFormatter:l.hexToNumber}),new f({name:"getBlockUncleCount",call:S,params:1,inputFormatter:[w.inputBlockNumberFormatter],outputFormatter:l.hexToNumber}),new f({name:"getTransaction",call:"eth_getTransactionByHash",params:1,inputFormatter:[null],outputFormatter:w.outputTransactionFormatter}),new f({name:"getTransactionFromBlock",call:A,params:2,inputFormatter:[w.inputBlockNumberFormatter,l.numberToHex],outputFormatter:w.outputTransactionFormatter}),new f({name:"getTransactionReceipt",call:"eth_getTransactionReceipt",params:1,inputFormatter:[null],outputFormatter:w.outputTransactionReceiptFormatter}),new f({name:"getTransactionCount",call:"eth_getTransactionCount",params:2,inputFormatter:[w.inputAddressFormatter,w.inputDefaultBlockNumberFormatter],outputFormatter:l.hexToNumber}),new f({name:"sendSignedTransaction",call:"eth_sendRawTransaction",params:1,inputFormatter:[null]}),new f({name:"signTransaction",call:"eth_signTransaction",params:1,inputFormatter:[w.inputTransactionFormatter]}),new f({name:"sendTransaction",call:"eth_sendTransaction",params:1,inputFormatter:[w.inputTransactionFormatter]}),new f({name:"sign",call:"eth_sign",params:2,inputFormatter:[w.inputSignFormatter,w.inputAddressFormatter],transformPayload:function(t){return t.params.reverse(),t}}),new f({name:"call",call:"eth_call",params:2,inputFormatter:[w.inputCallFormatter,w.inputDefaultBlockNumberFormatter]}),new f({name:"estimateGas",call:"eth_estimateGas",params:1,inputFormatter:[w.inputCallFormatter],outputFormatter:l.hexToNumber}),new f({name:"submitWork",call:"eth_submitWork",params:3}),new f({name:"getWork",call:"eth_getWork",params:0}),new f({name:"getPastLogs",call:"eth_getLogs",params:1,inputFormatter:[w.inputLogFormatter],outputFormatter:w.outputLogFormatter}),new c({name:"subscribe",type:"eth",subscriptions:{newBlockHeaders:{subscriptionName:"newHeads",params:0,outputFormatter:w.outputBlockFormatter},pendingTransactions:{subscriptionName:"newPendingTransactions",params:0},logs:{params:1,inputFormatter:[w.inputLogFormatter],outputFormatter:w.outputLogFormatter,subscriptionHandler:function(t){t.removed?this.emit("changed",t):this.emit("data",t),u.isFunction(this.callback)&&this.callback(null,t,this)}},syncing:{params:0,outputFormatter:w.outputSyncingFormatter,subscriptionHandler:function(t){var e=this;!0!==this._isSyncing?(this._isSyncing=!0,this.emit("changed",e._isSyncing),u.isFunction(this.callback)&&this.callback(null,e._isSyncing,this),setTimeout(function(){e.emit("data",t),u.isFunction(e.callback)&&e.callback(null,t,e)},0)):(this.emit("data",t),u.isFunction(e.callback)&&this.callback(null,t,this),clearTimeout(this._isSyncingTimeout),this._isSyncingTimeout=setTimeout(function(){t.currentBlock>t.highestBlock-200&&(e._isSyncing=!1,e.emit("changed",e._isSyncing),u.isFunction(e.callback)&&e.callback(null,e._isSyncing,e))},500))}}}})];a.forEach(function(t){t.attachToObject(e),t.setRequestManager(e._requestManager,e.accounts),t.defaultBlock=e.defaultBlock,t.defaultAccount=e.defaultAccount})};s.addProviders(i),e.exports=i},{"./getNetworkType.js":415,underscore:414,"web3-core":236,"web3-core-helpers":218,"web3-core-method":220,"web3-core-subscriptions":233,"web3-eth-abi":250,"web3-eth-accounts":396,"web3-eth-contract":398,"web3-eth-ens":407,"web3-eth-iban":412,"web3-eth-personal":413,"web3-net":417,"web3-utils":449}],417:[function(t,e,r){var n=t("web3-core"),i=t("web3-core-method"),o=t("web3-utils"),a=function(){var e=this;n.packageInit(this,arguments),[new i({name:"getId",call:"net_version",params:0,outputFormatter:o.hexToNumber}),new i({name:"isListening",call:"net_listening",params:0}),new i({name:"getPeerCount",call:"net_peerCount",params:0,outputFormatter:o.hexToNumber})].forEach(function(t){t.attachToObject(e),t.setRequestManager(e._requestManager)})};n.addProviders(a),e.exports=a},{"web3-core":236,"web3-core-method":220,"web3-utils":449}],418:[function(t,e,r){!function(){function i(t,e,r,n){return this instanceof i?(this.domain=t||void 0,this.path=e||"/",this.secure=!!r,this.script=!!n,this):new i(t,e,r,n)}function s(t,e,r){return t instanceof s?t:this instanceof s?(this.name=null,this.value=null,this.expiration_date=1/0,this.path=String(r||"/"),this.explicit_path=!1,this.domain=e||null,this.explicit_domain=!1,this.secure=!1,this.noscript=!1,t&&this.parse(t,e,r),this):new s(t,e,r)}i.All=Object.freeze(Object.create(null)),r.CookieAccessInfo=i,(r.Cookie=s).prototype.toString=function(){var t=[this.name+"="+this.value];return this.expiration_date!==1/0&&t.push("expires="+new Date(this.expiration_date).toGMTString()),this.domain&&t.push("domain="+this.domain),this.path&&t.push("path="+this.path),this.secure&&t.push("secure"),this.noscript&&t.push("httponly"),t.join("; ")},s.prototype.toValueString=function(){return this.name+"="+this.value};var a=/[:](?=\s*[a-zA-Z0-9_\-]+\s*[=])/g;function t(){var o,a;return this instanceof t?(o=Object.create(null),this.setCookie=function(t,e,r){var n,i;if(n=(t=new s(t,e,r)).expiration_date<=Date.now(),void 0===o[t.name])return!n&&(o[t.name]=[t],o[t.name]);for(a=o[t.name],i=0;il&&(W("Max buffer length exceeded: textNode"),i=Math.max(i,B.length)),C.length>l&&(W("Max buffer length exceeded: numberNode"),i=Math.max(i,C.length)),N=l-i+H);var i}),t(ut).on(function(){if(F==d)return c({}),f(),void(R=!0);F===p&&0===z||W("Unexpected end");B!==X&&(c(B),f(),B=X);R=!0})}var t,e,o,N,B,C,P,R,F,L,q,D=(t=d(function(t){return t.unshift(/^/),(e=RegExp(t.map(n("source")).join(""))).exec.bind(e);var e}),N=t(e=/(\$?)/,/([\w-_]+|\*)/,o=/(?:{([\w ]*?)})?/),B=t(e,/\["([^"]+)"\]/,o),C=t(e,/\[(\d+|\*)\]/,o),P=t(e,/()/,/{([\w ]*?)}/),R=t(/\.\./),F=t(/\./),L=t(e,/!/),q=t(/$/),function(t){return t(v(N,B,C,P),R,F,L,q)});function z(t,e){return{key:t,node:e}}var H=n("key"),K=n("node"),$={};function W(t){var i=t(Y).emit,e=t(Q).emit,s=t(it).emit,r=t(nt).emit;function c(t,e,r){K(E(t))[e]=r}function f(t,e,r){t&&c(t,e,r);var n=M(z(e,r),t);return i(n),n}var n={};return n[ft]=function(t,e){if(!t)return s(e),f(t,$,e);var r,n,i,o=(n=e,i=K(E(r=t)),_(l,i)?f(r,A(i),n):r),a=j(o),u=H(E(o));return c(a,u,e),M(z(u,e),a)},n[lt]=function(t){return e(t),j(t)||r(K(E(t)))},n[ct]=f,n}var V=D(function(t,e,r,n,i){var o=b(H,E),a=b(K,E);function u(t,e){return!!e[1]?m(t,E):t}function s(t){if(t==w)return w;return m(function(t){return o(t)!=$},b(t,j))}function c(){return function(t){return o(t)==$}}function f(t,e,r,n,i){var o,a=t(r);if(a){var u=(o=a,O(function(t,e){return e(t,o)},n,e));return i(r.substr(A(a[0])),u)}}function l(t,e){return y(f,t,e)}var h=v(l(t,I(u,function(t,e){var r=e[3];return r?m(b(y(S,U(r.split(/\W+/))),a),t):t},function(t,e){var r=e[2];return m(r&&"*"!=r?function(t){return o(t)==r}:w,t)},s)),l(e,I(function(t){if(t==w)return w;var e=c(),r=t,n=s(function(t){return i(t)}),i=v(e,r,n);return i})),l(r,I()),l(n,I(u,c)),l(i,I(function(r){return function(t){var e=r(t);return!0===e?E(t):e}})),function(t){throw G('"'+t+'" could not be tokenised')});function d(t,e){return e}function p(t,e){return h(t,e,t?p:d)}return function(e){try{return p(e,w)}catch(t){throw G('Could not compile "'+e+'" because '+t.message)}}});function J(n,i,r){var o,a;function u(e){return function(t){return t.id==e}}return{on:function(t,e){var r={listener:t,id:e||t};return i&&i.emit(n,t,r.id),o=M(r,o),a=M(t,a),this},emit:function(){!function t(e,r){e&&(E(e).apply(null,r),t(j(e),r))}(a,arguments)},un:function(t){var e;o=f(o,u(t),function(t){e=t}),e&&(a=f(a,function(t){return t==e.listener}),r&&r.emit(n,e.listener,e.id))},listeners:function(){return a},hasListener:function(t){return k(function t(e,r){return r&&(e(E(r))?E(r):t(e,j(r)))}(t?u(t):w,o))}}}var Z=1,Y=Z++,Q=Z++,tt=Z++,et=Z++,rt="fail",nt=Z++,it=Z++,ot="start",at="data",ut="end",st=Z++,ct=Z++,ft=Z++,lt=Z++;function ht(t,e,r){try{var n=s.parse(e)}catch(t){}return{statusCode:t,body:e,jsonBody:n,thrown:r}}function dt(n,i){var o={node:n(Q),path:n(Y)};function a(e,r,o){var a=n(e).emit;r.on(function(t){var e,r,n,i=o(t);!1!==i&&(e=a,r=K(i),n=T(t),e(r,u(j(c(H,n))),u(c(K,n))))},e),n("removeListener").on(function(t){t==e&&(n(t).listeners()||r.un(e))})}n("newListener").on(function(t){var e=/(node|path):(.*)/.exec(t);if(e){var r=o[e[1]];r.hasListener(t)||a(t,r,i(e[2]))}})}function pt(o,t){var i,a=/^(node|path):./,u=o(nt),s=o(et).emit,c=o(tt).emit,e=d(function(t,e){if(i[t])h(e,i[t]);else{var r=o(t),n=e[0];a.test(t)?f(r,n):r.on(n)}return i});function f(e,t,r){r=r||t;var n=l(t);return e.on(function(){var t=!1;i.forget=function(){t=!0},h(arguments,n),delete i.forget,t&&e.un(r)},r),i}function l(t){return function(){try{return t.apply(i,arguments)}catch(t){setTimeout(function(){throw new G(t.message)})}}}function n(t,e,r){var n,i;n="node"==t?(i=r,function(){var t=i.apply(this,arguments);k(t)&&(t==vt.drop?s():c(t))}):r,f(o(t+":"+e),n,r)}function r(t,e,r){return x(e)?n(t,e,r):function(t,e){for(var r in e)n(t,r,e[r])}(t,e),i}return o(it).on(function(t){var e;i.root=(e=t,function(){return e})}),o(ot).on(function(t,e){i.header=function(t){return t?e[t]:e}}),i={on:e,addListener:e,removeListener:function(t,e,r){if("done"==t)u.un(e);else if("node"==t||"path"==t)o.un(t+":"+e,r);else{var n=e;o(t).un(n)}return i},emit:o.emit,node:y(r,"node"),path:y(r,"path"),done:y(f,u),start:y(function(t,e){return o(t).on(l(e),e),i},ot),fail:o(rt).on,abort:o(st).emit,header:g,root:g,source:t}}function yt(t,e,r,n,i){var o=function(){var e={},r=i("newListener"),n=i("removeListener");function i(t){return e[t]=J(t,r,n)}function o(t){return e[t]||i(t)}return["emit","on","un"].forEach(function(r){o[r]=d(function(t,e){h(e,o(t)[r])})}),o}();return e&&function(e,n,t,r,i,o,a){var u,s=e(at).emit,c=e(rt).emit,f=0,l=!0;function h(){var t=n.responseText,e=t.substr(f);e&&s(e),f=A(t)}e(st).on(function(){n.onreadystatechange=null,n.abort()}),"onprogress"in n&&(n.onprogress=h),n.onreadystatechange=function(){function t(){try{l&&e(ot).emit(n.status,(t=n.getAllResponseHeaders(),r={},t&&t.split("\r\n").forEach(function(t){var e=t.indexOf(": ");r[t.substring(0,e)]=t.substring(e+2)}),r)),l=!1}catch(t){}var t,r}switch(n.readyState){case 2:case 3:return t();case 4:t(),2==String(n.status)[0]?(h(),e(ut).emit()):c(ht(n.status,n.responseText))}};try{for(var d in n.open(t,r,!0),o)n.setRequestHeader(d,o[d]);(function(e,t){function r(t){return t.port||{"http:":80,"https:":443}[t.protocol||e.protocol]}return!!(t.protocol&&t.protocol!=e.protocol||t.host&&t.host!=e.host||t.host&&r(t)!=r(e))})(p.location,{protocol:(u=/(\w+:)?(?:\/\/)([\w.-]+)?(?::(\d+))?\/?/.exec(r)||[])[1]||"",host:u[2]||"",port:u[3]||""})||n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.withCredentials=a,n.send(i)}catch(t){p.setTimeout(y(c,ht(X,X,t)),0)}}(o,new XMLHttpRequest,t,e,r,n,i),a(o),function(e,r){var i,n={};function t(e){return function(t){i=e(i,t)}}for(var o in r)e(o).on(t(r[o]),n);e(tt).on(function(t){var e=E(i),r=H(e),n=j(i);n&&(K(E(n))[r]=t)}),e(et).on(function(){var t=E(i),e=H(t),r=j(i);r&&delete K(E(r))[e]}),e(st).on(function(){for(var t in r)e(t).un(n)})}(o,W(o)),dt(o,V),pt(o,e)}function bt(t,e,r,n,i,o,a){return i=i?s.parse(s.stringify(i)):{},n?(x(n)||(n=s.stringify(n),i["Content-Type"]=i["Content-Type"]||"application/json"),i["Content-Length"]=i["Content-Length"]||n.length):n=null,t(r||"GET",(u=e,!1===a&&(-1==u.indexOf("?")?u+="?":u+="&",u+="_="+(new Date).getTime()),u),n,i,o||!1);var u}function vt(t){var e=I("resume","pause","pipe"),r=y(S,e);return t?r(t)||x(t)?bt(yt,t):bt(yt,t.url,t.method,t.body,t.headers,t.withCredentials,t.cached):yt()}vt.drop=function(){return vt.drop},"function"==typeof define&&define.amd?define("oboe",[],function(){return vt}):"object"===_typeof(gt)?mt.exports=vt:p.oboe=vt}(function(){try{return window}catch(t){return self}}(),Object,Array,Error,JSON)},{}],427:[function(t,J,Z){(function(X){!function(){var t="object"==("undefined"==typeof self?"undefined":_typeof(self))&&self.self===self&&self||"object"==_typeof(X)&&X.global===X&&X||this||{},e=t._,n=Array.prototype,a=Object.prototype,l="undefined"!=typeof Symbol?Symbol.prototype:null,i=n.push,s=n.slice,h=a.toString,o=a.hasOwnProperty,r=Array.isArray,u=Object.keys,c=Object.create,f=function(){},d=function t(e){return e instanceof t?e:this instanceof t?void(this._wrapped=e):new t(e)};void 0===Z||Z.nodeType?t._=d:(void 0!==J&&!J.nodeType&&J.exports&&(Z=J.exports=d),Z._=d),d.VERSION="1.9.1";var p,y=function(i,o,t){if(void 0===o)return i;switch(null==t?3:t){case 1:return function(t){return i.call(o,t)};case 3:return function(t,e,r){return i.call(o,t,e,r)};case 4:return function(t,e,r,n){return i.call(o,t,e,r,n)}}return function(){return i.apply(o,arguments)}},b=function(t,e,r){return d.iteratee!==p?d.iteratee(t,e):null==t?d.identity:d.isFunction(t)?y(t,e,r):d.isObject(t)&&!d.isArray(t)?d.matcher(t):d.property(t)};d.iteratee=p=function(t,e){return b(t,e,1/0)};var v=function(i,o){return o=null==o?i.length-1:+o,function(){for(var t=Math.max(arguments.length-o,0),e=Array(t),r=0;r":">",'"':""","'":"'","`":"`"},D=d.invert(q),z=function(e){var r=function(t){return e[t]},t="(?:"+d.keys(e).join("|")+")",n=RegExp(t),i=RegExp(t,"g");return function(t){return t=null==t?"":""+t,n.test(t)?t.replace(i,r):t}};d.escape=z(q),d.unescape=z(D),d.result=function(t,e,r){d.isArray(e)||(e=[e]);var n=e.length;if(!n)return d.isFunction(r)?r.call(t):r;for(var i=0;i/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,$={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,V=function(t){return"\\"+$[t]};d.template=function(o,t,e){!t&&e&&(t=e),t=d.defaults({},t,d.templateSettings);var r,n=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(n,function(t,e,r,n,i){return u+=o.slice(a,i).replace(W,V),a=i+t.length,e?u+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":n&&(u+="';\n"+n+"\n__p+='"),t}),u+="';\n",t.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{r=new Function(t.variable||"obj","_",u)}catch(t){throw t.source=u,t}var i=function(t){return r.call(this,t,d)},s=t.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},d.chain=function(t){var e=d(t);return e._chain=!0,e};var G=function(t,e){return t._chain?d(e).chain():e};d.mixin=function(r){return d.each(d.functions(r),function(t){var e=d[t]=r[t];d.prototype[t]=function(){var t=[this._wrapped];return i.apply(t,arguments),G(this,e.apply(d,t))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var r=n[e];d.prototype[e]=function(){var t=this._wrapped;return r.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],G(this,t)}}),d.each(["concat","join","slice"],function(t){var e=n[t];d.prototype[t]=function(){return G(this,e.apply(this._wrapped,arguments))}}),d.prototype.valueOf=d.prototype.toJSON=d.prototype.value=function(){return this._wrapped},d.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return d})}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],428:[function(t,e,r){var i=t("underscore"),o=t("web3-core-helpers").errors,a=t("oboe"),n=function(t,e){var n=this;this.responseCallbacks={},this.notificationCallbacks=[],this.path=t,this.connected=!1,this.connection=e.connect({path:this.path}),this.addDefaultEvents();var r=function(e){var r=null;i.isArray(e)?e.forEach(function(t){n.responseCallbacks[t.id]&&(r=t.id)}):r=e.id,r||-1===e.method.indexOf("_subscription")?n.responseCallbacks[r]&&(n.responseCallbacks[r](null,e),delete n.responseCallbacks[r]):n.notificationCallbacks.forEach(function(t){i.isFunction(t)&&t(e)})};"Socket"===e.constructor.name?a(this.connection).done(r):this.connection.on("data",function(t){n._parseResponse(t.toString()).forEach(r)})};n.prototype.addDefaultEvents=function(){var t=this;this.connection.on("connect",function(){t.connected=!0}),this.connection.on("close",function(){t.connected=!1}),this.connection.on("error",function(){t._timeout()}),this.connection.on("end",function(){t._timeout()}),this.connection.on("timeout",function(){t._timeout()})},n.prototype._parseResponse=function(t){var r=this,n=[];return t.replace(/\}[\n\r]?\{/g,"}|--|{").replace(/\}\][\n\r]?\[\{/g,"}]|--|[{").replace(/\}[\n\r]?\[\{/g,"}|--|[{").replace(/\}\][\n\r]?\{/g,"}]|--|{").split("|--|").forEach(function(e){r.lastChunk&&(e=r.lastChunk+e);var t=null;try{t=JSON.parse(e)}catch(t){return r.lastChunk=e,clearTimeout(r.lastChunkTimeout),void(r.lastChunkTimeout=setTimeout(function(){throw r._timeout(),o.InvalidResponse(e)},15e3))}clearTimeout(r.lastChunkTimeout),r.lastChunk=null,t&&n.push(t)}),n},n.prototype._addResponseCallback=function(t,e){var r=t.id||t[0].id,n=t.method||t[0].method;this.responseCallbacks[r]=e,this.responseCallbacks[r].method=n},n.prototype._timeout=function(){for(var t in this.responseCallbacks)this.responseCallbacks.hasOwnProperty(t)&&(this.responseCallbacks[t](o.InvalidConnection("on IPC")),delete this.responseCallbacks[t])},n.prototype.reconnect=function(){this.connection.connect({path:this.path})},n.prototype.send=function(t,e){this.connection.writable||this.connection.connect({path:this.path}),this.connection.write(JSON.stringify(t)),this._addResponseCallback(t,e)},n.prototype.on=function(t,e){if("function"!=typeof e)throw new Error("The second parameter callback must be a function.");switch(t){case"data":this.notificationCallbacks.push(e);break;default:this.connection.on(t,e)}},n.prototype.once=function(t,e){if("function"!=typeof e)throw new Error("The second parameter callback must be a function.");this.connection.once(t,e)},n.prototype.removeListener=function(t,r){var n=this;switch(t){case"data":this.notificationCallbacks.forEach(function(t,e){t===r&&n.notificationCallbacks.splice(e,1)});break;default:this.connection.removeListener(t,r)}},n.prototype.removeAllListeners=function(t){switch(t){case"data":this.notificationCallbacks=[];break;default:this.connection.removeAllListeners(t)}},n.prototype.reset=function(){this._timeout(),this.notificationCallbacks=[],this.connection.removeAllListeners("error"),this.connection.removeAllListeners("end"),this.connection.removeAllListeners("timeout"),this.addDefaultEvents()},e.exports=n},{oboe:426,underscore:427,"web3-core-helpers":218}],429:[function(t,e,r){e.exports=function(){if(this)return this;Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0});try{return __global__}finally{delete Object.prototype.__global__}}()},{}],430:[function(t,J,Z){(function(X){!function(){var t="object"==("undefined"==typeof self?"undefined":_typeof(self))&&self.self===self&&self||"object"==_typeof(X)&&X.global===X&&X||this||{},e=t._,n=Array.prototype,a=Object.prototype,l="undefined"!=typeof Symbol?Symbol.prototype:null,i=n.push,s=n.slice,h=a.toString,o=a.hasOwnProperty,r=Array.isArray,u=Object.keys,c=Object.create,f=function(){},d=function t(e){return e instanceof t?e:this instanceof t?void(this._wrapped=e):new t(e)};void 0===Z||Z.nodeType?t._=d:(void 0!==J&&!J.nodeType&&J.exports&&(Z=J.exports=d),Z._=d),d.VERSION="1.9.1";var p,y=function(i,o,t){if(void 0===o)return i;switch(null==t?3:t){case 1:return function(t){return i.call(o,t)};case 3:return function(t,e,r){return i.call(o,t,e,r)};case 4:return function(t,e,r,n){return i.call(o,t,e,r,n)}}return function(){return i.apply(o,arguments)}},b=function(t,e,r){return d.iteratee!==p?d.iteratee(t,e):null==t?d.identity:d.isFunction(t)?y(t,e,r):d.isObject(t)&&!d.isArray(t)?d.matcher(t):d.property(t)};d.iteratee=p=function(t,e){return b(t,e,1/0)};var v=function(i,o){return o=null==o?i.length-1:+o,function(){for(var t=Math.max(arguments.length-o,0),e=Array(t),r=0;r":">",'"':""","'":"'","`":"`"},D=d.invert(q),z=function(e){var r=function(t){return e[t]},t="(?:"+d.keys(e).join("|")+")",n=RegExp(t),i=RegExp(t,"g");return function(t){return t=null==t?"":""+t,n.test(t)?t.replace(i,r):t}};d.escape=z(q),d.unescape=z(D),d.result=function(t,e,r){d.isArray(e)||(e=[e]);var n=e.length;if(!n)return d.isFunction(r)?r.call(t):r;for(var i=0;i/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,$={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,V=function(t){return"\\"+$[t]};d.template=function(o,t,e){!t&&e&&(t=e),t=d.defaults({},t,d.templateSettings);var r,n=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(n,function(t,e,r,n,i){return u+=o.slice(a,i).replace(W,V),a=i+t.length,e?u+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":n&&(u+="';\n"+n+"\n__p+='"),t}),u+="';\n",t.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{r=new Function(t.variable||"obj","_",u)}catch(t){throw t.source=u,t}var i=function(t){return r.call(this,t,d)},s=t.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},d.chain=function(t){var e=d(t);return e._chain=!0,e};var G=function(t,e){return t._chain?d(e).chain():e};d.mixin=function(r){return d.each(d.functions(r),function(t){var e=d[t]=r[t];d.prototype[t]=function(){var t=[this._wrapped];return i.apply(t,arguments),G(this,e.apply(d,t))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var r=n[e];d.prototype[e]=function(){var t=this._wrapped;return r.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],G(this,t)}}),d.each(["concat","join","slice"],function(t){var e=n[t];d.prototype[t]=function(){return G(this,e.apply(this._wrapped,arguments))}}),d.prototype.valueOf=d.prototype.toJSON=d.prototype.value=function(){return this._wrapped},d.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return d})}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],431:[function(t,e,r){var n;try{n=t("es5-ext/global")}catch(t){}finally{if(n||"undefined"==typeof window||(n=window),!n)throw new Error("Could not determine global this")}var i=n.WebSocket||n.MozWebSocket,o=t("./version");function a(t,e){return e?new i(t,e):new i(t)}i&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach(function(t){Object.defineProperty(a,t,{get:function(){return i[t]}})}),e.exports={w3cwebsocket:i?a:null,version:o}},{"./version":432,"es5-ext/global":429}],432:[function(t,e,r){e.exports=t("../package.json").version},{"../package.json":433}],433:[function(t,e,r){e.exports={_args:[["github:web3-js/WebSocket-Node#polyfill/globalThis","/Users/work/Development/foundation/web3.js/packages/web3-providers-ws"]],_from:"github:web3-js/WebSocket-Node#polyfill/globalThis",_id:"websocket@github:web3-js/WebSocket-Node#b134a75541b5db59668df81c03e926cd5f325077",_inBundle:!1,_integrity:"",_location:"/websocket",_phantomChildren:{},_requested:{type:"git",raw:"github:web3-js/WebSocket-Node#polyfill/globalThis",rawSpec:"github:web3-js/WebSocket-Node#polyfill/globalThis",saveSpec:"github:web3-js/WebSocket-Node#polyfill/globalThis",fetchSpec:null,gitCommittish:"polyfill/globalThis"},_requiredBy:["/"],_resolved:"github:web3-js/WebSocket-Node#b134a75541b5db59668df81c03e926cd5f325077",_spec:"github:web3-js/WebSocket-Node#polyfill/globalThis",_where:"/Users/work/Development/foundation/web3.js/packages/web3-providers-ws",author:{name:"Brian McKelvey",email:"theturtle32@gmail.com",url:"https://github.com/theturtle32"},browser:"lib/browser.js",bugs:{url:"https://github.com/theturtle32/WebSocket-Node/issues"},config:{verbose:!1},contributors:[{name:"Iñaki Baz Castillo",email:"ibc@aliax.net",url:"http://dev.sipdoc.net"}],dependencies:{debug:"^2.2.0","es5-ext":"^0.10.50",nan:"^2.14.0","typedarray-to-buffer":"^3.1.5",yaeti:"^0.0.6"},description:"Websocket Client & Server Library implementing the WebSocket protocol as specified in RFC 6455.",devDependencies:{"buffer-equal":"^1.0.0",faucet:"^0.0.1",gulp:"^4.0.2","gulp-jshint":"^2.0.4",jshint:"^2.0.0","jshint-stylish":"^2.2.1",tape:"^4.9.1"},directories:{lib:"./lib"},engines:{node:">=0.10.0"},homepage:"https://github.com/theturtle32/WebSocket-Node",keywords:["websocket","websockets","socket","networking","comet","push","RFC-6455","realtime","server","client"],license:"Apache-2.0",main:"index",name:"websocket",repository:{type:"git",url:"git+https://github.com/theturtle32/WebSocket-Node.git"},scripts:{gulp:"gulp",install:"(node-gyp rebuild 2> builderror.log) || (exit 0)",test:"faucet test/unit"},version:"1.0.29"}},{}],434:[function(u,h,t){(function(t,e){var s=u("underscore"),o=u("web3-core-helpers").errors,c=u("websocket").w3cwebsocket,r="[object process]"===Object.prototype.toString.call(void 0!==t?t:0),f=null,l=null;if(r){f=function(t){return e.from(t).toString("base64")};var n=u("url");if(n.URL){var i=n.URL;l=function(t){return new i(t)}}else l=u("url").parse}else f=btoa,l=function(t){return new URL(t)};var a=function(t,e){if(!c)throw new Error("websocket is not available");var n=this;this.responseCallbacks={},this.notificationCallbacks=[],e=e||{},this._customTimeout=e.timeout;var r=l(t),i=e.headers||{},o=e.protocol||void 0;r.username&&r.password&&(i.authorization="Basic "+f(r.username+":"+r.password));var a=e.clientConfig||void 0,u=e.requestOptions||void 0;r.auth&&(i.authorization="Basic "+f(r.auth)),this.connection=new c(t,o,void 0,i,u,a),this.addDefaultEvents(),this.connection.onmessage=function(t){var e="string"==typeof t.data?t.data:"";n._parseResponse(e).forEach(function(e){var r=null;s.isArray(e)?e.forEach(function(t){n.responseCallbacks[t.id]&&(r=t.id)}):r=e.id,!r&&e&&e.method&&-1!==e.method.indexOf("_subscription")?n.notificationCallbacks.forEach(function(t){s.isFunction(t)&&t(e)}):n.responseCallbacks[r]&&(n.responseCallbacks[r](null,e),delete n.responseCallbacks[r])})},Object.defineProperty(this,"connected",{get:function(){return this.connection&&this.connection.readyState===this.connection.OPEN},enumerable:!0})};a.prototype.addDefaultEvents=function(){var t=this;this.connection.onerror=function(){t._timeout()},this.connection.onclose=function(){t._timeout(),t.reset()}},a.prototype._parseResponse=function(t){var r=this,n=[];return t.replace(/\}[\n\r]?\{/g,"}|--|{").replace(/\}\][\n\r]?\[\{/g,"}]|--|[{").replace(/\}[\n\r]?\[\{/g,"}|--|[{").replace(/\}\][\n\r]?\{/g,"}]|--|{").split("|--|").forEach(function(e){r.lastChunk&&(e=r.lastChunk+e);var t=null;try{t=JSON.parse(e)}catch(t){return r.lastChunk=e,clearTimeout(r.lastChunkTimeout),void(r.lastChunkTimeout=setTimeout(function(){throw r._timeout(),o.InvalidResponse(e)},15e3))}clearTimeout(r.lastChunkTimeout),r.lastChunk=null,t&&n.push(t)}),n},a.prototype._addResponseCallback=function(t,e){var r=t.id||t[0].id,n=t.method||t[0].method;this.responseCallbacks[r]=e,this.responseCallbacks[r].method=n;var i=this;this._customTimeout&&setTimeout(function(){i.responseCallbacks[r]&&(i.responseCallbacks[r](o.ConnectionTimeout(i._customTimeout)),delete i.responseCallbacks[r])},this._customTimeout)},a.prototype._timeout=function(){for(var t in this.responseCallbacks)this.responseCallbacks.hasOwnProperty(t)&&(this.responseCallbacks[t](o.InvalidConnection("on WS")),delete this.responseCallbacks[t])},a.prototype.send=function(t,e){var r=this;if(this.connection.readyState!==this.connection.CONNECTING){if(this.connection.readyState!==this.connection.OPEN)return console.error("connection not open on send()"),"function"==typeof this.connection.onerror?this.connection.onerror(new Error("connection not open")):console.error("no error callback"),void e(new Error("connection not open"));this.connection.send(JSON.stringify(t)),this._addResponseCallback(t,e)}else setTimeout(function(){r.send(t,e)},10)},a.prototype.on=function(t,e){if("function"!=typeof e)throw new Error("The second parameter callback must be a function.");switch(t){case"data":this.notificationCallbacks.push(e);break;case"connect":this.connection.onopen=e;break;case"end":this.connection.onclose=e;break;case"error":this.connection.onerror=e}},a.prototype.removeListener=function(t,r){var n=this;switch(t){case"data":this.notificationCallbacks.forEach(function(t,e){t===r&&n.notificationCallbacks.splice(e,1)})}},a.prototype.removeAllListeners=function(t){switch(t){case"data":this.notificationCallbacks=[];break;case"connect":this.connection.onopen=null;break;case"end":this.connection.onclose=null;break;case"error":this.connection.onerror=null}},a.prototype.reset=function(){this._timeout(),this.notificationCallbacks=[],this.addDefaultEvents()},a.prototype.disconnect=function(){this.connection&&this.connection.close()},h.exports=a}).call(this,u("_process"),u("buffer").Buffer)},{_process:119,buffer:46,underscore:430,url:164,"web3-core-helpers":218,websocket:431}],435:[function(t,e,r){var n=t("web3-core"),i=t("web3-core-subscriptions").subscriptions,o=t("web3-core-method"),a=t("web3-net"),u=function(){var e=this;n.packageInit(this,arguments);var t=this.setProvider;this.setProvider=function(){t.apply(e,arguments),e.net.setProvider.apply(e,arguments)},this.net=new a(this.currentProvider),[new i({name:"subscribe",type:"shh",subscriptions:{messages:{params:1}}}),new o({name:"getVersion",call:"shh_version",params:0}),new o({name:"getInfo",call:"shh_info",params:0}),new o({name:"setMaxMessageSize",call:"shh_setMaxMessageSize",params:1}),new o({name:"setMinPoW",call:"shh_setMinPoW",params:1}),new o({name:"markTrustedPeer",call:"shh_markTrustedPeer",params:1}),new o({name:"newKeyPair",call:"shh_newKeyPair",params:0}),new o({name:"addPrivateKey",call:"shh_addPrivateKey",params:1}),new o({name:"deleteKeyPair",call:"shh_deleteKeyPair",params:1}),new o({name:"hasKeyPair",call:"shh_hasKeyPair",params:1}),new o({name:"getPublicKey",call:"shh_getPublicKey",params:1}),new o({name:"getPrivateKey",call:"shh_getPrivateKey",params:1}),new o({name:"newSymKey",call:"shh_newSymKey",params:0}),new o({name:"addSymKey",call:"shh_addSymKey",params:1}),new o({name:"generateSymKeyFromPassword",call:"shh_generateSymKeyFromPassword",params:1}),new o({name:"hasSymKey",call:"shh_hasSymKey",params:1}),new o({name:"getSymKey",call:"shh_getSymKey",params:1}),new o({name:"deleteSymKey",call:"shh_deleteSymKey",params:1}),new o({name:"newMessageFilter",call:"shh_newMessageFilter",params:1}),new o({name:"getFilterMessages",call:"shh_getFilterMessages",params:1}),new o({name:"deleteMessageFilter",call:"shh_deleteMessageFilter",params:1}),new o({name:"post",call:"shh_post",params:1,inputFormatter:[null]}),new o({name:"unsubscribe",call:"shh_unsubscribe",params:1})].forEach(function(t){t.attachToObject(e),t.setRequestManager(e._requestManager)})};u.prototype.clearSubscriptions=function(){this._requestManager.clearSubscriptions()},n.addProviders(u),e.exports=u},{"web3-core":236,"web3-core-method":220,"web3-core-subscriptions":233,"web3-net":417}],436:[function(t,e,r){arguments[4][237][0].apply(r,arguments)},{buffer:17,dup:237}],437:[function(t,e,r){arguments[4][182][0].apply(r,arguments)},{dup:182}],438:[function(t,e,r){var f=t("bn.js"),l=t("number-to-bn"),h=new f(0),d=new f(-1),p={noether:"0",wei:"1",kwei:"1000",Kwei:"1000",babbage:"1000",femtoether:"1000",mwei:"1000000",Mwei:"1000000",lovelace:"1000000",picoether:"1000000",gwei:"1000000000",Gwei:"1000000000",shannon:"1000000000",nanoether:"1000000000",nano:"1000000000",szabo:"1000000000000",microether:"1000000000000",micro:"1000000000000",finney:"1000000000000000",milliether:"1000000000000000",milli:"1000000000000000",ether:"1000000000000000000",kether:"1000000000000000000000",grand:"1000000000000000000000",mether:"1000000000000000000000000",gether:"1000000000000000000000000000",tether:"1000000000000000000000000000000"};function y(t){var e=t?t.toLowerCase():"ether",r=p[e];if("string"!=typeof r)throw new Error("[ethjs-unit] the unit provided "+t+" doesn't exists, please use the one of the following units "+JSON.stringify(p,null,2));return new f(r,10)}function b(t){if("string"==typeof t){if(!t.match(/^-?[0-9.]+$/))throw new Error("while converting number to string, invalid number value '"+t+"', should be a number matching (^-?[0-9.]+).");return t}if("number"==typeof t)return String(t);if("object"===_typeof(t)&&t.toString&&(t.toTwos||t.dividedToIntegerBy))return t.toPrecision?String(t.toPrecision()):t.toString(10);throw new Error("while converting number to string, invalid number value '"+t+"' type "+_typeof(t)+".")}e.exports={unitMap:p,numberToString:b,getValueOfUnit:y,fromWei:function(t,e,r){var n=l(t),i=n.lt(h),o=y(e),a=p[e].length-1||1,u=r||{};i&&(n=n.mul(d));for(var s=n.mod(o).toString(10);s.lengthi)throw new Error("[ethjs-unit] while converting number "+t+" to wei, too many decimal places");for(;s.length>>26-a&67108863,26<=(a+=24)&&(a-=26,i++);else if("le"===r)for(i=n=0;n>>26-a&67108863,26<=(a+=24)&&(a-=26,i++);return this.strip()},v.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r>>26-o&4194303,26<=(o+=24)&&(o-=26,n++);r+6!==e&&(i=a(t,e,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},v.prototype._parseBase=function(t,e,r){this.words=[0];for(var n=0,i=this.length=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,u=Math.min(o,o-a)+r,s=0,c=r;c"};var h=["","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"],d=[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],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function i(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;n=(r.length=n)-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,u=67108863&a,s=a/67108864|0;r.words[0]=u;for(var c=1;c>>26,l=67108863&s,h=Math.min(c,e.length-1),d=Math.max(0,c-t.length+1);d<=h;d++){var p=c-d|0;f+=(a=(i=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&a}r.words[c]=0|l,s=0|f}return 0!==s?r.words[c]=0|s:r.length--,r.strip()}v.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var n=0,i=0,o=0;o>>24-n&16777215)||o!==this.length-1?h[6-u.length]+u+r:u+r,26<=(n+=2)&&(n-=26,o--)}for(0!==i&&(r=i.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&2<=t&&t<=36){var s=d[t],c=p[t];r="";var f=this.clone();for(f.negative=0;!f.isZero();){var l=f.modn(c).toString(t);r=(f=f.idivn(c)).isZero()?l+r:h[s-l.length]+l+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}b(!1,"Base should be between 2 and 36")},v.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:2>>=13),64<=e&&(r+=7,e>>>=7),8<=e&&(r+=4,e>>>=4),2<=e&&(r+=2,e>>>=2),r+e},v.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},v.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},v.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},v.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},v.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},v.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},v.prototype.iuxor=function(t){var e,r;r=this.length>t.length?(e=this,t):(e=t,this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},v.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},v.prototype.inotn=function(t){b("number"==typeof t&&0<=t);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),0>26-r),this.strip()},v.prototype.notn=function(t){return this.clone().inotn(t)},v.prototype.setn=function(t,e){b("number"==typeof t&&0<=t);var r=t/26|0,n=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,t):(r=t,this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},v.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;n=0>26,this.words[a]=67108863&e;for(;0!==o&&a>26,this.words[a]=67108863&e;if(0===o&&a>>13,d=0|a[1],p=8191&d,y=d>>>13,b=0|a[2],v=8191&b,m=b>>>13,g=0|a[3],w=8191&g,_=g>>>13,A=0|a[4],x=8191&A,k=A>>>13,S=0|a[5],M=8191&S,E=S>>>13,j=0|a[6],U=8191&j,I=j>>>13,O=0|a[7],T=8191&O,N=O>>>13,B=0|a[8],C=8191&B,P=B>>>13,R=0|a[9],F=8191&R,L=R>>>13,q=0|u[0],D=8191&q,z=q>>>13,H=0|u[1],K=8191&H,$=H>>>13,W=0|u[2],V=8191&W,G=W>>>13,X=0|u[3],J=8191&X,Z=X>>>13,Y=0|u[4],Q=8191&Y,tt=Y>>>13,et=0|u[5],rt=8191&et,nt=et>>>13,it=0|u[6],ot=8191&it,at=it>>>13,ut=0|u[7],st=8191&ut,ct=ut>>>13,ft=0|u[8],lt=8191&ft,ht=ft>>>13,dt=0|u[9],pt=8191&dt,yt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var bt=(c+(n=Math.imul(l,D))|0)+((8191&(i=(i=Math.imul(l,z))+Math.imul(h,D)|0))<<13)|0;c=((o=Math.imul(h,z))+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(p,D),i=(i=Math.imul(p,z))+Math.imul(y,D)|0,o=Math.imul(y,z);var vt=(c+(n=n+Math.imul(l,K)|0)|0)+((8191&(i=(i=i+Math.imul(l,$)|0)+Math.imul(h,K)|0))<<13)|0;c=((o=o+Math.imul(h,$)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,D),i=(i=Math.imul(v,z))+Math.imul(m,D)|0,o=Math.imul(m,z),n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(y,K)|0,o=o+Math.imul(y,$)|0;var mt=(c+(n=n+Math.imul(l,V)|0)|0)+((8191&(i=(i=i+Math.imul(l,G)|0)+Math.imul(h,V)|0))<<13)|0;c=((o=o+Math.imul(h,G)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(w,D),i=(i=Math.imul(w,z))+Math.imul(_,D)|0,o=Math.imul(_,z),n=n+Math.imul(v,K)|0,i=(i=i+Math.imul(v,$)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,$)|0,n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(y,V)|0,o=o+Math.imul(y,G)|0;var gt=(c+(n=n+Math.imul(l,J)|0)|0)+((8191&(i=(i=i+Math.imul(l,Z)|0)+Math.imul(h,J)|0))<<13)|0;c=((o=o+Math.imul(h,Z)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(x,D),i=(i=Math.imul(x,z))+Math.imul(k,D)|0,o=Math.imul(k,z),n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,K)|0,o=o+Math.imul(_,$)|0,n=n+Math.imul(v,V)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,G)|0,n=n+Math.imul(p,J)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(y,J)|0,o=o+Math.imul(y,Z)|0;var wt=(c+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(h,Q)|0))<<13)|0;c=((o=o+Math.imul(h,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(M,D),i=(i=Math.imul(M,z))+Math.imul(E,D)|0,o=Math.imul(E,z),n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(k,K)|0,o=o+Math.imul(k,$)|0,n=n+Math.imul(w,V)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,V)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(v,J)|0,i=(i=i+Math.imul(v,Z)|0)+Math.imul(m,J)|0,o=o+Math.imul(m,Z)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0;var _t=(c+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((o=o+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(U,D),i=(i=Math.imul(U,z))+Math.imul(I,D)|0,o=Math.imul(I,z),n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,$)|0)+Math.imul(E,K)|0,o=o+Math.imul(E,$)|0,n=n+Math.imul(x,V)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(k,V)|0,o=o+Math.imul(k,G)|0,n=n+Math.imul(w,J)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(_,J)|0,o=o+Math.imul(_,Z)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0;var At=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,at)|0)+Math.imul(h,ot)|0))<<13)|0;c=((o=o+Math.imul(h,at)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(T,D),i=(i=Math.imul(T,z))+Math.imul(N,D)|0,o=Math.imul(N,z),n=n+Math.imul(U,K)|0,i=(i=i+Math.imul(U,$)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,$)|0,n=n+Math.imul(M,V)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(E,V)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(x,J)|0,i=(i=i+Math.imul(x,Z)|0)+Math.imul(k,J)|0,o=o+Math.imul(k,Z)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0;var xt=(c+(n=n+Math.imul(l,st)|0)|0)+((8191&(i=(i=i+Math.imul(l,ct)|0)+Math.imul(h,st)|0))<<13)|0;c=((o=o+Math.imul(h,ct)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(C,D),i=(i=Math.imul(C,z))+Math.imul(P,D)|0,o=Math.imul(P,z),n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,$)|0)+Math.imul(N,K)|0,o=o+Math.imul(N,$)|0,n=n+Math.imul(U,V)|0,i=(i=i+Math.imul(U,G)|0)+Math.imul(I,V)|0,o=o+Math.imul(I,G)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,Z)|0)+Math.imul(E,J)|0,o=o+Math.imul(E,Z)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,at)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,at)|0,n=n+Math.imul(p,st)|0,i=(i=i+Math.imul(p,ct)|0)+Math.imul(y,st)|0,o=o+Math.imul(y,ct)|0;var kt=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,ht)|0)+Math.imul(h,lt)|0))<<13)|0;c=((o=o+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(F,D),i=(i=Math.imul(F,z))+Math.imul(L,D)|0,o=Math.imul(L,z),n=n+Math.imul(C,K)|0,i=(i=i+Math.imul(C,$)|0)+Math.imul(P,K)|0,o=o+Math.imul(P,$)|0,n=n+Math.imul(T,V)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(N,V)|0,o=o+Math.imul(N,G)|0,n=n+Math.imul(U,J)|0,i=(i=i+Math.imul(U,Z)|0)+Math.imul(I,J)|0,o=o+Math.imul(I,Z)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(k,rt)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(v,st)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(m,st)|0,o=o+Math.imul(m,ct)|0,n=n+Math.imul(p,lt)|0,i=(i=i+Math.imul(p,ht)|0)+Math.imul(y,lt)|0,o=o+Math.imul(y,ht)|0;var St=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(i=(i=i+Math.imul(l,yt)|0)+Math.imul(h,pt)|0))<<13)|0;c=((o=o+Math.imul(h,yt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(F,K),i=(i=Math.imul(F,$))+Math.imul(L,K)|0,o=Math.imul(L,$),n=n+Math.imul(C,V)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(P,V)|0,o=o+Math.imul(P,G)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,Z)|0)+Math.imul(N,J)|0,o=o+Math.imul(N,Z)|0,n=n+Math.imul(U,Q)|0,i=(i=i+Math.imul(U,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,at)|0,n=n+Math.imul(w,st)|0,i=(i=i+Math.imul(w,ct)|0)+Math.imul(_,st)|0,o=o+Math.imul(_,ct)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,ht)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ht)|0;var Mt=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,yt)|0)+Math.imul(y,pt)|0))<<13)|0;c=((o=o+Math.imul(y,yt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(F,V),i=(i=Math.imul(F,G))+Math.imul(L,V)|0,o=Math.imul(L,G),n=n+Math.imul(C,J)|0,i=(i=i+Math.imul(C,Z)|0)+Math.imul(P,J)|0,o=o+Math.imul(P,Z)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,tt)|0,n=n+Math.imul(U,rt)|0,i=(i=i+Math.imul(U,nt)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(x,st)|0,i=(i=i+Math.imul(x,ct)|0)+Math.imul(k,st)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(w,lt)|0,i=(i=i+Math.imul(w,ht)|0)+Math.imul(_,lt)|0,o=o+Math.imul(_,ht)|0;var Et=(c+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,yt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((o=o+Math.imul(m,yt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(F,J),i=(i=Math.imul(F,Z))+Math.imul(L,J)|0,o=Math.imul(L,Z),n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(N,rt)|0,o=o+Math.imul(N,nt)|0,n=n+Math.imul(U,ot)|0,i=(i=i+Math.imul(U,at)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,at)|0,n=n+Math.imul(M,st)|0,i=(i=i+Math.imul(M,ct)|0)+Math.imul(E,st)|0,o=o+Math.imul(E,ct)|0,n=n+Math.imul(x,lt)|0,i=(i=i+Math.imul(x,ht)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,ht)|0;var jt=(c+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,yt)|0)+Math.imul(_,pt)|0))<<13)|0;c=((o=o+Math.imul(_,yt)|0)+(i>>>13)|0)+(jt>>>26)|0,jt&=67108863,n=Math.imul(F,Q),i=(i=Math.imul(F,tt))+Math.imul(L,Q)|0,o=Math.imul(L,tt),n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,at)|0)+Math.imul(N,ot)|0,o=o+Math.imul(N,at)|0,n=n+Math.imul(U,st)|0,i=(i=i+Math.imul(U,ct)|0)+Math.imul(I,st)|0,o=o+Math.imul(I,ct)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ht)|0;var Ut=(c+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,yt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,yt)|0)+(i>>>13)|0)+(Ut>>>26)|0,Ut&=67108863,n=Math.imul(F,rt),i=(i=Math.imul(F,nt))+Math.imul(L,rt)|0,o=Math.imul(L,nt),n=n+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,at)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,at)|0,n=n+Math.imul(T,st)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(N,st)|0,o=o+Math.imul(N,ct)|0,n=n+Math.imul(U,lt)|0,i=(i=i+Math.imul(U,ht)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ht)|0;var It=(c+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,yt)|0)+Math.imul(E,pt)|0))<<13)|0;c=((o=o+Math.imul(E,yt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(F,ot),i=(i=Math.imul(F,at))+Math.imul(L,ot)|0,o=Math.imul(L,at),n=n+Math.imul(C,st)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(P,st)|0,o=o+Math.imul(P,ct)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(N,lt)|0,o=o+Math.imul(N,ht)|0;var Ot=(c+(n=n+Math.imul(U,pt)|0)|0)+((8191&(i=(i=i+Math.imul(U,yt)|0)+Math.imul(I,pt)|0))<<13)|0;c=((o=o+Math.imul(I,yt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(F,st),i=(i=Math.imul(F,ct))+Math.imul(L,st)|0,o=Math.imul(L,ct),n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ht)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ht)|0;var Tt=(c+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,yt)|0)+Math.imul(N,pt)|0))<<13)|0;c=((o=o+Math.imul(N,yt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(F,lt),i=(i=Math.imul(F,ht))+Math.imul(L,lt)|0,o=Math.imul(L,ht);var Nt=(c+(n=n+Math.imul(C,pt)|0)|0)+((8191&(i=(i=i+Math.imul(C,yt)|0)+Math.imul(P,pt)|0))<<13)|0;c=((o=o+Math.imul(P,yt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863;var Bt=(c+(n=Math.imul(F,pt))|0)+((8191&(i=(i=Math.imul(F,yt))+Math.imul(L,pt)|0))<<13)|0;return c=((o=Math.imul(L,yt))+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,s[0]=bt,s[1]=vt,s[2]=mt,s[3]=gt,s[4]=wt,s[5]=_t,s[6]=At,s[7]=xt,s[8]=kt,s[9]=St,s[10]=Mt,s[11]=Et,s[12]=jt,s[13]=Ut,s[14]=It,s[15]=Ot,s[16]=Tt,s[17]=Nt,s[18]=Bt,0!==c&&(s[19]=c,r.length++),r};function u(t,e,r){return(new s).mulp(t,e,r)}function s(t,e){this.x=t,this.y=e}Math.imul||(o=i),v.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?o(this,t,e):r<63?i(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=u,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):u(this,t,e)},s.prototype.makeRBT=function(t){for(var e=new Array(t),r=v.prototype._countBits(t)-1,n=0;n>=1;return n},s.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*o+1]=8191&i,i>>>=13;for(o=2*e;o>=26,e+=n/67108864|0,e+=i>>>26,this.words[r]=67108863&i}return 0!==e&&(this.words[r]=e,this.length++),this},v.prototype.muln=function(t){return this.clone().imuln(t)},v.prototype.sqr=function(){return this.mul(this)},v.prototype.isqr=function(){return this.imul(this.clone())},v.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new v(1);for(var r=this,n=0;n>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==n){for(e=this.length-1;0<=e;e--)this.words[e+n]=this.words[e];for(e=0;e>>i<o)for(this.length-=o,s=0;s>>i,c=f&a}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},v.prototype.ishrn=function(t,e,r){return b(0===this.negative),this.iushrn(t,e,r)},v.prototype.shln=function(t){return this.clone().ishln(t)},v.prototype.ushln=function(t){return this.clone().iushln(t)},v.prototype.shrn=function(t){return this.clone().ishrn(t)},v.prototype.ushrn=function(t){return this.clone().iushrn(t)},v.prototype.testn=function(t){b("number"==typeof t&&0<=t);var e=t%26,r=(t-e)/26,n=1<>>e<>26)-(u/67108864|0),this.words[n+r]=67108863&i}for(;n>26,this.words[n+r]=67108863&i;if(0===a)return this.strip();for(b(-1===a),n=a=0;n>26,this.words[n]=67108863&i;return this.negative=1,this.strip()},v.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var a,u=n.length-i.length;if("mod"!==e){(a=new v(null)).length=u+1,a.words=new Array(a.length);for(var s=0;sthis.length||this.cmp(t)<0?{div:new v(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new v(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new v(this.modn(t.words[0]))}:this._wordDiv(t,e);var n,i,o},v.prototype.div=function(t){return this.divmod(t,"div",!1).div},v.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},v.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},v.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},v.prototype.modn=function(t){b(t<=67108863);for(var e=(1<<26)%t,r=0,n=this.length-1;0<=n;n--)r=(e*r+(0|this.words[n]))%t;return r},v.prototype.idivn=function(t){b(t<=67108863);for(var e=0,r=this.length-1;0<=r;r--){var n=(0|this.words[r])+67108864*e;this.words[r]=n/t|0,e=n%t}return this.strip()},v.prototype.divn=function(t){return this.clone().idivn(t)},v.prototype.egcd=function(t){b(0===t.negative),b(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var n=new v(1),i=new v(0),o=new v(0),a=new v(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var s=r.clone(),c=e.clone();!e.isZero();){for(var f=0,l=1;0==(e.words[0]&l)&&f<26;++f,l<<=1);if(0>>26,a&=67108863,this.words[o]=a}return 0!==i&&(this.words[o]=i,this.length++),this},v.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},v.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),1t.length)return 1;if(this.lengththis.n;);var n=e>>22,i=o}i>>>=22,0===(t.words[n-10]=i)&&10>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},v._prime=function(t){if(c[t])return c[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new m;else if("p192"===t)e=new g;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return c[t]=e},_.prototype._verify1=function(t){b(0===t.negative,"red works only with positives"),b(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){b(0==(t.negative|e.negative),"red works only with positives"),b(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return 0<=r.cmp(this.m)&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return 0<=r.cmp(this.m)&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(b(e%2==1),3===e){var r=this.m.add(new v(1)).iushrn(2);return this.pow(t,r)}for(var n=this.m.subn(1),i=0;!n.isZero()&&0===n.andln(1);)i++,n.iushrn(1);b(!n.isZero());var o=new v(1).toRed(this),a=o.redNeg(),u=this.m.subn(1).iushrn(1),s=this.m.bitLength();for(s=new v(2*s*s).toRed(this);0!==this.pow(s,u).cmp(a);)s.redIAdd(a);for(var c=this.pow(s,n),f=this.pow(t,n.addn(1).iushrn(1)),l=this.pow(t,n),h=i;0!==l.cmp(o);){for(var d=l,p=0;0!==d.cmp(o);p++)d=d.redSqr();b(p>c&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++a||0===n&&0===c)&&(i=this.mul(i,r[o]),o=a=0)):a=0}u=26}return i},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},v.mont=function(t){return new A(t)},r(A,_),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return 0<=i.cmp(this.m)?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new v(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return 0<=i.cmp(this.m)?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this)},{}],440:[function(t,e,r){e.exports=function(t){if("string"!=typeof t)throw new Error("[is-hex-prefixed] value must be type 'string', is currently type "+_typeof(t)+", while checking isHexPrefixed.");return"0x"===t.slice(0,2)}},{}],441:[function(t,e,r){arguments[4][439][0].apply(r,arguments)},{dup:439}],442:[function(t,e,r){var o=t("bn.js"),a=t("strip-hex-prefix");e.exports=function(t){if("string"==typeof t||"number"==typeof t){var e=new o(1),r=String(t).toLowerCase().trim(),n="0x"===r.substr(0,2)||"-0x"===r.substr(0,3),i=a(r);if("-"===i.substr(0,1)&&(i=a(i.slice(1)),e=new o(-1,10)),!(i=""===i?"0":i).match(/^-?[0-9]+$/)&&i.match(/^[0-9A-Fa-f]+$/)||i.match(/^[a-fA-F]+$/)||!0===n&&i.match(/^[0-9A-Fa-f]+$/))return new o(i,16).mul(e);if((i.match(/^-?[0-9]+$/)||""===i)&&!1===n)return new o(i,10).mul(e)}else if("object"===_typeof(t)&&t.toString&&!t.pop&&!t.push&&t.toString(10).match(/^-?[0-9]+$/)&&(t.mul||t.dividedToIntegerBy))return new o(t.toString(10),10);throw new Error("[number-to-bn] while converting number "+JSON.stringify(t)+" to BN.js instance, error: invalid number value. Value must be an integer, hex string, BN or BigNumber instance. Note, decimals are not supported.")}},{"bn.js":441,"strip-hex-prefix":446}],443:[function(t,e,r){e.exports=window.crypto},{}],444:[function(t,e,r){e.exports=t("crypto")},{crypto:443}],445:[function(s,t,e){t.exports=function(t,r){var e=s("./crypto.js"),n="function"==typeof r;if(65536":">",'"':""","'":"'","`":"`"},D=d.invert(q),z=function(e){var r=function(t){return e[t]},t="(?:"+d.keys(e).join("|")+")",n=RegExp(t),i=RegExp(t,"g");return function(t){return t=null==t?"":""+t,n.test(t)?t.replace(i,r):t}};d.escape=z(q),d.unescape=z(D),d.result=function(t,e,r){d.isArray(e)||(e=[e]);var n=e.length;if(!n)return d.isFunction(r)?r.call(t):r;for(var i=0;i/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,$={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,V=function(t){return"\\"+$[t]};d.template=function(o,t,e){!t&&e&&(t=e),t=d.defaults({},t,d.templateSettings);var r,n=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(n,function(t,e,r,n,i){return u+=o.slice(a,i).replace(W,V),a=i+t.length,e?u+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":r?u+="'+\n((__t=("+r+"))==null?'':__t)+\n'":n&&(u+="';\n"+n+"\n__p+='"),t}),u+="';\n",t.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{r=new Function(t.variable||"obj","_",u)}catch(t){throw t.source=u,t}var i=function(t){return r.call(this,t,d)},s=t.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},d.chain=function(t){var e=d(t);return e._chain=!0,e};var G=function(t,e){return t._chain?d(e).chain():e};d.mixin=function(r){return d.each(d.functions(r),function(t){var e=d[t]=r[t];d.prototype[t]=function(){var t=[this._wrapped];return i.apply(t,arguments),G(this,e.apply(d,t))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var r=n[e];d.prototype[e]=function(){var t=this._wrapped;return r.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],G(this,t)}}),d.each(["concat","join","slice"],function(t){var e=n[t];d.prototype[t]=function(){return G(this,e.apply(this._wrapped,arguments))}}),d.prototype.valueOf=d.prototype.toJSON=d.prototype.value=function(){return this._wrapped},d.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return d})}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],448:[function(t,e,r){!function(t){var n,i,o,a=String.fromCharCode;function u(t){for(var e,r,n=[],i=0,o=t.length;i>e&63|128)}function c(t){if(0==(4294967168&t))return a(t);var e="";return 0==(4294965248&t)?e=a(t>>6&31|192):0==(4294901760&t)?(r(t),e=a(t>>12&15|224),e+=s(t,6)):0==(4292870144&t)&&(e=a(t>>18&7|240),e+=s(t,12),e+=s(t,6)),e+=a(63&t|128)}function f(){if(i<=o)throw Error("Invalid byte index");var t=255&n[o];if(o++,128==(192&t))return 63&t;throw Error("Invalid continuation byte")}function l(){var t,e;if(i>>10&1023|55296),e=56320|1023&e),i+=a(e);return i}(r)}}(void 0===r?this.utf8={}:r)},{}],449:[function(t,e,r){var u=t("underscore"),n=t("ethjs-unit"),o=t("./utils.js"),i=t("./soliditySha3.js"),a=t("randomhex"),s=function i(o,t){var a=[];return t.forEach(function(t){if("object"===_typeof(t.components)){if("tuple"!==t.type.substring(0,5))throw new Error("components found but type is not tuple; report on GitHub");var e="",r=t.type.indexOf("[");0<=r&&(e=t.type.substring(r));var n=i(o,t.components);u.isArray(n)&&o?a.push("tuple("+n.join(",")+")"+e):o?a.push("("+n+")"):a.push("("+n.join(",")+")"+e)}else a.push(t.type)}),a},c=function(t){if(!o.isHexStrict(t))throw new Error("The parameter must be a valid HEX string.");var e="",r=0,n=t.length;for("0x"===t.substring(0,2)&&(r=2);rn)throw new Error("Supplied uint exceeds width: "+n+" vs "+i.bitLength());if(i.lt(new u(0)))throw new Error("Supplied uint "+i.toString()+" is negative");return n?s.leftPad(i.toString("hex"),n/8*2):i}if(t.startsWith("int")){if(n%8||n<8||256n)throw new Error("Supplied int exceeds width: "+n+" vs "+i.bitLength());return i.lt(new u(0))?i.toTwos(n).toString("hex"):n?s.leftPad(i.toString("hex"),n/8*2):i}throw new Error("Unsupported or invalid type: "+t)},n=function(t){if(o.isArray(t))throw new Error("Autodetection of array types is not supported.");var e,r,n,i="";if(o.isObject(t)&&(t.hasOwnProperty("v")||t.hasOwnProperty("t")||t.hasOwnProperty("value")||t.hasOwnProperty("type"))?(e=t.hasOwnProperty("t")?t.t:t.type,i=t.hasOwnProperty("v")?t.v:t.value):(e=s.toHex(t,!0),i=s.toHex(t),e.startsWith("int")||e.startsWith("uint")||(e="bytes")),!e.startsWith("int")&&!e.startsWith("uint")||"string"!=typeof i||/^(-)?0x/i.test(i)||(i=new u(i)),o.isArray(i)){if(n=/^\D+\d*\[(\d+)\]$/.exec(e),(r=n?parseInt(n[1],10):null)&&i.length!==r)throw new Error(e+" is not matching the given array "+JSON.stringify(i));r=i.length}return o.isArray(i)?i.map(function(t){return a(e,t,r).toString("hex").replace("0x","")}).join(""):a(e,i,r).toString("hex").replace("0x","")};e.exports=function(){var t=Array.prototype.slice.call(arguments),e=o.map(t,n);return s.sha3("0x"+e.join(""))}},{"./utils.js":451,"bn.js":436,underscore:447}],451:[function(t,e,r){var n=t("underscore"),i=t("bn.js"),o=t("number-to-bn"),a=t("utf8"),u=t("eth-lib/lib/hash"),s=function(t){return t instanceof i||t&&t.constructor&&"BN"===t.constructor.name},c=function(t){return t&&t.constructor&&"BigNumber"===t.constructor.name},f=function(e){try{return o.apply(null,arguments)}catch(t){throw new Error(t+' Given value: "'+e+'"')}},l=function(t){return!!/^(0x)?[0-9a-f]{40}$/i.test(t)&&(!(!/^(0x|0X)?[0-9a-f]{40}$/.test(t)&&!/^(0x|0X)?[0-9A-F]{40}$/.test(t))||h(t))},h=function(t){t=t.replace(/^0x/i,"");for(var e=v(t.toLowerCase()).replace(/^0x/i,""),r=0;r<40;r++)if(7>>4).toString(16)),e.push((15&t[r]).toString(16));return"0x"+e.join("")},isHex:function(t){return(n.isString(t)||n.isNumber(t))&&/^(-0x|0x)?[0-9a-f]*$/i.test(t)},isHexStrict:b,leftPad:function(t,e,r){var n=/^0x/i.test(t)||"number"==typeof t,i=0<=e-(t=t.toString(16).replace(/^0x/i,"")).length+1?e-t.length+1:0;return(n?"0x":"")+new Array(i).join(r||"0")+t},rightPad:function(t,e,r){var n=/^0x/i.test(t)||"number"==typeof t,i=0<=e-(t=t.toString(16).replace(/^0x/i,"")).length+1?e-t.length+1:0;return(n?"0x":"")+t+new Array(i).join(r||"0")},toTwosComplement:function(t){return"0x"+f(t).toTwos(256).toString(16,64)},sha3:v}},{"bn.js":436,"eth-lib/lib/hash":437,"number-to-bn":442,underscore:447,utf8:448}],452:[function(t,e,r){e.exports={name:"web3",version:"1.2.1",description:"Ethereum JavaScript API",repository:"https://github.com/ethereum/web3.js/tree/1.x/packages/web3",license:"LGPL-3.0",engines:{node:">=8.0.0"},main:"src/index.js",bugs:{url:"https://github.com/ethereum/web3.js/issues"},keywords:["Ethereum","JavaScript","API"],author:"ethereum.org",authors:[{name:"Fabian Vogelsteller",email:"fabian@ethereum.org",homepage:"http://frozeman.de"},{name:"Marek Kotewicz",email:"marek@parity.io",url:"https://github.com/debris"},{name:"Marian Oancea",url:"https://github.com/cubedro"},{name:"Gav Wood",email:"g@parity.io",homepage:"http://gavwood.com"},{name:"Jeffery Wilcke",email:"jeffrey.wilcke@ethereum.org",url:"https://github.com/obscuren"}],dependencies:{"web3-bzz":"1.2.1","web3-core":"1.2.1","web3-eth":"1.2.1","web3-eth-personal":"1.2.1","web3-net":"1.2.1","web3-shh":"1.2.1","web3-utils":"1.2.1"}}},{}],BN:[function(t,e,r){arguments[4][237][0].apply(r,arguments)},{buffer:17,dup:237}],Web3:[function(t,e,r){var i=t("../package.json").version,o=t("web3-core"),a=t("web3-eth"),n=t("web3-net"),u=t("web3-eth-personal"),s=t("web3-shh"),c=t("web3-bzz"),f=t("web3-utils"),l=function(){var r=this;o.packageInit(this,arguments),this.version=i,this.utils=f,this.eth=new a(this),this.shh=new s(this),this.bzz=new c(this);var n=this.setProvider;this.setProvider=function(t,e){return n.apply(r,arguments),this.eth.setProvider(t,e),this.shh.setProvider(t,e),this.bzz.setProvider(t),!0}};l.version=i,l.utils=f,l.modules={Eth:a,Net:n,Personal:u,Shh:s,Bzz:c},o.addProviders(l),e.exports=l},{"../package.json":452,"web3-bzz":214,"web3-core":236,"web3-eth":416,"web3-eth-personal":413,"web3-net":417,"web3-shh":435,"web3-utils":449}]},{},["Web3"])("Web3")}); \ No newline at end of file diff --git a/packages/web3-providers-http/src/index.js b/packages/web3-providers-http/src/index.js index f4cca379b03..299cc2a2bfc 100644 --- a/packages/web3-providers-http/src/index.js +++ b/packages/web3-providers-http/src/index.js @@ -23,7 +23,7 @@ */ var errors = require('web3-core-helpers').errors; -var XHR2 = require('xhr2-cookies').XMLHttpRequest // jshint ignore: line +var XHR2 = require('xhr2-cookies').XMLHttpRequest; // jshint ignore: line var http = require('http'); var https = require('https'); @@ -34,32 +34,38 @@ var https = require('https'); var HttpProvider = function HttpProvider(host, options) { options = options || {}; - var keepAlive = - (options.keepAlive === true || options.keepAlive !== false) ? - true : - false; + var keepAlive = (options.keepAlive === true || options.keepAlive !== false) ? true : false; this.host = host || 'http://localhost:8545'; if (this.host.substring(0,5) === "https") { this.httpsAgent = new https.Agent({ keepAlive: keepAlive }); - }else{ + } else { this.httpAgent = new http.Agent({ keepAlive: keepAlive }); } + + this.withCredentials = options.withCredentials || false; this.timeout = options.timeout || 0; this.headers = options.headers; this.connected = false; }; HttpProvider.prototype._prepareRequest = function(){ - var request = new XHR2(); - request.nodejsSet({ - httpsAgent:this.httpsAgent, - httpAgent:this.httpAgent - }); + var request; + + // the current runtime is a browser + if (typeof XMLHttpRequest !== 'undefined') { + request = new XMLHttpRequest(); + } else { + request = new XHR2(); + request.nodejsSet({ + httpsAgent:this.httpsAgent, + httpAgent:this.httpAgent + }); + } request.open('POST', this.host, true); request.setRequestHeader('Content-Type','application/json'); - request.timeout = this.timeout && this.timeout !== 1 ? this.timeout : 0; - request.withCredentials = true; + request.timeout = this.timeout; + request.withCredentials = this.withCredentials; if(this.headers) { this.headers.forEach(function(header) { From 8840209f24811938abd5546b69789b9d813ab3bd Mon Sep 17 00:00:00 2001 From: Gabriel Montes Date: Tue, 8 Oct 2019 18:40:30 -0300 Subject: [PATCH 13/21] Bubble up tx signing errors (#3105) * Bubble up tx signing errors Resolves #2062 --- CHANGELOG.md | 1 + packages/web3-core-method/src/index.js | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1396607178b..30f11a60cd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -65,4 +65,5 @@ Released with 1.0.0-beta.37 code base. - Fix incorrectly populating chainId param with `net_version` when signing txs (#2378) - regeneratorRuntime error fixed (#3058) - Fix accessing event.name where event is undefined (#3014) +- Fix bubbling up tx signing errors (#2063, #3105) - HttpProvider: CORS issue with Firefox and Safari (#2978) diff --git a/packages/web3-core-method/src/index.js b/packages/web3-core-method/src/index.js index e8012bf77c6..efe8fd974a7 100644 --- a/packages/web3-core-method/src/index.js +++ b/packages/web3-core-method/src/index.js @@ -533,7 +533,16 @@ Method.prototype.buildCall = function() { // If wallet was found, sign tx, and send using sendRawTransaction if (wallet && wallet.privateKey) { - return method.accounts.signTransaction(_.omit(tx, 'from'), wallet.privateKey).then(sendSignedTx); + return method.accounts.signTransaction(_.omit(tx, 'from'), wallet.privateKey) + .then(sendSignedTx) + .catch(function (err) { + if (_.isFunction(defer.eventEmitter.listeners) && defer.eventEmitter.listeners('error').length) { + defer.eventEmitter.emit('error', err); + defer.eventEmitter.removeAllListeners(); + defer.eventEmitter.catch(function () {}); + } + defer.reject(err); + }); } // ETH_SIGN From 9a13b32a05e695358ae52e5a83be19f33dec45a6 Mon Sep 17 00:00:00 2001 From: Samuel Furter Date: Wed, 9 Oct 2019 08:28:23 +0900 Subject: [PATCH 14/21] supportsSubscriptions method added to providers (#3116) * supportsSubscriptions method added to providers --- CHANGELOG.md | 1 + packages/web3-providers-http/src/index.js | 9 +++++++++ packages/web3-providers-ipc/src/index.js | 10 ++++++++++ packages/web3-providers-ws/src/index.js | 10 ++++++++++ 4 files changed, 30 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 30f11a60cd2..3aa8016aac0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,6 +54,7 @@ Released with 1.0.0-beta.37 code base. - localStorage support detection added (#3031) - getNetworkType method extended with Görli testnet (#3095) +- supportsSubscriptions method added to providers (#3116) ### Fixed diff --git a/packages/web3-providers-http/src/index.js b/packages/web3-providers-http/src/index.js index 299cc2a2bfc..1aa75032607 100644 --- a/packages/web3-providers-http/src/index.js +++ b/packages/web3-providers-http/src/index.js @@ -120,5 +120,14 @@ HttpProvider.prototype.disconnect = function () { //NO OP }; +/** + * Returns the desired boolean. + * + * @method supportsSubscriptions + * @returns {boolean} + */ +HttpProvider.prototype.supportsSubscriptions = function () { + return false; +}; module.exports = HttpProvider; diff --git a/packages/web3-providers-ipc/src/index.js b/packages/web3-providers-ipc/src/index.js index 8e8002bbfad..e0fcdeefb70 100644 --- a/packages/web3-providers-ipc/src/index.js +++ b/packages/web3-providers-ipc/src/index.js @@ -311,5 +311,15 @@ IpcProvider.prototype.reset = function () { this.addDefaultEvents(); }; +/** + * Returns the desired boolean. + * + * @method supportsSubscriptions + * @returns {boolean} + */ +IpcProvider.prototype.supportsSubscriptions = function () { + return true; +}; + module.exports = IpcProvider; diff --git a/packages/web3-providers-ws/src/index.js b/packages/web3-providers-ws/src/index.js index 3142fc19bcb..b9a271f5cd6 100644 --- a/packages/web3-providers-ws/src/index.js +++ b/packages/web3-providers-ws/src/index.js @@ -404,4 +404,14 @@ WebsocketProvider.prototype.disconnect = function () { } }; +/** + * Returns the desired boolean. + * + * @method supportsSubscriptions + * @returns {boolean} + */ +WebsocketProvider.prototype.supportsSubscriptions = function () { + return true; +}; + module.exports = WebsocketProvider; From a790dd68dd5926e21ee2b6d41c5a83aa73cb5abb Mon Sep 17 00:00:00 2001 From: cgewecke Date: Tue, 8 Oct 2019 16:39:24 -0700 Subject: [PATCH 15/21] Fix fromWei / toWei param and return type documentation (#3115) * Fixing Documentation of fromWei and toWei * Add unit tests for fromWei/toWei return types --- docs/web3-utils.rst | 8 ++++---- test/utils.fromWei.js | 8 ++++++++ test/utils.toWei.js | 12 ++++++++++++ 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/docs/web3-utils.rst b/docs/web3-utils.rst index 87e99ff4dc9..0fa751ffd33 100644 --- a/docs/web3-utils.rst +++ b/docs/web3-utils.rst @@ -975,7 +975,7 @@ Converts any `ether value `_ value into Parameters ---------- -1. ``number`` - ``String|Number|BN``: The value. +1. ``number`` - ``String|BN``: The value. 2. ``unit`` - ``String`` (optional, defaults to ``"ether"``): The ether to convert from. Possible units are: - ``noether``: '0' - ``wei``: '1' @@ -1009,7 +1009,7 @@ Parameters Returns ------- -``String|BN``: If a number, or string is given it returns a number string, otherwise a `BN.js `_ instance. +``String|BN``: If a string is given it returns a number string, otherwise a `BN.js `_ instance. ------- Example @@ -1049,7 +1049,7 @@ Converts any `wei `_ instance. +``String``: It always returns a string number. ------- Example diff --git a/test/utils.fromWei.js b/test/utils.fromWei.js index cacf09f18c3..13b37f9c76a 100644 --- a/test/utils.fromWei.js +++ b/test/utils.fromWei.js @@ -27,5 +27,13 @@ describe('lib/utils/utils', function () { assert(error.message.includes('Please pass numbers as strings or BN objects')) } }) + // fromWei always returns string + it('should return the correct type', function(){ + var weiString = '100000000000000000'; + var weiBN = utils.toBN(weiString); + + assert(typeof utils.fromWei(weiString) === 'string'); + assert(typeof utils.fromWei(weiBN) === 'string'); + }) }); }); diff --git a/test/utils.toWei.js b/test/utils.toWei.js index 4b0cf9487c8..ab7b6ff2b01 100644 --- a/test/utils.toWei.js +++ b/test/utils.toWei.js @@ -35,6 +35,7 @@ describe('lib/utils/utils', function () { assert.throws(function () {utils.toWei(1, 'wei1');}, Error); }); + it('should verify "number" arg is string or BN', function () { try { utils.toWei(1, 'wei') @@ -42,6 +43,17 @@ describe('lib/utils/utils', function () { } catch (error) { assert(error.message.includes('Please pass numbers as strings or BN objects')) } + }); + + // toWei returns string when given string, BN when given BN + it('should return the correct type', function(){ + var weiString = '1'; + var weiBN = utils.toBN(weiString); + + var bn = utils.toWei(weiBN); + + assert(utils.isBN(bn)); + assert(typeof utils.toWei(weiString) === 'string'); }) }); }); From 5e8738e2905b12d35ac260258b0273e1fe6c7414 Mon Sep 17 00:00:00 2001 From: Gabriel Montes Date: Tue, 8 Oct 2019 20:53:34 -0300 Subject: [PATCH 16/21] Add eth.getChainId method to 1.x (#3113) * Add eth.getChainId method This method was added to the branch 2.x in d98cef20. This change is to support the method in the 1.x line. * Updated changelog * Add eth.getChainId to the docs --- CHANGELOG.md | 1 + docs/web3-eth-net.rst | 2 +- docs/web3-eth.rst | 28 ++++++++++++++++++++++++++++ packages/web3-eth/src/index.js | 6 ++++++ test/eth.getChainId.js | 14 ++++++++++++++ test/eth_methods.js | 2 +- 6 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 test/eth.getChainId.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 3aa8016aac0..ea569b52131 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,7 @@ Released with 1.0.0-beta.37 code base. - localStorage support detection added (#3031) - getNetworkType method extended with Görli testnet (#3095) - supportsSubscriptions method added to providers (#3116) +- Add `eth.getChainId` method (#3113) ### Fixed diff --git a/docs/web3-eth-net.rst b/docs/web3-eth-net.rst index 627f966560b..67be0dda87b 100644 --- a/docs/web3-eth-net.rst +++ b/docs/web3-eth-net.rst @@ -25,7 +25,7 @@ getNetworkType Guesses the chain the node is connected by comparing the genesis hashes. -.. note:: This is not a 100% accurate guess as any private network could use testnet and mainnet genesis blocks and network IDs. +.. note:: It's recommended to use the :ref:`web3.eth.getChainId ` method to detect the currently connected chain. ------- Returns diff --git a/docs/web3-eth.rst b/docs/web3-eth.rst index 8b7f9fd3bd4..6b86ab07ffe 100644 --- a/docs/web3-eth.rst +++ b/docs/web3-eth.rst @@ -1467,3 +1467,31 @@ Example ------------------------------------------------------------------------------ + +.. _eth-chainId: + +getChainId +========== + +.. code-block:: javascript + + web3.eth.getChainId([callback]) + +Returns the chain ID of the current connected node as described in the `EIP-695 `_. + +------- +Returns +------- + +``Promise`` - Returns chain ID. + +------- +Example +------- + +.. code-block:: javascript + + web3.eth.getChainId().then(console.log); + > 61 + +------------------------------------------------------------------------------ diff --git a/packages/web3-eth/src/index.js b/packages/web3-eth/src/index.js index f3c2b733fe8..c6b1dec712f 100644 --- a/packages/web3-eth/src/index.js +++ b/packages/web3-eth/src/index.js @@ -368,6 +368,12 @@ var Eth = function Eth() { inputFormatter: [formatter.inputLogFormatter], outputFormatter: formatter.outputLogFormatter }), + new Method({ + name: 'getChainId', + call: 'eth_chainId', + params: 0, + outputFormatter: utils.hexToNumber + }), // subscriptions new Subscriptions({ diff --git a/test/eth.getChainId.js b/test/eth.getChainId.js new file mode 100644 index 00000000000..42cd7adbd21 --- /dev/null +++ b/test/eth.getChainId.js @@ -0,0 +1,14 @@ +var testMethod = require('./helpers/test.method.js'); + +var method = 'getChainId'; +var methodCall = 'eth_chainId'; + +var tests = [{ + result: '0x01', + formattedResult: 1, + call: methodCall +}]; + + +testMethod.runTests('eth', method, tests); + diff --git a/test/eth_methods.js b/test/eth_methods.js index 6b53705d86c..839984f2f5b 100644 --- a/test/eth_methods.js +++ b/test/eth_methods.js @@ -22,7 +22,7 @@ describe('eth', function() { u.methodExists(eth, 'subscribe'); u.methodExists(eth, 'Contract'); u.methodExists(eth, 'Iban'); - + u.methodExists(eth, 'getChainId') u.methodExists(eth, 'isMining'); u.methodExists(eth, 'getCoinbase'); From 7a51cdc19668e22d93c7a534c232676af25392b8 Mon Sep 17 00:00:00 2001 From: Samuel Furter Date: Fri, 11 Oct 2019 17:49:08 +0900 Subject: [PATCH 17/21] Gas check fix back-ported to 1.x (#3123) --- CHANGELOG.md | 1 + packages/web3-core-method/src/index.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ea569b52131..c1539139dc6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,3 +69,4 @@ Released with 1.0.0-beta.37 code base. - Fix accessing event.name where event is undefined (#3014) - Fix bubbling up tx signing errors (#2063, #3105) - HttpProvider: CORS issue with Firefox and Safari (#2978) +- Gas check fixed (#2381) diff --git a/packages/web3-core-method/src/index.js b/packages/web3-core-method/src/index.js index efe8fd974a7..a67c62a2dcc 100644 --- a/packages/web3-core-method/src/index.js +++ b/packages/web3-core-method/src/index.js @@ -348,7 +348,7 @@ Method.prototype._confirmTransaction = function (defer, result, payload) { if (!isContractDeployment && !promiseResolved) { if(!receipt.outOfGas && - (!gasProvided || gasProvided !== receipt.gasUsed) && + (!gasProvided || gasProvided !== utils.numberToHex(receipt.gasUsed)) && (receipt.status === true || receipt.status === '0x1' || typeof receipt.status === 'undefined')) { defer.eventEmitter.emit('receipt', receipt); defer.resolve(receipt); From 38cc933bc6b6ca321d88e354114fb08e5000ebdf Mon Sep 17 00:00:00 2001 From: barakman Date: Sun, 13 Oct 2019 06:30:27 +0300 Subject: [PATCH 18/21] Ensure the immutability of function `signTransaction` input parameter (#3119) * Ensure the immutability of function `signTransaction` input parameter * Replace `JSON.parse(JSON.stringify(tx))` with `_.clone(tx)` * Update CHANGELOG.md --- CHANGELOG.md | 1 + packages/web3-eth-accounts/src/index.js | 12 +++++------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c1539139dc6..5086a1bdcb6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,4 +69,5 @@ Released with 1.0.0-beta.37 code base. - Fix accessing event.name where event is undefined (#3014) - Fix bubbling up tx signing errors (#2063, #3105) - HttpProvider: CORS issue with Firefox and Safari (#2978) +- Ensure the immutability of the `tx` object passed to function `signTransaction` (#2190) - Gas check fixed (#2381) diff --git a/packages/web3-eth-accounts/src/index.js b/packages/web3-eth-accounts/src/index.js index b45e830c9d9..211e2925ae5 100644 --- a/packages/web3-eth-accounts/src/index.js +++ b/packages/web3-eth-accounts/src/index.js @@ -162,13 +162,11 @@ Accounts.prototype.signTransaction = function signTransaction(tx, privateKey, ca } try { - tx = helpers.formatters.inputCallFormatter(tx); - - var transaction = tx; - transaction.to = tx.to || '0x'; - transaction.data = tx.data || '0x'; - transaction.value = tx.value || '0x'; - transaction.chainId = utils.numberToHex(tx.chainId); + var transaction = helpers.formatters.inputCallFormatter(_.clone(tx)); + transaction.to = transaction.to || '0x'; + transaction.data = transaction.data || '0x'; + transaction.value = transaction.value || '0x'; + transaction.chainId = utils.numberToHex(transaction.chainId); var rlpEncoded = RLP.encode([ Bytes.fromNat(transaction.nonce), From d278254681cadc35c52724ca6a3add6cd44e332c Mon Sep 17 00:00:00 2001 From: Samuel Furter Date: Sun, 13 Oct 2019 14:36:33 +0900 Subject: [PATCH 19/21] security patches for build tools (#3126) --- package-lock.json | 61 +++++++++++++++-------------------------------- 1 file changed, 19 insertions(+), 42 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0abc196554d..128b24f084f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4845,9 +4845,9 @@ } }, "handlebars": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", - "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.3.tgz", + "integrity": "sha512-B0W4A2U1ww3q7VVthTKfh+epHx+q4mCt6iK+zEAzbMBpWQAwxCeKxEGpj/1oQTpzPXDNSOG7hmG14TsISH50yw==", "dev": true, "requires": { "neo-async": "^2.6.0", @@ -6265,9 +6265,9 @@ } }, "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, "lodash._reinterpolate": { @@ -6301,9 +6301,9 @@ "dev": true }, "lodash.merge": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", - "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "lodash.template": { @@ -6706,9 +6706,9 @@ } }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -8480,9 +8480,9 @@ "dev": true }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -9377,38 +9377,15 @@ "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "unique-stream": { From 02c0346b87980f358a608a26d207cd6aa6ed2bf8 Mon Sep 17 00:00:00 2001 From: Samuel Furter Date: Sun, 13 Oct 2019 16:26:23 +0900 Subject: [PATCH 20/21] Signing fixes back-ported from 2.x (#3125) * signing fixes back-ported from 2.x * CHANGELOG.md updated * transactionHash property added, docs updated, tests extended, and '0x' prefix added to messageHash for consistency reasons --- CHANGELOG.md | 1 + docs/web3-eth-accounts.rst | 5 +- packages/web3-eth-accounts/package-lock.json | 121 +++++++++++++++++++ packages/web3-eth-accounts/package.json | 3 +- packages/web3-eth-accounts/src/index.js | 67 ++++------ test/contract.js | 4 +- test/eth.accounts.signTransaction.js | 66 ++++++++-- 7 files changed, 207 insertions(+), 60 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5086a1bdcb6..4e4e8106426 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -71,3 +71,4 @@ Released with 1.0.0-beta.37 code base. - HttpProvider: CORS issue with Firefox and Safari (#2978) - Ensure the immutability of the `tx` object passed to function `signTransaction` (#2190) - Gas check fixed (#2381) +- Signing issues #1998, #2033, and #1074 fixed (#3125) diff --git a/docs/web3-eth-accounts.rst b/docs/web3-eth-accounts.rst index c027137f88a..65bd4cbeb9e 100644 --- a/docs/web3-eth-accounts.rst +++ b/docs/web3-eth-accounts.rst @@ -164,6 +164,7 @@ Returns - ``s`` - ``String``: Next 32 bytes of the signature - ``v`` - ``String``: Recovery value + 27 - ``rawTransaction`` - ``String``: The RLP encoded transaction, ready to be send using :ref:`web3.eth.sendSignedTransaction `. + - ``transactionHash`` - ``String``: The transaction hash for the RLP encoded transaction. ------- @@ -179,11 +180,12 @@ Example }, '0x4c0883a69102937d6231471b5dbb6204fe5129617082792ae468d01a3f362318') .then(console.log); > { - messageHash: '0x88cfbd7e51c7a40540b233cf68b62ad1df3e92462f1c6018d6d67eae0f3b08f5', + messageHash: '0x31c2f03766b36f0346a850e78d4f7db2d9f4d7d54d5f272a750ba44271e370b1', v: '0x25', r: '0xc9cf86333bcb065d140032ecaab5d9281bde80f21b9687b3e94161de42d51895', s: '0x727a108a0b8d101465414033c3f705a9c7b826e596766046ee1183dbc8aeaa68', rawTransaction: '0xf869808504e3b29200831e848094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca008025a0c9cf86333bcb065d140032ecaab5d9281bde80f21b9687b3e94161de42d51895a0727a108a0b8d101465414033c3f705a9c7b826e596766046ee1183dbc8aeaa68' + transactionHash: '0xde8db924885b0803d2edc335f745b2b8750c8848744905684c20b987443a9593' } web3.eth.accounts.signTransaction({ @@ -201,6 +203,7 @@ Example s: '0x440ffd775ce91a833ab410777204d5341a6f9fa91216a6f3ee2c051fea6a0428', v: '0x25', rawTransaction: '0xf86a8086d55698372431831e848094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca008025a009ebb6ca057a0535d6186462bc0b465b561c94a295bdb0621fc19208ab149a9ca0440ffd775ce91a833ab410777204d5341a6f9fa91216a6f3ee2c051fea6a0428' + transactionHash: '0xd8f64a42b57be0d565f385378db2f6bf324ce14a594afc05de90436e9ce01f60' } diff --git a/packages/web3-eth-accounts/package-lock.json b/packages/web3-eth-accounts/package-lock.json index e205238858a..29a025ac480 100644 --- a/packages/web3-eth-accounts/package-lock.json +++ b/packages/web3-eth-accounts/package-lock.json @@ -17,6 +17,22 @@ "minimalistic-assert": "^1.0.0" } }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bip66": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", + "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, "bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", @@ -200,6 +216,16 @@ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" }, + "drbg.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", + "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", + "requires": { + "browserify-aes": "^1.0.6", + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4" + } + }, "elliptic": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", @@ -247,6 +273,43 @@ "xhr-request-promise": "^0.1.2" } }, + "ethereumjs-common": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.3.2.tgz", + "integrity": "sha512-GkltYRIqBLzaZLmF/K3E+g9lZ4O4FL+TtpisAlD3N+UVlR+mrtoG+TvxavqVa6PwOY4nKIEMe5pl6MrTio3Lww==" + }, + "ethereumjs-tx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-2.1.1.tgz", + "integrity": "sha512-QtVriNqowCFA19X9BCRPMgdVNJ0/gMBS91TQb1DfrhsbR748g4STwxZptFAwfqehMyrF8rDwB23w87PQwru0wA==", + "requires": { + "ethereumjs-common": "^1.3.1", + "ethereumjs-util": "^6.0.0" + } + }, + "ethereumjs-util": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz", + "integrity": "sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q==", + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "ethjs-util": "0.1.6", + "keccak": "^1.0.2", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1", + "secp256k1": "^3.0.1" + } + }, + "ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } + }, "evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", @@ -256,6 +319,11 @@ "safe-buffer": "^5.1.1" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -339,6 +407,11 @@ "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" }, + "is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" + }, "is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", @@ -355,6 +428,17 @@ "has-symbols": "^1.0.0" } }, + "keccak": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", + "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "requires": { + "bindings": "^1.2.1", + "inherits": "^2.0.3", + "nan": "^2.2.1", + "safe-buffer": "^5.1.0" + } + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -397,6 +481,11 @@ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -502,6 +591,15 @@ "inherits": "^2.0.1" } }, + "rlp": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.3.tgz", + "integrity": "sha512-l6YVrI7+d2vpW6D6rS05x2Xrmq8oW7v3pieZOJKBEdjuTF4Kz/iwk55Zyh1Zaz+KOB2kC8+2jZlp2u9L4tTzCQ==", + "requires": { + "bn.js": "^4.11.1", + "safe-buffer": "^5.1.1" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -527,6 +625,21 @@ "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-2.1.0.tgz", "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==" }, + "secp256k1": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.7.1.tgz", + "integrity": "sha512-1cf8sbnRreXrQFdH6qsg2H71Xw91fCCS9Yp021GnUNJzWJS/py96fS4lHbnTnouLp08Xj6jBoBB6V78Tdbdu5g==", + "requires": { + "bindings": "^1.5.0", + "bip66": "^1.1.5", + "bn.js": "^4.11.8", + "create-hash": "^1.2.0", + "drbg.js": "^1.0.1", + "elliptic": "^6.4.1", + "nan": "^2.14.0", + "safe-buffer": "^5.1.2" + } + }, "sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", @@ -566,6 +679,14 @@ "function-bind": "^1.0.2" } }, + "strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "requires": { + "is-hex-prefixed": "1.0.0" + } + }, "timed-out": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", diff --git a/packages/web3-eth-accounts/package.json b/packages/web3-eth-accounts/package.json index 273040b0ad8..df892a7293e 100644 --- a/packages/web3-eth-accounts/package.json +++ b/packages/web3-eth-accounts/package.json @@ -18,6 +18,7 @@ "web3-core": "1.2.1", "web3-core-helpers": "1.2.1", "web3-core-method": "1.2.1", - "web3-utils": "1.2.1" + "web3-utils": "1.2.1", + "ethereumjs-tx": "^2.1.1" } } diff --git a/packages/web3-eth-accounts/src/index.js b/packages/web3-eth-accounts/src/index.js index 211e2925ae5..8eb8954eae8 100644 --- a/packages/web3-eth-accounts/src/index.js +++ b/packages/web3-eth-accounts/src/index.js @@ -28,34 +28,20 @@ var Method = require('web3-core-method'); var Promise = require('any-promise'); var Account = require("eth-lib/lib/account"); var Hash = require("eth-lib/lib/hash"); -var RLP = require("eth-lib/lib/rlp"); -var Nat = require("eth-lib/lib/nat"); -var Bytes = require("eth-lib/lib/bytes"); +var RLP = require("eth-lib/lib/rlp");// jshint ignore:line +var Bytes = require("eth-lib/lib/bytes");// jshint ignore:line var cryp = (typeof global === 'undefined') ? require('crypto-browserify') : require('crypto'); var scrypt = require('scrypt-shim'); var uuid = require('uuid'); var utils = require('web3-utils'); var helpers = require('web3-core-helpers'); +var Transaction = require('ethereumjs-tx').Transaction; + var isNot = function(value) { return (_.isUndefined(value) || _.isNull(value)); }; -var trimLeadingZero = function (hex) { - while (hex && hex.startsWith('0x0')) { - hex = '0x' + hex.slice(3); - } - return hex; -}; - -var makeEven = function (hex) { - if(hex.length % 2 === 1) { - hex = hex.replace('0x', '0x0'); - } - return hex; -}; - - var Accounts = function Accounts() { var _this = this; @@ -168,37 +154,30 @@ Accounts.prototype.signTransaction = function signTransaction(tx, privateKey, ca transaction.value = transaction.value || '0x'; transaction.chainId = utils.numberToHex(transaction.chainId); - var rlpEncoded = RLP.encode([ - Bytes.fromNat(transaction.nonce), - Bytes.fromNat(transaction.gasPrice), - Bytes.fromNat(transaction.gas), - transaction.to.toLowerCase(), - Bytes.fromNat(transaction.value), - transaction.data, - Bytes.fromNat(transaction.chainId || "0x1"), - "0x", - "0x"]); - - - var hash = Hash.keccak256(rlpEncoded); + if (privateKey.startsWith('0x')) { + privateKey = privateKey.substring(2); + } - var signature = Account.makeSigner(Nat.toNumber(transaction.chainId || "0x1") * 2 + 35)(Hash.keccak256(rlpEncoded), privateKey); + var ethTx = new Transaction(transaction); + ethTx.sign(Buffer.from(privateKey, 'hex')); - var rawTx = RLP.decode(rlpEncoded).slice(0, 6).concat(Account.decodeSignature(signature)); + var validationResult = ethTx.validate(true); - rawTx[6] = makeEven(trimLeadingZero(rawTx[6])); - rawTx[7] = makeEven(trimLeadingZero(rawTx[7])); - rawTx[8] = makeEven(trimLeadingZero(rawTx[8])); + if (validationResult !== '') { + throw new Error('Signer Error: ' + validationResult); + } - var rawTransaction = RLP.encode(rawTx); + var rlpEncoded = ethTx.serialize().toString('hex'); + var rawTransaction = '0x' + rlpEncoded; + var transactionHash = utils.keccak256(rawTransaction); - var values = RLP.decode(rawTransaction); - result = { - messageHash: hash, - v: trimLeadingZero(values[6]), - r: trimLeadingZero(values[7]), - s: trimLeadingZero(values[8]), - rawTransaction: rawTransaction + return { + messageHash: '0x' + Buffer.from(ethTx.hash(false)).toString('hex'), + v: '0x' + Buffer.from(ethTx.v).toString('hex'), + r: '0x' + Buffer.from(ethTx.r).toString('hex'), + s: '0x' + Buffer.from(ethTx.s).toString('hex'), + rawTransaction: rawTransaction, + transactionHash: transactionHash }; } catch(e) { diff --git a/test/contract.js b/test/contract.js index 851c2933ec1..19cb32f9715 100644 --- a/test/contract.js +++ b/test/contract.js @@ -3026,7 +3026,7 @@ describe('typical usage', function() { var expected = eth.accounts.wallet[0].signTransaction({ data: '0x1234567000000000000000000000000' + account.address.toLowerCase().replace('0x', '') + '00000000000000000000000000000000000000000000000000000000000000c8', from: account.address.toLowerCase(), - gas: '0xc350', + gas: '0xd658', gasPrice: '0xbb8', chainId: '0x1', nonce: '0x1', @@ -3085,7 +3085,7 @@ describe('typical usage', function() { arguments: [account.address, 200] }).send({ from: account.address, - gas: 50000, + gas: 54872, gasPrice: 3000, chainId: 1, nonce: 1, diff --git a/test/eth.accounts.signTransaction.js b/test/eth.accounts.signTransaction.js index d68a467344c..39cd5028b50 100644 --- a/test/eth.accounts.signTransaction.js +++ b/test/eth.accounts.signTransaction.js @@ -24,7 +24,9 @@ var tests = [ }, // signature from eth_signTransaction rawTransaction: "0xf868808504a817c80082520894f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca008026a0afa02d193471bb974081585daabf8a751d4decbb519604ac7df612cc11e9226da04bf1bd55e82cebb2b09ed39bbffe35107ea611fa212c2d9a1f1ada4952077118", - oldSignature: "0xf868808504a817c80082520894f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca008026a0afa02d193471bb974081585daabf8a751d4decbb519604ac7df612cc11e9226da04bf1bd55e82cebb2b09ed39bbffe35107ea611fa212c2d9a1f1ada4952077118" + oldSignature: "0xf868808504a817c80082520894f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca008026a0afa02d193471bb974081585daabf8a751d4decbb519604ac7df612cc11e9226da04bf1bd55e82cebb2b09ed39bbffe35107ea611fa212c2d9a1f1ada4952077118", + transactionHash: "0xab0f71614c37231d71ae521ce188a9c7c9d5e976124a91f62f9f125348dd0326", + messageHash: "0x2c7903a33b55caf582d170f21595f1a7e598df3fa61b103ea0cd9d6b2a92565d" }, { address: '0x2c7536E3605D9C16a7a3D7b1898e529396a65c23', @@ -45,7 +47,9 @@ var tests = [ s: "0x83d6e12e82e3544cb4439964d5087da78f74cefeec9a450b16ae179fd8fe20", // signature from eth_signTransaction rawTransaction: "0xf85d8080827c6d94f0109fc8df283027b6285cc889f5aa624eac1f558080269f22f17b38af35286ffbb0c6376c86ec91c20ecbad93f84913a0cc15e7580cd99f83d6e12e82e3544cb4439964d5087da78f74cefeec9a450b16ae179fd8fe20", - oldSignature: "0xf85d8080827c6d94f0109fc8df283027b6285cc889f5aa624eac1f558080269f22f17b38af35286ffbb0c6376c86ec91c20ecbad93f84913a0cc15e7580cd99f83d6e12e82e3544cb4439964d5087da78f74cefeec9a450b16ae179fd8fe20" + oldSignature: "0xf85d8080827c6d94f0109fc8df283027b6285cc889f5aa624eac1f558080269f22f17b38af35286ffbb0c6376c86ec91c20ecbad93f84913a0cc15e7580cd99f83d6e12e82e3544cb4439964d5087da78f74cefeec9a450b16ae179fd8fe20", + transactionHash: "0xb0c5e2c6b29eeb0b9c1d63eaa8b0f93c02ead18ae01cb7fc795b0612d3e9d55a", + messageHash: "0x21975b15072795e610d2937abcf15ed4aecd0650b8a62204274bef3b57a8501a" }, { address: '0x2c7536E3605D9C16a7a3D7b1898e529396a65c23', @@ -66,7 +70,9 @@ var tests = [ s: "0x440ffd775ce91a833ab410777204d5341a6f9fa91216a6f3ee2c051fea6a0428", // signature from eth_signTransaction rawTransaction: "0xf86a8086d55698372431831e848094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca008025a009ebb6ca057a0535d6186462bc0b465b561c94a295bdb0621fc19208ab149a9ca0440ffd775ce91a833ab410777204d5341a6f9fa91216a6f3ee2c051fea6a0428", - oldSignature: "0xf86a8086d55698372431831e848094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca008025a009ebb6ca057a0535d6186462bc0b465b561c94a295bdb0621fc19208ab149a9ca0440ffd775ce91a833ab410777204d5341a6f9fa91216a6f3ee2c051fea6a0428" + oldSignature: "0xf86a8086d55698372431831e848094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca008025a009ebb6ca057a0535d6186462bc0b465b561c94a295bdb0621fc19208ab149a9ca0440ffd775ce91a833ab410777204d5341a6f9fa91216a6f3ee2c051fea6a0428", + transactionHash: "0xd8f64a42b57be0d565f385378db2f6bf324ce14a594afc05de90436e9ce01f60", + messageHash: "0x6893a6ee8df79b0f5d64a180cd1ef35d030f3e296a5361cf04d02ce720d32ec5" }, { address: '0x2c7536E3605D9C16a7a3D7b1898e529396a65c23', @@ -87,7 +93,9 @@ var tests = [ s: "0x83d6e12e82e3544cb4439964d5087da78f74cefeec9a450b16ae179fd8fe20", // signature from eth_signTransaction rawTransaction: "0xf85d8080827c6d94f0109fc8df283027b6285cc889f5aa624eac1f558080269f22f17b38af35286ffbb0c6376c86ec91c20ecbad93f84913a0cc15e7580cd99f83d6e12e82e3544cb4439964d5087da78f74cefeec9a450b16ae179fd8fe20", - oldSignature: "0xf85d8080827c6d94f0109fc8df283027b6285cc889f5aa624eac1f558080269f22f17b38af35286ffbb0c6376c86ec91c20ecbad93f84913a0cc15e7580cd99f83d6e12e82e3544cb4439964d5087da78f74cefeec9a450b16ae179fd8fe20" + oldSignature: "0xf85d8080827c6d94f0109fc8df283027b6285cc889f5aa624eac1f558080269f22f17b38af35286ffbb0c6376c86ec91c20ecbad93f84913a0cc15e7580cd99f83d6e12e82e3544cb4439964d5087da78f74cefeec9a450b16ae179fd8fe20", + transactionHash: "0xb0c5e2c6b29eeb0b9c1d63eaa8b0f93c02ead18ae01cb7fc795b0612d3e9d55a", + messageHash: "0x21975b15072795e610d2937abcf15ed4aecd0650b8a62204274bef3b57a8501a" }, { address: '0xEB014f8c8B418Db6b45774c326A0E64C78914dC0', @@ -105,7 +113,9 @@ var tests = [ }, // signature from eth_signTransaction rawTransaction: "0xf86c808504a817c800825208943535353535353535353535353535353535353535880de0b6b3a76400008025a04f4c17305743700648bc4f6cd3038ec6f6af0df73e31757007b7f59df7bee88da07e1941b264348e80c78c4027afc65a87b0a5e43e86742b8ca0823584c6788fd0", - oldSignature: "0xf86c808504a817c800825208943535353535353535353535353535353535353535880de0b6b3a7640000801ba0300e0d8f83ac82943e468164fa80236fdfcff21f978f66dd038b875cea6faa51a05a8e4b38b819491a0bb4e1f5fb4fd203b6a1df19e2adbec2ebdddcbfaca555f0" + oldSignature: "0xf86c808504a817c800825208943535353535353535353535353535353535353535880de0b6b3a7640000801ba0300e0d8f83ac82943e468164fa80236fdfcff21f978f66dd038b875cea6faa51a05a8e4b38b819491a0bb4e1f5fb4fd203b6a1df19e2adbec2ebdddcbfaca555f0", + transactionHash: "0xda3be87732110de6c1354c83770aae630ede9ac308d9f7b399ecfba23d923384", + messageHash: "0x7dbc5644b83abd32d014d170ba9bdc855c126328c0cb41af0ed6422bef0bb32e" }, { address: '0xEB014f8c8B418Db6b45774c326A0E64C78914dC0', @@ -123,7 +133,9 @@ var tests = [ // web3.eth.signTransaction({from: "0xEB014f8c8B418Db6b45774c326A0E64C78914dC0", gasPrice: "230000000000", gas: "50000", to: '0xFCAd0B19bB29D4674531d6f115237E16AfCE377c', value: "1000000000000000000", data: "0x0123abcd"}).then(console.log); // signature from eth_signTransaction rawTransaction: "0xf8708085358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd26a031bb05bd1535150d312dcaa870a4a69c130a51aa80537659c1f308bf1f180ac6a012c938a8e04ac4e279d0b7c29811609031a96e949ad98f1ca74ca6078910bede", - oldSignature: "0xf8708085358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd1ba081bba037015419ab5ce36e930b987da71b0ed5f0efb1849613223bf72399f598a05d2c1f109ad13f98a7693cfc35291e404ea8795755a176eb58a818de44f3756d" + oldSignature: "0xf8708085358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd1ba081bba037015419ab5ce36e930b987da71b0ed5f0efb1849613223bf72399f598a05d2c1f109ad13f98a7693cfc35291e404ea8795755a176eb58a818de44f3756d", + transactionHash: "0xe86ab542020b3f386af1a1c79881d5db06f5fac58da79f697308f1d1e1799f2c", + messageHash: "0x044d45bc28c2126e98c9cd0103a6559f5a92e01ecc201f48472f1e10a4c3ae27" }, { address: '0xEB014f8c8B418Db6b45774c326A0E64C78914dC0', @@ -141,7 +153,9 @@ var tests = [ // web3.eth.signTransaction({from: "0xEB014f8c8B418Db6b45774c326A0E64C78914dC0", gasPrice: "230000000000", gas: "50000", to: '0xFCAd0B19bB29D4674531d6f115237E16AfCE377c', value: "1000000000000000000", data: "0x0123abcd"}).then(console.log); // signature from eth_signTransaction rawTransaction: "0xf8700a85358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd25a0496e628e8348a24312ded09ee3d99d85b1b8f947725aa382dcf4003b7389d5aaa00c1b1cfdd66c510fd708d33279a1a61e53dff3c6ced67cf7f7b830862d6e2029", - oldSignature: "0xf8700a85358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd25a0496e628e8348a24312ded09ee3d99d85b1b8f947725aa382dcf4003b7389d5aaa00c1b1cfdd66c510fd708d33279a1a61e53dff3c6ced67cf7f7b830862d6e2029" + oldSignature: "0xf8700a85358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd25a0496e628e8348a24312ded09ee3d99d85b1b8f947725aa382dcf4003b7389d5aaa00c1b1cfdd66c510fd708d33279a1a61e53dff3c6ced67cf7f7b830862d6e2029", + transactionHash: "0x42fb18cc20b10438c6b4bcb4f3fc777a72195caf3e8b6ddc671df4a249e84ba7", + messageHash: "0xa75c245723fedf4b739771f5eeedeb3dc6ecd3b9ea79277a33dc5ab27be0c911" }, { address: '0xEB014f8c8B418Db6b45774c326A0E64C78914dC0', @@ -159,7 +173,9 @@ var tests = [ // web3.eth.signTransaction({from: "0xEB014f8c8B418Db6b45774c326A0E64C78914dC0", gasPrice: "230000000000", gas: "50000", to: '0xFCAd0B19bB29D4674531d6f115237E16AfCE377c', value: "1000000000000000000", data: "0x0123abcd"}).then(console.log); // signature from eth_signTransaction rawTransaction: "0xf8700a85358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd25a0496e628e8348a24312ded09ee3d99d85b1b8f947725aa382dcf4003b7389d5aaa00c1b1cfdd66c510fd708d33279a1a61e53dff3c6ced67cf7f7b830862d6e2029", - oldSignature: "0xf8700a85358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd25a0496e628e8348a24312ded09ee3d99d85b1b8f947725aa382dcf4003b7389d5aaa00c1b1cfdd66c510fd708d33279a1a61e53dff3c6ced67cf7f7b830862d6e2029" + oldSignature: "0xf8700a85358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd25a0496e628e8348a24312ded09ee3d99d85b1b8f947725aa382dcf4003b7389d5aaa00c1b1cfdd66c510fd708d33279a1a61e53dff3c6ced67cf7f7b830862d6e2029", + transactionHash: "0x42fb18cc20b10438c6b4bcb4f3fc777a72195caf3e8b6ddc671df4a249e84ba7", + messageHash: "0xa75c245723fedf4b739771f5eeedeb3dc6ecd3b9ea79277a33dc5ab27be0c911" }, { address: '0xEB014f8c8B418Db6b45774c326A0E64C78914dC0', @@ -177,7 +193,9 @@ var tests = [ // web3.eth.signTransaction({from: "0xEB014f8c8B418Db6b45774c326A0E64C78914dC0", gasPrice: "230000000000", gas: "50000", to: '0xFCAd0B19bB29D4674531d6f115237E16AfCE377c', value: "1000000000000000000", data: "0x0123abcd"}).then(console.log); // signature from eth_signTransaction rawTransaction: "0xf8701085358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd25a04ba217e16f62ac277698e8853bcc010db07285b457606e9f3487c70ccc5e6508a05c6cfaa17fc1a52bede0cf25c8bd2e024b4fb89ed205f62cb3e177a83654f29d", - oldSignature: "0xf8701085358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd25a04ba217e16f62ac277698e8853bcc010db07285b457606e9f3487c70ccc5e6508a05c6cfaa17fc1a52bede0cf25c8bd2e024b4fb89ed205f62cb3e177a83654f29d" + oldSignature: "0xf8701085358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd25a04ba217e16f62ac277698e8853bcc010db07285b457606e9f3487c70ccc5e6508a05c6cfaa17fc1a52bede0cf25c8bd2e024b4fb89ed205f62cb3e177a83654f29d", + transactionHash: "0xa2db7be5398c250e3ecf569c573f222255d46c509199ff649cca5e806edf5212", + messageHash: "0x9c8c1fb88a95974c5ac75b6c58af2b5a62d9ccb9dffad7552a3182344bf37c27" }, { address: '0xEB014f8c8B418Db6b45774c326A0E64C78914dC0', @@ -195,7 +213,9 @@ var tests = [ // web3.eth.signTransaction({from: "0xEB014f8c8B418Db6b45774c326A0E64C78914dC0", gasPrice: "230000000000", gas: "50000", to: '0xFCAd0B19bB29D4674531d6f115237E16AfCE377c', value: "1000000000000000000", data: "0x0123abcd"}).then(console.log); // signature from eth_signTransaction rawTransaction: "0xf8701085358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd25a04ba217e16f62ac277698e8853bcc010db07285b457606e9f3487c70ccc5e6508a05c6cfaa17fc1a52bede0cf25c8bd2e024b4fb89ed205f62cb3e177a83654f29d", - oldSignature: "0xf8701085358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd25a04ba217e16f62ac277698e8853bcc010db07285b457606e9f3487c70ccc5e6508a05c6cfaa17fc1a52bede0cf25c8bd2e024b4fb89ed205f62cb3e177a83654f29d" + oldSignature: "0xf8701085358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd25a04ba217e16f62ac277698e8853bcc010db07285b457606e9f3487c70ccc5e6508a05c6cfaa17fc1a52bede0cf25c8bd2e024b4fb89ed205f62cb3e177a83654f29d", + transactionHash: "0xa2db7be5398c250e3ecf569c573f222255d46c509199ff649cca5e806edf5212", + messageHash: "0x9c8c1fb88a95974c5ac75b6c58af2b5a62d9ccb9dffad7552a3182344bf37c27" }, { address: '0xEB014f8c8B418Db6b45774c326A0E64C78914dC0', @@ -213,7 +233,9 @@ var tests = [ // web3.eth.signTransaction({from: "0xEB014f8c8B418Db6b45774c326A0E64C78914dC0", gasPrice: "230000000000", gas: "50000", to: '0xFCAd0B19bB29D4674531d6f115237E16AfCE377c', value: "1000000000000000000", data: "0x0123abcd"}).then(console.log); // signature from eth_signTransaction rawTransaction: "0xf8701685358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd26a0e027ec9e9921975678b73de44f7d2cd6b987a6655b9d0291b2cdff15836c6efba051b4e20835793bf0cdf268339111a24d80a4a7bb141e975a66d0edbcc20542d0", - oldSignature: "0xf8701685358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd26a0e027ec9e9921975678b73de44f7d2cd6b987a6655b9d0291b2cdff15836c6efba051b4e20835793bf0cdf268339111a24d80a4a7bb141e975a66d0edbcc20542d0" + oldSignature: "0xf8701685358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd26a0e027ec9e9921975678b73de44f7d2cd6b987a6655b9d0291b2cdff15836c6efba051b4e20835793bf0cdf268339111a24d80a4a7bb141e975a66d0edbcc20542d0", + transactionHash: "0x3135f97ac8d534b4b487cc2965fb1dcf427b92fd233577900dab3420e7afca13", + messageHash: "0x77fd104f011a0085a9fa80f6f77cb213bce71fe8b4585d6fa9e3217117263a5b" }, { address: '0xEB014f8c8B418Db6b45774c326A0E64C78914dC0', @@ -231,7 +253,9 @@ var tests = [ // web3.eth.signTransaction({from: "0xEB014f8c8B418Db6b45774c326A0E64C78914dC0", gasPrice: "230000000000", gas: "50000", to: '0xFCAd0B19bB29D4674531d6f115237E16AfCE377c', value: "1000000000000000000", data: "0x0123abcd"}).then(console.log); // signature from eth_signTransaction rawTransaction: "0xf8701685358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd26a0e027ec9e9921975678b73de44f7d2cd6b987a6655b9d0291b2cdff15836c6efba051b4e20835793bf0cdf268339111a24d80a4a7bb141e975a66d0edbcc20542d0", - oldSignature: "0xf8701685358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd26a0e027ec9e9921975678b73de44f7d2cd6b987a6655b9d0291b2cdff15836c6efba051b4e20835793bf0cdf268339111a24d80a4a7bb141e975a66d0edbcc20542d0" + oldSignature: "0xf8701685358d117c0082c35094fcad0b19bb29d4674531d6f115237e16afce377c880de0b6b3a7640000840123abcd26a0e027ec9e9921975678b73de44f7d2cd6b987a6655b9d0291b2cdff15836c6efba051b4e20835793bf0cdf268339111a24d80a4a7bb141e975a66d0edbcc20542d0", + transactionHash: "0x3135f97ac8d534b4b487cc2965fb1dcf427b92fd233577900dab3420e7afca13", + messageHash: "0x77fd104f011a0085a9fa80f6f77cb213bce71fe8b4585d6fa9e3217117263a5b" }, { address: '0xEB014f8c8B418Db6b45774c326A0E64C78914dC0', @@ -249,6 +273,22 @@ var tests = [ }, error: true }, + { + address: '0xEB014f8c8B418Db6b45774c326A0E64C78914dC0', + privateKey: '0xbe6383dad004f233317e46ddb46ad31b16064d14447a95cc1d8c8d4bc61c3728', + transaction: { + chainId: 1, + nonce: 2, + gasPrice: "20000", + gas: 0, + to: '0xFCAd0B19bB29D4674531d6f115237E16AfCE377c', + toIban: 'XE63TIJX31ZHSLZ6F601ZPKVDKKYHMIK03G', // will be switched to "to" in the test + value: "1000000000000000000", + data: "0x0123abcd", + input: "0x0123abcd" + }, + error: true + }, { address: '0xEB014f8c8B418Db6b45774c326A0E64C78914dC0', privateKey: '0xbe6383dad004f233317e46ddb46ad31b16064d14447a95cc1d8c8d4bc61c3728', @@ -414,6 +454,8 @@ describe("eth", function () { assert.equal(testAccount.address, test.address); testAccount.signTransaction(test.transaction).then(function (tx) { + assert.equal(tx.messageHash, test.messageHash); + assert.equal(tx.transactionHash, test.transactionHash); assert.equal(tx.rawTransaction, test.rawTransaction); done(); }); From 2e84152e03cfd0261f99d93f075cf7cbf4575d6c Mon Sep 17 00:00:00 2001 From: Akhil Bharti Date: Mon, 14 Oct 2019 08:49:51 +0530 Subject: [PATCH 21/21] fixed Web3Utils toHex() for Buffer input #3021 (#3076) * fixed Web3Utils toHex for Buffer input #3021 * updated toHex funcDoc and CHANGELOG.md * used toString instead of bytesToHex * updated packages/web3-utils/src/utils.js Co-Authored-By: Samuel Furter --- CHANGELOG.md | 1 + packages/web3-utils/src/utils.js | 5 ++++- test/utils.toHex.js | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e4e8106426..99806e50735 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -67,6 +67,7 @@ Released with 1.0.0-beta.37 code base. - Fix incorrectly populating chainId param with `net_version` when signing txs (#2378) - regeneratorRuntime error fixed (#3058) - Fix accessing event.name where event is undefined (#3014) +- fixed Web3Utils toHex() for Buffer input (#3021) - Fix bubbling up tx signing errors (#2063, #3105) - HttpProvider: CORS issue with Firefox and Safari (#2978) - Ensure the immutability of the `tx` object passed to function `signTransaction` (#2190) diff --git a/packages/web3-utils/src/utils.js b/packages/web3-utils/src/utils.js index ff3169906c8..15fff414446 100644 --- a/packages/web3-utils/src/utils.js +++ b/packages/web3-utils/src/utils.js @@ -318,7 +318,7 @@ var hexToBytes = function(hex) { * And even stringifys objects before. * * @method toHex - * @param {String|Number|BN|Object} value + * @param {String|Number|BN|Object|Buffer} value * @param {Boolean} returnType * @return {String} */ @@ -333,6 +333,9 @@ var toHex = function (value, returnType) { return returnType ? 'bool' : value ? '0x01' : '0x00'; } + if (Buffer.isBuffer(value)) { + return '0x' + value.toString('hex'); + } if (_.isObject(value) && !isBigNumber(value) && !isBN(value)) { return returnType ? 'string' : utf8ToHex(JSON.stringify(value)); diff --git a/test/utils.toHex.js b/test/utils.toHex.js index 8db5abb1a6d..3b94f5f97df 100644 --- a/test/utils.toHex.js +++ b/test/utils.toHex.js @@ -42,6 +42,7 @@ var tests = [ { value: '\u0003\u0000\u0000\u00005èÆÕL]\u0012|Î¾ž\u001a7«›\u00052\u0011(ЗY\n<\u0010\u0000\u0000\u0000\u0000\u0000\u0000e!ßd/ñõì\f:z¦Î¦±ç·÷Í¢Ëß\u00076*…\bŽ—ñžùC1ÉUÀé2\u001aӆBŒ', expected: '0x0300000035c3a8c386c3954c5d127cc29dc38ec2bec29e1a37c2abc29b05321128c390c297590a3c100000000000006521c39f642fc3b1c3b5c3ac0c3a7ac2a6c38ec2a6c2b1c3a7c2b7c3b7c38dc2a2c38bc39f07362ac28508c28ec297c3b1c29ec3b94331c38955c380c3a9321ac393c28642c28c'}, { value: '내가 제일 잘 나가', expected:'0xeb82b4eab08020eca09cec9dbc20ec9e9820eb8298eab080'}, + { value: Buffer.from('100'), expected:'0x313030'} ]; describe('lib/utils/utils', function () {