diff --git a/package.json b/package.json index 84811587a..997033054 100644 --- a/package.json +++ b/package.json @@ -44,10 +44,10 @@ "@0xproject/abi-gen": "1.0.4", "@0xproject/base-contract": "^1.0.4", "@0xproject/order-utils": "^1.0.1-rc.2", - "@0xproject/web3-wrapper": "^1.1.2", "@0xproject/types": "^1.0.1-rc.3", "@0xproject/typescript-typings": "^1.0.3", "@0xproject/utils": "^0.1.0", + "@0xproject/web3-wrapper": "^1.1.2", "@types/bignumber.js": "^4.0.3", "@types/fs-extra": "^5.0.0", "@types/json-stable-stringify": "^1.0.32", @@ -81,6 +81,7 @@ "web3": "0.20.0" }, "dependencies": { + "eth-gas-reporter": "^0.1.10", "fs-extra": "^5.0.0", "husky": "^0.14.3", "lint-staged": "^7.2.0", diff --git a/test/core/extensions/coreExchangeDispatcher.spec.ts b/test/core/extensions/coreExchangeDispatcher.spec.ts index 191731f7b..c9e9efe9e 100644 --- a/test/core/extensions/coreExchangeDispatcher.spec.ts +++ b/test/core/extensions/coreExchangeDispatcher.spec.ts @@ -79,7 +79,7 @@ contract('CoreExchangeDispatcher', accounts => { ), ]; - await assertLogEquivalence(expectedLogs, formattedLogs); + await assertLogEquivalence(formattedLogs, expectedLogs); }); describe('when the caller is not the owner of the contract', async () => { diff --git a/test/core/extensions/coreFactory.spec.ts b/test/core/extensions/coreFactory.spec.ts index 8d579941f..dc70c2046 100644 --- a/test/core/extensions/coreFactory.spec.ts +++ b/test/core/extensions/coreFactory.spec.ts @@ -112,7 +112,7 @@ contract('CoreFactory', accounts => { ), ]; - await assertLogEquivalence(expectedLogs, logs); + await assertLogEquivalence(logs, expectedLogs); }); describe('when the factory is not valid', async () => { diff --git a/test/core/extensions/coreIssuance.spec.ts b/test/core/extensions/coreIssuance.spec.ts index 4e1376e2a..a0acbd3c7 100644 --- a/test/core/extensions/coreIssuance.spec.ts +++ b/test/core/extensions/coreIssuance.spec.ts @@ -123,7 +123,7 @@ contract('CoreIssuance', accounts => { ); }); - await assertLogEquivalence(expectedLogs, formattedLogs); + await assertLogEquivalence(formattedLogs, expectedLogs); }); it('updates the balances of the components in the vault to belong to the set token', async () => { diff --git a/test/core/extensions/coreIssuanceOrder.spec.ts b/test/core/extensions/coreIssuanceOrder.spec.ts index c09101eca..a75b5152e 100644 --- a/test/core/extensions/coreIssuanceOrder.spec.ts +++ b/test/core/extensions/coreIssuanceOrder.spec.ts @@ -252,7 +252,7 @@ contract('CoreIssuanceOrder', accounts => { core.address ); - await assertLogEquivalence(expectedLogs, formattedLogs); + await assertLogEquivalence(formattedLogs, expectedLogs); }); describe('when the fill size is less than the order quantity', async () => { @@ -327,7 +327,7 @@ contract('CoreIssuanceOrder', accounts => { core.address ); - await assertLogEquivalence(expectedLogs, formattedLogs); + await assertLogEquivalence(formattedLogs, expectedLogs); }); }); @@ -609,7 +609,7 @@ contract('CoreIssuanceOrder', accounts => { core.address ); - await assertLogEquivalence(expectedLogs, formattedLogs); + await assertLogEquivalence(formattedLogs, expectedLogs); }); describe('when the quantity to cancel is greater than the open amount', async () => { diff --git a/test/core/extensions/coreIssuanceOrderScenarios.spec.ts b/test/core/extensions/coreIssuanceOrderScenarios.spec.ts index 40f2c7c4b..cd88250f9 100644 --- a/test/core/extensions/coreIssuanceOrderScenarios.spec.ts +++ b/test/core/extensions/coreIssuanceOrderScenarios.spec.ts @@ -273,7 +273,7 @@ contract('CoreIssuanceOrder::Scenarios', accounts => { core.address ); - await assertLogEquivalence(expectedLogs, [formattedLogs[0]]); + await assertLogEquivalence(formattedLogs, expectedLogs); }); }); }); diff --git a/test/lib/authorizable.spec.ts b/test/lib/authorizable.spec.ts index 65620c930..37793a4e0 100644 --- a/test/lib/authorizable.spec.ts +++ b/test/lib/authorizable.spec.ts @@ -83,7 +83,7 @@ contract('Authorizable', accounts => { authorizableContract.address, ); - await assertLogEquivalence(expectedLogs, formattedLogs); + await assertLogEquivalence(formattedLogs, expectedLogs); }); describe('when the caller is not the owner of the contract', async () => { @@ -161,7 +161,7 @@ contract('Authorizable', accounts => { authorizableContract.address, ); - await assertLogEquivalence(expectedLogs, formattedLogs); + await assertLogEquivalence(formattedLogs, expectedLogs); }); describe('when the caller is not the owner of the contract', async () => { @@ -240,7 +240,7 @@ contract('Authorizable', accounts => { authorizableContract.address, ); - await assertLogEquivalence(expectedLogs, formattedLogs); + await assertLogEquivalence(formattedLogs, expectedLogs); }); describe('when the caller is not the owner of the contract', async () => { diff --git a/truffle.js b/truffle.js index 02572c423..4850cd898 100644 --- a/truffle.js +++ b/truffle.js @@ -30,5 +30,13 @@ module.exports = { gas: 0xfffffffffff, gasPrice: 0x01, }, - } + + }, + mocha: { + reporter: 'eth-gas-reporter', + reporterOptions : { + currency: 'USD', + gasPrice: 5 + } + }, }; diff --git a/utils/logs.ts b/utils/logs.ts index 749c1d74b..f4364eccc 100644 --- a/utils/logs.ts +++ b/utils/logs.ts @@ -1,63 +1,45 @@ -import * as ABIDecoder from "abi-decoder"; -import * as chai from "chai"; -import * as _ from "lodash"; +import * as _ from 'lodash'; +import * as ABIDecoder from 'abi-decoder'; +import * as bigNumber from 'bignumber.js'; +import * as chai from 'chai'; -import { BigNumber } from "bignumber.js"; -import { Log } from "../types/common"; - -import ChaiSetup from "./chaiSetup"; +import { Log } from '../types/common'; +import ChaiSetup from './chaiSetup'; ChaiSetup.configure(); -const { expect, assert } = chai; +const { expect } = chai; -export async function getFormattedLogsFromTxHash(txHash: string): Promise { +export async function getFormattedLogsFromTxHash( + txHash: string +): Promise { const receipt = await web3.eth.getTransactionReceipt(txHash); const logs: ABIDecoder.DecodedLog[] = _.compact(ABIDecoder.decodeLogs(receipt.logs)); - return _.map(logs, (log) => formatLogEntry(log)); + return _.map(logs, log => formatLogEntry(log)); +} + +export async function assertLogEquivalence( + actual: Log[], + expected: Log[] +) { + const formattedExpectedLogs = _.map(expected, log => JSON.stringify(log)); + const formattedActualLogs = _.map(actual, log => JSON.stringify(log)); + expect(formattedActualLogs).to.include.members(formattedExpectedLogs); } -/** - * Converts a ABI Decoded Log into a Log - * Input Example - * { - * name: 'Transfer', - * events: [ - * { name: 'from', - * type: 'address', - * value: '0xc604980c49f5c3be6e7e42526ec00f211e333385' }, - * { name: 'to', - * type: 'address', - * value: '0xf8600afbf76236454a53e8dcc4d1feaa26fe1a77' }, - * { name: 'value', type: 'uint256', value: '10000000000000000000' }, - * ], - * address: '0xea76972f7587c27887aa403d84671717f6826f62' - * } - * - * Output Example - * { - * event: "Transfer", - * address: tokenAddress, - * args: { - * from, - * to, - * value, - * }, - * }; - */ -export function formatLogEntry(logs: ABIDecoder.DecodedLog): Log { +function formatLogEntry(logs: ABIDecoder.DecodedLog): Log { const { name, events, address } = logs; - let args: any = {}; + const args: any = {}; // Loop through each event and add to args - _.each(events, (event) => { + _.each(events, event => { const { name, type, value } = event; - var argValue: any = value; + let argValue: any = value; switch (true) { case (/^(uint)\d*\[\]/.test(type)): { break; } case (/^(uint)\d*/.test(type)): { - argValue = new BigNumber(value.toString()); + argValue = new bigNumber.BigNumber(value.toString()); break; } } @@ -71,7 +53,3 @@ export function formatLogEntry(logs: ABIDecoder.DecodedLog): Log { args, }; } - -export async function assertLogEquivalence(expected: Log[], actual: Log[]) { - expect(JSON.stringify(actual)).to.eql(JSON.stringify(expected)); -} diff --git a/yarn.lock b/yarn.lock index ecd727257..5070259cf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -176,10 +176,22 @@ dependencies: "@types/node" "*" +"@types/concat-stream@^1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-1.6.0.tgz#394dbe0bb5fee46b38d896735e8b68ef2390d00d" + dependencies: + "@types/node" "*" + "@types/events@*": version "1.2.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86" +"@types/form-data@0.0.33": + version "0.0.33" + resolved "https://registry.yarnpkg.com/@types/form-data/-/form-data-0.0.33.tgz#c9ac85b2a5fd18435b8c85d9ecb50e6d6c893ff8" + dependencies: + "@types/node" "*" + "@types/fs-extra@^5.0.0": version "5.0.2" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.2.tgz#235a7e2b56452cc0a6a4809b53e1d1eaffff9c96" @@ -220,6 +232,10 @@ version "9.6.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.2.tgz#e49ac1adb458835e95ca6487bc20f916b37aff23" +"@types/node@^8.0.0": + version "8.10.24" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.24.tgz#302a8f0c00bd1bf364471b6687258617c5d410fc" + "@types/node@^8.0.53": version "8.10.21" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.21.tgz#12b3f2359b27aa05a45d886c8ba1eb8d1a77e285" @@ -228,6 +244,14 @@ version "8.10.3" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.3.tgz#ee34a5c732703cf45d2fadc163a299a6b2f456c2" +"@types/node@^9.3.0", "@types/node@^9.4.1": + version "9.6.25" + resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.25.tgz#2009ab5432ed1f5e1918f7c6b000bc778549b216" + +"@types/qs@^6.2.31": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.5.1.tgz#a38f69c62528d56ba7bd1f91335a8004988d72f7" + "@types/react@*": version "16.4.7" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.4.7.tgz#f33f6d759a7e1833befa15224d68942d178a5a3f" @@ -246,7 +270,7 @@ abbrev@1.0.x: version "1.0.9" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" -abi-decoder@^1.0.9: +abi-decoder@^1.0.8, abi-decoder@^1.0.9: version "1.1.0" resolved "https://registry.yarnpkg.com/abi-decoder/-/abi-decoder-1.1.0.tgz#07f063e2a8f0ca1750fe4cd0dd112f6103ce3455" dependencies: @@ -472,6 +496,10 @@ arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + asn1.js@^4.0.0: version "4.10.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" @@ -1731,6 +1759,15 @@ cli-spinners@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" +cli-table3@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" + dependencies: + object-assign "^4.1.0" + string-width "^2.1.1" + optionalDependencies: + colors "^1.1.2" + cli-table@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" @@ -1880,7 +1917,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.6.0: +concat-stream@^1.4.6, concat-stream@^1.6.0: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" dependencies: @@ -2543,6 +2580,22 @@ etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" +eth-gas-reporter@^0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.1.10.tgz#6ac24958f0e018d4729902e802dc8449e8a5ff72" + dependencies: + abi-decoder "^1.0.8" + cli-table3 "^0.5.0" + colors "^1.1.2" + lodash "^4.17.4" + mocha "^4.1.0" + req-cwd "^2.0.0" + request "^2.83.0" + request-promise-native "^1.0.5" + shelljs "^0.7.8" + solidity-parser-antlr "^0.2.10" + sync-request "^6.0.0" + eth-lib@0.1.27: version "0.1.27" resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.27.tgz#f0b0fd144f865d2d6bf8257a40004f2e75ca1dd6" @@ -3024,20 +3077,20 @@ 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" +form-data@^2.2.0, form-data@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" dependencies: asynckit "^0.4.0" - combined-stream "^1.0.5" + combined-stream "1.0.6" mime-types "^2.1.12" -form-data@~2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" +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.6" + combined-stream "^1.0.5" mime-types "^2.1.12" forwarded@~0.1.2: @@ -3163,6 +3216,10 @@ get-own-enumerable-property-symbols@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz#5c4ad87f2834c4b9b4e84549dc1e0650fb38c24b" +get-port@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" + get-stream@3.0.0, get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -3541,6 +3598,17 @@ hosted-git-info@^2.1.4: version "2.6.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" +http-basic@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/http-basic/-/http-basic-7.0.0.tgz#82f0a506be942732ec8deebee80e746ef5736dba" + dependencies: + "@types/concat-stream" "^1.6.0" + "@types/node" "^9.4.1" + caseless "~0.12.0" + concat-stream "^1.4.6" + http-response-object "^3.0.1" + parse-cache-control "^1.0.1" + http-cache-semantics@3.8.1: version "3.8.1" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" @@ -3563,6 +3631,12 @@ http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" +http-response-object@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/http-response-object/-/http-response-object-3.0.1.tgz#90174d44c27b5e797cf6efe51a043bc889ae64bf" + dependencies: + "@types/node" "^9.3.0" + http-signature@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" @@ -5353,6 +5427,10 @@ parse-asn1@^5.0.0: evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" +parse-cache-control@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-cache-control/-/parse-cache-control-1.0.1.tgz#8eeab3e54fa56920fe16ba38f77fa21aacc2d74e" + parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -5583,6 +5661,12 @@ progress@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" +promise@^8.0.0: + version "8.0.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.0.1.tgz#e45d68b00a17647b6da711bf85ed6ed47208f450" + dependencies: + asap "~2.0.3" + proxy-addr@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" @@ -5598,6 +5682,10 @@ pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" +psl@^1.1.24: + version "1.1.29" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67" + public-encrypt@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994" @@ -5620,7 +5708,7 @@ qs@6.5.1, qs@~6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" -qs@6.5.2: +qs@6.5.2, qs@^6.4.0: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" @@ -5902,12 +5990,38 @@ req-cwd@^1.0.1: dependencies: req-from "^1.0.1" +req-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/req-cwd/-/req-cwd-2.0.0.tgz#d4082b4d44598036640fb73ddea01ed53db49ebc" + dependencies: + req-from "^2.0.0" + req-from@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/req-from/-/req-from-1.0.1.tgz#bf81da5147947d32d13b947dc12a58ad4587350e" dependencies: resolve-from "^2.0.0" +req-from@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/req-from/-/req-from-2.0.0.tgz#d74188e47f93796f4aa71df6ee35ae689f3e0e70" + dependencies: + resolve-from "^3.0.0" + +request-promise-core@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + dependencies: + lodash "^4.13.1" + +request-promise-native@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" + dependencies: + request-promise-core "1.1.1" + stealthy-require "^1.1.0" + tough-cookie ">=2.3.3" + request@2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" @@ -5962,7 +6076,7 @@ request@^2.67.0: tunnel-agent "^0.6.0" uuid "^3.1.0" -request@^2.79.0: +request@^2.79.0, request@^2.83.0: version "2.87.0" resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" dependencies: @@ -6350,7 +6464,7 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" -shelljs@^0.7.4: +shelljs@^0.7.4, shelljs@^0.7.8: version "0.7.8" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" dependencies: @@ -6499,6 +6613,10 @@ solidity-coverage@^0.5.5: tree-kill "^1.2.0" web3 "^0.18.4" +solidity-parser-antlr@^0.2.10: + version "0.2.15" + resolved "https://registry.yarnpkg.com/solidity-parser-antlr/-/solidity-parser-antlr-0.2.15.tgz#4be687a0a53da268c6a07398e0cfb3168896d610" + solidity-parser-sc@0.4.11: version "0.4.11" resolved "https://registry.yarnpkg.com/solidity-parser-sc/-/solidity-parser-sc-0.4.11.tgz#86734c9205537007f4d6201b57176e41696ee607" @@ -6666,6 +6784,10 @@ statuses@~1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" +stealthy-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + stream-browserify@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" @@ -6831,6 +6953,20 @@ symbol-observable@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" +sync-request@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/sync-request/-/sync-request-6.0.0.tgz#db867eccc4ed31bbcb9fa3732393a3413da582ed" + dependencies: + http-response-object "^3.0.1" + sync-rpc "^1.2.1" + then-request "^6.0.0" + +sync-rpc@^1.2.1: + version "1.3.4" + resolved "https://registry.yarnpkg.com/sync-rpc/-/sync-rpc-1.3.4.tgz#24bcbdb2ffcb98f23690c15b304660085cdd206c" + dependencies: + get-port "^3.1.0" + table@4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" @@ -6916,6 +7052,22 @@ textextensions@2: version "2.2.0" resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.2.0.tgz#38ac676151285b658654581987a0ce1a4490d286" +then-request@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/then-request/-/then-request-6.0.0.tgz#2cab198e48f2d8e79c8c1ed260198368a4a0bcba" + dependencies: + "@types/concat-stream" "^1.6.0" + "@types/form-data" "0.0.33" + "@types/node" "^8.0.0" + "@types/qs" "^6.2.31" + caseless "~0.12.0" + concat-stream "^1.6.0" + form-data "^2.2.0" + http-basic "^7.0.0" + http-response-object "^3.0.1" + promise "^8.0.0" + qs "^6.4.0" + through2@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" @@ -6995,6 +7147,13 @@ to-space-case@^1.0.0: dependencies: to-no-case "^1.0.0" +tough-cookie@>=2.3.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + tough-cookie@~2.3.0, tough-cookie@~2.3.3: version "2.3.4" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655"