From ac0ccbb7873fa268da5bb141f114631297d74110 Mon Sep 17 00:00:00 2001 From: Theo Date: Tue, 4 Jul 2023 20:05:49 -0700 Subject: [PATCH] Fix gas issues: add correct estimation for relayer withdrawal, add L1 fee fetching for Optimism, correct gas price estimation --- build/contracts/OptimismL1GasPriceOracle.json | 151 + cli.js | 150 +- local_modules/web3-providers-http/README.md | 47 - .../web3-providers-http/lib/index.js | 125 - .../local_modules/xhr2-cookies/.gitignore | 4 - .../local_modules/xhr2-cookies/.npmignore | 4 - .../local_modules/xhr2-cookies/README.md | 30 - .../xhr2-cookies/dist/errors.d.ts | 8 - .../local_modules/xhr2-cookies/dist/errors.js | 45 - .../xhr2-cookies/dist/errors.js.map | 1 - .../xhr2-cookies/dist/index.d.ts | 2 - .../local_modules/xhr2-cookies/dist/index.js | 9 - .../xhr2-cookies/dist/index.js.map | 1 - .../xhr2-cookies/dist/progress-event.d.ts | 11 - .../xhr2-cookies/dist/progress-event.js | 15 - .../xhr2-cookies/dist/progress-event.js.map | 1 - .../dist/xml-http-request-event-target.d.ts | 19 - .../dist/xml-http-request-event-target.js | 41 - .../dist/xml-http-request-event-target.js.map | 1 - .../dist/xml-http-request-upload.d.ts | 12 - .../dist/xml-http-request-upload.js | 78 - .../dist/xml-http-request-upload.js.map | 1 - .../xhr2-cookies/dist/xml-http-request.d.ts | 102 - .../xhr2-cookies/dist/xml-http-request.js | 448 -- .../xhr2-cookies/dist/xml-http-request.js.map | 1 - .../local_modules/xhr2-cookies/errors.ts | 4 - .../local_modules/xhr2-cookies/index.ts | 2 - .../local_modules/xhr2-cookies/package.json | 48 - .../xhr2-cookies/progress-event.ts | 12 - .../xhr2-cookies/test/cookies.spec.ts | 59 - .../xhr2-cookies/test/event-target.spec.ts | 101 - .../xhr2-cookies/test/events.spec.ts | 249 - .../xhr2-cookies/test/fixtures/hello.png | Bin 119 -> 0 bytes .../xhr2-cookies/test/headers.spec.ts | 189 - .../test/helpers/certificates/certificate.ts | 50 - .../test/helpers/certificates/generate.sh | 5 - .../helpers/certificates/localhost.cert.pem | 21 - .../helpers/certificates/localhost.key.pem | 27 - .../helpers/certificates/localhost.key2.pem | 28 - .../xhr2-cookies/test/helpers/png.ts | 8 - .../xhr2-cookies/test/helpers/server.ts | 228 - .../xhr2-cookies/test/nodejs-set.spec.ts | 120 - .../xhr2-cookies/test/redirect.spec.ts | 120 - .../xhr2-cookies/test/response-type.spec.ts | 134 - .../xhr2-cookies/test/response-url.spec.ts | 46 - .../xhr2-cookies/test/send.spec.ts | 137 - .../xhr2-cookies/test/status.spec.ts | 84 - .../xhr2-cookies/test/tsconfig.json | 14 - .../xhr2-cookies/test/xhr.spec.ts | 135 - .../local_modules/xhr2-cookies/tsconfig.json | 16 - .../local_modules/xhr2-cookies/tslint.json | 115 - .../local_modules/xhr2-cookies/wallaby.js | 27 - .../xml-http-request-event-target.ts | 49 - .../xhr2-cookies/xml-http-request-upload.ts | 57 - .../xhr2-cookies/xml-http-request.ts | 471 -- .../local_modules/xhr2-cookies/yarn.lock | 4097 ----------------- .../web3-providers-http/package-lock.json | 2171 --------- .../web3-providers-http/package.json | 24 - .../web3-providers-http/src/index.js | 142 - .../web3-providers-http/tsconfig.json | 9 - .../web3-providers-http/types/index.d.ts | 66 - .../types/tests/web3-provider-http-tests.ts | 51 - .../web3-providers-http/types/tsconfig.json | 17 - .../web3-providers-http/types/tslint.json | 10 - package.json | 1 + 65 files changed, 253 insertions(+), 10198 deletions(-) create mode 100644 build/contracts/OptimismL1GasPriceOracle.json delete mode 100644 local_modules/web3-providers-http/README.md delete mode 100644 local_modules/web3-providers-http/lib/index.js delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/.gitignore delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/.npmignore delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/README.md delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/errors.d.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/errors.js delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/errors.js.map delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/index.d.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/index.js delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/index.js.map delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/progress-event.d.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/progress-event.js delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/progress-event.js.map delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-event-target.d.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-event-target.js delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-event-target.js.map delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-upload.d.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-upload.js delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-upload.js.map delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request.d.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request.js delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request.js.map delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/errors.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/index.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/package.json delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/progress-event.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/cookies.spec.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/event-target.spec.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/events.spec.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/fixtures/hello.png delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/headers.spec.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/certificate.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/generate.sh delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/localhost.cert.pem delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/localhost.key.pem delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/localhost.key2.pem delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/png.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/server.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/nodejs-set.spec.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/redirect.spec.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/response-type.spec.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/response-url.spec.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/send.spec.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/status.spec.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/tsconfig.json delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/test/xhr.spec.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/tsconfig.json delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/tslint.json delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/wallaby.js delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/xml-http-request-event-target.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/xml-http-request-upload.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/xml-http-request.ts delete mode 100644 local_modules/web3-providers-http/local_modules/xhr2-cookies/yarn.lock delete mode 100644 local_modules/web3-providers-http/package-lock.json delete mode 100644 local_modules/web3-providers-http/package.json delete mode 100644 local_modules/web3-providers-http/src/index.js delete mode 100644 local_modules/web3-providers-http/tsconfig.json delete mode 100644 local_modules/web3-providers-http/types/index.d.ts delete mode 100644 local_modules/web3-providers-http/types/tests/web3-provider-http-tests.ts delete mode 100644 local_modules/web3-providers-http/types/tsconfig.json delete mode 100644 local_modules/web3-providers-http/types/tslint.json diff --git a/build/contracts/OptimismL1GasPriceOracle.json b/build/contracts/OptimismL1GasPriceOracle.json new file mode 100644 index 0000000..8f239ad --- /dev/null +++ b/build/contracts/OptimismL1GasPriceOracle.json @@ -0,0 +1,151 @@ +[ + { + "inputs": [{ "internalType": "address", "name": "_owner", "type": "address" }], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [{ "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "DecimalsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [{ "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "GasPriceUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [{ "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "L1BaseFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [{ "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "OverheadUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [{ "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "ScalarUpdated", + "type": "event" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "gasPrice", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "bytes", "name": "_data", "type": "bytes" }], + "name": "getL1Fee", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "bytes", "name": "_data", "type": "bytes" }], + "name": "getL1GasUsed", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l1BaseFee", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "overhead", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "scalar", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint256", "name": "_decimals", "type": "uint256" }], + "name": "setDecimals", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint256", "name": "_gasPrice", "type": "uint256" }], + "name": "setGasPrice", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint256", "name": "_baseFee", "type": "uint256" }], + "name": "setL1BaseFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint256", "name": "_overhead", "type": "uint256" }], + "name": "setOverhead", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint256", "name": "_scalar", "type": "uint256" }], + "name": "setScalar", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/cli.js b/cli.js index 96ee84f..8f95aa5 100755 --- a/cli.js +++ b/cli.js @@ -11,6 +11,7 @@ const bigInt = snarkjs.bigInt; const merkleTree = require('@tornado/fixed-merkle-tree'); const Web3 = require('web3'); const Web3HttpProvider = require('@tornado/web3-providers-http'); +const { serialize } = require('@ethersproject/transactions'); const buildGroth16 = require('@tornado/websnark/src/groth16'); const websnarkUtils = require('@tornado/websnark/src/utils'); const { toWei, fromWei, toBN, BN } = require('web3-utils'); @@ -32,7 +33,7 @@ let web3, tornadoContract, tornadoInstance, circuit, - proving_key, + provingKey, groth16, erc20, senderAccount, @@ -40,13 +41,13 @@ let web3, netName, netSymbol, multiCall, + userAction, subgraph; let MERKLE_TREE_HEIGHT, ETH_AMOUNT, TOKEN_AMOUNT, PRIVATE_KEY; /** Command state parameters */ let preferenceSpeed = gasSpeedPreferences[0]; -let isTestRPC, - eipGasSupport = false; +let isTestRPC = false; let shouldPromptConfirmation = true; let doNotSubmitTx, privateRpc; /** ----------------------------------------- **/ @@ -178,9 +179,43 @@ async function estimateGas(from, to, nonce, encodedData, value = 0) { return bumped; } +async function fetchL1Fee({ gasPrice, gasLimit }) { + const DUMMY_NONCE = '0x1111111111111111111111111111111111111111111111111111111111111111'; + + const DUMMY_WITHDRAW_DATA = + '0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'; + + if (netId === 10) { + const ovmGasPriceOracleContractAddress = '0x420000000000000000000000000000000000000F'; + const optimismL1GasPriceOracleABI = require('./build/contracts/OptimismL1GasPriceOracle.json'); + const oracleInstance = new web3.eth.Contract(optimismL1GasPriceOracleABI, ovmGasPriceOracleContractAddress); + + try { + const tx = serialize({ + type: 0, + gasLimit, + chainId: netId, + nonce: DUMMY_NONCE, + data: DUMMY_WITHDRAW_DATA, + gasPrice, + to: tornadoProxyAddress + }); + + const l1Fee = await oracleInstance.methods.getL1Fee(tx).call(); + + return l1Fee; + } catch (err) { + throw new Error('Error while fetching optimism L1 fee: ' + err.message); + } + } + + return 0; +} + async function generateTransaction(to, encodedData, value = 0) { const nonce = await web3.eth.getTransactionCount(senderAccount); let gasPrice = await fetchGasPrice(); + let gasLimit; if (encodedData) { @@ -192,12 +227,16 @@ async function generateTransaction(to, encodedData, value = 0) { const isNumRString = typeof value == 'string' || typeof value == 'number'; const valueCost = isNumRString ? toBN(value) : value; - const gasCosts = toBN(gasPrice).mul(toBN(gasLimit)); + + const additionalFees = userAction === 'withdrawal' ? await fetchL1Fee({ gasPrice, gasLimit }) : 0; + const gasCosts = toBN(gasPrice).mul(toBN(gasLimit)).add(toBN(additionalFees)); const totalCosts = valueCost.add(gasCosts); /** Transaction details */ console.log('Gas price: ', web3.utils.hexToNumber(gasPrice)); console.log('Gas limit: ', web3.utils.hexToNumber(gasLimit)); + if (additionalFees != 0) + console.log('Additional gas fees (like L1 data fee): ', rmDecimalBN(fromWei(additionalFees), 12), `${netSymbol}`); console.log('Transaction fee: ', rmDecimalBN(fromWei(gasCosts), 12), `${netSymbol}`); console.log('Transaction cost: ', rmDecimalBN(fromWei(totalCosts), 12), `${netSymbol}`); /** ----------------------------------------- **/ @@ -463,7 +502,7 @@ async function generateProof({ deposit, currency, amount, recipient, relayerAddr console.log('Generating SNARK proof'); console.time('Proof time'); - const proofData = await websnarkUtils.genWitnessAndProve(groth16, input, circuit, proving_key); + const proofData = await websnarkUtils.genWitnessAndProve(groth16, input, circuit, provingKey); const { proof } = websnarkUtils.toSolidityInput(proofData); console.timeEnd('Proof time'); @@ -520,7 +559,7 @@ async function withdraw({ deposit, currency, amount, recipient, relayerURL, refu const merkleWithdrawalProof = await generateMerkleProof(deposit, currency, amount); async function calculateDataForRelayer(gasLimit) { - const { desiredFee: totalFee, feePercent: relayerFee } = calculateRelayerWithdrawFee({ + const { desiredFee: totalFee, feePercent: relayerFee } = await calculateRelayerWithdrawFee({ currency, gasPrice, amount, @@ -550,8 +589,9 @@ async function withdraw({ deposit, currency, amount, recipient, relayerURL, refu const { proof, args, totalFee, relayerFee } = await calculateDataForRelayer(realGasLimit); console.log('Sending withdraw transaction through relay'); - - const gasCosts = toBN(gasPrice).mul(toBN(realGasLimit)); + const l1Fee = await fetchL1Fee({ gasPrice, gasLimit: realGasLimit }); + console.log(l1Fee); + const gasCosts = toBN(gasPrice).mul(toBN(realGasLimit)).add(toBN(l1Fee)); /** Relayer fee details **/ console.log('Transaction fee: ', rmDecimalBN(fromWei(gasCosts), 12), `${netSymbol}`); @@ -864,37 +904,31 @@ function getCurrentNetworkSymbol() { } } -function gasPricesETH(value = 80) { - const tenPercent = (Number(value) * 5) / 100; - const max = Math.max(tenPercent, 3); - const bumped = Math.floor(Number(value) + max); - return toHex(toWei(bumped.toString(), 'gwei')); -} - -function gasPrices(value = 5) { - return toHex(toWei(value.toString(), 'gwei')); -} - async function fetchGasPrice() { try { /** Gas preferences **/ console.log('Gas speed preference: ', preferenceSpeed); /** ----------------------------------------------- **/ - try { - const isLegacy = !eipGasSupport; - const oracleOptions = { chainId: netId, defaultRpc: web3.currentProvider.host }; - const oracle = new GasPriceOracle(oracleOptions); - const gas = await oracle.gasPrices({ isLegacy }); + // Extra bump estimated gas price for Polygon and Goerli + const bumpPercent = netId === 137 || netId === 5 ? 30 : 10; - if (netId === 1) { - return gasPricesETH(gas[preferenceSpeed]); - } else { - return gasPrices(gas[preferenceSpeed]); - } + try { + const oracleOptions = { + chainId: netId, + defaultRpc: web3.currentProvider.host, + minPriority: netId === 1 ? 3 : 0.05, + percentile: 5, + blocksCount: 20 + }; + const oracle = new GasPriceOracle(oracleOptions); + const { maxFeePerGas, gasPrice } = await oracle.getTxGasParams({ legacySpeed: preferenceSpeed, bumpPercent }); + + return maxFeePerGas || gasPrice; } catch (e) { - const wei = await web3.eth.getGasPrice(); - return wei / web3.utils.unitMap.gwei; + const wei = toBN(await web3.eth.getGasPrice()); + const bumped = wei.add(wei.mul(toBN(bumpPercent)).div(toBN(100))); + return toHex(bumped); } } catch (err) { throw new Error(`Method fetchGasPrice has error ${err.message}`); @@ -936,13 +970,26 @@ async function estimateWithdrawGasLimit({ relayer, proof, callArgs }) { return gasLimit; } -function calculateRelayerWithdrawFee({ currency, gasPrice, amount, refund, ethPrices, relayerServiceFee, decimals, gasLimit }) { +async function calculateRelayerWithdrawFee({ + currency, + gasPrice, + amount, + refund, + ethPrices, + relayerServiceFee, + decimals, + gasLimit +}) { const decimalsPoint = Math.floor(relayerServiceFee) === Number(relayerServiceFee) ? 0 : relayerServiceFee.toString().split('.')[1].length; const roundDecimal = 10 ** decimalsPoint; const total = toBN(fromDecimals({ amount, decimals })); const feePercent = total.mul(toBN(relayerServiceFee * roundDecimal)).div(toBN(roundDecimal * 100)); - const expense = toBN(gasPrice).mul(toBN(gasLimit || getHardcodedWithdrawGasLimit(netId))); + const l1Fee = await fetchL1Fee({ gasPrice, gasLimit }); + const expense = toBN(gasPrice) + .mul(toBN(gasLimit || getHardcodedWithdrawGasLimit(netId))) + .add(toBN(l1Fee)); + let desiredFee; switch (currency) { case netSymbol.toLowerCase(): { @@ -1010,7 +1057,7 @@ function filterZeroEvents(events) { function loadCachedEvents({ type, currency, amount }) { try { - const module = require(`./cache/${netName.toLowerCase()}/${type}s_${currency}_${amount}.json`); + const module = require(`./cache/${netName.toLowerCase()}/${type}s_${currency.toLowerCase()}_${amount}.json`); if (module) { const events = module; @@ -1042,11 +1089,13 @@ async function fetchEvents({ type, currency, amount, filterEvents }) { console.log('Fetching', amount, currency.toUpperCase(), type, 'events for', netName, 'network'); async function updateCache(fetchedEvents) { + if (type === 'deposit') fetchedEvents.sort((firstLeaf, secondLeaf) => firstLeaf.leafIndex - secondLeaf.leafIndex); + try { - const fileName = `./cache/${netName.toLowerCase()}/${type}s_${currency}_${amount}.json`; + const fileName = `./cache/${netName.toLowerCase()}/${type}s_${currency.toLowerCase()}_${amount}.json`; const localEvents = await initJson(fileName); const events = filterZeroEvents(localEvents).concat(fetchedEvents); - await fs.writeFileSync(fileName, JSON.stringify(events, null, 2), 'utf8'); + fs.writeFileSync(fileName, JSON.stringify(events, null, 2), 'utf8'); } catch (error) { throw new Error('Writing cache file failed:', error); } @@ -1056,7 +1105,7 @@ async function fetchEvents({ type, currency, amount, filterEvents }) { * Adds an zero (empty) event to the end of the events list * If tornado transactions on the selected currency/amount are rare and the last one was much earlier than the current block, * it helps to quickly synchronize the events tree - * @param blockNumber Latest block number on selected chain + * @param {number} blockNumber Latest block number on selected chain */ async function addZeroEvent(blockNumber) { const zeroEvent = { blockNumber, transactionHash: null }; @@ -1068,7 +1117,7 @@ async function fetchEvents({ type, currency, amount, filterEvents }) { async function syncEvents() { try { let targetBlock = await web3.eth.getBlockNumber(); - let chunks = 1000; + let chunks = 10000; console.log('Querying latest events from RPC'); for (let i = startBlock; i < targetBlock; i += chunks) { @@ -1138,8 +1187,6 @@ async function fetchEvents({ type, currency, amount, filterEvents }) { await fetchWeb3Events(i); await updateCache(fetchedEvents); } - - await addZeroEvent(targetBlock); } catch (error) { console.log(error); throw new Error('Error while updating cache'); @@ -1158,9 +1205,10 @@ async function fetchEvents({ type, currency, amount, filterEvents }) { async function queryLatestTimestamp() { try { const variables = { - currency: currency.toString(), - amount: amount.toString() + currency: currency.toString().toLowerCase(), + amount: amount.toString().toLowerCase() }; + console.log(variables); if (type === 'deposit') { const query = { query: ` @@ -1201,11 +1249,12 @@ async function fetchEvents({ type, currency, amount, filterEvents }) { async function queryFromGraph(timestamp) { try { const variables = { - currency: currency.toString(), - amount: amount.toString(), + currency: currency.toString().toLowerCase(), + amount: amount.toString().toLowerCase(), timestamp: timestamp }; if (type === 'deposit') { + console.log(variables); const query = { query: ` query($currency: String, $amount: String, $timestamp: Int){ @@ -1228,7 +1277,7 @@ async function fetchEvents({ type, currency, amount, filterEvents }) { transactionHash, commitment, leafIndex: Number(index), - timestamp + timestamp: Number(timestamp) }; }); return mapResult; @@ -1299,18 +1348,20 @@ async function fetchEvents({ type, currency, amount, filterEvents }) { } await fetchGraphEvents(); } - if (!privateRpc && subgraph && !isTestRPC) { + if (!privateRpc && !subgraph && !isTestRPC) { await syncGraphEvents(); } else { await syncEvents(); } + await addZeroEvent(await web3.eth.getBlockNumber()); async function loadUpdatedEvents() { - const fileName = `./cache/${netName.toLowerCase()}/${type}s_${currency}_${amount}.json`; + // Don't use loadCachedEvents function, because we need to check zero event block (to which block we updated) + const fileName = `./cache/${netName.toLowerCase()}/${type}s_${currency.toLowerCase()}_${amount}.json`; const updatedEvents = await initJson(fileName); const updatedBlock = updatedEvents[updatedEvents.length - 1].blockNumber; console.log('Cache updated for Tornado', type, amount, currency, 'instance to block', updatedBlock, 'successfully'); - console.log(`Total ${type}s:`, updatedEvents.length); + console.log(`Total ${type}s:`, updatedEvents.length - 1); return updatedEvents; } const events = await loadUpdatedEvents(); @@ -1510,7 +1561,7 @@ async function init({ rpc, noteNetId, currency = 'dai', amount = '100', balanceC contractJson = require('./build/contracts/TornadoProxy.abi.json'); instanceJson = require('./build/contracts/Instance.abi.json'); circuit = require('./build/circuits/tornado.json'); - proving_key = fs.readFileSync('build/circuits/tornadoProvingKey.bin').buffer; + provingKey = fs.readFileSync('build/circuits/tornadoProvingKey.bin').buffer; MERKLE_TREE_HEIGHT = process.env.MERKLE_TREE_HEIGHT || 20; ETH_AMOUNT = process.env.ETH_AMOUNT; TOKEN_AMOUNT = process.env.TOKEN_AMOUNT; @@ -1642,6 +1693,7 @@ async function main() { statePreferences(program); const { currency, amount, netId, deposit } = parseNote(noteString); + userAction = 'withdrawal'; await init({ rpc: program.rpc, diff --git a/local_modules/web3-providers-http/README.md b/local_modules/web3-providers-http/README.md deleted file mode 100644 index 2b5ef68..0000000 --- a/local_modules/web3-providers-http/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# web3-providers-http - -[![NPM Package][npm-image]][npm-url] [![Dependency Status][deps-image]][deps-url] [![Dev Dependency Status][deps-dev-image]][deps-dev-url] - -Package forked from https://github.com/ChainSafe/web3.js/tree/v1.6.1/packages/web3-providers-http to change http headers - -This is a HTTP provider sub-package for [web3.js][repo]. - -Please read the [documentation][docs] for more. - -## Installation - -### Node.js - -```bash -npm install web3-providers-http -``` - -## Usage - -```js -const http = require('http'); -const Web3HttpProvider = require('web3-providers-http'); - -const options = { - keepAlive: true, - timeout: 20000, // milliseconds, - headers: [{name: 'Access-Control-Allow-Origin', value: '*'},{...}], - withCredentials: false, - agent: {http: http.Agent(...), baseUrl: ''} -}; - -const provider = new Web3HttpProvider('http://localhost:8545', options); -``` - -## Types - -All the TypeScript typings are placed in the `types` folder. - -[docs]: http://web3js.readthedocs.io/en/1.0/ -[repo]: https://github.com/ethereum/web3.js -[npm-image]: https://img.shields.io/npm/dm/web3-providers-http.svg -[npm-url]: https://npmjs.org/package/web3-providers-http -[deps-image]: https://david-dm.org/ethereum/web3.js/1.x/status.svg?path=packages/web3-providers-http -[deps-url]: https://david-dm.org/ethereum/web3.js/1.x?path=packages/web3-providers-http -[deps-dev-image]: https://david-dm.org/ethereum/web3.js/1.x/dev-status.svg?path=packages/web3-providers-http -[deps-dev-url]: https://david-dm.org/ethereum/web3.js/1.x?type=dev&path=packages/web3-providers-http diff --git a/local_modules/web3-providers-http/lib/index.js b/local_modules/web3-providers-http/lib/index.js deleted file mode 100644 index 0c660d7..0000000 --- a/local_modules/web3-providers-http/lib/index.js +++ /dev/null @@ -1,125 +0,0 @@ -/* - This file is part of web3.js. - - web3.js is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - web3.js is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with web3.js. If not, see . -*/ -/** @file httpprovider.js - * @authors: - * Marek Kotewicz - * Marian Oancea - * Fabian Vogelsteller - * @date 2015 - */ -var errors = require('web3-core-helpers').errors; -var XHR2 = require('xhr2-cookies').XMLHttpRequest; // jshint ignore: line -var http = require('http'); -var https = require('https'); -/** - * HttpProvider should be used to send rpc calls over http - */ -var HttpProvider = function HttpProvider(host, options) { - options = options || {}; - this.withCredentials = options.withCredentials || false; - this.timeout = options.timeout || 0; - this.headers = options.headers; - this.agent = options.agent; - this.connected = false; - // keepAlive is true unless explicitly set to false - const keepAlive = options.keepAlive !== false; - this.host = host || 'http://localhost:8545'; - if (!this.agent) { - if (this.host.substring(0, 5) === "https") { - this.httpsAgent = new https.Agent({ keepAlive }); - } - else { - this.httpAgent = new http.Agent({ keepAlive }); - } - } -}; -HttpProvider.prototype._prepareRequest = function () { - var request; - // the current runtime is a browser - if (typeof XMLHttpRequest !== 'undefined') { - request = new XMLHttpRequest(); - } - else { - request = new XHR2(); - var agents = { httpsAgent: this.httpsAgent, httpAgent: this.httpAgent, baseUrl: this.baseUrl }; - if (this.agent) { - agents.httpsAgent = this.agent.https; - agents.httpAgent = this.agent.http; - agents.baseUrl = this.agent.baseUrl; - } - request.nodejsSet(agents); - } - request.open('POST', this.host, true); - request.setRequestHeader('Content-Type', 'application/json'); - request.timeout = this.timeout; - request.withCredentials = this.withCredentials; - if (this.headers) { - this.headers.forEach(function (header) { - request.setRequestHeader(header.name, header.value); - }); - } - return request; -}; -/** - * Should be used to make async request - * - * @method send - * @param {Object} payload - * @param {Function} callback triggered on end with (err, result) - */ -HttpProvider.prototype.send = function (payload, callback) { - var _this = this; - var request = this._prepareRequest(); - request.onreadystatechange = function () { - if (request.readyState === 4 && request.timeout !== 1) { - var result = request.responseText; - var error = null; - try { - result = JSON.parse(result); - } - catch (e) { - error = errors.InvalidResponse(request.responseText); - } - _this.connected = true; - callback(error, result); - } - }; - request.ontimeout = function () { - _this.connected = false; - callback(errors.ConnectionTimeout(this.timeout)); - }; - try { - request.send(JSON.stringify(payload)); - } - catch (error) { - this.connected = false; - callback(errors.InvalidConnection(this.host)); - } -}; -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/local_modules/web3-providers-http/local_modules/xhr2-cookies/.gitignore b/local_modules/web3-providers-http/local_modules/xhr2-cookies/.gitignore deleted file mode 100644 index 022ec5d..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -yarn-error.log -.idea -!wallaby.js diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/.npmignore b/local_modules/web3-providers-http/local_modules/xhr2-cookies/.npmignore deleted file mode 100644 index f6764b3..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/.npmignore +++ /dev/null @@ -1,4 +0,0 @@ -* -.idea -!dist/* -!package.json diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/README.md b/local_modules/web3-providers-http/local_modules/xhr2-cookies/README.md deleted file mode 100644 index 65937d9..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# XMLHttpRequest polyfill for node.js - -Based on [https://github.com/pwnall/node-xhr2/tree/bd6d48431ad93c8073811e5d4b77394dd637a85a](https://github.com/pwnall/node-xhr2/tree/bd6d48431ad93c8073811e5d4b77394dd637a85a) - -* Adds support for cookies -* Adds in-project TypeScript type definitions -* Switched to TypeScript - -### Cookies - -* saved in `XMLHttpRequest.cookieJar` -* saved between redirects -* saved between requests -* can be cleared by doing: -```typescript -import * as Cookie from 'cookiejar'; -XMLHttpRequest.cookieJar = Cookie.CookieJar(); -``` - -### Aims - -* Provide full XMLHttpRequest features to Angular Universal HttpClient & -`node-angular-http-client` - -### Changelog - -#### `1.1.0` -* added saving of cookies between requests, not just redirects -* bug fixes -* most tests from `xhr2` ported over and passing diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/errors.d.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/errors.d.ts deleted file mode 100644 index c27fac9..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/errors.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export declare class SecurityError extends Error { -} -export declare class InvalidStateError extends Error { -} -export declare class NetworkError extends Error { -} -export declare class SyntaxError extends Error { -} diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/errors.js b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/errors.js deleted file mode 100644 index 6a27a12..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/errors.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -var SecurityError = /** @class */ (function (_super) { - __extends(SecurityError, _super); - function SecurityError() { - return _super !== null && _super.apply(this, arguments) || this; - } - return SecurityError; -}(Error)); -exports.SecurityError = SecurityError; -var InvalidStateError = /** @class */ (function (_super) { - __extends(InvalidStateError, _super); - function InvalidStateError() { - return _super !== null && _super.apply(this, arguments) || this; - } - return InvalidStateError; -}(Error)); -exports.InvalidStateError = InvalidStateError; -var NetworkError = /** @class */ (function (_super) { - __extends(NetworkError, _super); - function NetworkError() { - return _super !== null && _super.apply(this, arguments) || this; - } - return NetworkError; -}(Error)); -exports.NetworkError = NetworkError; -var SyntaxError = /** @class */ (function (_super) { - __extends(SyntaxError, _super); - function SyntaxError() { - return _super !== null && _super.apply(this, arguments) || this; - } - return SyntaxError; -}(Error)); -exports.SyntaxError = SyntaxError; -//# sourceMappingURL=errors.js.map \ No newline at end of file diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/errors.js.map b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/errors.js.map deleted file mode 100644 index b8867f8..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/errors.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"errors.js","sourceRoot":"","sources":["../errors.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;IAAmC,iCAAK;IAAxC;;IAA0C,CAAC;IAAD,oBAAC;AAAD,CAAC,AAA3C,CAAmC,KAAK,GAAG;AAA9B,sCAAa;AAC1B;IAAuC,qCAAK;IAA5C;;IAA8C,CAAC;IAAD,wBAAC;AAAD,CAAC,AAA/C,CAAuC,KAAK,GAAG;AAAlC,8CAAiB;AAC9B;IAAkC,gCAAK;IAAvC;;IAAyC,CAAC;IAAD,mBAAC;AAAD,CAAC,AAA1C,CAAkC,KAAK,GAAG;AAA7B,oCAAY;AACzB;IAAiC,+BAAK;IAAtC;;IAAwC,CAAC;IAAD,kBAAC;AAAD,CAAC,AAAzC,CAAiC,KAAK,GAAG;AAA5B,kCAAW"} \ No newline at end of file diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/index.d.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/index.d.ts deleted file mode 100644 index 835197c..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './xml-http-request'; -export { XMLHttpRequestEventTarget } from './xml-http-request-event-target'; diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/index.js b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/index.js deleted file mode 100644 index dfadc7c..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/index.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} -Object.defineProperty(exports, "__esModule", { value: true }); -__export(require("./xml-http-request")); -var xml_http_request_event_target_1 = require("./xml-http-request-event-target"); -exports.XMLHttpRequestEventTarget = xml_http_request_event_target_1.XMLHttpRequestEventTarget; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/index.js.map b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/index.js.map deleted file mode 100644 index f7421cb..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;AAAA,wCAAmC;AACnC,iFAA4E;AAAnE,oEAAA,yBAAyB,CAAA"} \ No newline at end of file diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/progress-event.d.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/progress-event.d.ts deleted file mode 100644 index 28d4f47..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/progress-event.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { XMLHttpRequestEventTarget } from './xml-http-request-event-target'; -export declare class ProgressEvent { - type: string; - bubbles: boolean; - cancelable: boolean; - target: XMLHttpRequestEventTarget; - loaded: number; - lengthComputable: boolean; - total: number; - constructor(type: string); -} diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/progress-event.js b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/progress-event.js deleted file mode 100644 index 9ed411a..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/progress-event.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var ProgressEvent = /** @class */ (function () { - function ProgressEvent(type) { - this.type = type; - this.bubbles = false; - this.cancelable = false; - this.loaded = 0; - this.lengthComputable = false; - this.total = 0; - } - return ProgressEvent; -}()); -exports.ProgressEvent = ProgressEvent; -//# sourceMappingURL=progress-event.js.map \ No newline at end of file diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/progress-event.js.map b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/progress-event.js.map deleted file mode 100644 index fb763b4..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/progress-event.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"progress-event.js","sourceRoot":"","sources":["../progress-event.ts"],"names":[],"mappings":";;AAEA;IAQC,uBAAoB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QAPhC,YAAO,GAAG,KAAK,CAAC;QAChB,eAAU,GAAG,KAAK,CAAC;QAEnB,WAAM,GAAG,CAAC,CAAC;QACX,qBAAgB,GAAG,KAAK,CAAC;QACzB,UAAK,GAAG,CAAC,CAAC;IAEyB,CAAC;IACrC,oBAAC;AAAD,CAAC,AATD,IASC;AATY,sCAAa"} \ No newline at end of file diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-event-target.d.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-event-target.d.ts deleted file mode 100644 index 13732a6..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-event-target.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { ProgressEvent } from './progress-event'; -export declare type ProgressEventListener = (event: ProgressEvent) => void; -export declare type ProgressEventListenerObject = { - handleEvent(event: ProgressEvent): void; -}; -export declare type ProgressEventListenerOrEventListenerObject = ProgressEventListener | ProgressEventListenerObject; -export declare class XMLHttpRequestEventTarget { - onloadstart: ProgressEventListener | null; - onprogress: ProgressEventListener | null; - onabort: ProgressEventListener | null; - onerror: ProgressEventListener | null; - onload: ProgressEventListener | null; - ontimeout: ProgressEventListener | null; - onloadend: ProgressEventListener | null; - private listeners; - addEventListener(eventType: string, listener?: ProgressEventListenerOrEventListenerObject): void; - removeEventListener(eventType: string, listener?: ProgressEventListenerOrEventListenerObject): void; - dispatchEvent(event: ProgressEvent): boolean; -} diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-event-target.js b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-event-target.js deleted file mode 100644 index d937043..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-event-target.js +++ /dev/null @@ -1,41 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var XMLHttpRequestEventTarget = /** @class */ (function () { - function XMLHttpRequestEventTarget() { - this.listeners = {}; - } - XMLHttpRequestEventTarget.prototype.addEventListener = function (eventType, listener) { - eventType = eventType.toLowerCase(); - this.listeners[eventType] = this.listeners[eventType] || []; - this.listeners[eventType].push(listener.handleEvent || listener); - }; - XMLHttpRequestEventTarget.prototype.removeEventListener = function (eventType, listener) { - eventType = eventType.toLowerCase(); - if (!this.listeners[eventType]) { - return; - } - var index = this.listeners[eventType].indexOf(listener.handleEvent || listener); - if (index < 0) { - return; - } - this.listeners[eventType].splice(index, 1); - }; - XMLHttpRequestEventTarget.prototype.dispatchEvent = function (event) { - var eventType = event.type.toLowerCase(); - event.target = this; // TODO: set event.currentTarget? - if (this.listeners[eventType]) { - for (var _i = 0, _a = this.listeners[eventType]; _i < _a.length; _i++) { - var listener_1 = _a[_i]; - listener_1.call(this, event); - } - } - var listener = this["on" + eventType]; - if (listener) { - listener.call(this, event); - } - return true; - }; - return XMLHttpRequestEventTarget; -}()); -exports.XMLHttpRequestEventTarget = XMLHttpRequestEventTarget; -//# sourceMappingURL=xml-http-request-event-target.js.map \ No newline at end of file diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-event-target.js.map b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-event-target.js.map deleted file mode 100644 index 371d324..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-event-target.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"xml-http-request-event-target.js","sourceRoot":"","sources":["../xml-http-request-event-target.ts"],"names":[],"mappings":";;AAMA;IAAA;QASS,cAAS,GAAmD,EAAE,CAAC;IAiCxE,CAAC;IA/BA,oDAAgB,GAAhB,UAAiB,SAAiB,EAAE,QAAqD;QACxF,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAE,QAAwC,CAAC,WAAW,IAAK,QAAkC,CAAC,CAAC;IAC9H,CAAC;IACD,uDAAmB,GAAnB,UAAoB,SAAiB,EAAE,QAAqD;QAC3F,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC;QAAC,CAAC;QAE3C,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAE,QAAwC,CAAC,WAAW,IAAK,QAAkC,CAAC,CAAC;QAC9I,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC;QAAC,CAAC;QAE1B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,iDAAa,GAAb,UAAc,KAAoB;QACjC,IAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,iCAAiC;QAEtD,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/B,GAAG,CAAC,CAAiB,UAAyB,EAAzB,KAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAzB,cAAyB,EAAzB,IAAyB;gBAAzC,IAAI,UAAQ,SAAA;gBAChB,UAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aAC3B;QACF,CAAC;QAED,IAAM,QAAQ,GAAG,IAAI,CAAC,OAAK,SAAW,CAAC,CAAC;QACxC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACb,CAAC;IACF,gCAAC;AAAD,CAAC,AA1CD,IA0CC;AA1CY,8DAAyB"} \ No newline at end of file diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-upload.d.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-upload.d.ts deleted file mode 100644 index 86cfdd6..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-upload.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -/// -import { XMLHttpRequestEventTarget } from './xml-http-request-event-target'; -import { ClientRequest } from 'http'; -export declare class XMLHttpRequestUpload extends XMLHttpRequestEventTarget { - private _contentType; - private _body; - constructor(); - _reset(): void; - _setData(data?: string | Buffer | ArrayBuffer | ArrayBufferView): void; - _finalizeHeaders(headers: object, loweredHeaders: object): void; - _startUpload(request: ClientRequest): void; -} diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-upload.js b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-upload.js deleted file mode 100644 index ce99c78..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-upload.js +++ /dev/null @@ -1,78 +0,0 @@ -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -var xml_http_request_event_target_1 = require("./xml-http-request-event-target"); -var XMLHttpRequestUpload = /** @class */ (function (_super) { - __extends(XMLHttpRequestUpload, _super); - function XMLHttpRequestUpload() { - var _this = _super.call(this) || this; - _this._contentType = null; - _this._body = null; - _this._reset(); - return _this; - } - XMLHttpRequestUpload.prototype._reset = function () { - this._contentType = null; - this._body = null; - }; - XMLHttpRequestUpload.prototype._setData = function (data) { - if (data == null) { - return; - } - if (typeof data === 'string') { - if (data.length !== 0) { - this._contentType = 'text/plain;charset=UTF-8'; - } - this._body = Buffer.from(data, 'utf-8'); - } - else if (Buffer.isBuffer(data)) { - this._body = data; - } - else if (data instanceof ArrayBuffer) { - var body = Buffer.alloc(data.byteLength); - var view = new Uint8Array(data); - for (var i = 0; i < data.byteLength; i++) { - body[i] = view[i]; - } - this._body = body; - } - else if (data.buffer && data.buffer instanceof ArrayBuffer) { - var body = Buffer.alloc(data.byteLength); - var offset = data.byteOffset; - var view = new Uint8Array(data.buffer); - for (var i = 0; i < data.byteLength; i++) { - body[i] = view[i + offset]; - } - this._body = body; - } - else { - throw new Error("Unsupported send() data " + data); - } - }; - XMLHttpRequestUpload.prototype._finalizeHeaders = function (headers, loweredHeaders) { - if (this._contentType && !loweredHeaders['content-type']) { - headers['Content-Type'] = this._contentType; - } - if (this._body) { - headers['Content-Length'] = this._body.length.toString(); - } - }; - XMLHttpRequestUpload.prototype._startUpload = function (request) { - if (this._body) { - request.write(this._body); - } - request.end(); - }; - return XMLHttpRequestUpload; -}(xml_http_request_event_target_1.XMLHttpRequestEventTarget)); -exports.XMLHttpRequestUpload = XMLHttpRequestUpload; -//# sourceMappingURL=xml-http-request-upload.js.map \ No newline at end of file diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-upload.js.map b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-upload.js.map deleted file mode 100644 index 8f6f72d..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request-upload.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"xml-http-request-upload.js","sourceRoot":"","sources":["../xml-http-request-upload.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request.d.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request.d.ts deleted file mode 100644 index ec2eecb..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request.d.ts +++ /dev/null @@ -1,102 +0,0 @@ -/// -import { ProgressEvent } from './progress-event'; -import { InvalidStateError, NetworkError, SecurityError, SyntaxError } from './errors'; -import { ProgressEventListener, XMLHttpRequestEventTarget } from './xml-http-request-event-target'; -import { XMLHttpRequestUpload } from './xml-http-request-upload'; -import { Url } from 'url'; -import { Agent as HttpAgent } from 'http'; -import { Agent as HttpsAgent } from 'https'; -export interface XMLHttpRequestOptions { - anon?: boolean; -} -export interface XHRUrl extends Url { - method?: string; -} -export declare class XMLHttpRequest extends XMLHttpRequestEventTarget { - static ProgressEvent: typeof ProgressEvent; - static InvalidStateError: typeof InvalidStateError; - static NetworkError: typeof NetworkError; - static SecurityError: typeof SecurityError; - static SyntaxError: typeof SyntaxError; - static XMLHttpRequestUpload: typeof XMLHttpRequestUpload; - static UNSENT: number; - static OPENED: number; - static HEADERS_RECEIVED: number; - static LOADING: number; - static DONE: number; - static cookieJar: any; - UNSENT: number; - OPENED: number; - HEADERS_RECEIVED: number; - LOADING: number; - DONE: number; - onreadystatechange: ProgressEventListener | null; - readyState: number; - response: string | ArrayBuffer | Buffer | object | null; - responseText: string; - responseType: string; - status: number; - statusText: string; - timeout: number; - upload: XMLHttpRequestUpload; - responseUrl: string; - withCredentials: boolean; - nodejsHttpAgent: HttpsAgent; - nodejsHttpsAgent: HttpsAgent; - nodejsBaseUrl: string | null; - private _anonymous; - private _method; - private _url; - private _sync; - private _headers; - private _loweredHeaders; - private _mimeOverride; - private _request; - private _response; - private _responseParts; - private _responseHeaders; - private _aborting; - private _error; - private _loadedBytes; - private _totalBytes; - private _lengthComputable; - private _restrictedMethods; - private _restrictedHeaders; - private _privateHeaders; - private _userAgent; - constructor(options?: XMLHttpRequestOptions); - open(method: string, url: string, async?: boolean, user?: string, password?: string): void; - setRequestHeader(name: string, value: any): void; - send(data?: string | Buffer | ArrayBuffer | ArrayBufferView): void; - abort(): void; - getResponseHeader(name: string): string; - getAllResponseHeaders(): string; - overrideMimeType(mimeType: string): void; - nodejsSet(options: { - httpAgent?: HttpAgent; - httpsAgent?: HttpsAgent; - baseUrl?: string; - }): void; - static nodejsSet(options: { - httpAgent?: HttpAgent; - httpsAgent?: HttpsAgent; - baseUrl?: string; - }): void; - private _setReadyState(readyState); - private _sendFile(data); - private _sendHttp(data?); - private _sendHxxpRequest(); - private _finalizeHeaders(); - private _onHttpResponse(request, response); - private _onHttpResponseData(response, data); - private _onHttpResponseEnd(response); - private _onHttpResponseClose(response); - private _onHttpTimeout(request); - private _onHttpRequestError(request, error); - private _dispatchProgress(eventType); - private _setError(); - private _parseUrl(urlString, user?, password?); - private _parseResponseHeaders(response); - private _parseResponse(); - private _parseResponseEncoding(); -} diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request.js b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request.js deleted file mode 100644 index 8872863..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request.js +++ /dev/null @@ -1,448 +0,0 @@ -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __assign = (this && this.__assign) || Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var http = require("http"); -var https = require("https"); -var url = require("url"); -var progress_event_1 = require("./progress-event"); -var errors_1 = require("./errors"); -var xml_http_request_event_target_1 = require("./xml-http-request-event-target"); -var xml_http_request_upload_1 = require("./xml-http-request-upload"); -var Cookie = require("cookiejar"); -var XMLHttpRequest = /** @class */ (function (_super) { - __extends(XMLHttpRequest, _super); - function XMLHttpRequest(options) { - if (options === void 0) { options = {}; } - var _this = _super.call(this) || this; - _this.UNSENT = XMLHttpRequest.UNSENT; - _this.OPENED = XMLHttpRequest.OPENED; - _this.HEADERS_RECEIVED = XMLHttpRequest.HEADERS_RECEIVED; - _this.LOADING = XMLHttpRequest.LOADING; - _this.DONE = XMLHttpRequest.DONE; - _this.onreadystatechange = null; - _this.readyState = XMLHttpRequest.UNSENT; - _this.response = null; - _this.responseText = ''; - _this.responseType = ''; - _this.status = 0; // TODO: UNSENT? - _this.statusText = ''; - _this.timeout = 0; - _this.upload = new xml_http_request_upload_1.XMLHttpRequestUpload(); - _this.responseUrl = ''; - _this.withCredentials = false; - _this._method = null; - _this._url = null; - _this._sync = false; - _this._headers = {}; - _this._loweredHeaders = {}; - _this._mimeOverride = null; // TODO: is type right? - _this._request = null; - _this._response = null; - _this._responseParts = null; - _this._responseHeaders = null; - _this._aborting = null; // TODO: type? - _this._error = null; // TODO: type? - _this._loadedBytes = 0; - _this._totalBytes = 0; - _this._lengthComputable = false; - _this._restrictedMethods = { CONNECT: true, TRACE: true, TRACK: true }; - _this._restrictedHeaders = { - 'accept-charset': true, - 'accept-encoding': true, - 'access-control-request-headers': true, - 'access-control-request-method': true, - connection: true, - 'content-length': true, - cookie: true, - cookie2: true, - date: true, - dnt: true, - expect: true, - host: true, - 'keep-alive': true, - origin: true, - referer: true, - te: true, - trailer: true, - 'transfer-encoding': true, - upgrade: true, - 'user-agent': true, - via: true - }; - _this._privateHeaders = { 'set-cookie': true, 'set-cookie2': true }; - //Redacted private information (${os.type()} ${os.arch()}) node.js/${process.versions.node} v8/${process.versions.v8} from the original version @ github - //Pretend to be tor-browser https://blog.torproject.org/browser-fingerprinting-introduction-and-challenges-ahead/ - _this._userAgent = "Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0"; - _this._anonymous = options.anon || false; - return _this; - } - XMLHttpRequest.prototype.open = function (method, url, async, user, password) { - if (async === void 0) { async = true; } - method = method.toUpperCase(); - if (this._restrictedMethods[method]) { - throw new XMLHttpRequest.SecurityError("HTTP method " + method + " is not allowed in XHR"); - } - ; - var xhrUrl = this._parseUrl(url, user, password); - if (this.readyState === XMLHttpRequest.HEADERS_RECEIVED || this.readyState === XMLHttpRequest.LOADING) { - // TODO(pwnall): terminate abort(), terminate send() - } - this._method = method; - this._url = xhrUrl; - this._sync = !async; - this._headers = {}; - this._loweredHeaders = {}; - this._mimeOverride = null; - this._setReadyState(XMLHttpRequest.OPENED); - this._request = null; - this._response = null; - this.status = 0; - this.statusText = ''; - this._responseParts = []; - this._responseHeaders = null; - this._loadedBytes = 0; - this._totalBytes = 0; - this._lengthComputable = false; - }; - XMLHttpRequest.prototype.setRequestHeader = function (name, value) { - if (this.readyState !== XMLHttpRequest.OPENED) { - throw new XMLHttpRequest.InvalidStateError('XHR readyState must be OPENED'); - } - var loweredName = name.toLowerCase(); - if (this._restrictedHeaders[loweredName] || /^sec-/.test(loweredName) || /^proxy-/.test(loweredName)) { - console.warn("Refused to set unsafe header \"" + name + "\""); - return; - } - value = value.toString(); - if (this._loweredHeaders[loweredName] != null) { - name = this._loweredHeaders[loweredName]; - this._headers[name] = this._headers[name] + ", " + value; - } - else { - this._loweredHeaders[loweredName] = name; - this._headers[name] = value; - } - }; - XMLHttpRequest.prototype.send = function (data) { - if (this.readyState !== XMLHttpRequest.OPENED) { - throw new XMLHttpRequest.InvalidStateError('XHR readyState must be OPENED'); - } - if (this._request) { - throw new XMLHttpRequest.InvalidStateError('send() already called'); - } - switch (this._url.protocol) { - case 'file:': - return this._sendFile(data); - case 'http:': - case 'https:': - return this._sendHttp(data); - default: - throw new XMLHttpRequest.NetworkError("Unsupported protocol " + this._url.protocol); - } - }; - XMLHttpRequest.prototype.abort = function () { - if (this._request == null) { - return; - } - this._request.abort(); - this._setError(); - this._dispatchProgress('abort'); - this._dispatchProgress('loadend'); - }; - XMLHttpRequest.prototype.getResponseHeader = function (name) { - if (this._responseHeaders == null || name == null) { - return null; - } - var loweredName = name.toLowerCase(); - return this._responseHeaders.hasOwnProperty(loweredName) - ? this._responseHeaders[name.toLowerCase()] - : null; - }; - XMLHttpRequest.prototype.getAllResponseHeaders = function () { - var _this = this; - if (this._responseHeaders == null) { - return ''; - } - return Object.keys(this._responseHeaders).map(function (key) { return key + ": " + _this._responseHeaders[key]; }).join('\r\n'); - }; - XMLHttpRequest.prototype.overrideMimeType = function (mimeType) { - if (this.readyState === XMLHttpRequest.LOADING || this.readyState === XMLHttpRequest.DONE) { - throw new XMLHttpRequest.InvalidStateError('overrideMimeType() not allowed in LOADING or DONE'); - } - this._mimeOverride = mimeType.toLowerCase(); - }; - XMLHttpRequest.prototype.nodejsSet = function (options) { - this.nodejsHttpAgent = options.httpAgent || this.nodejsHttpAgent; - this.nodejsHttpsAgent = options.httpsAgent || this.nodejsHttpsAgent; - if (options.hasOwnProperty('baseUrl')) { - if (options.baseUrl != null) { - var parsedUrl = url.parse(options.baseUrl, false, true); - if (!parsedUrl.protocol) { - throw new XMLHttpRequest.SyntaxError("baseUrl must be an absolute URL"); - } - } - this.nodejsBaseUrl = options.baseUrl; - } - }; - XMLHttpRequest.nodejsSet = function (options) { - XMLHttpRequest.prototype.nodejsSet(options); - }; - XMLHttpRequest.prototype._setReadyState = function (readyState) { - this.readyState = readyState; - this.dispatchEvent(new progress_event_1.ProgressEvent('readystatechange')); - }; - XMLHttpRequest.prototype._sendFile = function (data) { - // TODO - throw new Error('Protocol file: not implemented'); - }; - XMLHttpRequest.prototype._sendHttp = function (data) { - if (this._sync) { - throw new Error('Synchronous XHR processing not implemented'); - } - if (data && (this._method === 'GET' || this._method === 'HEAD')) { - console.warn("Discarding entity body for " + this._method + " requests"); - data = null; - } - else { - data = data || ''; - } - this.upload._setData(data); - this._finalizeHeaders(); - this._sendHxxpRequest(); - }; - XMLHttpRequest.prototype._sendHxxpRequest = function () { - var _this = this; - if (this.withCredentials) { - var cookie = XMLHttpRequest.cookieJar - .getCookies(Cookie.CookieAccessInfo(this._url.hostname, this._url.pathname, this._url.protocol === 'https:')).toValueString(); - this._headers.cookie = this._headers.cookie2 = cookie; - } - var _a = this._url.protocol === 'http:' ? [http, this.nodejsHttpAgent] : [https, this.nodejsHttpsAgent], hxxp = _a[0], agent = _a[1]; - var requestMethod = hxxp.request.bind(hxxp); - var request = requestMethod({ - hostname: this._url.hostname, - port: +this._url.port, - path: this._url.path, - auth: this._url.auth, - method: this._method, - headers: this._headers, - agent: agent - }); - this._request = request; - if (this.timeout) { - request.setTimeout(this.timeout, function () { return _this._onHttpTimeout(request); }); - } - request.on('response', function (response) { return _this._onHttpResponse(request, response); }); - request.on('error', function (error) { return _this._onHttpRequestError(request, error); }); - this.upload._startUpload(request); - if (this._request === request) { - this._dispatchProgress('loadstart'); - } - }; - XMLHttpRequest.prototype._finalizeHeaders = function () { - this._headers = __assign({}, this._headers, { Connection: 'keep-alive', Host: this._url.host, 'User-Agent': this._userAgent }, this._anonymous ? { Referer: 'about:blank' } : {}); - this.upload._finalizeHeaders(this._headers, this._loweredHeaders); - }; - XMLHttpRequest.prototype._onHttpResponse = function (request, response) { - var _this = this; - if (this._request !== request) { - return; - } - if (this.withCredentials && (response.headers['set-cookie'] || response.headers['set-cookie2'])) { - XMLHttpRequest.cookieJar - .setCookies(response.headers['set-cookie'] || response.headers['set-cookie2']); - } - if ([301, 302, 303, 307, 308].indexOf(response.statusCode) >= 0) { - this._url = this._parseUrl(response.headers.location); - this._method = 'GET'; - if (this._loweredHeaders['content-type']) { - delete this._headers[this._loweredHeaders['content-type']]; - delete this._loweredHeaders['content-type']; - } - if (this._headers['Content-Type'] != null) { - delete this._headers['Content-Type']; - } - delete this._headers['Content-Length']; - this.upload._reset(); - this._finalizeHeaders(); - this._sendHxxpRequest(); - return; - } - this._response = response; - this._response.on('data', function (data) { return _this._onHttpResponseData(response, data); }); - this._response.on('end', function () { return _this._onHttpResponseEnd(response); }); - this._response.on('close', function () { return _this._onHttpResponseClose(response); }); - this.responseUrl = this._url.href.split('#')[0]; - this.status = response.statusCode; - this.statusText = http.STATUS_CODES[this.status]; - this._parseResponseHeaders(response); - var lengthString = this._responseHeaders['content-length'] || ''; - this._totalBytes = +lengthString; - this._lengthComputable = !!lengthString; - this._setReadyState(XMLHttpRequest.HEADERS_RECEIVED); - }; - XMLHttpRequest.prototype._onHttpResponseData = function (response, data) { - if (this._response !== response) { - return; - } - this._responseParts.push(Buffer.from(data)); - this._loadedBytes += data.length; - if (this.readyState !== XMLHttpRequest.LOADING) { - this._setReadyState(XMLHttpRequest.LOADING); - } - this._dispatchProgress('progress'); - }; - XMLHttpRequest.prototype._onHttpResponseEnd = function (response) { - if (this._response !== response) { - return; - } - this._parseResponse(); - this._request = null; - this._response = null; - this._setReadyState(XMLHttpRequest.DONE); - this._dispatchProgress('load'); - this._dispatchProgress('loadend'); - }; - XMLHttpRequest.prototype._onHttpResponseClose = function (response) { - if (this._response !== response) { - return; - } - var request = this._request; - this._setError(); - request.abort(); - this._setReadyState(XMLHttpRequest.DONE); - this._dispatchProgress('error'); - this._dispatchProgress('loadend'); - }; - XMLHttpRequest.prototype._onHttpTimeout = function (request) { - if (this._request !== request) { - return; - } - this._setError(); - request.abort(); - this._setReadyState(XMLHttpRequest.DONE); - this._dispatchProgress('timeout'); - this._dispatchProgress('loadend'); - }; - XMLHttpRequest.prototype._onHttpRequestError = function (request, error) { - if (this._request !== request) { - return; - } - this._setError(); - request.abort(); - this._setReadyState(XMLHttpRequest.DONE); - this._dispatchProgress('error'); - this._dispatchProgress('loadend'); - }; - XMLHttpRequest.prototype._dispatchProgress = function (eventType) { - var event = new XMLHttpRequest.ProgressEvent(eventType); - event.lengthComputable = this._lengthComputable; - event.loaded = this._loadedBytes; - event.total = this._totalBytes; - this.dispatchEvent(event); - }; - XMLHttpRequest.prototype._setError = function () { - this._request = null; - this._response = null; - this._responseHeaders = null; - this._responseParts = null; - }; - XMLHttpRequest.prototype._parseUrl = function (urlString, user, password) { - var absoluteUrl = this.nodejsBaseUrl == null ? urlString : url.resolve(this.nodejsBaseUrl, urlString); - var xhrUrl = url.parse(absoluteUrl, false, true); - xhrUrl.hash = null; - var _a = (xhrUrl.auth || '').split(':'), xhrUser = _a[0], xhrPassword = _a[1]; - if (xhrUser || xhrPassword || user || password) { - xhrUrl.auth = (user || xhrUser || '') + ":" + (password || xhrPassword || ''); - } - return xhrUrl; - }; - XMLHttpRequest.prototype._parseResponseHeaders = function (response) { - this._responseHeaders = {}; - for (var name_1 in response.headers) { - var loweredName = name_1.toLowerCase(); - if (this._privateHeaders[loweredName]) { - continue; - } - this._responseHeaders[loweredName] = response.headers[name_1]; - } - if (this._mimeOverride != null) { - this._responseHeaders['content-type'] = this._mimeOverride; - } - }; - XMLHttpRequest.prototype._parseResponse = function () { - var buffer = Buffer.concat(this._responseParts); - this._responseParts = null; - switch (this.responseType) { - case 'json': - this.responseText = null; - try { - this.response = JSON.parse(buffer.toString('utf-8')); - } - catch (_a) { - this.response = null; - } - return; - case 'buffer': - this.responseText = null; - this.response = buffer; - return; - case 'arraybuffer': - this.responseText = null; - var arrayBuffer = new ArrayBuffer(buffer.length); - var view = new Uint8Array(arrayBuffer); - for (var i = 0; i < buffer.length; i++) { - view[i] = buffer[i]; - } - this.response = arrayBuffer; - return; - case 'text': - default: - try { - this.responseText = buffer.toString(this._parseResponseEncoding()); - } - catch (_b) { - this.responseText = buffer.toString('binary'); - } - this.response = this.responseText; - } - }; - XMLHttpRequest.prototype._parseResponseEncoding = function () { - return /;\s*charset=(.*)$/.exec(this._responseHeaders['content-type'] || '')[1] || 'utf-8'; - }; - XMLHttpRequest.ProgressEvent = progress_event_1.ProgressEvent; - XMLHttpRequest.InvalidStateError = errors_1.InvalidStateError; - XMLHttpRequest.NetworkError = errors_1.NetworkError; - XMLHttpRequest.SecurityError = errors_1.SecurityError; - XMLHttpRequest.SyntaxError = errors_1.SyntaxError; - XMLHttpRequest.XMLHttpRequestUpload = xml_http_request_upload_1.XMLHttpRequestUpload; - XMLHttpRequest.UNSENT = 0; - XMLHttpRequest.OPENED = 1; - XMLHttpRequest.HEADERS_RECEIVED = 2; - XMLHttpRequest.LOADING = 3; - XMLHttpRequest.DONE = 4; - XMLHttpRequest.cookieJar = Cookie.CookieJar(); - return XMLHttpRequest; -}(xml_http_request_event_target_1.XMLHttpRequestEventTarget)); -exports.XMLHttpRequest = XMLHttpRequest; -XMLHttpRequest.prototype.nodejsHttpAgent = http.globalAgent; -XMLHttpRequest.prototype.nodejsHttpsAgent = https.globalAgent; -XMLHttpRequest.prototype.nodejsBaseUrl = null; -//# sourceMappingURL=xml-http-request.js.map \ No newline at end of file diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request.js.map b/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request.js.map deleted file mode 100644 index 3b63559..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/dist/xml-http-request.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"xml-http-request.js","sourceRoot":"","sources":["../xml-http-request.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/errors.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/errors.ts deleted file mode 100644 index a276ee3..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/errors.ts +++ /dev/null @@ -1,4 +0,0 @@ -export class SecurityError extends Error {} -export class InvalidStateError extends Error {} -export class NetworkError extends Error {} -export class SyntaxError extends Error {} diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/index.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/index.ts deleted file mode 100644 index 835197c..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './xml-http-request'; -export { XMLHttpRequestEventTarget } from './xml-http-request-event-target'; diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/package.json b/local_modules/web3-providers-http/local_modules/xhr2-cookies/package.json deleted file mode 100644 index 94c468a..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/package.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "xhr2-cookies", - "version": "1.1.0", - "author": "Ionut Costica ", - "license": "MIT", - "description": "XMLHttpRequest polyfill for node.js", - "repository": "git://github.com/souldreamer/xhr2-cookies.git", - "keywords": [ - "XMLHttpRequest", - "cookies", - "xhr2" - ], - "main": "dist/index.js", - "types": "dist/index.d.ts", - "dependencies": { - "cookiejar": "^2.1.1" - }, - "devDependencies": { - "@types/body-parser": "^1.16.8", - "@types/cookie-parser": "^1.4.1", - "@types/express": "^4.0.39", - "@types/morgan": "^1.7.35", - "@types/node": "^6", - "ava": "^0.23.0", - "ava-ts": "^0.23.0", - "body-parser": "^1.18.2", - "cookie-parser": "^1.4.3", - "express": "^4.16.2", - "morgan": "^1.9.0", - "ts-loader": "^2.3.4", - "ts-node": "^3.3.0", - "typescript": "^2.5.2", - "webpack": "^3.5.5" - }, - "scripts": { - "prepare": "tsc", - "test": "tsc -p ./test && ava-ts -v" - }, - "ava": { - "files": [ - "test/*.spec.ts" - ], - "source": [ - "*.ts", - "!dist/**/*" - ] - } -} diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/progress-event.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/progress-event.ts deleted file mode 100644 index ccc666f..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/progress-event.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { XMLHttpRequestEventTarget } from './xml-http-request-event-target'; - -export class ProgressEvent { - bubbles = false; - cancelable = false; - target: XMLHttpRequestEventTarget; - loaded = 0; - lengthComputable = false; - total = 0; - - constructor (public type: string) {} -} diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/cookies.spec.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/cookies.spec.ts deleted file mode 100644 index f67ace2..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/cookies.spec.ts +++ /dev/null @@ -1,59 +0,0 @@ -import * as ava from 'ava'; -import { XMLHttpRequest } from '../xml-http-request'; -import { HttpServer } from './helpers/server'; -import * as Cookie from 'cookiejar'; - -function contextualize(getContext: () => T): ava.RegisterContextual { - ava.test.beforeEach(t => { - Object.assign(t.context, getContext()); - }); - return ava.test; -} - -const test = contextualize(() => ({ - xhr: new XMLHttpRequest() -})); - -test.before(async () => { - await HttpServer.serverStarted; -}); - -test.beforeEach(t => { - t.context.xhr = new XMLHttpRequest(); - XMLHttpRequest.cookieJar = Cookie.CookieJar(); -}); - -test('XMLHttpRequest sets cookies and passes them on on redirect', async t => { - const xhr = t.context.xhr; - t.plan(1); - await new Promise(resolve => { - xhr.open('GET', `http://localhost:${HttpServer.port}/_/redirect-cookie/test/works`); - xhr.withCredentials = true; - xhr.onload = () => { - t.is(xhr.responseText, 'works'); - resolve(); - }; - xhr.send(); - }); -}); - -test('XMLHttpRequest sets cookies and uses them for subsequent calls', async t => { - let xhr = t.context.xhr; - t.plan(1); - await new Promise(resolve => { - xhr.open('GET', `http://localhost:${HttpServer.port}/_/set-cookie/second-test/works`); - xhr.withCredentials = true; - xhr.onload = resolve; - xhr.send(); - }); - xhr = new XMLHttpRequest(); - await new Promise(resolve => { - xhr.open('GET', `http://localhost:${HttpServer.port}/_/print-cookie/second-test`); - xhr.withCredentials = true; - xhr.onload = () => { - t.is(xhr.responseText, 'works'); - resolve(); - }; - xhr.send(); - }); -}); diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/event-target.spec.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/event-target.spec.ts deleted file mode 100644 index 1b937b6..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/event-target.spec.ts +++ /dev/null @@ -1,101 +0,0 @@ -import * as ava from 'ava'; -import { XMLHttpRequest } from '../xml-http-request'; -import { ProgressEvent } from '../progress-event'; - -function contextualize(getContext: () => T): ava.RegisterContextual { - ava.test.beforeEach(t => { - Object.assign(t.context, getContext()); - }); - return ava.test; -} - -const test = contextualize(() => ({ - xhr: new XMLHttpRequest(), - loadEvent: new ProgressEvent('load') -})); - -test.beforeEach(t => { - t.context.xhr = new XMLHttpRequest(); - t.context.loadEvent = new ProgressEvent('load'); -}); - -test('XMLHttpRequestEventTarget dispatchEvent works with a DOM0 listener', t => { - t.plan(1); - t.context.xhr.onload = () => t.pass(); - t.context.xhr.dispatchEvent(t.context.loadEvent); -}); - -test('XMLHttpRequestEventTarget dispatchEvent works with a DOM2 listener', t => { - t.plan(1); - t.context.xhr.addEventListener('load', () => t.pass()); - t.context.xhr.dispatchEvent(t.context.loadEvent); -}); - -test('XMLHttpRequestEventTarget dispatchEvent executes DOM2 listeners in order', t => { - t.plan(1); - let firstExecuted = false; - t.context.xhr.addEventListener('load', () => firstExecuted = true); - t.context.xhr.addEventListener('load', () => { - if (firstExecuted) { t.pass(); } - }); - t.context.xhr.dispatchEvent(t.context.loadEvent); -}); - -test('XMLHttpRequestEventTarget removes a DOM2 listener correctly', t => { - t.plan(1); - const listener = () => t.pass(); - t.context.xhr.addEventListener('load', listener); - t.context.xhr.dispatchEvent(t.context.loadEvent); - t.context.xhr.removeEventListener('load', listener); - t.context.xhr.dispatchEvent(t.context.loadEvent); -}); - -test('XMLHttpRequestEventTarget binds this correctly in a DOM0 listener', t => { - t.plan(1); - t.context.xhr.onload = function () { if (this === t.context.xhr) { t.pass(); } }; - t.context.xhr.dispatchEvent(t.context.loadEvent); -}); - -test('XMLHttpRequestEventTarget binds this correctly in a DOM2 listener', t => { - t.plan(1); - t.context.xhr.addEventListener('load', function () { if (this === t.context.xhr) { t.pass(); } }); - t.context.xhr.dispatchEvent(t.context.loadEvent); -}); - -test('XMLHttpRequestEventTarget sets target correctly in a DOM0 listener', t => { - t.plan(1); - t.context.xhr.onload = function (event) { if (event.target === t.context.xhr) { t.pass(); } }; - t.context.xhr.dispatchEvent(t.context.loadEvent); -}); - -test('XMLHttpRequestEventTarget sets target correctly in a DOM2 listener', t => { - t.plan(1); - t.context.xhr.addEventListener('load', function (event) { if (event.target === t.context.xhr) { t.pass(); } }); - t.context.xhr.dispatchEvent(t.context.loadEvent); -}); - -test('XMLHttpRequestEventTarget works with a DOM0 and two DOM2 listeners', t => { - t.plan(3); - t.context.xhr.addEventListener('load', () => t.pass()); - t.context.xhr.onload = () => t.pass(); - t.context.xhr.addEventListener('load', () => t.pass()); - t.context.xhr.dispatchEvent(t.context.loadEvent); -}); - -test('XMLHttpRequestEventTarget does not invoke a DOM0 listener for a different event', t => { - t.plan(0); - ['onerror', 'onloadstart', 'onprogress', 'onabort', 'ontimeout', 'onloadend'] - .forEach(eventType => t.context.xhr[eventType] = () => t.pass()); - t.context.xhr.dispatchEvent(t.context.loadEvent); -}); - -test('XMLHttpRequestEventTarget does not invoke a DOM2 listener for a different event', t => { - t.plan(0); - ['error', 'loadstart', 'progress', 'abort', 'timeout', 'loadend'] - .forEach(eventType => t.context.xhr.addEventListener(eventType, () => t.pass())); - t.context.xhr.dispatchEvent(t.context.loadEvent); -}); - -// TODO: -// * remove event listener from an event that had no listeners -// * remove non-existent event listener from an event that had listeners diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/events.spec.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/events.spec.ts deleted file mode 100644 index 4959181..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/events.spec.ts +++ /dev/null @@ -1,249 +0,0 @@ -import * as ava from 'ava'; -import { XMLHttpRequest } from '../xml-http-request'; -import { HttpServer } from './helpers/server'; - -function contextualize(getContext: () => T): ava.RegisterContextual { - ava.test.beforeEach(t => { - Object.assign(t.context, getContext()); - }); - return ava.test; -} - -const test = contextualize(() => ({ - xhr: new XMLHttpRequest(), - dripUrl: `http://localhost:${HttpServer.port}/_/drip`, - dripJson: {drips: 3, size: 1000, ms: 50, length: true}, -})); - -test.before(async () => { - await HttpServer.serverStarted; - - XMLHttpRequest.nodejsSet({ - baseUrl: HttpServer.testUrl().replace('https://', 'http://') - }); -}); - -test.beforeEach(t => { - t.context.xhr = new XMLHttpRequest(); -}); - -test('level 2 events for a successful fetch with Content-Length set', async t => { - let endFired = false; - let intermediateProgressFired = false; - const xhr = t.context.xhr; - - await new Promise(resolve => { - ['loadstart', 'progress', 'load', 'loadend', 'error', 'abort'].forEach(addCheckedEvent); - xhr.addEventListener('loadend', () => { - endFired = true; - resolve(); - }); - xhr.addEventListener('error', () => resolve()); - - xhr.open('POST', t.context.dripUrl); - xhr.send(JSON.stringify(t.context.dripJson)); - }); - - t.true(intermediateProgressFired, 'at least one intermediate progress event was fired'); - - function addCheckedEvent(eventType: string) { - xhr.addEventListener(eventType, event => { - t.is(event.type, eventType, `event type is ${eventType}`); - t.is(event.target, xhr, 'event has correct target'); - t.false(endFired, 'end is not fired'); - t.false(event.bubbles, 'event does not bubble'); - t.false(event.cancelable, 'event is not cancelable'); - - switch (eventType) { - case 'loadstart': - t.is(event.loaded, 0, 'on loadstart loaded = 0'); - t.false(event.lengthComputable, 'on loadstart length is not computable'); - t.is(event.total, 0, 'on loadstart event total is 0'); - break; - case 'load': - case 'loadend': - t.is(event.loaded, 3000, 'on load/loadend loaded = 3000'); - t.true(event.lengthComputable, 'on load/loadend length is computable'); - t.is(event.total, 3000, 'on load/loadend event total is 0'); - break; - case 'progress': - t.true(event.loaded >= 0, 'on progress: loaded >= 0'); - t.true(event.loaded <= 3000, 'on progress: loaded <= 3000'); - if (event.lengthComputable) { - t.is(event.total, 3000, 'on progress event when length is computable total is 3000'); - } else { - t.is(event.total, 0, 'on progress event when length is not computable total is 0'); - } - if (event.loaded > 0 && event.loaded < 3000) { intermediateProgressFired = true; } - break; - } - }) - } -}); - -test('level 2 events for a successful fetch without Content-Length set', async t => { - let endFired = false; - let intermediateProgressFired = false; - const xhr = t.context.xhr; - t.context.dripJson = {...t.context.dripJson, length: false}; - - await new Promise(resolve => { - ['loadstart', 'progress', 'load', 'loadend', 'error', 'abort'].forEach(addCheckedEvent); - xhr.addEventListener('loadend', () => { - endFired = true; - resolve(); - }); - - xhr.open('POST', t.context.dripUrl); - xhr.send(JSON.stringify(t.context.dripJson)); - }); - - t.true(intermediateProgressFired, 'at least one intermediate progress event was fired'); - - function addCheckedEvent(eventType: string) { - xhr.addEventListener(eventType, event => { - t.is(event.type, eventType, `event type is ${eventType}`); - t.is(event.target, xhr, 'event has correct target'); - t.false(endFired, 'end is not fired'); - t.false(event.bubbles, 'event does not bubble'); - t.false(event.cancelable, 'event is not cancelable'); - t.false(event.lengthComputable, 'length is not computable'); - t.is(event.total, 0, 'when length is not computable total is 0'); - - switch (eventType) { - case 'loadstart': - t.is(event.loaded, 0, 'on loadstart loaded = 0'); - break; - case 'load': - case 'loadend': - t.is(event.loaded, 3000, 'on load/loadend loaded = 3000'); - break; - case 'progress': - t.true(event.loaded >= 0, 'on progress: loaded >= 0'); - t.true(event.loaded <= 3000, 'on progress: loaded <= 3000'); - if (event.loaded > 0 && event.loaded < 3000) { intermediateProgressFired = true; } - break; - } - }) - } -}); - -test('level 2 events for a network error due to bad DNS', async t => { - let errorFired = false; - const xhr = t.context.xhr; - - await new Promise(resolve => { - ['loadstart', 'progress', 'load', 'loadend', 'error', 'abort'].forEach(addCheckedEvent); - xhr.addEventListener('loadend', () => resolve()); - - xhr.open('GET', 'https://broken.to.cause.an.xhrnetworkerror.com.a.com'); - xhr.send(); - }); - - t.true(errorFired, 'an error event was fired'); - - function addCheckedEvent(eventType: string) { - xhr.addEventListener(eventType, () => { - switch (eventType) { - case 'load': - case 'progress': - t.fail(); - break; - case 'error': - errorFired = true; - break; - } - }) - } -}); - -test('readystatechange for a successful fetch with Content-Length set', async t => { - let doneFired = false; - const xhr = t.context.xhr; - const states = []; - - await new Promise(resolve => { - xhr.addEventListener('readystatechange', event => { - t.is(event.type, 'readystatechange', 'event type is correct'); - t.false(doneFired, 'no readystatechange events after DONE'); - t.is(event.target, xhr, 'event has correct target'); - t.false(event.bubbles, 'event does not bubble'); - t.false(event.cancelable, 'event is not cancelable'); - - states.push((event.target as XMLHttpRequest).readyState); - if ((event.target as XMLHttpRequest).readyState === XMLHttpRequest.DONE) { - doneFired = true; - resolve(); - } - }); - xhr.open('POST', t.context.dripUrl); - xhr.send(JSON.stringify(t.context.dripJson)); - }); - - t.deepEqual(states, [ - XMLHttpRequest.OPENED, - XMLHttpRequest.HEADERS_RECEIVED, - XMLHttpRequest.LOADING, - XMLHttpRequest.DONE - ], 'right order of ready states'); -}); - -test('readystatechange for a successful fetch without Content-Length set', async t => { - let doneFired = false; - const xhr = t.context.xhr; - const states = []; - t.context.dripJson = {...t.context.dripJson, length: false}; - - await new Promise(resolve => { - xhr.addEventListener('readystatechange', event => { - t.is(event.type, 'readystatechange', 'event type is correct'); - t.false(doneFired, 'no readystatechange events after DONE'); - t.is(event.target, xhr, 'event has correct target'); - t.false(event.bubbles, 'event does not bubble'); - t.false(event.cancelable, 'event is not cancelable'); - t.false(event.lengthComputable, 'length is not computable'); - t.is(event.total, 0, 'when length is not computable total is 0'); - - states.push((event.target as XMLHttpRequest).readyState); - if ((event.target as XMLHttpRequest).readyState === XMLHttpRequest.DONE) { - doneFired = true; - resolve(); - } - }); - xhr.open('POST', t.context.dripUrl); - xhr.send(JSON.stringify(t.context.dripJson)); - }); - - t.deepEqual(states, [ - XMLHttpRequest.OPENED, - XMLHttpRequest.HEADERS_RECEIVED, - XMLHttpRequest.LOADING, - XMLHttpRequest.DONE - ], 'right order of ready states'); -}); - -test('readystatechange for a network error due to bad DNS', async t => { - const xhr = t.context.xhr; - const states = []; - - await new Promise(resolve => { - xhr.addEventListener('readystatechange', event => { - t.is(event.type, 'readystatechange', 'event type is correct'); - t.is(event.target, xhr, 'event has correct target'); - t.false(event.bubbles, 'event does not bubble'); - t.false(event.cancelable, 'event is not cancelable'); - - states.push((event.target as XMLHttpRequest).readyState); - if ((event.target as XMLHttpRequest).readyState === XMLHttpRequest.DONE) { - resolve(); - } - }); - xhr.open('GET', 'https://broken.to.cause.an.xhrnetworkerror.com.a.com'); - xhr.send(); - }); - - t.deepEqual(states, [ - XMLHttpRequest.OPENED, - XMLHttpRequest.DONE - ], 'right order of ready states'); -}); diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/fixtures/hello.png b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/fixtures/hello.png deleted file mode 100644 index 3cf27f47d2f6feba4ef91b8eba997329bf447d58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2s6ii6yp7}lMWc?smOq&xaLGB9lH z=l+w(3gmMZctjR6Fz_7)VaDV6D^h@hJf1F&Arj%q2?+@xEewn?Xa8pcSqz@8elF{r G5}E*=o*MH2 diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/headers.spec.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/headers.spec.ts deleted file mode 100644 index 8ddc2f7..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/headers.spec.ts +++ /dev/null @@ -1,189 +0,0 @@ -import * as ava from 'ava'; -import { XMLHttpRequest } from '../xml-http-request'; -import { HttpServer } from './helpers/server'; - -function contextualize(getContext: () => T): ava.RegisterContextual { - ava.test.beforeEach(t => { - Object.assign(t.context, getContext()); - }); - return ava.test; -} - -const test = contextualize(() => ({ - xhr: new XMLHttpRequest() -})); - -test.before(async () => { - await HttpServer.serverStarted; - - XMLHttpRequest.nodejsSet({ - baseUrl: HttpServer.testUrl().replace('https://', 'http://') - }); -}); - -test.beforeEach(t => { - t.context.xhr = new XMLHttpRequest(); -}); - -test('#setRequestHeader with allowed headers should send the headers', async t => { - const xhr = t.context.xhr; - xhr.open('POST', `http://localhost:${HttpServer.port}/_/headers`); - xhr.responseType = 'text'; - - xhr.setRequestHeader('Authorization', 'lol'); - xhr.setRequestHeader('X-Answer', '42'); - xhr.setRequestHeader('X-Header-Name', 'value'); - - await new Promise(resolve => { - xhr.onload = () => { - t.regex(xhr.responseText, /^\{.*\}$/, 'response text looks like JSON'); - const headers = JSON.parse(xhr.responseText); - t.true(headers.hasOwnProperty('authorization'), 'headers have authorization header'); - t.is(headers.authorization, 'lol', 'authorization header is correct'); - t.true(headers.hasOwnProperty('x-answer'), 'headers have x-answer header'); - t.is(headers['x-answer'], '42', 'x-answer header is correct'); - t.true(headers.hasOwnProperty('x-header-name'), 'headers have x-header-name header'); - t.is(headers['x-header-name'], 'value', 'x-header-name header is correct'); - resolve(); - }; - xhr.send(''); - }); -}); - -test('#setRequestHeader with a mix of allowed and forbidden headers should only send the allowed headers', async t => { - const xhr = t.context.xhr; - xhr.open('POST', `http://localhost:${HttpServer.port}/_/headers`); - xhr.responseType = 'text'; - - xhr.setRequestHeader('Authorization', 'lol'); - xhr.setRequestHeader('Proxy-Authorization', 'evil:kitten'); - xhr.setRequestHeader('Sec-Breach', 'yes please'); - xhr.setRequestHeader('Host', 'www.google.com'); - xhr.setRequestHeader('Origin', 'https://www.google.com'); - xhr.setRequestHeader('X-Answer', '42'); - - await new Promise(resolve => { - xhr.onload = () => { - t.regex(xhr.responseText, /^\{.*\}$/, 'response text looks like JSON'); - const headers = JSON.parse(xhr.responseText); - t.true(headers.hasOwnProperty('authorization'), 'headers have authorization header'); - t.is(headers['authorization'], 'lol', 'authorization header is correct'); - t.false(headers.hasOwnProperty('proxy-authorization'), 'headers do not have proxy-authorization header'); - t.false(headers.hasOwnProperty('sec-breach'), 'headers do not have sec-breach header'); - t.notRegex(headers['origin'] || '', /www\.google\.com/, 'header "origin" should not contain www.google.com'); - t.notRegex(headers['host'] || '', /www\.google\.com/, 'header "host" should not contain www.google.com'); - t.true(headers.hasOwnProperty('x-answer'), 'headers have x-answer header'); - t.is(headers['x-answer'], '42', 'x-answer header is correct'); - resolve(); - }; - xhr.send(''); - }); -}); - -test('#setRequestHeader with repeated headers should send all headers', async t => { - const xhr = t.context.xhr; - xhr.open('POST', `http://localhost:${HttpServer.port}/_/headers`); - xhr.responseType = 'text'; - - xhr.setRequestHeader('Authorization', 'troll'); - xhr.setRequestHeader('Authorization', 'lol'); - xhr.setRequestHeader('Authorization', 'lol'); - xhr.setRequestHeader('X-Answer', '42'); - - await new Promise(resolve => { - xhr.onload = () => { - t.regex(xhr.responseText, /^\{.*\}$/, 'response text looks like JSON'); - const headers = JSON.parse(xhr.responseText); - t.true(headers.hasOwnProperty('authorization'), 'headers have authorization header'); - t.is(headers['authorization'], 'troll, lol, lol', 'authorization header is correct'); - t.true(headers.hasOwnProperty('x-answer'), 'headers have x-answer header'); - t.is(headers['x-answer'], '42', 'x-answer header is correct'); - resolve(); - }; - xhr.send(''); - }); -}); - -test('#setRequestHeader with no headers should set the protected headers correctly', async t => { - const xhr = t.context.xhr; - xhr.open('POST', `http://localhost:${HttpServer.port}/_/headers`); - xhr.responseType = 'text'; - - xhr.setRequestHeader('Authorization', 'troll'); - xhr.setRequestHeader('Authorization', 'lol'); - xhr.setRequestHeader('Authorization', 'lol'); - xhr.setRequestHeader('X-Answer', '42'); - - await new Promise(resolve => { - xhr.onload = () => { - t.regex(xhr.responseText, /^\{.*\}$/, 'response text looks like JSON'); - const headers = JSON.parse(xhr.responseText); - t.true(headers.hasOwnProperty('connection'), 'headers have connection header'); - t.is(headers['connection'], 'keep-alive', 'connection header is correct'); - t.true(headers.hasOwnProperty('host'), 'headers have host header'); - t.is(headers['host'], `localhost:${HttpServer.port}`, 'host header is correct'); - t.true(headers.hasOwnProperty('user-agent'), 'headers have user-agent header'); - t.regex(headers['user-agent'], /^Mozilla\//, 'user-agent header is correct'); - resolve(); - }; - xhr.send(''); - }); -}); - -test('#getResponseHeader returns accessible headers, returns null for private headers, has headers on HEADERS_RECEIVED readyState', async t => { - const xhr = t.context.xhr; - xhr.open('POST', `http://localhost:${HttpServer.port}/_/get-headers`); - const headerJson = `{ - "Accept-Ranges": "bytes", - "Content-Type": "application/xhr2; charset=utf-1337", - "Set-Cookie": "UserID=JohnDoe; Max-Age=3600; Version=1", - "X-Header": "one, more, value" - }`; - - await new Promise(resolve => { - xhr.onloadend = () => { - t.is(xhr.getResponseHeader('AccEPt-RANgeS'), 'bytes', 'AccEPt-RANgeS works correctly'); - t.is(xhr.getResponseHeader('content-Type'), 'application/xhr2; charset=utf-1337', 'content-Type works correctly'); - t.is(xhr.getResponseHeader('X-Header'), 'one, more, value', 'X-Header works correctly'); - t.is(xhr.getResponseHeader('set-cookie'), null, 'set-cookie works correctly'); - resolve(); - }; - xhr.onreadystatechange = () => { - if (xhr.readyState !== XMLHttpRequest.HEADERS_RECEIVED) { return; } - t.is(xhr.getResponseHeader('AccEPt-RANgeS'), 'bytes', 'AccEPt-RANgeS works correctly when HEADERS_RECEIVED ready state'); - }; - xhr.send(headerJson); - }); -}); - -test('#getAllResponseHeaders contains accessible headers, does not contain private headers, has headers on HEADERS_RECEIVED readyState', async t => { - const xhr = t.context.xhr; - xhr.open('POST', `http://localhost:${HttpServer.port}/_/get-headers`); - const headerJson = `{ - "Accept-Ranges": "bytes", - "Content-Type": "application/xhr2; charset=utf-1337", - "Set-Cookie": "UserID=JohnDoe; Max-Age=3600; Version=1", - "X-Header": "one, more, value" - }`; - - await new Promise(resolve => { - xhr.onloadend = () => { - const headers = xhr.getAllResponseHeaders(); - t.regex(headers, /(\A|\r\n)accept-ranges: bytes(\r\n|\Z)/mi); - t.regex(headers, /(\A|\r\n)content-type: application\/xhr2; charset=utf-1337(\r\n|\Z)/mi); - t.regex(headers, /(\A|\r\n)X-Header: one, more, value(\r\n|\Z)/mi); - t.notRegex(headers, /(\A|\r\n)set-cookie:/mi); - resolve(); - }; - xhr.onreadystatechange = () => { - if (xhr.readyState !== XMLHttpRequest.HEADERS_RECEIVED) { return; } - const headers = xhr.getAllResponseHeaders(); - t.regex(headers, /(\A|\r\n)accept-ranges: bytes(\r\n|\Z)/mi); - }; - xhr.send(headerJson); - }); -}); - -// TODO: -// * set request header after request opened should throw InvalidStateError -// * diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/certificate.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/certificate.ts deleted file mode 100644 index 5d1c002..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/certificate.ts +++ /dev/null @@ -1,50 +0,0 @@ -export const certificate = `-----BEGIN CERTIFICATE----- -MIIDXjCCAkYCCQCgZ4DViKxZtTANBgkqhkiG9w0BAQsFADBxMQswCQYDVQQGEwJS -TzELMAkGA1UECAwCVE0xCzAJBgNVBAcMAlhYMQwwCgYDVQQKDANYWFgxDTALBgNV -BAsMBFhYWFgxEjAQBgNVBAMMCWxvY2FsaG9zdDEXMBUGCSqGSIb3DQEJARYIWEBY -WC5YWFgwHhcNMTcxMTEzMTQzMTE2WhcNMjAwOTAyMTQzMTE2WjBxMQswCQYDVQQG -EwJSTzELMAkGA1UECAwCVE0xCzAJBgNVBAcMAlhYMQwwCgYDVQQKDANYWFgxDTAL -BgNVBAsMBFhYWFgxEjAQBgNVBAMMCWxvY2FsaG9zdDEXMBUGCSqGSIb3DQEJARYI -WEBYWC5YWFgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyJ+21siOW -oRkgVSpQMaUAw/R54GG98k9IEMQnGBoD7HlnX4avgz0fNaA/xNdQuKVZqR0oshCx -6ks6mX4z/nYHh4SNmQVmAH7mJnT5aqHVs4OplVU5ZmZNsBx7+7JEFk64G7k011rI -76MVjLrNYJSTlgrtYOcNJle6awCwmI2nsrHSJJeyMVOGUK8H9RDzsPPZIQS0u4wJ -P8mIAoln/mpgP5I2lNTM2FaokmQq4mEYErUsWf+DhSlmnbZFxt5V3r/xHWVrouig -RsjhFxoGRg3p0HoUR79Rc8LqbbMtibh1qSkXcHjue1rBcSYurQNPzdbf3R4WuUyb -lxhui0rfu8fFAgMBAAEwDQYJKoZIhvcNAQELBQADggEBABphKcUJbdEhUpWF4EZE -BBl/uzE4/WXtQZdgz3fGpvpzmXZBRtbkdPR3jxBW1c9asCfb366dXRb8im6/p6ae -sAxZINMKIQ8KCIEb+StVMc4MvxASMm1SSz/kFuTCA2Q8vD5sHJrFcoKk6HKNEOLu -dALKpO8ZDuxjv036sCnjfyDue9psSccsLuAhfr2NLL5Ky9lWrJFi3b35D5UHrlK/ -9mb9izRgZSC9+sZgpSyvIK6idKoWB4s9RpCn8itucFHHUDOvv8DdwvsF/5iVyWz7 -R5uR4/qA8k7lbHHLosu2ELyx3N6Go0AskjxzsONPOKNlGIDllTx21mkIvTkGlJgs -8/4= ------END CERTIFICATE----- -`; -export const key = `-----BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAsifttbIjlqEZIFUqUDGlAMP0eeBhvfJPSBDEJxgaA+x5Z1+G -r4M9HzWgP8TXULilWakdKLIQsepLOpl+M/52B4eEjZkFZgB+5iZ0+Wqh1bODqZVV -OWZmTbAce/uyRBZOuBu5NNdayO+jFYy6zWCUk5YK7WDnDSZXumsAsJiNp7Kx0iSX -sjFThlCvB/UQ87Dz2SEEtLuMCT/JiAKJZ/5qYD+SNpTUzNhWqJJkKuJhGBK1LFn/ -g4UpZp22RcbeVd6/8R1la6LooEbI4RcaBkYN6dB6FEe/UXPC6m2zLYm4dakpF3B4 -7ntawXEmLq0DT83W390eFrlMm5cYbotK37vHxQIDAQABAoIBAEUu8EbA2MUj5kgC -Cp59yN/VONkjY5GJyXPo3uN3npKrgDG+jOUXh+LYxlQ9MogsTDnXTHWDQKx2maQ1 -+yZhyJ//5l++brQ/uQfTI1XALPx568UtMp1JwKymmUkkYwPBzev9CB0XDDA/rwst -TVV4DfqKJ9Aq807N9v9zkh8B/vCB9Ecvfco7Q2+AgrsLoaUDR9IwbiQXLqrqLA/F -tXh29Okwt7A3cv2C7Yd0rWyZLJi5iyH/lzcu33xGfaIAeN0fHtefKEhPU/yS69VM -9HbdDC44h0/psNyBt0dlrUYx32oYzF8EV4brrqcZTVUJNfCEqA16nTMKSmCJQdR8 -nPJCRYECgYEA3U/0MyNDVa/OphEcBGLnXhRBeBGTGIP768gkn0Fw3Fgk1v6eqfKb -JqBujdgJjxbebo32OZeRLw92RBsfNY5IyIwVUKgZbtNkysgf612IhNoeBF7Ljz3r -BbSq3gwOHuUszCjO8/SjQn9bRLxVifrRD04SdHudMN4V2g98yoBBEdUCgYEAzhRZ -BWdOlLG2gAa8waPeuHUkwGU4zKly3zLSnbNvJJJ/wSTbuGmPQhLcWXq27gepHzZf -fvVJbpHrLHksh3fwdPusmygXD/s0gxMQJqJJledk1GEUnPjuuAImKvmeJWyX5lGq -APMh+M5ZB6CBu1dqapAs7nkOLCsSDGatRwc65jECgYBGI2q/MjPK2jbhxpZchYPR -+xVsmhVGNb4HUZzZpAHCs2SphnR+Y9br/PhMl+Ufph3EZ9VbFz/57CqNFxNjA77p -YAv5Te0RhIlzAs2q6C+1+vJ8bBaTRQpQ+psUWDm5bOQvp9c+1Y9QKdChDhcF7amH -8jRDGlINBLVkMHhaLR9yKQKBgQDIBfH+D66zHucPzvpJTYAxM+qvH9CIvfP0doT9 -cptvOQ7tbpQho7vcGyhrZXPHCAJ8fC8msHhM7S8B5L924dCwC1QW6UuxRFdM3iTw -Ctc3u/gfN/dlAS3bxqI7VjvNAWFSuXM0JsmTkN3TTFR/fTKaKkSiVzeNYWTMSqDn -bzoZEQKBgFZcAbn2h86jYJ2tcznBriLI8rZBkPL9MFP4QM2Ksz5/8fsJ84EPsatg -700S1yasmDwaOgBLtSKsy7Rju5E3nebaPgLw3x92LiI07F97p2Y5ftSbRgslaih4 -fDBm/C82anx0q9s4psw1oNnYj20c+imPIWvM7A0W85kmqcmQvzwZ ------END RSA PRIVATE KEY----- -`; diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/generate.sh b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/generate.sh deleted file mode 100644 index 5cd3ec7..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/generate.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -rm localhost.key.pem localhost.cert.pem -openssl req -nodes -newkey rsa:2048 -keyout localhost.key2.pem -x509 -days 1024 -out localhost.cert.pem -openssl rsa -in localhost.key2.pem -out localhost.key.pem diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/localhost.cert.pem b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/localhost.cert.pem deleted file mode 100644 index 516c42a..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/localhost.cert.pem +++ /dev/null @@ -1,21 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDXjCCAkYCCQCgZ4DViKxZtTANBgkqhkiG9w0BAQsFADBxMQswCQYDVQQGEwJS -TzELMAkGA1UECAwCVE0xCzAJBgNVBAcMAlhYMQwwCgYDVQQKDANYWFgxDTALBgNV -BAsMBFhYWFgxEjAQBgNVBAMMCWxvY2FsaG9zdDEXMBUGCSqGSIb3DQEJARYIWEBY -WC5YWFgwHhcNMTcxMTEzMTQzMTE2WhcNMjAwOTAyMTQzMTE2WjBxMQswCQYDVQQG -EwJSTzELMAkGA1UECAwCVE0xCzAJBgNVBAcMAlhYMQwwCgYDVQQKDANYWFgxDTAL -BgNVBAsMBFhYWFgxEjAQBgNVBAMMCWxvY2FsaG9zdDEXMBUGCSqGSIb3DQEJARYI -WEBYWC5YWFgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyJ+21siOW -oRkgVSpQMaUAw/R54GG98k9IEMQnGBoD7HlnX4avgz0fNaA/xNdQuKVZqR0oshCx -6ks6mX4z/nYHh4SNmQVmAH7mJnT5aqHVs4OplVU5ZmZNsBx7+7JEFk64G7k011rI -76MVjLrNYJSTlgrtYOcNJle6awCwmI2nsrHSJJeyMVOGUK8H9RDzsPPZIQS0u4wJ -P8mIAoln/mpgP5I2lNTM2FaokmQq4mEYErUsWf+DhSlmnbZFxt5V3r/xHWVrouig -RsjhFxoGRg3p0HoUR79Rc8LqbbMtibh1qSkXcHjue1rBcSYurQNPzdbf3R4WuUyb -lxhui0rfu8fFAgMBAAEwDQYJKoZIhvcNAQELBQADggEBABphKcUJbdEhUpWF4EZE -BBl/uzE4/WXtQZdgz3fGpvpzmXZBRtbkdPR3jxBW1c9asCfb366dXRb8im6/p6ae -sAxZINMKIQ8KCIEb+StVMc4MvxASMm1SSz/kFuTCA2Q8vD5sHJrFcoKk6HKNEOLu -dALKpO8ZDuxjv036sCnjfyDue9psSccsLuAhfr2NLL5Ky9lWrJFi3b35D5UHrlK/ -9mb9izRgZSC9+sZgpSyvIK6idKoWB4s9RpCn8itucFHHUDOvv8DdwvsF/5iVyWz7 -R5uR4/qA8k7lbHHLosu2ELyx3N6Go0AskjxzsONPOKNlGIDllTx21mkIvTkGlJgs -8/4= ------END CERTIFICATE----- diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/localhost.key.pem b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/localhost.key.pem deleted file mode 100644 index cc68c48..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/localhost.key.pem +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAsifttbIjlqEZIFUqUDGlAMP0eeBhvfJPSBDEJxgaA+x5Z1+G -r4M9HzWgP8TXULilWakdKLIQsepLOpl+M/52B4eEjZkFZgB+5iZ0+Wqh1bODqZVV -OWZmTbAce/uyRBZOuBu5NNdayO+jFYy6zWCUk5YK7WDnDSZXumsAsJiNp7Kx0iSX -sjFThlCvB/UQ87Dz2SEEtLuMCT/JiAKJZ/5qYD+SNpTUzNhWqJJkKuJhGBK1LFn/ -g4UpZp22RcbeVd6/8R1la6LooEbI4RcaBkYN6dB6FEe/UXPC6m2zLYm4dakpF3B4 -7ntawXEmLq0DT83W390eFrlMm5cYbotK37vHxQIDAQABAoIBAEUu8EbA2MUj5kgC -Cp59yN/VONkjY5GJyXPo3uN3npKrgDG+jOUXh+LYxlQ9MogsTDnXTHWDQKx2maQ1 -+yZhyJ//5l++brQ/uQfTI1XALPx568UtMp1JwKymmUkkYwPBzev9CB0XDDA/rwst -TVV4DfqKJ9Aq807N9v9zkh8B/vCB9Ecvfco7Q2+AgrsLoaUDR9IwbiQXLqrqLA/F -tXh29Okwt7A3cv2C7Yd0rWyZLJi5iyH/lzcu33xGfaIAeN0fHtefKEhPU/yS69VM -9HbdDC44h0/psNyBt0dlrUYx32oYzF8EV4brrqcZTVUJNfCEqA16nTMKSmCJQdR8 -nPJCRYECgYEA3U/0MyNDVa/OphEcBGLnXhRBeBGTGIP768gkn0Fw3Fgk1v6eqfKb -JqBujdgJjxbebo32OZeRLw92RBsfNY5IyIwVUKgZbtNkysgf612IhNoeBF7Ljz3r -BbSq3gwOHuUszCjO8/SjQn9bRLxVifrRD04SdHudMN4V2g98yoBBEdUCgYEAzhRZ -BWdOlLG2gAa8waPeuHUkwGU4zKly3zLSnbNvJJJ/wSTbuGmPQhLcWXq27gepHzZf -fvVJbpHrLHksh3fwdPusmygXD/s0gxMQJqJJledk1GEUnPjuuAImKvmeJWyX5lGq -APMh+M5ZB6CBu1dqapAs7nkOLCsSDGatRwc65jECgYBGI2q/MjPK2jbhxpZchYPR -+xVsmhVGNb4HUZzZpAHCs2SphnR+Y9br/PhMl+Ufph3EZ9VbFz/57CqNFxNjA77p -YAv5Te0RhIlzAs2q6C+1+vJ8bBaTRQpQ+psUWDm5bOQvp9c+1Y9QKdChDhcF7amH -8jRDGlINBLVkMHhaLR9yKQKBgQDIBfH+D66zHucPzvpJTYAxM+qvH9CIvfP0doT9 -cptvOQ7tbpQho7vcGyhrZXPHCAJ8fC8msHhM7S8B5L924dCwC1QW6UuxRFdM3iTw -Ctc3u/gfN/dlAS3bxqI7VjvNAWFSuXM0JsmTkN3TTFR/fTKaKkSiVzeNYWTMSqDn -bzoZEQKBgFZcAbn2h86jYJ2tcznBriLI8rZBkPL9MFP4QM2Ksz5/8fsJ84EPsatg -700S1yasmDwaOgBLtSKsy7Rju5E3nebaPgLw3x92LiI07F97p2Y5ftSbRgslaih4 -fDBm/C82anx0q9s4psw1oNnYj20c+imPIWvM7A0W85kmqcmQvzwZ ------END RSA PRIVATE KEY----- diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/localhost.key2.pem b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/localhost.key2.pem deleted file mode 100644 index 91afc9c..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/certificates/localhost.key2.pem +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCyJ+21siOWoRkg -VSpQMaUAw/R54GG98k9IEMQnGBoD7HlnX4avgz0fNaA/xNdQuKVZqR0oshCx6ks6 -mX4z/nYHh4SNmQVmAH7mJnT5aqHVs4OplVU5ZmZNsBx7+7JEFk64G7k011rI76MV -jLrNYJSTlgrtYOcNJle6awCwmI2nsrHSJJeyMVOGUK8H9RDzsPPZIQS0u4wJP8mI -Aoln/mpgP5I2lNTM2FaokmQq4mEYErUsWf+DhSlmnbZFxt5V3r/xHWVrouigRsjh -FxoGRg3p0HoUR79Rc8LqbbMtibh1qSkXcHjue1rBcSYurQNPzdbf3R4WuUyblxhu -i0rfu8fFAgMBAAECggEARS7wRsDYxSPmSAIKnn3I39U42SNjkYnJc+je43eekquA -Mb6M5ReH4tjGVD0yiCxMOddMdYNArHaZpDX7JmHIn//mX75utD+5B9MjVcAs/Hnr -xS0ynUnArKaZSSRjA8HN6/0IHRcMMD+vCy1NVXgN+oon0CrzTs32/3OSHwH+8IH0 -Ry99yjtDb4CCuwuhpQNH0jBuJBcuquosD8W1eHb06TC3sDdy/YLth3StbJksmLmL -If+XNy7ffEZ9ogB43R8e158oSE9T/JLr1Uz0dt0MLjiHT+mw3IG3R2WtRjHfahjM -XwRXhuuupxlNVQk18ISoDXqdMwpKYIlB1Hyc8kJFgQKBgQDdT/QzI0NVr86mERwE -YudeFEF4EZMYg/vryCSfQXDcWCTW/p6p8psmoG6N2AmPFt5ujfY5l5EvD3ZEGx81 -jkjIjBVQqBlu02TKyB/rXYiE2h4EXsuPPesFtKreDA4e5SzMKM7z9KNCf1tEvFWJ -+tEPThJ0e50w3hXaD3zKgEER1QKBgQDOFFkFZ06UsbaABrzBo964dSTAZTjMqXLf -MtKds28kkn/BJNu4aY9CEtxZerbuB6kfNl9+9UlukesseSyHd/B0+6ybKBcP+zSD -ExAmokmV52TUYRSc+O64AiYq+Z4lbJfmUaoA8yH4zlkHoIG7V2pqkCzueQ4sKxIM -Zq1HBzrmMQKBgEYjar8yM8raNuHGllyFg9H7FWyaFUY1vgdRnNmkAcKzZKmGdH5j -1uv8+EyX5R+mHcRn1VsXP/nsKo0XE2MDvulgC/lN7RGEiXMCzaroL7X68nxsFpNF -ClD6mxRYObls5C+n1z7Vj1Ap0KEOFwXtqYfyNEMaUg0EtWQweFotH3IpAoGBAMgF -8f4PrrMe5w/O+klNgDEz6q8f0Ii98/R2hP1ym285Du1ulCGju9wbKGtlc8cIAnx8 -LyaweEztLwHkv3bh0LALVBbpS7FEV0zeJPAK1ze7+B8392UBLdvGojtWO80BYVK5 -czQmyZOQ3dNMVH99MpoqRKJXN41hZMxKoOdvOhkRAoGAVlwBufaHzqNgna1zOcGu -IsjytkGQ8v0wU/hAzYqzPn/x+wnzgQ+xq2DvTRLXJqyYPBo6AEu1IqzLtGO7kTed -5to+AvDfH3YuIjTsX3unZjl+1JtGCyVqKHh8MGb8LzZqfHSr2zimzDWg2diPbRz6 -KY8ha8zsDRbzmSapyZC/PBk= ------END PRIVATE KEY----- diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/png.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/png.ts deleted file mode 100644 index 21826f9..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/png.ts +++ /dev/null @@ -1,8 +0,0 @@ -import * as fs from 'fs'; -import * as path from 'path'; - -const PNGBuffer = fs.readFileSync(path.join(__dirname, '../fixtures/hello.png')); -const PNGUint8Array = new Uint8Array(PNGBuffer); -const PNGArrayBuffer = PNGUint8Array.buffer as ArrayBuffer; - -export { PNGBuffer, PNGArrayBuffer, PNGUint8Array }; diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/server.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/server.ts deleted file mode 100644 index a588bf1..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/helpers/server.ts +++ /dev/null @@ -1,228 +0,0 @@ -import * as express from 'express'; -import { Application, NextFunction, Request, Response } from 'express'; -import * as http from 'http'; -import { Server as HttpServer } from 'http'; -import * as https from 'https'; -import { Server as HttpsServer } from 'https'; -import * as bodyParser from 'body-parser'; -import * as cookieParser from 'cookie-parser'; -import { certificate, key } from './certificates/certificate'; -import * as path from 'path'; - -export class XhrServer { - app: Application; - server: HttpServer | HttpsServer; - serverStarted: Promise; - - private setServerStarted: () => void; - - constructor(public port = 8080, private useHttps = false) { - this.serverStarted = new Promise(resolve => this.setServerStarted = resolve); - this.createApp(); - } - - testUrl() { - return `https://localhost:${this.port}/test/html/browser_test.html`; - } - - sslCertificate() { - return this.useHttps ? certificate : null; - } - - sslKey() { - return this.useHttps ? key : null; - } - - createApp() { - this.app = express(); - this.app.use(bodyParser.json()); - this.app.use(bodyParser.urlencoded({ extended: true })); - this.app.use(cookieParser()); - - this.app.use((request: Request, response: Response, next: NextFunction) => { - response.header('Access-Control-Allow-Origin', '*'); - response.header('Access-Control-Allow-Methods', 'DELETE,GET,POST,PUT'); - response.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Cookie'); - next(); - }); - - this.app.get('/test/fixtures/hello.txt', (request: Request, response: Response) => { - const body = 'Hello, world!'; - response.header('Content-Type', 'text/plain; charset=utf-8'); - response.header('Content-Length', body.length.toString()); - response.end(body); - }); - - this.app.get('/test/fixtures/hello.json', (request: Request, response: Response) => { - const body = '{"hello": "world", "answer": 42}\n'; - response.header('Content-Type', 'application/json'); - response.header('Content-Length', body.length.toString()); - response.end(body); - }); - - this.app.get('/test/html/browser_test.html', (request: Request, response: Response) => { - const body = '

Test

'; - response.header('Content-Type', 'text/html'); - response.header('Content-Length', body.length.toString()); - response.end(body); - }); - - this.app.all('/_/method', (request: Request, response: Response) => { - const body = request.method; - response.header('Content-Type', 'text/plain; charset=utf-8'); - response.header('Content-Length', body.length.toString()); - response.end(body); - }); - - // Echoes the request body. Used to test send(data). - this.app.post('/_/echo', (request: Request, response: Response) => { - if (request.headers['content-type']) { - response.header('Content-Type', request.headers['content-type']); - } - if (request.headers['content-length']) { - response.header('Content-Length', request.headers['content-length']); - } - request.on('data', chunk => response.write(chunk)); - request.on('end', () => response.end()); - }); - - // Lists the request headers. Used to test setRequestHeader(). - this.app.all('/_/headers', (request: Request, response: Response) => { - const body = JSON.stringify(request.headers); - response.header('Content-Type', 'application/json'); - response.header('Content-Length', body.length.toString()); - response.end(body); - }); - - // Sets the response headers in the request. Used to test getResponse*(). - this.app.post('/_/get-headers', (request: Request, response: Response) => { - let jsonString = ''; - request.on('data', chunk => jsonString += chunk); - request.on('end', () => { - const headers = JSON.parse(jsonString); - for (let name in headers) { - if (headers.hasOwnProperty(name)) { - response.header(name, headers[name]); - } - } - response.header('Content-Length', '0'); - response.end(''); - }); - }); - - // Sets every response detail. Used for error testing. - this.app.post('/_/response', (request: Request, response: Response) => { - let jsonString = ''; - request.on('data', chunk => jsonString += chunk); - request.on('end', () => { - const json = JSON.parse(jsonString); - response.writeHead(json.code, json.status, json.headers); - if (json.body) { response.write(json.body); } - response.end(); - }); - }); - - // Sends data in small chunks. Used for event testing. - this.app.post('/_/drip', (request: Request, response: Response) => { - request.connection.setNoDelay(); - let jsonString = ''; - request.on('data', chunk => jsonString += chunk); - request.on('end', () => { - const json = JSON.parse(jsonString); - let sentDrips = 0; - const drip = new Array(json.size + 1).join('.'); - response.header('Content-Type', 'text/plain'); - if (json.length) { response.header('Content-Length', (json.drips * json.size).toString()); } - - (function sendDrip() { - response.write(drip); - sentDrips++; - if (sentDrips >= json.drips) { return response.end(); } - setTimeout(sendDrip, json.ms); - })(); - }); - }); - - // Returns a HTTP redirect. Used to test the redirection handling code. - this.app.all('/_/redirect/:status/:next', (request: Request, response: Response) => { - response.statusCode = +request.params.status; - response.header('Location', `${request.protocol}://${request.get('host')}/_/${request.params.next}`); - const body = '

This is supposed to have a redirect link

'; - response.header('Content-Type', 'text/html'); - response.header('Content-Length', body.length.toString()); - response.header('X-Redirect-Header', 'should not show up'); - response.end(body); - }); - - // Sets a cookie - this.app.all('/_/set-cookie/:name/:value', (request: Request, response: Response) => { - response.cookie(request.params.name, request.params.value); - response.header('Content-Type', 'text/plain'); - response.header('Content-Length', '0'); - response.end(); - }); - - // Redirects and sets a cookie. - this.app.all('/_/redirect-cookie/:name/:value', (request: Request, response: Response) => { - response.cookie(request.params.name, request.params.value); - response.redirect(301, - `${request.protocol}://${request.get('host')}/_/print-cookie/${request.params.name}` - ); - }); - - // Read cookie + print its value. - this.app.get('/_/print-cookie/:name', (request: Request, response: Response) => { - const cookieValue = request.cookies[request.params.name]; - response.header('Content-Type', 'text/plain'); - response.header('Content-Length', cookieValue.length.toString()); - response.end(cookieValue); - }); - - // Requested when the browser test suite completes. - this.app.get('/_/end', (request: Request, response: Response) => { - const failed = request.query.hasOwnProperty('failed') ? +request.query.failed : 1; - const total = request.query.hasOwnProperty('total') ? +request.query.total : 0; - const passed = total - failed; - const exitCode = failed ? 1 : 0; - console.log(`${passed} passed, ${failed} failed`); - - response.header('Content-Type', 'image/png'); - response.header('Content-Length', '0'); - response.end(''); - - if (!process.env.hasOwnProperty('NO_EXIT')) { - this.server.close(); - process.exit(exitCode); - } - }); - - this.app.use(express.static(path.join(__dirname, '../../'))); - - this.createServer(); - } - - createServer() { - this.server = this.useHttps - ? https.createServer({ - cert: this.sslCertificate(), - key: this.sslKey() - }, this.app) - : http.createServer(this.app); - - this.server.on('error', (error) => { - if (error.code !== 'EADDRINUSE') { return; } - this.port += 2; - this.createServer(); - }); - this.server.on('listening', () => { - this.setServerStarted(); - }); - - this.server.listen(this.port); - } -} - -const HttpServer = new XhrServer(8900, false); -const HttpsServer = new XhrServer(8901, true); - -export { HttpServer, HttpsServer }; diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/nodejs-set.spec.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/nodejs-set.spec.ts deleted file mode 100644 index 7c10103..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/nodejs-set.spec.ts +++ /dev/null @@ -1,120 +0,0 @@ -import * as ava from 'ava'; -import { XMLHttpRequest } from '../xml-http-request'; - -function contextualize(getContext: () => T): ava.RegisterContextual { - ava.test.beforeEach(t => { - Object.assign(t.context, getContext()); - }); - return ava.test; -} - -const test = contextualize(() => ({ - xhr: new XMLHttpRequest(), - customXhr: new XMLHttpRequest() -})); - -test.beforeEach(t => { - t.context.xhr = new XMLHttpRequest(); - t.context.customXhr = new XMLHttpRequest(); -}); - -test('XMLHttpRequest.nodejsSet with a httpAgent option', t => { - const customAgent = {custom: 'httpAgent'}; - const defaultAgent = XMLHttpRequest.prototype.nodejsHttpAgent; - const agent = {mocking: 'httpAgent'}; - t.context.customXhr.nodejsHttpAgent = customAgent as any; - XMLHttpRequest.nodejsSet({httpAgent: agent} as any); - t.is(t.context.xhr.nodejsHttpAgent, agent as any, 'sets the default nodejsHttpAgent'); - t.is(t.context.customXhr.nodejsHttpAgent, customAgent as any, 'does not interfere with custom nodejsHttpAgent settings'); - XMLHttpRequest.nodejsSet({httpAgent: defaultAgent}); -}); - -test('XMLHttpRequest.nodejsSet with a httpsAgent option', t => { - const customAgent = {custom: 'httpsAgent'}; - const defaultAgent = XMLHttpRequest.prototype.nodejsHttpsAgent; - const agent = {mocking: 'httpsAgent'}; - t.context.customXhr.nodejsHttpsAgent = customAgent as any; - XMLHttpRequest.nodejsSet({httpsAgent: agent} as any); - t.is(t.context.xhr.nodejsHttpsAgent, agent as any, 'sets the default nodejsHttpsAgent'); - t.is(t.context.customXhr.nodejsHttpsAgent, customAgent as any, 'does not interfere with custom nodejsHttpsAgent settings'); - XMLHttpRequest.nodejsSet({httpsAgent: defaultAgent}); -}); - -test('XMLHttpRequest.nodejsSet with a baseUrl option', t => { - const customBaseUrl = 'http://custom.url/base'; - const defaultBaseUrl = XMLHttpRequest.prototype.nodejsBaseUrl; - const baseUrl = 'http://localhost/base'; - t.context.customXhr.nodejsBaseUrl = customBaseUrl; - XMLHttpRequest.nodejsSet({baseUrl}); - t.is(t.context.xhr.nodejsBaseUrl, baseUrl, 'sets the default nodejsBaseUrl'); - t.is(t.context.customXhr.nodejsBaseUrl, customBaseUrl, 'does not interfere with custom nodejsBaseUrl settings'); - XMLHttpRequest.nodejsSet({baseUrl: defaultBaseUrl}); -}); - -test('#nodejsSet with a httpAgent option', t => { - const customAgent = {custom: 'httpAgent'}; - t.context.customXhr.nodejsSet({httpAgent: customAgent as any}); - t.is(t.context.customXhr.nodejsHttpAgent, customAgent as any, 'sets nodejsHttpAgent on the XHR instance'); - t.not(t.context.xhr.nodejsHttpAgent, customAgent as any, 'does not interfere with default nodejsHttpAgent settings'); -}); - -test('#nodejsSet with a httpsAgent option', t => { - const customAgent = {custom: 'httpsAgent'}; - t.context.customXhr.nodejsSet({httpsAgent: customAgent as any}); - t.is(t.context.customXhr.nodejsHttpsAgent, customAgent as any, 'sets nodejsHttpsAgent on the XHR instance'); - t.not(t.context.xhr.nodejsHttpsAgent, customAgent as any, 'does not interfere with default nodejsHttpsAgent settings'); -}); - -test('base URL parsing with null baseUrl', t => { - const xhr = t.context.xhr as any; - xhr.nodejsSet({baseUrl: null}); - const parsedUrl = xhr._parseUrl('http://www.domain.com/path'); - t.truthy(parsedUrl); - t.true(parsedUrl.hasOwnProperty('href')); - t.is(parsedUrl.href, 'http://www.domain.com/path'); -}); - -test('base URL parsing with a (protocol, domain, filePath) baseUrl parses an absolute URL', t => { - const xhr = t.context.xhr as any; - xhr.nodejsSet({baseUrl: 'https://base.url/dir/file.html'}); - const parsedUrl = xhr._parseUrl('http://www.domain.com/path'); - t.truthy(parsedUrl); - t.true(parsedUrl.hasOwnProperty('href')); - t.is(parsedUrl.href, 'http://www.domain.com/path'); -}); - -test('base URL parsing with a (protocol, domain, filePath) baseUrl parses a path-relative URL', t => { - const xhr = t.context.xhr as any; - xhr.nodejsSet({baseUrl: 'https://base.url/dir/file.html'}); - const parsedUrl = xhr._parseUrl('path/to.js'); - t.truthy(parsedUrl); - t.true(parsedUrl.hasOwnProperty('href')); - t.is(parsedUrl.href, 'https://base.url/dir/path/to.js'); -}); - -test('base URL parsing with a (protocol, domain, filePath) baseUrl parses a path-relative URL with ..', t => { - const xhr = t.context.xhr as any; - xhr.nodejsSet({baseUrl: 'https://base.url/dir/file.html'}); - const parsedUrl = xhr._parseUrl('../path/to.js'); - t.truthy(parsedUrl); - t.true(parsedUrl.hasOwnProperty('href')); - t.is(parsedUrl.href, 'https://base.url/path/to.js'); -}); - -test('base URL parsing with a (protocol, domain, filePath) baseUrl parses a host-relative URL', t => { - const xhr = t.context.xhr as any; - xhr.nodejsSet({baseUrl: 'https://base.url/dir/file.html'}); - const parsedUrl = xhr._parseUrl('/path/to.js'); - t.truthy(parsedUrl); - t.true(parsedUrl.hasOwnProperty('href')); - t.is(parsedUrl.href, 'https://base.url/path/to.js'); -}); - -test('base URL parsing with a (protocol, domain, filePath) baseUrl parses a protocol-relative URL', t => { - const xhr = t.context.xhr as any; - xhr.nodejsSet({baseUrl: 'https://base.url/dir/file.html'}); - const parsedUrl = xhr._parseUrl('//domain.com/path/to.js'); - t.truthy(parsedUrl); - t.true(parsedUrl.hasOwnProperty('href')); - t.is(parsedUrl.href, 'https://domain.com/path/to.js'); -}); diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/redirect.spec.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/redirect.spec.ts deleted file mode 100644 index 458cf18..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/redirect.spec.ts +++ /dev/null @@ -1,120 +0,0 @@ -import * as ava from 'ava'; -import { XMLHttpRequest } from '../xml-http-request'; -import { HttpServer } from './helpers/server'; - -function contextualize(getContext: () => T): ava.RegisterContextual { - ava.test.beforeEach(t => { - Object.assign(t.context, getContext()); - }); - return ava.test; -} - -const test = contextualize(() => ({ - xhr: new XMLHttpRequest() -})); - -test.before(async () => { - await HttpServer.serverStarted; -}); - -test.beforeEach(t => { - t.context.xhr = new XMLHttpRequest(); -}); - -test('XMLHttpRequest when redirected issues a GET for the next location', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.open('POST', `http://localhost:${HttpServer.port}/_/redirect/302/method`); - xhr.onload = () => { - t.regex(xhr.responseText, /GET/i); - resolve(); - }; - xhr.onerror = () => { - t.fail(); - resolve(); - }; - xhr.send('This should be dropped during the redirect'); - }); -}); - -test('XMLHttpRequest when redirected does not return the redirect headers', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.open('GET', `http://localhost:${HttpServer.port}/_/redirect/302/method`); - xhr.onload = () => { - t.is(xhr.getResponseHeader('Content-Type'), 'text/plain; charset=utf-8'); - t.falsy(xhr.getResponseHeader('X-Redirect-Header')); - resolve(); - }; - xhr.onerror = () => { - t.fail(); - resolve(); - }; - xhr.send(); - }); -}); - -test('XMLHttpRequest when redirected persists custom request headers across redirects', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.open('GET', `http://localhost:${HttpServer.port}/_/redirect/302/headers`); - xhr.setRequestHeader('X-Redirect-Test', 'should be preserved'); - xhr.onload = () => { - t.regex(xhr.responseText, /^\{.*\}$/); - const headers = JSON.parse(xhr.responseText); - t.is(headers.connection, 'keep-alive'); - t.true(headers.hasOwnProperty('host')); - t.is(headers.host, `localhost:${HttpServer.port}`); - t.true(headers.hasOwnProperty('x-redirect-test')); - t.is(headers['x-redirect-test'], 'should be preserved'); - resolve(); - }; - xhr.onerror = () => { - t.fail(); - resolve(); - }; - xhr.send(); - }); -}); - -test('XMLHttpRequest when redirected drops content-related headers across redirects', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.open('GET', `http://localhost:${HttpServer.port}/_/redirect/302/headers`); - xhr.setRequestHeader('X-Redirect-Test', 'should be preserved'); - xhr.onload = () => { - t.regex(xhr.responseText, /^\{.*\}$/); - const headers = JSON.parse(xhr.responseText); - t.is(headers.connection, 'keep-alive'); - t.true(headers.hasOwnProperty('host')); - t.is(headers.host, `localhost:${HttpServer.port}`); - t.true(headers.hasOwnProperty('x-redirect-test')); - t.is(headers['x-redirect-test'], 'should be preserved'); - t.false(headers.hasOwnProperty('content-type')); - t.false(headers.hasOwnProperty('content-length')); - resolve(); - }; - xhr.onerror = () => { - t.fail(); - resolve(); - }; - xhr.send(); - }); -}); - -test('XMLHttpRequest when redirected provides the final responseURL', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.open('GET', `http://localhost:${HttpServer.port}/_/redirect/302/method`); - xhr.setRequestHeader('X-Redirect-Test', 'should be preserved'); - xhr.onload = () => { - t.is(xhr.responseUrl, `http://localhost:${HttpServer.port}/_/method`); - resolve(); - }; - xhr.onerror = () => { - t.fail(); - resolve(); - }; - xhr.send(); - }); -}); diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/response-type.spec.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/response-type.spec.ts deleted file mode 100644 index 2d85a95..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/response-type.spec.ts +++ /dev/null @@ -1,134 +0,0 @@ -import * as ava from 'ava'; -import { XMLHttpRequest } from '../xml-http-request'; -import { HttpServer } from './helpers/server'; -import { PNGArrayBuffer, PNGBuffer } from './helpers/png'; - -function contextualize(getContext: () => T): ava.RegisterContextual { - ava.test.beforeEach(t => { - Object.assign(t.context, getContext()); - }); - return ava.test; -} - -const test = contextualize(() => ({ - xhr: new XMLHttpRequest(), - jsonUrl: '', - jsonString: '', - imageUrl: '' -})); - -test.before(async () => { - await HttpServer.serverStarted; -}); - -test.beforeEach(t => { - t.context.xhr = new XMLHttpRequest(); - t.context.jsonUrl = `http://localhost:${HttpServer.port}/test/fixtures/hello.json`; - t.context.jsonString = '{"hello": "world", "answer": 42}\n'; - t.context.imageUrl = `http://localhost:${HttpServer.port}/test/fixtures/hello.png`; -}); - -test('XMLHttpRequest #responseType text reads a JSON file into a String', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.addEventListener('load', () => { - t.is(xhr.response, t.context.jsonString); - t.is(xhr.responseText, t.context.jsonString); - resolve(); - }); - xhr.open('GET', t.context.jsonUrl); - xhr.responseType = 'text'; - xhr.send(); - }); -}); - -test('XMLHttpRequest #responseType json reads a JSON file into a parsed JSON object', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.addEventListener('readystatechange', () => { - if (xhr.readyState !== XMLHttpRequest.DONE) { return; } - - t.deepEqual(xhr.response, { hello: 'world', answer: 42 }); - resolve(); - }); - xhr.open('GET', t.context.jsonUrl); - xhr.responseType = 'json'; - xhr.send(); - }); -}); - -test('XMLHttpRequest #responseType json produces null when reading a non-JSON file', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.addEventListener('loadend', () => { - t.is(xhr.response, null); - resolve(); - }); - xhr.open('GET', `http://localhost:${HttpServer.port}/test/fixtures/hello.txt`); - xhr.responseType = 'json'; - xhr.send(); - }); -}); - -test('XMLHttpRequest #responseType arraybuffer reads a JSON file into an ArrayBuffer', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.addEventListener('loadend', () => { - t.true(xhr.response instanceof ArrayBuffer); - if (!(xhr.response instanceof ArrayBuffer)) { return; } - const view = new Uint8Array(xhr.response); - const response = Array.from(view).map(viewElement => String.fromCharCode(viewElement)).join(''); - t.is(response, t.context.jsonString); - resolve(); - }); - xhr.open('GET', t.context.jsonUrl); - xhr.responseType = 'arraybuffer'; - xhr.send(); - }); -}); - -test('XMLHttpRequest #responseType arraybuffer reads a binary file into an ArrayBuffer', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.addEventListener('loadend', () => { - t.true(xhr.response instanceof ArrayBuffer); - if (!(xhr.response instanceof ArrayBuffer)) { return; } - t.deepEqual(xhr.response, PNGArrayBuffer); - resolve(); - }); - xhr.open('GET', t.context.imageUrl); - xhr.responseType = 'arraybuffer'; - xhr.send(); - }); -}); - -test('XMLHttpRequest #responseType buffer reads a JSON file into a node.js Buffer', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.addEventListener('loadend', () => { - t.true(xhr.response instanceof Buffer); - if (!(xhr.response instanceof Buffer)) { return; } - const response = Array.from(xhr.response).map(viewElement => String.fromCharCode(viewElement)).join(''); - t.is(response, t.context.jsonString); - resolve(); - }); - xhr.open('GET', t.context.jsonUrl); - xhr.responseType = 'buffer'; - xhr.send(); - }); -}); - -test('XMLHttpRequest #responseType buffer reads a binary file into a node.js Buffer', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.addEventListener('loadend', () => { - t.true(xhr.response instanceof Buffer); - if (!(xhr.response instanceof Buffer)) { return; } - t.deepEqual(xhr.response, PNGBuffer); - resolve(); - }); - xhr.open('GET', t.context.imageUrl); - xhr.responseType = 'buffer'; - xhr.send(); - }); -}); diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/response-url.spec.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/response-url.spec.ts deleted file mode 100644 index 8770e6c..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/response-url.spec.ts +++ /dev/null @@ -1,46 +0,0 @@ -import * as ava from 'ava'; -import { XMLHttpRequest } from '../xml-http-request'; -import { HttpServer } from './helpers/server'; - -function contextualize(getContext: () => T): ava.RegisterContextual { - ava.test.beforeEach(t => { - Object.assign(t.context, getContext()); - }); - return ava.test; -} - -const test = contextualize(() => ({ - xhr: new XMLHttpRequest() -})); - -test.before(async () => { - await HttpServer.serverStarted; -}); - -test.beforeEach(t => { - t.context.xhr = new XMLHttpRequest(); -}); - -test('XMLHttpRequest #responseURL provides the URL of the response', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.open('GET', `http://localhost:${HttpServer.port}/_/method`); - xhr.onload = () => { - t.is(xhr.responseUrl, `http://localhost:${HttpServer.port}/_/method`); - resolve(); - }; - xhr.send(); - }); -}); - -test('XMLHttpRequest #responseURL ignores the hash fragment', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.open('GET', `http://localhost:${HttpServer.port}/_/method#foo`); - xhr.onload = () => { - t.is(xhr.responseUrl, `http://localhost:${HttpServer.port}/_/method`); - resolve(); - }; - xhr.send(); - }); -}); diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/send.spec.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/send.spec.ts deleted file mode 100644 index bfbc78e..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/send.spec.ts +++ /dev/null @@ -1,137 +0,0 @@ -import * as ava from 'ava'; -import { XMLHttpRequest } from '../xml-http-request'; -import { HttpServer } from './helpers/server'; -import { PNGArrayBuffer, PNGUint8Array } from './helpers/png'; - -function contextualize(getContext: () => T): ava.RegisterContextual { - ava.test.beforeEach(t => { - Object.assign(t.context, getContext()); - }); - return ava.test; -} - -const test = contextualize(() => ({ - xhr: new XMLHttpRequest() -})); - -test.before(async () => { - await HttpServer.serverStarted; -}); - -test.beforeEach(t => { - t.context.xhr = new XMLHttpRequest(); - t.context.xhr.open('POST', `http://localhost:${HttpServer.port}/_/echo`); -}); - -test('XMLHttpRequest #send works with ASCII DOMStrings', async t => { - const xhr = t.context.xhr; - t.plan(2); - await new Promise(resolve => { - xhr.onload = () => { - t.regex(xhr.getResponseHeader('content-type'), /^text\/plain(;\s?charset=UTF-8)?$/); - t.is(xhr.responseText, 'Hello world!'); - resolve(); - }; - xhr.onerror = () => { t.fail(); return resolve(); }; - xhr.send('Hello world!'); - }); -}); - -test('XMLHttpRequest #send works with UTF-8 DOMStrings', async t => { - const xhr = t.context.xhr; - t.plan(2); - await new Promise(resolve => { - xhr.onload = () => { - t.regex(xhr.getResponseHeader('content-type'), /^text\/plain(;\s?charset=UTF-8)?$/); - t.is(xhr.responseText, '世界你好!'); - resolve(); - }; - xhr.send('世界你好!'); - }); -}); - -test('XMLHttpRequest #send works with ArrayBufferViews', async t => { - const xhr = t.context.xhr; - t.plan(2); - await new Promise(resolve => { - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - t.is(xhr.getResponseHeader('content-type'), null); - if (!(xhr.response instanceof ArrayBuffer)) { t.fail(); return resolve(); } - t.deepEqual(new Uint8Array(xhr.response), PNGUint8Array); - resolve(); - }; - xhr.onerror = () => { t.fail(); return resolve(); }; - xhr.send(PNGUint8Array); - }); -}); - -test('XMLHttpRequest #send works with ArrayBufferViews with set index and length', async t => { - const xhr = t.context.xhr; - t.plan(2); - const arrayBufferView10 = new Uint8Array(PNGArrayBuffer, 10, 42); - await new Promise(resolve => { - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - t.is(xhr.getResponseHeader('content-type'), null); - if (!(xhr.response instanceof ArrayBuffer)) { t.fail(); return resolve(); } - t.deepEqual(new Uint8Array(xhr.response), arrayBufferView10); - resolve(); - }; - xhr.onerror = () => { t.fail(); return resolve(); }; - xhr.send(arrayBufferView10); - }); -}); - -test('XMLHttpRequest #send works with ArrayBuffers', async t => { - const xhr = t.context.xhr; - t.plan(2); - await new Promise(resolve => { - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - t.is(xhr.getResponseHeader('content-type'), null); - if (!(xhr.response instanceof ArrayBuffer)) { t.fail(); return resolve(); } - t.deepEqual(xhr.response, PNGArrayBuffer); - resolve(); - }; - xhr.onerror = () => { t.fail(); return resolve(); }; - xhr.send(PNGArrayBuffer); - }); -}); - -test('XMLHttpRequest #send works with node.js Buffers', async t => { - const xhr = t.context.xhr; - const buffer = Buffer.alloc(PNGUint8Array.length); - for (let i = 0; i < PNGUint8Array.length; i++) { buffer.writeUInt8(PNGUint8Array[i], i); } - t.plan(2); - - await new Promise(resolve => { - xhr.responseType = 'buffer'; - xhr.onload = () => { - t.is(xhr.getResponseHeader('content-type'), null); - if (!(xhr.response instanceof Buffer)) { t.fail(); return resolve(); } - t.deepEqual(new Uint8Array(xhr.response), PNGUint8Array); - resolve(); - }; - xhr.onerror = () => { t.fail(); return resolve(); }; - xhr.send(PNGArrayBuffer); - }); -}); - -test('XMLHttpRequest #send sets POST headers correctly when given null data', async t => { - const xhr = t.context.xhr; - xhr.open('POST', `http://localhost:${HttpServer.port}/_/headers`); - await new Promise(resolve => { - xhr.responseType = 'text'; - xhr.onload = () => { - t.regex(xhr.responseText, /^\{.*\}$/); - const headers = JSON.parse(xhr.responseText); - t.true(headers.hasOwnProperty('content-length')); - t.is(headers['content-length'], '0'); - t.false(headers.hasOwnProperty('content-type')); - resolve(); - }; - xhr.onerror = () => { t.fail(); return resolve(); }; - xhr.send(); - }); -}); diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/status.spec.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/status.spec.ts deleted file mode 100644 index 5215cfe..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/status.spec.ts +++ /dev/null @@ -1,84 +0,0 @@ -import * as ava from 'ava'; -import { XMLHttpRequest } from '../xml-http-request'; -import { HttpServer } from './helpers/server'; - -function contextualize(getContext: () => T): ava.RegisterContextual { - ava.test.beforeEach(t => { - Object.assign(t.context, getContext()); - }); - return ava.test; -} - -const test = contextualize(() => ({ - xhr: new XMLHttpRequest(), - okUrl: '', - errorUrl: '', - errorJson: '' -})); - -test.before(async () => { - await HttpServer.serverStarted; -}); - -test.beforeEach(t => { - t.context.xhr = new XMLHttpRequest(); - t.context.okUrl = `http://localhost:${HttpServer.port}/test/fixtures/hello.txt`; - t.context.errorUrl = `http://localhost:${HttpServer.port}/_/response`; - t.context.errorJson = JSON.stringify({ - code: 401, - status: 'Unauthorized', - body: JSON.stringify({error: 'Credential error'}), - headers: { - 'Content-Type': 'application/json', - 'Content-Length': '28' - } - }); -}); - -test('XMLHttpRequest #status is 200 for a normal request', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.open('GET', t.context.okUrl); - let done = false; - xhr.addEventListener('readystatechange', () => { - if (done) { return; } - if (xhr.readyState < XMLHttpRequest.HEADERS_RECEIVED) { - t.is(xhr.status, 0); - t.is(xhr.statusText, ''); - } else { - t.is(xhr.status, 200); - t.truthy(xhr.statusText); - t.not(xhr.statusText, ''); - if (xhr.readyState === XMLHttpRequest.DONE) { - done = true; - resolve(); - } - } - }); - xhr.send(); - }); -}); - -test('XMLHttpRequest #status returns the server-reported status', async t => { - const xhr = t.context.xhr; - await new Promise(resolve => { - xhr.open('POST', t.context.errorUrl); - let done = false; - xhr.addEventListener('readystatechange', () => { - if (done) { return; } - if (xhr.readyState < XMLHttpRequest.HEADERS_RECEIVED) { - t.is(xhr.status, 0); - t.is(xhr.statusText, ''); - } else { - t.is(xhr.status, 401); - t.truthy(xhr.statusText); - t.not(xhr.statusText, ''); - if (xhr.readyState === XMLHttpRequest.DONE) { - done = true; - resolve(); - } - } - }); - xhr.send(t.context.errorJson); - }); -}); diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/tsconfig.json b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/tsconfig.json deleted file mode 100644 index 606ef20..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "compilerOptions": { - "target": "es2015", - "module": "commonjs", - "sourceMap": true, - "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "lib": [ "es5", "es6", "es2016", "es2017", "dom" ] - }, - "include": [ - "*.spec.ts", - "./png.d.ts" - ] -} diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/xhr.spec.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/xhr.spec.ts deleted file mode 100644 index 3632ccd..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/test/xhr.spec.ts +++ /dev/null @@ -1,135 +0,0 @@ -import * as ava from 'ava'; -import { XMLHttpRequest } from '../xml-http-request'; -import { HttpServer, HttpsServer } from './helpers/server'; -import * as https from 'https'; - -const agent = new https.Agent({ - rejectUnauthorized: true, - ca: HttpsServer.sslCertificate() -}); -XMLHttpRequest.nodejsSet({ - httpsAgent: agent -}); - -function contextualize(getContext: () => T): ava.RegisterContextual { - ava.test.beforeEach(t => { - Object.assign(t.context, getContext()); - }); - return ava.test; -} - -const test = contextualize(() => ({ - xhr: new XMLHttpRequest() -})); - -test.before(async t => { - await HttpServer.serverStarted; - await HttpsServer.serverStarted; - - XMLHttpRequest.nodejsSet({ - baseUrl: HttpServer.testUrl().replace('https://', 'http://') - }); -}); - -test.beforeEach(t => { - t.context.xhr = new XMLHttpRequest(); -}); - -test('constructor', t => { - const xhr = t.context.xhr; - t.is(xhr.readyState, XMLHttpRequest.UNSENT, 'sets readyState to UNSENT'); - t.is(xhr.timeout, 0, 'sets timeout to 0'); - t.is(xhr.responseType, '', 'sets responseType to ""'); - t.is(xhr.status, 0, 'sets status to 0'); - t.is(xhr.statusText, '', 'sets statusText to ""'); -}); - -test('#open throws SecurityError on CONNECT', t => { - t.throws(() => t.context.xhr.open('CONNECT', `http://localhost:${HttpServer.port}/test`), XMLHttpRequest.SecurityError); -}); - -test('#open with a GET for a local https request', t => { - const xhr = t.context.xhr; - xhr.open('GET', `https://localhost:${HttpsServer.port}/test/fixtures/hello.txt`); - t.is(xhr.readyState, XMLHttpRequest.OPENED, 'sets readyState to OPENED'); - t.is(xhr.status, 0, 'keeps status 0'); - t.is(xhr.statusText, '', 'keeps statusText ""'); -}); - -test('#send on a local http GET kicks off the request', async t => { - const xhr = t.context.xhr; - xhr.open('GET', `http://localhost:${HttpServer.port}/test/fixtures/hello.txt`); - - t.plan(2); - await new Promise((resolve, reject) => { - xhr.onload = (event) => { - t.is(xhr.status, 200, 'the status is 200'); - t.is(xhr.responseText, 'Hello, world!', 'the text is correct'); - resolve(); - }; - xhr.onerror = (event) => { - reject(event); - }; - xhr.send(); - }); -}); - -test('#send on a local https GET kicks off the request', async t => { - const xhr = t.context.xhr; - xhr.open('GET', `https://localhost:${HttpsServer.port}/test/fixtures/hello.txt`); - - t.plan(2); - await new Promise((resolve, reject) => { - xhr.onload = (event) => { - t.is(xhr.status, 200, 'the status is 200'); - t.is(xhr.responseText, 'Hello, world!', 'the text is correct'); - resolve(); - }; - xhr.onerror = (event) => { - reject(event); - }; - xhr.send(); - }); -}); - -test('on a local relative GET it kicks off the request', async t => { - const xhr = t.context.xhr; - xhr.open('GET', '../fixtures/hello.txt'); - - t.plan(2); - await new Promise((resolve, reject) => { - xhr.onload = (event) => { - t.is(xhr.status, 200, 'the status is 200'); - t.is(xhr.responseText, 'Hello, world!', 'the text is correct'); - resolve(); - }; - xhr.onerror = (event) => { - reject(event); - }; - xhr.send(); - }); -}); - -test('on a local gopher GET #open + #send throws a NetworkError', async t => { - const xhr = t.context.xhr; - t.throws(() => { - xhr.open('GET', `gopher:localhost:${HttpServer.port}`); - xhr.send(); - }, XMLHttpRequest.NetworkError); -}); - -test('readyState constants', t => { - t.is(XMLHttpRequest.UNSENT < XMLHttpRequest.OPENED, true, 'UNSENT < OPENED'); - t.is(XMLHttpRequest.OPENED < XMLHttpRequest.HEADERS_RECEIVED, true, 'OPENED < HEADERS_RECEIVED'); - t.is(XMLHttpRequest.HEADERS_RECEIVED < XMLHttpRequest.LOADING, true, 'HEADERS_RECEIVED < LOADING'); - t.is(XMLHttpRequest.LOADING < XMLHttpRequest.DONE, true, 'LOADING < DONE'); -}); - -test('XMLHttpRequest constants match the instance constants', t => { - const xhr = t.context.xhr; - t.is(XMLHttpRequest.UNSENT, xhr.UNSENT, 'UNSENT'); - t.is(XMLHttpRequest.OPENED, xhr.OPENED, 'OPENED'); - t.is(XMLHttpRequest.HEADERS_RECEIVED, xhr.HEADERS_RECEIVED, 'HEADERS_RECEIVED'); - t.is(XMLHttpRequest.LOADING, xhr.LOADING, 'LOADING'); - t.is(XMLHttpRequest.DONE, xhr.DONE, 'DONE'); -}); diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/tsconfig.json b/local_modules/web3-providers-http/local_modules/xhr2-cookies/tsconfig.json deleted file mode 100644 index cfda9f9..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "module": "commonjs", - "outDir": "dist", - "sourceMap": true, - "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "declaration": true, - "declarationDir": "dist", - "lib": [ "es5", "es6", "es2016", "es2017", "dom" ] - }, - "files": [ - "index.ts" - ] -} diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/tslint.json b/local_modules/web3-providers-http/local_modules/xhr2-cookies/tslint.json deleted file mode 100644 index 7be1d1d..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/tslint.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "rules": { - "arrow-return-shorthand": true, - "callable-types": true, - "class-name": true, - "comment-format": [ - true, - "check-space" - ], - "curly": true, - "eofline": true, - "forin": true, - "import-blacklist": [ - true, - "rxjs" - ], - "import-spacing": true, - "indent": [ - true, - "tabs" - ], - "interface-over-type-literal": true, - "label-position": true, - "max-line-length": [ - true, - 140 - ], - "member-access": false, - "member-ordering": [ - true, - { - "order": [ - "static-field", - "instance-field", - "static-method", - "instance-method" - ] - } - ], - "no-arg": true, - "no-bitwise": true, - "no-console": [ - true, - "debug", - "info", - "time", - "timeEnd", - "trace" - ], - "no-construct": true, - "no-debugger": true, - "no-duplicate-super": true, - "no-empty": false, - "no-empty-interface": true, - "no-eval": true, - "no-inferrable-types": [ - true, - "ignore-params" - ], - "no-misused-new": true, - "no-non-null-assertion": true, - "no-shadowed-variable": true, - "no-string-literal": false, - "no-string-throw": true, - "no-switch-case-fall-through": true, - "no-trailing-whitespace": true, - "no-unnecessary-initializer": true, - "no-unused-expression": true, - "no-use-before-declare": true, - "no-var-keyword": true, - "object-literal-sort-keys": false, - "one-line": [ - true, - "check-open-brace", - "check-catch", - "check-else", - "check-whitespace" - ], - "prefer-const": true, - "quotemark": [ - true, - "single" - ], - "radix": true, - "semicolon": [ - true, - "always" - ], - "triple-equals": [ - true, - "allow-null-check" - ], - "typedef-whitespace": [ - true, - { - "call-signature": "nospace", - "index-signature": "nospace", - "parameter": "nospace", - "property-declaration": "nospace", - "variable-declaration": "nospace" - } - ], - "typeof-compare": true, - "unified-signatures": true, - "variable-name": false, - "whitespace": [ - true, - "check-branch", - "check-decl", - "check-operator", - "check-separator", - "check-type" - ] - } -} diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/wallaby.js b/local_modules/web3-providers-http/local_modules/xhr2-cookies/wallaby.js deleted file mode 100644 index c4865ac..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/wallaby.js +++ /dev/null @@ -1,27 +0,0 @@ -module.exports = function (wallaby) { - return { - files: ['**/*.ts', '*.ts', '!test/**/*'], - tests: ['test/**/*.ts'], - env: {type: 'node'}, - testFramework: 'ava', - recycle: true, - name: 'XMLHttpRequest 2+', - slowTestThreshold: 300, - reportUnhandledPromises: false, - workers: { - // initial: 1, - // regular: 1, - recycle: true - }, - compilers: { - '**/*.ts': wallaby.compilers.typeScript({ - target: 'es2015', - module: 'commonjs', - sourceMap: true, - experimentalDecorators: true, - emitDecoratorMetadata: true, - lib: ['es5', 'es6', 'es2016', 'es2017', 'dom'] - }) - } - } -}; diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/xml-http-request-event-target.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/xml-http-request-event-target.ts deleted file mode 100644 index 52e10e6..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/xml-http-request-event-target.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { ProgressEvent } from './progress-event'; - -export type ProgressEventListener = (event: ProgressEvent) => void; -export type ProgressEventListenerObject = {handleEvent(event: ProgressEvent): void}; -export type ProgressEventListenerOrEventListenerObject = ProgressEventListener | ProgressEventListenerObject; - -export class XMLHttpRequestEventTarget { - onloadstart: ProgressEventListener | null; - onprogress: ProgressEventListener | null; - onabort: ProgressEventListener | null; - onerror: ProgressEventListener | null; - onload: ProgressEventListener | null; - ontimeout: ProgressEventListener | null; - onloadend: ProgressEventListener | null; - - private listeners: {[eventType: string]: ProgressEventListener[]} = {}; - - addEventListener(eventType: string, listener?: ProgressEventListenerOrEventListenerObject) { - eventType = eventType.toLowerCase(); - this.listeners[eventType] = this.listeners[eventType] || []; - this.listeners[eventType].push((listener as ProgressEventListenerObject).handleEvent || (listener as ProgressEventListener)); - } - removeEventListener(eventType: string, listener?: ProgressEventListenerOrEventListenerObject) { - eventType = eventType.toLowerCase(); - if (!this.listeners[eventType]) { return; } - - const index = this.listeners[eventType].indexOf((listener as ProgressEventListenerObject).handleEvent || (listener as ProgressEventListener)); - if (index < 0) { return; } - - this.listeners[eventType].splice(index, 1); - } - dispatchEvent(event: ProgressEvent) { - const eventType = event.type.toLowerCase(); - event.target = this; // TODO: set event.currentTarget? - - if (this.listeners[eventType]) { - for (let listener of this.listeners[eventType]) { - listener.call(this, event); - } - } - - const listener = this[`on${eventType}`]; - if (listener) { - listener.call(this, event); - } - - return true; - } -} diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/xml-http-request-upload.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/xml-http-request-upload.ts deleted file mode 100644 index 50dbabd..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/xml-http-request-upload.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { XMLHttpRequestEventTarget } from './xml-http-request-event-target'; -import { ClientRequest } from 'http'; - -export class XMLHttpRequestUpload extends XMLHttpRequestEventTarget { - private _contentType: string | null = null; - private _body = null; - - constructor() { - super(); - this._reset(); - } - - _reset() { - this._contentType = null; - this._body = null; - } - - _setData(data?: string | Buffer | ArrayBuffer | ArrayBufferView) { - if (data == null) { return; } - - if (typeof data === 'string') { - if (data.length !== 0) { - this._contentType = 'text/plain;charset=UTF-8'; - } - this._body = Buffer.from(data, 'utf-8'); - } else if (Buffer.isBuffer(data)) { - this._body = data; - } else if (data instanceof ArrayBuffer) { - const body = Buffer.alloc(data.byteLength); - const view = new Uint8Array(data); - for (let i = 0; i < data.byteLength; i++) { body[i] = view[i]; } - this._body = body; - } else if (data.buffer && data.buffer instanceof ArrayBuffer) { - const body = Buffer.alloc(data.byteLength); - const offset = data.byteOffset; - const view = new Uint8Array(data.buffer); - for (let i = 0; i < data.byteLength; i++) { body[i] = view[i + offset]; } - this._body = body; - } else { - throw new Error(`Unsupported send() data ${data}`); - } - } - - _finalizeHeaders(headers: object, loweredHeaders: object) { - if (this._contentType && !loweredHeaders['content-type']) { - headers['Content-Type'] = this._contentType; - } - if (this._body) { - headers['Content-Length'] = this._body.length.toString(); - } - } - - _startUpload(request: ClientRequest) { - if (this._body) { request.write(this._body); } - request.end(); - } -} diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/xml-http-request.ts b/local_modules/web3-providers-http/local_modules/xhr2-cookies/xml-http-request.ts deleted file mode 100644 index 591dac3..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/xml-http-request.ts +++ /dev/null @@ -1,471 +0,0 @@ -import * as http from 'http'; -import * as https from 'https'; -import * as os from 'os'; -import * as url from 'url'; -import { ProgressEvent } from './progress-event'; -import { InvalidStateError, NetworkError, SecurityError, SyntaxError } from './errors'; -import { ProgressEventListener, XMLHttpRequestEventTarget } from './xml-http-request-event-target'; -import { XMLHttpRequestUpload } from './xml-http-request-upload'; -import { Url } from 'url'; -import { Agent as HttpAgent, ClientRequest, IncomingMessage, RequestOptions as RequestOptionsHttp } from 'http'; -import { Agent as HttpsAgent } from 'https'; -import * as Cookie from 'cookiejar'; - -export interface XMLHttpRequestOptions { - anon?: boolean; -} -export interface XHRUrl extends Url { - method?: string; -} - -export class XMLHttpRequest extends XMLHttpRequestEventTarget { - static ProgressEvent = ProgressEvent; - static InvalidStateError = InvalidStateError; - static NetworkError = NetworkError; - static SecurityError = SecurityError; - static SyntaxError = SyntaxError; - static XMLHttpRequestUpload = XMLHttpRequestUpload; - - static UNSENT = 0; - static OPENED = 1; - static HEADERS_RECEIVED = 2; - static LOADING = 3; - static DONE = 4; - - static cookieJar = Cookie.CookieJar(); - - UNSENT = XMLHttpRequest.UNSENT; - OPENED = XMLHttpRequest.OPENED; - HEADERS_RECEIVED = XMLHttpRequest.HEADERS_RECEIVED; - LOADING = XMLHttpRequest.LOADING; - DONE = XMLHttpRequest.DONE; - - onreadystatechange: ProgressEventListener | null = null; - readyState: number = XMLHttpRequest.UNSENT; - - response: string | ArrayBuffer | Buffer | object | null = null; - responseText = ''; - responseType = ''; - status = 0; // TODO: UNSENT? - statusText = ''; - timeout = 0; - upload = new XMLHttpRequestUpload(); - responseUrl = ''; - withCredentials = false; - - nodejsHttpAgent: HttpsAgent; - nodejsHttpsAgent: HttpsAgent; - nodejsBaseUrl: string | null; - - private _anonymous: boolean; - private _method: string | null = null; - private _url: XHRUrl | null = null; - private _sync = false; - private _headers: {[header: string]: string} = {}; - private _loweredHeaders: {[lowercaseHeader: string]: string} = {}; - private _mimeOverride: string | null = null; // TODO: is type right? - private _request: ClientRequest | null = null; - private _response: IncomingMessage | null = null; - private _responseParts: Buffer[] | null = null; - private _responseHeaders: {[lowercaseHeader: string]: string} | null = null; - private _aborting = null; // TODO: type? - private _error = null; // TODO: type? - private _loadedBytes = 0; - private _totalBytes = 0; - private _lengthComputable = false; - - private _restrictedMethods = {CONNECT: true, TRACE: true, TRACK: true}; - private _restrictedHeaders = { - 'accept-charset': true, - 'accept-encoding': true, - 'access-control-request-headers': true, - 'access-control-request-method': true, - connection: true, - 'content-length': true, - cookie: true, - cookie2: true, - date: true, - dnt: true, - expect: true, - host: true, - 'keep-alive': true, - origin: true, - referer: true, - te: true, - trailer: true, - 'transfer-encoding': true, - upgrade: true, - 'user-agent': true, - via: true - }; - private _privateHeaders = {'set-cookie': true, 'set-cookie2': true}; - - //Redacted private information (${os.type()} ${os.arch()}) node.js/${process.versions.node} v8/${process.versions.v8} from the original version @ github - //Pretend to be tor-browser https://blog.torproject.org/browser-fingerprinting-introduction-and-challenges-ahead/ - private _userAgent = `Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0`; - - constructor(options: XMLHttpRequestOptions = {}) { - super(); - this._anonymous = options.anon || false; - } - - open(method: string, url: string, async = true, user?: string, password?: string) { - method = method.toUpperCase(); - if (this._restrictedMethods[method]) { throw new XMLHttpRequest.SecurityError(`HTTP method ${method} is not allowed in XHR`)}; - - const xhrUrl = this._parseUrl(url, user, password); - - if (this.readyState === XMLHttpRequest.HEADERS_RECEIVED || this.readyState === XMLHttpRequest.LOADING) { - // TODO(pwnall): terminate abort(), terminate send() - } - - this._method = method; - this._url = xhrUrl; - this._sync = !async; - this._headers = {}; - this._loweredHeaders = {}; - this._mimeOverride = null; - this._setReadyState(XMLHttpRequest.OPENED); - this._request = null; - this._response = null; - this.status = 0; - this.statusText = ''; - this._responseParts = []; - this._responseHeaders = null; - this._loadedBytes = 0; - this._totalBytes = 0; - this._lengthComputable = false; - } - - setRequestHeader(name: string, value: any) { - if (this.readyState !== XMLHttpRequest.OPENED) { throw new XMLHttpRequest.InvalidStateError('XHR readyState must be OPENED'); } - - const loweredName = name.toLowerCase(); - if (this._restrictedHeaders[loweredName] || /^sec-/.test(loweredName) || /^proxy-/.test(loweredName)) { - console.warn(`Refused to set unsafe header "${name}"`); - return; - } - - value = value.toString(); - if (this._loweredHeaders[loweredName] != null) { - name = this._loweredHeaders[loweredName]; - this._headers[name] = `${this._headers[name]}, ${value}`; - } else { - this._loweredHeaders[loweredName] = name; - this._headers[name] = value; - } - } - - send(data?: string | Buffer | ArrayBuffer | ArrayBufferView) { - if (this.readyState !== XMLHttpRequest.OPENED) { throw new XMLHttpRequest.InvalidStateError('XHR readyState must be OPENED'); } - if (this._request) { throw new XMLHttpRequest.InvalidStateError('send() already called'); } - - switch (this._url.protocol) { - case 'file:': - return this._sendFile(data); - case 'http:': - case 'https:': - return this._sendHttp(data); - default: - throw new XMLHttpRequest.NetworkError(`Unsupported protocol ${this._url.protocol}`); - } - } - - abort() { - if (this._request == null) { return; } - - this._request.abort(); - this._setError(); - - this._dispatchProgress('abort'); - this._dispatchProgress('loadend'); - } - - getResponseHeader(name: string) { - if (this._responseHeaders == null || name == null) { return null; } - const loweredName = name.toLowerCase(); - return this._responseHeaders.hasOwnProperty(loweredName) - ? this._responseHeaders[name.toLowerCase()] - : null; - } - - getAllResponseHeaders() { - if (this._responseHeaders == null) { return ''; } - return Object.keys(this._responseHeaders).map(key => `${key}: ${this._responseHeaders[key]}`).join('\r\n'); - } - - overrideMimeType(mimeType: string) { - if (this.readyState === XMLHttpRequest.LOADING || this.readyState === XMLHttpRequest.DONE) { throw new XMLHttpRequest.InvalidStateError('overrideMimeType() not allowed in LOADING or DONE'); } - this._mimeOverride = mimeType.toLowerCase(); - } - - nodejsSet(options: {httpAgent?: HttpAgent, httpsAgent?: HttpsAgent, baseUrl?: string }) { - this.nodejsHttpAgent = options.httpAgent || this.nodejsHttpAgent; - this.nodejsHttpsAgent = options.httpsAgent || this.nodejsHttpsAgent; - if (options.hasOwnProperty('baseUrl')) { - if (options.baseUrl != null) { - const parsedUrl = url.parse(options.baseUrl, false, true); - if (!parsedUrl.protocol) { - throw new XMLHttpRequest.SyntaxError("baseUrl must be an absolute URL") - } - } - this.nodejsBaseUrl = options.baseUrl; - } - } - - static nodejsSet(options: {httpAgent?: HttpAgent, httpsAgent?: HttpsAgent, baseUrl?: string }) { - XMLHttpRequest.prototype.nodejsSet(options); - } - - private _setReadyState(readyState: number) { - this.readyState = readyState; - this.dispatchEvent(new ProgressEvent('readystatechange')); - } - - private _sendFile(data: any) { - // TODO - throw new Error('Protocol file: not implemented'); - } - - private _sendHttp(data?: string | Buffer | ArrayBuffer | ArrayBufferView) { - if (this._sync) { throw new Error('Synchronous XHR processing not implemented'); } - if (data && (this._method === 'GET' || this._method === 'HEAD')) { - console.warn(`Discarding entity body for ${this._method} requests`); - data = null; - } else { - data = data || ''; - } - - this.upload._setData(data); - this._finalizeHeaders(); - this._sendHxxpRequest(); - } - - private _sendHxxpRequest() { - if (this.withCredentials) { - const cookie = XMLHttpRequest.cookieJar - .getCookies( - Cookie.CookieAccessInfo(this._url.hostname, this._url.pathname, this._url.protocol === 'https:') - ).toValueString(); - - this._headers.cookie = this._headers.cookie2 = cookie; - } - - const [hxxp, agent] = this._url.protocol === 'http:' ? [http, this.nodejsHttpAgent] : [https, this.nodejsHttpsAgent]; - const requestMethod: (options: RequestOptionsHttp) => ClientRequest = hxxp.request.bind(hxxp); - const request = requestMethod({ - hostname: this._url.hostname, - port: +this._url.port, - path: this._url.path, - auth: this._url.auth, - method: this._method, - headers: this._headers, - agent - }); - this._request = request; - - if (this.timeout) { request.setTimeout(this.timeout, () => this._onHttpTimeout(request)); } - request.on('response', response => this._onHttpResponse(request, response)); - request.on('error', error => this._onHttpRequestError(request, error)); - this.upload._startUpload(request); - - if (this._request === request) { this._dispatchProgress('loadstart'); } - } - - private _finalizeHeaders() { - this._headers = { - ...this._headers, - Connection: 'keep-alive', - Host: this._url.host, - 'User-Agent': this._userAgent, - ...this._anonymous ? {Referer: 'about:blank'} : {} - }; - this.upload._finalizeHeaders(this._headers, this._loweredHeaders); - } - - private _onHttpResponse(request: ClientRequest, response: IncomingMessage) { - if (this._request !== request) { return; } - - if (this.withCredentials && (response.headers['set-cookie'] || response.headers['set-cookie2'])) { - XMLHttpRequest.cookieJar - .setCookies(response.headers['set-cookie'] || response.headers['set-cookie2']); - } - - if ([301, 302, 303, 307, 308].indexOf(response.statusCode) >= 0) { - this._url = this._parseUrl(response.headers.location); - this._method = 'GET'; - if (this._loweredHeaders['content-type']) { - delete this._headers[this._loweredHeaders['content-type']]; - delete this._loweredHeaders['content-type']; - } - if (this._headers['Content-Type'] != null) { - delete this._headers['Content-Type']; - } - delete this._headers['Content-Length']; - - this.upload._reset(); - this._finalizeHeaders(); - this._sendHxxpRequest(); - return; - } - - this._response = response; - this._response.on('data', data => this._onHttpResponseData(response, data)); - this._response.on('end', () => this._onHttpResponseEnd(response)); - this._response.on('close', () => this._onHttpResponseClose(response)); - - this.responseUrl = this._url.href.split('#')[0]; - this.status = response.statusCode; - this.statusText = http.STATUS_CODES[this.status]; - this._parseResponseHeaders(response); - - const lengthString = this._responseHeaders['content-length'] || ''; - this._totalBytes = +lengthString; - this._lengthComputable = !!lengthString; - - this._setReadyState(XMLHttpRequest.HEADERS_RECEIVED); - } - - private _onHttpResponseData(response: IncomingMessage, data: string | Buffer) { - if (this._response !== response) { return; } - - this._responseParts.push(Buffer.from(data as any)); - this._loadedBytes += data.length; - - if (this.readyState !== XMLHttpRequest.LOADING) { - this._setReadyState(XMLHttpRequest.LOADING); - } - - this._dispatchProgress('progress'); - } - - private _onHttpResponseEnd(response: IncomingMessage) { - if (this._response !== response) { return; } - - this._parseResponse(); - this._request = null; - this._response = null; - this._setReadyState(XMLHttpRequest.DONE); - - this._dispatchProgress('load'); - this._dispatchProgress('loadend'); - } - - private _onHttpResponseClose(response: IncomingMessage) { - if (this._response !== response) { return; } - - const request = this._request; - this._setError(); - request.abort(); - this._setReadyState(XMLHttpRequest.DONE); - - this._dispatchProgress('error'); - this._dispatchProgress('loadend'); - } - - private _onHttpTimeout(request: ClientRequest) { - if (this._request !== request) { return; } - - this._setError(); - request.abort(); - this._setReadyState(XMLHttpRequest.DONE); - - this._dispatchProgress('timeout'); - this._dispatchProgress('loadend'); - } - - private _onHttpRequestError(request: ClientRequest, error: Error) { - if (this._request !== request) { return; } - - this._setError(); - request.abort(); - this._setReadyState(XMLHttpRequest.DONE); - - this._dispatchProgress('error'); - this._dispatchProgress('loadend'); - } - - private _dispatchProgress(eventType: string) { - const event = new XMLHttpRequest.ProgressEvent(eventType); - event.lengthComputable = this._lengthComputable; - event.loaded = this._loadedBytes; - event.total = this._totalBytes; - this.dispatchEvent(event); - } - - private _setError() { - this._request = null; - this._response = null; - this._responseHeaders = null; - this._responseParts = null; - } - - private _parseUrl(urlString: string, user?: string, password?: string) { - const absoluteUrl = this.nodejsBaseUrl == null ? urlString : url.resolve(this.nodejsBaseUrl, urlString); - const xhrUrl: XHRUrl = url.parse(absoluteUrl, false, true); - - xhrUrl.hash = null; - - const [xhrUser, xhrPassword] = (xhrUrl.auth || '').split(':'); - if (xhrUser || xhrPassword || user || password) { - xhrUrl.auth = `${user || xhrUser || ''}:${password || xhrPassword || ''}`; - } - - return xhrUrl; - } - - private _parseResponseHeaders(response: IncomingMessage) { - this._responseHeaders = {}; - for (let name in response.headers) { - const loweredName = name.toLowerCase(); - if (this._privateHeaders[loweredName]) { continue; } - this._responseHeaders[loweredName] = response.headers[name]; - } - if (this._mimeOverride != null) { - this._responseHeaders['content-type'] = this._mimeOverride; - } - } - - private _parseResponse() { - const buffer = Buffer.concat(this._responseParts); - this._responseParts = null; - - switch (this.responseType) { - case 'json': - this.responseText = null; - try { - this.response = JSON.parse(buffer.toString('utf-8')); - } catch { - this.response = null; - } - return; - case 'buffer': - this.responseText = null; - this.response = buffer; - return; - case 'arraybuffer': - this.responseText = null; - const arrayBuffer = new ArrayBuffer(buffer.length); - const view = new Uint8Array(arrayBuffer); - for (let i = 0; i < buffer.length; i++) { view[i] = buffer[i]; } - this.response = arrayBuffer; - return; - case 'text': - default: - try { - this.responseText = buffer.toString(this._parseResponseEncoding()); - } catch { - this.responseText = buffer.toString('binary'); - } - this.response = this.responseText; - } - } - - private _parseResponseEncoding() { - return /;\s*charset=(.*)$/.exec(this._responseHeaders['content-type'] || '')[1] || 'utf-8'; - } -} - -XMLHttpRequest.prototype.nodejsHttpAgent = http.globalAgent; -XMLHttpRequest.prototype.nodejsHttpsAgent = https.globalAgent; -XMLHttpRequest.prototype.nodejsBaseUrl = null; diff --git a/local_modules/web3-providers-http/local_modules/xhr2-cookies/yarn.lock b/local_modules/web3-providers-http/local_modules/xhr2-cookies/yarn.lock deleted file mode 100644 index bcf25df..0000000 --- a/local_modules/web3-providers-http/local_modules/xhr2-cookies/yarn.lock +++ /dev/null @@ -1,4097 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ava/babel-plugin-throws-helper@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@ava/babel-plugin-throws-helper/-/babel-plugin-throws-helper-2.0.0.tgz#2fc1fe3c211a71071a4eca7b8f7af5842cd1ae7c" - -"@ava/babel-preset-stage-4@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@ava/babel-preset-stage-4/-/babel-preset-stage-4-1.1.0.tgz#ae60be881a0babf7d35f52aba770d1f6194f76bd" - dependencies: - babel-plugin-check-es2015-constants "^6.8.0" - babel-plugin-syntax-trailing-function-commas "^6.20.0" - babel-plugin-transform-async-to-generator "^6.16.0" - babel-plugin-transform-es2015-destructuring "^6.19.0" - babel-plugin-transform-es2015-function-name "^6.9.0" - babel-plugin-transform-es2015-modules-commonjs "^6.18.0" - babel-plugin-transform-es2015-parameters "^6.21.0" - babel-plugin-transform-es2015-spread "^6.8.0" - babel-plugin-transform-es2015-sticky-regex "^6.8.0" - babel-plugin-transform-es2015-unicode-regex "^6.11.0" - babel-plugin-transform-exponentiation-operator "^6.8.0" - package-hash "^1.2.0" - -"@ava/babel-preset-transform-test-files@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@ava/babel-preset-transform-test-files/-/babel-preset-transform-test-files-3.0.0.tgz#cded1196a8d8d9381a509240ab92e91a5ec069f7" - dependencies: - "@ava/babel-plugin-throws-helper" "^2.0.0" - babel-plugin-espower "^2.3.2" - -"@ava/write-file-atomic@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ava/write-file-atomic/-/write-file-atomic-2.2.0.tgz#d625046f3495f1f5e372135f473909684b429247" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - -"@concordance/react@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@concordance/react/-/react-1.0.0.tgz#fcf3cad020e5121bfd1c61d05bc3516aac25f734" - dependencies: - arrify "^1.0.1" - -"@types/body-parser@*", "@types/body-parser@^1.16.8": - version "1.16.8" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.16.8.tgz#687ec34140624a3bec2b1a8ea9268478ae8f3be3" - dependencies: - "@types/express" "*" - "@types/node" "*" - -"@types/cookie-parser@^1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@types/cookie-parser/-/cookie-parser-1.4.1.tgz#e88a39c41960f31549b4c52dd8620aa4a2feb4bb" - dependencies: - "@types/express" "*" - -"@types/express-serve-static-core@*": - version "4.0.56" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.0.56.tgz#4ed556dcff9012cce6b016e214fdc5ef6e99db7d" - dependencies: - "@types/node" "*" - -"@types/express@*", "@types/express@^4.0.39": - version "4.0.39" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.0.39.tgz#1441f21d52b33be8d4fa8a865c15a6a91cd0fa09" - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "*" - "@types/serve-static" "*" - -"@types/mime@*": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.0.tgz#5a7306e367c539b9f6543499de8dd519fac37a8b" - -"@types/morgan@^1.7.35": - version "1.7.35" - resolved "https://registry.yarnpkg.com/@types/morgan/-/morgan-1.7.35.tgz#6358f502931cc2583d7a94248c41518baa688494" - dependencies: - "@types/express" "*" - -"@types/node@*": - version "8.0.51" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.51.tgz#b31d716fb8d58eeb95c068a039b9b6292817d5fb" - -"@types/node@^6": - version "6.0.90" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.90.tgz#0ed74833fa1b73dcdb9409dcb1c97ec0a8b13b02" - -"@types/serve-static@*": - version "1.13.1" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.1.tgz#1d2801fa635d274cd97d4ec07e26b21b44127492" - dependencies: - "@types/express-serve-static-core" "*" - "@types/mime" "*" - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - -accepts@~1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" - dependencies: - mime-types "~2.1.16" - negotiator "0.6.1" - -acorn-dynamic-import@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" - dependencies: - acorn "^4.0.3" - -acorn@^4.0.3: - version "4.0.13" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" - -acorn@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7" - -ajv-keywords@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" - -ajv@^4.9.1: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - -ajv@^5.1.5: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.3.0.tgz#4414ff74a50879c208ee5fdc826e32c303549eda" - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -ansi-align@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" - dependencies: - string-width "^2.0.0" - -ansi-escapes@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -ansi-styles@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" - dependencies: - color-convert "^1.9.0" - -ansi-styles@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" - -anymatch@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" - dependencies: - micromatch "^2.1.5" - normalize-path "^2.0.0" - -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - -are-we-there-yet@~1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - -arr-exclude@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/arr-exclude/-/arr-exclude-1.0.0.tgz#dfc7c2e552a270723ccda04cf3128c8cbfe5c631" - -arr-flatten@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - -array-differ@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1, array-uniq@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - -arrify@^1.0.0, arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - -asn1.js@^4.0.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.2.tgz#8117ef4f7ed87cd8f89044b5bff97ac243a16c9a" - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - -assert@^1.1.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - dependencies: - util "0.10.3" - -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - -async@^2.1.2: - version "2.6.0" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" - dependencies: - lodash "^4.14.0" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - -auto-bind@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-1.1.0.tgz#93b864dc7ee01a326281775d5c75ca0a751e5961" - -ava-init@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/ava-init/-/ava-init-0.2.1.tgz#75ac4c8553326290d2866e63b62fa7035684bd58" - dependencies: - arr-exclude "^1.0.0" - execa "^0.7.0" - has-yarn "^1.0.0" - read-pkg-up "^2.0.0" - write-pkg "^3.1.0" - -ava-ts@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/ava-ts/-/ava-ts-0.23.0.tgz#5f8443ad8bf2eda772d91b61fdba7c148b10f212" - dependencies: - "@ava/babel-preset-stage-4" "^1.1.0" - "@ava/babel-preset-transform-test-files" "^3.0.0" - "@ava/write-file-atomic" "^2.2.0" - "@concordance/react" "^1.0.0" - ansi-escapes "^2.0.0" - ansi-styles "^3.1.0" - arr-flatten "^1.0.1" - array-union "^1.0.1" - array-uniq "^1.0.2" - arrify "^1.0.0" - auto-bind "^1.1.0" - ava-init "^0.2.0" - babel-core "^6.17.0" - babel-generator "^6.26.0" - babel-plugin-syntax-object-rest-spread "^6.13.0" - bluebird "^3.0.0" - caching-transform "^1.0.0" - chalk "^2.0.1" - chokidar "^1.4.2" - clean-stack "^1.1.1" - clean-yaml-object "^0.1.0" - cli-cursor "^2.1.0" - cli-spinners "^1.0.0" - cli-truncate "^1.0.0" - co-with-promise "^4.6.0" - code-excerpt "^2.1.0" - common-path-prefix "^1.0.0" - concordance "^3.0.0" - convert-source-map "^1.2.0" - core-assert "^0.2.0" - currently-unhandled "^0.4.1" - debug "^3.0.1" - dot-prop "^4.1.0" - empower-core "^0.6.1" - equal-length "^1.0.0" - figures "^2.0.0" - find-cache-dir "^1.0.0" - fn-name "^2.0.0" - get-port "^3.0.0" - globby "^6.0.0" - has-flag "^2.0.0" - hullabaloo-config-manager "^1.1.0" - ignore-by-default "^1.0.0" - import-local "^0.1.1" - indent-string "^3.0.0" - is-ci "^1.0.7" - is-generator-fn "^1.0.0" - is-obj "^1.0.0" - is-observable "^0.2.0" - is-promise "^2.1.0" - js-yaml "^3.8.2" - last-line-stream "^1.0.0" - lodash.clonedeepwith "^4.5.0" - lodash.debounce "^4.0.3" - lodash.difference "^4.3.0" - lodash.flatten "^4.2.0" - loud-rejection "^1.2.0" - make-dir "^1.0.0" - matcher "^1.0.0" - md5-hex "^2.0.0" - meow "^3.7.0" - ms "^2.0.0" - multimatch "^2.1.0" - observable-to-promise "^0.5.0" - option-chain "^1.0.0" - package-hash "^2.0.0" - pkg-conf "^2.0.0" - plur "^2.0.0" - pretty-ms "^3.0.0" - require-precompiled "^0.1.0" - resolve-cwd "^2.0.0" - safe-buffer "^5.1.1" - semver "^5.4.1" - slash "^1.0.0" - source-map-support "^0.4.0" - stack-utils "^1.0.1" - strip-ansi "^4.0.0" - strip-bom-buf "^1.0.0" - supports-color "^4.0.0" - time-require "^0.1.2" - trim-off-newlines "^1.0.1" - unique-temp-dir "^1.0.0" - update-notifier "^2.3.0" - -ava@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/ava/-/ava-0.23.0.tgz#beed11730adef74a857761b62b8882bf16d5a038" - dependencies: - "@ava/babel-preset-stage-4" "^1.1.0" - "@ava/babel-preset-transform-test-files" "^3.0.0" - "@ava/write-file-atomic" "^2.2.0" - "@concordance/react" "^1.0.0" - ansi-escapes "^2.0.0" - ansi-styles "^3.1.0" - arr-flatten "^1.0.1" - array-union "^1.0.1" - array-uniq "^1.0.2" - arrify "^1.0.0" - auto-bind "^1.1.0" - ava-init "^0.2.0" - babel-core "^6.17.0" - bluebird "^3.0.0" - caching-transform "^1.0.0" - chalk "^2.0.1" - chokidar "^1.4.2" - clean-stack "^1.1.1" - clean-yaml-object "^0.1.0" - cli-cursor "^2.1.0" - cli-spinners "^1.0.0" - cli-truncate "^1.0.0" - co-with-promise "^4.6.0" - code-excerpt "^2.1.0" - common-path-prefix "^1.0.0" - concordance "^3.0.0" - convert-source-map "^1.2.0" - core-assert "^0.2.0" - currently-unhandled "^0.4.1" - debug "^3.0.1" - dot-prop "^4.1.0" - empower-core "^0.6.1" - equal-length "^1.0.0" - figures "^2.0.0" - find-cache-dir "^1.0.0" - fn-name "^2.0.0" - get-port "^3.0.0" - globby "^6.0.0" - has-flag "^2.0.0" - hullabaloo-config-manager "^1.1.0" - ignore-by-default "^1.0.0" - import-local "^0.1.1" - indent-string "^3.0.0" - is-ci "^1.0.7" - is-generator-fn "^1.0.0" - is-obj "^1.0.0" - is-observable "^0.2.0" - is-promise "^2.1.0" - js-yaml "^3.8.2" - last-line-stream "^1.0.0" - lodash.clonedeepwith "^4.5.0" - lodash.debounce "^4.0.3" - lodash.difference "^4.3.0" - lodash.flatten "^4.2.0" - loud-rejection "^1.2.0" - make-dir "^1.0.0" - matcher "^1.0.0" - md5-hex "^2.0.0" - meow "^3.7.0" - ms "^2.0.0" - multimatch "^2.1.0" - observable-to-promise "^0.5.0" - option-chain "^1.0.0" - package-hash "^2.0.0" - pkg-conf "^2.0.0" - plur "^2.0.0" - pretty-ms "^3.0.0" - require-precompiled "^0.1.0" - resolve-cwd "^2.0.0" - safe-buffer "^5.1.1" - slash "^1.0.0" - source-map-support "^0.4.0" - stack-utils "^1.0.1" - strip-ansi "^4.0.0" - strip-bom-buf "^1.0.0" - supports-color "^4.0.0" - time-require "^0.1.2" - trim-off-newlines "^1.0.1" - unique-temp-dir "^1.0.0" - update-notifier "^2.3.0" - -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - -aws4@^1.2.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" - -babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-core@^6.17.0, babel-core@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" - dependencies: - babel-code-frame "^6.26.0" - babel-generator "^6.26.0" - babel-helpers "^6.24.1" - babel-messages "^6.23.0" - babel-register "^6.26.0" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - convert-source-map "^1.5.0" - debug "^2.6.8" - json5 "^0.5.1" - lodash "^4.17.4" - minimatch "^3.0.4" - path-is-absolute "^1.0.1" - private "^0.1.7" - slash "^1.0.0" - source-map "^0.5.6" - -babel-generator@^6.1.0, babel-generator@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.6" - trim-right "^1.0.1" - -babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" - dependencies: - babel-helper-explode-assignable-expression "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-call-delegate@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-explode-assignable-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-function-name@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" - dependencies: - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-get-function-arity@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-hoist-variables@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-regex@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" - dependencies: - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-remap-async-to-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helpers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-check-es2015-constants@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-espower@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-espower/-/babel-plugin-espower-2.3.2.tgz#5516b8fcdb26c9f0e1d8160749f6e4c65e71271e" - dependencies: - babel-generator "^6.1.0" - babylon "^6.1.0" - call-matcher "^1.0.0" - core-js "^2.0.0" - espower-location-detector "^1.0.0" - espurify "^1.6.0" - estraverse "^4.1.1" - -babel-plugin-syntax-async-functions@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" - -babel-plugin-syntax-exponentiation-operator@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" - -babel-plugin-syntax-object-rest-spread@^6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - -babel-plugin-syntax-trailing-function-commas@^6.20.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" - -babel-plugin-transform-async-to-generator@^6.16.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" - dependencies: - babel-helper-remap-async-to-generator "^6.24.1" - babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-destructuring@^6.19.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-function-name@^6.9.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-modules-commonjs@^6.18.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" - dependencies: - babel-plugin-transform-strict-mode "^6.24.1" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-types "^6.26.0" - -babel-plugin-transform-es2015-parameters@^6.21.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" - dependencies: - babel-helper-call-delegate "^6.24.1" - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-spread@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-sticky-regex@^6.8.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-unicode-regex@^6.11.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - regexpu-core "^2.0.0" - -babel-plugin-transform-exponentiation-operator@^6.8.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" - dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" - babel-plugin-syntax-exponentiation-operator "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-strict-mode@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-register@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" - dependencies: - babel-core "^6.26.0" - babel-runtime "^6.26.0" - core-js "^2.5.0" - home-or-tmp "^2.0.0" - lodash "^4.17.4" - mkdirp "^0.5.1" - source-map-support "^0.4.15" - -babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-template@^6.24.1, babel-template@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.24.1, babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@^6.24.1, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@^6.1.0, babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -base64-js@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" - -basic-auth@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.0.tgz#015db3f353e02e56377755f962742e8981e7bbba" - dependencies: - safe-buffer "5.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" - dependencies: - tweetnacl "^0.14.3" - -big.js@^3.1.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" - -binary-extensions@^1.0.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.10.0.tgz#9aeb9a6c5e88638aad171e167f5900abe24835d0" - -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - -bluebird@^3.0.0: - version "3.5.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - -body-parser@1.18.2, body-parser@^1.18.2: - version "1.18.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" - dependencies: - bytes "3.0.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.1" - http-errors "~1.6.2" - iconv-lite "0.4.19" - on-finished "~2.3.0" - qs "6.5.1" - raw-body "2.3.2" - type-is "~1.6.15" - -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - -boxen@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.2.2.tgz#3f1d4032c30ffea9d4b02c322eaf2ea741dcbce5" - dependencies: - ansi-align "^2.0.0" - camelcase "^4.0.0" - chalk "^2.0.1" - cli-boxes "^1.0.0" - string-width "^2.0.0" - term-size "^1.2.0" - widest-line "^1.0.0" - -brace-expansion@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.1.1.tgz#38b7ab55edb806ff2dcda1a7f1620773a477c49f" - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" - -browserify-zlib@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" - dependencies: - pako "~0.2.0" - -buf-compare@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - -buffer@^4.3.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - -caching-transform@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" - dependencies: - md5-hex "^1.2.0" - mkdirp "^0.5.1" - write-file-atomic "^1.1.4" - -call-matcher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-matcher/-/call-matcher-1.0.1.tgz#5134d077984f712a54dad3cbf62de28dce416ca8" - dependencies: - core-js "^2.0.0" - deep-equal "^1.0.0" - espurify "^1.6.0" - estraverse "^4.0.0" - -call-signature@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/call-signature/-/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - -camelcase@^4.0.0, camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - -capture-stack-trace@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -chalk@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.0.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" - dependencies: - ansi-styles "^3.1.0" - escape-string-regexp "^1.0.5" - supports-color "^4.0.0" - -chokidar@^1.4.2, chokidar@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -ci-info@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.1.tgz#47b44df118c48d2597b56d342e7e25791060171a" - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -clean-stack@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31" - -clean-yaml-object@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz#63fb110dc2ce1a84dc21f6d9334876d010ae8b68" - -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - dependencies: - restore-cursor "^2.0.0" - -cli-spinners@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.1.0.tgz#f1847b168844d917a671eb9d147e3df497c90d06" - -cli-truncate@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.1.0.tgz#2b2dfd83c53cfd3572b87fc4d430a808afb04086" - dependencies: - slice-ansi "^1.0.0" - string-width "^2.0.0" - -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -co-with-promise@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co-with-promise/-/co-with-promise-4.6.0.tgz#413e7db6f5893a60b942cf492c4bec93db415ab7" - dependencies: - pinkie-promise "^1.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - -code-excerpt@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/code-excerpt/-/code-excerpt-2.1.0.tgz#5dcc081e88f4a7e3b554e9e35d7ef232d47f8147" - dependencies: - convert-to-spaces "^1.0.1" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -color-convert@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" - dependencies: - color-name "^1.1.1" - -color-name@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" - dependencies: - delayed-stream "~1.0.0" - -common-path-prefix@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concordance@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/concordance/-/concordance-3.0.0.tgz#b2286af54405fc995fc7345b0b106d8dd073cb29" - dependencies: - date-time "^2.1.0" - esutils "^2.0.2" - fast-diff "^1.1.1" - function-name-support "^0.2.0" - js-string-escape "^1.0.1" - lodash.clonedeep "^4.5.0" - lodash.flattendeep "^4.4.0" - lodash.merge "^4.6.0" - md5-hex "^2.0.0" - semver "^5.3.0" - well-known-symbols "^1.0.0" - -configstore@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90" - dependencies: - dot-prop "^4.1.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - unique-string "^1.0.0" - write-file-atomic "^2.0.0" - xdg-basedir "^3.0.0" - -console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - dependencies: - date-now "^0.1.4" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - -convert-source-map@^1.2.0, convert-source-map@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" - -convert-to-spaces@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz#7e3e48bbe6d997b1417ddca2868204b4d3d85715" - -cookie-parser@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.4.3.tgz#0fe31fa19d000b95f4aadf1f53fdc2b8a203baa5" - dependencies: - cookie "0.3.1" - cookie-signature "1.0.6" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - -cookiejar@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.1.tgz#41ad57b1b555951ec171412a81942b1e8200d34a" - -core-assert@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f" - dependencies: - buf-compare "^1.0.0" - is-error "^2.2.0" - -core-js@^2.0.0, core-js@^2.4.0, core-js@^2.5.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -create-ecdh@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-error-class@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - dependencies: - capture-stack-trace "^1.0.0" - -create-hash@^1.1.0, create-hash@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - ripemd160 "^2.0.0" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: - version "1.1.6" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - dependencies: - array-find-index "^1.0.1" - -d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - dependencies: - es5-ext "^0.10.9" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - dependencies: - assert-plus "^1.0.0" - -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - -date-time@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" - -date-time@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/date-time/-/date-time-2.1.0.tgz#0286d1b4c769633b3ca13e1e62558d2dbdc2eba2" - dependencies: - time-zone "^1.0.0" - -debug@2.6.9, debug@^2.2.0, debug@^2.6.8: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - dependencies: - ms "2.0.0" - -debug@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - dependencies: - ms "2.0.0" - -decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -deep-equal@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - -deep-extend@~0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - -depd@1.1.1, depd@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" - -des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - dependencies: - repeating "^2.0.0" - -detect-indent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" - -detect-libc@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.2.tgz#71ad5d204bf17a6a6ca8f450c61454066ef461e1" - -diff@^3.1.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c" - -diffie-hellman@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -domain-browser@^1.1.1: - version "1.1.7" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" - -dot-prop@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - dependencies: - is-obj "^1.0.0" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - -elliptic@^6.0.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - -empower-core@^0.6.1: - version "0.6.2" - resolved "https://registry.yarnpkg.com/empower-core/-/empower-core-0.6.2.tgz#5adef566088e31fba80ba0a36df47d7094169144" - dependencies: - call-signature "0.0.2" - core-js "^2.0.0" - -encodeurl@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" - -enhanced-resolve@^3.0.0, enhanced-resolve@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - object-assign "^4.0.1" - tapable "^0.2.7" - -equal-length@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/equal-length/-/equal-length-1.0.1.tgz#21ca112d48ab24b4e1e7ffc0e5339d31fdfc274c" - -errno@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" - dependencies: - prr "~0.0.0" - -error-ex@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" - dependencies: - is-arrayish "^0.2.1" - -es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.35" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.35.tgz#18ee858ce6a3c45c7d79e91c15fcca9ec568494f" - dependencies: - es6-iterator "~2.0.1" - es6-symbol "~3.1.1" - -es6-error@^4.0.1, es6-error@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98" - -es6-iterator@^2.0.1, es6-iterator@~2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-map@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-set "~0.1.5" - es6-symbol "~3.1.1" - event-emitter "~0.3.5" - -es6-set@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-symbol "3.1.1" - event-emitter "~0.3.5" - -es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - dependencies: - d "1" - es5-ext "~0.10.14" - -es6-weak-map@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -escope@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" - dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" - esrecurse "^4.1.0" - estraverse "^4.1.1" - -espower-location-detector@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/espower-location-detector/-/espower-location-detector-1.0.0.tgz#a17b7ecc59d30e179e2bef73fb4137704cb331b5" - dependencies: - is-url "^1.2.1" - path-is-absolute "^1.0.0" - source-map "^0.5.0" - xtend "^4.0.0" - -esprima@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" - -espurify@^1.6.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.7.0.tgz#1c5cf6cbccc32e6f639380bd4f991fab9ba9d226" - dependencies: - core-js "^2.0.0" - -esrecurse@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" - dependencies: - estraverse "^4.1.0" - object-assign "^4.0.1" - -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - -event-emitter@~0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - dependencies: - d "1" - es5-ext "~0.10.14" - -events@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - dependencies: - fill-range "^2.1.0" - -express@^4.16.2: - version "4.16.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" - dependencies: - accepts "~1.3.4" - array-flatten "1.1.1" - body-parser "1.18.2" - content-disposition "0.5.2" - content-type "~1.0.4" - cookie "0.3.1" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.1" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.1.0" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.2" - path-to-regexp "0.1.7" - proxy-addr "~2.0.2" - qs "6.5.1" - range-parser "~1.2.0" - safe-buffer "5.1.1" - send "0.16.1" - serve-static "1.13.1" - setprototypeof "1.1.0" - statuses "~1.3.1" - type-is "~1.6.15" - utils-merge "1.0.1" - vary "~1.1.2" - -extend@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" - -extsprintf@1.3.0, extsprintf@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - -fast-deep-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" - -fast-diff@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154" - -fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - dependencies: - escape-string-regexp "^1.0.5" - -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - -fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -finalhandler@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" - dependencies: - debug "2.6.9" - encodeurl "~1.0.1" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.2" - statuses "~1.3.1" - unpipe "~1.0.0" - -find-cache-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" - dependencies: - commondir "^1.0.1" - make-dir "^1.0.0" - pkg-dir "^2.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - dependencies: - locate-path "^2.0.0" - -fn-name@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" - -for-in@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - dependencies: - for-in "^1.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -fsevents@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.39" - -fstream-ignore@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" - -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -function-name-support@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/function-name-support/-/function-name-support-0.2.0.tgz#55d3bfaa6eafd505a50f9bc81fdf57564a0bb071" - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -get-caller-file@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" - -get-port@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - dependencies: - assert-plus "^1.0.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" - -glob@^7.0.3, glob@^7.0.5: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.0.tgz#10d34039e0df04272e262cf24224f7209434df4f" - dependencies: - ini "^1.3.4" - -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - -globby@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -got@^6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" - dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.2: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" - -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" - dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -has-color@~0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - -has-yarn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-1.0.0.tgz#89e25db604b725c8f5976fff0addc921b828a5a7" - -hash-base@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" - dependencies: - inherits "^2.0.1" - -hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.0" - -hawk@3.1.3, hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - -homedir-polyfill@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" - dependencies: - parse-passwd "^1.0.0" - -hosted-git-info@^2.1.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" - -http-errors@1.6.2, http-errors@~1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" - dependencies: - depd "1.1.1" - inherits "2.0.3" - setprototypeof "1.0.3" - statuses ">= 1.3.1 < 2" - -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" - -hullabaloo-config-manager@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/hullabaloo-config-manager/-/hullabaloo-config-manager-1.1.1.tgz#1d9117813129ad035fd9e8477eaf066911269fe3" - dependencies: - dot-prop "^4.1.0" - es6-error "^4.0.2" - graceful-fs "^4.1.11" - indent-string "^3.1.0" - json5 "^0.5.1" - lodash.clonedeep "^4.5.0" - lodash.clonedeepwith "^4.5.0" - lodash.isequal "^4.5.0" - lodash.merge "^4.6.0" - md5-hex "^2.0.0" - package-hash "^2.0.0" - pkg-dir "^2.0.0" - resolve-from "^3.0.0" - safe-buffer "^5.0.1" - -iconv-lite@0.4.19: - version "0.4.19" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" - -ieee754@^1.1.4: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" - -ignore-by-default@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - -import-local@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-0.1.1.tgz#b1179572aacdc11c6a91009fb430dbcab5f668a8" - dependencies: - pkg-dir "^2.0.0" - resolve-cwd "^2.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - dependencies: - repeating "^2.0.0" - -indent-string@^3.0.0, indent-string@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" - -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - -ini@^1.3.4, ini@~1.3.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - -interpret@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.4.tgz#820cdd588b868ffb191a809506d6c9c8f212b1b0" - -invariant@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" - dependencies: - loose-envify "^1.0.0" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - -ipaddr.js@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" - -irregular-plurals@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.4.0.tgz#2ca9b033651111855412f16be5d77c62a458a766" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - dependencies: - binary-extensions "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-ci@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" - dependencies: - ci-info "^1.0.0" - -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - -is-error@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c" - -is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - -is-generator-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - dependencies: - is-extglob "^1.0.0" - -is-installed-globally@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" - dependencies: - global-dirs "^0.1.0" - is-path-inside "^1.0.0" - -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" - -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - dependencies: - kind-of "^3.0.2" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - dependencies: - kind-of "^3.0.2" - -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - -is-observable@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" - dependencies: - symbol-observable "^0.2.2" - -is-path-inside@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" - dependencies: - path-is-inside "^1.0.1" - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - -is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - -is-stream@^1.0.0, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - -is-url@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26" - -is-utf8@^0.2.0, is-utf8@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -js-string-escape@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" - -js-tokens@^3.0.0, js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - -js-yaml@^3.8.2: - version "3.10.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - -json-loader@^0.5.4: - version "0.5.7" - resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" - -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - -json5@^0.5.0, json5@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -kind-of@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - dependencies: - is-buffer "^1.1.5" - -last-line-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/last-line-stream/-/last-line-stream-1.0.0.tgz#d1b64d69f86ff24af2d04883a2ceee14520a5600" - dependencies: - through2 "^2.0.0" - -latest-version@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" - dependencies: - package-json "^4.0.0" - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - dependencies: - invert-kv "^1.0.0" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -loader-runner@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" - -loader-utils@^1.0.2, loader-utils@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - -lodash.clonedeepwith@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz#6ee30573a03a1a60d670a62ef33c10cf1afdbdd4" - -lodash.debounce@^4.0.3: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - -lodash.difference@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" - -lodash.flatten@^4.2.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - -lodash.flattendeep@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" - -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - -lodash.merge@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" - -lodash@^4.14.0, lodash@^4.17.4: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - -loose-envify@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" - dependencies: - js-tokens "^3.0.0" - -loud-rejection@^1.0.0, loud-rejection@^1.2.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lowercase-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - -lru-cache@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -make-dir@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51" - dependencies: - pify "^3.0.0" - -make-error@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.0.tgz#52ad3a339ccf10ce62b4040b708fe707244b8b96" - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - -matcher@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/matcher/-/matcher-1.0.0.tgz#aaf0c4816eb69b92094674175625f3466b0e3e19" - dependencies: - escape-string-regexp "^1.0.4" - -md5-hex@^1.2.0, md5-hex@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" - dependencies: - md5-o-matic "^0.1.1" - -md5-hex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-2.0.0.tgz#d0588e9f1c74954492ecd24ac0ac6ce997d92e33" - dependencies: - md5-o-matic "^0.1.1" - -md5-o-matic@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" - -md5.js@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - dependencies: - mimic-fn "^1.0.0" - -memory-fs@^0.4.0, memory-fs@~0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -meow@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - -micromatch@^2.1.5: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@~1.30.0: - version "1.30.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" - -mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.7: - version "2.1.17" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" - dependencies: - mime-db "~1.30.0" - -mime@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" - -mimic-fn@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" - -minimalistic-assert@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -"mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -morgan@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.0.tgz#d01fa6c65859b76fcf31b3cb53a3821a311d8051" - dependencies: - basic-auth "~2.0.0" - debug "2.6.9" - depd "~1.1.1" - on-finished "~2.3.0" - on-headers "~1.0.1" - -ms@2.0.0, ms@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -multimatch@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" - dependencies: - array-differ "^1.0.0" - array-union "^1.0.1" - arrify "^1.0.0" - minimatch "^3.0.0" - -nan@^2.3.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" - -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - -node-libs-browser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" - dependencies: - assert "^1.1.1" - browserify-zlib "^0.1.4" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^1.0.0" - https-browserify "0.0.1" - os-browserify "^0.2.0" - path-browserify "0.0.0" - process "^0.11.0" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.0.5" - stream-browserify "^2.0.1" - stream-http "^2.3.1" - string_decoder "^0.10.25" - timers-browserify "^2.0.2" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.10.3" - vm-browserify "0.0.4" - -node-pre-gyp@^0.6.39: - version "0.6.39" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" - dependencies: - detect-libc "^1.0.2" - hawk "3.1.3" - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.0.2" - rc "^1.1.7" - request "2.81.0" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^2.2.1" - tar-pack "^3.4.0" - -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - dependencies: - abbrev "1" - osenv "^0.1.4" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.0.0, normalize-path@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - dependencies: - remove-trailing-separator "^1.0.1" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - dependencies: - path-key "^2.0.0" - -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -oauth-sign@~0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -observable-to-promise@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/observable-to-promise/-/observable-to-promise-0.5.0.tgz#c828f0f0dc47e9f86af8a4977c5d55076ce7a91f" - dependencies: - is-observable "^0.2.0" - symbol-observable "^1.0.4" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" - -once@^1.3.0, once@^1.3.3: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - dependencies: - mimic-fn "^1.0.0" - -option-chain@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/option-chain/-/option-chain-1.0.0.tgz#938d73bd4e1783f948d34023644ada23669e30f2" - -os-browserify@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - -osenv@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - -p-limit@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - dependencies: - p-limit "^1.1.0" - -package-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-1.2.0.tgz#003e56cd57b736a6ed6114cc2b81542672770e44" - dependencies: - md5-hex "^1.3.0" - -package-hash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-2.0.0.tgz#78ae326c89e05a4d813b68601977af05c00d2a0d" - dependencies: - graceful-fs "^4.1.11" - lodash.flattendeep "^4.4.0" - md5-hex "^2.0.0" - release-zalgo "^1.0.0" - -package-json@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" - dependencies: - got "^6.7.1" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" - -pako@~0.2.0: - version "0.2.9" - resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" - -parse-asn1@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - -parse-ms@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-0.1.2.tgz#dd3fa25ed6c2efc7bdde12ad9b46c163aa29224e" - -parse-ms@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - -parseurl@~1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" - -path-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - -path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - -path-key@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - dependencies: - pify "^2.0.0" - -pbkdf2@^3.0.3: - version "3.0.14" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.14.tgz#a35e13c64799b06ce15320f459c230e68e73bade" - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - -pinkie-promise@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" - dependencies: - pinkie "^1.0.0" - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -pkg-conf@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.0.0.tgz#071c87650403bccfb9c627f58751bfe47c067279" - dependencies: - find-up "^2.0.0" - load-json-file "^2.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - dependencies: - find-up "^2.1.0" - -plur@^2.0.0, plur@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" - dependencies: - irregular-plurals "^1.0.0" - -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - -pretty-ms@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-0.2.2.tgz#da879a682ff33a37011046f13d627f67c73b84f6" - dependencies: - parse-ms "^0.1.0" - -pretty-ms@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-3.0.1.tgz#7c18b73c228a9b8f6edc2835a12cb8f7ed85f9f4" - dependencies: - parse-ms "^1.0.0" - plur "^2.1.2" - -private@^0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - -process@^0.11.0: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - -proxy-addr@~2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec" - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.5.2" - -prr@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - -public-encrypt@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - -punycode@^1.2.4, punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - -qs@6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" - -qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - -randomatic@^1.1.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79" - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.3.tgz#b96b7df587f01dd91726c418f30553b1418e3d62" - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - -raw-body@2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" - dependencies: - bytes "3.0.0" - http-errors "1.6.2" - iconv-lite "0.4.19" - unpipe "1.0.0" - -rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: - version "1.2.2" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.6: - version "2.3.3" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - -readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" - dependencies: - graceful-fs "^4.1.2" - minimatch "^3.0.2" - readable-stream "^2.0.2" - set-immediate-shim "^1.0.1" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -regenerate@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" - -regenerator-runtime@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" - -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - dependencies: - is-equal-shallow "^0.1.3" - -regexpu-core@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -registry-auth-token@^3.0.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006" - dependencies: - rc "^1.1.6" - safe-buffer "^5.0.1" - -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - dependencies: - rc "^1.0.1" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - dependencies: - jsesc "~0.5.0" - -release-zalgo@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" - dependencies: - es6-error "^4.0.1" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - -repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - dependencies: - is-finite "^1.0.0" - -request@2.81.0: - version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" - uuid "^3.0.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - -require-precompiled@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - dependencies: - resolve-from "^3.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - -rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" - dependencies: - glob "^7.0.5" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" - dependencies: - hash-base "^2.0.0" - inherits "^2.0.1" - -safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" - -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - dependencies: - semver "^5.0.3" - -"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - -send@0.16.1: - version "0.16.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" - dependencies: - debug "2.6.9" - depd "~1.1.1" - destroy "~1.0.4" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.6.2" - mime "1.4.1" - ms "2.0.0" - on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.3.1" - -serve-static@1.13.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719" - dependencies: - encodeurl "~1.0.1" - escape-html "~1.0.3" - parseurl "~1.3.2" - send "0.16.1" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - -setprototypeof@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.9" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.9.tgz#98f64880474b74f4a38b8da9d3c0f2d104633e7d" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - -slice-ansi@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" - dependencies: - is-fullwidth-code-point "^2.0.0" - -slide@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" - -source-map-support@^0.4.0, source-map-support@^0.4.15: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - dependencies: - source-map "^0.5.6" - -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - -source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" - dependencies: - spdx-license-ids "^1.0.2" - -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" - -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - -sshpk@^1.7.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jsbn "~0.1.0" - tweetnacl "~0.14.0" - -stack-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620" - -"statuses@>= 1.3.1 < 2": - version "1.4.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" - -statuses@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" - -stream-browserify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-http@^2.3.1: - version "2.7.2" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad" - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.2.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -string-width@^1.0.1, string-width@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string_decoder@^0.10.25: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" - dependencies: - safe-buffer "~5.1.0" - -stringstream@~0.0.4: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" - -strip-bom-buf@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" - dependencies: - is-utf8 "^0.2.1" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - dependencies: - get-stdin "^4.0.1" - -strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -supports-color@^4.0.0, supports-color@^4.2.1: - version "4.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" - dependencies: - has-flag "^2.0.0" - -symbol-observable@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" - -symbol-observable@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" - -tapable@^0.2.7: - version "0.2.8" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" - -tar-pack@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" - dependencies: - debug "^2.2.0" - fstream "^1.0.10" - fstream-ignore "^1.0.5" - once "^1.3.3" - readable-stream "^2.1.4" - rimraf "^2.5.1" - tar "^2.2.1" - uid-number "^0.0.6" - -tar@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" - -term-size@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" - dependencies: - execa "^0.7.0" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - -through2@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -time-require@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" - dependencies: - chalk "^0.4.0" - date-time "^0.1.1" - pretty-ms "^0.2.1" - text-table "^0.2.0" - -time-zone@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d" - -timed-out@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - -timers-browserify@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.4.tgz#96ca53f4b794a5e7c0e1bd7cc88a372298fa01e6" - dependencies: - setimmediate "^1.0.4" - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - -tough-cookie@~2.3.0: - version "2.3.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" - dependencies: - punycode "^1.4.1" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - -trim-off-newlines@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - -ts-loader@^2.3.4: - version "2.3.7" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-2.3.7.tgz#a9028ced473bee12f28a75f9c5b139979d33f2fc" - dependencies: - chalk "^2.0.1" - enhanced-resolve "^3.0.0" - loader-utils "^1.0.2" - semver "^5.0.1" - -ts-node@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-3.3.0.tgz#c13c6a3024e30be1180dd53038fc209289d4bf69" - dependencies: - arrify "^1.0.0" - chalk "^2.0.0" - diff "^3.1.0" - make-error "^1.1.1" - minimist "^1.2.0" - mkdirp "^0.5.1" - source-map-support "^0.4.0" - tsconfig "^6.0.0" - v8flags "^3.0.0" - yn "^2.0.0" - -tsconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-6.0.0.tgz#6b0e8376003d7af1864f8df8f89dd0059ffcd032" - dependencies: - strip-bom "^3.0.0" - strip-json-comments "^2.0.0" - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - -type-is@~1.6.15: - version "1.6.15" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" - dependencies: - media-typer "0.3.0" - mime-types "~2.1.15" - -typescript@^2.5.2: - version "2.6.1" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.1.tgz#ef39cdea27abac0b500242d6726ab90e0c846631" - -uglify-js@^2.8.29: - version "2.8.29" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - -uglifyjs-webpack-plugin@^0.4.6: - version "0.4.6" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" - dependencies: - source-map "^0.5.6" - uglify-js "^2.8.29" - webpack-sources "^1.0.1" - -uid-number@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - -uid2@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" - -unique-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" - dependencies: - crypto-random-string "^1.0.0" - -unique-temp-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz#6dce95b2681ca003eebfb304a415f9cbabcc5385" - dependencies: - mkdirp "^0.5.1" - os-tmpdir "^1.0.1" - uid2 "0.0.3" - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - -unzip-response@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" - -update-notifier@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.3.0.tgz#4e8827a6bb915140ab093559d7014e3ebb837451" - dependencies: - boxen "^1.2.1" - chalk "^2.0.1" - configstore "^3.0.0" - import-lazy "^2.1.0" - is-installed-globally "^0.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - dependencies: - prepend-http "^1.0.1" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -util@0.10.3, util@^0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - dependencies: - inherits "2.0.1" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - -uuid@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" - -v8flags@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.0.1.tgz#dce8fc379c17d9f2c9e9ed78d89ce00052b1b76b" - dependencies: - homedir-polyfill "^1.0.1" - -validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" - dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vm-browserify@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - dependencies: - indexof "0.0.1" - -watchpack@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.4.0.tgz#4a1472bcbb952bd0a9bb4036801f954dfb39faac" - dependencies: - async "^2.1.2" - chokidar "^1.7.0" - graceful-fs "^4.1.2" - -webpack-sources@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.2.tgz#d0148ec083b3b5ccef1035a6b3ec16442983b27a" - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@^3.5.5: - version "3.8.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.8.1.tgz#b16968a81100abe61608b0153c9159ef8bb2bd83" - dependencies: - acorn "^5.0.0" - acorn-dynamic-import "^2.0.0" - ajv "^5.1.5" - ajv-keywords "^2.0.0" - async "^2.1.2" - enhanced-resolve "^3.4.0" - escope "^3.6.0" - interpret "^1.0.0" - json-loader "^0.5.4" - json5 "^0.5.1" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - mkdirp "~0.5.0" - node-libs-browser "^2.0.0" - source-map "^0.5.3" - supports-color "^4.2.1" - tapable "^0.2.7" - uglifyjs-webpack-plugin "^0.4.6" - watchpack "^1.4.0" - webpack-sources "^1.0.1" - yargs "^8.0.2" - -well-known-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/well-known-symbols/-/well-known-symbols-1.0.0.tgz#73c78ae81a7726a8fa598e2880801c8b16225518" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - -which@^1.2.9: - version "1.3.0" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" - dependencies: - string-width "^1.0.2" - -widest-line@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" - dependencies: - string-width "^1.0.1" - -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -write-file-atomic@^1.1.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - -write-file-atomic@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-json-file@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f" - dependencies: - detect-indent "^5.0.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - pify "^3.0.0" - sort-keys "^2.0.0" - write-file-atomic "^2.0.0" - -write-pkg@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-3.1.0.tgz#030a9994cc9993d25b4e75a9f1a1923607291ce9" - dependencies: - sort-keys "^2.0.0" - write-json-file "^2.2.0" - -xdg-basedir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" - dependencies: - camelcase "^4.1.0" - -yargs@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" - dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" - -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - -yn@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" diff --git a/local_modules/web3-providers-http/package-lock.json b/local_modules/web3-providers-http/package-lock.json deleted file mode 100644 index 0d272c3..0000000 --- a/local_modules/web3-providers-http/package-lock.json +++ /dev/null @@ -1,2171 +0,0 @@ -{ - "name": "web3-providers-http", - "version": "1.6.1", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@definitelytyped/header-parser": { - "version": "0.0.99", - "resolved": "https://registry.npmjs.org/@definitelytyped/header-parser/-/header-parser-0.0.99.tgz", - "integrity": "sha512-FN/m6l8dnUyZd8cj5YYGssiTmSyKbzcVd3NWJRlu1q+ATD57wE9pJG2lizF5zNROmLwIP5yKJ93z/AB2+8oBtQ==", - "dev": true, - "requires": { - "@definitelytyped/typescript-versions": "^0.0.99", - "@types/parsimmon": "^1.10.1", - "parsimmon": "^1.13.0" - } - }, - "@definitelytyped/typescript-versions": { - "version": "0.0.99", - "resolved": "https://registry.npmjs.org/@definitelytyped/typescript-versions/-/typescript-versions-0.0.99.tgz", - "integrity": "sha512-7IgSo82dS8e5NZLh8M1VsM3LLyD2Dnq4X3JbueuwfS10liFrCegb0Re+06h87nOtlOW9NCyfRRfYiaLjP7DRUA==", - "dev": true - }, - "@definitelytyped/utils": { - "version": "0.0.99", - "resolved": "https://registry.npmjs.org/@definitelytyped/utils/-/utils-0.0.99.tgz", - "integrity": "sha512-QKiP6wlPMjzC9v9cCEDV/oYE/YCPuk6vS50oWqfRl23/6YSJdA59cWOD2WO0mSgPvCI5kJE3nRjTRrm3FvTMaw==", - "dev": true, - "requires": { - "@definitelytyped/typescript-versions": "^0.0.99", - "@qiwi/npm-registry-client": "^8.9.1", - "@types/node": "^14.14.35", - "charm": "^1.0.2", - "fs-extra": "^8.1.0", - "fstream": "^1.0.12", - "tar": "^2.2.2", - "tar-stream": "^2.1.4" - }, - "dependencies": { - "@types/node": { - "version": "14.18.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.0.tgz", - "integrity": "sha512-0GeIl2kmVMXEnx8tg1SlG6Gg8vkqirrW752KqolYo1PHevhhZN3bhJ67qHj+bQaINhX0Ra3TlWwRvMCd9iEfNQ==", - "dev": true - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@qiwi/npm-registry-client": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/@qiwi/npm-registry-client/-/npm-registry-client-8.9.1.tgz", - "integrity": "sha512-rZF+mG+NfijR0SHphhTLHRr4aM4gtfdwoAMY6we2VGQam8vkN1cxGG1Lg/Llrj8Dd0Mu6VjdFQRyMMRZxtZR2A==", - "dev": true, - "requires": { - "concat-stream": "^2.0.0", - "graceful-fs": "^4.2.4", - "normalize-package-data": "~1.0.1 || ^2.0.0 || ^3.0.0", - "npm-package-arg": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^8.0.0", - "npmlog": "2 || ^3.1.0 || ^4.0.0", - "once": "^1.4.0", - "request": "^2.88.2", - "retry": "^0.12.0", - "safe-buffer": "^5.2.1", - "semver": "2 >=2.2.1 || 3.x || 4 || 5 || 7", - "slide": "^1.1.6", - "ssri": "^8.0.0" - } - }, - "@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "16.11.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.11.tgz", - "integrity": "sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw==" - }, - "@types/parsimmon": { - "version": "1.10.6", - "resolved": "https://registry.npmjs.org/@types/parsimmon/-/parsimmon-1.10.6.tgz", - "integrity": "sha512-FwAQwMRbkhx0J6YELkwIpciVzCcgEqXEbIrIn3a2P5d3kGEHQ3wVhlN3YdVepYP+bZzCYO6OjmD4o9TGOZ40rA==", - "dev": true - }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "requires": { - "@types/node": "*" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - } - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "blakejs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.1.tgz", - "integrity": "sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==" - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, - "requires": { - "inherits": "~2.0.0" - } - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "charm": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/charm/-/charm-1.0.2.tgz", - "integrity": "sha1-it02cVOm2aWBMxBSxAkJkdqZXjU=", - "dev": true, - "requires": { - "inherits": "^2.0.1" - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "optional": true - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", - "dev": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true, - "optional": true - }, - "cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true, - "optional": true - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true, - "optional": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "dts-critic": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/dts-critic/-/dts-critic-3.3.11.tgz", - "integrity": "sha512-HMO2f9AO7ge44YO8OK18f+cxm/IaE1CFuyNFbfJRCEbyazWj5X5wWDF6W4CGdo5Ax0ILYVfJ7L/rOwuUN1fzWw==", - "dev": true, - "requires": { - "@definitelytyped/header-parser": "^0.0.99", - "command-exists": "^1.2.8", - "rimraf": "^3.0.2", - "semver": "^6.2.0", - "tmp": "^0.2.1", - "yargs": "^15.3.1" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "dtslint": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/dtslint/-/dtslint-3.7.0.tgz", - "integrity": "sha512-kVFV+zI2zwCUuwjLl2XVuIoSeLIqba6SmFlBKicwrlk1v0If+x6/cNm7UljSsqN5fJM/K2JJfd9NPPDVBXjjuA==", - "dev": true, - "requires": { - "@definitelytyped/header-parser": "^0.0.99", - "@definitelytyped/typescript-versions": "^0.0.99", - "@definitelytyped/utils": "^0.0.99", - "dts-critic": "^3.3.11", - "fs-extra": "^6.0.1", - "json-stable-stringify": "^1.0.1", - "strip-json-comments": "^2.0.1", - "tslint": "5.14.0", - "yargs": "^15.1.0" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "requires": { - "js-sha3": "^0.8.0" - } - }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "ethereumjs-util": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz", - "integrity": "sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw==", - "requires": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - } - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "fs-extra": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", - "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true, - "optional": true - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "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-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true, - "optional": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "dev": true - }, - "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dev": true, - "requires": { - "mime-db": "1.51.0" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "minipass": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", - "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node-gyp-build": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==" - }, - "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "optional": true - }, - "number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parsimmon": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.18.0.tgz", - "integrity": "sha512-EtVsGuQfDgwGgXzsSDe+5egRPwbcgKRd/omQ1L3Oj2pHy0gYqd+Q7zrBIQ7P/BN6DWUP9vV45HIgZHCmssdzMg==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true, - "optional": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "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" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "requires": { - "bn.js": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - } - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "secp256k1": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz", - "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==", - "requires": { - "elliptic": "^6.5.2", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", - "dev": true, - "optional": true - }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "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" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "tar": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", - "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", - "dev": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.12", - "inherits": "2" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "tslint": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.14.0.tgz", - "integrity": "sha512-IUla/ieHVnB8Le7LdQFRGlVJid2T/gaJe5VkjzRVSRR6pA2ODYrnfR1hmxi+5+au9l50jBwpbBL34txgv4NnTQ==", - "dev": true, - "requires": { - "babel-code-frame": "^6.22.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^3.2.0", - "glob": "^7.1.1", - "js-yaml": "^3.7.0", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.8.0", - "tsutils": "^2.29.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typescript": { - "version": "3.9.10", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", - "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", - "dev": true, - "requires": { - "builtins": "^1.0.3" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - } - } - }, - "web3-core-helpers": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.6.1.tgz", - "integrity": "sha512-om2PZvK1uoWcgMq6JfcSx3241LEIVF6qi2JuHz2SLKiKEW5UsBUaVx0mNCmcZaiuYQCyOsLS3r33q5AdM+v8ng==", - "requires": { - "web3-eth-iban": "1.6.1", - "web3-utils": "1.6.1" - } - }, - "web3-eth-iban": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.6.1.tgz", - "integrity": "sha512-91H0jXZnWlOoXmc13O9NuQzcjThnWyAHyDn5Yf7u6mmKOhpJSGF/OHlkbpXt1Y4v2eJdEPaVFa+6i8aRyagE7Q==", - "requires": { - "bn.js": "^4.11.9", - "web3-utils": "1.6.1" - } - }, - "web3-utils": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.6.1.tgz", - "integrity": "sha512-RidGKv5kOkcerI6jQqDFDoTllQQqV+rPhTzZHhmbqtFObbYpU93uc+yG1LHivRTQhA6llIx67iudc/vzisgO+w==", - "requires": { - "bn.js": "^4.11.9", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "xhr2-cookies": { - "version": "file:local_modules/web3-providers-http/local_modules/xhr2-cookies", - "requires": { - "cookiejar": "^2.1.1" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } -} diff --git a/local_modules/web3-providers-http/package.json b/local_modules/web3-providers-http/package.json deleted file mode 100644 index dac04ae..0000000 --- a/local_modules/web3-providers-http/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "web3-providers-http", - "version": "1.6.1", - "description": "Module to handle web3 RPC connections over HTTP.", - "repository": "https://github.com/ethereum/web3.js/tree/1.x/packages/web3-providers-http", - "license": "LGPL-3.0", - "engines": { - "node": ">=8.0.0" - }, - "scripts": { - "compile": "tsc -b tsconfig.json", - "dtslint": "dtslint --localTs ../../node_modules/typescript/lib types" - }, - "types": "types/index.d.ts", - "main": "lib/index.js", - "dependencies": { - "web3-core-helpers": "1.6.1", - "xhr2-cookies": "file:local_modules/xhr2-cookies" - }, - "devDependencies": { - "dtslint": "^3.4.1", - "typescript": "^3.9.5" - } -} diff --git a/local_modules/web3-providers-http/src/index.js b/local_modules/web3-providers-http/src/index.js deleted file mode 100644 index 6b2a7e2..0000000 --- a/local_modules/web3-providers-http/src/index.js +++ /dev/null @@ -1,142 +0,0 @@ -/* - This file is part of web3.js. - - web3.js is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - web3.js is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with web3.js. If not, see . -*/ -/** @file httpprovider.js - * @authors: - * Marek Kotewicz - * Marian Oancea - * Fabian Vogelsteller - * @date 2015 - */ - -var errors = require('web3-core-helpers').errors; -var XHR2 = require('xhr2-cookies').XMLHttpRequest; // jshint ignore: line -var http = require('http'); -var https = require('https'); - - -/** - * HttpProvider should be used to send rpc calls over http - */ -var HttpProvider = function HttpProvider(host, options) { - options = options || {}; - - this.withCredentials = options.withCredentials || false; - this.timeout = options.timeout || 0; - this.headers = options.headers; - this.agent = options.agent; - this.connected = false; - - // keepAlive is true unless explicitly set to false - const keepAlive = options.keepAlive !== false; - this.host = host || 'http://localhost:8545'; - if (!this.agent) { - if (this.host.substring(0,5) === "https") { - this.httpsAgent = new https.Agent({ keepAlive }); - } else { - this.httpAgent = new http.Agent({ keepAlive }); - } - } -}; - -HttpProvider.prototype._prepareRequest = function(){ - var request; - - // the current runtime is a browser - if (typeof XMLHttpRequest !== 'undefined') { - request = new XMLHttpRequest(); - } else { - request = new XHR2(); - var agents = {httpsAgent: this.httpsAgent, httpAgent: this.httpAgent, baseUrl: this.baseUrl}; - - if (this.agent) { - agents.httpsAgent = this.agent.https; - agents.httpAgent = this.agent.http; - agents.baseUrl = this.agent.baseUrl; - } - - request.nodejsSet(agents); - } - - request.open('POST', this.host, true); - request.setRequestHeader('Content-Type','application/json'); - request.timeout = this.timeout; - request.withCredentials = this.withCredentials; - - if(this.headers) { - this.headers.forEach(function(header) { - request.setRequestHeader(header.name, header.value); - }); - } - - return request; -}; - -/** - * Should be used to make async request - * - * @method send - * @param {Object} payload - * @param {Function} callback triggered on end with (err, result) - */ -HttpProvider.prototype.send = function (payload, callback) { - var _this = this; - var request = this._prepareRequest(); - - request.onreadystatechange = function() { - if (request.readyState === 4 && request.timeout !== 1) { - var result = request.responseText; - var error = null; - - try { - result = JSON.parse(result); - } catch(e) { - error = errors.InvalidResponse(request.responseText); - } - - _this.connected = true; - callback(error, result); - } - }; - - request.ontimeout = function() { - _this.connected = false; - callback(errors.ConnectionTimeout(this.timeout)); - }; - - try { - request.send(JSON.stringify(payload)); - } catch(error) { - this.connected = false; - callback(errors.InvalidConnection(this.host)); - } -}; - -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/local_modules/web3-providers-http/tsconfig.json b/local_modules/web3-providers-http/tsconfig.json deleted file mode 100644 index 4c3deb7..0000000 --- a/local_modules/web3-providers-http/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "outDir": "./lib" - }, - "include": [ - "./src" - ] - } diff --git a/local_modules/web3-providers-http/types/index.d.ts b/local_modules/web3-providers-http/types/index.d.ts deleted file mode 100644 index 2f68ab3..0000000 --- a/local_modules/web3-providers-http/types/index.d.ts +++ /dev/null @@ -1,66 +0,0 @@ -/* - This file is part of web3.js. - - web3.js is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - web3.js is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with web3.js. If not, see . -*/ -/** - * @file index.d.ts - * @author Josh Stevens - * @date 2018 - */ -import * as http from 'http'; -import * as https from 'https'; - -import { HttpProviderBase, JsonRpcResponse } from 'web3-core-helpers'; - -export interface HttpHeader { - name: string; - value: string; -} - -export interface HttpProviderAgent { - baseUrl?: string; - http?: http.Agent; - https?: https.Agent; -} - -export interface HttpProviderOptions { - withCredentials?: boolean; - timeout?: number; - headers?: HttpHeader[]; - agent?: HttpProviderAgent; - keepAlive?: boolean; -} - -export class HttpProvider extends HttpProviderBase { - host: string; - - withCredentials: boolean; - timeout: number; - headers?: HttpHeader[]; - agent?: HttpProviderAgent; - connected: boolean; - - constructor(host?: string, options?: HttpProviderOptions); - - send( - payload: object, - callback?: ( - error: Error | null, - result: JsonRpcResponse | undefined - ) => void - ): void; - disconnect(): boolean; - supportsSubscriptions(): boolean; -} diff --git a/local_modules/web3-providers-http/types/tests/web3-provider-http-tests.ts b/local_modules/web3-providers-http/types/tests/web3-provider-http-tests.ts deleted file mode 100644 index 961ec58..0000000 --- a/local_modules/web3-providers-http/types/tests/web3-provider-http-tests.ts +++ /dev/null @@ -1,51 +0,0 @@ -/* - This file is part of web3.js. - - web3.js is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - web3.js is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with web3.js. If not, see . -*/ -/** - * @file web3-provider-http-tests.ts - * @author Josh Stevens , Samuel Furter - * @date 2018 - */ - -import * as http from 'http'; -import * as https from 'https'; -import { HttpProvider } from 'web3-providers'; -import { JsonRpcResponse } from 'web3-core-helpers'; - -const httpProvider = new HttpProvider('http://localhost:8545', { - timeout: 20000, - headers: [ - { - name: 'Access-Control-Allow-Origin', - value: '*' - } - ], - withCredentials: false, - agent: { - baseUrl: 'base', - http: new http.Agent({}), - https: new https.Agent({}) - } -}); - -// $ExpectType void -httpProvider.send({}, (error: Error | null) => {}); - -// $ExpectType void -httpProvider.send({}, (error: Error | null, result: JsonRpcResponse | undefined) => {}); - -// $ExpectType boolean -httpProvider.disconnect(); diff --git a/local_modules/web3-providers-http/types/tsconfig.json b/local_modules/web3-providers-http/types/tsconfig.json deleted file mode 100644 index 74e0aee..0000000 --- a/local_modules/web3-providers-http/types/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": ["es6"], - "target": "es6", - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "noEmit": true, - "allowSyntheticDefaultImports": false, - "baseUrl": ".", - "paths": { - "web3-providers": ["."] - } - } -} diff --git a/local_modules/web3-providers-http/types/tslint.json b/local_modules/web3-providers-http/types/tslint.json deleted file mode 100644 index 6429b0c..0000000 --- a/local_modules/web3-providers-http/types/tslint.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "dtslint/dtslint.json", - "rules": { - "semicolon": false, - "no-import-default-of-export-equals": false, - "file-name-casing": [true, "kebab-case"], - "whitespace": false, - "no-unnecessary-class": false - } -} diff --git a/package.json b/package.json index 9c667f6..92cade1 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "author": "", "license": "ISC", "dependencies": { + "@ethersproject/transactions": "^5.7.0", "@tornado/circomlib": "0.0.20-p2", "@tornado/fixed-merkle-tree": "0.6.1-p1", "@tornado/gas-price-oracle": "0.5.2-p1",