diff --git a/packages/config/src/configDefaults.ts b/packages/config/src/configDefaults.ts index fe8a91e68ae..9607e733407 100644 --- a/packages/config/src/configDefaults.ts +++ b/packages/config/src/configDefaults.ts @@ -33,14 +33,11 @@ export const getInitialConfig = ({ resolver: null, artifactor: null, ethpm: { - ipfsHost: "ipfs.infura.io", - ipfsProtocol: "https", - ipfsPort: "5001", - registry: { - address: "0x0bd0200357D26A0bB5d1D1c1Fd56C317B68d15d5", - network: "ropsten" - }, - version: "3" + ipfs_host: "ipfs.infura.io", + ipfs_protocol: "https", + registry: "0x8011df4830b4f696cd81393997e5371b93338878", + install_provider_uri: + "https://ropsten.infura.io/v3/26e88e46be924823983710becd929f36" }, ens: { enabled: false, diff --git a/packages/core/index.js b/packages/core/index.js index 15582bc346b..efae2cfcb14 100644 --- a/packages/core/index.js +++ b/packages/core/index.js @@ -6,8 +6,8 @@ module.exports = { create: require("./lib/commands/create/helpers"), // TODO: update this to non-legacy the next breaking change contracts: require("@truffle/workflow-compile/legacy"), + package: require("./lib/package"), test: require("./lib/testing/Test"), - package: require("@truffle/ethpm-v3"), version: pkg.version, ganache: require("ganache-core/public-exports") }; diff --git a/packages/core/lib/commands/index.js b/packages/core/lib/commands/index.js index 1d8ac52e261..a51a73ad619 100644 --- a/packages/core/lib/commands/index.js +++ b/packages/core/lib/commands/index.js @@ -15,11 +15,10 @@ module.exports = { networks: require("./networks"), obtain: require("./obtain"), opcode: require("./opcode"), - packages: require("./packages"), publish: require("./publish"), run: require("./run"), test: require("./test"), unbox: require("./unbox"), version: require("./version"), - watch: require("./watch"), + watch: require("./watch") }; diff --git a/packages/core/lib/commands/install.js b/packages/core/lib/commands/install.js index e35533a1350..64daf757381 100644 --- a/packages/core/lib/commands/install.js +++ b/packages/core/lib/commands/install.js @@ -1,54 +1,35 @@ -const { callbackify } = require("util"); - const command = { command: "install", description: "Install a package from the Ethereum Package Registry", builder: {}, help: { - usage: "truffle install [--alias]", + usage: "truffle install [@]", options: [ { - option: "package_identifier", - description: `Name of the package as listed in the Ethereum Package Registry. Accepted formats: packageName, packageName@version, ethpm URI, ipfs URI. (required)` + option: "package_name", + description: + "Name of the package as listed in the Ethereum Package Registry. (required)" }, { - option: "--alias", - description: "An alternate name under which to install this package." + option: "<@version>", + description: + "When specified, will install a specific version of the package, otherwise " + + "will install\n the latest version." } ] }, - run: function (options, done) { + run: function(options, done) { const Config = require("@truffle/config"); - const PackageV1 = require("@truffle/ethpm-v1"); - const PackageV3 = require("@truffle/ethpm-v3"); + const Package = require("../package"); - if (options._ && options._.length == 0) { - done( - new Error( - `Please provide a package identifier. Run 'truffle help install' for more information on valid package identifiers.` - ) - ); - } - if (options._ && options._.length > 1) { - done( - new Error( - `Multiple package identifiers detected. Only one package can be installed at a time.` - ) - ); - } - options.package_identifier = options._[0]; + if (options._ && options._.length > 0) options.packages = options._; const config = Config.detect(options); - let installPackage; - - if (config.ethpm.version == "1") { - installPackage = callbackify(PackageV1.install); - } else if (config.ethpm.version == "3") { - installPackage = callbackify(PackageV3.install); - } else { - done(new Error(`Unsupported ethpm version: ${config.ethpm.version}.`)); - } - installPackage(config, done); + Package.install(config) + .then(() => { + return done(); + }) + .catch(done); } }; diff --git a/packages/core/lib/commands/packages.js b/packages/core/lib/commands/packages.js deleted file mode 100644 index 554126e448a..00000000000 --- a/packages/core/lib/commands/packages.js +++ /dev/null @@ -1,30 +0,0 @@ -const { callbackify } = require("util"); - -const command = { - command: "packages", - description: "List available packages on connected EthPM Registry", - builder: {}, - help: { - usage: "truffle packages", - options: [] - }, - run: function (options, done) { - const Config = require("@truffle/config"); - const PackageV1 = require("@truffle/ethpm-v1"); - const PackageV3 = require("@truffle/ethpm-v3"); - - const config = Config.detect(options); - let listPackages; - - if (config.ethpm.version == "1") { - listPackages = callbackify(PackageV1.packages); - } else if (config.ethpm.version == "3") { - listPackages = callbackify(PackageV3.packages); - } else { - done(new Error(`Unsupported ethpm version: ${config.ethpm.version}.`)); - } - listPackages(config, done); - } -}; - -module.exports = command; diff --git a/packages/core/lib/commands/publish.js b/packages/core/lib/commands/publish.js index 51c480cb201..b20db177cbd 100644 --- a/packages/core/lib/commands/publish.js +++ b/packages/core/lib/commands/publish.js @@ -1,6 +1,4 @@ -const { callbackify } = require("util"); - -const command = { +var command = { command: "publish", description: "Publish a package to the Ethereum Package Registry", builder: {}, @@ -8,22 +6,16 @@ const command = { usage: "truffle publish", options: [] }, - run: function (options, done) { - const Config = require("@truffle/config"); - const PackageV1 = require("@truffle/ethpm-v1"); - const PackageV3 = require("@truffle/ethpm-v3"); - - const config = Config.detect(options); - let publishPackage; + run: function(options, done) { + var Config = require("@truffle/config"); + var Package = require("../package"); - if (config.ethpm.version == "1") { - publishPackage = callbackify(PackageV1.publish); - } else if (config.ethpm.version == "3") { - publishPackage = callbackify(PackageV3.publish); - } else { - done(new Error(`Unsupported ethpm version: ${config.ethpm.version}.`)); - } - publishPackage(config, done); + var config = Config.detect(options); + Package.publish(config) + .then(() => { + return done(); + }) + .catch(done); } }; diff --git a/packages/ethpm-v1/lib/ethpm-v1.js b/packages/core/lib/package.js similarity index 78% rename from packages/ethpm-v1/lib/ethpm-v1.js rename to packages/core/lib/package.js index 2573d116522..8b41aefab42 100644 --- a/packages/ethpm-v1/lib/ethpm-v1.js +++ b/packages/core/lib/package.js @@ -1,77 +1,16 @@ const expect = require("@truffle/expect"); const TruffleError = require("@truffle/error"); -const Networks = require("@truffle/core/lib/networks"); +const Networks = require("./networks"); const EthPM = require("ethpm"); const EthPMRegistry = require("ethpm-registry"); const Web3 = require("web3"); -const registryAbi = require("./registryAbi"); const { createInterfaceAdapter } = require("@truffle/interface-adapter"); const path = require("path"); const fs = require("fs"); const OS = require("os"); -const contract = require("@truffle/contract"); -const PackageV1 = { - packages: async options => { - options.logger.log( - `ethpmV1 is deprecated. Please consider updating your packages to ethpmV3.` - ); - try { - expect.options(options, [ - "ethpm", - "logger", - "working_directory", - "contracts_build_directory", - "networks" - ]); - } catch (err) { - throw new TruffleError( - `Invalid ethpm configuration in truffle-config: ${err.message}` - ); - } - - const ethpmV1Network = "ropsten"; - if (!options.networks[ethpmV1Network]) { - throw new TruffleError( - `Please include a provider in your networks config for the Ropsten testnet, the testnet where the ethpmV1 registry is deployed.` - ); - } - const provider = options.networks["ropsten"].provider(); - const ethpmV1RegistryAddress = "0x8011df4830b4f696cd81393997e5371b93338878"; - const RegistryContract = contract({ - abi: registryAbi.abi - }); - RegistryContract.setProvider(provider); - const registryContract = await RegistryContract.at(ethpmV1RegistryAddress); - const owner = await registryContract.owner.call(); - - // Display info about connected registry - options.logger.log( - `Searching for packages published on registry located on the ethpm V1 registry: ${ethpmV1RegistryAddress}` - ); - options.logger.log(`Registry controlled by : ${owner}`); - - // Display info about all releases on registry - const numPackages = await registryContract.getNumPackages.call(); - for (var x = 0; x < numPackages; x++) { - const packageName = await registryContract.getPackageName.call(x); - const releaseHashes = await registryContract.getAllPackageReleaseHashes.call( - packageName - ); - options.logger.log(packageName); - for (const hash of releaseHashes) { - const releaseData = await registryContract.getReleaseData.call(hash); - const version = `${releaseData.major}.${releaseData.minor}.${releaseData.patch}`; - options.logger.log(`- ${version} @ ${releaseData.releaseLockfileURI}`); - } - } - return; - }, - - install: async function (options, callback) { - options.logger.log( - `ethpmV1 is deprecated. Please consider updating your packages to ethpmV3.` - ); +const Package = { + install: async function(options, callback) { const callbackPassed = typeof callback === "function"; expect.options(options, ["working_directory", "ethpm"]); @@ -173,10 +112,7 @@ const PackageV1 = { } }, - publish: async function (options, callback) { - options.logger.log( - `ethpmV1 is deprecated. Please consider updating your packages to ethpmV3.` - ); + publish: async function(options, callback) { const callbackPassed = typeof callback === "function"; var self = this; @@ -272,12 +208,12 @@ const PackageV1 = { } }, - digest: function (options, callback) { + digest: function(options, callback) { callback(new Error("Not yet implemented")); }, // Return a list of publishable artifacts - publishable_artifacts: async function (options, callback) { + publishable_artifacts: async function(options, callback) { const callbackPassed = typeof callback === "function"; // Filter out "test" and "development" networks. const ifReservedNetworks = new Set(["test", "development"]); @@ -414,4 +350,4 @@ const PackageV1 = { } }; -module.exports = PackageV1; +module.exports = Package; diff --git a/packages/core/package.json b/packages/core/package.json index 8fed88828ad..ffd1fe40a7f 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -39,8 +39,6 @@ "@truffle/resolver": "^6.0.25", "@truffle/source-fetcher": "^0.2.4", "@truffle/workflow-compile": "^3.0.6", - "@truffle/ethpm-v1": "^1.0.0", - "@truffle/ethpm-v3": "^3.0.0", "app-module-path": "^2.2.0", "chai": "4.2.0", "colors": "^1.1.2", @@ -51,6 +49,8 @@ "del": "^2.2.0", "ethereum-cryptography": "^0.1.3", "ethereumjs-wallet": "^0.6.2", + "ethpm": "0.0.19", + "ethpm-registry": "0.1.0-next.3", "fs-extra": "^8.1.0", "ganache-core": "2.13.0", "get-port": "^5.1.1", diff --git a/packages/ethpm-v1/tests/ethpm-v1.js b/packages/core/test/ethpm.js similarity index 55% rename from packages/ethpm-v1/tests/ethpm-v1.js rename to packages/core/test/ethpm.js index c9931f3555c..dd625c950a9 100644 --- a/packages/ethpm-v1/tests/ethpm-v1.js +++ b/packages/core/test/ethpm.js @@ -1,15 +1,14 @@ -var assert = require("chai").assert; -var Box = require("@truffle/box"); -var fs = require("fs-extra"); -var glob = require("glob"); -var path = require("path"); -var Contracts = require("@truffle/workflow-compile"); -var PackageV1 = require("../lib/ethpm-v1.js"); -var GithubExamples = require("ethpm/lib/indexes/github-examples"); -var Blockchain = require("@truffle/blockchain-utils"); -var Ganache = require("ganache-core"); -var Resolver = require("@truffle/resolver"); -var Artifactor = require("@truffle/artifactor"); +const assert = require("chai").assert; +const Box = require("@truffle/box"); +const fs = require("fs-extra"); +const glob = require("glob"); +const path = require("path"); +const WorkflowCompile = require("@truffle/workflow-compile"); +const Package = require("../lib/package.js"); +const Blockchain = require("@truffle/blockchain-utils"); +const Ganache = require("ganache-core"); +const Resolver = require("@truffle/resolver"); +const Artifactor = require("@truffle/artifactor"); describe.skip("EthPM integration", function () { var config; @@ -30,24 +29,35 @@ describe.skip("EthPM integration", function () { ); } - beforeEach("Create a Ganache provider and get a blockchain uri", async () => { + beforeEach("Create a Ganache provider and get a blockchain uri", function ( + done + ) { provider = Ganache.provider(); - blockchain_uri = await Blockchain.asURI(provider); + + Blockchain.asURI(provider, function (err, uri) { + if (err) return done(err); + blockchain_uri = uri; + done(); + }); }); // Super slow doing these in a beforeEach, but it ensures nothing conflicts. - beforeEach("Create a sandbox", async () => { + beforeEach("Create a sandbox", function (done) { this.timeout(20000); - config = await Box.sandbox("default"); - config.resolver = new Resolver(config); - config.artifactor = new Artifactor(config.contracts_build_directory); - config.networks = { - development: { - network_id: blockchain_uri, - provider: provider - } - }; - config.network = "development"; + Box.sandbox(function (err, result) { + if (err) return done(err); + config = result; + config.resolver = new Resolver(config); + config.artifactor = new Artifactor(config.contracts_build_directory); + config.networks = { + development: { + network_id: blockchain_uri, + provider: provider + } + }; + config.network = "development"; + done(); + }); }); beforeEach("Create a fake EthPM host and memory registry", function (done) { @@ -93,10 +103,10 @@ describe.skip("EthPM integration", function () { // } // }); - it("successfully installs single dependency from EthPM", function (done) { + it("successfully installs single dependency from EthPM", async function () { this.timeout(30000); // Giving ample time for requests to time out. - PackageV1.install( + await Package.install( config.with({ ethpm: { ipfs_host: host, @@ -104,29 +114,21 @@ describe.skip("EthPM integration", function () { provider: provider }, packages: ["owned"] - }), - function (err) { - if (err) return done(err); - - var expected_install_directory = path.resolve( - path.join(config.working_directory, "installed_contracts", "owned") - ); - - assertFile(path.join(expected_install_directory, "ethpm.json")); - assertFile( - path.join(expected_install_directory, "contracts", "owned.sol") - ); - - done(); - } + }) + ); + const expected_install_directory = path.resolve( + path.join(config.working_directory, "installed_contracts", "owned") ); + + assertFile(path.join(expected_install_directory, "ethpm.json")); + assertFile(path.join(expected_install_directory, "contracts", "owned.sol")); }); - it("successfully installs and provisions a package with dependencies from EthPM", function (done) { + it("successfully installs and provisions a package with dependencies from EthPM", async function () { this.timeout(30000); // Giving ample time for requests to time out. this.retries(2); - PackageV1.install( + await Package.install( config.with({ ethpm: { ipfs_host: host, @@ -134,89 +136,69 @@ describe.skip("EthPM integration", function () { provider: provider }, packages: ["transferable"] - }), - function (err) { - if (err) return done(err); - - var expected_install_directory = path.resolve( - path.join(config.working_directory, "installed_contracts") - ); + }) + ); + const expected_install_directory = path.resolve( + path.join(config.working_directory, "installed_contracts") + ); - assertFile( - path.join(expected_install_directory, "transferable", "ethpm.json") - ); - assertFile( - path.join( - expected_install_directory, - "transferable", - "contracts", - "transferable.sol" - ) - ); - assertFile( - path.join(expected_install_directory, "owned", "ethpm.json") - ); - assertFile( - path.join( - expected_install_directory, - "owned", - "contracts", - "owned.sol" - ) - ); + assertFile( + path.join(expected_install_directory, "transferable", "ethpm.json") + ); + assertFile( + path.join( + expected_install_directory, + "transferable", + "contracts", + "transferable.sol" + ) + ); + assertFile(path.join(expected_install_directory, "owned", "ethpm.json")); + assertFile( + path.join(expected_install_directory, "owned", "contracts", "owned.sol") + ); - // Write a contract that uses transferable, so it will be compiled. - var contractSource = - "pragma solidity ^0.4.2; import 'transferable/transferable.sol'; contract MyContract {}"; + // Write a contract that uses transferable, so it will be compiled. + const contractSource = + "pragma solidity ^0.4.2; import 'transferable/transferable.sol'; contract MyContract {}"; - fs.writeFileSync( - path.join(config.contracts_directory, "MyContract.sol"), - contractSource, - "utf8" - ); + fs.writeFileSync( + path.join(config.contracts_directory, "MyContract.sol"), + contractSource, + "utf8" + ); - // Compile all contracts, then provision them and see if we get contracts from our dependencies. - Contracts.compile( - config.with({ - all: true, - quiet: true - }), - function (err, result) { - if (err) return done(err); - let { contracts } = result; - - assert.isNotNull(contracts["owned"]); - assert.isNotNull(contracts["transferable"]); - - fs.readdir(config.contracts_build_directory, function (err, files) { - if (err) return done(err); - - var found = [false, false]; - var search = ["owned", "transferable"]; - - search.forEach(function (contract_name, index) { - files.forEach(function (file) { - if (path.basename(file, ".json") === contract_name) { - found[index] = true; - } - }); - }); - - found.forEach(function (isFound, index) { - assert( - isFound, - "Could not find built binary with name '" + - search[index] + - "'" - ); - }); - - done(); - }); - } - ); - } + // Compile all contracts, then provision them and see if we get contracts from our dependencies. + const { contracts } = await WorkflowCompile.compileAndSave( + config.with({ + all: true, + quiet: true + }) ); + const contractNames = contracts.reduce((a, contract) => { + return a.concat(contract.contractName); + }, []); + assert.isNotNull(contractNames["owned"]); + assert.isNotNull(contractNames["transferable"]); + const files = fs.readdirSync(config.contracts_build_directory); + + const found = [false, false]; + const search = ["owned", "transferable"]; + + search.forEach((contract_name, index) => { + files.forEach(file => { + if (path.basename(file, ".json") === contract_name) { + found[index] = true; + } + }); + }); + + found.forEach((isFound, index) => { + assert( + isFound, + "Could not find built binary with name '" + search[index] + "'" + ); + }); }); // For each of these examples, sources exist. However, including sources isn't required. This test @@ -225,7 +207,7 @@ describe.skip("EthPM integration", function () { it("successfully installs and provisions a deployed package with network artifacts from EthPM, without compiling", function (done) { this.timeout(30000); // Giving ample time for requests to time out. - PackageV1.install( + Package.install( config.with({ ethpm: { ipfs_host: host, diff --git a/packages/ethpm-v1/README.md b/packages/ethpm-v1/README.md deleted file mode 100644 index 36fbca4b3b8..00000000000 --- a/packages/ethpm-v1/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# `ethpm-v1` - -## Usage - -``` -const ethpmV1 = require('ethpm-v1'); -``` - -This package contains support for the deprecated v1 version of the ethpm specification for backwards compatibility purposes. diff --git a/packages/ethpm-v1/lib/registryAbi.js b/packages/ethpm-v1/lib/registryAbi.js deleted file mode 100644 index 2e026e66abe..00000000000 --- a/packages/ethpm-v1/lib/registryAbi.js +++ /dev/null @@ -1,297 +0,0 @@ -const abi = [ - { - constant: true, - inputs: [], - name: "getNumReleases", - outputs: [{ name: "", type: "uint256" }], - payable: false, - type: "function" - }, - { - constant: false, - inputs: [{ name: "newReleaseValidator", type: "address" }], - name: "setReleaseValidator", - outputs: [{ name: "", type: "bool" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [ - { name: "name", type: "string" }, - { name: "offset", type: "uint256" }, - { name: "numReleases", type: "uint256" } - ], - name: "getPackageReleaseHashes", - outputs: [{ name: "", type: "bytes32[]" }], - payable: false, - type: "function" - }, - { - constant: false, - inputs: [{ name: "newOwner", type: "address" }], - name: "setOwner", - outputs: [{ name: "", type: "bool" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [ - { name: "name", type: "string" }, - { name: "major", type: "uint32" }, - { name: "minor", type: "uint32" }, - { name: "patch", type: "uint32" }, - { name: "preRelease", type: "string" }, - { name: "build", type: "string" } - ], - name: "getReleaseLockfileURI", - outputs: [{ name: "", type: "string" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [], - name: "getPackageDb", - outputs: [{ name: "", type: "address" }], - payable: false, - type: "function" - }, - { - constant: false, - inputs: [{ name: "newPackageDb", type: "address" }], - name: "setPackageDb", - outputs: [{ name: "", type: "bool" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [ - { name: "name", type: "string" }, - { name: "major", type: "uint32" }, - { name: "minor", type: "uint32" }, - { name: "patch", type: "uint32" }, - { name: "preRelease", type: "string" }, - { name: "build", type: "string" } - ], - name: "releaseExists", - outputs: [{ name: "", type: "bool" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [], - name: "getReleaseValidator", - outputs: [{ name: "", type: "address" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [{ name: "releaseHash", type: "bytes32" }], - name: "getReleaseData", - outputs: [ - { name: "major", type: "uint32" }, - { name: "minor", type: "uint32" }, - { name: "patch", type: "uint32" }, - { name: "preRelease", type: "string" }, - { name: "build", type: "string" }, - { name: "releaseLockfileURI", type: "string" }, - { name: "createdAt", type: "uint256" }, - { name: "updatedAt", type: "uint256" } - ], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [], - name: "getAllReleaseHashes", - outputs: [{ name: "", type: "bytes32[]" }], - payable: false, - type: "function" - }, - { - constant: false, - inputs: [ - { name: "name", type: "string" }, - { name: "newPackageOwner", type: "address" } - ], - name: "transferPackageOwner", - outputs: [{ name: "", type: "bool" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [{ name: "idx", type: "uint256" }], - name: "getReleaseHash", - outputs: [{ name: "", type: "bytes32" }], - payable: false, - type: "function" - }, - { - constant: false, - inputs: [ - { name: "name", type: "string" }, - { name: "major", type: "uint32" }, - { name: "minor", type: "uint32" }, - { name: "patch", type: "uint32" }, - { name: "preRelease", type: "string" }, - { name: "build", type: "string" }, - { name: "releaseLockfileURI", type: "string" } - ], - name: "release", - outputs: [{ name: "", type: "bool" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [], - name: "getNumPackages", - outputs: [{ name: "", type: "uint256" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [ - { name: "offset", type: "uint256" }, - { name: "numReleases", type: "uint256" } - ], - name: "getReleaseHashes", - outputs: [{ name: "", type: "bytes32[]" }], - payable: false, - type: "function" - }, - { - constant: false, - inputs: [{ name: "newAuthority", type: "address" }], - name: "setAuthority", - outputs: [{ name: "", type: "bool" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [{ name: "name", type: "string" }], - name: "packageExists", - outputs: [{ name: "", type: "bool" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [], - name: "owner", - outputs: [{ name: "", type: "address" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [], - name: "authority", - outputs: [{ name: "", type: "address" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [{ name: "name", type: "string" }], - name: "getPackageData", - outputs: [ - { name: "packageOwner", type: "address" }, - { name: "createdAt", type: "uint256" }, - { name: "numReleases", type: "uint256" }, - { name: "updatedAt", type: "uint256" } - ], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [{ name: "name", type: "string" }], - name: "getAllPackageReleaseHashes", - outputs: [{ name: "", type: "bytes32[]" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [ - { name: "name", type: "string" }, - { name: "releaseIdx", type: "uint256" } - ], - name: "getReleaseHashForPackage", - outputs: [{ name: "", type: "bytes32" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [{ name: "idx", type: "uint256" }], - name: "getPackageName", - outputs: [{ name: "", type: "string" }], - payable: false, - type: "function" - }, - { - constant: false, - inputs: [{ name: "newReleaseDb", type: "address" }], - name: "setReleaseDb", - outputs: [{ name: "", type: "bool" }], - payable: false, - type: "function" - }, - { - constant: true, - inputs: [], - name: "getReleaseDb", - outputs: [{ name: "", type: "address" }], - payable: false, - type: "function" - }, - { - anonymous: false, - inputs: [ - { indexed: true, name: "nameHash", type: "bytes32" }, - { indexed: true, name: "releaseHash", type: "bytes32" } - ], - name: "PackageRelease", - type: "event" - }, - { - anonymous: false, - inputs: [ - { indexed: true, name: "oldOwner", type: "address" }, - { indexed: true, name: "newOwner", type: "address" } - ], - name: "PackageTransfer", - type: "event" - }, - { - anonymous: false, - inputs: [ - { indexed: true, name: "oldOwner", type: "address" }, - { indexed: true, name: "newOwner", type: "address" } - ], - name: "OwnerUpdate", - type: "event" - }, - { - anonymous: false, - inputs: [ - { indexed: true, name: "oldAuthority", type: "address" }, - { indexed: true, name: "newAuthority", type: "address" } - ], - name: "AuthorityUpdate", - type: "event" - } -]; - -module.exports = { abi }; diff --git a/packages/ethpm-v1/package.json b/packages/ethpm-v1/package.json deleted file mode 100644 index 7cbea10561e..00000000000 --- a/packages/ethpm-v1/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "@truffle/ethpm-v1", - "version": "1.0.0", - "description": "ethereum package management v1", - "keywords": [ - "ethpm", - "packages" - ], - "homepage": "http://www.ethpm.com", - "license": "MIT", - "main": "./lib/ethpm-v1.js", - "dependencies": { - "@truffle/error": "^0.0.9", - "ethpm": "0.0.19", - "ethpm-registry": "0.1.0-next.3" - }, - "directories": { - "lib": "lib", - "test": "tests" - }, - "files": [ - "lib" - ], - "repository": { - "type": "git", - "url": "git+https://github.com/trufflesuite/truffle.git" - }, - "bugs": { - "url": "https://github.com/trufflesuite/truffle/issues" - } -} diff --git a/packages/ethpm-v3/README.md b/packages/ethpm-v3/README.md deleted file mode 100644 index 8cd981fd710..00000000000 --- a/packages/ethpm-v3/README.md +++ /dev/null @@ -1,103 +0,0 @@ -# truffle/ethpm-v3 - -A package that provides truffle support for [ethpm v3](http://ethpm.github.io/ethpm-spec/v3-package-spec.html), the default version in truffle. - -## Usage -Installing an ethpm package in your truffle project will automatically generate an `_ethpm_packages/` directory to which the package assets will be written. This directory should be treated like a `node_modules/` directory, and not be edited directly. - -## Configuration -To configure ethpm, define the following fields inside your `truffle-config.js`. - -```js -{ - // required to lookup a registry address via ens - ens: { - enabled: true - }, - // below are all of the default config values for ethpm - ethpm: { - ipfsHost: "ipfs.infura.io", - ipfsProtocol: "https", - ipfsPort: "5001", - registry: { - address: "0xabc", // ENS is supported here - network: "ropsten" // must match a network with an available provider defined in `networks` field - } - version: "3" // only supported versions include ("1", "3") - } -} -``` - -## List -``` -truffle packages -``` -Reads all directly available packages on the connected registry. - -## Install - -### Install the latest version of a package from connected registry -``` -truffle install owned -``` -- Will throw an error requiring a specified version if package versioning does not follow semver. - - -### Install a specific version of a package from connected registry -``` -truffle install owned@1.0.0 -``` - -### Install the latest version of a package from any registry -``` -truffle install owned ethpm://0x123/owned -truffle install owned ethpm://0x123:1/owned -``` -- will throw an error requiring a specified version if package versioning does not follow semver. -- using an ethpm uri overrides the registry set in `truffle-config.js` - -### Install a specific version of a package from any registry -``` -truffle install owned ethpm://0x123/owned@1.0.0 -truffle install owned ethpm://0x123:1/owned@1.0.0 -``` -``` -truffle install owned ethpm://libraries.snakecharemers.eth/owned@1.0.0 -truffle install owned ethpm://libraries.snakecharemers.eth:1/owned@1.0.0 -``` - -### Install a package under an alias -``` -truffle install owned@1.0.0 --alias owned-2 -``` -- This can be useful for installing multiple packages that have the same name (installed packages share a namespace). -- This can be useful for adding custom identifiers to installed packages for whatever reason. - -## Publish -``` -truffle publish -``` - -- Requires that a valid `ethpm.json` file exists in your project root directory. -- Requires that provider for connected registry has release privileges on that registry. -- Running `truffle publish` will automatically generate an ethpm manifest from available contract assets and publish it to the connected registry. - -#### Sample `ethpm.json` -```jsonld= -{ - "name": "package-name", // required - "version": "0.1.0", // required - "meta": { - "license": "licenseType", - "authors": ["author-1", "author-2"], - "description": "Description of package.", - "keywords": ["keyword1", "keyword2"], - "links": { - "documentation": "www.documentation.com", - "repo": "www.repository.com", - "website": "www.website.com" - } - } -} -``` - diff --git a/packages/ethpm-v3/lib/ethpm-v3.js b/packages/ethpm-v3/lib/ethpm-v3.js deleted file mode 100644 index 7106ccd25ac..00000000000 --- a/packages/ethpm-v3/lib/ethpm-v3.js +++ /dev/null @@ -1,505 +0,0 @@ -const expect = require("@truffle/expect"); -const Artifactor = require("@truffle/artifactor"); -const TruffleError = require("@truffle/error"); -const { EthPM } = require("ethpm"); -const semver = require("semver"); -const Web3 = require("web3"); -const path = require("path"); -const fs = require("fs"); -const { isAddress } = require("web3-utils"); -const TruffleContractSchema = require("@truffle/contract-schema"); -const utils = require("./utils"); - -const PackageV3 = { - packages: async options => { - try { - expect.options(options, [ - "ethpm", - "logger", - "working_directory", - "contracts_build_directory", - "networks" - ]); - expect.options(options.ethpm, [ - "ipfsHost", - "ipfsPort", - "ipfsProtocol", - "registry" - ]); - expect.options(options.ethpm.registry, ["address", "network"]); - expect.options(options.networks, [options.ethpm.registry.network]); - expect.options(options.networks[options.ethpm.registry.network], [ - "provider", - "network_id" - ]); - } catch (err) { - throw new TruffleError( - `Invalid ethpm configuration in truffle-config: ${err.message}` - ); - } - - var provider = utils.pluckProviderFromConfig(options); - - let targetRegistry; - if (!isAddress(options.ethpm.registry.address)) { - targetRegistry = await utils.resolveEnsName( - options.ethpm.registry.address, - provider, - options - ); - } else { - targetRegistry = options.ethpm.registry.address; - } - - // Create an ethpm instance - let ethpm; - try { - ethpm = await EthPM.configure({ - registries: "ethpm/registries/web3" - }).connect({ - provider: provider, - workingDirectory: options.working_directory, - registryAddress: targetRegistry, - ipfs: { - host: options.ethpm.ipfsHost, - port: options.ethpm.ipfsPort, - protocol: options.ethpm.ipfsProtocol - } - }); - } catch (err) { - throw new TruffleError(`Unable to configure ethpm: ${err.message}`); - } - - // Display info about connected registry - options.logger.log( - `Searching for packages published on registry located at: ${targetRegistry}` - ); - - // display owner / warning about unauthorized registries - await utils.displayRegistryPermissions(options, ethpm); - - // Display all packages from connected registry - const allPackages = await ethpm.registries.packages(); - if (allPackages.length == 0) { - options.logger.log(`0 packages found on this registry.`); - } - - for (var i = 0; i < allPackages.length; i++) { - const packageName = allPackages[i]; - const allReleases = await ethpm.registries - .package(packageName) - .releases(); - options.logger.log(`Package: ${packageName}`); - Object.keys(allReleases).forEach(function (key, _) { - options.logger.log(` - ${key} @ ${allReleases[key]}`); - }); - } - return; - }, - - install: async options => { - try { - expect.options(options, [ - "ethpm", - "package_identifier", - "logger", - "working_directory", - "contracts_build_directory", - "networks" - ]); - expect.options(options.ethpm, [ - "ipfsHost", - "ipfsPort", - "ipfsProtocol", - "registry" - ]); - expect.options(options.ethpm.registry, ["address", "network"]); - expect.options(options.networks, [options.ethpm.registry.network]); - expect.options(options.networks[options.ethpm.registry.network], [ - "provider", - "network_id" - ]); - } catch (err) { - throw new TruffleError( - `Invalid ethpm configuration in truffle-config: ${err.message}` - ); - } - - options.logger.log( - `! Please use caution when interacting with installed packages.\n! Only use packages that are published on trusted registries, or whose assets you've verified directly.` - ); - - options.logger.log("Fetching package manifest..."); - var targetNetwork = options.ethpm.registry.network; - var targetNetworkId = options.networks[targetNetwork].network_id; - var provider = utils.pluckProviderFromConfig(options); - - let targetRegistry; - if (!isAddress(options.ethpm.registry.address)) { - targetRegistry = await utils.resolveEnsName( - options.ethpm.registry.address, - provider, - options - ); - } else { - targetRegistry = options.ethpm.registry.address; - } - // Create an ethpm instance - let ethpm; - try { - ethpm = await EthPM.configure({ - manifests: "ethpm/manifests/v3", - registries: "ethpm/registries/web3", - installer: "ethpm/installer/truffle", - storage: "ethpm/storage/ipfs" - }).connect({ - provider: provider, - workingDirectory: options.working_directory, - registryAddress: targetRegistry, - ipfs: { - host: options.ethpm.ipfsHost, - port: options.ethpm.ipfsPort, - protocol: options.ethpm.ipfsProtocol - } - }); - } catch (err) { - throw new TruffleError(`Unable to configure ethpm: ${err.message}`); - } - - // display owner / warning about unauthorized registries - await utils.displayRegistryPermissions(options, ethpm); - - let manifestUri; - let targetPackageName; - let targetVersion; - var resolvedManifestUri = false; - - // Parse IPFS URI - if (options.package_identifier.startsWith("ipfs://")) { - manifestUri = new URL(options.package_identifier); - resolvedManifestUri = true; - } - - // Parse ethpm URI || package_identifier - if (!resolvedManifestUri) { - // Parse ethpm uri - if ( - options.package_identifier.startsWith("ethpm://") || - options.package_identifier.startsWith("erc1319://") - ) { - const targetInstallInfo = await utils.resolveEthpmUri( - options, - provider - ); - targetPackageName = targetInstallInfo.targetPackageName; - targetVersion = targetInstallInfo.targetVersion; - targetRegistry = targetInstallInfo.targetRegistry; - targetNetworkId = targetInstallInfo.targetNetworkId; - // update provider if changed via ethpm uri - provider = targetInstallInfo.targetProvider; - } else { - // Parse package_identifier - const packageData = options.package_identifier.split("@"); - if (packageData.length > 2) { - throw new TruffleError( - `Invalid ethpm uri or package id: ${options.package_identifier[0]}` - ); - } - - if (!targetRegistry || !targetNetworkId) { - throw new TruffleError( - `Missing an 'ethpm/registry/address' and 'ethpm/registry/network' in your truffle config for the target registry.` - ); - } - targetPackageName = packageData[0]; - targetVersion = packageData[1]; - } - } - - // Update the ethpm instance with new registry address - try { - ethpm = await EthPM.configure({ - manifests: "ethpm/manifests/v3", - registries: "ethpm/registries/web3", - installer: "ethpm/installer/truffle", - storage: "ethpm/storage/ipfs" - }).connect({ - provider: provider, - workingDirectory: options.working_directory, - registryAddress: targetRegistry, - ipfs: { - host: options.ethpm.ipfsHost, - port: options.ethpm.ipfsPort, - protocol: options.ethpm.ipfsProtocol - } - }); - } catch (err) { - throw new TruffleError(`Unable to configure ethpm: ${err.message}`); - } - - if (!resolvedManifestUri) { - // Validate target package is available on connected registry - const availablePackages = await ethpm.registries.packages(); - if (!availablePackages.includes(targetPackageName)) { - throw new TruffleError( - `Package: ${targetPackageName}, not found on registry at address: ${targetRegistry}. Available packages include: ${availablePackages}` - ); - } - - // If no version provided, install Latest - if (typeof targetVersion === "undefined") { - const allReleases = await ethpm.registries - .package(targetPackageName) - .releases(); - targetVersion = semver.maxSatisfying(Object.keys(allReleases), "*"); - if (!targetVersion) { - throw new TruffleError( - `Releases for specified package (${targetPackageName}) do not look like semver. Please specify the version of the package you want to install.` - ); - } - } - - // Fetch target package manifest URI - manifestUri = await ethpm.registries - .package(targetPackageName) - .release(targetVersion); - } - - // Check to make sure a manifest URI was located - if (typeof manifestUri === "undefined") { - throw new TruffleError( - `Unable to find a manifest URI for package ID: ${options.package_identifier}` - ); - } - - // Install target manifest URI to working directory - try { - await ethpm.installer.install(manifestUri, targetRegistry, options.alias); - } catch (err) { - throw new TruffleError(`Install error: ${err.message}`); - } - - // Add contract types and deployments to artifactor - const manifest = await ethpm.storage.read(manifestUri); - const ethpmPackage = await ethpm.manifests.read(manifest.toString()); - - let installMessage; - if (!options.alias) { - installMessage = `Installed ${ethpmPackage.packageName}@${ethpmPackage.version}`; - } else { - installMessage = `Installed ${ethpmPackage.packageName}@${ethpmPackage.version} under alias: ${options.alias}`; - } - options.logger.log(installMessage); - - const artifactor = new Artifactor(options.contracts_build_directory); - // convert blockchainUri => network id - const normalizedDeployments = {}; - - if (ethpmPackage.deployments) { - ethpmPackage.deployments.forEach((value, key, _) => { - const foundGenesisBlock = key.host.toLowerCase(); - if (foundGenesisBlock in utils.SUPPORTED_GENESIS_BLOCKS) { - normalizedDeployments[ - utils.SUPPORTED_GENESIS_BLOCKS[foundGenesisBlock] - ] = value; - } - }); - } - - for (let contractType in ethpmPackage.contractTypes) { - const contractData = ethpmPackage.contractTypes[contractType]; - const contractDeployments = {}; - for (let networkId of Object.keys(normalizedDeployments)) { - for (let deployment of Object.values( - normalizedDeployments[networkId] - )) { - if (deployment.contractType === contractType) { - contractDeployments[networkId] = { - address: deployment.address - }; - } - } - } - const contractSchema = utils.convertContractTypeToContractSchema( - contractData, - contractDeployments - ); - - let normalizedContractSchema; - try { - normalizedContractSchema = await TruffleContractSchema.normalize( - contractSchema, - { validate: true } - ); - } catch (err) { - throw new TruffleError(`Truffle abi validation error: ${err.message}`); - } - - // mkdir contracts_build_directory instead of running compile - if (!fs.existsSync(options.contracts_build_directory)) { - const build_directory = path.join( - options.contracts_build_directory, - ".." - ); - if (!fs.existsSync(build_directory)) { - fs.mkdirSync(build_directory); - } - fs.mkdirSync(options.contracts_build_directory); - } - try { - await artifactor.save(normalizedContractSchema); - } catch (err) { - throw new TruffleError( - `Error saving ethpm package artifacts: ${err.message}` - ); - } - } - options.logger.log("Saved artifacts."); - return; - }, - - publish: async options => { - try { - expect.options(options, [ - "contracts_build_directory", - "contracts_directory", - "ethpm", - "logger", - "networks", - "working_directory" - ]); - expect.options(options.ethpm, [ - "ipfsHost", - "ipfsPort", - "ipfsProtocol", - "registry" - ]); - expect.options(options.ethpm.registry, ["address", "network"]); - expect.options(options.networks, [options.ethpm.registry.network]); - expect.options(options.networks[options.ethpm.registry.network], [ - "provider", - "network_id" - ]); - } catch (err) { - throw new TruffleError( - `Invalid ethpm configuration in truffle-config: ${err.message}` - ); - } - - var registryProvider = utils.pluckProviderFromConfig(options); - let targetRegistry; - if (!isAddress(options.ethpm.registry.address)) { - targetRegistry = await utils.resolveEnsName( - options.ethpm.registry.address, - registryProvider, - options - ); - } else { - targetRegistry = options.ethpm.registry.address; - } - - // Create an ethpm instance - let ethpm; - try { - ethpm = await EthPM.configure({ - manifests: "ethpm/manifests/v3", - storage: "ethpm/storage/ipfs", - registries: "ethpm/registries/web3" - }).connect({ - provider: registryProvider, - registryAddress: targetRegistry, - ipfs: { - host: options.ethpm.ipfsHost, - port: options.ethpm.ipfsPort, - protocol: options.ethpm.ipfsProtocol - } - }); - } catch (err) { - throw new TruffleError(`Unable to configure ethpm: ${err.message}`); - } - - options.logger.log("Finding publishable artifacts..."); - let artifacts; - try { - artifacts = await utils.getPublishableArtifacts(options, ethpm); - } catch (err) { - throw new TruffleError( - `Unable to collect artifacts: ${err}. Try compiling your contracts.` - ); - } - - // Fetch ethpm.json config - let ethpmConfig; - try { - ethpmConfig = JSON.parse( - fs.readFileSync( - path.join(options.working_directory, "ethpm.json"), - "utf8" - ) - ); - if ( - typeof ethpmConfig.name === "undefined" || - typeof ethpmConfig.version === "undefined" - ) { - throw new TruffleError( - "Invalid ethpm.json: Must contain a 'name' and 'version'." - ); - } - } catch (err) { - throw new TruffleError("Invalid ethpm.json configuration detected."); - } - - // Includes all installed ethpm packages in published package - const buildDependencies = utils.fetchInstalledBuildDependencies( - options.working_directory - ); - - const ethpmFields = { - sources: artifacts.resolvedSources, - contractTypes: artifacts.resolvedContractTypes, - compilers: artifacts.resolvedCompilers, - deployments: artifacts.resolvedDeployments, - buildDependencies: buildDependencies - }; - - options.logger.log(`Generating package manifest...`); - const targetConfig = Object.assign(ethpmFields, ethpmConfig); - let pkg; - let manifest; - let manifestUri; - try { - pkg = await ethpm.manifests.read(JSON.stringify(targetConfig)); - manifest = await ethpm.manifests.write(pkg); - manifestUri = await ethpm.storage.write(manifest); - } catch (err) { - throw new TruffleError( - `Error generating manifest from contract artifacts: ${err}` - ); - } - - options.logger.log(`Publishing package to registry...`); - const w3 = new Web3(registryProvider); - const fromAddress = await w3.eth.getCoinbase(); - const encodedTxData = ethpm.registries.registry.methods - .release(ethpmConfig.name, ethpmConfig.version, manifestUri.href) - .encodeABI(); - try { - await w3.eth.sendTransaction({ - from: fromAddress, - to: targetRegistry, - gas: 4712388, - gasPrice: 100000000000, - data: encodedTxData - }); - } catch (err) { - options.logger.log(`Error publishing release data to registry: ${err}`); - return; - } - options.logger.log( - `Published ${ethpmConfig.name}@${ethpmConfig.version} to ${targetRegistry}\n` - ); - return; - } -}; - -module.exports = PackageV3; diff --git a/packages/ethpm-v3/lib/utils.js b/packages/ethpm-v3/lib/utils.js deleted file mode 100644 index 50add04b44e..00000000000 --- a/packages/ethpm-v3/lib/utils.js +++ /dev/null @@ -1,298 +0,0 @@ -const { EthpmURI } = require("ethpm/utils/uri"); -const TruffleError = require("@truffle/error"); -const { parseTruffleArtifacts } = require("ethpm/utils/truffle"); -const Web3 = require("web3"); -const { isAddress } = require("web3-utils"); -const path = require("path"); -const fs = require("fs"); -const ENS = require("ethereum-ens"); - -const SUPPORTED_CHAIN_IDS = { - 1: "mainnet", - 3: "ropsten", - 4: "rinkeby", - 5: "goerli", - 42: "kovan" -}; - -const SUPPORTED_GENESIS_BLOCKS = { - "d4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3": 1, - "41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d": 3, - "6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177": 4, - "bf7e331f7f7c1dd2e05159666b3bf8bc7a8a3a9eb1d518969eab529dd9b88c1a": 5, - "a3c565fc15c7478862d50ccd6561e3c06b24cc509bf388941c25ea985ce32cb9": 42 -}; - -// Returns a list of publishable artifacts -// aka contractTypes and deployments found in all artifacts -async function getPublishableArtifacts(options, ethpm) { - var files = fs.readdirSync(options.contracts_build_directory); - files = files.filter(file => file.includes(".json")); - - if (!files.length) { - var msg = `Could not locate any publishable artifacts in ${options.contracts_build_directory}. Run "truffle compile" before publishing.`; - return new TruffleError(msg); - } - - const detectedNetworkIdsToBlockchainUris = {}; - const detectedArtifacts = {}; - const sourcePaths = {}; - - // group artifacts by network id to ensure consistency when converting networkId => blockchainUri - for (const file of files) { - const fileContents = JSON.parse( - fs.readFileSync( - path.join(options.contracts_build_directory, file), - "utf8" - ) - ); - sourcePaths[fileContents.sourcePath] = fileContents.source; - detectedArtifacts[fileContents.sourcePath] = fileContents; - const allDeploymentNetworkIds = Object.keys(fileContents.networks); - allDeploymentNetworkIds.forEach(deploymentNetworkId => { - detectedNetworkIdsToBlockchainUris[deploymentNetworkId] = ""; - }); - } - - const requiredNetworkIds = Object.keys(detectedNetworkIdsToBlockchainUris); - const availableNetworkIds = Object.keys(options.networks).map(n => - options.networks[n].network_id.toString() - ); - for (let networkId of requiredNetworkIds) { - if (!availableNetworkIds.includes(networkId)) { - throw new TruffleError( - `Detected a deployment for network id: ${networkId}, but missing a provider for this network. Please make sure there is an available provider for this network id in your truffle-config.` - ); - } - } - - // generate blockchainURI for each detected networkId - for (let networkId of requiredNetworkIds) { - let targetProvider; - for (let provider of Object.keys(options.networks)) { - if (options.networks[provider].network_id == networkId) { - // handle ganache provider from tests - if (typeof options.networks[provider].provider === "function") { - targetProvider = options.networks[provider].provider(); - } else { - targetProvider = options.networks[provider].provider; - } - } - } - const blockchainUri = await getBlockchainUriForProvider(targetProvider); - detectedNetworkIdsToBlockchainUris[networkId] = blockchainUri; - } - - // replace network ids with blockchain uri in detected artifacts - for (let artifactPath of Object.keys(detectedArtifacts)) { - var artifactDeployments = detectedArtifacts[artifactPath].networks; - var updatedDeployments = {}; - Object.keys(artifactDeployments).forEach(id => { - var matchingUri = detectedNetworkIdsToBlockchainUris[id]; - updatedDeployments[matchingUri] = artifactDeployments[id]; - }); - detectedArtifacts[artifactPath].networks = updatedDeployments; - } - - const normalizedArtifacts = Object.keys(detectedArtifacts).map( - key => detectedArtifacts[key] - ); - const parsedArtifacts = parseTruffleArtifacts(normalizedArtifacts); - const sources = await resolveSources( - sourcePaths, - options.contracts_directory, - ethpm - ); - return { - resolvedSources: sources, - resolvedContractTypes: parsedArtifacts.contractTypes, - resolvedDeployments: parsedArtifacts.deployments, - resolvedCompilers: parsedArtifacts.compilers - }; -} - -async function resolveEnsName(address, provider, options) { - let resolvedAddress; - const web3 = new Web3(provider); - const connectedChainId = await web3.eth.net.getId(); - const supportedChainIds = [1, 3, 4, 5]; - if (!supportedChainIds.includes(connectedChainId)) { - throw new TruffleError( - "Invalid ethPM uri. ENS is only supported on mainnet, ropsten, rinkeby & goerli." - ); - } - if (options.ens.enabled === false) { - throw new TruffleError( - "ENS must be enabled in truffle-config to use ENS names." - ); - } - try { - var ens = new ENS(provider); - resolvedAddress = await ens.resolver(address).addr(); - } catch (err) { - throw new TruffleError( - `Unable to resolve ENS name: ${address}. Reason: ${err.message}` - ); - } - return resolvedAddress; -} - -async function resolveEthpmUri(options, provider) { - let targetRegistry; - var targetProvider = provider; - const ethpmUri = new EthpmURI(options.package_identifier); - const web3 = new Web3(targetProvider); - const connectedChainId = await web3.eth.net.getId(); - - // update provider if it doesn't match chain id in ethpm uri - if ( - connectedChainId !== ethpmUri.chainId && - options.ethpm.registry.network !== "development" - ) { - const targetNetwork = SUPPORTED_CHAIN_IDS[ethpmUri.chainId]; - if (typeof targetNetwork === "undefined") { - throw new TruffleError( - `Invalid ethpm uri. Unsupported chain id: ${ethpmUri.chainId}` - ); - } - targetProvider = options.networks[targetNetwork].provider(); - } - - // Resolve ENS names in ethpm uri - if (!isAddress(ethpmUri.address)) { - targetRegistry = await resolveEnsName( - ethpmUri.address, - targetProvider, - options - ); - } else { - targetRegistry = ethpmUri.address; - } - - if (!ethpmUri.packageName) { - throw new TruffleError( - "Invalid ethpm uri. To install from an ethpm uri, you must at least provide the package name to install." - ); - } - - return { - targetPackageName: ethpmUri.packageName, - targetVersion: ethpmUri.version, - targetNetworkId: ethpmUri.chainId, - targetRegistry: targetRegistry, - targetProvider: targetProvider - }; -} - -function fetchInstalledBuildDependencies(workingDirectory) { - let ethpmLock; - try { - ethpmLock = JSON.parse( - fs.readFileSync( - path.join(workingDirectory, "_ethpm_packages", "ethpm.lock"), - "utf8" - ) - ); - } catch (err) { - return {}; - } - return Object.keys(ethpmLock).reduce((accumulator, key) => { - accumulator[key] = ethpmLock[key].resolved_uri; - return accumulator; - }, {}); -} - -function convertContractTypeToContractSchema( - contractData, - contractDeployments -) { - return { - ...(contractData.abi && { abi: contractData.abi }), - ...(contractData.contractName && { - contractName: contractData.contractName - }), - ...(contractData.compiler && { - compiler: { - ...(contractData.compiler.name && { - name: contractData.compiler.name - }), - ...(contractData.compiler.version && { - version: contractData.compiler.version - }) - } - }), - ...(contractData.runtimeBytecode && - contractData.runtimeBytecode.bytecode && { - deployedBytecode: contractData.runtimeBytecode.bytecode - }), - ...(contractData.deploymentBytecode && - contractData.deploymentBytecode.bytecode && { - bytecode: contractData.deploymentBytecode.bytecode - }), - ...(contractDeployments && { networks: contractDeployments }) - }; -} - -async function getBlockchainUriForProvider(provider) { - const web3 = new Web3(provider); - const genesisBlock = await web3.eth.getBlock(0); - const latestBlock = await web3.eth.getBlock("latest"); - return `blockchain://${genesisBlock.hash.replace( - "0x", - "" - )}/block/${latestBlock.hash.replace("0x", "")}`; -} - -// handles sources installed via ethpm -async function resolveSources(sourcePaths, contractsDirectory, ethpm) { - const sources = {}; - for (let sourcePath of Object.keys(sourcePaths)) { - // sourcePath is an "undefined" string literal here not raw undefined type - if (sourcePath != "undefined") { - const ipfsUri = await ethpm.storage.write(sourcePaths[sourcePath]); - // resolve all sources (including ethpm) to absolute contracts dir - const absolute = path.resolve(contractsDirectory, sourcePath); - // resolve all sources to relative path - const resolved = path.relative(contractsDirectory, absolute); - sources[resolved] = { - urls: [ipfsUri.href], - type: "solidity", - installPath: `./${resolved}` - }; - } - } - return sources; -} - -// Get provider from config (and handles ganache provider from tests) -function pluckProviderFromConfig(config) { - const targetNetwork = config.ethpm.registry.network; - if (config.networks[targetNetwork].provider.constructor.name == "Function") { - return config.networks[targetNetwork].provider(); - } else { - return config.networks[targetNetwork].provider; - } -} - -async function displayRegistryPermissions(options, ethpm) { - try { - const owner = await ethpm.registries.registry.methods.owner().call(); - options.logger.log(`Registry controlled by account: ${owner}`); - } catch (err) { - options.logger.log( - `This registry does not appear to have permissioned releases. This means that anybody can publish a package to this registry. Please be very careful before installing and interacting with packages on this registry.` - ); - } -} - -module.exports = { - convertContractTypeToContractSchema, - displayRegistryPermissions, - getPublishableArtifacts, - fetchInstalledBuildDependencies, - pluckProviderFromConfig, - resolveEthpmUri, - resolveEnsName, - SUPPORTED_CHAIN_IDS, - SUPPORTED_GENESIS_BLOCKS -}; diff --git a/packages/ethpm-v3/package.json b/packages/ethpm-v3/package.json deleted file mode 100644 index 9ad309cf14a..00000000000 --- a/packages/ethpm-v3/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "@truffle/ethpm-v3", - "version": "3.0.0", - "description": "ethereum package management v3", - "keywords": [ - "ethpm", - "packages" - ], - "homepage": "http://www.ethpm.com", - "license": "MIT", - "main": "./lib/ethpm-v3.js", - "scripts": { - "test": "mocha ./tests/* --timeout 10000 --exit" - }, - "dependencies": { - "@truffle/error": "^0.0.10", - "ethpm": "0.1.0-next.30", - "ethpm-spec": "^3.0.0", - "ethereum-ens": "^0.8.0", - "semver": "^7.3.2" - }, - "devDependencies": { - "mocha": "^8.0.1" - }, - "directories": { - "lib": "lib", - "test": "tests" - }, - "files": [ - "lib" - ], - "repository": { - "type": "git", - "url": "git+https://github.com/trufflesuite/truffle.git" - }, - "bugs": { - "url": "https://github.com/trufflesuite/truffle/issues" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/packages/ethpm-v3/tests/ethpm-v3.js b/packages/ethpm-v3/tests/ethpm-v3.js deleted file mode 100644 index f14e5c3fc7f..00000000000 --- a/packages/ethpm-v3/tests/ethpm-v3.js +++ /dev/null @@ -1,533 +0,0 @@ -var assert = require("chai").assert; -const expect = require("chai").expect; -var Box = require("@truffle/box"); -var fs = require("fs-extra"); -var glob = require("glob"); -var path = require("path"); -var WorkflowCompile = require("@truffle/workflow-compile"); -const { EthPM } = require("ethpm"); -var PackageV3 = require("@truffle/ethpm-v3"); -const Ganache = require("ganache-core"); -const Resolver = require("@truffle/resolver"); -const Artifactor = require("@truffle/artifactor"); -const Web3 = require("web3"); -const registryManifest = require("ethpm/registries/web3/simple/registry.json"); -const Migrate = require("@truffle/migrate"); - -describe("EthPM packages", function () { - var config; - var registry; - var provider; - let web3; - let owner; - let accounts; - this.timeout(30000); - - beforeEach("Create a Ganache provider and get a blockchain uri", async () => { - provider = Ganache.provider(); - web3 = new Web3(provider); - accounts = await web3.eth.getAccounts(); - owner = accounts[0]; - }); - - // Super slow doing these in a beforeEach, but it ensures nothing conflicts. - beforeEach("Create a sandbox", async () => { - this.timeout(20000); - config = await Box.sandbox("default"); - config.resolver = new Resolver(config); - config.artifactor = new Artifactor(config.contracts_build_directory); - config.networks = { - development: { - network_id: provider.options.network_id, - provider: provider, - from: owner - } - }; - config.ethpm = { - ipfsHost: "ipfs.infura.io", - ipfsPort: "5001", - ipfsProtocol: "https", - registry: { - network: "development" - } - }; - }); - - beforeEach("Create a fake EthPM host and memory registry", async () => { - this.timeout(30000); // I've had varying runtimes with this block, likely due to networking. - const registryFactory = new web3.eth.Contract( - registryManifest.contractTypes.PackageRegistry.abi - ); - const deploymentBytecode = - registryManifest.contractTypes.PackageRegistry.deploymentBytecode - .bytecode; - - // deploy registry - registry = await registryFactory - .deploy({ data: deploymentBytecode }) - .send({ from: owner, gas: 4712388, gasPrice: 100000000000 }); - - config.ethpm.registry.address = registry._address; - - // publish ens@1.0.0 - await registry.methods - .release( - "ens", - "1.0.0", - "ipfs://QmQbwp9TyXdGKPKvTeK9w1VEy9SxHfLDfUDdErwApnNMds" - ) - .send({ from: owner, gas: 4712388, gasPrice: 100000000000 }); - - // publish ethregistrar@1.0.1 - await registry.methods - .release( - "ethregistrar", - "3.0.0", - "ipfs://QmYraovUprvG69Ti8budkvTMq1avdZ8CaGPeVX3Z6JUE7K" - ) - .send({ from: owner, gas: 4712388, gasPrice: 100000000000 }); - }); - - afterEach("Cleanup tmp files", async () => { - glob("tmp-*", (err, files) => { - files.forEach(file => fs.unlinkSync(file)); - }); - }); - - it("lists available packages", async () => { - let consoleOutput = []; - const originalLog = config.logger.log; - const mockedLog = output => consoleOutput.push(output); - config.logger.log = mockedLog; - await PackageV3.packages(config); - expect(consoleOutput[0]).to.include( - "Searching for packages published on registry located at:" - ); - expect(consoleOutput[1]).to.include("Registry controlled by account:"); - expect(consoleOutput[2]).to.include("Package: ens"); - expect(consoleOutput[3]).to.include( - "- 1.0.0 @ ipfs://QmQbwp9TyXdGKPKvTeK9w1VEy9SxHfLDfUDdErwApnNMds" - ); - expect(consoleOutput[4]).to.include("Package: ethregistrar"); - expect(consoleOutput[5]).to.include( - "- 3.0.0 @ ipfs://QmYraovUprvG69Ti8budkvTMq1avdZ8CaGPeVX3Z6JUE7K" - ); - config.logger.log = originalLog; - }); -}); - -describe("EthPM install", function () { - var config; - var registry; - var provider; - let web3; - let owner; - let accounts; - this.timeout(30000); - - beforeEach("Create a Ganache provider and get a blockchain uri", async () => { - provider = Ganache.provider(); - web3 = new Web3(provider); - accounts = await web3.eth.getAccounts(); - owner = accounts[0]; - }); - - // Super slow doing these in a beforeEach, but it ensures nothing conflicts. - beforeEach("Create a sandbox", async () => { - this.timeout(20000); - config = await Box.sandbox("default"); - config.resolver = new Resolver(config); - config.artifactor = new Artifactor(config.contracts_build_directory); - config.network = "development"; - config.networks = { - development: { - network_id: provider.options.network_id, - provider: provider, - from: owner - } - }; - config.ethpm = { - registry: { - network: "development" - }, - ipfsHost: "ipfs.infura.io", - ipfsPort: "5001", - ipfsProtocol: "https" - }; - }); - - beforeEach("Create a fake EthPM host and memory registry", async () => { - this.timeout(30000); // I've had varying runtimes with this block, likely due to networking. - const registryFactory = new web3.eth.Contract( - registryManifest.contractTypes.PackageRegistry.abi - ); - const deploymentBytecode = - registryManifest.contractTypes.PackageRegistry.deploymentBytecode - .bytecode; - - // deploy registry - registry = await registryFactory - .deploy({ data: deploymentBytecode }) - .send({ from: owner, gas: 4712388, gasPrice: 100000000000 }); - - config.ethpm.registry.address = registry._address; - - // publish ens@1.0.0 - await registry.methods - .release( - "ens", - "1.0.0", - "ipfs://QmQbwp9TyXdGKPKvTeK9w1VEy9SxHfLDfUDdErwApnNMds" - ) - .send({ from: owner, gas: 4712388, gasPrice: 100000000000 }); - - // publish ethregistrar@1.0.1 - await registry.methods - .release( - "ethregistrar", - "3.0.0", - "ipfs://QmYraovUprvG69Ti8budkvTMq1avdZ8CaGPeVX3Z6JUE7K" - ) - .send({ from: owner, gas: 4712388, gasPrice: 100000000000 }); - }); - - afterEach("Cleanup tmp files", async () => { - glob("tmp-*", (err, files) => { - files.forEach(file => fs.unlinkSync(file)); - }); - }); - - it("requires a valid package name and version to install", async () => { - config.package_identifier = `erc1319://${registry._address}:1`; - try { - await PackageV3.install(config); - } catch (error) { - expect(error.message).to.include( - "Invalid ethpm uri. To install from an ethpm uri, you must at least provide the package name to install." - ); - } - }); - - it("invalidates ethpm uris for packages not published on itself", async () => { - config.package_identifier = `erc1319://${registry._address}:1/invalid@1.0.0`; - try { - await PackageV3.install(config); - } catch (error) { - expect(error.message).to.include( - "Package: invalid, not found on registry" - ); - } - }); - - it("successfully installs single dependency from EthPM", async () => { - config.package_identifier = `erc1319://${registry._address}:1/ens@1.0.0`; - await PackageV3.install(config); - const expected_ethpm_directory = path.resolve( - path.join(config.working_directory, "_ethpm_packages") - ); - const expected_install_directory = path.resolve( - path.join(expected_ethpm_directory, "ens") - ); - assert(fs.existsSync(path.join(expected_ethpm_directory, "ethpm.lock"))); - assert( - fs.existsSync(path.join(expected_install_directory, "_src", "ENS.sol")) - ); - assert( - fs.existsSync(path.join(expected_install_directory, "manifest.json")) - ); - }); - - it("successfully installs and provisions a package with dependencies from EthPMv3", async () => { - config.package_identifier = `erc1319://${registry._address}:1/ens@1.0.0`; - await PackageV3.install(config); - - // Write a contract that uses transferable, so it will be compiled. - var contractSource = - "pragma solidity ^0.5.12; import 'ens/ENS.sol'; contract MyContract {}"; - fs.writeFileSync( - path.join(config.contracts_directory, "MyContract.sol"), - contractSource, - "utf8" - ); - - const contracts = await WorkflowCompile.compile( - config.with({ all: true, quiet: true }) - ); - assert.isNotNull(contracts["ENS"]); - assert.isNotNull(contracts["MyContract"]); - // test that relevant ethpm.locks are there? - }); - - // For each of these examples, sources exist. However, including sources isn't required. This test - // treats the package as if it had no sources; to do so, we simply don't compile its code. - // In addition, this package contains deployments. We need to make sure these deployments are available. - it("successfully installs and provisions a deployed package with network artifacts from EthPM, without compiling v3", async () => { - await WorkflowCompile.compile(config.with({ all: true, quiet: true })); - config.package_identifier = `erc1319://${registry._address}:1/ens@1.0.0`; - await PackageV3.install(config); - - // Make sure we can resolve it. - var expectedContractName = "ENSRegistry"; - var ENS = await config.resolver.require("ens/contracts/ENSRegistry.sol"); - assert.equal( - ENS.contract_name, - expectedContractName, - "Could not find provisioned contract with name '" + - expectedContractName + - "'" - ); - // Ensure we didn't resolve a local path. - assert.ok( - fs.existsSync( - path.join(config.contracts_build_directory, "ENSRegistry.json") - ) - ); - }); - - it("handles deployments", async () => { - await WorkflowCompile.compile(config.with({ all: true, quiet: true })); - - const installed_package = "ethregistrar"; - const expected_contract_name = "BaseRegistrarImplementation"; - config.package_identifier = `erc1319://${registry._address}:1/ethregistrar@3.0.0`; - await PackageV3.install(config); - - var expected_manifest_path = path.join( - config.working_directory, - "_ethpm_packages", - installed_package, - "manifest.json" - ); - - const manifest = JSON.parse( - fs.readFileSync(expected_manifest_path, "utf8") - ); - const blockchainUri = Object.keys(manifest.deployments)[0]; - // Make sure the blockchain was inserted correctly (really a function of GithubExamples). - assert.ok( - manifest.deployments, - "No deployments when a deployment was expected" - ); - assert.ok( - manifest.deployments[blockchainUri], - "No deployments to the expected blockchain" - ); - assert.ok( - manifest.deployments[blockchainUri][expected_contract_name], - expected_contract_name + - " does not appear in deployed contracts for expected blockchain" - ); - - const BaseRegistrarImplementation = await config.resolver.require( - "ethregistrar/BaseRegistrarImplementation.sol" - ); - // Finally assert the address. - assert.equal( - BaseRegistrarImplementation.networks["1"].address, - manifest.deployments[blockchainUri][expected_contract_name].address, - "Address in contract doesn't match address in manifest" - ); - }); -}); - -describe("ethpm publish: ", function () { - this.timeout(30000); - let web3; - let config; - let provider; - let registry; - let owner; - let accounts; - - beforeEach( - "Create a Ganache provider, deploy a new registry, and get a blockchain uri", - async () => { - this.timeout(30000); // I've had varying runtimes with this block, likely due to networking. - // setup - provider = Ganache.provider(); - web3 = new Web3(provider); - accounts = await web3.eth.getAccounts(); - owner = accounts[0]; - const registryFactory = new web3.eth.Contract( - registryManifest.contractTypes.PackageRegistry.abi - ); - const deploymentBytecode = - registryManifest.contractTypes.PackageRegistry.deploymentBytecode - .bytecode; - registry = await registryFactory - .deploy({ data: deploymentBytecode }) - .send({ from: owner, gas: 4712388, gasPrice: 100000000000 }); - } - ); - - // Super slow doing these in a beforeEach, but it ensures nothing conflicts. - beforeEach("Create a sandbox", async () => { - this.timeout(20000); - config = await Box.sandbox("default"); - config.resolver = new Resolver(config); - config.artifactor = new Artifactor(config.contracts_build_directory); - config.network = "development"; - config.networks = { - development: { - network_id: provider.options.network_id, - provider: provider, - from: owner - } - }; - config.ethpm = { - ipfsHost: "ipfs.infura.io", - ipfsPort: "5001", - ipfsProtocol: "https", - registry: { - address: registry._address, - network: "development" - } - }; - }); - - afterEach("Cleanup tmp files", async () => { - glob("tmp-*", (err, files) => { - files.forEach(file => fs.unlinkSync(file)); - }); - }); - - it("requires valid ethpm.json to publish", async () => { - let counter = 0; - await WorkflowCompile.compileAndSave(config.with({ quiet: true })); - - // Empty config - fs.writeFileSync( - path.join(config.working_directory, "ethpm.json"), - JSON.stringify({}), - "utf8" - ); - await Migrate.run(config.with({ quiet: true })); - try { - await PackageV3.publish(config); - } catch (error) { - expect(error.message).to.include( - "Invalid ethpm.json configuration detected." - ); - counter++; - } - - // Missing version field - fs.writeFileSync( - path.join(config.working_directory, "ethpm.json"), - JSON.stringify({ package_name: "pkg" }), - "utf8" - ); - - try { - await PackageV3.publish(config.with({ version: "1" })); - } catch (error) { - expect(error.message).to.include( - "Invalid ethpm.json configuration detected." - ); - counter++; - } - // Missing name field - fs.writeFileSync( - path.join(config.working_directory, "ethpm.json"), - JSON.stringify({ version: "1" }), - "utf8" - ); - - try { - await PackageV3.publish(config.with({ package_name: "pkg" })); - } catch (error) { - expect(error.message).to.include( - "Invalid ethpm.json configuration detected." - ); - counter++; - } - expect(counter).to.equal(3); - }); - - it("publishes a basic package", async () => { - let consoleOutput = []; - const originalLog = config.logger.log; - const mockedLog = output => consoleOutput.push(output); - config.logger.log = mockedLog; - - await WorkflowCompile.compileAndSave(config.with({ quiet: true })); - const ethpmJson = JSON.stringify({ - name: "pkg", - version: "1.0.0", - meta: { - description: "test", - authors: ["me "], - keywords: ["test", "solidity", "truffle"], - license: "mit", - links: [ - { - repo: "www.github.com", - documentation: "www.readthedocs.com", - website: "www.website.com" - } - ] - } - }); - fs.writeFileSync( - path.join(config.working_directory, "ethpm.json"), - ethpmJson, - "utf8" - ); - await Migrate.run(config.with({ quiet: true })); - await PackageV3.publish(config); - expect(consoleOutput[2]).to.include("Publishing package to registry"); - expect(consoleOutput[3]).to.include("Published pkg@1.0.0 to"); - config.logger.log = originalLog; - - const ethpm = await EthPM.configure({ - manifests: "ethpm/manifests/v3", - storage: "ethpm/storage/ipfs", - registries: "ethpm/registries/web3" - }).connect({ - provider: provider, - registryAddress: config.ethpm.registry.address, - ipfs: { - host: config.ethpm.ipfsHost, - port: config.ethpm.ipfsPort, - protocol: config.ethpm.ipfsProtocol - } - }); - - // validate fields of published manifest - const manifestUri = await ethpm.registries.package("pkg").release("1.0.0"); - const rawManifest = await ethpm.storage.read(manifestUri); - const pkg = JSON.parse(rawManifest); - expect(pkg.name).to.equal("pkg"); - expect(pkg.version).to.equal("1.0.0"); - expect(pkg.manifest).to.equal("ethpm/3"); - expect(pkg.meta.description).to.equal("test"); - expect(pkg.meta.authors).to.include("me "); - expect(pkg.meta.authors).to.have.lengthOf(1); - expect(pkg.meta.keywords).to.include("test", "solidity", "truffle"); - expect(pkg.meta.keywords).to.have.lengthOf(3); - expect(pkg.meta.license).to.equal("mit"); - expect(pkg.sources["ConvertLib.sol"]).to.eql({ - installPath: "./ConvertLib.sol", - type: "solidity", - urls: ["ipfs://QmcGD9ynJr3fzYTdNoNygWzDBZEedeX3GUqmaEAi4Jrp6o"] - }); - expect(pkg.sources["MetaCoin.sol"]).to.eql({ - installPath: "./MetaCoin.sol", - type: "solidity", - urls: ["ipfs://QmQaTyKrqbePBsrtbhBYKeRnT7E5sTeNmMXCdtX8VSQLB8"] - }); - expect(pkg.sources["Migrations.sol"]).to.eql({ - installPath: "./Migrations.sol", - type: "solidity", - urls: ["ipfs://QmascrL8SoRJpMHJnjiCFSXwgEe6fR8oNUszKRGQy2nsnn"] - }); - //expect(pkg).to.have.keys("compilers") - expect(pkg.contractTypes.ConvertLib).to.have.keys( - "abi", - "devdoc", - "userdoc", - "deploymentBytecode", - "runtimeBytecode" - ); - }); -}); diff --git a/packages/resolver/lib/resolver.ts b/packages/resolver/lib/resolver.ts index b2d63566465..8f366d85428 100644 --- a/packages/resolver/lib/resolver.ts +++ b/packages/resolver/lib/resolver.ts @@ -3,7 +3,7 @@ const expect = require("@truffle/expect"); const provision = require("@truffle/provisioner"); import { ResolverSource } from "./source"; -import { EthPMv3, NPM, GlobalNPM, FS, Truffle, ABI } from "./sources"; +import { EthPMv1, NPM, GlobalNPM, FS, Truffle, ABI } from "./sources"; export class Resolver { options: any; @@ -14,8 +14,7 @@ export class Resolver { this.options = options; this.sources = [ - //new EthPMv1(options.working_directory), - new EthPMv3(options.working_directory), + new EthPMv1(options.working_directory), new NPM(options.working_directory), new GlobalNPM(), new ABI(options.working_directory, options.contracts_build_directory), diff --git a/packages/resolver/lib/sources/ethpm-v1.ts b/packages/resolver/lib/sources/ethpm-v1.ts index 4c462e98320..4165fce4c1e 100644 --- a/packages/resolver/lib/sources/ethpm-v1.ts +++ b/packages/resolver/lib/sources/ethpm-v1.ts @@ -54,10 +54,10 @@ export class EthPMv1 implements ResolverSource { }; // Go through deployments and save all of them - Object.keys(lockfile.deployments || {}).forEach(function (blockchain) { + Object.keys(lockfile.deployments || {}).forEach(function(blockchain) { var deployments = lockfile.deployments[blockchain]; - Object.keys(deployments).forEach(function (name) { + Object.keys(deployments).forEach(function(name) { var deployment = deployments[name]; if (deployment.contract_type === contract_name) { json.networks[blockchain] = { diff --git a/packages/resolver/lib/sources/ethpm-v3.ts b/packages/resolver/lib/sources/ethpm-v3.ts deleted file mode 100644 index a7357c66f1e..00000000000 --- a/packages/resolver/lib/sources/ethpm-v3.ts +++ /dev/null @@ -1,156 +0,0 @@ -import path from "path"; -import fs from "fs"; -import glob from "glob"; - -import { ContractObject } from "@truffle/contract-schema/spec"; -import { ResolverSource } from "../source"; - -export class EthPMv3 implements ResolverSource { - workingDirectory: string; - allEthpmFiles: any; - - constructor(workingDirectory: string) { - this.workingDirectory = workingDirectory; - this.allEthpmFiles = glob.sync("**/*", { - cwd: path.join(this.workingDirectory, "_ethpm_packages") - }); - } - - require(importPath: string) { - if (importPath.startsWith(".") || importPath.startsWith("/")) { - return null; - } - - // Look to see if we've compiled our own version first. - var contractName = path.basename(importPath, ".sol"); - - // We haven't compiled our own version. Assemble from data in the manifest. - var separator = importPath.indexOf("/"); - var packageName = importPath.substring(0, separator); - - var installDirectory = path.join(this.workingDirectory, "_ethpm_packages"); - var manifest: any = path.join( - installDirectory, - packageName, - "manifest.json" - ); - - try { - manifest = fs.readFileSync(manifest, "utf8"); - } catch (e) { - return null; - } - - manifest = JSON.parse(manifest); - - // TODO: contracts that reference other types - // TODO: contract types that specify a hash as their key - // TODO: imported name doesn't match type but matches deployment name - var contractTypes = manifest.contractTypes || {}; - var type = contractTypes[contractName]; - - // No contract name of the type asked. - if (!type) return null; - - var json: ContractObject = { - abi: type.abi, - contractName: contractName, - networks: {}, - unlinked_binary: type.deploymentBytecode.bytecode - }; - - // Go through deployments and save all of them - Object.keys(manifest.deployments || {}).forEach(function (blockchain) { - var deployments = manifest.deployments[blockchain]; - - Object.keys(deployments).forEach(function (name) { - var deployment = deployments[name]; - if (deployment.contractType === contractName) { - json.networks[blockchain] = { - events: {}, - links: {}, - address: deployment.address - }; - } - }); - }); - - return json; - } - - async resolve(importPath: string) { - var separator = importPath.indexOf("/"); - var packageName = importPath.substring(0, separator); - var internalPath = importPath.substring(separator + 1); - var installDir = this.workingDirectory; - - // If nothing's found, body returns `undefined` - var body; - var matches = this.allEthpmFiles.filter((p: any) => p.includes(importPath)); - - while (true) { - // check for root level ethpm sources - var filePath = path.join( - installDir, - "_ethpm_packages", - packageName, - "_src", - internalPath - ); - - try { - body = fs.readFileSync(filePath, { encoding: "utf8" }); - break; - } catch (err) {} - - filePath = path.join( - installDir, - "installed_contracts", - packageName, - "contracts", - internalPath - ); - - try { - body = fs.readFileSync(filePath, { encoding: "utf8" }); - break; - } catch (err) {} - - if (matches.length === 1) { - try { - body = fs.readFileSync( - path.join(installDir, "_ethpm_packages", matches[0]), - { encoding: "utf8" } - ); - break; - } catch (err) {} - } - - // Recurse outwards until impossible - var oldInstallDir = installDir; - installDir = path.join(installDir, ".."); - if (installDir === oldInstallDir) { - break; - } - } - return { body, filePath: importPath }; - } - - // We're resolving package paths to other package paths, not absolute paths. - // This will ensure the source fetcher conintues to use the correct sources for packages. - // i.e., if some_module/contracts/MyContract.sol imported "./AnotherContract.sol", - // we're going to resolve it to some_module/contracts/AnotherContract.sol, ensuring - // that when this path is evaluated this source is used again. - resolveDependencyPath(importPath: string, dependencyPath: string) { - var dirname = path.dirname(importPath); - var resolvedDependencyPath = path.join(dirname, dependencyPath); - - // Note: We use `path.join()` here to take care of path idiosyncrasies - // like joining "something/" and "./something_else.sol". However, this makes - // paths OS dependent, and on Windows, makes the separator "\". Solidity - // needs the separator to be a forward slash. Let's massage that here. - resolvedDependencyPath = resolvedDependencyPath.replace(/\\/g, "/"); - - return resolvedDependencyPath; - } -} diff --git a/packages/resolver/lib/sources/index.ts b/packages/resolver/lib/sources/index.ts index 5c4b545c8c9..f4a907dfc46 100644 --- a/packages/resolver/lib/sources/index.ts +++ b/packages/resolver/lib/sources/index.ts @@ -1,5 +1,4 @@ export { EthPMv1 } from "./ethpm-v1"; -export { EthPMv3 } from "./ethpm-v3"; export { NPM } from "./npm"; export { GlobalNPM } from "./globalnpm"; export { FS } from "./fs"; diff --git a/packages/truffle/test/scenarios/commands/ethpm.js b/packages/truffle/test/scenarios/commands/ethpm.js index eb359603549..658a017788f 100644 --- a/packages/truffle/test/scenarios/commands/ethpm.js +++ b/packages/truffle/test/scenarios/commands/ethpm.js @@ -4,64 +4,60 @@ var fs = require("fs"); var path = require("path"); var assert = require("assert"); var Server = require("../server"); +var Reporter = require("../reporter"); var sandbox = require("../sandbox"); var log = console.log; -function processErr(err, output) { - if (err) { - log(output); - throw new Error(err); - } -} - -describe("truffle publish", () => { - let config, projectPath; +describe("truffle publish", function() { + var config; + var project = path.join(__dirname, '../../sources/ethpm'); var logger = new MemoryLogger(); - before("before all setup", done => { - projectPath = path.join(__dirname, "../../sources/ethpm"); - sandbox - .create(projectPath) - .then(conf => { - config = conf; - config.network = "ropsten"; - config.logger = logger; - }) - .then(() => Server.start(done)); + before("set up the server", function(done) { + Server.start(done); + }); + + after("stop server", function(done) { + Server.stop(done); }); - after(done => Server.stop(done)); + before("set up sandbox", function() { + this.timeout(10000); + return sandbox.create(project).then(conf => { + config = conf; + config.network = "development"; + config.logger = logger; + config.mocha = { + reporter: new Reporter(logger) + }; + }); + }); // This test only validates package assembly. We expect it to run logic up to the attempt to // publish to the network and fail. - describe("With an ethpm package installed", () => { - it.skip("Can locate all the sources to publish", async () => { - await CommandRunner.run("compile", config); + it.skip("Can locate all the sources to publish", function(done) { + this.timeout(30000); - assert( - fs.existsSync( - path.join(config.contracts_build_directory, "PLCRVoting.json") - ) - ); - assert( - fs.existsSync(path.join(config.contracts_build_directory, "EIP20.json")) - ); - assert( - fs.existsSync(path.join(config.contracts_build_directory, "Local.json")) - ); + CommandRunner.run("compile", config, function(err) { + if (err) { + log(logger.contents()); + return done(err); + } + assert(fs.existsSync(path.join(config.contracts_build_directory, "PLCRVoting.json"))); + assert(fs.existsSync(path.join(config.contracts_build_directory, "EIP20.json"))); + assert(fs.existsSync(path.join(config.contracts_build_directory, "Local.json"))); - try { - await CommandRunner.run("publish", config); - } catch (error) { + CommandRunner.run("publish", config, function(err) { var output = logger.contents(); - processErr(error, output); - } - assert( - output.includes("Uploading sources and publishing"), - "Should have found sources" - ); - done(); - }).timeout(30000); + // We expect publication to be rejected by the client. + if (!err) { + log(output); + done(err); + } + assert(output.includes('Uploading sources and publishing'), 'Should have found sources'); + done(); + }); + }); }); }); diff --git a/packages/truffle/test/scenarios/commands/install.js b/packages/truffle/test/scenarios/commands/install.js index ac38cf1e3c0..0dbb6e4a594 100644 --- a/packages/truffle/test/scenarios/commands/install.js +++ b/packages/truffle/test/scenarios/commands/install.js @@ -1,35 +1,23 @@ const CommandRunner = require("../commandrunner"); -const MemoryLogger = require("../memorylogger"); const sandbox = require("../sandbox"); const assert = require("assert"); +const fse = require("fs-extra"); const path = require("path"); let config; describe("truffle install [ @standalone ]", () => { - var logger = new MemoryLogger(); - before(async () => { config = await sandbox.create( path.join(__dirname, "../../sources/install/init") ); - config.logger = logger; + config.logger = { log: () => {} }; }); it("unboxes successfully", async () => { - try { - // throws an error since there is no valid provider in truffle-config - await CommandRunner.run( - "install ipfs://QmcxvhkJJVpbxEAa6cgW3B6XwPJb79w9GpNUv2P2THUzZR", - config - ); - } catch (err) { - var output = logger.contents(); - } - - assert( - output.includes("Fetching package manifest"), - "Should have started locating manifest" + await CommandRunner.run("install zeppelin", config); + const theInstallDirExists = fse.pathExistsSync( + path.join(config.working_directory, "installed_contracts") ); - //assert(theInstallDirExists); + assert(theInstallDirExists); }).timeout(30000); }); diff --git a/packages/truffle/test/scenarios/library/api.js b/packages/truffle/test/scenarios/library/api.js index d8a26c262ca..6511ec30c7a 100644 --- a/packages/truffle/test/scenarios/library/api.js +++ b/packages/truffle/test/scenarios/library/api.js @@ -52,9 +52,13 @@ describe("Truffle Library APIs [ @standalone ]", () => { }); it("truffle.package API definition", () => { - assert(truffle.package.install, "package.install undefined"); - assert(truffle.package.packages, "package.packages undefined"); assert(truffle.package.publish, "package.publish undefined"); + assert(truffle.package.install, "package.install undefined"); + assert(truffle.package.digest, "package.digest undefined"); + assert( + truffle.package.publishable_artifacts, + "package.publishable_artifacts undefined" + ); }); it("truffle.test API", () => { diff --git a/packages/truffle/test/scenarios/resolver/resolver.js b/packages/truffle/test/scenarios/resolver/resolver.js index ef3e68fb4ad..522922d1961 100644 --- a/packages/truffle/test/scenarios/resolver/resolver.js +++ b/packages/truffle/test/scenarios/resolver/resolver.js @@ -6,7 +6,7 @@ var Server = require("../server"); var Reporter = require("../reporter"); var sandbox = require("../sandbox"); -describe("Solidity Imports [ @standalone ]", function () { +describe("Solidity Imports [ @standalone ]", function() { var config; var project = path.join(__dirname, "../../sources/monorepo"); var logger = new MemoryLogger(); @@ -23,10 +23,9 @@ describe("Solidity Imports [ @standalone ]", function () { * | |-- ImportOfImport.sol # Local import for NodeImport.sol * | |-- NodeImport.sol * | - * + _ethpm_packages/ + * + installed_contracts/ * |-- ethpmpkg/ - * | |-- _src/ - * | |-- EthPMImport.sol + * | |-- EthPMImport.sol * | * + truffleproject/ * |-- contracts/ @@ -42,8 +41,8 @@ describe("Solidity Imports [ @standalone ]", function () { * | */ - describe("success", function () { - before(function () { + describe("success", function() { + before(function() { this.timeout(10000); return sandbox.create(project, "truffleproject").then(conf => { config = conf; @@ -55,7 +54,7 @@ describe("Solidity Imports [ @standalone ]", function () { }); }); - it("resolves solidity imports located outside the working directory", async function () { + it("resolves solidity imports located outside the working directory", async function() { this.timeout(30000); await CommandRunner.run("compile", config); @@ -69,8 +68,8 @@ describe("Solidity Imports [ @standalone ]", function () { }); }); - describe("failure", function () { - before(function () { + describe("failure", function() { + before(function() { this.timeout(10000); return sandbox.create(project, "errorproject").then(conf => { config = conf; @@ -82,7 +81,7 @@ describe("Solidity Imports [ @standalone ]", function () { }); }); - it("fails gracefully if an import is not found", async function () { + it("fails gracefully if an import is not found", async function() { this.timeout(30000); try { diff --git a/packages/truffle/test/sources/ethpm/_ethpm_packages/ethpm.lock b/packages/truffle/test/sources/ethpm/_ethpm_packages/ethpm.lock deleted file mode 100644 index 7d751b2d46a..00000000000 --- a/packages/truffle/test/sources/ethpm/_ethpm_packages/ethpm.lock +++ /dev/null @@ -1,11 +0,0 @@ -{ - "tokens": { - "alias": "tokens", - "install_uri": "ipfs://QmUFjXUiz86LNhpMZV8v2rnK6vVhXHcMZqbTuQyd2RZ2ib", - "registry_address": null, - "resolved_content_hash": "QmUFjXUiz86LNhpMZV8v2rnK6vVhXHcMZqbTuQyd2RZ2ib", - "resolved_package_name": "tokens", - "resolved_uri": "ipfs://QmUFjXUiz86LNhpMZV8v2rnK6vVhXHcMZqbTuQyd2RZ2ib", - "resolved_version": "1.0.0" - } -} diff --git a/packages/truffle/test/sources/ethpm/_ethpm_packages/tokens/manifest.json b/packages/truffle/test/sources/ethpm/_ethpm_packages/tokens/manifest.json deleted file mode 100644 index c2beeaca8fd..00000000000 --- a/packages/truffle/test/sources/ethpm/_ethpm_packages/tokens/manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"manifest":"ethpm/3","name":"tokens","meta":{"authors":["Simon de la Rouviere ","Joseph Chow "],"license":"MIT","description":"Ethereum Token Contracts","keywords":["tokens","consensys"],"links":{}},"version":"1.0.0","contractTypes":{"undefined":{"abi":[{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]}},"deployments":{},"sources":{"./contracts/Migrations.sol":{"urls":["ipfs://QmZ72TqAAmZA1fBze7HBpRP6XspG7g62JzTbAb1pAX8AVs"]},"./contracts/eip20/EIP20.sol":{"urls":["ipfs://QmZL1B4nzrFLhpKepmKWtLeLhRc7mP1zDWXA1vd2oA46rL"]},"./contracts/eip20/EIP20Factory.sol":{"urls":"ipfs://QmSxZrx5QPEeoKKUxE3DCd9ZHPUr1NzVziZ7FoA5mA1sdC"]},"./contracts/eip20/EIP20Interface.sol":{"urls":["ipfs://Qmd6HweneNKWybsiXWGiQ4hvzPuV8Gm58sBncvsGRP7Y29"]}}} diff --git a/packages/truffle/test/sources/ethpm/contracts/PLCRVoting.sol b/packages/truffle/test/sources/ethpm/contracts/PLCRVoting.sol index c760c334484..e226113ef1f 100644 --- a/packages/truffle/test/sources/ethpm/contracts/PLCRVoting.sol +++ b/packages/truffle/test/sources/ethpm/contracts/PLCRVoting.sol @@ -1,6 +1,6 @@ pragma solidity ^0.5.0; -import "tokens/contracts/eip20/EIP20.sol"; +import "tokens/eip20/EIP20.sol"; import "./Local.sol"; contract PLCRVoting is EIP20, Local { @@ -10,6 +10,6 @@ contract PLCRVoting is EIP20, Local { } function attrUUID(address _user, uint _pollID) public pure returns (bytes32 UUID) { - return keccak256(abi.encodePacked(_user, _pollID)); + return keccak256(_user, _pollID); } } diff --git a/packages/truffle/test/sources/ethpm/ethpm.json b/packages/truffle/test/sources/ethpm/ethpm.json index 576ebe01ae4..a26b32d0abf 100644 --- a/packages/truffle/test/sources/ethpm/ethpm.json +++ b/packages/truffle/test/sources/ethpm/ethpm.json @@ -1,18 +1,19 @@ { - "name": "plcrvoting", + "package_name": "plcrvoting", "version": "1.0.0", - "meta": { - "description": "PLCR voting for ERC20 tokens", - "authors": [ - "Yorke Rhodes", - "Cem Ozer", - "Aspyn Palatnick" - ], - "keywords": [ - "tokens", - "consensys", - "plcr" - ], - "license": "Apache 2.0" - } + "description": "PLCR voting for ERC20 tokens", + "authors": [ + "Yorke Rhodes", + "Cem Ozer", + "Aspyn Palatnick" + ], + "keywords": [ + "tokens", + "consensys", + "plcr" + ], + "dependencies": { + "tokens": "1.0.0" + }, + "license": "Apache 2.0" } diff --git a/packages/truffle/test/sources/ethpm/_ethpm_packages/tokens/_src/contracts/Migrations.sol b/packages/truffle/test/sources/ethpm/installed_contracts/tokens/contracts/Migrations.sol similarity index 100% rename from packages/truffle/test/sources/ethpm/_ethpm_packages/tokens/_src/contracts/Migrations.sol rename to packages/truffle/test/sources/ethpm/installed_contracts/tokens/contracts/Migrations.sol diff --git a/packages/truffle/test/sources/ethpm/_ethpm_packages/tokens/_src/contracts/eip20/EIP20.sol b/packages/truffle/test/sources/ethpm/installed_contracts/tokens/contracts/eip20/EIP20.sol similarity index 93% rename from packages/truffle/test/sources/ethpm/_ethpm_packages/tokens/_src/contracts/eip20/EIP20.sol rename to packages/truffle/test/sources/ethpm/installed_contracts/tokens/contracts/eip20/EIP20.sol index fa200b7f975..de6cfbc872f 100644 --- a/packages/truffle/test/sources/ethpm/_ethpm_packages/tokens/_src/contracts/eip20/EIP20.sol +++ b/packages/truffle/test/sources/ethpm/installed_contracts/tokens/contracts/eip20/EIP20.sol @@ -21,9 +21,9 @@ contract EIP20 is EIP20Interface { constructor( uint256 _initialAmount, - string memory _tokenName, + string _tokenName, uint8 _decimalUnits, - string memory _tokenSymbol + string _tokenSymbol ) public { balances[msg.sender] = _initialAmount; // Give the creator all initial tokens totalSupply = _initialAmount; // Update total supply @@ -40,7 +40,7 @@ contract EIP20 is EIP20Interface { require(balances[msg.sender] >= _value); balances[msg.sender] -= _value; balances[_to] += _value; - emit Transfer(msg.sender, _to, _value); + Transfer(msg.sender, _to, _value); return true; } @@ -54,7 +54,7 @@ contract EIP20 is EIP20Interface { if (allowance < MAX_UINT256) { allowed[_from][msg.sender] -= _value; } - emit Transfer(_from, _to, _value); + Transfer(_from, _to, _value); return true; } @@ -64,7 +64,7 @@ contract EIP20 is EIP20Interface { function approve(address _spender, uint256 _value) public returns (bool success) { allowed[msg.sender][_spender] = _value; - emit Approval(msg.sender, _spender, _value); + Approval(msg.sender, _spender, _value); return true; } diff --git a/packages/truffle/test/sources/ethpm/_ethpm_packages/tokens/_src/contracts/eip20/EIP20Factory.sol b/packages/truffle/test/sources/ethpm/installed_contracts/tokens/contracts/eip20/EIP20Factory.sol similarity index 100% rename from packages/truffle/test/sources/ethpm/_ethpm_packages/tokens/_src/contracts/eip20/EIP20Factory.sol rename to packages/truffle/test/sources/ethpm/installed_contracts/tokens/contracts/eip20/EIP20Factory.sol diff --git a/packages/truffle/test/sources/ethpm/_ethpm_packages/tokens/_src/contracts/eip20/EIP20Interface.sol b/packages/truffle/test/sources/ethpm/installed_contracts/tokens/contracts/eip20/EIP20Interface.sol similarity index 100% rename from packages/truffle/test/sources/ethpm/_ethpm_packages/tokens/_src/contracts/eip20/EIP20Interface.sol rename to packages/truffle/test/sources/ethpm/installed_contracts/tokens/contracts/eip20/EIP20Interface.sol diff --git a/packages/truffle/test/sources/ethpm/installed_contracts/tokens/ethpm.json b/packages/truffle/test/sources/ethpm/installed_contracts/tokens/ethpm.json new file mode 100644 index 00000000000..aaf7906c80b --- /dev/null +++ b/packages/truffle/test/sources/ethpm/installed_contracts/tokens/ethpm.json @@ -0,0 +1,23 @@ +{ + "authors": [ + "Simon de la Rouviere ", + "Joseph Chow " + ], + "license": "MIT", + "description": "Ethereum Token Contracts", + "keywords": [ + "tokens", + "consensys" + ], + "links": {}, + "sources": [ + "./contracts/Migrations.sol", + "./contracts/eip20/EIP20.sol", + "./contracts/eip20/EIP20Factory.sol", + "./contracts/eip20/EIP20Interface.sol" + ], + "dependencies": {}, + "manifest_version": 1, + "package_name": "tokens", + "version": "1.0.0" +} \ No newline at end of file diff --git a/packages/truffle/test/sources/ethpm/installed_contracts/tokens/lock.json b/packages/truffle/test/sources/ethpm/installed_contracts/tokens/lock.json new file mode 100644 index 00000000000..171fb927e9c --- /dev/null +++ b/packages/truffle/test/sources/ethpm/installed_contracts/tokens/lock.json @@ -0,0 +1 @@ +{"lockfile_version":"1","package_name":"tokens","meta":{"authors":["Simon de la Rouviere ","Joseph Chow "],"license":"MIT","description":"Ethereum Token Contracts","keywords":["tokens","consensys"],"links":{}},"version":"1.0.0","contract_types":{"undefined":{"abi":[{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]}},"deployments":{},"sources":{"./contracts/Migrations.sol":"ipfs://QmZ72TqAAmZA1fBze7HBpRP6XspG7g62JzTbAb1pAX8AVs","./contracts/eip20/EIP20.sol":"ipfs://QmZL1B4nzrFLhpKepmKWtLeLhRc7mP1zDWXA1vd2oA46rL","./contracts/eip20/EIP20Factory.sol":"ipfs://QmSxZrx5QPEeoKKUxE3DCd9ZHPUr1NzVziZ7FoA5mA1sdC","./contracts/eip20/EIP20Interface.sol":"ipfs://Qmd6HweneNKWybsiXWGiQ4hvzPuV8Gm58sBncvsGRP7Y29"},"build_dependencies":{}} \ No newline at end of file diff --git a/packages/truffle/test/sources/ethpm/installed_contracts/tokens/lock.uri b/packages/truffle/test/sources/ethpm/installed_contracts/tokens/lock.uri new file mode 100644 index 00000000000..3a51d96602b --- /dev/null +++ b/packages/truffle/test/sources/ethpm/installed_contracts/tokens/lock.uri @@ -0,0 +1 @@ +ipfs://QmZKeKhJdrfkP5MiPPddNaLMUxyt9YdKb7UaBPLsA4QUs8 \ No newline at end of file diff --git a/packages/truffle/test/sources/ethpm/truffle-config.js b/packages/truffle/test/sources/ethpm/truffle-config.js index f27f04f2148..5413666a818 100644 --- a/packages/truffle/test/sources/ethpm/truffle-config.js +++ b/packages/truffle/test/sources/ethpm/truffle-config.js @@ -1,17 +1,6 @@ module.exports = { - ethpm: { - ipfsHost: "ipfs.infura.io", - ipfsProtocol: "https", - ipfsPort: "5001", - version: "3", - registry: { - address: "0x0bd0200357D26A0bB5d1D1c1Fd56C317B68d15d5", - network: "ropsten" - } - }, networks: { ropsten: { - provider: "", host: "127.0.0.1", port: 8545, network_id: "*", diff --git a/packages/truffle/test/sources/install/init/truffle-config.js b/packages/truffle/test/sources/install/init/truffle-config.js index dfa9911a95a..7fb92004ded 100644 --- a/packages/truffle/test/sources/install/init/truffle-config.js +++ b/packages/truffle/test/sources/install/init/truffle-config.js @@ -1,19 +1,8 @@ module.exports = { // See // to customize your Truffle configuration! - ethpm: { - ipfsHost: "ipfs.infura.io", - ipfsProtocol: "https", - ipfsPort: "5001", - version: "3", - registry: { - address: "0x0bd0200357D26A0bB5d1D1c1Fd56C317B68d15d5", - network: "development" - } - }, networks: { development: { - provider: "", host: "127.0.0.1", port: 8545, network_id: "*", diff --git a/packages/truffle/test/sources/monorepo/truffleproject/_ethpm_packages/ethpmpkg/_src/EthPMImport.sol b/packages/truffle/test/sources/monorepo/installed_contracts/ethpmpkg/EthPMImport.sol similarity index 100% rename from packages/truffle/test/sources/monorepo/truffleproject/_ethpm_packages/ethpmpkg/_src/EthPMImport.sol rename to packages/truffle/test/sources/monorepo/installed_contracts/ethpmpkg/EthPMImport.sol diff --git a/yarn.lock b/yarn.lock index 4dac5f05179..6d46016238e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2544,16 +2544,6 @@ dependencies: defer-to-connect "^1.0.1" -"@truffle/error@^0.0.10": - version "0.0.10" - resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.0.10.tgz#ae5c222ffada8a3063cc5cf6dceaea7ea7289d3c" - integrity sha512-7WrOoqH3VpfnaTB4TUKRAxzjuMZ3yP/sVet4zCdqGVcH/m1niu/ncttPy8LBfYi437PlBlhj7BpExKLYRPgAIA== - -"@truffle/error@^0.0.9": - version "0.0.9" - resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.0.9.tgz#d8177899ffd4c3ff033c2bf48b79a3446e08c801" - integrity sha512-afT1ssCQ1wq0LbZMPIJ7Lc5SjyOMAP2IHRNrrkoUJQtjAw3rvcE2i2Jq1BNMa5K548nUSM9C9MqX/Eo7csq8cQ== - "@trufflesuite/chromafi@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@trufflesuite/chromafi/-/chromafi-2.2.1.tgz#6bad90d7cb52b3a414c9640346085482dbd41fd9" @@ -3087,13 +3077,6 @@ dependencies: "@types/lodash" "*" -"@types/lodash.isequal@^4.5.5": - version "4.5.5" - resolved "https://registry.yarnpkg.com/@types/lodash.isequal/-/lodash.isequal-4.5.5.tgz#4fed1b1b00bef79e305de0352d797e9bb816c8ff" - integrity sha512-4IKbinG7MGP131wRfceK6W4E/Qt3qssEFLF30LnJbjYiSfHGGRU/Io8YxXrZX109ir+iDETC8hw8QsDijukUVg== - dependencies: - "@types/lodash" "*" - "@types/lodash.merge@^4.6.6": version "4.6.6" resolved "https://registry.yarnpkg.com/@types/lodash.merge/-/lodash.merge-4.6.6.tgz#b84b403c1d31bc42d51772d1cd5557fa008cd3d6" @@ -3668,11 +3651,6 @@ "@typescript-eslint/types" "4.2.0" eslint-visitor-keys "^2.0.0" -"@ungap/promise-all-settled@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" - integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== - "@web3-js/scrypt-shim@^0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@web3-js/scrypt-shim/-/scrypt-shim-0.1.0.tgz#0bf7529ab6788311d3e07586f7d89107c3bea2cc" @@ -3986,14 +3964,6 @@ abstract-leveldown@~6.0.0, abstract-leveldown@~6.0.1: level-concat-iterator "~2.0.0" xtend "~4.0.0" -accept@2.x.x: - version "2.1.4" - resolved "https://registry.yarnpkg.com/accept/-/accept-2.1.4.tgz#887af54ceee5c7f4430461971ec400c61d09acbb" - integrity sha1-iHr1TO7lx/RDBGGXHsQAxh0JrLs= - dependencies: - boom "5.x.x" - hoek "4.x.x" - accepts@^1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -4196,14 +4166,6 @@ align-text@^0.1.1, align-text@^0.1.3: longest "^1.0.1" repeat-string "^1.5.2" -ammo@2.x.x: - version "2.0.4" - resolved "https://registry.yarnpkg.com/ammo/-/ammo-2.0.4.tgz#bf80aab211698ea78f63ef5e7f113dd5d9e8917f" - integrity sha1-v4CqshFpjqePY+9efxE91dnokX8= - dependencies: - boom "5.x.x" - hoek "4.x.x" - ansi-colors@4.1.1, ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -4701,21 +4663,6 @@ asap@^2.0.0, asap@~2.0.3: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= -asmcrypto.js@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz#b9f84bd0a1fb82f21f8c29cc284a707ad17bba2e" - integrity sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA== - -asn1.js@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-1.0.3.tgz#281ba3ec1f2448fe765f92a4eecf883fe1364b54" - integrity sha1-KBuj7B8kSP52X5Kk7s+IP+E2S1Q= - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - optionalDependencies: - bn.js "^1.0.0" - asn1.js@^4.0.0: version "4.10.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" @@ -4725,16 +4672,6 @@ asn1.js@^4.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" -asn1.js@^5.0.0, asn1.js@^5.0.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - asn1@~0.2.3: version "0.2.4" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" @@ -4830,7 +4767,7 @@ async@^1.4.2: resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@^2.0.1, async@^2.1.2, async@^2.1.4, async@^2.4.0, async@^2.5.0, async@^2.6.0, async@^2.6.1, async@^2.6.2, async@^2.6.3: +async@^2.0.1, async@^2.1.2, async@^2.1.4, async@^2.4.0, async@^2.5.0, async@^2.6.1: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== @@ -4882,11 +4819,6 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.0.tgz#24390e6ad61386b0a747265754d2a17219de862c" integrity sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A== -b64@3.x.x: - version "3.0.3" - resolved "https://registry.yarnpkg.com/b64/-/b64-3.0.3.tgz#36afeee0d9345f046387ce6de8a6702afe5bb56e" - integrity sha512-Pbeh0i6OLubPJdIdCepn8ZQHwN2MWznZHbHABSTEfQ706ie+yuxNSaPdqX1xRatT6WanaS1EazMiSg0NUW2XxQ== - 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" @@ -5592,14 +5524,14 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" -base-x@^3.0.5, base-x@^3.0.8: +base-x@^3.0.8: version "3.0.8" resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" integrity sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA== dependencies: safe-buffer "^5.0.1" -base64-js@^1.0.2, base64-js@^1.3.1: +base64-js@^1.0.2: version "1.3.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== @@ -5684,11 +5616,6 @@ bignumber.js@7.2.1, bignumber.js@^7.2.1: resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-7.2.1.tgz#80c048759d826800807c4bfd521e50edbba57a5f" integrity sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ== -bignumber.js@^8.0.2: - version "8.1.1" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-8.1.1.tgz#4b072ae5aea9c20f6730e4e5d529df1271c4d885" - integrity sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ== - binary-extensions@^1.0.0: version "1.13.1" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" @@ -5699,7 +5626,7 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== -bindings@^1.2.1, bindings@^1.3.0, bindings@^1.5.0: +bindings@^1.2.1, bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== @@ -5732,30 +5659,6 @@ bl@^1.0.0: readable-stream "^2.3.5" safe-buffer "^5.1.1" -bl@^2.1.2: - version "2.2.1" - resolved "https://registry.yarnpkg.com/bl/-/bl-2.2.1.tgz#8c11a7b730655c5d56898cdc871224f40fd901d5" - integrity sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g== - dependencies: - readable-stream "^2.3.5" - safe-buffer "^5.1.1" - -bl@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/bl/-/bl-3.0.1.tgz#1cbb439299609e419b5a74d7fce2f8b37d8e5c6f" - integrity sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ== - dependencies: - readable-stream "^3.0.1" - -bl@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" - integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - blakejs@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5" @@ -5776,11 +5679,6 @@ bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.10.0, bn.js@^4. resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== -bn.js@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-1.3.0.tgz#0db4cbf96f8f23b742f5bcb9d1aa7a9994a05e83" - integrity sha1-DbTL+W+PI7dC9by50ap6mZSgXoM= - bn.js@^4.11.9: version "4.11.9" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" @@ -5812,21 +5710,7 @@ boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= -boom@5.x.x: - version "5.2.0" - resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" - integrity sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw== - dependencies: - hoek "4.x.x" - -boom@^7.3.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/boom/-/boom-7.3.0.tgz#733a6d956d33b0b1999da3fe6c12996950d017b9" - integrity sha512-Swpoyi2t5+GhOEGw8rEsKvTxFLIDiiKoUc2gsoV6Lyr43LHBIzch3k2MvYUs8RTROrIkVJ3Al0TkaOGjnb+B6A== - dependencies: - hoek "6.x.x" - -borc@^2.1.0, borc@^2.1.2: +borc@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/borc/-/borc-2.1.2.tgz#6ce75e7da5ce711b963755117dd1b187f6f8cf19" integrity sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w== @@ -5839,11 +5723,6 @@ borc@^2.1.0, borc@^2.1.2: json-text-sequence "~0.1.0" readable-stream "^3.6.0" -bourne@1.x.x: - version "1.1.2" - resolved "https://registry.yarnpkg.com/bourne/-/bourne-1.1.2.tgz#e290b5bd7166635632eaf8ef12b006b2d4a75b83" - integrity sha512-b2dgVkTZhkQirNMohgC00rWfpVqEi9y5tKM1k3JvoNx05ODtfQoPPd4js9CYFQoY0IM8LAmnJulEuWv74zjUOg== - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -5918,7 +5797,7 @@ browser-stdout@1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.0.6, browserify-aes@^1.1.1, browserify-aes@^1.2.0: +browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.0.6, browserify-aes@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== @@ -6045,18 +5924,18 @@ bs-logger@0.x: dependencies: fast-json-stable-stringify "2.x" -bs58@4.0.1, bs58@^4.0.0, bs58@^4.0.1: +bs58@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-2.0.1.tgz#55908d58f1982aba2008fa1bed8f91998a29bf8d" + integrity sha1-VZCNWPGYKrogCPob7Y+RmYopv40= + +bs58@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= dependencies: base-x "^3.0.2" -bs58@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-2.0.1.tgz#55908d58f1982aba2008fa1bed8f91998a29bf8d" - integrity sha1-VZCNWPGYKrogCPob7Y+RmYopv40= - bs58check@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" @@ -6155,14 +6034,6 @@ buffer@^5.0.2, buffer@^5.0.5, buffer@^5.2.1: base64-js "^1.0.2" ieee754 "^1.1.4" -buffer@^5.4.3: - version "5.7.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.0.tgz#88afbd29fc89fa7b58e82b39206f31f2cf34feed" - integrity sha512-cd+5r1VLBwUqTrmnzW+D7ABkJUM6mr7uv1dv+6jRw4Rcl7tFIFHDqHPL98LhpGFn3dbAt3gtLxtrWp4m1kFrqg== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - buffer@^5.5.0, buffer@^5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" @@ -6336,14 +6207,6 @@ call-me-maybe@^1.0.1: resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= -call@4.x.x: - version "4.0.2" - resolved "https://registry.yarnpkg.com/call/-/call-4.0.2.tgz#df76f5f51ee8dd48b856ac8400f7e69e6d7399c4" - integrity sha1-33b19R7o3Ui4VqyEAPfmnm1zmcQ= - dependencies: - boom "5.x.x" - hoek "4.x.x" - caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" @@ -6457,22 +6320,6 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -catbox-memory@2.x.x: - version "2.0.4" - resolved "https://registry.yarnpkg.com/catbox-memory/-/catbox-memory-2.0.4.tgz#433e255902caf54233d1286429c8f4df14e822d5" - integrity sha1-Qz4lWQLK9UIz0ShkKcj03xToItU= - dependencies: - hoek "4.x.x" - -catbox@7.x.x: - version "7.1.5" - resolved "https://registry.yarnpkg.com/catbox/-/catbox-7.1.5.tgz#c56f7e8e9555d27c0dc038a96ef73e57d186bb1f" - integrity sha512-4fui5lELzqZ+9cnaAP/BcqXTH6LvWLBRtFhJ0I4FfgfXiSaZcf6k9m9dqOyChiTxNYtvLk7ZMYSf7ahMq3bf5A== - dependencies: - boom "5.x.x" - hoek "4.x.x" - joi "10.x.x" - caw@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/caw/-/caw-2.0.1.tgz#6c3ca071fc194720883c2dc5da9b074bfc7e9e95" @@ -6711,21 +6558,6 @@ chokidar@3.4.2: optionalDependencies: fsevents "~2.1.2" -chokidar@3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" - integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.5.0" - optionalDependencies: - fsevents "~2.1.2" - chokidar@^2.0.2, chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -6762,7 +6594,7 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -cids@^0.7.1, cids@~0.7.0, cids@~0.7.1: +cids@^0.7.1: version "0.7.5" resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== @@ -6773,27 +6605,6 @@ cids@^0.7.1, cids@~0.7.0, cids@~0.7.1: multicodec "^1.0.0" multihashes "~0.4.15" -cids@~0.5.4, cids@~0.5.5, cids@~0.5.6: - version "0.5.8" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.5.8.tgz#3d5000c3856a2d3c00967b21265aa57142611aa0" - integrity sha512-Ye8TZP3YQfy0j+i5k+LPHdTY3JOvTwN1pxds44p6BRUv8PTMOAF/Vt4Bc+oiIQ0Sktn0iftkUHgqKNHIMwhshA== - dependencies: - class-is "^1.1.0" - multibase "~0.6.0" - multicodec "~0.5.0" - multihashes "~0.4.14" - -cids@~0.8.0: - version "0.8.3" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.8.3.tgz#aaf48ac8ed857c3d37dad94d8db1d8c9407b92db" - integrity sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA== - dependencies: - buffer "^5.6.0" - class-is "^1.1.0" - multibase "^1.0.0" - multicodec "^1.0.1" - multihashes "^1.0.1" - 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" @@ -7140,7 +6951,7 @@ component-emitter@1.2.1: resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= -component-emitter@^1.2.0, component-emitter@^1.2.1: +component-emitter@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== @@ -7159,7 +6970,7 @@ concat-stream@1.5.1: readable-stream "~2.0.0" typedarray "~0.0.5" -concat-stream@^1.5.0, concat-stream@^1.5.1, concat-stream@^1.6.1, concat-stream@^1.6.2: +concat-stream@^1.5.0, concat-stream@^1.5.1, concat-stream@^1.6.1: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -7179,13 +6990,6 @@ concat-stream@^2.0.0: readable-stream "^3.0.2" typedarray "^0.0.6" -"concat-stream@github:hugomrdias/concat-stream#feat/smaller": - version "2.0.0" - resolved "https://codeload.github.com/hugomrdias/concat-stream/tar.gz/057bc7b5d6d8df26c8cf00a3f151b6721a0a8034" - dependencies: - inherits "^2.0.3" - readable-stream "^3.0.2" - concat-stream@~1.5.0, concat-stream@~1.5.1: version "1.5.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" @@ -7268,13 +7072,6 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -content@3.x.x: - version "3.0.7" - resolved "https://registry.yarnpkg.com/content/-/content-3.0.7.tgz#0cbb88e82702d35ccf59800b8add609bb5c1dfc2" - integrity sha512-LXtnSnvE+Z1Cjpa3P9gh9kb396qV4MqpfwKy777BOSF8n6nw2vAi03tHNl0/XRqZUyzVzY/+nMXOZVnEapWzdg== - dependencies: - boom "5.x.x" - conventional-changelog-angular@^5.0.3: version "5.0.6" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.6.tgz#269540c624553aded809c29a3508fdc2b544c059" @@ -7387,7 +7184,7 @@ cookie@0.4.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== -cookiejar@^2.1.1, cookiejar@^2.1.2: +cookiejar@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA== @@ -7580,13 +7377,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" -cryptiles@3.x.x: - version "3.1.4" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.4.tgz#769a68c95612b56faadfcebf57ac86479cbe8322" - integrity sha512-8I1sgZHfVwcSOY6mSGpVU3lw/GSIZvusg8dD2+OGehCJpOhQRLNcH0qb9upQnOH4XhgxxFJSg6E2kx95deb1Tw== - dependencies: - boom "5.x.x" - crypto-browserify@3.12.0, crypto-browserify@^3.0.0, crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -7781,7 +7571,7 @@ debug@4.1.1, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" -debug@4.2.0, debug@^4.2.0: +debug@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== @@ -7806,11 +7596,6 @@ decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, deca resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - decimal.js@^10.2.0: version "10.2.1" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" @@ -7914,7 +7699,7 @@ deep-eql@^3.0.1: dependencies: type-detect "^4.0.0" -deep-equal@^1.0.1, deep-equal@~1.1.1: +deep-equal@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== @@ -8173,11 +7958,6 @@ detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== - detective-amd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/detective-amd/-/detective-amd-3.0.0.tgz#40c8e21e229df8bca1ee2d4b952a7b67b01e2a5a" @@ -8263,11 +8043,6 @@ detective@^4.0.0: acorn "^5.2.1" defined "^1.0.0" -dexie@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/dexie/-/dexie-2.0.4.tgz#6027a5e05879424e8f9979d8c14e7420f27e3a11" - integrity sha512-aQ/s1U2wHxwBKRrt2Z/mwFNHMQWhESerFsMYzE+5P5OsIe5o1kgpFMWkzKTtkvkyyEni6mWr/T4HUJuY9xIHLA== - dezalgo@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" @@ -8677,7 +8452,7 @@ encoding@^0.1.11: dependencies: iconv-lite "~0.4.13" -end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: +end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -8746,16 +8521,11 @@ env-paths@^2.2.0: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== -err-code@^1.0.0, err-code@^1.1.2: +err-code@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= -err-code@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" - integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== - errno@^0.1.3, errno@~0.1.1, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -9844,11 +9614,6 @@ ethpm-spec@^1.0.1: dependencies: json-schema-to-markdown "^1.0.3" -ethpm-spec@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ethpm-spec/-/ethpm-spec-3.0.0.tgz#f00af20b1cf85aa8f0bf6019d3a0dc19b6ab306a" - integrity sha512-SuaT1XpoCVV5d9m9XXV99876BX5iHzNZTwyWOdBAI1GGOajgIm8taXrEnASOYZ00gL0c1zEMhyxNWj6vxz4VKA== - ethpm@0.0.19: version "0.0.19" resolved "https://registry.yarnpkg.com/ethpm/-/ethpm-0.0.19.tgz#e82a5a8daaa05a0270dd2a03f5e0bea0c46aef1f" @@ -9865,11 +9630,6 @@ ethpm@0.0.19: request "^2.88.2" semver "^5.3.0" -ethpm@0.1.0-next.30: - version "0.1.0-next.30" - resolved "https://registry.yarnpkg.com/ethpm/-/ethpm-0.1.0-next.30.tgz#933061ec09c4d114dba792fe79d1036c448cf57e" - integrity sha512-50+JuWB8U4croCzrXENUL3tusB7DKn5y+7f33WY4wke/ZjG5fbM3J1vA6WR7CYEvQp/L/dSrAHh3hqP7UbeAow== - event-emitter@^0.3.5, event-emitter@~0.3.5: version "0.3.5" resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" @@ -10642,16 +10402,6 @@ flat@^4.1.0: dependencies: is-buffer "~2.0.3" -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatmap@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/flatmap/-/flatmap-0.0.3.tgz#1f18a4d938152d495965f9c958d923ab2dd669b4" - integrity sha1-Hxik2TgVLUlZZfnJWNkjqy3WabQ= - flatted@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" @@ -10738,7 +10488,7 @@ form-data@3.0.0, form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -form-data@^2.3.3, form-data@^2.5.0: +form-data@^2.5.0: version "2.5.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== @@ -10761,21 +10511,11 @@ format-util@^1.0.3: resolved "https://registry.yarnpkg.com/format-util/-/format-util-1.0.3.tgz#032dca4a116262a12c43f4c3ec8566416c5b2d95" integrity sha1-Ay3KShFiYqEsQ/TD7IVmQWxbLZU= -formidable@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.2.tgz#bf69aea2972982675f00865342b982986f6b8dd9" - integrity sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q== - forwarded@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= -fp-ts@^1.0.0: - version "1.19.5" - resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.5.tgz#3da865e585dfa1fdfd51785417357ac50afc520a" - integrity sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A== - fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -11758,31 +11498,6 @@ handlebars@^4.1.2, handlebars@^4.4.0, handlebars@^4.5.3: optionalDependencies: uglify-js "^3.1.4" -hapi@^16.6.2: - version "16.7.0" - resolved "https://registry.yarnpkg.com/hapi/-/hapi-16.7.0.tgz#3bb39517971df81e8198ec04751455e8b6cb0871" - integrity sha512-UeMX1LMWmHEIgMlwZGK/3lhI7X0VRvOioVply0Y9qF+/O5woGdQzNB8ZmDnLOBjnB6bdWWHyo5DEamuCsE1vmg== - dependencies: - accept "2.x.x" - ammo "2.x.x" - boom "5.x.x" - call "4.x.x" - catbox "7.x.x" - catbox-memory "2.x.x" - cryptiles "3.x.x" - heavy "4.x.x" - hoek "4.x.x" - iron "4.x.x" - items "2.x.x" - joi "11.x.x" - mimos "3.x.x" - podium "1.x.x" - shot "3.x.x" - somever "1.x.x" - statehood "5.x.x" - subtext "5.x.x" - topo "2.x.x" - har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -11917,11 +11632,6 @@ hasha@^3.0.0: dependencies: is-stream "^1.0.1" -hat@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/hat/-/hat-0.0.3.tgz#bb014a9e64b3788aed8005917413d4ff3d502d8a" - integrity sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo= - hdkey@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/hdkey/-/hdkey-1.1.1.tgz#c2b3bfd5883ff9529b72f2f08b28be0972a9f64a" @@ -11962,20 +11672,6 @@ heap@0.2.6: resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac" integrity sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw= -heavy@4.x.x: - version "4.0.4" - resolved "https://registry.yarnpkg.com/heavy/-/heavy-4.0.4.tgz#36c91336c00ccfe852caa4d153086335cd2f00e9" - integrity sha1-NskTNsAMz+hSyqTRUwhjNc0vAOk= - dependencies: - boom "5.x.x" - hoek "4.x.x" - joi "10.x.x" - -hi-base32@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/hi-base32/-/hi-base32-0.5.0.tgz#61329f76a31f31008533f1c36f2473e259d64571" - integrity sha512-DDRmxSyoYuvjUb9EnXdoiMChBZ7ZcUVJsK5Frd3kqMhuBxvmZdnBeynAVfj7/ECbn++CekcoprvC/rprHPAtow== - highlight.js@^9.12.0, highlight.js@^9.15.8: version "9.17.1" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.17.1.tgz#14a4eded23fd314b05886758bb906e39dd627f9a" @@ -11997,16 +11693,6 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoek@4.x.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" - integrity sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA== - -hoek@6.x.x: - version "6.1.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-6.1.3.tgz#73b7d33952e01fe27a38b0457294b79dd8da242c" - integrity sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ== - hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" @@ -12346,11 +12032,6 @@ indexof@0.0.1: resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= -individual@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/individual/-/individual-2.0.0.tgz#833b097dad23294e76117a98fb38e0d9ad61bb97" - integrity sha1-gzsJfa0jKU52EXqY+zjg2a1hu5c= - infer-owner@^1.0.3, infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" @@ -12579,33 +12260,12 @@ invert-kv@^2.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== -io-ts@^1.3.0: - version "1.10.4" - resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-1.10.4.tgz#cd5401b138de88e4f920adbcb7026e2d1967e6e2" - integrity sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g== - dependencies: - fp-ts "^1.0.0" - -ip-address@^5.8.9: - version "5.9.4" - resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-5.9.4.tgz#4660ac261ad61bd397a860a007f7e98e4eaee386" - integrity sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw== - dependencies: - jsbn "1.1.0" - lodash "^4.17.15" - sprintf-js "1.1.2" - -ip-regex@^2.0.0, ip-regex@^2.1.0: +ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= -ip-regex@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.2.0.tgz#a03f5eb661d9a154e3973a03de8b23dd0ad6892e" - integrity sha512-n5cDDeTWWRwK1EBoWwRti+8nP4NbytBBY0pldmnIkq6Z55KNFmWofh4rl9dPZpj+U/nVq7gweR3ylrvMt4YZ5A== - -ip@1.1.5, ip@^1.1.5: +ip@1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= @@ -12615,110 +12275,6 @@ ipaddr.js@1.9.0: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== -ipfs-block@~0.8.0, ipfs-block@~0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/ipfs-block/-/ipfs-block-0.8.1.tgz#05e1068832775e8f1c2da5b64106cc837fd2acb9" - integrity sha512-0FaCpmij+jZBoUYhjoB5ptjdl9QzvrdRIoBmUU5JiBnK2GA+4YM/ifklaB8ePRhA/rRzhd+KYBjvMFMAL4NrVQ== - dependencies: - cids "~0.7.0" - class-is "^1.1.0" - -ipfs-http-client@^27.0.0: - version "27.1.0" - resolved "https://registry.yarnpkg.com/ipfs-http-client/-/ipfs-http-client-27.1.0.tgz#5db19d2d63210098e9651e9909275ddd9dd19289" - integrity sha512-Id9C0V8Bxnr8xBjXdVf7qUBAnslkvgHSFJw+csx4t5dqqeaI/aOLnNZG/6RBgmvI0//3ixKgwzgSt2vBHxeikw== - dependencies: - async "^2.6.1" - big.js "^5.2.2" - bl "^2.1.2" - bs58 "^4.0.1" - cids "~0.5.5" - concat-stream "^1.6.2" - debug "^4.1.0" - detect-node "^2.0.4" - end-of-stream "^1.4.1" - flatmap "0.0.3" - glob "^7.1.3" - ipfs-block "~0.8.0" - ipfs-unixfs "~0.1.16" - ipld-dag-cbor "~0.13.0" - ipld-dag-pb "~0.15.0" - is-ipfs "~0.4.7" - is-pull-stream "0.0.0" - is-stream "^1.1.0" - libp2p-crypto "~0.14.0" - lodash "^4.17.11" - lru-cache "^4.1.3" - multiaddr "^5.0.2" - multibase "~0.6.0" - multihashes "~0.4.14" - ndjson "^1.5.0" - once "^1.4.0" - peer-id "~0.12.0" - peer-info "~0.14.1" - promisify-es6 "^1.0.3" - pull-defer "~0.2.3" - pull-pushable "^2.2.0" - pull-stream-to-stream "^1.3.4" - pump "^3.0.0" - qs "^6.5.2" - readable-stream "^3.0.6" - stream-http "^3.0.0" - stream-to-pull-stream "^1.7.2" - streamifier "~0.1.1" - tar-stream "^1.6.2" - through2 "^2.0.3" - -ipfs-http-client@^32.0.1: - version "32.0.1" - resolved "https://registry.yarnpkg.com/ipfs-http-client/-/ipfs-http-client-32.0.1.tgz#4f5845c56717c748751e70e5d579b7b18af9e824" - integrity sha512-uDJjjAg9zvuiAucBE/o0I+xHu9Q9ZoLvj0cTyk+Jf+0duom1iIt2iEEN1HW+PNnZu12zYQWV3sB+tI5TN2lo7A== - dependencies: - async "^2.6.1" - bignumber.js "^8.0.2" - bl "^3.0.0" - bs58 "^4.0.1" - buffer "^5.2.1" - cids "~0.7.1" - concat-stream "github:hugomrdias/concat-stream#feat/smaller" - debug "^4.1.0" - detect-node "^2.0.4" - end-of-stream "^1.4.1" - err-code "^1.1.2" - flatmap "0.0.3" - glob "^7.1.3" - ipfs-block "~0.8.1" - ipfs-utils "~0.0.3" - ipld-dag-cbor "~0.15.0" - ipld-dag-pb "~0.17.3" - is-ipfs "~0.6.1" - is-pull-stream "0.0.0" - is-stream "^2.0.0" - iso-stream-http "~0.1.2" - iso-url "~0.4.6" - just-kebab-case "^1.1.0" - just-map-keys "^1.1.0" - kind-of "^6.0.2" - lru-cache "^5.1.1" - multiaddr "^6.0.6" - multibase "~0.6.0" - multicodec "~0.5.1" - multihashes "~0.4.14" - ndjson "github:hugomrdias/ndjson#feat/readable-stream3" - once "^1.4.0" - peer-id "~0.12.2" - peer-info "~0.15.1" - promisify-es6 "^1.0.3" - pull-defer "~0.2.3" - pull-stream "^3.6.9" - pull-to-stream "~0.1.1" - pump "^3.0.0" - qs "^6.5.2" - readable-stream "^3.1.1" - stream-to-pull-stream "^1.7.2" - tar-stream "^2.0.1" - through2 "^3.0.1" - ipfs-mini@^1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/ipfs-mini/-/ipfs-mini-1.1.5.tgz#1ffd1f0b048814aabbdfa24c77cde255c5b11fc7" @@ -12726,132 +12282,6 @@ ipfs-mini@^1.1.2: dependencies: xmlhttprequest "^1.8.0" -ipfs-unixfs@^0.1.16, ipfs-unixfs@~0.1.16: - version "0.1.16" - resolved "https://registry.yarnpkg.com/ipfs-unixfs/-/ipfs-unixfs-0.1.16.tgz#41140f4359f1b8fe7a970052663331091c5f54c4" - integrity sha512-TX9Dyu77MxpLzGh/LcQne95TofOyvOeW0oOi72aBMMcV1ItP3684e6NTG9KY1qzdrC+ZUR8kT7y18J058n8KXg== - dependencies: - protons "^1.0.1" - -ipfs-utils@~0.0.3: - version "0.0.4" - resolved "https://registry.yarnpkg.com/ipfs-utils/-/ipfs-utils-0.0.4.tgz#946114cfeb6afb4454b4ccb10d2327cd323b0cce" - integrity sha512-7cZf6aGj2FG3XJWhCNwn4mS93Q0GEWjtBZvEHqzgI43U2qzNDCyzfS1pei1Y5F+tw/zDJ5U4XG0G9reJxR53Ig== - dependencies: - buffer "^5.2.1" - is-buffer "^2.0.3" - is-electron "^2.2.0" - is-pull-stream "0.0.0" - is-stream "^2.0.0" - kind-of "^6.0.2" - readable-stream "^3.4.0" - -ipfsd-ctl@^0.42.0: - version "0.42.4" - resolved "https://registry.yarnpkg.com/ipfsd-ctl/-/ipfsd-ctl-0.42.4.tgz#d39a3f3f4be16161f21ced6f3637a3e79c89ea9e" - integrity sha512-TX8gZqHzdt4WLCt3NhWRpG0aK1LfzRxtTCkYjTcm2GxFr7+oiUfdEvmvx5SRyagpEv8GAblCCNXVjJ39maDiBg== - dependencies: - async "^2.6.2" - base-x "^3.0.5" - boom "^7.3.0" - debug "^4.1.1" - detect-node "^2.0.4" - dexie "^2.0.4" - execa "^1.0.0" - hapi "^16.6.2" - hat "~0.0.3" - ipfs-http-client "^32.0.1" - joi "^14.3.1" - libp2p-crypto "~0.16.1" - lodash.clone "^4.5.0" - lodash.defaults "^4.2.0" - lodash.defaultsdeep "^4.6.0" - multiaddr "^6.0.6" - once "^1.4.0" - protons "^1.0.1" - rimraf "^2.6.3" - safe-json-parse "^4.0.0" - safe-json-stringify "^1.2.0" - superagent "^4.0.0-beta.5" - -ipld-dag-cbor@~0.13.0: - version "0.13.1" - resolved "https://registry.yarnpkg.com/ipld-dag-cbor/-/ipld-dag-cbor-0.13.1.tgz#2ffecba3a13b29d8b604ee3d9b5dad0d4542e26b" - integrity sha512-96KKh5XUq9LrWE/TQ/BOJ5FcQx7UZ892N76ufDdovq+fIwZ4/YpPRTAVssLUuN3crATHoGu80TVZMgevsuTCdQ== - dependencies: - borc "^2.1.0" - bs58 "^4.0.1" - cids "~0.5.5" - is-circular "^1.0.2" - multihashes "~0.4.14" - multihashing-async "~0.5.1" - traverse "~0.6.6" - -ipld-dag-cbor@~0.15.0: - version "0.15.3" - resolved "https://registry.yarnpkg.com/ipld-dag-cbor/-/ipld-dag-cbor-0.15.3.tgz#283afdb81d5b07db8e4fff7a10ef5e517e87f299" - integrity sha512-m23nG7ZyoVFnkK55/bLAErc7EfiMgaEQlqHWDTGzPI+O5r6bPfp+qbL5zTVSIT8tpbHmu174dwerVtLoVgeVyA== - dependencies: - borc "^2.1.2" - buffer "^5.5.0" - cids "~0.8.0" - is-circular "^1.0.2" - multicodec "^1.0.0" - multihashing-async "~0.8.0" - -ipld-dag-pb@^0.14.11: - version "0.14.11" - resolved "https://registry.yarnpkg.com/ipld-dag-pb/-/ipld-dag-pb-0.14.11.tgz#df235a301fec8443cf933387cebb38e42c22c2a8" - integrity sha512-ja4FH6elDprVuJBkNObFlq7+9h1Q3aoQx5SSG/v3I9e7j19nwyuMhLJYwBhdv29LiqpyD2cEqNrJLm8lWn0lJg== - dependencies: - async "^2.6.1" - bs58 "^4.0.1" - cids "~0.5.4" - class-is "^1.1.0" - is-ipfs "~0.4.2" - multihashing-async "~0.5.1" - protons "^1.0.1" - pull-stream "^3.6.9" - pull-traverse "^1.0.3" - stable "~0.1.8" - -ipld-dag-pb@~0.15.0: - version "0.15.3" - resolved "https://registry.yarnpkg.com/ipld-dag-pb/-/ipld-dag-pb-0.15.3.tgz#0f72b99e77e3265f722457de5dc63b0f700fbb7d" - integrity sha512-J1RJzSVCaOpxPmSzXbwVNsAZPHctjY4OjqG1dMIG86Z37CKvuy1QwCFkDhNccUTcQpF3sXfj5e0ZUyMM035vzg== - dependencies: - async "^2.6.1" - bs58 "^4.0.1" - cids "~0.5.4" - class-is "^1.1.0" - is-ipfs "~0.6.0" - multihashing-async "~0.5.1" - protons "^1.0.1" - pull-stream "^3.6.9" - pull-traverse "^1.0.3" - stable "~0.1.8" - -ipld-dag-pb@~0.17.3: - version "0.17.4" - resolved "https://registry.yarnpkg.com/ipld-dag-pb/-/ipld-dag-pb-0.17.4.tgz#080841cfdd014d996f8da7f3a522ec8b1f6b6494" - integrity sha512-YwCxETEMuXVspOKOhjIOHJvKvB/OZfCDkpSFiYBQN2/JQjM9y/RFCYzIQGm0wg7dCFLrhvfjAZLTSaKs65jzWA== - dependencies: - cids "~0.7.0" - class-is "^1.1.0" - multicodec "~0.5.1" - multihashing-async "~0.7.0" - protons "^1.0.1" - stable "~0.1.8" - -iron@4.x.x: - version "4.0.5" - resolved "https://registry.yarnpkg.com/iron/-/iron-4.0.5.tgz#4f042cceb8b9738f346b59aa734c83a89bc31428" - integrity sha1-TwQszri5c480a1mqc0yDqJvDFCg= - dependencies: - boom "5.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - is-absolute@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" @@ -12903,11 +12333,6 @@ is-buffer@^1.1.0, is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-buffer@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - is-buffer@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" @@ -12930,11 +12355,6 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-circular@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-circular/-/is-circular-1.0.2.tgz#2e0ab4e9835f4c6b0ea2b9855a84acd501b8366c" - integrity sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA== - is-core-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.0.0.tgz#58531b70aed1db7c0e8d4eb1a0a2d1ddd64bd12d" @@ -12994,11 +12414,6 @@ is-dotfile@^1.0.0: resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= -is-electron@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-electron/-/is-electron-2.2.0.tgz#8943084f09e8b731b3a7a0298a7b5d56f6b7eef0" - integrity sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q== - 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" @@ -13098,42 +12513,6 @@ is-interactive@^1.0.0: resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== -is-ip@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-2.0.0.tgz#68eea07e8a0a0a94c2d080dd674c731ab2a461ab" - integrity sha1-aO6gfooKCpTC0IDdZ0xzGrKkYas= - dependencies: - ip-regex "^2.0.0" - -is-ip@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8" - integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== - dependencies: - ip-regex "^4.0.0" - -is-ipfs@~0.4.2, is-ipfs@~0.4.7: - version "0.4.8" - resolved "https://registry.yarnpkg.com/is-ipfs/-/is-ipfs-0.4.8.tgz#ea229aef6230433ad1e8df930c49c5e773422c3f" - integrity sha512-xIKUeA24IFMfkmeAPEOZL448X7a08c/KzAGQp1e/QxC9bx/NNEdT/ohob3SW6eJO2UwJNjsbfMeNZ2B+Dk2Fdg== - dependencies: - bs58 "4.0.1" - cids "~0.5.6" - multibase "~0.6.0" - multihashes "~0.4.13" - -is-ipfs@~0.6.0, is-ipfs@~0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/is-ipfs/-/is-ipfs-0.6.3.tgz#82a5350e0a42d01441c40b369f8791e91404c497" - integrity sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ== - dependencies: - bs58 "^4.0.1" - cids "~0.7.0" - mafmt "^7.0.0" - multiaddr "^7.2.1" - multibase "~0.6.0" - multihashes "~0.4.13" - is-lower-case@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393" @@ -13228,11 +12607,6 @@ is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -13272,16 +12646,6 @@ is-promise@^2.1, is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= -is-promise@~1, is-promise@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-1.0.1.tgz#31573761c057e33c2e91aab9e96da08cefbe76e5" - integrity sha1-MVc3YcBX4zwukaq56W2gjO++duU= - -is-pull-stream@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/is-pull-stream/-/is-pull-stream-0.0.0.tgz#a3bc3d1c6d3055151c46bde6f399efed21440ca9" - integrity sha1-o7w9HG0wVRUcRr3m85nv7SFEDKk= - is-regex@^1.0.4, is-regex@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" @@ -13430,41 +12794,12 @@ isarray@^2.0.5: resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== -isemail@2.x.x: - version "2.2.1" - resolved "https://registry.yarnpkg.com/isemail/-/isemail-2.2.1.tgz#0353d3d9a62951080c262c2aa0a42b8ea8e9e2a6" - integrity sha1-A1PT2aYpUQgMJiwqoKQrjqjp4qY= - -isemail@3.x.x: - version "3.2.0" - resolved "https://registry.yarnpkg.com/isemail/-/isemail-3.2.0.tgz#59310a021931a9fb06bbb51e155ce0b3f236832c" - integrity sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg== - dependencies: - punycode "2.x.x" - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -iso-random-stream@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/iso-random-stream/-/iso-random-stream-1.1.1.tgz#83824bba77fbb3480dd6b35fbb06de7f9e93e80f" - integrity sha512-YEt/7xOwTdu4KXIgtdgGFkiLUsBaddbnkmHyaFdjJYIcD7V4gpQHPvYC5tyh3kA0PQ01y9lWm1ruVdf8Mqzovg== - dependencies: - buffer "^5.4.3" - readable-stream "^3.4.0" - -iso-stream-http@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/iso-stream-http/-/iso-stream-http-0.1.2.tgz#b3dfea4c9f23ff26d078d40c539cfc0dfebacd37" - integrity sha512-oHEDNOysIMTNypbg2f1SlydqRBvjl4ZbSE9+0awVxnkx3K2stGTFwB/kpVqnB6UEfF8QD36kAjDwZvqyXBLMnQ== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^3.1.1" - -iso-url@~0.4.6, iso-url@~0.4.7: +iso-url@~0.4.7: version "0.4.7" resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-0.4.7.tgz#de7e48120dae46921079fe78f325ac9e9217a385" integrity sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog== @@ -13628,11 +12963,6 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" -items@2.x.x: - version "2.1.2" - resolved "https://registry.yarnpkg.com/items/-/items-2.1.2.tgz#0849354595805d586dac98e7e6e85556ea838558" - integrity sha512-kezcEqgB97BGeZZYtX/MA8AG410ptURstvnz5RAgyFZ8wQFPMxHY8GpTq+/ZHKT3frSlIthUq7EvLt9xn3TvXg== - iterall@^1.1.3, iterall@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" @@ -14118,43 +13448,6 @@ jest@26.5.2, jest@^26.4.2: import-local "^3.0.2" jest-cli "^26.5.2" -joi@10.x.x: - version "10.6.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-10.6.0.tgz#52587f02d52b8b75cdb0c74f0b164a191a0e1fc2" - integrity sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ== - dependencies: - hoek "4.x.x" - isemail "2.x.x" - items "2.x.x" - topo "2.x.x" - -joi@11.x.x: - version "11.4.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-11.4.0.tgz#f674897537b625e9ac3d0b7e1604c828ad913ccb" - integrity sha512-O7Uw+w/zEWgbL6OcHbyACKSj0PkQeUgmehdoXVSxt92QFCq4+1390Rwh5moI2K/OgC7D8RHRZqHZxT2husMJHA== - dependencies: - hoek "4.x.x" - isemail "3.x.x" - topo "2.x.x" - -joi@12.x.x: - version "12.0.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-12.0.0.tgz#46f55e68f4d9628f01bbb695902c8b307ad8d33a" - integrity sha512-z0FNlV4NGgjQN1fdtHYXf5kmgludM65fG/JlXzU6+rwkt9U5UWuXVYnXa2FpK0u6+qBuCmrm5byPNuiiddAHvQ== - dependencies: - hoek "4.x.x" - isemail "3.x.x" - topo "2.x.x" - -joi@^14.3.1: - version "14.3.1" - resolved "https://registry.yarnpkg.com/joi/-/joi-14.3.1.tgz#164a262ec0b855466e0c35eea2a885ae8b6c703c" - integrity sha512-LQDdM+pkOrpAn4Lp+neNIFV3axv1Vna3j38bisbQhETPMANYRbFJFUyOZcOClYvM/hppMhGWuKSFEK9vjrB+bQ== - dependencies: - hoek "6.x.x" - isemail "3.x.x" - topo "3.x.x" - jquery@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2" @@ -14191,16 +13484,11 @@ js-sha3@0.5.7, js-sha3@^0.5.7: resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= -js-sha3@0.8.0, js-sha3@^0.8.0, js-sha3@~0.8.0: +js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== -js-sha3@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.7.0.tgz#0a5c57b36f79882573b2d84051f8bb85dd1bd63a" - integrity sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA== - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -14232,11 +13520,6 @@ jsan@^3.1.13: resolved "https://registry.yarnpkg.com/jsan/-/jsan-3.1.13.tgz#4de8c7bf8d1cfcd020c313d438f930cec4b91d86" integrity sha512-9kGpCsGHifmw6oJet+y8HaCl14y7qgAsxVdV3pCHDySNR3BfDC30zgkssd7x5LRVAT22dnpbe9JdzzmXZnq9/g== -jsbn@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" - integrity sha1-sBMHyym2GKHtJux56RH4A8TaAEA= - jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -14574,16 +13857,6 @@ just-extend@^4.0.2: resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.0.2.tgz#f3f47f7dfca0f989c55410a7ebc8854b07108afc" integrity sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw== -just-kebab-case@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/just-kebab-case/-/just-kebab-case-1.1.0.tgz#ebe854fde84b0afa4e597fcd870b12eb3c026755" - integrity sha512-QkuwuBMQ9BQHMUEkAtIA4INLrkmnnveqlFB1oFi09gbU0wBdZo6tTnyxNWMR84zHxBuwK7GLAwqN8nrvVxOLTA== - -just-map-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/just-map-keys/-/just-map-keys-1.1.0.tgz#9663c9f971ba46e17f2b05e66fec81149375f230" - integrity sha512-oNKi+4y7fr8lXnhKYpBbCkiwHRVkAnx0VDkCeTDtKKMzGr1Lz1Yym+RSieKUTKim68emC5Yxrb4YmiF9STDO+g== - jwa@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" @@ -14637,11 +13910,6 @@ keccak@^3.0.0: node-addon-api "^2.0.0" node-gyp-build "^4.2.0" -keypair@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/keypair/-/keypair-1.0.1.tgz#7603719270afb6564ed38a22087a06fc9aa4ea1b" - integrity sha1-dgNxknCvtlZO04oiCHoG/Jqk6hs= - keyv@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" @@ -15057,90 +14325,6 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -libp2p-crypto-secp256k1@~0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.2.3.tgz#212fc171d39dae7be3eaf4d9d311e0a8e9619c78" - integrity sha512-DFrK89VdboacqM3vqWV8yt8FH9Ni181JJAOU2tRkJfUN9tNEV7VfZEg390NJxEQQbLsyH4HZ7on3QTpPHMHQZQ== - dependencies: - async "^2.6.1" - multihashing-async "~0.5.1" - nodeify "^1.0.1" - safe-buffer "^5.1.2" - secp256k1 "^3.6.1" - -libp2p-crypto-secp256k1@~0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.3.1.tgz#4cbeb857f5cfe5fefb1253e6b2994420c0ca166e" - integrity sha512-evrfK/CeUSd/lcELUdDruyPBvxDmLairth75S32OLl3H+++2m2fV24JEtxzdFS9JH3xEFw0h6JFO8DBa1bP9dA== - dependencies: - async "^2.6.2" - bs58 "^4.0.1" - multihashing-async "~0.6.0" - nodeify "^1.0.1" - safe-buffer "^5.1.2" - secp256k1 "^3.6.2" - -libp2p-crypto@~0.12.1: - version "0.12.1" - resolved "https://registry.yarnpkg.com/libp2p-crypto/-/libp2p-crypto-0.12.1.tgz#4a870d269ba3150dfe014e4f9aea1e55076015c8" - integrity sha512-1/z8rxZ0DcQNreZhEsl7PnLr7DWOioSvYbKBLGkRwNRiNh1JJLgh0PdTySBb44wkrOGT+TxcGRd7iq3/X6Wxwg== - dependencies: - asn1.js "^5.0.0" - async "^2.6.0" - browserify-aes "^1.1.1" - bs58 "^4.0.1" - keypair "^1.0.1" - libp2p-crypto-secp256k1 "~0.2.2" - multihashing-async "~0.4.7" - node-forge "^0.7.1" - pem-jwk "^1.5.1" - protons "^1.0.1" - rsa-pem-to-jwk "^1.1.3" - tweetnacl "^1.0.0" - webcrypto-shim "github:dignifiedquire/webcrypto-shim#master" - -libp2p-crypto@~0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/libp2p-crypto/-/libp2p-crypto-0.14.1.tgz#c88e0cfb05c9fd877444b13baf5c45be5ca5c14e" - integrity sha512-JP3bfEzNik76fFIWOeU909+v76tjj5BMukbPCc61bgh1ixftcHkr4bH79duz+oSxRpGA+orCLxvkhgALV+pfwg== - dependencies: - asn1.js "^5.0.1" - async "^2.6.1" - browserify-aes "^1.2.0" - bs58 "^4.0.1" - keypair "^1.0.1" - libp2p-crypto-secp256k1 "~0.2.2" - multihashing-async "~0.5.1" - node-forge "~0.7.6" - pem-jwk "^1.5.1" - protons "^1.0.1" - rsa-pem-to-jwk "^1.1.3" - tweetnacl "^1.0.0" - ursa-optional "~0.9.9" - webcrypto-shim "github:dignifiedquire/webcrypto-shim#master" - -libp2p-crypto@~0.16.1: - version "0.16.3" - resolved "https://registry.yarnpkg.com/libp2p-crypto/-/libp2p-crypto-0.16.3.tgz#a4012361a6b6b3328d3d6b67cd1cb278e8d58f59" - integrity sha512-ro7/5Tu+f8p2+qDS1JrROnO++nNaAaBFs+VVXVHLuTMnbnMASu1eUtSlWPk1uOwikAlBFTvfqe5J1bK6Bpq6Pg== - dependencies: - asmcrypto.js "^2.3.2" - asn1.js "^5.0.1" - async "^2.6.1" - bn.js "^4.11.8" - browserify-aes "^1.2.0" - bs58 "^4.0.1" - iso-random-stream "^1.1.0" - keypair "^1.0.1" - libp2p-crypto-secp256k1 "~0.3.0" - multihashing-async "~0.5.1" - node-forge "~0.9.1" - pem-jwk "^2.0.0" - protons "^1.0.1" - rsa-pem-to-jwk "^1.1.3" - tweetnacl "^1.0.0" - ursa-optional "~0.10.0" - liftoff@2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec" @@ -15325,32 +14509,22 @@ lodash.bind@^4.1.4: resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" integrity sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU= -lodash.clone@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" - integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y= - lodash.clonedeep@4.5.0, lodash.clonedeep@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= -lodash.defaults@^4.0.1, lodash.defaults@^4.2.0: +lodash.defaults@^4.0.1: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= -lodash.defaultsdeep@^4.6.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" - integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== - lodash.escaperegexp@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= -lodash.filter@^4.4.0, lodash.filter@^4.6.0: +lodash.filter@^4.4.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= @@ -15390,7 +14564,7 @@ lodash.isboolean@^3.0.3: resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= -lodash.isequal@^4.0.0, lodash.isequal@^4.5.0: +lodash.isequal@^4.0.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= @@ -15425,7 +14599,7 @@ lodash.keys@^4.0.0: resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205" integrity sha1-oIYCrBLk+4P5H8H7ejYKTZujUgU= -lodash.map@^4.4.0, lodash.map@^4.6.0: +lodash.map@^4.4.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= @@ -15542,17 +14716,12 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash.uniqby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" - integrity sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI= - lodash.zipwith@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.zipwith/-/lodash.zipwith-4.2.0.tgz#afacf03fd2f384af29e263c3c6bda3b80e3f51fd" integrity sha1-r6zwP9LzhK8p4mPDxr2juA4/Uf0= -lodash@4.17.20, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.5: +lodash@4.17.20, lodash@^4.17.19, lodash@^4.17.20: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== @@ -15707,7 +14876,7 @@ lru-cache@^3.2.0: dependencies: pseudomap "^1.0.1" -lru-cache@^4.0.1, lru-cache@^4.1.3: +lru-cache@^4.0.1: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -15771,20 +14940,6 @@ madge@^3.11.0: typescript "^3.9.5" walkdir "^0.4.1" -mafmt@^6.0.0, mafmt@^6.0.2: - version "6.0.10" - resolved "https://registry.yarnpkg.com/mafmt/-/mafmt-6.0.10.tgz#3ad251c78f14f8164e66f70fd3265662da41113a" - integrity sha512-FjHDnew6dW9lUu3eYwP0FvvJl9uvNbqfoJM+c1WJcSyutNEIlyu6v3f/rlPnD1cnmue38IjuHlhBdIh3btAiyw== - dependencies: - multiaddr "^6.1.0" - -mafmt@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/mafmt/-/mafmt-7.1.0.tgz#4126f6d0eded070ace7dbbb6fb04977412d380b5" - integrity sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA== - dependencies: - multiaddr "^7.3.0" - make-dir@^1.0.0, make-dir@^1.2.0, make-dir@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -16155,7 +15310,7 @@ meta-pkgs@^0.2.0: lodash "^4.17.4" meta-exec "0.0.7" -methods@^1.1.1, methods@~1.1.2: +methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= @@ -16219,11 +15374,6 @@ mime-db@1.42.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac" integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ== -mime-db@1.x.x: - version "1.45.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" - integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== - mime-db@^1.28.0: version "1.44.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" @@ -16246,11 +15396,6 @@ mime@^2.1.0: resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== -mime@^2.4.0: - version "2.4.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" - integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== - mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" @@ -16266,14 +15411,6 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -mimos@3.x.x: - version "3.0.3" - resolved "https://registry.yarnpkg.com/mimos/-/mimos-3.0.3.tgz#b9109072ad378c2b72f6a0101c43ddfb2b36641f" - integrity sha1-uRCQcq03jCty9qAQHEPd+ys2ZB8= - dependencies: - hoek "4.x.x" - mime-db "1.x.x" - min-document@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" @@ -16508,37 +15645,6 @@ mocha@8.1.2: yargs-parser "13.1.2" yargs-unparser "1.6.1" -mocha@^8.0.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.2.1.tgz#f2fa68817ed0e53343d989df65ccd358bc3a4b39" - integrity sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w== - dependencies: - "@ungap/promise-all-settled" "1.1.2" - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.4.3" - debug "4.2.0" - diff "4.0.2" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "7.1.6" - growl "1.10.5" - he "1.2.0" - js-yaml "3.14.0" - log-symbols "4.0.0" - minimatch "3.0.4" - ms "2.1.2" - nanoid "3.1.12" - serialize-javascript "5.0.1" - strip-json-comments "3.1.1" - supports-color "7.2.0" - which "2.0.2" - wide-align "1.1.3" - workerpool "6.0.2" - yargs "13.3.2" - yargs-parser "13.1.2" - yargs-unparser "2.0.0" - mock-fs@^4.1.0: version "4.10.4" resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.10.4.tgz#4eaa3d6f7da2f44e1f3dd6b462cbbcb7b082e3d4" @@ -16659,58 +15765,6 @@ ms@2.1.2, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -multiaddr@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-4.0.0.tgz#70a8857c4f737350bc2c56914a70f1263889db33" - integrity sha512-zUatrOCfBd/tJNOSoJ10d2EI2FDXB9PyPZhqUMdXE9mOyR3C+HLuOjga2Ga/eChwvEHIpTYRMoIKF2Nv7af2qQ== - dependencies: - bs58 "^4.0.1" - class-is "^1.1.0" - ip "^1.1.5" - ip-address "^5.8.9" - lodash.filter "^4.6.0" - lodash.map "^4.6.0" - varint "^5.0.0" - xtend "^4.0.1" - -multiaddr@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-5.0.2.tgz#bffc4ebf0ef208ce40eab8cd6f146296b61aa0e3" - integrity sha512-dXz1chaUHV6L6okujDLS7uRA6NmCbitpikOJA0vMMnrwVyai5kC3ot2CSLrSfj3B8XIgNzpe/j5auSYrnbGGzA== - dependencies: - bs58 "^4.0.1" - class-is "^1.1.0" - ip "^1.1.5" - ip-address "^5.8.9" - lodash.filter "^4.6.0" - lodash.map "^4.6.0" - varint "^5.0.0" - xtend "^4.0.1" - -multiaddr@^6.0.3, multiaddr@^6.0.6, multiaddr@^6.1.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-6.1.1.tgz#9aae57b3e399089b9896d9455afa8f6b117dff06" - integrity sha512-Q1Ika0F9MNhMtCs62Ue+GWIJtRFEhZ3Xz8wH7/MZDVZTWhil1/H2bEGN02kUees3hkI3q1oHSjmXYDM0gxaFjQ== - dependencies: - bs58 "^4.0.1" - class-is "^1.1.0" - hi-base32 "~0.5.0" - ip "^1.1.5" - is-ip "^2.0.0" - varint "^5.0.0" - -multiaddr@^7.2.1, multiaddr@^7.3.0: - version "7.5.0" - resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-7.5.0.tgz#976c88e256e512263445ab03b3b68c003d5f485e" - integrity sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw== - dependencies: - buffer "^5.5.0" - cids "~0.8.0" - class-is "^1.1.0" - is-ip "^3.1.0" - multibase "^0.7.0" - varint "^5.0.0" - multibase@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" @@ -16719,14 +15773,6 @@ multibase@^0.7.0: base-x "^3.0.8" buffer "^5.5.0" -multibase@^1.0.0, multibase@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-1.0.1.tgz#4adbe1de0be8a1ab0274328b653c3f1903476724" - integrity sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - multibase@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" @@ -16735,14 +15781,14 @@ multibase@~0.6.0: base-x "^3.0.8" buffer "^5.5.0" -multicodec@^0.5.5, multicodec@~0.5.0, multicodec@~0.5.1: +multicodec@^0.5.5: version "0.5.7" resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== dependencies: varint "^5.0.0" -multicodec@^1.0.0, multicodec@^1.0.1: +multicodec@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== @@ -16750,7 +15796,7 @@ multicodec@^1.0.0, multicodec@^1.0.1: buffer "^5.6.0" varint "^5.0.0" -multihashes@^0.4.15, multihashes@~0.4.13, multihashes@~0.4.14, multihashes@~0.4.15: +multihashes@^0.4.15, multihashes@~0.4.15: version "0.4.21" resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== @@ -16759,73 +15805,6 @@ multihashes@^0.4.15, multihashes@~0.4.13, multihashes@~0.4.14, multihashes@~0.4. multibase "^0.7.0" varint "^5.0.0" -multihashes@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-1.0.1.tgz#a89415d68283cf6287c6e219e304e75ce7fb73fe" - integrity sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw== - dependencies: - buffer "^5.6.0" - multibase "^1.0.1" - varint "^5.0.0" - -multihashing-async@~0.4.7: - version "0.4.8" - resolved "https://registry.yarnpkg.com/multihashing-async/-/multihashing-async-0.4.8.tgz#41572b25a8fc68eb318b8562409fdd721a727ea1" - integrity sha512-LCc4lfxmTJOHKIjZjFNgvmfB6nXS/ErLInT9uwU8udFrRm2PH+aTPk3mfCREKmCiSHOlCWiv2O8rlnBx+OjlMw== - dependencies: - async "^2.6.0" - blakejs "^1.1.0" - js-sha3 "^0.7.0" - multihashes "~0.4.13" - murmurhash3js "^3.0.1" - nodeify "^1.0.1" - -multihashing-async@~0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/multihashing-async/-/multihashing-async-0.5.2.tgz#4af40e0dde2f1dbb12a7c6b265181437ac26b9de" - integrity sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q== - dependencies: - blakejs "^1.1.0" - js-sha3 "~0.8.0" - multihashes "~0.4.13" - murmurhash3js "^3.0.1" - nodeify "^1.0.1" - -multihashing-async@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/multihashing-async/-/multihashing-async-0.6.0.tgz#c1fc6696a624b9bf39b160b0c4c4e7ba3f394453" - integrity sha512-Qv8pgg99Lewc191A5nlXy0bSd2amfqlafNJZmarU6Sj7MZVjpR94SCxQjf4DwPtgWZkiLqsjUQBXA2RSq+hYyA== - dependencies: - blakejs "^1.1.0" - js-sha3 "~0.8.0" - multihashes "~0.4.13" - murmurhash3js "^3.0.1" - nodeify "^1.0.1" - -multihashing-async@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/multihashing-async/-/multihashing-async-0.7.0.tgz#3234fb98295be84386b85bfd20377d3e5be20d6b" - integrity sha512-SCbfl3f+DzJh+/5piukga9ofIOxwfT05t8R4jfzZIJ88YE9zU9+l3K2X+XB19MYyxqvyK9UJRNWbmQpZqQlbRA== - dependencies: - blakejs "^1.1.0" - buffer "^5.2.1" - err-code "^1.1.2" - js-sha3 "~0.8.0" - multihashes "~0.4.13" - murmurhash3js-revisited "^3.0.0" - -multihashing-async@~0.8.0: - version "0.8.2" - resolved "https://registry.yarnpkg.com/multihashing-async/-/multihashing-async-0.8.2.tgz#3d5da05df27d83be923f6d04143a0954ff87f27f" - integrity sha512-2lKa1autuCy8x7KIEj9aVNbAb3aIMRFYIwN7mq/zD4pxgNIVgGlm+f6GKY4880EOF2Y3GktHYssRy7TAJQ2DyQ== - dependencies: - blakejs "^1.1.0" - buffer "^5.4.3" - err-code "^2.0.0" - js-sha3 "^0.8.0" - multihashes "^1.0.1" - murmurhash3js-revisited "^3.0.0" - multimatch@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-3.0.0.tgz#0e2534cc6bc238d9ab67e1b9cd5fcd85a6dbf70b" @@ -16836,16 +15815,6 @@ multimatch@^3.0.0: arrify "^1.0.1" minimatch "^3.0.4" -murmurhash3js-revisited@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz#6bd36e25de8f73394222adc6e41fa3fac08a5869" - integrity sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g== - -murmurhash3js@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/murmurhash3js/-/murmurhash3js-3.0.1.tgz#3e983e5b47c2a06f43a713174e7e435ca044b998" - integrity sha1-Ppg+W0fCoG9DpxMXTn5DXKBEuZg= - mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -16870,21 +15839,11 @@ nan@^2.0.8, nan@^2.12.1, nan@^2.14.0, nan@^2.2.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== -nan@^2.11.1: - version "2.14.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" - integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== - nano-json-stream-parser@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18= -nanoid@3.1.12: - version "3.1.12" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654" - integrity sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A== - nanoid@^2.0.0: version "2.1.8" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.8.tgz#2dbb0224231b246e3b4c819de7bfea6384dabf08" @@ -16934,25 +15893,6 @@ ncp@~0.4.2: resolved "https://registry.yarnpkg.com/ncp/-/ncp-0.4.2.tgz#abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574" integrity sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ= -ndjson@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/ndjson/-/ndjson-1.5.0.tgz#ae603b36b134bcec347b452422b0bf98d5832ec8" - integrity sha1-rmA7NrE0vOw0e0UkIrC/mNWDLsg= - dependencies: - json-stringify-safe "^5.0.1" - minimist "^1.2.0" - split2 "^2.1.0" - through2 "^2.0.3" - -"ndjson@github:hugomrdias/ndjson#feat/readable-stream3": - version "1.5.0" - resolved "https://codeload.github.com/hugomrdias/ndjson/tar.gz/4db16da6b42e5b39bf300c3a7cde62abb3fa3a11" - dependencies: - json-stringify-safe "^5.0.1" - minimist "^1.2.0" - split2 "^3.1.0" - through2 "^3.0.0" - needle@^2.2.1: version "2.4.0" resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" @@ -16989,14 +15929,6 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -nigel@2.x.x: - version "2.0.2" - resolved "https://registry.yarnpkg.com/nigel/-/nigel-2.0.2.tgz#93a1866fb0c52d87390aa75e2b161f4b5c75e5b1" - integrity sha1-k6GGb7DFLYc5CqdeKxYfS1x15bE= - dependencies: - hoek "4.x.x" - vise "2.x.x" - nise@^4.0.1: version "4.0.4" resolved "https://registry.yarnpkg.com/nise/-/nise-4.0.4.tgz#d73dea3e5731e6561992b8f570be9e363c4512dd" @@ -17083,16 +16015,6 @@ node-fetch@^2.1.1, node-fetch@^2.3.0, node-fetch@^2.5.0: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== -node-forge@^0.7.1, node-forge@~0.7.6: - version "0.7.6" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.6.tgz#fdf3b418aee1f94f0ef642cd63486c77ca9724ac" - integrity sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw== - -node-forge@~0.9.1: - version "0.9.2" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.2.tgz#b35a44c28889b2ea55cabf8c79e3563f9676190a" - integrity sha512-naKSScof4Wn+aoHU6HBsifh92Zeicm1GDQKd1vp3Y/kOi8ub0DozCa9KpvYNCXslFHYRmLNiqRopGdTGwNLpNw== - node-gyp-build@^4.2.0: version "4.2.2" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.2.tgz#3f44b65adaafd42fb6c3d81afd630e45c847eb66" @@ -17231,14 +16153,6 @@ node-source-walk@^4.0.0, node-source-walk@^4.2.0: dependencies: "@babel/parser" "^7.0.0" -nodeify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/nodeify/-/nodeify-1.0.1.tgz#64ab69a7bdbaf03ce107b4f0335c87c0b9e91b1d" - integrity sha1-ZKtpp7268DzhB7TwM1yHwLnpGx0= - dependencies: - is-promise "~1.0.0" - promise "~1.3.0" - nodent-runtime@^3.0.3: version "3.2.1" resolved "https://registry.yarnpkg.com/nodent-runtime/-/nodent-runtime-3.2.1.tgz#9e2755d85e39f764288f0d4752ebcfe3e541e00e" @@ -17458,11 +16372,6 @@ object-assign@4.1.0: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" integrity sha1-ejs9DpgGPUP0wD8uiubNUahog6A= -object-assign@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" - integrity sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo= - object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -17649,13 +16558,6 @@ optimist@^0.6.1: minimist "~0.0.1" wordwrap "~0.0.2" -optimist@~0.3.5: - version "0.3.7" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.3.7.tgz#c90941ad59e4273328923074d2cf2e7cbc6ec0d9" - integrity sha1-yQlBrVnkJzMokjB00s8ufLxuwNk= - dependencies: - wordwrap "~0.0.2" - optionator@^0.8.1, optionator@^0.8.2: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -18328,60 +17230,6 @@ pbkdf2@^3.0.3, pbkdf2@^3.0.9: safe-buffer "^5.0.1" sha.js "^2.4.8" -peer-id@~0.10.7: - version "0.10.7" - resolved "https://registry.yarnpkg.com/peer-id/-/peer-id-0.10.7.tgz#6c12634636fc90a0e7bc76360c95f73564461fdd" - integrity sha512-VEpMFcL9q0NQijmR0jsj38OGbY4yzaWMEareVkDahopmlNT+Cpsot8btPgsgBBApP9NiZj2Enwvh8rZN30ocQw== - dependencies: - async "^2.6.0" - libp2p-crypto "~0.12.1" - lodash "^4.17.5" - multihashes "~0.4.13" - -peer-id@~0.12.0, peer-id@~0.12.2: - version "0.12.5" - resolved "https://registry.yarnpkg.com/peer-id/-/peer-id-0.12.5.tgz#b22a1edc5b4aaaa2bb830b265ba69429823e5179" - integrity sha512-3xVWrtIvNm9/OPzaQBgXDrfWNx63AftgFQkvqO6YSZy7sP3Fuadwwbn54F/VO9AnpyW/26i0WRQz9FScivXrmw== - dependencies: - async "^2.6.3" - class-is "^1.1.0" - libp2p-crypto "~0.16.1" - multihashes "~0.4.15" - -peer-info@~0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/peer-info/-/peer-info-0.14.1.tgz#ac5aec421e9965f7b0e7576d717941bb25676134" - integrity sha512-I9K+q7sisU0gg5ej6ekbhgolwlcm1tc2wDtLmumptoLYx0DkIT8WVHtgoTnupYwRRqcYADtwddFdiXfb8QFqzg== - dependencies: - lodash.uniqby "^4.7.0" - mafmt "^6.0.0" - multiaddr "^4.0.0" - peer-id "~0.10.7" - -peer-info@~0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/peer-info/-/peer-info-0.15.1.tgz#21254a7c516d0dd046b150120b9aaf1b9ad02146" - integrity sha512-Y91Q2tZRC0CpSTPd1UebhGqniOrOAk/aj60uYUcWJXCoLTAnGu+4LJGoiay8ayudS6ice7l3SKhgL/cS62QacA== - dependencies: - mafmt "^6.0.2" - multiaddr "^6.0.3" - peer-id "~0.12.2" - unique-by "^1.0.0" - -pem-jwk@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pem-jwk/-/pem-jwk-1.5.1.tgz#7a8637fd2f67a827e57c0c42e1c23c3fd52cfb01" - integrity sha1-eoY3/S9nqCflfAxC4cI8P9Us+wE= - dependencies: - asn1.js "1.0.3" - -pem-jwk@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pem-jwk/-/pem-jwk-2.0.0.tgz#1c5bb264612fc391340907f5c1de60c06d22f085" - integrity sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA== - dependencies: - asn1.js "^5.0.1" - pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" @@ -18392,17 +17240,6 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -pez@2.x.x: - version "2.1.5" - resolved "https://registry.yarnpkg.com/pez/-/pez-2.1.5.tgz#5ec2cc62500cc3eb4236d4a414cf5a17b5eb5007" - integrity sha1-XsLMYlAMw+tCNtSkFM9aF7XrUAc= - dependencies: - b64 "3.x.x" - boom "5.x.x" - content "3.x.x" - hoek "4.x.x" - nigel "2.x.x" - pg-connection-string@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.0.0.tgz#3eefe5997e06d94821e4d502e42b6a1c73f8df82" @@ -18500,15 +17337,6 @@ pluralize@^8.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== -podium@1.x.x: - version "1.3.0" - resolved "https://registry.yarnpkg.com/podium/-/podium-1.3.0.tgz#3c490f54d16f10f5260cbe98641f1cb733a8851c" - integrity sha512-ZIujqk1pv8bRZNVxwwwq0BhXilZ2udycQT3Kp8ah3f3TcTmVg7ILJsv/oLf47gRa2qeiP584lNq+pfvS9U3aow== - dependencies: - hoek "4.x.x" - items "2.x.x" - joi "10.x.x" - posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" @@ -19013,18 +17841,6 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -promise@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/promise/-/promise-1.3.0.tgz#e5cc9a4c8278e4664ffedc01c7da84842b040175" - integrity sha1-5cyaTIJ45GZP/twBx9qEhCsEAXU= - dependencies: - is-promise "~1" - -promisify-es6@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/promisify-es6/-/promisify-es6-1.0.3.tgz#b012668c4df3c965ce13daac2b3a4d1726a96346" - integrity sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA== - prompt-sync@^4.1.5: version "4.1.7" resolved "https://registry.yarnpkg.com/prompt-sync/-/prompt-sync-4.1.7.tgz#8465d6a83ce35db7fcc5cb73936ba54a8f2b8517" @@ -19061,11 +17877,6 @@ proto-list@~1.2.1: resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= -protocol-buffers-schema@^3.3.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.4.0.tgz#2f0ea31ca96627d680bf2fefae7ebfa2b6453eae" - integrity sha512-G/2kcamPF2S49W5yaMGdIpkG6+5wZF0fzBteLKgEHjbNzqjZQ85aAs1iJGto31EJaSTkNvHs5IXuHSaTLWBAiA== - protocols@^1.1.0, protocols@^1.4.0: version "1.4.7" resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32" @@ -19078,16 +17889,6 @@ protoduck@^5.0.1: dependencies: genfun "^5.0.0" -protons@^1.0.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/protons/-/protons-1.2.1.tgz#5f1e0db8b2139469cd1c3b4e332a4c2d95d0a218" - integrity sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg== - dependencies: - buffer "^5.5.0" - protocol-buffers-schema "^3.3.1" - signed-varint "^2.0.1" - varint "^5.0.0" - proxy-addr@~2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" @@ -19137,7 +17938,7 @@ pull-cat@^1.1.9: resolved "https://registry.yarnpkg.com/pull-cat/-/pull-cat-1.1.11.tgz#b642dd1255da376a706b6db4fa962f5fdb74c31b" integrity sha1-tkLdElXaN2pwa220+pYvX9t0wxs= -pull-defer@^0.2.2, pull-defer@~0.2.3: +pull-defer@^0.2.2: version "0.2.3" resolved "https://registry.yarnpkg.com/pull-defer/-/pull-defer-0.2.3.tgz#4ee09c6d9e227bede9938db80391c3dac489d113" integrity sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA== @@ -19163,33 +17964,16 @@ pull-live@^1.0.1: pull-cat "^1.1.9" pull-stream "^3.4.0" -pull-pushable@^2.0.0, pull-pushable@^2.2.0: +pull-pushable@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/pull-pushable/-/pull-pushable-2.2.0.tgz#5f2f3aed47ad86919f01b12a2e99d6f1bd776581" integrity sha1-Xy867UethpGfAbEqLpnW8b13ZYE= -pull-stream-to-stream@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/pull-stream-to-stream/-/pull-stream-to-stream-1.3.4.tgz#3f81d8216bd18d2bfd1a198190471180e2738399" - integrity sha1-P4HYIWvRjSv9GhmBkEcRgOJzg5k= - -pull-stream@^3.2.3, pull-stream@^3.4.0, pull-stream@^3.6.8, pull-stream@^3.6.9: +pull-stream@^3.2.3, pull-stream@^3.4.0, pull-stream@^3.6.8: version "3.6.14" resolved "https://registry.yarnpkg.com/pull-stream/-/pull-stream-3.6.14.tgz#529dbd5b86131f4a5ed636fdf7f6af00781357ee" integrity sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew== -pull-to-stream@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pull-to-stream/-/pull-to-stream-0.1.1.tgz#fa2058528528e3542b81d6f17cbc42288508ff37" - integrity sha512-thZkMv6F9PILt9zdvpI2gxs19mkDrlixYKX6cOBxAW16i1NZH+yLAmF4r8QfJ69zuQh27e01JZP9y27tsH021w== - dependencies: - readable-stream "^3.1.1" - -pull-traverse@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pull-traverse/-/pull-traverse-1.0.3.tgz#74fb5d7be7fa6bd7a78e97933e199b7945866938" - integrity sha1-dPtde+f6a9enjpeTPhmbeUWGaTg= - pull-window@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/pull-window/-/pull-window-2.1.4.tgz#fc3b86feebd1920c7ae297691e23f705f88552f0" @@ -19232,16 +18016,16 @@ punycode@2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= -punycode@2.x.x, punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - punycode@^1.2.4, punycode@^1.3.2, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + pure-rand@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-3.1.0.tgz#646b812635cbac86105c46b0b03aa5dac1c759b3" @@ -19257,11 +18041,6 @@ qs@6.7.0: resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== -qs@^6.5.2, qs@^6.6.0: - version "6.9.4" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687" - integrity sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ== - qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" @@ -19554,7 +18333,7 @@ readable-stream@^2.2.8: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.0, readable-stream@^3.0.1, readable-stream@^3.0.6, readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@^3.0.6, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -19613,13 +18392,6 @@ readdirp@~3.4.0: dependencies: picomatch "^2.2.1" -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== - dependencies: - picomatch "^2.2.1" - rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -20244,21 +19016,6 @@ rn-host-detect@^1.1.5: resolved "https://registry.yarnpkg.com/rn-host-detect/-/rn-host-detect-1.2.0.tgz#8b0396fc05631ec60c1cb8789e5070cdb04d0da0" integrity sha512-btNg5kzHcjZZ7t7mvvV/4wNJ9e3MPgrWivkRgWURzXL0JJ0pwWlU4zrbmdlz3HHzHOxhBhHB4D+/dbMFfu4/4A== -rsa-pem-to-jwk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz#245e76bdb7e7234cfee7ca032d31b54c38fab98e" - integrity sha1-JF52vbfnI0z+58oDLTG1TDj6uY4= - dependencies: - object-assign "^2.0.0" - rsa-unpack "0.0.6" - -rsa-unpack@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/rsa-unpack/-/rsa-unpack-0.0.6.tgz#f50ebd56a628378e631f297161026ce9ab4eddba" - integrity sha1-9Q69VqYoN45jHylxYQJs6atO3bo= - dependencies: - optimist "~0.3.5" - rsvp@^4.8.4: version "4.8.5" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" @@ -20288,13 +19045,6 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rust-result@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rust-result/-/rust-result-1.0.0.tgz#34c75b2e6dc39fe5875e5bdec85b5e0f91536f72" - integrity sha1-NMdbLm3Dn+WHXlveyFteD5FTb3I= - dependencies: - individual "^2.0.0" - rustbn.js@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/rustbn.js/-/rustbn.js-0.2.0.tgz#8082cb886e707155fd1cb6f23bd591ab8d55d0ca" @@ -20350,18 +19100,6 @@ safe-event-emitter@^1.0.1: dependencies: events "^3.0.0" -safe-json-parse@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-4.0.0.tgz#7c0f578cfccd12d33a71c0e05413e2eca171eaac" - integrity sha1-fA9XjPzNEtM6ccDgVBPi7KFx6qw= - dependencies: - rust-result "^1.0.0" - -safe-json-stringify@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" - integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== - safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" @@ -20504,13 +19242,6 @@ scrypt-js@^3.0.0, scrypt-js@^3.0.1: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== -"scrypt-shim@github:web3-js/scrypt-shim": - version "0.1.0" - resolved "https://codeload.github.com/web3-js/scrypt-shim/tar.gz/aafdadda13e660e25e1c525d1f5b2443f5eb1ebb" - dependencies: - scryptsy "^2.1.0" - semver "^6.3.0" - scrypt.js@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/scrypt.js/-/scrypt.js-0.3.0.tgz#6c62d61728ad533c8c376a2e5e3e86d41a95c4c0" @@ -20553,20 +19284,6 @@ secp256k1@^3.0.1: nan "^2.14.0" safe-buffer "^5.1.2" -secp256k1@^3.6.1, secp256k1@^3.6.2: - version "3.8.0" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.8.0.tgz#28f59f4b01dbee9575f56a47034b7d2e3b3b352d" - integrity sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw== - dependencies: - bindings "^1.5.0" - bip66 "^1.1.5" - bn.js "^4.11.8" - create-hash "^1.2.0" - drbg.js "^1.0.1" - elliptic "^6.5.2" - nan "^2.14.0" - safe-buffer "^5.1.2" - secp256k1@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.1.tgz#b9570ca26ace9e74c3171512bba253da9c0b6d60" @@ -20676,13 +19393,6 @@ serialize-javascript@4.0.0: dependencies: randombytes "^2.1.0" -serialize-javascript@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== - dependencies: - randombytes "^2.1.0" - serialize-javascript@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" @@ -20832,14 +19542,6 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== -shot@3.x.x: - version "3.4.2" - resolved "https://registry.yarnpkg.com/shot/-/shot-3.4.2.tgz#1e5c3f6f2b26649adc42f7eb350214a5a0291d67" - integrity sha1-Hlw/bysmZJrcQvfrNQIUpaApHWc= - dependencies: - hoek "4.x.x" - joi "10.x.x" - should-equal@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-2.0.0.tgz#6072cf83047360867e68e98b09d71143d04ee0c3" @@ -20889,13 +19591,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= -signed-varint@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/signed-varint/-/signed-varint-2.0.1.tgz#50a9989da7c98c2c61dad119bc97470ef8528129" - integrity sha1-UKmYnafJjCxh2tEZvJdHDvhSgSk= - dependencies: - varint "~5.0.0" - signedsource@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/signedsource/-/signedsource-1.0.0.tgz#1ddace4981798f93bd833973803d80d52e93ad6a" @@ -21133,13 +19828,6 @@ solc@^0.6.0: semver "^5.5.0" tmp "0.0.33" -somever@1.x.x: - version "1.0.1" - resolved "https://registry.yarnpkg.com/somever/-/somever-1.0.1.tgz#28a5c7de0d55f781af52fbce9960db1b84ce206e" - integrity sha512-PCDMBcega4n7wuBUKmkiXidF3cOwtHHGg2qJYl0Rkw7StZqORoCgqce7HUuWNta/NAiQhwLDezNnTANxEWPCGA== - dependencies: - hoek "4.x.x" - sort-keys-length@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" @@ -21317,20 +20005,13 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" -split2@^2.0.0, split2@^2.1.0: +split2@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw== dependencies: through2 "^2.0.2" -split2@^3.1.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" - integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== - dependencies: - readable-stream "^3.0.0" - split@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" @@ -21338,11 +20019,6 @@ split@^1.0.0: dependencies: through "2" -sprintf-js@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" - integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -21379,11 +20055,6 @@ ssri@^6.0.0, ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" -stable@~0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - stack-utils@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" @@ -21396,19 +20067,6 @@ stack-utils@^2.0.2: dependencies: escape-string-regexp "^2.0.0" -statehood@5.x.x: - version "5.0.4" - resolved "https://registry.yarnpkg.com/statehood/-/statehood-5.0.4.tgz#bb5c343c357e3b6a18260c36cde4a282563ca558" - integrity sha512-6/feFLqqHylvA/dHwJA0DgXvbEcKgbhRUeljsuu6+cIr8PO88nax7Wc+celZlPTncqT2arsxXL8P329Q1yfe9Q== - dependencies: - boom "5.x.x" - bourne "1.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - iron "4.x.x" - items "2.x.x" - joi "12.x.x" - static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -21472,16 +20130,6 @@ stream-http@^2.0.0, stream-http@^2.7.2: to-arraybuffer "^1.0.0" xtend "^4.0.0" -stream-http@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.1.1.tgz#0370a8017cf8d050b9a8554afe608f043eaff564" - integrity sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.4" - readable-stream "^3.6.0" - xtend "^4.0.2" - stream-shift@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" @@ -21495,7 +20143,7 @@ stream-splicer@^2.0.0: inherits "^2.0.1" readable-stream "^2.0.2" -stream-to-pull-stream@^1.7.1, stream-to-pull-stream@^1.7.2: +stream-to-pull-stream@^1.7.1: version "1.7.3" resolved "https://registry.yarnpkg.com/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz#4161aa2d2eb9964de60bfa1af7feaf917e874ece" integrity sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg== @@ -21503,11 +20151,6 @@ stream-to-pull-stream@^1.7.1, stream-to-pull-stream@^1.7.2: looper "^3.0.0" pull-stream "^3.2.3" -streamifier@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/streamifier/-/streamifier-0.1.1.tgz#97e98d8fa4d105d62a2691d1dc07e820db8dfc4f" - integrity sha1-l+mNj6TRBdYqJpHR3AfoINuN/E8= - streamsearch@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" @@ -21736,16 +20379,16 @@ strip-json-comments@3.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== -strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - strip-json-comments@^2.0.0, strip-json-comments@^2.0.1, 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" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + strip-outer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" @@ -21798,38 +20441,11 @@ subscriptions-transport-ws@0.9.18, subscriptions-transport-ws@^0.9.11, subscript symbol-observable "^1.0.4" ws "^5.2.0" -subtext@5.x.x: - version "5.0.1" - resolved "https://registry.yarnpkg.com/subtext/-/subtext-5.0.1.tgz#3ba39c93260e2e2ee1eddcde371be9d5fbe88861" - integrity sha512-zH/jaUKJ/bkrTpEe3zuTFIRnqAwv5xcGpXA2JaxEc30KRAT4k78jZnRqM45snjBSZAuvpI8chRUh1VZprcUVfw== - dependencies: - boom "5.x.x" - bourne "1.x.x" - content "3.x.x" - hoek "4.x.x" - pez "2.x.x" - wreck "12.x.x" - super-split@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/super-split/-/super-split-1.1.0.tgz#43b3ba719155f4d43891a32729d59b213d9155fc" integrity sha512-I4bA5mgcb6Fw5UJ+EkpzqXfiuvVGS/7MuND+oBxNFmxu3ugLNrdIatzBLfhFRMVMLxgSsRy+TjIktgkF9RFSNQ== -superagent@^4.0.0-beta.5: - version "4.1.0" - resolved "https://registry.yarnpkg.com/superagent/-/superagent-4.1.0.tgz#c465c2de41df2b8d05c165cbe403e280790cdfd5" - integrity sha512-FT3QLMasz0YyCd4uIi5HNe+3t/onxMyEho7C3PSqmti3Twgy2rXT4fmkTz6wRL6bTF4uzPcfkUCa8u4JWHw8Ag== - dependencies: - component-emitter "^1.2.0" - cookiejar "^2.1.2" - debug "^4.1.0" - form-data "^2.3.3" - formidable "^1.2.0" - methods "^1.1.1" - mime "^2.4.0" - qs "^6.6.0" - readable-stream "^3.0.6" - supports-color@5.4.0: version "5.4.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" @@ -21851,13 +20467,6 @@ supports-color@7.1.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@7.2.0, supports-color@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -21877,6 +20486,13 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" +supports-color@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + supports-hyperlinks@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" @@ -22023,7 +20639,7 @@ tape@^4.6.3: string.prototype.trim "~1.2.1" through "~2.3.8" -tar-stream@^1.5.2, tar-stream@^1.6.2: +tar-stream@^1.5.2: version "1.6.2" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== @@ -22036,17 +20652,6 @@ tar-stream@^1.5.2, tar-stream@^1.6.2: to-buffer "^1.1.1" xtend "^4.0.0" -tar-stream@^2.0.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz#c4fb1a11eb0da29b893a5b25476397ba2d053bfa" - integrity sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - tar@^4, tar@^4.0.2, tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: version "4.4.13" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" @@ -22220,14 +20825,6 @@ through2@^0.6.0: readable-stream ">=1.0.33-1 <1.1.0-0" xtend ">=4.0.0 <4.1.0-0" -through2@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" - integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== - dependencies: - inherits "^2.0.4" - readable-stream "2 || 3" - through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8, through@~2.3.4, through@~2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -22385,20 +20982,6 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== -topo@2.x.x: - version "2.0.2" - resolved "https://registry.yarnpkg.com/topo/-/topo-2.0.2.tgz#cd5615752539057c0dc0491a621c3bc6fbe1d182" - integrity sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI= - dependencies: - hoek "4.x.x" - -topo@3.x.x: - version "3.0.3" - resolved "https://registry.yarnpkg.com/topo/-/topo-3.0.3.tgz#d5a67fb2e69307ebeeb08402ec2a2a6f5f7ad95c" - integrity sha512-IgpPtvD4kjrJ7CRA3ov2FhWQADwv+Tdqbsf1ZnPUSAtCJ9e1Z44MmoSGDXGk4IppoZA7jd/QRkNddlLJWlUZsQ== - dependencies: - hoek "6.x.x" - toposort@^1.0.0: version "1.0.7" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" @@ -22453,11 +21036,6 @@ traverse-chain@~0.1.0: resolved "https://registry.yarnpkg.com/traverse-chain/-/traverse-chain-0.1.0.tgz#61dbc2d53b69ff6091a12a168fd7d433107e40f1" integrity sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE= -traverse@~0.6.6: - version "0.6.6" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" - integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc= - tree-kill@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.1.tgz#5398f374e2f292b9dcc7b2e71e30a5c3bb6c743a" @@ -22971,11 +21549,6 @@ uniq@^1.0.1: resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= -unique-by@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-by/-/unique-by-1.0.0.tgz#5220c86ba7bc572fb713ad74651470cb644212bd" - integrity sha1-UiDIa6e8Vy+3E610ZRRwy2RCEr0= - unique-filename@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" @@ -23148,22 +21721,6 @@ url@^0.11.0, url@~0.11.0: punycode "1.3.2" querystring "0.2.0" -ursa-optional@~0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/ursa-optional/-/ursa-optional-0.10.1.tgz#847b9e40a358c41f2264a04d52bba1e92f159adc" - integrity sha512-/pgpBXVJut57dHNrdGF+1/qXi+5B7JrlmZDWPSyoivEcbwFWRZJBJGkWb6ivknMBA3bnFA7lqsb6iHiFfp79QQ== - dependencies: - bindings "^1.5.0" - nan "^2.14.0" - -ursa-optional@~0.9.9: - version "0.9.10" - resolved "https://registry.yarnpkg.com/ursa-optional/-/ursa-optional-0.9.10.tgz#f2eabfe0b6001dbf07a78740cd0a6e5ba6eb2554" - integrity sha512-RvEbhnxlggX4MXon7KQulTFiJQtLJZpSb9ZSa7ZTkOW0AzqiVTaLjI4vxaSzJBDH9dwZ3ltZadFiBaZslp6haA== - dependencies: - bindings "^1.3.0" - nan "^2.11.1" - use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -23308,7 +21865,7 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" -varint@^5.0.0, varint@~5.0.0: +varint@^5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== @@ -23364,13 +21921,6 @@ vinyl@1.X, vinyl@^1.0.0: clone-stats "^0.0.1" replace-ext "0.0.1" -vise@2.x.x: - version "2.0.2" - resolved "https://registry.yarnpkg.com/vise/-/vise-2.0.2.tgz#6b08e8fb4cb76e3a50cd6dd0ec37338e811a0d39" - integrity sha1-awjo+0y3bjpQzW3Q7DczjoEaDTk= - dependencies: - hoek "4.x.x" - vm-browserify@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" @@ -23473,16 +22023,6 @@ web3-bzz@1.2.11: swarm-js "^0.1.40" underscore "1.9.1" -web3-bzz@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.2.tgz#a3b9f613c49fd3e120e0997088a73557d5adb724" - integrity sha512-b1O2ObsqUN1lJxmFSjvnEC4TsaCbmh7Owj3IAIWTKqL9qhVgx7Qsu5O9cD13pBiSPNZJ68uJPaKq380QB4NWeA== - dependencies: - "@types/node" "^10.12.18" - got "9.6.0" - swarm-js "0.1.39" - underscore "1.9.1" - web3-bzz@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.4.tgz#a4adb7a8cba3d260de649bdb1f14ed359bfb3821" @@ -23531,15 +22071,6 @@ web3-core-helpers@1.2.11: web3-eth-iban "1.2.11" web3-utils "1.2.11" -web3-core-helpers@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.2.tgz#484974f4bd4a487217b85b0d7cfe841af0907619" - integrity sha512-HJrRsIGgZa1jGUIhvGz4S5Yh6wtOIo/TMIsSLe+Xay+KVnbseJpPprDI5W3s7H2ODhMQTbogmmUFquZweW2ImQ== - dependencies: - underscore "1.9.1" - web3-eth-iban "1.2.2" - web3-utils "1.2.2" - web3-core-helpers@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.4.tgz#ffd425861f4d66b3f38df032afdb39ea0971fc0f" @@ -23590,17 +22121,6 @@ web3-core-method@1.2.11: web3-core-subscriptions "1.2.11" web3-utils "1.2.11" -web3-core-method@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.2.tgz#d4fe2bb1945b7152e5f08e4ea568b171132a1e56" - integrity sha512-szR4fDSBxNHaF1DFqE+j6sFR/afv9Aa36OW93saHZnrh+iXSrYeUUDfugeNcRlugEKeUCkd4CZylfgbK2SKYJA== - dependencies: - underscore "1.9.1" - web3-core-helpers "1.2.2" - web3-core-promievent "1.2.2" - web3-core-subscriptions "1.2.2" - web3-utils "1.2.2" - web3-core-method@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.4.tgz#a0fbc50b8ff5fd214021435cc2c6d1e115807aed" @@ -23651,14 +22171,6 @@ web3-core-promievent@1.2.11: dependencies: eventemitter3 "4.0.4" -web3-core-promievent@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.2.tgz#3b60e3f2a0c96db8a891c927899d29d39e66ab1c" - integrity sha512-tKvYeT8bkUfKABcQswK6/X79blKTKYGk949urZKcLvLDEaWrM3uuzDwdQT3BNKzQ3vIvTggFPX9BwYh0F1WwqQ== - dependencies: - any-promise "1.3.0" - eventemitter3 "3.1.2" - web3-core-promievent@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.4.tgz#75e5c0f2940028722cdd21ba503ebd65272df6cb" @@ -23703,17 +22215,6 @@ web3-core-requestmanager@1.2.11: web3-providers-ipc "1.2.11" web3-providers-ws "1.2.11" -web3-core-requestmanager@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.2.tgz#667ba9ac724c9c76fa8965ae8a3c61f66e68d8d6" - integrity sha512-a+gSbiBRHtHvkp78U2bsntMGYGF2eCb6219aMufuZWeAZGXJ63Wc2321PCbA8hF9cQrZI4EoZ4kVLRI4OF15Hw== - dependencies: - underscore "1.9.1" - web3-core-helpers "1.2.2" - web3-providers-http "1.2.2" - web3-providers-ipc "1.2.2" - web3-providers-ws "1.2.2" - web3-core-requestmanager@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.4.tgz#0a7020a23fb91c6913c611dfd3d8c398d1e4b4a8" @@ -23765,15 +22266,6 @@ web3-core-subscriptions@1.2.11: underscore "1.9.1" web3-core-helpers "1.2.11" -web3-core-subscriptions@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.2.tgz#bf4ba23a653a003bdc3551649958cc0b080b068e" - integrity sha512-QbTgigNuT4eicAWWr7ahVpJyM8GbICsR1Ys9mJqzBEwpqS+RXTRVSkwZ2IsxO+iqv6liMNwGregbJLq4urMFcQ== - dependencies: - eventemitter3 "3.1.2" - underscore "1.9.1" - web3-core-helpers "1.2.2" - web3-core-subscriptions@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.4.tgz#0dc095b5cfd82baa527a39796e3515a846b21b99" @@ -23824,18 +22316,6 @@ web3-core@1.2.11: web3-core-requestmanager "1.2.11" web3-utils "1.2.11" -web3-core@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.2.tgz#334b99c8222ef9cfd0339e27352f0b58ea789a2f" - integrity sha512-miHAX3qUgxV+KYfaOY93Hlc3kLW2j5fH8FJy6kSxAv+d4d5aH0wwrU2IIoJylQdT+FeenQ38sgsCnFu9iZ1hCQ== - dependencies: - "@types/bn.js" "^4.11.4" - "@types/node" "^12.6.1" - web3-core-helpers "1.2.2" - web3-core-method "1.2.2" - web3-core-requestmanager "1.2.2" - web3-utils "1.2.2" - web3-core@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.4.tgz#2df13b978dcfc59c2abaa887d27f88f21ad9a9d6" @@ -23893,15 +22373,6 @@ web3-eth-abi@1.2.11: underscore "1.9.1" web3-utils "1.2.11" -web3-eth-abi@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.2.tgz#d5616d88a90020f894763423a9769f2da11fe37a" - integrity sha512-Yn/ZMgoOLxhTVxIYtPJ0eS6pnAnkTAaJgUJh1JhZS4ekzgswMfEYXOwpMaD5eiqPJLpuxmZFnXnBZlnQ1JMXsw== - dependencies: - ethers "4.0.0-beta.3" - underscore "1.9.1" - web3-utils "1.2.2" - web3-eth-abi@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.4.tgz#5b73e5ef70b03999227066d5d1310b168845e2b8" @@ -23963,24 +22434,6 @@ web3-eth-accounts@1.2.11: web3-core-method "1.2.11" web3-utils "1.2.11" -web3-eth-accounts@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.2.tgz#c187e14bff6baa698ac352220290222dbfd332e5" - integrity sha512-KzHOEyXOEZ13ZOkWN3skZKqSo5f4Z1ogPFNn9uZbKCz+kSp+gCAEKxyfbOsB/JMAp5h7o7pb6eYsPCUBJmFFiA== - dependencies: - any-promise "1.3.0" - crypto-browserify "3.12.0" - eth-lib "0.2.7" - ethereumjs-common "^1.3.2" - ethereumjs-tx "^2.1.1" - scrypt-shim "github:web3-js/scrypt-shim" - underscore "1.9.1" - uuid "3.3.2" - web3-core "1.2.2" - web3-core-helpers "1.2.2" - web3-core-method "1.2.2" - web3-utils "1.2.2" - web3-eth-accounts@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.4.tgz#ada6edc49542354328a85cafab067acd7f88c288" @@ -24062,21 +22515,6 @@ web3-eth-contract@1.2.11: web3-eth-abi "1.2.11" web3-utils "1.2.11" -web3-eth-contract@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.2.tgz#84e92714918a29e1028ee7718f0712536e14e9a1" - integrity sha512-EKT2yVFws3FEdotDQoNsXTYL798+ogJqR2//CaGwx3p0/RvQIgfzEwp8nbgA6dMxCsn9KOQi7OtklzpnJMkjtA== - dependencies: - "@types/bn.js" "^4.11.4" - underscore "1.9.1" - web3-core "1.2.2" - web3-core-helpers "1.2.2" - web3-core-method "1.2.2" - web3-core-promievent "1.2.2" - web3-core-subscriptions "1.2.2" - web3-eth-abi "1.2.2" - web3-utils "1.2.2" - web3-eth-contract@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.4.tgz#68ef7cc633232779b0a2c506a810fbe903575886" @@ -24151,20 +22589,6 @@ web3-eth-ens@1.2.11: web3-eth-contract "1.2.11" web3-utils "1.2.11" -web3-eth-ens@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.2.tgz#0a4abed1d4cbdacbf5e1ab06e502d806d1192bc6" - integrity sha512-CFjkr2HnuyMoMFBoNUWojyguD4Ef+NkyovcnUc/iAb9GP4LHohKrODG4pl76R5u61TkJGobC2ij6TyibtsyVYg== - dependencies: - eth-ens-namehash "2.0.8" - underscore "1.9.1" - web3-core "1.2.2" - web3-core-helpers "1.2.2" - web3-core-promievent "1.2.2" - web3-eth-abi "1.2.2" - web3-eth-contract "1.2.2" - web3-utils "1.2.2" - web3-eth-ens@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.4.tgz#b95b3aa99fb1e35c802b9e02a44c3046a3fa065e" @@ -24225,14 +22649,6 @@ web3-eth-iban@1.2.11: bn.js "^4.11.9" web3-utils "1.2.11" -web3-eth-iban@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.2.tgz#76bec73bad214df7c4192388979a59fc98b96c5a" - integrity sha512-gxKXBoUhaTFHr0vJB/5sd4i8ejF/7gIsbM/VvemHT3tF5smnmY6hcwSMmn7sl5Gs+83XVb/BngnnGkf+I/rsrQ== - dependencies: - bn.js "4.11.8" - web3-utils "1.2.2" - web3-eth-iban@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.4.tgz#8e0550fd3fd8e47a39357d87fe27dee9483ee476" @@ -24280,18 +22696,6 @@ web3-eth-personal@1.2.11: web3-net "1.2.11" web3-utils "1.2.11" -web3-eth-personal@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.2.tgz#eee1c86a8132fa16b5e34c6d421ca92e684f0be6" - integrity sha512-4w+GLvTlFqW3+q4xDUXvCEMU7kRZ+xm/iJC8gm1Li1nXxwwFbs+Y+KBK6ZYtoN1qqAnHR+plYpIoVo27ixI5Rg== - dependencies: - "@types/node" "^12.6.1" - web3-core "1.2.2" - web3-core-helpers "1.2.2" - web3-core-method "1.2.2" - web3-net "1.2.2" - web3-utils "1.2.2" - web3-eth-personal@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.4.tgz#3224cca6851c96347d9799b12c1b67b2a6eb232b" @@ -24366,25 +22770,6 @@ web3-eth@1.2.11: web3-net "1.2.11" web3-utils "1.2.11" -web3-eth@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.2.tgz#65a1564634a23b990efd1655bf94ad513904286c" - integrity sha512-UXpC74mBQvZzd4b+baD4Ocp7g+BlwxhBHumy9seyE/LMIcMlePXwCKzxve9yReNpjaU16Mmyya6ZYlyiKKV8UA== - dependencies: - underscore "1.9.1" - web3-core "1.2.2" - web3-core-helpers "1.2.2" - web3-core-method "1.2.2" - web3-core-subscriptions "1.2.2" - web3-eth-abi "1.2.2" - web3-eth-accounts "1.2.2" - web3-eth-contract "1.2.2" - web3-eth-ens "1.2.2" - web3-eth-iban "1.2.2" - web3-eth-personal "1.2.2" - web3-net "1.2.2" - web3-utils "1.2.2" - web3-eth@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.4.tgz#24c3b1f1ac79351bbfb808b2ab5c585fa57cdd00" @@ -24460,15 +22845,6 @@ web3-net@1.2.11: web3-core-method "1.2.11" web3-utils "1.2.11" -web3-net@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.2.tgz#5c3226ca72df7c591422440ce6f1203fd42ddad9" - integrity sha512-K07j2DXq0x4UOJgae65rWZKraOznhk8v5EGSTdFqASTx7vWE/m+NqBijBYGEsQY1lSMlVaAY9UEQlcXK5HzXTw== - dependencies: - web3-core "1.2.2" - web3-core-method "1.2.2" - web3-utils "1.2.2" - web3-net@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.4.tgz#1d246406d3aaffbf39c030e4e98bce0ca5f25458" @@ -24538,14 +22914,6 @@ web3-providers-http@1.2.11: web3-core-helpers "1.2.11" xhr2-cookies "1.1.0" -web3-providers-http@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.2.tgz#155e55c1d69f4c5cc0b411ede40dea3d06720956" - integrity sha512-BNZ7Hguy3eBszsarH5gqr9SIZNvqk9eKwqwmGH1LQS1FL3NdoOn7tgPPdddrXec4fL94CwgNk4rCU+OjjZRNDg== - dependencies: - web3-core-helpers "1.2.2" - xhr2-cookies "1.1.0" - web3-providers-http@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.4.tgz#514fcad71ae77832c2c15574296282fbbc5f4a67" @@ -24588,15 +22956,6 @@ web3-providers-ipc@1.2.11: underscore "1.9.1" web3-core-helpers "1.2.11" -web3-providers-ipc@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.2.tgz#c6d165a12bc68674b4cdd543ea18aec79cafc2e8" - integrity sha512-t97w3zi5Kn/LEWGA6D9qxoO0LBOG+lK2FjlEdCwDQatffB/+vYrzZ/CLYVQSoyFZAlsDoBasVoYSWZK1n39aHA== - dependencies: - oboe "2.1.4" - underscore "1.9.1" - web3-core-helpers "1.2.2" - web3-providers-ipc@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.4.tgz#9d6659f8d44943fb369b739f48df09092be459bd" @@ -24643,15 +23002,6 @@ web3-providers-ws@1.2.11: web3-core-helpers "1.2.11" websocket "^1.0.31" -web3-providers-ws@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.2.tgz#d2c05c68598cea5ad3fa6ef076c3bcb3ca300d29" - integrity sha512-Wb1mrWTGMTXOpJkL0yGvL/WYLt8fUIXx8k/l52QB2IiKzvyd42dTWn4+j8IKXGSYYzOm7NMqv6nhA5VDk12VfA== - dependencies: - underscore "1.9.1" - web3-core-helpers "1.2.2" - websocket "github:web3-js/WebSocket-Node#polyfill/globalThis" - web3-providers-ws@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.4.tgz#099ee271ee03f6ea4f5df9cfe969e83f4ce0e36f" @@ -24701,16 +23051,6 @@ web3-shh@1.2.11: web3-core-subscriptions "1.2.11" web3-net "1.2.11" -web3-shh@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.2.tgz#44ed998f2a6ba0ec5cb9d455184a0f647826a49c" - integrity sha512-og258NPhlBn8yYrDWjoWBBb6zo1OlBgoWGT+LL5/LPqRbjPe09hlOYHgscAAr9zZGtohTOty7RrxYw6Z6oDWCg== - dependencies: - web3-core "1.2.2" - web3-core-method "1.2.2" - web3-core-subscriptions "1.2.2" - web3-net "1.2.2" - web3-shh@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.4.tgz#5c8ff5ab624a3b14f08af0d24d2b16c10e9f70dd" @@ -24768,20 +23108,6 @@ web3-utils@1.2.11: underscore "1.9.1" utf8 "3.0.0" -web3-utils@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.2.tgz#b53a08c40d2c3f31d3c4a28e7d749405df99c8c0" - integrity sha512-joF+s3243TY5cL7Z7y4h1JsJpUCf/kmFmj+eJar7Y2yNIGVcW961VyrAms75tjUysSuHaUQ3eQXjBEUJueT52A== - dependencies: - bn.js "4.11.8" - eth-lib "0.2.7" - ethereum-bloom-filters "^1.0.6" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randombytes "^2.1.0" - underscore "1.9.1" - utf8 "3.0.0" - web3-utils@1.2.4, web3-utils@^1.0.0-beta.31: version "1.2.4" resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.4.tgz#96832a39a66b05bf8862a5b0bdad2799d709d951" @@ -24850,20 +23176,6 @@ web3@1.2.11: web3-shh "1.2.11" web3-utils "1.2.11" -web3@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.2.tgz#b1b8b69aafdf94cbaeadbb68a8aa1df2ef266aec" - integrity sha512-/ChbmB6qZpfGx6eNpczt5YSUBHEA5V2+iUCbn85EVb3Zv6FVxrOo5Tv7Lw0gE2tW7EEjASbCyp3mZeiZaCCngg== - dependencies: - "@types/node" "^12.6.1" - web3-bzz "1.2.2" - web3-core "1.2.2" - web3-eth "1.2.2" - web3-eth-personal "1.2.2" - web3-net "1.2.2" - web3-shh "1.2.2" - web3-utils "1.2.2" - web3@1.2.9: version "1.2.9" resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.9.tgz#cbcf1c0fba5e213a6dfb1f2c1f4b37062e4ce337" @@ -24904,10 +23216,6 @@ web3@^1.2.1: web3-shh "1.3.0" web3-utils "1.3.0" -"webcrypto-shim@github:dignifiedquire/webcrypto-shim#master": - version "0.1.1" - resolved "https://codeload.github.com/dignifiedquire/webcrypto-shim/tar.gz/190bc9ec341375df6025b17ae12ddb2428ea49c8" - webidl-conversions@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-2.0.1.tgz#3bf8258f7d318c7443c36f2e169402a1a6703506" @@ -25232,11 +23540,6 @@ workerpool@6.0.0: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.0.tgz#85aad67fa1a2c8ef9386a1b43539900f61d03d58" integrity sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA== -workerpool@6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.2.tgz#e241b43d8d033f1beb52c7851069456039d1d438" - integrity sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q== - wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -25268,14 +23571,6 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -wreck@12.x.x: - version "12.5.1" - resolved "https://registry.yarnpkg.com/wreck/-/wreck-12.5.1.tgz#cd2ffce167449e1f0242ed9cf80552e20fb6902a" - integrity sha512-l5DUGrc+yDyIflpty1x9XuMj1ehVjC/dTbF3/BasOO77xk0EdEa4M/DuOY8W88MQDAD0fEDqyjc8bkIMHd2E9A== - dependencies: - boom "5.x.x" - hoek "4.x.x" - write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: version "2.4.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" @@ -25610,16 +23905,6 @@ yargs-unparser@1.6.1: is-plain-obj "^1.1.0" yargs "^14.2.3" -yargs-unparser@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - yargs@13.2.4: version "13.2.4" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83"