From 8c39ef4766ab843be339473ee725803e1e0edde7 Mon Sep 17 00:00:00 2001 From: Sarath Date: Mon, 28 Feb 2022 18:51:02 +0530 Subject: [PATCH 01/29] Adding description to one manifest file --- .../formats/web3api/0.0.1-prealpha.6.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json index f32f547b58..7eed24463b 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json @@ -9,34 +9,42 @@ ], "properties": { "format": { + "description": "Polywrap YAML format version", "type": "string", "const": "0.0.1-prealpha.6" }, "build": { + "description" : "Path to customized build YAML file.", "type": "string", "format": "manifestFile" }, "meta": { + "description" : "Path to wrapper metadata YAML file.", "type": "string", "format": "manifestFile" }, "language": { + "description" : "Language that will be compiled to wasm", "type": "string", "format": "wasmLanguage" }, "modules": { + "description" : "Modules of Polywrap schema and implementation", "type": "object", "additionalProperties": false, "properties": { "mutation": { + "description": "Module for mutation operations", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema", "type": "string", "format": "graphqlFile" }, "module": { + "description": "Path to Polywrap implementation", "type": "string", "format": "file" } @@ -46,14 +54,17 @@ ] }, "query": { + "description": "Module for query operations", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema", "type": "string", "format": "graphqlFile" }, "module": { + "description": "Path to Polywrap implementation", "type": "string", "format": "file" } @@ -65,15 +76,18 @@ } }, "import_redirects": { + "description": "Redirects enabling the import of plugins", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { + "description": "URI resolving to the plugin schema", "type": "string" }, "schema": { + "description": "Graphql schema for imported plugin", "type": "string" } }, From a5a783d61792317877ef1cc64ad623cf360271f6 Mon Sep 17 00:00:00 2001 From: Sarath Date: Wed, 2 Mar 2022 11:29:58 +0530 Subject: [PATCH 02/29] adding description to manifest and build schemas --- .../web3api.build/0.0.1-prealpha.1.json | 6 ++++++ .../web3api.build/0.0.1-prealpha.2.json | 9 +++++++++ .../formats/web3api/0.0.1-prealpha.1.json | 18 ++++++++++++++++++ .../formats/web3api/0.0.1-prealpha.2.json | 14 ++++++++++++++ .../formats/web3api/0.0.1-prealpha.3.json | 14 ++++++++++++++ .../formats/web3api/0.0.1-prealpha.4.json | 14 ++++++++++++++ .../formats/web3api/0.0.1-prealpha.5.json | 14 ++++++++++++++ 7 files changed, 89 insertions(+) diff --git a/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.1.json index 4537b545e1..3102dedd8f 100644 --- a/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.1.json @@ -7,28 +7,34 @@ ], "properties": { "format": { + "description": "Polywrap build YAML format version.", "type": "string", "const": "0.0.1-prealpha.1" }, "docker": { + "description": "Docker build artifact properties.", "type": "object", "additionalProperties": false, "properties": { "name": { + "description": "Docker image name.", "type": "string", "format": "dockerImageName" }, "dockerfile": { + "description": "Docker image file name.", "type": "string", "format": "dockerfileName" }, "buildImageId": { + "description": "Id of the docker image.", "type": "string", "format": "dockerImageId" } } }, "config": { + "description": "Custom configuration.", "type": "object" } } diff --git a/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.2.json b/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.2.json index 621b652c3f..7672af3002 100644 --- a/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.2.json +++ b/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.2.json @@ -5,6 +5,7 @@ "required": ["format"], "properties": { "format": { + "description": "Polywrap build YAML format version.", "type": "string", "const": "0.0.1-prealpha.2" }, @@ -13,35 +14,43 @@ "additionalProperties": false, "properties": { "name": { + "description": "Docker image name.", "type": "string", "format": "dockerImageName" }, "dockerfile": { + "description": "Docker image file name.", "type": "string", "format": "dockerfileName" }, "buildImageId": { + "description": "Id of the docker image.", "type": "string", "format": "dockerImageId" } } }, "config": { + "description": "Custom configuration.", "type": "object" }, "linked_packages": { + "description": "Locally linked packages into docker build image.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "name": { + "description": "Package name", "type": "string" }, "path": { + "description": "Path to linked package directory.", "type": "string" }, "filter": { + "description": "Ignore files matching this regex in linked package directory.", "type": "string", "format": "regexString" } diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json index f2e0c9e9e4..1f7bec7b1b 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json @@ -7,24 +7,30 @@ ], "properties": { "format": { + "description": "Polywrap YAML format version", "type": "string", "const": "0.0.1-prealpha.1" }, "description": { + "description": "Description about this wrapper.", "type": "string" }, "repository": { + "description": "Reference to the repository holding source code.", "type": "string" }, "mutation": { + "description": "Mutation module metadata.", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema.", "type": "object", "additionalProperties": false, "properties": { "file": { + "description": "Path to graphql schema file.", "type": "string", "format": "file" } @@ -34,13 +40,16 @@ ] }, "module": { + "description": "Module for mutation operations.", "type": "object", "additionalProperties": false, "properties": { "language": { + "description" : "Language that will be compiled to wasm.", "type": "string" }, "file": { + "description": "Path to Polywrap module implementation file.", "type": "string", "format": "file" } @@ -57,14 +66,17 @@ ] }, "query": { + "description": "Module for query operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema", "type": "object", "additionalProperties": false, "properties": { "file": { + "description": "Path to graphql schema file.", "type": "string", "format": "file" } @@ -74,13 +86,16 @@ ] }, "module": { + "description": "Module for query operations.", "type": "object", "additionalProperties": false, "properties": { "language": { + "description" : "Language that will be compiled to wasm.", "type": "string" }, "file": { + "description": "Path to Polywrap module implementation file.", "type": "string", "format": "file" } @@ -97,15 +112,18 @@ ] }, "import_redirects": { + "description": "Redirects enabling the import of plugins", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { + "description": "URI resolving to the plugin schema", "type": "string" }, "schema": { + "description": "Graphql schema for imported plugin", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json index b627b5d034..61d94d3a99 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json @@ -9,33 +9,41 @@ ], "properties": { "format": { + "description": "Polywrap YAML format version", "type": "string", "const": "0.0.1-prealpha.2" }, "repository": { + "description": "Reference to the repository holding source code.", "type": "string" }, "build": { + "description" : "Path to customized build YAML file.", "type": "string", "format": "file" }, "language": { + "description" : "Language that will be compiled to wasm", "type": "string", "format": "wasmLanguage" }, "modules": { + "description" : "Modules of Polywrap schema and implementation", "type": "object", "additionalProperties": false, "properties": { "mutation": { + "description": "Module for mutation operations", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema", "type": "string", "format": "file" }, "module": { + "description": "Path to Polywrap implementation", "type": "string", "format": "file" } @@ -46,14 +54,17 @@ ] }, "query": { + "description": "Module for query operations", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema", "type": "string", "format": "file" }, "module": { + "description": "Path to Polywrap implementation", "type": "string", "format": "file" } @@ -66,15 +77,18 @@ } }, "import_redirects": { + "description": "Redirects enabling the import of plugins", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { + "description": "URI resolving to the plugin schema", "type": "string" }, "schema": { + "description": "Graphql schema for imported plugin", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json index 2e87c84df9..27805d644a 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json @@ -8,17 +8,21 @@ ], "properties": { "format": { + "description": "Polywrap YAML format version", "type": "string", "const": "0.0.1-prealpha.3" }, "repository": { + "description": "Reference to the repository holding source code.", "type": "string" }, "build": { + "description" : "Path to customized build YAML file.", "type": "string", "format": "file" }, "language": { + "description" : "Language that will be compiled to wasm", "type": "string", "format": "wasmLanguage" }, @@ -26,18 +30,22 @@ "type": "boolean" }, "modules": { + "description" : "Modules of Polywrap schema and implementation", "type": "object", "additionalProperties": false, "properties": { "mutation": { + "description": "Module for mutation operations", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema", "type": "string", "format": "file" }, "module": { + "description": "Path to Polywrap implementation", "type": "string", "format": "file" } @@ -47,14 +55,17 @@ ] }, "query": { + "description": "Module for query operations", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema", "type": "string", "format": "file" }, "module": { + "description": "Path to Polywrap implementation", "type": "string", "format": "file" } @@ -66,15 +77,18 @@ } }, "import_redirects": { + "description": "Redirects enabling the import of plugins", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { + "description": "URI resolving to the plugin schema", "type": "string" }, "schema": { + "description": "Graphql schema for imported plugin", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json index 4b4fc6a30a..b318706b69 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json @@ -9,33 +9,41 @@ ], "properties": { "format": { + "description": "Polywrap YAML format version", "type": "string", "const": "0.0.1-prealpha.4" }, "repository": { + "description": "Reference to the repository holding source code.", "type": "string" }, "build": { + "description" : "Path to customized build YAML file.", "type": "string", "format": "file" }, "language": { + "description" : "Language that will be compiled to wasm", "type": "string", "format": "wasmLanguage" }, "modules": { + "description" : "Modules of Polywrap schema and implementation", "type": "object", "additionalProperties": false, "properties": { "mutation": { + "description": "Module for mutation operations", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema", "type": "string", "format": "file" }, "module": { + "description": "Path to Polywrap implementation", "type": "string", "format": "file" } @@ -45,14 +53,17 @@ ] }, "query": { + "description": "Module for query operations", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema", "type": "string", "format": "file" }, "module": { + "description": "Path to Polywrap implementation", "type": "string", "format": "file" } @@ -64,15 +75,18 @@ } }, "import_redirects": { + "description": "Redirects enabling the import of plugins", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { + "description": "URI resolving to the plugin schema", "type": "string" }, "schema": { + "description": "Graphql schema for imported plugin", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json index 6310945dc1..72136710b4 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json @@ -9,34 +9,42 @@ ], "properties": { "format": { + "description": "Polywrap YAML format version", "type": "string", "const": "0.0.1-prealpha.5" }, "build": { + "description" : "Path to customized build YAML file.", "type": "string", "format": "yamlFile" }, "meta": { + "description" : "Path to wrapper metadata YAML file.", "type": "string", "format": "yamlFile" }, "language": { + "description" : "Language that will be compiled to wasm", "type": "string", "format": "wasmLanguage" }, "modules": { + "description" : "Modules of Polywrap schema and implementation", "type": "object", "additionalProperties": false, "properties": { "mutation": { + "description": "Module for mutation operations", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema", "type": "string", "format": "graphqlFile" }, "module": { + "description": "Path to Polywrap implementation", "type": "string", "format": "file" } @@ -46,14 +54,17 @@ ] }, "query": { + "description": "Module for query operations", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema", "type": "string", "format": "graphqlFile" }, "module": { + "description": "Path to Polywrap implementation", "type": "string", "format": "file" } @@ -65,15 +76,18 @@ } }, "import_redirects": { + "description": "Redirects enabling the import of plugins", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { + "description": "URI resolving to the plugin schema", "type": "string" }, "schema": { + "description": "Graphql schema for imported plugin", "type": "string" } }, From 2d21f6a094ca91eee37c959fbf4f24d050f98304 Mon Sep 17 00:00:00 2001 From: Sarath Date: Wed, 2 Mar 2022 11:37:55 +0530 Subject: [PATCH 03/29] Adding fullstop at end of description --- .../formats/web3api/0.0.1-prealpha.1.json | 8 +++---- .../formats/web3api/0.0.1-prealpha.2.json | 22 ++++++++--------- .../formats/web3api/0.0.1-prealpha.3.json | 24 +++++++++---------- .../formats/web3api/0.0.1-prealpha.4.json | 24 +++++++++---------- .../formats/web3api/0.0.1-prealpha.5.json | 24 +++++++++---------- .../formats/web3api/0.0.1-prealpha.6.json | 24 +++++++++---------- 6 files changed, 63 insertions(+), 63 deletions(-) diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json index 1f7bec7b1b..3051e0b6c3 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json @@ -71,7 +71,7 @@ "additionalProperties": false, "properties": { "schema": { - "description": "Path to graphql schema", + "description": "Path to graphql schema.", "type": "object", "additionalProperties": false, "properties": { @@ -112,18 +112,18 @@ ] }, "import_redirects": { - "description": "Redirects enabling the import of plugins", + "description": "Redirects enabling the import of plugins.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema", + "description": "URI resolving to the plugin schema.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin", + "description": "Graphql schema for imported plugin.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json index 61d94d3a99..d0a2c32ae3 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json @@ -23,27 +23,27 @@ "format": "file" }, "language": { - "description" : "Language that will be compiled to wasm", + "description" : "Language that will be compiled to wasm.", "type": "string", "format": "wasmLanguage" }, "modules": { - "description" : "Modules of Polywrap schema and implementation", + "description" : "Modules of Polywrap schema and implementation.", "type": "object", "additionalProperties": false, "properties": { "mutation": { - "description": "Module for mutation operations", + "description": "Module for mutation operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { - "description": "Path to graphql schema", + "description": "Path to graphql schema.", "type": "string", "format": "file" }, "module": { - "description": "Path to Polywrap implementation", + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -54,17 +54,17 @@ ] }, "query": { - "description": "Module for query operations", + "description": "Module for query operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { - "description": "Path to graphql schema", + "description": "Path to graphql schema.", "type": "string", "format": "file" }, "module": { - "description": "Path to Polywrap implementation", + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -77,18 +77,18 @@ } }, "import_redirects": { - "description": "Redirects enabling the import of plugins", + "description": "Redirects enabling the import of plugins.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema", + "description": "URI resolving to the plugin schema.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin", + "description": "Graphql schema for imported plugin.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json index 27805d644a..70974047df 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json @@ -8,7 +8,7 @@ ], "properties": { "format": { - "description": "Polywrap YAML format version", + "description": "Polywrap YAML format version.", "type": "string", "const": "0.0.1-prealpha.3" }, @@ -22,7 +22,7 @@ "format": "file" }, "language": { - "description" : "Language that will be compiled to wasm", + "description" : "Language that will be compiled to wasm.", "type": "string", "format": "wasmLanguage" }, @@ -30,22 +30,22 @@ "type": "boolean" }, "modules": { - "description" : "Modules of Polywrap schema and implementation", + "description" : "Modules of Polywrap schema and implementation.", "type": "object", "additionalProperties": false, "properties": { "mutation": { - "description": "Module for mutation operations", + "description": "Module for mutation operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { - "description": "Path to graphql schema", + "description": "Path to graphql schema.", "type": "string", "format": "file" }, "module": { - "description": "Path to Polywrap implementation", + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -55,17 +55,17 @@ ] }, "query": { - "description": "Module for query operations", + "description": "Module for query operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { - "description": "Path to graphql schema", + "description": "Path to graphql schema.", "type": "string", "format": "file" }, "module": { - "description": "Path to Polywrap implementation", + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -77,18 +77,18 @@ } }, "import_redirects": { - "description": "Redirects enabling the import of plugins", + "description": "Redirects enabling the import of plugins.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema", + "description": "URI resolving to the plugin schema.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin", + "description": "Graphql schema for imported plugin.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json index b318706b69..9905975cd3 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json @@ -9,7 +9,7 @@ ], "properties": { "format": { - "description": "Polywrap YAML format version", + "description": "Polywrap YAML format version.", "type": "string", "const": "0.0.1-prealpha.4" }, @@ -23,27 +23,27 @@ "format": "file" }, "language": { - "description" : "Language that will be compiled to wasm", + "description" : "Language that will be compiled to wasm.", "type": "string", "format": "wasmLanguage" }, "modules": { - "description" : "Modules of Polywrap schema and implementation", + "description" : "Modules of Polywrap schema and implementation.", "type": "object", "additionalProperties": false, "properties": { "mutation": { - "description": "Module for mutation operations", + "description": "Module for mutation operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { - "description": "Path to graphql schema", + "description": "Path to graphql schema.", "type": "string", "format": "file" }, "module": { - "description": "Path to Polywrap implementation", + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -53,17 +53,17 @@ ] }, "query": { - "description": "Module for query operations", + "description": "Module for query operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { - "description": "Path to graphql schema", + "description": "Path to graphql schema.", "type": "string", "format": "file" }, "module": { - "description": "Path to Polywrap implementation", + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -75,18 +75,18 @@ } }, "import_redirects": { - "description": "Redirects enabling the import of plugins", + "description": "Redirects enabling the import of plugins.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema", + "description": "URI resolving to the plugin schema.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin", + "description": "Graphql schema for imported plugin.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json index 72136710b4..1f2192f7bb 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json @@ -9,7 +9,7 @@ ], "properties": { "format": { - "description": "Polywrap YAML format version", + "description": "Polywrap YAML format version.", "type": "string", "const": "0.0.1-prealpha.5" }, @@ -24,27 +24,27 @@ "format": "yamlFile" }, "language": { - "description" : "Language that will be compiled to wasm", + "description" : "Language that will be compiled to wasm.", "type": "string", "format": "wasmLanguage" }, "modules": { - "description" : "Modules of Polywrap schema and implementation", + "description" : "Modules of Polywrap schema and implementation.", "type": "object", "additionalProperties": false, "properties": { "mutation": { - "description": "Module for mutation operations", + "description": "Module for mutation operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { - "description": "Path to graphql schema", + "description": "Path to graphql schema.", "type": "string", "format": "graphqlFile" }, "module": { - "description": "Path to Polywrap implementation", + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -54,17 +54,17 @@ ] }, "query": { - "description": "Module for query operations", + "description": "Module for query operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { - "description": "Path to graphql schema", + "description": "Path to graphql schema.", "type": "string", "format": "graphqlFile" }, "module": { - "description": "Path to Polywrap implementation", + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -76,18 +76,18 @@ } }, "import_redirects": { - "description": "Redirects enabling the import of plugins", + "description": "Redirects enabling the import of plugins.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema", + "description": "URI resolving to the plugin schema.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin", + "description": "Graphql schema for imported plugin.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json index 7eed24463b..3e181cf032 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json @@ -9,7 +9,7 @@ ], "properties": { "format": { - "description": "Polywrap YAML format version", + "description": "Polywrap YAML format version.", "type": "string", "const": "0.0.1-prealpha.6" }, @@ -24,27 +24,27 @@ "format": "manifestFile" }, "language": { - "description" : "Language that will be compiled to wasm", + "description" : "Language that will be compiled to wasm.", "type": "string", "format": "wasmLanguage" }, "modules": { - "description" : "Modules of Polywrap schema and implementation", + "description" : "Modules of Polywrap schema and implementation.", "type": "object", "additionalProperties": false, "properties": { "mutation": { - "description": "Module for mutation operations", + "description": "Module for mutation operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { - "description": "Path to graphql schema", + "description": "Path to graphql schema.", "type": "string", "format": "graphqlFile" }, "module": { - "description": "Path to Polywrap implementation", + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -54,17 +54,17 @@ ] }, "query": { - "description": "Module for query operations", + "description": "Module for query operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { - "description": "Path to graphql schema", + "description": "Path to graphql schema.", "type": "string", "format": "graphqlFile" }, "module": { - "description": "Path to Polywrap implementation", + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -76,18 +76,18 @@ } }, "import_redirects": { - "description": "Redirects enabling the import of plugins", + "description": "Redirects enabling the import of plugins.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema", + "description": "URI resolving to the plugin schema.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin", + "description": "Graphql schema for imported plugin.", "type": "string" } }, From 71d395cd5e3233edb0f1f671855b81cbb0dcabaa Mon Sep 17 00:00:00 2001 From: Sarath Date: Thu, 3 Mar 2022 14:33:23 +0530 Subject: [PATCH 04/29] Adding description for metadata and plugin schema --- .../formats/web3api.meta/0.0.1-prealpha.1.json | 15 +++++++++++++++ .../formats/web3api.plugin/0.0.1-prealpha.1.json | 6 ++++++ .../formats/web3api/0.0.1-prealpha.1.json | 2 +- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/packages/manifest-schemas/formats/web3api.meta/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/web3api.meta/0.0.1-prealpha.1.json index 4d40e158a3..92a5ed1f9c 100644 --- a/packages/manifest-schemas/formats/web3api.meta/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/web3api.meta/0.0.1-prealpha.1.json @@ -8,40 +8,50 @@ ], "properties": { "format": { + "description": "Polywrap wrapper metadata YAML format version.", "type": "string", "const": "0.0.1-prealpha.1" }, "name": { + "description": "Name of the wrapper.", "type": "string" }, "subtext": { + "description": "Short or summary description of the wrapper.", "type": "string" }, "description": { + "description": "Long description for the wrapper.", "type": "string" }, "repository": { + "description": "Reference to the repository holding source code.", "type": "string", "format": "websiteUrl" }, "icon": { + "description": "Path to wrapper icon.", "type": "string", "format": "imageFile" }, "links": { + "description": "Relevant web links.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "name": { + "description": "Web link name.", "type": "string" }, "icon": { + "description": "Web link icon.", "type": "string", "format": "imageFile" }, "url": { + "description": "Url to the web link.", "type": "string", "format": "websiteUrl" } @@ -53,22 +63,27 @@ } }, "queries": { + "description": "List of example queries.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "name": { + "description": "Query name.", "type": "string" }, "description": { + "description": "Query description.", "type": "string" }, "query": { + "description": "Path to graph ql file.", "type": "string", "format": "graphqlFile" }, "vars": { + "description": "Query variables", "type": "string", "format": "jsonFile" } diff --git a/packages/manifest-schemas/formats/web3api.plugin/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/web3api.plugin/0.0.1-prealpha.1.json index 77f8bb2cfa..d9f58d9c14 100644 --- a/packages/manifest-schemas/formats/web3api.plugin/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/web3api.plugin/0.0.1-prealpha.1.json @@ -9,27 +9,33 @@ ], "properties": { "format": { + "description": "Polywrap plugin YAML format version.", "type": "string", "const": "0.0.1-prealpha.1" }, "language": { + "description" : "Plugin language.", "type": "string", "format": "pluginLanguage" }, "schema": { + "description": "Path to graphql schema.", "type": "string", "format": "file" }, "import_redirects": { + "description": "Redirects enabling the import of plugins.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { + "description": "URI resolving to the imported plugin schema.", "type": "string" }, "schema": { + "description": "Graphql schema for imported plugin.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json index 3051e0b6c3..ef5a358c73 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json @@ -7,7 +7,7 @@ ], "properties": { "format": { - "description": "Polywrap YAML format version", + "description": "Polywrap YAML format version.", "type": "string", "const": "0.0.1-prealpha.1" }, From a4859dc91311c93b5e56d291628ca1e3fd90fa7c Mon Sep 17 00:00:00 2001 From: Sarath Date: Sat, 5 Mar 2022 08:47:07 +0530 Subject: [PATCH 05/29] doc fix --- packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json | 2 +- packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json | 2 +- packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json | 2 +- packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json | 2 +- packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json index d0a2c32ae3..b164b6266b 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json @@ -18,7 +18,7 @@ "type": "string" }, "build": { - "description" : "Path to customized build YAML file.", + "description" : "Path to the customized build YAML file.", "type": "string", "format": "file" }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json index 70974047df..85a2f1ff05 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json @@ -17,7 +17,7 @@ "type": "string" }, "build": { - "description" : "Path to customized build YAML file.", + "description" : "Path to the customized build YAML file.", "type": "string", "format": "file" }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json index 9905975cd3..affb0fe972 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json @@ -18,7 +18,7 @@ "type": "string" }, "build": { - "description" : "Path to customized build YAML file.", + "description" : "Path to the customized build YAML file.", "type": "string", "format": "file" }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json index 1f2192f7bb..cf5fdd8ebf 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json @@ -14,7 +14,7 @@ "const": "0.0.1-prealpha.5" }, "build": { - "description" : "Path to customized build YAML file.", + "description" : "Path to the customized build YAML file.", "type": "string", "format": "yamlFile" }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json index 3e181cf032..54bab62b41 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json @@ -14,7 +14,7 @@ "const": "0.0.1-prealpha.6" }, "build": { - "description" : "Path to customized build YAML file.", + "description" : "Path to the customized build YAML file.", "type": "string", "format": "manifestFile" }, From 1ffb114c751cf0545a14c883a5bfb6b0a18ca0a8 Mon Sep 17 00:00:00 2001 From: Sarath Date: Sat, 12 Mar 2022 14:33:07 +0530 Subject: [PATCH 06/29] Updating description --- packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json | 2 +- packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json | 2 +- packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json | 2 +- packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json | 2 +- packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json index b164b6266b..03161009ab 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json @@ -18,7 +18,7 @@ "type": "string" }, "build": { - "description" : "Path to the customized build YAML file.", + "description" : "Path to the customized build manifest file.", "type": "string", "format": "file" }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json index 85a2f1ff05..fa4abc4bfe 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json @@ -17,7 +17,7 @@ "type": "string" }, "build": { - "description" : "Path to the customized build YAML file.", + "description" : "Path to the customized build manifest file.", "type": "string", "format": "file" }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json index affb0fe972..fdbf1b3926 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json @@ -18,7 +18,7 @@ "type": "string" }, "build": { - "description" : "Path to the customized build YAML file.", + "description" : "Path to the customized build manifest file.", "type": "string", "format": "file" }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json index cf5fdd8ebf..ef76fdc8aa 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json @@ -14,7 +14,7 @@ "const": "0.0.1-prealpha.5" }, "build": { - "description" : "Path to the customized build YAML file.", + "description" : "Path to the customized build manifest file.", "type": "string", "format": "yamlFile" }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json index 54bab62b41..012d92e0b0 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json @@ -14,7 +14,7 @@ "const": "0.0.1-prealpha.6" }, "build": { - "description" : "Path to the customized build YAML file.", + "description" : "Path to the customized build manifest file.", "type": "string", "format": "manifestFile" }, From 36cf11f76b14c0550165f7a181493524d9a14145 Mon Sep 17 00:00:00 2001 From: Sarath Date: Wed, 16 Mar 2022 18:05:20 +0530 Subject: [PATCH 07/29] doc update to manifest files --- packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json index 012d92e0b0..307365cb30 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json @@ -19,7 +19,7 @@ "format": "manifestFile" }, "meta": { - "description" : "Path to wrapper metadata YAML file.", + "description" : "Path to wrapper metadata manifest file.", "type": "string", "format": "manifestFile" }, From 7731beb995536eb07516cd345fe198f05cdde90a Mon Sep 17 00:00:00 2001 From: Sarath Date: Sun, 20 Mar 2022 01:51:39 +0530 Subject: [PATCH 08/29] update build yaml/json description --- .../formats/web3api.build/0.0.1-prealpha.1.json | 2 +- .../formats/web3api.build/0.0.1-prealpha.2.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.1.json index 3102dedd8f..d80c21a79e 100644 --- a/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.1.json @@ -7,7 +7,7 @@ ], "properties": { "format": { - "description": "Polywrap build YAML format version.", + "description": "Polywrap build manifest format version.", "type": "string", "const": "0.0.1-prealpha.1" }, diff --git a/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.2.json b/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.2.json index 7672af3002..559e7e67a2 100644 --- a/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.2.json +++ b/packages/manifest-schemas/formats/web3api.build/0.0.1-prealpha.2.json @@ -5,7 +5,7 @@ "required": ["format"], "properties": { "format": { - "description": "Polywrap build YAML format version.", + "description": "Polywrap build manifest format version.", "type": "string", "const": "0.0.1-prealpha.2" }, From e01a0fa8a7cdf5d12ce8409d5375190a07f25cc7 Mon Sep 17 00:00:00 2001 From: Sarath Date: Mon, 21 Mar 2022 10:56:28 +0530 Subject: [PATCH 09/29] changes as per review --- .../formats/web3api.build/0.0.1-prealpha.1.ts | 18 + .../formats/web3api.build/0.0.1-prealpha.2.ts | 27 + .../formats/web3api.meta/0.0.1-prealpha.1.ts | 45 + .../web3api.plugin/0.0.1-prealpha.1.ts | 18 + .../formats/web3api/0.0.1-prealpha.1.ts | 54 + .../formats/web3api/0.0.1-prealpha.2.ts | 42 + .../formats/web3api/0.0.1-prealpha.3.ts | 42 + .../formats/web3api/0.0.1-prealpha.4.ts | 42 + .../formats/web3api/0.0.1-prealpha.5.ts | 42 + .../formats/web3api/0.0.1-prealpha.6.ts | 42 + packages/js/plugins/http/yarn.lock | 4961 +++++++++++++++++ .../web3api.meta/0.0.1-prealpha.1.json | 2 +- .../web3api.plugin/0.0.1-prealpha.1.json | 8 +- .../formats/web3api/0.0.1-prealpha.1.json | 6 +- .../formats/web3api/0.0.1-prealpha.2.json | 4 +- .../formats/web3api/0.0.1-prealpha.3.json | 4 +- .../formats/web3api/0.0.1-prealpha.4.json | 4 +- .../formats/web3api/0.0.1-prealpha.5.json | 6 +- .../formats/web3api/0.0.1-prealpha.6.json | 4 +- 19 files changed, 5352 insertions(+), 19 deletions(-) create mode 100644 packages/js/plugins/http/yarn.lock diff --git a/packages/js/core/src/manifest/formats/web3api.build/0.0.1-prealpha.1.ts b/packages/js/core/src/manifest/formats/web3api.build/0.0.1-prealpha.1.ts index 40d26eb91a..21ff37ce95 100644 --- a/packages/js/core/src/manifest/formats/web3api.build/0.0.1-prealpha.1.ts +++ b/packages/js/core/src/manifest/formats/web3api.build/0.0.1-prealpha.1.ts @@ -7,12 +7,30 @@ */ export interface BuildManifest { + /** + * Polywrap build manifest format version. + */ format: "0.0.1-prealpha.1"; + /** + * Docker build artifact properties. + */ docker?: { + /** + * Docker image name. + */ name?: string; + /** + * Docker image file name. + */ dockerfile?: string; + /** + * Id of the docker image. + */ buildImageId?: string; }; + /** + * Custom configuration. + */ config?: { [k: string]: unknown; }; diff --git a/packages/js/core/src/manifest/formats/web3api.build/0.0.1-prealpha.2.ts b/packages/js/core/src/manifest/formats/web3api.build/0.0.1-prealpha.2.ts index ffa766832a..5f325662bb 100644 --- a/packages/js/core/src/manifest/formats/web3api.build/0.0.1-prealpha.2.ts +++ b/packages/js/core/src/manifest/formats/web3api.build/0.0.1-prealpha.2.ts @@ -7,18 +7,45 @@ */ export interface BuildManifest { + /** + * Polywrap build manifest format version. + */ format: "0.0.1-prealpha.2"; docker?: { + /** + * Docker image name. + */ name?: string; + /** + * Docker image file name. + */ dockerfile?: string; + /** + * Id of the docker image. + */ buildImageId?: string; }; + /** + * Custom configuration. + */ config?: { [k: string]: unknown; }; + /** + * Locally linked packages into docker build image. + */ linked_packages?: { + /** + * Package name + */ name: string; + /** + * Path to linked package directory. + */ path: string; + /** + * Ignore files matching this regex in linked package directory. + */ filter?: string; }[]; __type: "BuildManifest"; diff --git a/packages/js/core/src/manifest/formats/web3api.meta/0.0.1-prealpha.1.ts b/packages/js/core/src/manifest/formats/web3api.meta/0.0.1-prealpha.1.ts index 873ad6d57e..6ab543dc69 100644 --- a/packages/js/core/src/manifest/formats/web3api.meta/0.0.1-prealpha.1.ts +++ b/packages/js/core/src/manifest/formats/web3api.meta/0.0.1-prealpha.1.ts @@ -7,21 +7,66 @@ */ export interface MetaManifest { + /** + * Polywrap wrapper metadata manifest format version. + */ format: "0.0.1-prealpha.1"; + /** + * Name of the wrapper. + */ name: string; + /** + * Short or summary description of the wrapper. + */ subtext?: string; + /** + * Long description for the wrapper. + */ description?: string; + /** + * Reference to the repository holding source code. + */ repository?: string; + /** + * Path to wrapper icon. + */ icon?: string; + /** + * Relevant web links. + */ links?: { + /** + * Web link name. + */ name: string; + /** + * Web link icon. + */ icon?: string; + /** + * Url to the web link. + */ url: string; }[]; + /** + * List of example queries. + */ queries?: { + /** + * Query name. + */ name: string; + /** + * Query description. + */ description?: string; + /** + * Path to graph ql file. + */ query: string; + /** + * Query variables + */ vars?: string; }[]; __type: "MetaManifest"; diff --git a/packages/js/core/src/manifest/formats/web3api.plugin/0.0.1-prealpha.1.ts b/packages/js/core/src/manifest/formats/web3api.plugin/0.0.1-prealpha.1.ts index 3987884f94..8b84cef226 100644 --- a/packages/js/core/src/manifest/formats/web3api.plugin/0.0.1-prealpha.1.ts +++ b/packages/js/core/src/manifest/formats/web3api.plugin/0.0.1-prealpha.1.ts @@ -7,11 +7,29 @@ */ export interface PluginManifest { + /** + * Polywrap plugin manifest format version. + */ format: "0.0.1-prealpha.1"; + /** + * Plugin language. + */ language: string; + /** + * Path to graphql schema. + */ schema: string; + /** + * Redirects source URI to local wrapper or plugin. + */ import_redirects?: { + /** + * Source URI that needs to be redirected. + */ uri: string; + /** + * Path to GraphQL schema of the module to which URI will be redirected. + */ schema: string; }[]; __type: "PluginManifest"; diff --git a/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.1.ts b/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.1.ts index f3f34a16dd..d357947472 100644 --- a/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.1.ts +++ b/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.1.ts @@ -7,29 +7,83 @@ */ export interface Web3ApiManifest { + /** + * Polywrap manifest format version. + */ format: "0.0.1-prealpha.1"; + /** + * Description about this wrapper. + */ description?: string; + /** + * Reference to the repository holding source code. + */ repository?: string; + /** + * Mutation module metadata. + */ mutation?: { + /** + * Path to graphql schema. + */ schema: { + /** + * Path to graphql schema file. + */ file: string; }; + /** + * Module for mutation operations. + */ module: { + /** + * Language in which the source code is written. + */ language: string; + /** + * Path to Polywrap module implementation file. + */ file: string; }; }; + /** + * Module for query operations. + */ query?: { + /** + * Path to graphql schema. + */ schema: { + /** + * Path to graphql schema file. + */ file: string; }; + /** + * Module for query operations. + */ module: { + /** + * Language in which the source code is written. + */ language: string; + /** + * Path to Polywrap module implementation file. + */ file: string; }; }; + /** + * Redirects enabling the import of plugins. + */ import_redirects?: { + /** + * URI resolving to the plugin schema. + */ uri: string; + /** + * Graphql schema for imported plugin. + */ schema: string; }[]; __type: "Web3ApiManifest"; diff --git a/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.2.ts b/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.2.ts index 0c5f999364..9e6e55c1c7 100644 --- a/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.2.ts +++ b/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.2.ts @@ -7,22 +7,64 @@ */ export interface Web3ApiManifest { + /** + * Polywrap manifest format version + */ format: "0.0.1-prealpha.2"; + /** + * Reference to the repository holding source code. + */ repository?: string; + /** + * Path to the customized build manifest file. + */ build?: string; + /** + * Language in which the source code is written. + */ language: string; + /** + * Modules of Polywrap schema and implementation. + */ modules: { + /** + * Module for mutation operations. + */ mutation?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module: string; }; + /** + * Module for query operations. + */ query?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module: string; }; }; + /** + * Redirects enabling the import of plugins. + */ import_redirects?: { + /** + * URI resolving to the plugin schema. + */ uri: string; + /** + * Graphql schema for imported plugin. + */ schema: string; }[]; __type: "Web3ApiManifest"; diff --git a/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.3.ts b/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.3.ts index 31c552c53e..1c00bd445c 100644 --- a/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.3.ts +++ b/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.3.ts @@ -7,23 +7,65 @@ */ export interface Web3ApiManifest { + /** + * Polywrap manifest format version. + */ format: "0.0.1-prealpha.3"; + /** + * Reference to the repository holding source code. + */ repository?: string; + /** + * Path to the customized build manifest file. + */ build?: string; + /** + * Language in which the source code is written. + */ language?: string; interface?: boolean; + /** + * Modules of Polywrap schema and implementation. + */ modules: { + /** + * Module for mutation operations. + */ mutation?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module?: string; }; + /** + * Module for query operations. + */ query?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module?: string; }; }; + /** + * Redirects enabling the import of plugins. + */ import_redirects?: { + /** + * URI resolving to the plugin schema. + */ uri: string; + /** + * Graphql schema for imported plugin. + */ schema: string; }[]; __type: "Web3ApiManifest"; diff --git a/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.4.ts b/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.4.ts index 239976560a..f80e544d00 100644 --- a/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.4.ts +++ b/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.4.ts @@ -7,22 +7,64 @@ */ export interface Web3ApiManifest { + /** + * Polywrap manifest format version. + */ format: "0.0.1-prealpha.4"; + /** + * Reference to the repository holding source code. + */ repository?: string; + /** + * Path to the customized build manifest file. + */ build?: string; + /** + * Language in which the source code is written. + */ language: string; + /** + * Modules of Polywrap schema and implementation. + */ modules: { + /** + * Module for mutation operations. + */ mutation?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module?: string; }; + /** + * Module for query operations. + */ query?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module?: string; }; }; + /** + * Redirects enabling the import of plugins. + */ import_redirects?: { + /** + * URI resolving to the plugin schema. + */ uri: string; + /** + * Graphql schema for imported plugin. + */ schema: string; }[]; __type: "Web3ApiManifest"; diff --git a/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.5.ts b/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.5.ts index ff67c503ca..179f06dbc4 100644 --- a/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.5.ts +++ b/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.5.ts @@ -7,22 +7,64 @@ */ export interface Web3ApiManifest { + /** + * Polywrap manifest format version. + */ format: "0.0.1-prealpha.5"; + /** + * Path to the customized build manifest file. + */ build?: string; + /** + * Path to wrapper metadata manifest file. + */ meta?: string; + /** + * Language in which the source code is written. + */ language: string; + /** + * Modules of Polywrap schema and implementation. + */ modules: { + /** + * Module for mutation operations. + */ mutation?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module?: string; }; + /** + * Module for query operations. + */ query?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module?: string; }; }; + /** + * Redirects enabling the import of plugins. + */ import_redirects?: { + /** + * URI resolving to the plugin schema. + */ uri: string; + /** + * Graphql schema for imported plugin. + */ schema: string; }[]; __type: "Web3ApiManifest"; diff --git a/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.6.ts b/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.6.ts index 7bc0575940..1e3723bf0c 100644 --- a/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.6.ts +++ b/packages/js/core/src/manifest/formats/web3api/0.0.1-prealpha.6.ts @@ -7,22 +7,64 @@ */ export interface Web3ApiManifest { + /** + * Polywrap manifest format version. + */ format: "0.0.1-prealpha.6"; + /** + * Path to the customized build manifest file. + */ build?: string; + /** + * Path to wrapper metadata manifest file. + */ meta?: string; + /** + * Language in which the source code is written. + */ language: string; + /** + * Modules of Polywrap schema and implementation. + */ modules: { + /** + * Module for mutation operations. + */ mutation?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module?: string; }; + /** + * Module for query operations. + */ query?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module?: string; }; }; + /** + * Redirects enabling the import of plugins. + */ import_redirects?: { + /** + * URI resolving to the plugin schema. + */ uri: string; + /** + * Graphql schema for imported plugin. + */ schema: string; }[]; __type: "Web3ApiManifest"; diff --git a/packages/js/plugins/http/yarn.lock b/packages/js/plugins/http/yarn.lock new file mode 100644 index 0000000000..ac28ac8ade --- /dev/null +++ b/packages/js/plugins/http/yarn.lock @@ -0,0 +1,4961 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.1.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" + integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.0" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + +"@babel/compat-data@^7.16.4": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" + integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== + +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5": + version "7.17.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225" + integrity sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.3" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helpers" "^7.17.2" + "@babel/parser" "^7.17.3" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + +"@babel/generator@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" + integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== + dependencies: + "@babel/types" "^7.17.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-compilation-targets@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" + integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== + dependencies: + "@babel/compat-data" "^7.16.4" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.17.5" + semver "^6.3.0" + +"@babel/helper-environment-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" + integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-function-name@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" + integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== + dependencies: + "@babel/helper-get-function-arity" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-get-function-arity@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" + integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-hoist-variables@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-imports@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" + integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-transforms@^7.16.7": + version "7.17.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz#3c3b03cc6617e33d68ef5a27a67419ac5199ccd0" + integrity sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" + integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== + +"@babel/helper-simple-access@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" + integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-split-export-declaration@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + +"@babel/helper-validator-option@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" + integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== + +"@babel/helpers@^7.17.2": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" + integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.0" + "@babel/types" "^7.17.0" + +"@babel/highlight@^7.16.7": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" + integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" + integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/template@^7.16.7", "@babel/template@^7.3.3": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.17.0", "@babel/traverse@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" + integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.3" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.17.3" + "@babel/types" "^7.17.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" + integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@dorgjelli-test/ipfs-http-client-lite@0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@dorgjelli-test/ipfs-http-client-lite/-/ipfs-http-client-lite-0.3.1.tgz#5514b4400e0c91ea64e0b5faf426ba808809ddfe" + integrity sha512-N96ilOlJnjnprOOIrwKjEA7lu67mbXyGmJO/vOBXQvY9AQw9XrPdIEn0x30bHwQ6pWSwN4RhIgJUy1/A7u/hEg== + dependencies: + abort-controller "^3.0.0" + async-iterator-to-pull-stream "^1.3.0" + buffer "^5.2.1" + cids "^0.7.1" + explain-error "^1.0.4" + form-data "^2.4.0" + iterable-ndjson "^1.1.0" + node-fetch "^2.6.0" + pull-stream-to-async-iterator "^1.0.2" + querystring "^0.2.0" + +"@dorgjelli/graphql-schema-cycles@1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@dorgjelli/graphql-schema-cycles/-/graphql-schema-cycles-1.1.4.tgz#31f230c61f624f7c2ceca7e18fad8b2cb07d392f" + integrity sha512-U5ARitMQWKjOAvwn1+0Z52R9sbNe1wpbgAbj2hOfRFb/vupfPlRwZLbuUZAlotMpkoxbTbk+GRmoiNzGcJfyHw== + dependencies: + graphql "15.5.0" + graphql-json-transform "^1.1.0-alpha.0" + +"@ethersproject/abi@^5.0.0", "@ethersproject/abi@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.5.0.tgz#fb52820e22e50b854ff15ce1647cc508d6660613" + integrity sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w== + dependencies: + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@ethersproject/abstract-provider@^5.0.0", "@ethersproject/abstract-provider@^5.0.3", "@ethersproject/abstract-provider@^5.5.0": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz#2f1f6e8a3ab7d378d8ad0b5718460f85649710c5" + integrity sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/networks" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/web" "^5.5.0" + +"@ethersproject/abstract-signer@^5.0.0", "@ethersproject/abstract-signer@^5.0.3", "@ethersproject/abstract-signer@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz#590ff6693370c60ae376bf1c7ada59eb2a8dd08d" + integrity sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA== + dependencies: + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + +"@ethersproject/address@5.0.7": + version "5.0.7" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.7.tgz#ee7fd7d3b3a400dec6035c7b3f0b7e4652207308" + integrity sha512-+63DiYG+2og6rFNvQmLlLw8i5LtyT65n+jtHd06Ic81rLHc+JUKRpeZFhBa+gqh9f+P8V0xtKR5NI/EHXOfgSw== + dependencies: + "@ethersproject/bignumber" "^5.0.10" + "@ethersproject/bytes" "^5.0.4" + "@ethersproject/keccak256" "^5.0.3" + "@ethersproject/logger" "^5.0.5" + "@ethersproject/rlp" "^5.0.3" + +"@ethersproject/address@^5.0.0", "@ethersproject/address@^5.0.3", "@ethersproject/address@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.5.0.tgz#bcc6f576a553f21f3dd7ba17248f81b473c9c78f" + integrity sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/rlp" "^5.5.0" + +"@ethersproject/base64@^5.0.0", "@ethersproject/base64@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.5.0.tgz#881e8544e47ed976930836986e5eb8fab259c090" + integrity sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA== + dependencies: + "@ethersproject/bytes" "^5.5.0" + +"@ethersproject/basex@^5.0.3", "@ethersproject/basex@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.5.0.tgz#e40a53ae6d6b09ab4d977bd037010d4bed21b4d3" + integrity sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + +"@ethersproject/bignumber@^5.0.0", "@ethersproject/bignumber@^5.0.10", "@ethersproject/bignumber@^5.0.6", "@ethersproject/bignumber@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.5.0.tgz#875b143f04a216f4f8b96245bde942d42d279527" + integrity sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + bn.js "^4.11.9" + +"@ethersproject/bytes@^5.0.0", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.5.0.tgz#cb11c526de657e7b45d2e0f0246fb3b9d29a601c" + integrity sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog== + dependencies: + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/constants@^5.0.0", "@ethersproject/constants@^5.0.3", "@ethersproject/constants@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.5.0.tgz#d2a2cd7d94bd1d58377d1d66c4f53c9be4d0a45e" + integrity sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + +"@ethersproject/contracts@^5.0.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.5.0.tgz#b735260d4bd61283a670a82d5275e2a38892c197" + integrity sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg== + dependencies: + "@ethersproject/abi" "^5.5.0" + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + +"@ethersproject/hash@^5.0.0", "@ethersproject/hash@^5.0.3", "@ethersproject/hash@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.5.0.tgz#7cee76d08f88d1873574c849e0207dcb32380cc9" + integrity sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg== + dependencies: + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@ethersproject/hdnode@^5.0.0", "@ethersproject/hdnode@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.5.0.tgz#4a04e28f41c546f7c978528ea1575206a200ddf6" + integrity sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q== + dependencies: + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/basex" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/pbkdf2" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" + "@ethersproject/signing-key" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/wordlists" "^5.5.0" + +"@ethersproject/json-wallets@^5.0.0", "@ethersproject/json-wallets@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz#dd522d4297e15bccc8e1427d247ec8376b60e325" + integrity sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ== + dependencies: + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/hdnode" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/pbkdf2" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/random" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + aes-js "3.0.0" + scrypt-js "3.0.1" + +"@ethersproject/keccak256@^5.0.0", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.5.0.tgz#e4b1f9d7701da87c564ffe336f86dcee82983492" + integrity sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg== + dependencies: + "@ethersproject/bytes" "^5.5.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@^5.0.0", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.5.0.tgz#0c2caebeff98e10aefa5aef27d7441c7fd18cf5d" + integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg== + +"@ethersproject/networks@^5.0.0", "@ethersproject/networks@^5.0.3", "@ethersproject/networks@^5.5.0": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.5.2.tgz#784c8b1283cd2a931114ab428dae1bd00c07630b" + integrity sha512-NEqPxbGBfy6O3x4ZTISb90SjEDkWYDUbEeIFhJly0F7sZjoQMnj5KYzMSkMkLKZ+1fGpx00EDpHQCy6PrDupkQ== + dependencies: + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/pbkdf2@^5.0.0", "@ethersproject/pbkdf2@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz#e25032cdf02f31505d47afbf9c3e000d95c4a050" + integrity sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" + +"@ethersproject/properties@^5.0.0", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.5.0.tgz#61f00f2bb83376d2071baab02245f92070c59995" + integrity sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA== + dependencies: + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/providers@5.0.7": + version "5.0.7" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.0.7.tgz#8dfb9eacb36d3c05c08831f71ad43fb46d2aaec6" + integrity sha512-lT+w/w2PKX9oyddX0DTBYl2CVHJTJONZP5HLJ3MzVvSA5dTOdiJ9Sx5rpqR7Tw+mxVA9xPjanoNCaPPIT7cykQ== + dependencies: + "@ethersproject/abstract-provider" "^5.0.3" + "@ethersproject/abstract-signer" "^5.0.3" + "@ethersproject/address" "^5.0.3" + "@ethersproject/basex" "^5.0.3" + "@ethersproject/bignumber" "^5.0.6" + "@ethersproject/bytes" "^5.0.4" + "@ethersproject/constants" "^5.0.3" + "@ethersproject/hash" "^5.0.3" + "@ethersproject/logger" "^5.0.5" + "@ethersproject/networks" "^5.0.3" + "@ethersproject/properties" "^5.0.3" + "@ethersproject/random" "^5.0.3" + "@ethersproject/rlp" "^5.0.3" + "@ethersproject/sha2" "^5.0.3" + "@ethersproject/strings" "^5.0.3" + "@ethersproject/transactions" "^5.0.3" + "@ethersproject/web" "^5.0.4" + bech32 "1.1.4" + ws "7.2.3" + +"@ethersproject/providers@^5.0.0": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.5.3.tgz#56c2b070542ac44eb5de2ed3cf6784acd60a3130" + integrity sha512-ZHXxXXXWHuwCQKrgdpIkbzMNJMvs+9YWemanwp1fA7XZEv7QlilseysPvQe0D7Q7DlkJX/w/bGA1MdgK2TbGvA== + dependencies: + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/basex" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/networks" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/random" "^5.5.0" + "@ethersproject/rlp" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/web" "^5.5.0" + bech32 "1.1.4" + ws "7.4.6" + +"@ethersproject/random@^5.0.0", "@ethersproject/random@^5.0.3", "@ethersproject/random@^5.5.0": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.5.1.tgz#7cdf38ea93dc0b1ed1d8e480ccdaf3535c555415" + integrity sha512-YaU2dQ7DuhL5Au7KbcQLHxcRHfgyNgvFV4sQOo0HrtW3Zkrc9ctWNz8wXQ4uCSfSDsqX2vcjhroxU5RQRV0nqA== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/rlp@^5.0.0", "@ethersproject/rlp@^5.0.3", "@ethersproject/rlp@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.5.0.tgz#530f4f608f9ca9d4f89c24ab95db58ab56ab99a0" + integrity sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/sha2@^5.0.0", "@ethersproject/sha2@^5.0.3", "@ethersproject/sha2@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.5.0.tgz#a40a054c61f98fd9eee99af2c3cc6ff57ec24db7" + integrity sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + hash.js "1.1.7" + +"@ethersproject/signing-key@^5.0.0", "@ethersproject/signing-key@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.5.0.tgz#2aa37169ce7e01e3e80f2c14325f624c29cedbe0" + integrity sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + bn.js "^4.11.9" + elliptic "6.5.4" + hash.js "1.1.7" + +"@ethersproject/solidity@^5.0.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.5.0.tgz#2662eb3e5da471b85a20531e420054278362f93f" + integrity sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@ethersproject/strings@^5.0.0", "@ethersproject/strings@^5.0.3", "@ethersproject/strings@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.5.0.tgz#e6784d00ec6c57710755699003bc747e98c5d549" + integrity sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/transactions@^5.0.0", "@ethersproject/transactions@^5.0.3", "@ethersproject/transactions@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.5.0.tgz#7e9bf72e97bcdf69db34fe0d59e2f4203c7a2908" + integrity sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA== + dependencies: + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/rlp" "^5.5.0" + "@ethersproject/signing-key" "^5.5.0" + +"@ethersproject/units@^5.0.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.5.0.tgz#104d02db5b5dc42cc672cc4587bafb87a95ee45e" + integrity sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/wallet@^5.0.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.5.0.tgz#322a10527a440ece593980dca6182f17d54eae75" + integrity sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q== + dependencies: + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/hdnode" "^5.5.0" + "@ethersproject/json-wallets" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/random" "^5.5.0" + "@ethersproject/signing-key" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/wordlists" "^5.5.0" + +"@ethersproject/web@^5.0.0", "@ethersproject/web@^5.0.4", "@ethersproject/web@^5.5.0": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.5.1.tgz#cfcc4a074a6936c657878ac58917a61341681316" + integrity sha512-olvLvc1CB12sREc1ROPSHTdFCdvMh0J5GSJYiQg2D0hdD4QmJDy8QYDb1CvoqD/bF1c++aeKv2sR5uduuG9dQg== + dependencies: + "@ethersproject/base64" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@ethersproject/wordlists@^5.0.0", "@ethersproject/wordlists@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.5.0.tgz#aac74963aa43e643638e5172353d931b347d584f" + integrity sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + +"@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" + integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" + integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" + integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== + +"@jridgewell/trace-mapping@^0.3.0": + version "0.3.4" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" + integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@msgpack/msgpack@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@msgpack/msgpack/-/msgpack-2.3.0.tgz#a9043b920837b2dd63482e7bf6b8345813e9816b" + integrity sha512-xxRejzNpiVQ2lzxMG/yo2ocfZSk+cKo2THq54AimaubMucg66DpQm9Yj7ESMr/l2EqDkmF2Dx4r0F/cbsitAaw== + +"@multiformats/base-x@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@multiformats/base-x/-/base-x-4.0.1.tgz#95ff0fa58711789d53aefb2590a8b7a4e715d121" + integrity sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw== + +"@opentelemetry/api-metrics@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api-metrics/-/api-metrics-0.20.0.tgz#5c332cadfacd1fa966318292ba8dbb542f5ead57" + integrity sha512-S/OeOuk5W8nlv2dp4JQmIzZvafpOKhEb4j9gWdWQaM0+U+Cv+yQlboeTQHFcpj5obwJ7AzTHrwnL6ApV8dtmuw== + +"@opentelemetry/api@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-0.20.0.tgz#d4e26d30dc0c5da697d1ff51434ad8f0cf30e565" + integrity sha512-n06MtDYEc2H07S/NTvGMlxF2Ijp0YbNrI/rBgLcxpEh3hxOkPZA12gxlUoZkBHWCZYau2j3b/uL+QFpiQKOjSw== + +"@opentelemetry/context-async-hooks@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-0.20.0.tgz#44c457eb2359ff3086bb8fc5d306b2efd91921d9" + integrity sha512-4cuTIPpufWRDdShtvT0c30/jHfO9eXzUh6tU087J8aO8J/hckyCIlN03eB7pfqPwQzLnWONGdHOpGjLSY7q4tg== + +"@opentelemetry/context-zone-peer-dep@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-0.20.0.tgz#d9d9da21466471609f49dd4ac6c231a21473165b" + integrity sha512-IuR21APoAwPMkEwYtRQW1bEqFZttmwflloNr8eWXlb19kH6E8oTvDkH0dTTQWfEkj7T/R93ePPlDMh98L05AfQ== + +"@opentelemetry/context-zone@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-zone/-/context-zone-0.20.0.tgz#88b59ed212f07f0286e99f4dda218d20f211fcdd" + integrity sha512-jefasByZ4qlx4QT8jeQoenemlxFMNXqP/4dQaJEQi8OyzaFFdOvRLHc3dJLMV2Icq0z7Vdir44icI+sbXnHp0A== + dependencies: + "@opentelemetry/context-zone-peer-dep" "0.20.0" + zone.js "^0.11.0" + +"@opentelemetry/core@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-0.20.0.tgz#2fc9619fa225c7ea7a6169ac578f89c9894b5900" + integrity sha512-09zQqB4vp2jcyBnglA/TFklDQoVgWrFKtr9pDm0q3Oa1bD2Hwpq+JapBAw18YdMQsLNQM/qsXhFlS3gFDVEy4A== + dependencies: + "@opentelemetry/semantic-conventions" "0.20.0" + semver "^7.1.3" + +"@opentelemetry/exporter-collector@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-collector/-/exporter-collector-0.20.0.tgz#e8fe1d3411f115d3b113115c2a78e16b3dacacd1" + integrity sha512-ka4FHPqXYZpTRx2KYTUpBB9gqzwtzuVBvxew5/0TpR8W3yP2gUErWPsUBrch2tRBQ7jY2kJN5sfkJPVt/j1X9w== + dependencies: + "@opentelemetry/api-metrics" "0.20.0" + "@opentelemetry/core" "0.20.0" + "@opentelemetry/metrics" "0.20.0" + "@opentelemetry/resources" "0.20.0" + "@opentelemetry/tracing" "0.20.0" + +"@opentelemetry/exporter-jaeger@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-jaeger/-/exporter-jaeger-0.20.0.tgz#7d7da470a68ce3bd10038444609e4efdb74dc4cf" + integrity sha512-tzxuta6Z5YWHFDavIoXYB3cr7/y6WBieQiXnXfjuh9JEagUPE3en+0Qdc4Iu65E38eFNI8G3HWABoavWfRuvRQ== + dependencies: + "@opentelemetry/core" "0.20.0" + "@opentelemetry/semantic-conventions" "0.20.0" + "@opentelemetry/tracing" "0.20.0" + jaeger-client "^3.15.0" + +"@opentelemetry/exporter-zipkin@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-zipkin/-/exporter-zipkin-0.20.0.tgz#636e9f02d4c561da2b3b58565a08ce840df9a2e4" + integrity sha512-SoCcx749YkYAwnep6KZeR1zyQeg55uxDL/ZX5zP1ZMblmVcYIO8X7aNFBIHM9IlvbArNnYHMECBu7idCJPA/WQ== + dependencies: + "@opentelemetry/core" "0.20.0" + "@opentelemetry/resources" "0.20.0" + "@opentelemetry/semantic-conventions" "0.20.0" + "@opentelemetry/tracing" "0.20.0" + +"@opentelemetry/metrics@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/metrics/-/metrics-0.20.0.tgz#9f8b2652929a830513dc6949e2471f325c1e8dbd" + integrity sha512-1jqtRvI+AdRIG+Up8njOgooOxa570uoWTKgokanllcCRp2gOOnkgLQ8YQhbArX0F4Xi2FHYe7o5vDO3J0Aj5kA== + dependencies: + "@opentelemetry/api-metrics" "0.20.0" + "@opentelemetry/core" "0.20.0" + "@opentelemetry/resources" "0.20.0" + lodash.merge "^4.6.2" + +"@opentelemetry/node@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/node/-/node-0.20.0.tgz#7d4594deb87f0c0133d4b97b78a5678a6f8554cf" + integrity sha512-MVwnH/AoHQTz1jOhJTYXoAoQD4CA/3L7QQkiiA93f6QGaWKIHjI/+3fUtA/GCfPR9Kf0sItQ/aag8KtCJClPCw== + dependencies: + "@opentelemetry/context-async-hooks" "0.20.0" + "@opentelemetry/core" "0.20.0" + "@opentelemetry/propagator-b3" "0.20.0" + "@opentelemetry/propagator-jaeger" "0.20.0" + "@opentelemetry/tracing" "0.20.0" + semver "^7.1.3" + +"@opentelemetry/propagator-b3@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-b3/-/propagator-b3-0.20.0.tgz#78944a0527675c856b4f369dbfdd48d5272a434e" + integrity sha512-TGI2D45oUVlbXVEWDedqxwO0WUtzchN/tuYghEHjRTNcVLLKT2ci9JwzHormC+ls98SYPDfvuzpB0+ParoexPQ== + dependencies: + "@opentelemetry/core" "0.20.0" + +"@opentelemetry/propagator-jaeger@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-jaeger/-/propagator-jaeger-0.20.0.tgz#35fc5e0bfde1bef6afc0307f88a4b22135bc5c14" + integrity sha512-6kdnd1ePADx4XDaFw4Ea47fdIZohhJbd30Fc4yvl0DO+RR5WEAiAho0IsoTj6L/qvOb/+LAfvjvdk2UOXgb/3Q== + dependencies: + "@opentelemetry/core" "0.20.0" + +"@opentelemetry/resources@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-0.20.0.tgz#038d985c610600cde146ee1e95b6a124f3ad4754" + integrity sha512-nnd3vIM+A9ih6kOVBc2CF5NkTYmdNci5aQ+A5lQjf3HqjEptcGubpg1J1Q84LSFVoITvuH2O6+GhPBrdxYBt8g== + dependencies: + "@opentelemetry/core" "0.20.0" + "@opentelemetry/semantic-conventions" "0.20.0" + +"@opentelemetry/semantic-conventions@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-0.20.0.tgz#adc7e391bba6db9bbaba04ae263c3e92b1703d44" + integrity sha512-x40C3vQMttFlnNEfhFwO49jHrY6AoWnntL35TCem3LINr/aw1W0hGhdKY/zweC64CBJEyiHumaae480rqF8eOA== + +"@opentelemetry/tracing@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/tracing/-/tracing-0.20.0.tgz#ff0224568925158244926661b339c0ac63a729ba" + integrity sha512-8ZIH0IBxIucgza0BFNiCCLByUsvu45Dm5k292RlO/E8Z1q/J7otJmh9r/EkaFb0ZSyjNdawmJ1CXnlU7+IQN1w== + dependencies: + "@opentelemetry/core" "0.20.0" + "@opentelemetry/resources" "0.20.0" + "@opentelemetry/semantic-conventions" "0.20.0" + lodash.merge "^4.6.2" + +"@opentelemetry/web@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/web/-/web-0.20.0.tgz#e0e090f0dcd35ebaa068c2e98f1b69d1a4aacfce" + integrity sha512-Ysja/YtlM/9hYKp8NUk63rSXQWT8N4uLWCyE/diW+iJDvUHY6DrNkSYKFYk5oRc50McYFq2Yqkmm/y1hRDCwHg== + dependencies: + "@opentelemetry/core" "0.20.0" + "@opentelemetry/semantic-conventions" "0.20.0" + "@opentelemetry/tracing" "0.20.0" + +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + version "7.1.18" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.18.tgz#1a29abcc411a9c05e2094c98f9a1b7da6cdf49f8" + integrity sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== + dependencies: + "@babel/types" "^7.3.0" + +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@26.0.8": + version "26.0.8" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.8.tgz#f5c5559cf25911ce227f7ce30f1f160f24966369" + integrity sha512-eo3VX9jGASSuv680D4VQ89UmuLZneNxv2MCZjfwlInav05zXVJTzfc//lavdV0GPwSxsXJTy2jALscB7Acqg0g== + dependencies: + jest-diff "^25.2.1" + pretty-format "^25.2.1" + +"@types/node@*": + version "17.0.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" + integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/prettier@^2.0.0": + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.4.tgz#5d9b63132df54d8909fce1c3f8ca260fdd693e17" + integrity sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA== + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^15.0.0": + version "15.0.14" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" + integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== + dependencies: + "@types/yargs-parser" "*" + +"@web3api/asyncify-js@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/asyncify-js/-/asyncify-js-0.0.1-prealpha.65.tgz#f24192b08725bbdb5e6461de7c657280c1c13127" + integrity sha512-2AwXHYq1qjYC2M95u571hdIISwWkCyhYGisxhpC/q1/LhrnfQHh28C9//IfDuM1QMFFiRcVjwo6esIARnATuqg== + +"@web3api/client-js@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/client-js/-/client-js-0.0.1-prealpha.65.tgz#33afb9007f8ec4020508b9e9977742c1ec6b305e" + integrity sha512-NfDa+ZLfasRvcN9mKmU3beae+MHg8Lcj0h/KUNul76QPMrunrMZjayWvJYq4KAcfYjNJ/7FnrrdHkv/f9V3I1w== + dependencies: + "@msgpack/msgpack" "2.3.0" + "@web3api/asyncify-js" "0.0.1-prealpha.65" + "@web3api/core-js" "0.0.1-prealpha.65" + "@web3api/ens-plugin-js" "0.0.1-prealpha.65" + "@web3api/ethereum-plugin-js" "0.0.1-prealpha.65" + "@web3api/fs-plugin-js" "0.0.1-prealpha.65" + "@web3api/graph-node-plugin-js" "0.0.1-prealpha.65" + "@web3api/http-plugin-js" "0.0.1-prealpha.65" + "@web3api/ipfs-plugin-js" "0.0.1-prealpha.65" + "@web3api/logger-plugin-js" "0.0.1-prealpha.65" + "@web3api/schema-parse" "0.0.1-prealpha.65" + "@web3api/sha3-plugin-js" "0.0.1-prealpha.65" + "@web3api/tracing-js" "0.0.1-prealpha.65" + "@web3api/uts46-plugin-js" "0.0.1-prealpha.65" + graphql "15.5.0" + js-yaml "3.14.0" + uuid "8.3.2" + +"@web3api/core-js@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/core-js/-/core-js-0.0.1-prealpha.65.tgz#30d001c70155eef71c49cd4e47f9bee1b2cac069" + integrity sha512-KM8silHuQCGGn2d32Kt4UUTULFY4BXXZPaKqKYCHZbqVLChlUHMFjLAw8pKk+XoMiUgVtyHVJMKoUcl04jNnlg== + dependencies: + "@web3api/manifest-schemas" "0.0.1-prealpha.65" + "@web3api/tracing-js" "0.0.1-prealpha.65" + graphql "15.5.0" + graphql-tag "2.10.4" + js-yaml "3.14.0" + jsonschema "1.4.0" + semver "7.3.5" + +"@web3api/ens-plugin-js@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/ens-plugin-js/-/ens-plugin-js-0.0.1-prealpha.65.tgz#bdbd90a402be34513bf0a6862b659e142069709a" + integrity sha512-3GHOD8rwPav/gBVQzSFbKhG5D0tdQSfbaxQ53iSaMsC+Lg8jw5PwgQ5EvSO84b2I/NY2mnV6wjndnMRqtCOE7A== + dependencies: + "@ethersproject/address" "5.0.7" + "@web3api/core-js" "0.0.1-prealpha.65" + ethers "5.0.7" + +"@web3api/ethereum-plugin-js@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/ethereum-plugin-js/-/ethereum-plugin-js-0.0.1-prealpha.65.tgz#f920c4b0253b0dbc6375f3a15276de6646026799" + integrity sha512-t2yUU0v+8ezeXIoHiEHAOH9etWHaYh7UFgBWITv/7j98RE2bazjW16NRbNnmXEAk+UGFAp/cQWDDa095sQNWQA== + dependencies: + "@ethersproject/address" "5.0.7" + "@ethersproject/providers" "5.0.7" + "@web3api/core-js" "0.0.1-prealpha.65" + ethers "5.0.7" + +"@web3api/fs-plugin-js@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/fs-plugin-js/-/fs-plugin-js-0.0.1-prealpha.65.tgz#3a20d9ef9ae2cde3819a8a86680a0fe666a988c2" + integrity sha512-bLPU4S/4NrpsVPRHV7N+qdLjmgV7CzBeQeM3d5UcnXpyiD3QL9nkNz50hwdeAkjmrCp3rxSD9dGnT2SH6UT5Lw== + dependencies: + "@web3api/core-js" "0.0.1-prealpha.65" + +"@web3api/graph-node-plugin-js@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/graph-node-plugin-js/-/graph-node-plugin-js-0.0.1-prealpha.65.tgz#eb366a912a8ec3aa0b0615192dd878d25e0b2f39" + integrity sha512-GCw2zMUH1QySnqh9QXKTAoRQiv/nooKbW4RoJ5Ox5p74/BjCTsV5DAQcIDi9bu+U4twYlAicKq7bDAgMmLucag== + dependencies: + "@web3api/core-js" "0.0.1-prealpha.65" + "@web3api/http-plugin-js" "0.0.1-prealpha.65" + apollo-link "1.2.14" + apollo-link-http "1.5.17" + cross-fetch "3.0.5" + graphql-tag "2.10.4" + +"@web3api/http-plugin-js@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/http-plugin-js/-/http-plugin-js-0.0.1-prealpha.65.tgz#657a44594c2c82f682c2b63f93c46611d1a3b0ce" + integrity sha512-76h21WDqUd5oAewxYJaHRxp3/dlT6bd9BpK9yeQdgaz+0Y7qyD1+v/qjn7bFk4Wd4f5OuBgmjRPplIxKP+YRaw== + dependencies: + "@web3api/core-js" "0.0.1-prealpha.65" + axios "0.21.4" + +"@web3api/ipfs-plugin-js@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/ipfs-plugin-js/-/ipfs-plugin-js-0.0.1-prealpha.65.tgz#17ec2ec886ddeaaadb046501b8d0c0b679f26e4d" + integrity sha512-M+qiibL4P4sdwTYkIzNl77wURtuzK1GZzLjMaBGBm5UumlicIK7ugDeWAEW8BTn1KVMFUwIY9eWREUK42/J1uA== + dependencies: + "@dorgjelli-test/ipfs-http-client-lite" "0.3.1" + "@web3api/core-js" "0.0.1-prealpha.65" + abort-controller "3.0.0" + cids "^1.1.4" + is-ipfs "1.0.3" + +"@web3api/logger-plugin-js@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/logger-plugin-js/-/logger-plugin-js-0.0.1-prealpha.65.tgz#7fa8a40c7ceaeec893e1f86fe3aaeba14fdbceb3" + integrity sha512-C+MNcBXoaUSK0kR7aPGbiOSoENlEyYSSnxUq6tlp2RKqGEk6cKdC8gUcs3PSRWgfedXPbXHlSsv+nV/vMJT1+w== + dependencies: + "@web3api/core-js" "0.0.1-prealpha.65" + +"@web3api/manifest-schemas@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/manifest-schemas/-/manifest-schemas-0.0.1-prealpha.65.tgz#334bd7a74d2a2371242db8e7deae4d4f3de5a9b2" + integrity sha512-tIhxMAc7p7/7AjNw8f8Sgwd8tZWD7aCXSUaKUjTuyeAOCWJNP4ckz9+Ksnriujww/RzELiR5QavQGta7jfKKRQ== + +"@web3api/schema-parse@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/schema-parse/-/schema-parse-0.0.1-prealpha.65.tgz#0fb75cdcab8f14738328871468fd117abdcbeb69" + integrity sha512-pZURg6oY6V14NH7bY/bMNieeQMEMsPH6tiPWgzrK1Rs90xQxjhXryd5eLalwZyOWNxENupIwL9U11Lix2Vx0sg== + dependencies: + "@dorgjelli/graphql-schema-cycles" "1.1.4" + graphql "15.5.0" + +"@web3api/sha3-plugin-js@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/sha3-plugin-js/-/sha3-plugin-js-0.0.1-prealpha.65.tgz#53e63991e3b56a1c36cbb1d265cbb88780a0ddcd" + integrity sha512-6X7xa4YzRA3sfZnyvlCIYoe0ctQHwY4+/XnY/2qk1lomE4RNr/B7G0Ofjs+KlcqyueKGmo+JaWCS9+LjTHXNVg== + dependencies: + "@web3api/core-js" "0.0.1-prealpha.65" + js-sha3 "0.8.0" + +"@web3api/test-env-js@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/test-env-js/-/test-env-js-0.0.1-prealpha.65.tgz#88a383a35cdd7c27022cbd5e1708aab171c7a8e3" + integrity sha512-/PtsVj8ZSqPiu6XF0wYe5ZmyBdOq7ueeLR2PEosPEFruAdnE0Hpor+bZYJXapoScZH6pHu1F59Ze+YBvikeQMA== + dependencies: + axios "0.21.2" + spawn-command "0.0.2-1" + +"@web3api/tracing-js@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/tracing-js/-/tracing-js-0.0.1-prealpha.65.tgz#3537af8cacd5f9906cb6702ebb4f5d51710e9154" + integrity sha512-CSIDLALdFtyRD1XYOmudIYGvs9FAKNcfRBkZME7Qku4aXakRhq2yMI+RDSVrOl0Cvk4FpACt/uFc7yIZcqvemw== + dependencies: + "@opentelemetry/api" "0.20.0" + "@opentelemetry/context-zone" "0.20.0" + "@opentelemetry/core" "0.20.0" + "@opentelemetry/exporter-collector" "0.20.0" + "@opentelemetry/exporter-jaeger" "0.20.0" + "@opentelemetry/exporter-zipkin" "0.20.0" + "@opentelemetry/node" "0.20.0" + "@opentelemetry/propagator-b3" "0.20.0" + "@opentelemetry/tracing" "0.20.0" + "@opentelemetry/web" "0.20.0" + browser-util-inspect "0.2.0" + +"@web3api/uts46-plugin-js@0.0.1-prealpha.65": + version "0.0.1-prealpha.65" + resolved "https://registry.yarnpkg.com/@web3api/uts46-plugin-js/-/uts46-plugin-js-0.0.1-prealpha.65.tgz#58c90f6131f31308ebcd5e55937e707328d5707e" + integrity sha512-YgX3FxIm8+K4QA3IvjKLw/brtOtGnjmBhINocEarJxQXVdWXqCy4xKXXCJQKxZRRFps+bxQDKeLdF8uS5cGUQw== + dependencies: + "@web3api/core-js" "0.0.1-prealpha.65" + idna-uts46-hx "3.4.0" + +"@wry/equality@^0.1.2": + version "0.1.11" + resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.1.11.tgz#35cb156e4a96695aa81a9ecc4d03787bc17f1790" + integrity sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA== + dependencies: + tslib "^1.9.3" + +abab@^2.0.3, abab@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +abort-controller@3.0.0, abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.2.4: + version "8.7.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" + integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== + +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +ansi-color@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/ansi-color/-/ansi-color-0.2.1.tgz#3e75c037475217544ed763a8db5709fa9ae5bf9a" + integrity sha1-PnXAN0dSF1RO12Oo21cJ+prlv5o= + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +apollo-link-http-common@^0.2.16: + version "0.2.16" + resolved "https://registry.yarnpkg.com/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz#756749dafc732792c8ca0923f9a40564b7c59ecc" + integrity sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg== + dependencies: + apollo-link "^1.2.14" + ts-invariant "^0.4.0" + tslib "^1.9.3" + +apollo-link-http@1.5.17: + version "1.5.17" + resolved "https://registry.yarnpkg.com/apollo-link-http/-/apollo-link-http-1.5.17.tgz#499e9f1711bf694497f02c51af12d82de5d8d8ba" + integrity sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg== + dependencies: + apollo-link "^1.2.14" + apollo-link-http-common "^0.2.16" + tslib "^1.9.3" + +apollo-link@1.2.14, apollo-link@^1.2.14: + version "1.2.14" + resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.14.tgz#3feda4b47f9ebba7f4160bef8b977ba725b684d9" + integrity sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg== + dependencies: + apollo-utilities "^1.3.0" + ts-invariant "^0.4.0" + tslib "^1.9.3" + zen-observable-ts "^0.8.21" + +apollo-utilities@^1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.4.tgz#6129e438e8be201b6c55b0f13ce49d2c7175c9cf" + integrity sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig== + dependencies: + "@wry/equality" "^0.1.2" + fast-json-stable-stringify "^2.0.0" + ts-invariant "^0.4.0" + tslib "^1.10.0" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +async-iterator-to-pull-stream@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/async-iterator-to-pull-stream/-/async-iterator-to-pull-stream-1.3.0.tgz#3a6b9f3cceadff972ca20eb480e3cb43f8789732" + integrity sha512-NjyhAEz/sx32olqgKIk/2xbWEM6o8qef1yetIgb0U/R3oBgndP1kE/0CslowH3jvnA94BO4I6OXpOkTKH7Z1AA== + dependencies: + get-iterator "^1.0.2" + pull-stream-to-async-iterator "^1.0.1" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +axios@0.21.2: + version "0.21.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.2.tgz#21297d5084b2aeeb422f5d38e7be4fbb82239017" + integrity sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg== + dependencies: + follow-redirects "^1.14.0" + +axios@0.21.4: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + +babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-istanbul@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base-x@^3.0.8: + version "3.0.9" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bech32@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== + +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browser-util-inspect@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browser-util-inspect/-/browser-util-inspect-0.2.0.tgz#cdda8ce1a4a07a4386035168a228c8777bff459c" + integrity sha1-zdqM4aSgekOGA1FooijId3v/RZw= + +browserslist@^4.17.5: + version "4.19.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.3.tgz#29b7caad327ecf2859485f696f9604214bedd383" + integrity sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg== + dependencies: + caniuse-lite "^1.0.30001312" + electron-to-chromium "^1.4.71" + escalade "^3.1.1" + node-releases "^2.0.2" + picocolors "^1.0.0" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@1.x, buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +bufrw@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/bufrw/-/bufrw-1.3.0.tgz#28d6cfdaf34300376836310f5c31d57eeb40c8fa" + integrity sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ== + dependencies: + ansi-color "^0.2.1" + error "^7.0.0" + hexer "^1.5.0" + xtend "^4.0.0" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001312: + version "1.0.30001312" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f" + integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +ci-info@^2.0.0: + version "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: + version "0.7.5" + resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" + integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== + dependencies: + buffer "^5.5.0" + class-is "^1.1.0" + multibase "~0.6.0" + multicodec "^1.0.0" + multihashes "~0.4.15" + +cids@^1.1.4: + version "1.1.9" + resolved "https://registry.yarnpkg.com/cids/-/cids-1.1.9.tgz#402c26db5c07059377bcd6fb82f2a24e7f2f4a4f" + integrity sha512-l11hWRfugIcbGuTZwAM5PwpjPPjyb6UZOGwlHSnOBV5o07XhQ4gNpBN67FbODvpjyHtd+0Xs6KNvUcGBiDRsdg== + dependencies: + multibase "^4.0.1" + multicodec "^3.0.1" + multihashes "^4.0.1" + uint8arrays "^3.0.0" + +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" + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + +class-is@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" + integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +combined-stream@^1.0.6, combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +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== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +cross-fetch@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.0.5.tgz#2739d2981892e7ab488a7ad03b92df2816e03f4c" + integrity sha512-FFLcLtraisj5eteosnX1gf01qYDCOc4fDy0+euOt8Kn9YBY2NtXL/pCoYPavw24NIQkQqm5ZOLsGD5Zzj0gyew== + dependencies: + node-fetch "2.6.0" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@4, debug@^4.1.0, debug@^4.1.1: + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== + dependencies: + ms "2.1.2" + +debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decimal.js@^10.2.1: + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" + integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== + +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +electron-to-chromium@^1.4.71: + version "1.4.75" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.75.tgz#d1ad9bb46f2f1bf432118c2be21d27ffeae82fdd" + integrity sha512-LxgUNeu3BVU7sXaKjUDD9xivocQLxFtq6wgERrutdY/yIOps3ODOZExK1jg8DTEg4U8TUCb5MLGeWFOYuxjF3Q== + +elliptic@6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +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== + dependencies: + once "^1.4.0" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error@7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02" + integrity sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI= + dependencies: + string-template "~0.2.1" + xtend "~4.0.0" + +error@^7.0.0: + version "7.2.1" + resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" + integrity sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA== + dependencies: + string-template "~0.2.1" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +ethers@5.0.7: + version "5.0.7" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.0.7.tgz#41c3d774e0a57bfde12b0198885789fb41a14976" + integrity sha512-1Zu9s+z4BgsDAZcGIYACJdWBB6mVtCCmUonj68Njul7STcSdgwOyj0sCAxCUr2Nsmsamckr4E12q3ecvZPGAUw== + dependencies: + "@ethersproject/abi" "^5.0.0" + "@ethersproject/abstract-provider" "^5.0.0" + "@ethersproject/abstract-signer" "^5.0.0" + "@ethersproject/address" "^5.0.0" + "@ethersproject/base64" "^5.0.0" + "@ethersproject/bignumber" "^5.0.0" + "@ethersproject/bytes" "^5.0.0" + "@ethersproject/constants" "^5.0.0" + "@ethersproject/contracts" "^5.0.0" + "@ethersproject/hash" "^5.0.0" + "@ethersproject/hdnode" "^5.0.0" + "@ethersproject/json-wallets" "^5.0.0" + "@ethersproject/keccak256" "^5.0.0" + "@ethersproject/logger" "^5.0.0" + "@ethersproject/networks" "^5.0.0" + "@ethersproject/pbkdf2" "^5.0.0" + "@ethersproject/properties" "^5.0.0" + "@ethersproject/providers" "^5.0.0" + "@ethersproject/random" "^5.0.0" + "@ethersproject/rlp" "^5.0.0" + "@ethersproject/sha2" "^5.0.0" + "@ethersproject/signing-key" "^5.0.0" + "@ethersproject/solidity" "^5.0.0" + "@ethersproject/strings" "^5.0.0" + "@ethersproject/transactions" "^5.0.0" + "@ethersproject/units" "^5.0.0" + "@ethersproject/wallet" "^5.0.0" + "@ethersproject/web" "^5.0.0" + "@ethersproject/wordlists" "^5.0.0" + +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +explain-error@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/explain-error/-/explain-error-1.0.4.tgz#a793d3ac0cad4c6ab571e9968fbbab6cb2532929" + integrity sha1-p5PTrAytTGq1cemWj7urbLJTKSk= + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +follow-redirects@^1.14.0: + version "1.14.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7" + integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +form-data@^2.4.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" + integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^2.1.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-iterator@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-iterator/-/get-iterator-1.0.2.tgz#cd747c02b4c084461fac14f48f6b45a80ed25c82" + integrity sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg== + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +graceful-fs@^4.2.4: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + +graphql-json-transform@^1.1.0-alpha.0: + version "1.1.0-alpha.0" + resolved "https://registry.yarnpkg.com/graphql-json-transform/-/graphql-json-transform-1.1.0-alpha.0.tgz#fb0c88d24840067e6c55ac64bbc8d4e5de245d2d" + integrity sha512-I6lR/lYEezSz4iru0f7a/wR8Rzi3pCafk7S0bX2b/WQOtK0vKabxLShGBXIslsi0arMehIjvOPHJl7MpOUqj0w== + +graphql-tag@2.10.4: + version "2.10.4" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.4.tgz#2f301a98219be8b178a6453bb7e33b79b66d8f83" + integrity sha512-O7vG5BT3w6Sotc26ybcvLKNTdfr4GfsIVMD+LdYqXCeJIYPRyp8BIsDOUtxw7S1PYvRw5vH3278J2EDezR6mfA== + +graphql@15.5.0: + version "15.5.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.5.0.tgz#39d19494dbe69d1ea719915b578bf920344a69d5" + integrity sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hexer@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/hexer/-/hexer-1.5.0.tgz#b86ce808598e8a9d1892c571f3cedd86fc9f0653" + integrity sha1-uGzoCFmOip0YksVx887dhvyfBlM= + dependencies: + ansi-color "^0.2.1" + minimist "^1.1.0" + process "^0.10.0" + xtend "^4.0.0" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +idna-uts46-hx@3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-3.4.0.tgz#aa380e7c04d6bce4f5e26da742c613ea2996f470" + integrity sha512-b1I4qYTcJcX1TANn8OhOGrQUIWOfZUWrLKWDeKbV6posVLjp7OTqFKX3N20efrIMzQM1KhiphOEazBEEUFR9bg== + dependencies: + punycode "^2.1.1" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ip-regex@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +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@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-ipfs/-/is-ipfs-1.0.3.tgz#4b8c4995c46beac38f0c05f8cecd77093dd6a6b3" + integrity sha512-7SAfhxp39rxMvr95qjHMtsle1xa7zXpIbhX/Q77iXKtMVnQ0Fr9AVpAUq+bl3HPXGXDpZJFP0hzWBZaMwD6vGg== + dependencies: + buffer "^5.6.0" + cids "~0.8.0" + iso-url "~0.4.7" + mafmt "^7.1.0" + multiaddr "^7.4.3" + multibase "~0.7.0" + multihashes "~0.4.19" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +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" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +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-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== + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-instrument@^5.0.4: + version "5.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" + integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.1.4" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" + integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +iterable-ndjson@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz#36f7e8a5bb04fd087d384f29e44fc4280fc014fc" + integrity sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg== + dependencies: + string_decoder "^1.2.0" + +jaeger-client@^3.15.0: + version "3.19.0" + resolved "https://registry.yarnpkg.com/jaeger-client/-/jaeger-client-3.19.0.tgz#9b5bd818ebd24e818616ee0f5cffe1722a53ae6e" + integrity sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw== + dependencies: + node-int64 "^0.4.0" + opentracing "^0.14.4" + thriftrw "^3.5.0" + uuid "^8.3.2" + xorshift "^1.1.1" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^25.2.1: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" + integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== + dependencies: + chalk "^3.0.0" + diff-sequences "^25.2.6" + jest-get-type "^25.2.6" + pretty-format "^25.5.0" + +jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +jest-get-type@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" + integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== + +jest-get-type@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.1.0, jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +jest-worker@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + +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-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@3.14.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsdom@^16.4.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5@2.x, json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +jsonschema@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" + integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.set@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" + integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= + +lodash@4.x, lodash@^4.7.0: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +long@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/long/-/long-2.4.0.tgz#9fa180bb1d9500cdc29c4156766a1995e1f4524f" + integrity sha1-n6GAux2VAM3CnEFWdmoZleH0Uk8= + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +mafmt@^7.1.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@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@1.x, make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +mime-db@1.51.0: + version "1.51.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== + +mime-types@^2.1.12: + version "2.1.34" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + dependencies: + mime-db "1.51.0" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@^3.0.4: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@1.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +multiaddr@^7.3.0, multiaddr@^7.4.3: + 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, multibase@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" + integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== + dependencies: + 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@^4.0.1: + version "4.0.6" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-4.0.6.tgz#6e624341483d6123ca1ede956208cb821b440559" + integrity sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ== + dependencies: + "@multiformats/base-x" "^4.0.1" + +multibase@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" + integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + +multicodec@^1.0.0, multicodec@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" + integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== + dependencies: + buffer "^5.6.0" + varint "^5.0.0" + +multicodec@^3.0.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-3.2.1.tgz#82de3254a0fb163a107c1aab324f2a91ef51efb2" + integrity sha512-+expTPftro8VAW8kfvcuNNNBgb9gPeNYV9dn+z1kJRWF2vih+/S79f2RVeIwmrJBUJ6NT9IUPWnZDQvegEh5pw== + dependencies: + uint8arrays "^3.0.0" + varint "^6.0.0" + +multiformats@^9.4.2: + version "9.6.4" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.6.4.tgz#5dce1f11a407dbb69aa612cb7e5076069bb759ca" + integrity sha512-fCCB6XMrr6CqJiHNjfFNGT0v//dxOBMrOMqUIzpPc/mmITweLEyhvMpY9bF+jZ9z3vaMAau5E8B68DW77QMXkg== + +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" + +multihashes@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-4.0.3.tgz#426610539cd2551edbf533adeac4c06b3b90fb05" + integrity sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA== + dependencies: + multibase "^4.0.1" + uint8arrays "^3.0.0" + varint "^5.0.2" + +multihashes@~0.4.15, multihashes@~0.4.19: + version "0.4.21" + resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" + integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== + dependencies: + buffer "^5.5.0" + multibase "^0.7.0" + varint "^5.0.0" + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +nock@13.0.7: + version "13.0.7" + resolved "https://registry.yarnpkg.com/nock/-/nock-13.0.7.tgz#9bc718c66bd0862dfa14601a9ba678a406127910" + integrity sha512-WBz73VYIjdbO6BwmXODRQLtn7B5tldA9pNpWJe5QTtTEscQlY5KXU4srnGzBOK2fWakkXj69gfTnXGzmrsaRWw== + dependencies: + debug "^4.1.0" + json-stringify-safe "^5.0.1" + lodash.set "^4.3.2" + propagate "^2.0.0" + +node-fetch@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" + integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== + +node-fetch@^2.6.0: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-notifier@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" + integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +node-releases@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" + integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +opentracing@^0.14.4: + version "0.14.7" + resolved "https://registry.yarnpkg.com/opentracing/-/opentracing-0.14.7.tgz#25d472bd0296dc0b64d7b94cbc995219031428f5" + integrity sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.3: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pirates@^4.0.1: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +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" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +pretty-format@^25.2.1, pretty-format@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" + integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== + dependencies: + "@jest/types" "^25.5.0" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" + +pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +process@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/process/-/process-0.10.1.tgz#842457cc51cfed72dc775afeeafb8c6034372725" + integrity sha1-hCRXzFHP7XLcd1r+6vuMYDQ3JyU= + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +propagate@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" + integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== + +psl@^1.1.33: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +pull-stream-to-async-iterator@^1.0.1, pull-stream-to-async-iterator@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pull-stream-to-async-iterator/-/pull-stream-to-async-iterator-1.0.2.tgz#5cc1a3a146ef6bbf01c17755647369b683b24986" + integrity sha512-c3KRs2EneuxP7b6pG9fvQTIjatf33RbIErhbQ75s5r2MI6E8R74NZC1nJgXc8kcmqiQxmr+TWY+WwK2mWaUnlA== + dependencies: + pull-stream "^3.6.9" + +pull-stream@^3.6.9: + version "3.6.14" + resolved "https://registry.yarnpkg.com/pull-stream/-/pull-stream-3.6.14.tgz#529dbd5b86131f4a5ed636fdf7f6af00781357ee" + integrity sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +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== + +querystring@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" + integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== + +react-is@^16.12.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.18.1: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rimraf@3.0.2, rimraf@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +safe-buffer@^5.0.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +scrypt-js@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +"semver@2 || 3 || 4 || 5", semver@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.3.5, semver@7.x, semver@^7.1.3, semver@^7.3.2: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.17, source-map-support@^0.5.6: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spawn-command@0.0.2-1: + version "0.0.2-1" + resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" + integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +stack-utils@^2.0.2: + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-template@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" + integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.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.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +thriftrw@^3.5.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/thriftrw/-/thriftrw-3.12.0.tgz#30857847755e7f036b2e0a79d11c9f55075539d9" + integrity sha512-4YZvR4DPEI41n4Opwr4jmrLGG4hndxr7387kzRFIIzxHQjarPusH4lGXrugvgb7TtPrfZVTpZCVe44/xUxowEw== + dependencies: + bufrw "^1.3.0" + error "7.0.2" + long "^2.4.0" + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.1.2" + +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + +ts-invariant@^0.4.0: + version "0.4.4" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86" + integrity sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA== + dependencies: + tslib "^1.9.3" + +ts-jest@26.5.4: + version "26.5.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.4.tgz#207f4c114812a9c6d5746dd4d1cdf899eafc9686" + integrity sha512-I5Qsddo+VTm94SukBJ4cPimOoFZsYTeElR2xy6H2TOVs+NsvgYglW8KuQgKoApOKuaU/Ix/vrF9ebFZlb5D2Pg== + dependencies: + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + jest-util "^26.1.0" + json5 "2.x" + lodash "4.x" + make-error "1.x" + mkdirp "1.x" + semver "7.x" + yargs-parser "20.x" + +ts-node@8.10.2: + version "8.10.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d" + integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA== + dependencies: + arg "^4.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +tslib@^1.10.0, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.7.tgz#7168032c43d2a2671c95c07812f69523c79590af" + integrity sha512-yi7M4y74SWvYbnazbn8/bmJmX4Zlej39ZOqwG/8dut/MYoSQ119GY9ZFbbGsD4PFZYWxqik/XsP3vk3+W5H3og== + +uint8arrays@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.0.0.tgz#260869efb8422418b6f04e3fac73a3908175c63b" + integrity sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA== + dependencies: + multiformats "^9.4.2" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +uuid@8.3.2, uuid@^8.3.0, uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-to-istanbul@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" + integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +varint@^5.0.0, varint@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" + integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== + +varint@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" + integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@7.2.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46" + integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ== + +ws@7.4.6: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== + +ws@^7.4.6: + version "7.5.7" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" + integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xorshift@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/xorshift/-/xorshift-1.2.0.tgz#30a4cdd8e9f8d09d959ed2a88c42a09c660e8148" + integrity sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g== + +xtend@^4.0.0, xtend@~4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@20.x: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^15.4.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +zen-observable-ts@^0.8.21: + version "0.8.21" + resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz#85d0031fbbde1eba3cd07d3ba90da241215f421d" + integrity sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg== + dependencies: + tslib "^1.9.3" + zen-observable "^0.8.0" + +zen-observable@^0.8.0: + version "0.8.15" + resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" + integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== + +zone.js@^0.11.0: + version "0.11.4" + resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.4.tgz#0f70dcf6aba80f698af5735cbb257969396e8025" + integrity sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw== + dependencies: + tslib "^2.0.0" diff --git a/packages/manifest-schemas/formats/web3api.meta/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/web3api.meta/0.0.1-prealpha.1.json index 92a5ed1f9c..d7c9e96b90 100644 --- a/packages/manifest-schemas/formats/web3api.meta/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/web3api.meta/0.0.1-prealpha.1.json @@ -8,7 +8,7 @@ ], "properties": { "format": { - "description": "Polywrap wrapper metadata YAML format version.", + "description": "Polywrap wrapper metadata manifest format version.", "type": "string", "const": "0.0.1-prealpha.1" }, diff --git a/packages/manifest-schemas/formats/web3api.plugin/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/web3api.plugin/0.0.1-prealpha.1.json index d9f58d9c14..a6a0d093bc 100644 --- a/packages/manifest-schemas/formats/web3api.plugin/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/web3api.plugin/0.0.1-prealpha.1.json @@ -9,7 +9,7 @@ ], "properties": { "format": { - "description": "Polywrap plugin YAML format version.", + "description": "Polywrap plugin manifest format version.", "type": "string", "const": "0.0.1-prealpha.1" }, @@ -24,18 +24,18 @@ "format": "file" }, "import_redirects": { - "description": "Redirects enabling the import of plugins.", + "description": "Redirects source URI to local wrapper or plugin.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the imported plugin schema.", + "description": "Source URI that needs to be redirected.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin.", + "description": "Path to GraphQL schema of the module to which URI will be redirected.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json index ef5a358c73..243d278f3d 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.1.json @@ -7,7 +7,7 @@ ], "properties": { "format": { - "description": "Polywrap YAML format version.", + "description": "Polywrap manifest format version.", "type": "string", "const": "0.0.1-prealpha.1" }, @@ -45,7 +45,7 @@ "additionalProperties": false, "properties": { "language": { - "description" : "Language that will be compiled to wasm.", + "description" : "Language in which the source code is written.", "type": "string" }, "file": { @@ -91,7 +91,7 @@ "additionalProperties": false, "properties": { "language": { - "description" : "Language that will be compiled to wasm.", + "description" : "Language in which the source code is written.", "type": "string" }, "file": { diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json index 03161009ab..3429adb370 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.2.json @@ -9,7 +9,7 @@ ], "properties": { "format": { - "description": "Polywrap YAML format version", + "description": "Polywrap manifest format version", "type": "string", "const": "0.0.1-prealpha.2" }, @@ -23,7 +23,7 @@ "format": "file" }, "language": { - "description" : "Language that will be compiled to wasm.", + "description" : "Language in which the source code is written.", "type": "string", "format": "wasmLanguage" }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json index fa4abc4bfe..c696bdd171 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.3.json @@ -8,7 +8,7 @@ ], "properties": { "format": { - "description": "Polywrap YAML format version.", + "description": "Polywrap manifest format version.", "type": "string", "const": "0.0.1-prealpha.3" }, @@ -22,7 +22,7 @@ "format": "file" }, "language": { - "description" : "Language that will be compiled to wasm.", + "description" : "Language in which the source code is written.", "type": "string", "format": "wasmLanguage" }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json index fdbf1b3926..ff8424e51f 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.4.json @@ -9,7 +9,7 @@ ], "properties": { "format": { - "description": "Polywrap YAML format version.", + "description": "Polywrap manifest format version.", "type": "string", "const": "0.0.1-prealpha.4" }, @@ -23,7 +23,7 @@ "format": "file" }, "language": { - "description" : "Language that will be compiled to wasm.", + "description" : "Language in which the source code is written.", "type": "string", "format": "wasmLanguage" }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json index ef76fdc8aa..c421d6581c 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.5.json @@ -9,7 +9,7 @@ ], "properties": { "format": { - "description": "Polywrap YAML format version.", + "description": "Polywrap manifest format version.", "type": "string", "const": "0.0.1-prealpha.5" }, @@ -19,12 +19,12 @@ "format": "yamlFile" }, "meta": { - "description" : "Path to wrapper metadata YAML file.", + "description" : "Path to wrapper metadata manifest file.", "type": "string", "format": "yamlFile" }, "language": { - "description" : "Language that will be compiled to wasm.", + "description" : "Language in which the source code is written.", "type": "string", "format": "wasmLanguage" }, diff --git a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json index 307365cb30..05048cc6f3 100644 --- a/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json +++ b/packages/manifest-schemas/formats/web3api/0.0.1-prealpha.6.json @@ -9,7 +9,7 @@ ], "properties": { "format": { - "description": "Polywrap YAML format version.", + "description": "Polywrap manifest format version.", "type": "string", "const": "0.0.1-prealpha.6" }, @@ -24,7 +24,7 @@ "format": "manifestFile" }, "language": { - "description" : "Language that will be compiled to wasm.", + "description" : "Language in which the source code is written.", "type": "string", "format": "wasmLanguage" }, From 4fa9b200b099132b8b8dfc7ebb5ac6c4f75ba73e Mon Sep 17 00:00:00 2001 From: Sarath Date: Mon, 21 Mar 2022 11:00:56 +0530 Subject: [PATCH 10/29] Removing unnecessary yarn.lock --- packages/js/plugins/http/yarn.lock | 4961 ---------------------------- 1 file changed, 4961 deletions(-) delete mode 100644 packages/js/plugins/http/yarn.lock diff --git a/packages/js/plugins/http/yarn.lock b/packages/js/plugins/http/yarn.lock deleted file mode 100644 index ac28ac8ade..0000000000 --- a/packages/js/plugins/http/yarn.lock +++ /dev/null @@ -1,4961 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.1.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" - integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.0" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/compat-data@^7.16.4": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" - integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== - -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5": - version "7.17.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225" - integrity sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.3" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.17.2" - "@babel/parser" "^7.17.3" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - -"@babel/generator@^7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" - integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== - dependencies: - "@babel/types" "^7.17.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-compilation-targets@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" - integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" - integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== - dependencies: - "@babel/helper-get-function-arity" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-get-function-arity@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" - integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-transforms@^7.16.7": - version "7.17.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz#3c3b03cc6617e33d68ef5a27a67419ac5199ccd0" - integrity sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" - integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== - -"@babel/helper-simple-access@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" - integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== - -"@babel/helpers@^7.17.2": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" - integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.0" - "@babel/types" "^7.17.0" - -"@babel/highlight@^7.16.7": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" - integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" - integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/template@^7.16.7", "@babel/template@^7.3.3": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.17.0", "@babel/traverse@^7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" - integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.3" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.3" - "@babel/types" "^7.17.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" - integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@dorgjelli-test/ipfs-http-client-lite@0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@dorgjelli-test/ipfs-http-client-lite/-/ipfs-http-client-lite-0.3.1.tgz#5514b4400e0c91ea64e0b5faf426ba808809ddfe" - integrity sha512-N96ilOlJnjnprOOIrwKjEA7lu67mbXyGmJO/vOBXQvY9AQw9XrPdIEn0x30bHwQ6pWSwN4RhIgJUy1/A7u/hEg== - dependencies: - abort-controller "^3.0.0" - async-iterator-to-pull-stream "^1.3.0" - buffer "^5.2.1" - cids "^0.7.1" - explain-error "^1.0.4" - form-data "^2.4.0" - iterable-ndjson "^1.1.0" - node-fetch "^2.6.0" - pull-stream-to-async-iterator "^1.0.2" - querystring "^0.2.0" - -"@dorgjelli/graphql-schema-cycles@1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@dorgjelli/graphql-schema-cycles/-/graphql-schema-cycles-1.1.4.tgz#31f230c61f624f7c2ceca7e18fad8b2cb07d392f" - integrity sha512-U5ARitMQWKjOAvwn1+0Z52R9sbNe1wpbgAbj2hOfRFb/vupfPlRwZLbuUZAlotMpkoxbTbk+GRmoiNzGcJfyHw== - dependencies: - graphql "15.5.0" - graphql-json-transform "^1.1.0-alpha.0" - -"@ethersproject/abi@^5.0.0", "@ethersproject/abi@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.5.0.tgz#fb52820e22e50b854ff15ce1647cc508d6660613" - integrity sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w== - dependencies: - "@ethersproject/address" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/constants" "^5.5.0" - "@ethersproject/hash" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - -"@ethersproject/abstract-provider@^5.0.0", "@ethersproject/abstract-provider@^5.0.3", "@ethersproject/abstract-provider@^5.5.0": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz#2f1f6e8a3ab7d378d8ad0b5718460f85649710c5" - integrity sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg== - dependencies: - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/networks" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/transactions" "^5.5.0" - "@ethersproject/web" "^5.5.0" - -"@ethersproject/abstract-signer@^5.0.0", "@ethersproject/abstract-signer@^5.0.3", "@ethersproject/abstract-signer@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz#590ff6693370c60ae376bf1c7ada59eb2a8dd08d" - integrity sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA== - dependencies: - "@ethersproject/abstract-provider" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - -"@ethersproject/address@5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.7.tgz#ee7fd7d3b3a400dec6035c7b3f0b7e4652207308" - integrity sha512-+63DiYG+2og6rFNvQmLlLw8i5LtyT65n+jtHd06Ic81rLHc+JUKRpeZFhBa+gqh9f+P8V0xtKR5NI/EHXOfgSw== - dependencies: - "@ethersproject/bignumber" "^5.0.10" - "@ethersproject/bytes" "^5.0.4" - "@ethersproject/keccak256" "^5.0.3" - "@ethersproject/logger" "^5.0.5" - "@ethersproject/rlp" "^5.0.3" - -"@ethersproject/address@^5.0.0", "@ethersproject/address@^5.0.3", "@ethersproject/address@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.5.0.tgz#bcc6f576a553f21f3dd7ba17248f81b473c9c78f" - integrity sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw== - dependencies: - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/rlp" "^5.5.0" - -"@ethersproject/base64@^5.0.0", "@ethersproject/base64@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.5.0.tgz#881e8544e47ed976930836986e5eb8fab259c090" - integrity sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA== - dependencies: - "@ethersproject/bytes" "^5.5.0" - -"@ethersproject/basex@^5.0.3", "@ethersproject/basex@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.5.0.tgz#e40a53ae6d6b09ab4d977bd037010d4bed21b4d3" - integrity sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - -"@ethersproject/bignumber@^5.0.0", "@ethersproject/bignumber@^5.0.10", "@ethersproject/bignumber@^5.0.6", "@ethersproject/bignumber@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.5.0.tgz#875b143f04a216f4f8b96245bde942d42d279527" - integrity sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - bn.js "^4.11.9" - -"@ethersproject/bytes@^5.0.0", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.5.0.tgz#cb11c526de657e7b45d2e0f0246fb3b9d29a601c" - integrity sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog== - dependencies: - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/constants@^5.0.0", "@ethersproject/constants@^5.0.3", "@ethersproject/constants@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.5.0.tgz#d2a2cd7d94bd1d58377d1d66c4f53c9be4d0a45e" - integrity sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ== - dependencies: - "@ethersproject/bignumber" "^5.5.0" - -"@ethersproject/contracts@^5.0.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.5.0.tgz#b735260d4bd61283a670a82d5275e2a38892c197" - integrity sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg== - dependencies: - "@ethersproject/abi" "^5.5.0" - "@ethersproject/abstract-provider" "^5.5.0" - "@ethersproject/abstract-signer" "^5.5.0" - "@ethersproject/address" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/constants" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/transactions" "^5.5.0" - -"@ethersproject/hash@^5.0.0", "@ethersproject/hash@^5.0.3", "@ethersproject/hash@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.5.0.tgz#7cee76d08f88d1873574c849e0207dcb32380cc9" - integrity sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg== - dependencies: - "@ethersproject/abstract-signer" "^5.5.0" - "@ethersproject/address" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - -"@ethersproject/hdnode@^5.0.0", "@ethersproject/hdnode@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.5.0.tgz#4a04e28f41c546f7c978528ea1575206a200ddf6" - integrity sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q== - dependencies: - "@ethersproject/abstract-signer" "^5.5.0" - "@ethersproject/basex" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/pbkdf2" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/sha2" "^5.5.0" - "@ethersproject/signing-key" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - "@ethersproject/transactions" "^5.5.0" - "@ethersproject/wordlists" "^5.5.0" - -"@ethersproject/json-wallets@^5.0.0", "@ethersproject/json-wallets@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz#dd522d4297e15bccc8e1427d247ec8376b60e325" - integrity sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ== - dependencies: - "@ethersproject/abstract-signer" "^5.5.0" - "@ethersproject/address" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/hdnode" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/pbkdf2" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/random" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - "@ethersproject/transactions" "^5.5.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@^5.0.0", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.5.0.tgz#e4b1f9d7701da87c564ffe336f86dcee82983492" - integrity sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg== - dependencies: - "@ethersproject/bytes" "^5.5.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@^5.0.0", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.5.0.tgz#0c2caebeff98e10aefa5aef27d7441c7fd18cf5d" - integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg== - -"@ethersproject/networks@^5.0.0", "@ethersproject/networks@^5.0.3", "@ethersproject/networks@^5.5.0": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.5.2.tgz#784c8b1283cd2a931114ab428dae1bd00c07630b" - integrity sha512-NEqPxbGBfy6O3x4ZTISb90SjEDkWYDUbEeIFhJly0F7sZjoQMnj5KYzMSkMkLKZ+1fGpx00EDpHQCy6PrDupkQ== - dependencies: - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/pbkdf2@^5.0.0", "@ethersproject/pbkdf2@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz#e25032cdf02f31505d47afbf9c3e000d95c4a050" - integrity sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/sha2" "^5.5.0" - -"@ethersproject/properties@^5.0.0", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.5.0.tgz#61f00f2bb83376d2071baab02245f92070c59995" - integrity sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA== - dependencies: - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/providers@5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.0.7.tgz#8dfb9eacb36d3c05c08831f71ad43fb46d2aaec6" - integrity sha512-lT+w/w2PKX9oyddX0DTBYl2CVHJTJONZP5HLJ3MzVvSA5dTOdiJ9Sx5rpqR7Tw+mxVA9xPjanoNCaPPIT7cykQ== - dependencies: - "@ethersproject/abstract-provider" "^5.0.3" - "@ethersproject/abstract-signer" "^5.0.3" - "@ethersproject/address" "^5.0.3" - "@ethersproject/basex" "^5.0.3" - "@ethersproject/bignumber" "^5.0.6" - "@ethersproject/bytes" "^5.0.4" - "@ethersproject/constants" "^5.0.3" - "@ethersproject/hash" "^5.0.3" - "@ethersproject/logger" "^5.0.5" - "@ethersproject/networks" "^5.0.3" - "@ethersproject/properties" "^5.0.3" - "@ethersproject/random" "^5.0.3" - "@ethersproject/rlp" "^5.0.3" - "@ethersproject/sha2" "^5.0.3" - "@ethersproject/strings" "^5.0.3" - "@ethersproject/transactions" "^5.0.3" - "@ethersproject/web" "^5.0.4" - bech32 "1.1.4" - ws "7.2.3" - -"@ethersproject/providers@^5.0.0": - version "5.5.3" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.5.3.tgz#56c2b070542ac44eb5de2ed3cf6784acd60a3130" - integrity sha512-ZHXxXXXWHuwCQKrgdpIkbzMNJMvs+9YWemanwp1fA7XZEv7QlilseysPvQe0D7Q7DlkJX/w/bGA1MdgK2TbGvA== - dependencies: - "@ethersproject/abstract-provider" "^5.5.0" - "@ethersproject/abstract-signer" "^5.5.0" - "@ethersproject/address" "^5.5.0" - "@ethersproject/basex" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/constants" "^5.5.0" - "@ethersproject/hash" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/networks" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/random" "^5.5.0" - "@ethersproject/rlp" "^5.5.0" - "@ethersproject/sha2" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - "@ethersproject/transactions" "^5.5.0" - "@ethersproject/web" "^5.5.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@^5.0.0", "@ethersproject/random@^5.0.3", "@ethersproject/random@^5.5.0": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.5.1.tgz#7cdf38ea93dc0b1ed1d8e480ccdaf3535c555415" - integrity sha512-YaU2dQ7DuhL5Au7KbcQLHxcRHfgyNgvFV4sQOo0HrtW3Zkrc9ctWNz8wXQ4uCSfSDsqX2vcjhroxU5RQRV0nqA== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/rlp@^5.0.0", "@ethersproject/rlp@^5.0.3", "@ethersproject/rlp@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.5.0.tgz#530f4f608f9ca9d4f89c24ab95db58ab56ab99a0" - integrity sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/sha2@^5.0.0", "@ethersproject/sha2@^5.0.3", "@ethersproject/sha2@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.5.0.tgz#a40a054c61f98fd9eee99af2c3cc6ff57ec24db7" - integrity sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - hash.js "1.1.7" - -"@ethersproject/signing-key@^5.0.0", "@ethersproject/signing-key@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.5.0.tgz#2aa37169ce7e01e3e80f2c14325f624c29cedbe0" - integrity sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - bn.js "^4.11.9" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/solidity@^5.0.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.5.0.tgz#2662eb3e5da471b85a20531e420054278362f93f" - integrity sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw== - dependencies: - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/sha2" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - -"@ethersproject/strings@^5.0.0", "@ethersproject/strings@^5.0.3", "@ethersproject/strings@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.5.0.tgz#e6784d00ec6c57710755699003bc747e98c5d549" - integrity sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/constants" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/transactions@^5.0.0", "@ethersproject/transactions@^5.0.3", "@ethersproject/transactions@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.5.0.tgz#7e9bf72e97bcdf69db34fe0d59e2f4203c7a2908" - integrity sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA== - dependencies: - "@ethersproject/address" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/constants" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/rlp" "^5.5.0" - "@ethersproject/signing-key" "^5.5.0" - -"@ethersproject/units@^5.0.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.5.0.tgz#104d02db5b5dc42cc672cc4587bafb87a95ee45e" - integrity sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag== - dependencies: - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/constants" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/wallet@^5.0.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.5.0.tgz#322a10527a440ece593980dca6182f17d54eae75" - integrity sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q== - dependencies: - "@ethersproject/abstract-provider" "^5.5.0" - "@ethersproject/abstract-signer" "^5.5.0" - "@ethersproject/address" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/hash" "^5.5.0" - "@ethersproject/hdnode" "^5.5.0" - "@ethersproject/json-wallets" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/random" "^5.5.0" - "@ethersproject/signing-key" "^5.5.0" - "@ethersproject/transactions" "^5.5.0" - "@ethersproject/wordlists" "^5.5.0" - -"@ethersproject/web@^5.0.0", "@ethersproject/web@^5.0.4", "@ethersproject/web@^5.5.0": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.5.1.tgz#cfcc4a074a6936c657878ac58917a61341681316" - integrity sha512-olvLvc1CB12sREc1ROPSHTdFCdvMh0J5GSJYiQg2D0hdD4QmJDy8QYDb1CvoqD/bF1c++aeKv2sR5uduuG9dQg== - dependencies: - "@ethersproject/base64" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - -"@ethersproject/wordlists@^5.0.0", "@ethersproject/wordlists@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.5.0.tgz#aac74963aa43e643638e5172353d931b347d584f" - integrity sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/hash" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" - slash "^3.0.0" - -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== - dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== - dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" - -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== - dependencies: - "@jest/test-result" "^26.6.2" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" - integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" - integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.11" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" - integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== - -"@jridgewell/trace-mapping@^0.3.0": - version "0.3.4" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" - integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@msgpack/msgpack@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@msgpack/msgpack/-/msgpack-2.3.0.tgz#a9043b920837b2dd63482e7bf6b8345813e9816b" - integrity sha512-xxRejzNpiVQ2lzxMG/yo2ocfZSk+cKo2THq54AimaubMucg66DpQm9Yj7ESMr/l2EqDkmF2Dx4r0F/cbsitAaw== - -"@multiformats/base-x@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@multiformats/base-x/-/base-x-4.0.1.tgz#95ff0fa58711789d53aefb2590a8b7a4e715d121" - integrity sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw== - -"@opentelemetry/api-metrics@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api-metrics/-/api-metrics-0.20.0.tgz#5c332cadfacd1fa966318292ba8dbb542f5ead57" - integrity sha512-S/OeOuk5W8nlv2dp4JQmIzZvafpOKhEb4j9gWdWQaM0+U+Cv+yQlboeTQHFcpj5obwJ7AzTHrwnL6ApV8dtmuw== - -"@opentelemetry/api@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-0.20.0.tgz#d4e26d30dc0c5da697d1ff51434ad8f0cf30e565" - integrity sha512-n06MtDYEc2H07S/NTvGMlxF2Ijp0YbNrI/rBgLcxpEh3hxOkPZA12gxlUoZkBHWCZYau2j3b/uL+QFpiQKOjSw== - -"@opentelemetry/context-async-hooks@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-0.20.0.tgz#44c457eb2359ff3086bb8fc5d306b2efd91921d9" - integrity sha512-4cuTIPpufWRDdShtvT0c30/jHfO9eXzUh6tU087J8aO8J/hckyCIlN03eB7pfqPwQzLnWONGdHOpGjLSY7q4tg== - -"@opentelemetry/context-zone-peer-dep@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-0.20.0.tgz#d9d9da21466471609f49dd4ac6c231a21473165b" - integrity sha512-IuR21APoAwPMkEwYtRQW1bEqFZttmwflloNr8eWXlb19kH6E8oTvDkH0dTTQWfEkj7T/R93ePPlDMh98L05AfQ== - -"@opentelemetry/context-zone@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/context-zone/-/context-zone-0.20.0.tgz#88b59ed212f07f0286e99f4dda218d20f211fcdd" - integrity sha512-jefasByZ4qlx4QT8jeQoenemlxFMNXqP/4dQaJEQi8OyzaFFdOvRLHc3dJLMV2Icq0z7Vdir44icI+sbXnHp0A== - dependencies: - "@opentelemetry/context-zone-peer-dep" "0.20.0" - zone.js "^0.11.0" - -"@opentelemetry/core@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-0.20.0.tgz#2fc9619fa225c7ea7a6169ac578f89c9894b5900" - integrity sha512-09zQqB4vp2jcyBnglA/TFklDQoVgWrFKtr9pDm0q3Oa1bD2Hwpq+JapBAw18YdMQsLNQM/qsXhFlS3gFDVEy4A== - dependencies: - "@opentelemetry/semantic-conventions" "0.20.0" - semver "^7.1.3" - -"@opentelemetry/exporter-collector@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-collector/-/exporter-collector-0.20.0.tgz#e8fe1d3411f115d3b113115c2a78e16b3dacacd1" - integrity sha512-ka4FHPqXYZpTRx2KYTUpBB9gqzwtzuVBvxew5/0TpR8W3yP2gUErWPsUBrch2tRBQ7jY2kJN5sfkJPVt/j1X9w== - dependencies: - "@opentelemetry/api-metrics" "0.20.0" - "@opentelemetry/core" "0.20.0" - "@opentelemetry/metrics" "0.20.0" - "@opentelemetry/resources" "0.20.0" - "@opentelemetry/tracing" "0.20.0" - -"@opentelemetry/exporter-jaeger@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-jaeger/-/exporter-jaeger-0.20.0.tgz#7d7da470a68ce3bd10038444609e4efdb74dc4cf" - integrity sha512-tzxuta6Z5YWHFDavIoXYB3cr7/y6WBieQiXnXfjuh9JEagUPE3en+0Qdc4Iu65E38eFNI8G3HWABoavWfRuvRQ== - dependencies: - "@opentelemetry/core" "0.20.0" - "@opentelemetry/semantic-conventions" "0.20.0" - "@opentelemetry/tracing" "0.20.0" - jaeger-client "^3.15.0" - -"@opentelemetry/exporter-zipkin@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-zipkin/-/exporter-zipkin-0.20.0.tgz#636e9f02d4c561da2b3b58565a08ce840df9a2e4" - integrity sha512-SoCcx749YkYAwnep6KZeR1zyQeg55uxDL/ZX5zP1ZMblmVcYIO8X7aNFBIHM9IlvbArNnYHMECBu7idCJPA/WQ== - dependencies: - "@opentelemetry/core" "0.20.0" - "@opentelemetry/resources" "0.20.0" - "@opentelemetry/semantic-conventions" "0.20.0" - "@opentelemetry/tracing" "0.20.0" - -"@opentelemetry/metrics@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/metrics/-/metrics-0.20.0.tgz#9f8b2652929a830513dc6949e2471f325c1e8dbd" - integrity sha512-1jqtRvI+AdRIG+Up8njOgooOxa570uoWTKgokanllcCRp2gOOnkgLQ8YQhbArX0F4Xi2FHYe7o5vDO3J0Aj5kA== - dependencies: - "@opentelemetry/api-metrics" "0.20.0" - "@opentelemetry/core" "0.20.0" - "@opentelemetry/resources" "0.20.0" - lodash.merge "^4.6.2" - -"@opentelemetry/node@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/node/-/node-0.20.0.tgz#7d4594deb87f0c0133d4b97b78a5678a6f8554cf" - integrity sha512-MVwnH/AoHQTz1jOhJTYXoAoQD4CA/3L7QQkiiA93f6QGaWKIHjI/+3fUtA/GCfPR9Kf0sItQ/aag8KtCJClPCw== - dependencies: - "@opentelemetry/context-async-hooks" "0.20.0" - "@opentelemetry/core" "0.20.0" - "@opentelemetry/propagator-b3" "0.20.0" - "@opentelemetry/propagator-jaeger" "0.20.0" - "@opentelemetry/tracing" "0.20.0" - semver "^7.1.3" - -"@opentelemetry/propagator-b3@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-b3/-/propagator-b3-0.20.0.tgz#78944a0527675c856b4f369dbfdd48d5272a434e" - integrity sha512-TGI2D45oUVlbXVEWDedqxwO0WUtzchN/tuYghEHjRTNcVLLKT2ci9JwzHormC+ls98SYPDfvuzpB0+ParoexPQ== - dependencies: - "@opentelemetry/core" "0.20.0" - -"@opentelemetry/propagator-jaeger@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-jaeger/-/propagator-jaeger-0.20.0.tgz#35fc5e0bfde1bef6afc0307f88a4b22135bc5c14" - integrity sha512-6kdnd1ePADx4XDaFw4Ea47fdIZohhJbd30Fc4yvl0DO+RR5WEAiAho0IsoTj6L/qvOb/+LAfvjvdk2UOXgb/3Q== - dependencies: - "@opentelemetry/core" "0.20.0" - -"@opentelemetry/resources@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-0.20.0.tgz#038d985c610600cde146ee1e95b6a124f3ad4754" - integrity sha512-nnd3vIM+A9ih6kOVBc2CF5NkTYmdNci5aQ+A5lQjf3HqjEptcGubpg1J1Q84LSFVoITvuH2O6+GhPBrdxYBt8g== - dependencies: - "@opentelemetry/core" "0.20.0" - "@opentelemetry/semantic-conventions" "0.20.0" - -"@opentelemetry/semantic-conventions@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-0.20.0.tgz#adc7e391bba6db9bbaba04ae263c3e92b1703d44" - integrity sha512-x40C3vQMttFlnNEfhFwO49jHrY6AoWnntL35TCem3LINr/aw1W0hGhdKY/zweC64CBJEyiHumaae480rqF8eOA== - -"@opentelemetry/tracing@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/tracing/-/tracing-0.20.0.tgz#ff0224568925158244926661b339c0ac63a729ba" - integrity sha512-8ZIH0IBxIucgza0BFNiCCLByUsvu45Dm5k292RlO/E8Z1q/J7otJmh9r/EkaFb0ZSyjNdawmJ1CXnlU7+IQN1w== - dependencies: - "@opentelemetry/core" "0.20.0" - "@opentelemetry/resources" "0.20.0" - "@opentelemetry/semantic-conventions" "0.20.0" - lodash.merge "^4.6.2" - -"@opentelemetry/web@0.20.0": - version "0.20.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/web/-/web-0.20.0.tgz#e0e090f0dcd35ebaa068c2e98f1b69d1a4aacfce" - integrity sha512-Ysja/YtlM/9hYKp8NUk63rSXQWT8N4uLWCyE/diW+iJDvUHY6DrNkSYKFYk5oRc50McYFq2Yqkmm/y1hRDCwHg== - dependencies: - "@opentelemetry/core" "0.20.0" - "@opentelemetry/semantic-conventions" "0.20.0" - "@opentelemetry/tracing" "0.20.0" - -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.18" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.18.tgz#1a29abcc411a9c05e2094c98f9a1b7da6cdf49f8" - integrity sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" - integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== - dependencies: - "@babel/types" "^7.3.0" - -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^1.1.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" - integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@26.0.8": - version "26.0.8" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.8.tgz#f5c5559cf25911ce227f7ce30f1f160f24966369" - integrity sha512-eo3VX9jGASSuv680D4VQ89UmuLZneNxv2MCZjfwlInav05zXVJTzfc//lavdV0GPwSxsXJTy2jALscB7Acqg0g== - dependencies: - jest-diff "^25.2.1" - pretty-format "^25.2.1" - -"@types/node@*": - version "17.0.21" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" - integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== - -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/prettier@^2.0.0": - version "2.4.4" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.4.tgz#5d9b63132df54d8909fce1c3f8ca260fdd693e17" - integrity sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA== - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== - -"@types/yargs@^15.0.0": - version "15.0.14" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" - integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== - dependencies: - "@types/yargs-parser" "*" - -"@web3api/asyncify-js@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/asyncify-js/-/asyncify-js-0.0.1-prealpha.65.tgz#f24192b08725bbdb5e6461de7c657280c1c13127" - integrity sha512-2AwXHYq1qjYC2M95u571hdIISwWkCyhYGisxhpC/q1/LhrnfQHh28C9//IfDuM1QMFFiRcVjwo6esIARnATuqg== - -"@web3api/client-js@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/client-js/-/client-js-0.0.1-prealpha.65.tgz#33afb9007f8ec4020508b9e9977742c1ec6b305e" - integrity sha512-NfDa+ZLfasRvcN9mKmU3beae+MHg8Lcj0h/KUNul76QPMrunrMZjayWvJYq4KAcfYjNJ/7FnrrdHkv/f9V3I1w== - dependencies: - "@msgpack/msgpack" "2.3.0" - "@web3api/asyncify-js" "0.0.1-prealpha.65" - "@web3api/core-js" "0.0.1-prealpha.65" - "@web3api/ens-plugin-js" "0.0.1-prealpha.65" - "@web3api/ethereum-plugin-js" "0.0.1-prealpha.65" - "@web3api/fs-plugin-js" "0.0.1-prealpha.65" - "@web3api/graph-node-plugin-js" "0.0.1-prealpha.65" - "@web3api/http-plugin-js" "0.0.1-prealpha.65" - "@web3api/ipfs-plugin-js" "0.0.1-prealpha.65" - "@web3api/logger-plugin-js" "0.0.1-prealpha.65" - "@web3api/schema-parse" "0.0.1-prealpha.65" - "@web3api/sha3-plugin-js" "0.0.1-prealpha.65" - "@web3api/tracing-js" "0.0.1-prealpha.65" - "@web3api/uts46-plugin-js" "0.0.1-prealpha.65" - graphql "15.5.0" - js-yaml "3.14.0" - uuid "8.3.2" - -"@web3api/core-js@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/core-js/-/core-js-0.0.1-prealpha.65.tgz#30d001c70155eef71c49cd4e47f9bee1b2cac069" - integrity sha512-KM8silHuQCGGn2d32Kt4UUTULFY4BXXZPaKqKYCHZbqVLChlUHMFjLAw8pKk+XoMiUgVtyHVJMKoUcl04jNnlg== - dependencies: - "@web3api/manifest-schemas" "0.0.1-prealpha.65" - "@web3api/tracing-js" "0.0.1-prealpha.65" - graphql "15.5.0" - graphql-tag "2.10.4" - js-yaml "3.14.0" - jsonschema "1.4.0" - semver "7.3.5" - -"@web3api/ens-plugin-js@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/ens-plugin-js/-/ens-plugin-js-0.0.1-prealpha.65.tgz#bdbd90a402be34513bf0a6862b659e142069709a" - integrity sha512-3GHOD8rwPav/gBVQzSFbKhG5D0tdQSfbaxQ53iSaMsC+Lg8jw5PwgQ5EvSO84b2I/NY2mnV6wjndnMRqtCOE7A== - dependencies: - "@ethersproject/address" "5.0.7" - "@web3api/core-js" "0.0.1-prealpha.65" - ethers "5.0.7" - -"@web3api/ethereum-plugin-js@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/ethereum-plugin-js/-/ethereum-plugin-js-0.0.1-prealpha.65.tgz#f920c4b0253b0dbc6375f3a15276de6646026799" - integrity sha512-t2yUU0v+8ezeXIoHiEHAOH9etWHaYh7UFgBWITv/7j98RE2bazjW16NRbNnmXEAk+UGFAp/cQWDDa095sQNWQA== - dependencies: - "@ethersproject/address" "5.0.7" - "@ethersproject/providers" "5.0.7" - "@web3api/core-js" "0.0.1-prealpha.65" - ethers "5.0.7" - -"@web3api/fs-plugin-js@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/fs-plugin-js/-/fs-plugin-js-0.0.1-prealpha.65.tgz#3a20d9ef9ae2cde3819a8a86680a0fe666a988c2" - integrity sha512-bLPU4S/4NrpsVPRHV7N+qdLjmgV7CzBeQeM3d5UcnXpyiD3QL9nkNz50hwdeAkjmrCp3rxSD9dGnT2SH6UT5Lw== - dependencies: - "@web3api/core-js" "0.0.1-prealpha.65" - -"@web3api/graph-node-plugin-js@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/graph-node-plugin-js/-/graph-node-plugin-js-0.0.1-prealpha.65.tgz#eb366a912a8ec3aa0b0615192dd878d25e0b2f39" - integrity sha512-GCw2zMUH1QySnqh9QXKTAoRQiv/nooKbW4RoJ5Ox5p74/BjCTsV5DAQcIDi9bu+U4twYlAicKq7bDAgMmLucag== - dependencies: - "@web3api/core-js" "0.0.1-prealpha.65" - "@web3api/http-plugin-js" "0.0.1-prealpha.65" - apollo-link "1.2.14" - apollo-link-http "1.5.17" - cross-fetch "3.0.5" - graphql-tag "2.10.4" - -"@web3api/http-plugin-js@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/http-plugin-js/-/http-plugin-js-0.0.1-prealpha.65.tgz#657a44594c2c82f682c2b63f93c46611d1a3b0ce" - integrity sha512-76h21WDqUd5oAewxYJaHRxp3/dlT6bd9BpK9yeQdgaz+0Y7qyD1+v/qjn7bFk4Wd4f5OuBgmjRPplIxKP+YRaw== - dependencies: - "@web3api/core-js" "0.0.1-prealpha.65" - axios "0.21.4" - -"@web3api/ipfs-plugin-js@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/ipfs-plugin-js/-/ipfs-plugin-js-0.0.1-prealpha.65.tgz#17ec2ec886ddeaaadb046501b8d0c0b679f26e4d" - integrity sha512-M+qiibL4P4sdwTYkIzNl77wURtuzK1GZzLjMaBGBm5UumlicIK7ugDeWAEW8BTn1KVMFUwIY9eWREUK42/J1uA== - dependencies: - "@dorgjelli-test/ipfs-http-client-lite" "0.3.1" - "@web3api/core-js" "0.0.1-prealpha.65" - abort-controller "3.0.0" - cids "^1.1.4" - is-ipfs "1.0.3" - -"@web3api/logger-plugin-js@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/logger-plugin-js/-/logger-plugin-js-0.0.1-prealpha.65.tgz#7fa8a40c7ceaeec893e1f86fe3aaeba14fdbceb3" - integrity sha512-C+MNcBXoaUSK0kR7aPGbiOSoENlEyYSSnxUq6tlp2RKqGEk6cKdC8gUcs3PSRWgfedXPbXHlSsv+nV/vMJT1+w== - dependencies: - "@web3api/core-js" "0.0.1-prealpha.65" - -"@web3api/manifest-schemas@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/manifest-schemas/-/manifest-schemas-0.0.1-prealpha.65.tgz#334bd7a74d2a2371242db8e7deae4d4f3de5a9b2" - integrity sha512-tIhxMAc7p7/7AjNw8f8Sgwd8tZWD7aCXSUaKUjTuyeAOCWJNP4ckz9+Ksnriujww/RzELiR5QavQGta7jfKKRQ== - -"@web3api/schema-parse@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/schema-parse/-/schema-parse-0.0.1-prealpha.65.tgz#0fb75cdcab8f14738328871468fd117abdcbeb69" - integrity sha512-pZURg6oY6V14NH7bY/bMNieeQMEMsPH6tiPWgzrK1Rs90xQxjhXryd5eLalwZyOWNxENupIwL9U11Lix2Vx0sg== - dependencies: - "@dorgjelli/graphql-schema-cycles" "1.1.4" - graphql "15.5.0" - -"@web3api/sha3-plugin-js@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/sha3-plugin-js/-/sha3-plugin-js-0.0.1-prealpha.65.tgz#53e63991e3b56a1c36cbb1d265cbb88780a0ddcd" - integrity sha512-6X7xa4YzRA3sfZnyvlCIYoe0ctQHwY4+/XnY/2qk1lomE4RNr/B7G0Ofjs+KlcqyueKGmo+JaWCS9+LjTHXNVg== - dependencies: - "@web3api/core-js" "0.0.1-prealpha.65" - js-sha3 "0.8.0" - -"@web3api/test-env-js@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/test-env-js/-/test-env-js-0.0.1-prealpha.65.tgz#88a383a35cdd7c27022cbd5e1708aab171c7a8e3" - integrity sha512-/PtsVj8ZSqPiu6XF0wYe5ZmyBdOq7ueeLR2PEosPEFruAdnE0Hpor+bZYJXapoScZH6pHu1F59Ze+YBvikeQMA== - dependencies: - axios "0.21.2" - spawn-command "0.0.2-1" - -"@web3api/tracing-js@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/tracing-js/-/tracing-js-0.0.1-prealpha.65.tgz#3537af8cacd5f9906cb6702ebb4f5d51710e9154" - integrity sha512-CSIDLALdFtyRD1XYOmudIYGvs9FAKNcfRBkZME7Qku4aXakRhq2yMI+RDSVrOl0Cvk4FpACt/uFc7yIZcqvemw== - dependencies: - "@opentelemetry/api" "0.20.0" - "@opentelemetry/context-zone" "0.20.0" - "@opentelemetry/core" "0.20.0" - "@opentelemetry/exporter-collector" "0.20.0" - "@opentelemetry/exporter-jaeger" "0.20.0" - "@opentelemetry/exporter-zipkin" "0.20.0" - "@opentelemetry/node" "0.20.0" - "@opentelemetry/propagator-b3" "0.20.0" - "@opentelemetry/tracing" "0.20.0" - "@opentelemetry/web" "0.20.0" - browser-util-inspect "0.2.0" - -"@web3api/uts46-plugin-js@0.0.1-prealpha.65": - version "0.0.1-prealpha.65" - resolved "https://registry.yarnpkg.com/@web3api/uts46-plugin-js/-/uts46-plugin-js-0.0.1-prealpha.65.tgz#58c90f6131f31308ebcd5e55937e707328d5707e" - integrity sha512-YgX3FxIm8+K4QA3IvjKLw/brtOtGnjmBhINocEarJxQXVdWXqCy4xKXXCJQKxZRRFps+bxQDKeLdF8uS5cGUQw== - dependencies: - "@web3api/core-js" "0.0.1-prealpha.65" - idna-uts46-hx "3.4.0" - -"@wry/equality@^0.1.2": - version "0.1.11" - resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.1.11.tgz#35cb156e4a96695aa81a9ecc4d03787bc17f1790" - integrity sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA== - dependencies: - tslib "^1.9.3" - -abab@^2.0.3, abab@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -abort-controller@3.0.0, abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4: - version "8.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== - -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -ansi-color@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/ansi-color/-/ansi-color-0.2.1.tgz#3e75c037475217544ed763a8db5709fa9ae5bf9a" - integrity sha1-PnXAN0dSF1RO12Oo21cJ+prlv5o= - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^5.0.0, ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -apollo-link-http-common@^0.2.16: - version "0.2.16" - resolved "https://registry.yarnpkg.com/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz#756749dafc732792c8ca0923f9a40564b7c59ecc" - integrity sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg== - dependencies: - apollo-link "^1.2.14" - ts-invariant "^0.4.0" - tslib "^1.9.3" - -apollo-link-http@1.5.17: - version "1.5.17" - resolved "https://registry.yarnpkg.com/apollo-link-http/-/apollo-link-http-1.5.17.tgz#499e9f1711bf694497f02c51af12d82de5d8d8ba" - integrity sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg== - dependencies: - apollo-link "^1.2.14" - apollo-link-http-common "^0.2.16" - tslib "^1.9.3" - -apollo-link@1.2.14, apollo-link@^1.2.14: - version "1.2.14" - resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.14.tgz#3feda4b47f9ebba7f4160bef8b977ba725b684d9" - integrity sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg== - dependencies: - apollo-utilities "^1.3.0" - ts-invariant "^0.4.0" - tslib "^1.9.3" - zen-observable-ts "^0.8.21" - -apollo-utilities@^1.3.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.4.tgz#6129e438e8be201b6c55b0f13ce49d2c7175c9cf" - integrity sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig== - dependencies: - "@wry/equality" "^0.1.2" - fast-json-stable-stringify "^2.0.0" - ts-invariant "^0.4.0" - tslib "^1.10.0" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -async-iterator-to-pull-stream@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/async-iterator-to-pull-stream/-/async-iterator-to-pull-stream-1.3.0.tgz#3a6b9f3cceadff972ca20eb480e3cb43f8789732" - integrity sha512-NjyhAEz/sx32olqgKIk/2xbWEM6o8qef1yetIgb0U/R3oBgndP1kE/0CslowH3jvnA94BO4I6OXpOkTKH7Z1AA== - dependencies: - get-iterator "^1.0.2" - pull-stream-to-async-iterator "^1.0.1" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -axios@0.21.2: - version "0.21.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.2.tgz#21297d5084b2aeeb422f5d38e7be4fbb82239017" - integrity sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg== - dependencies: - follow-redirects "^1.14.0" - -axios@0.21.4: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-istanbul@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== - dependencies: - babel-plugin-jest-hoist "^26.6.2" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^3.0.8: - version "3.0.9" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" - integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - -bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browser-util-inspect@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browser-util-inspect/-/browser-util-inspect-0.2.0.tgz#cdda8ce1a4a07a4386035168a228c8777bff459c" - integrity sha1-zdqM4aSgekOGA1FooijId3v/RZw= - -browserslist@^4.17.5: - version "4.19.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.3.tgz#29b7caad327ecf2859485f696f9604214bedd383" - integrity sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg== - dependencies: - caniuse-lite "^1.0.30001312" - electron-to-chromium "^1.4.71" - escalade "^3.1.1" - node-releases "^2.0.2" - picocolors "^1.0.0" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@1.x, buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -bufrw@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/bufrw/-/bufrw-1.3.0.tgz#28d6cfdaf34300376836310f5c31d57eeb40c8fa" - integrity sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ== - dependencies: - ansi-color "^0.2.1" - error "^7.0.0" - hexer "^1.5.0" - xtend "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001312: - version "1.0.30001312" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f" - integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -ci-info@^2.0.0: - version "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: - version "0.7.5" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" - integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== - dependencies: - buffer "^5.5.0" - class-is "^1.1.0" - multibase "~0.6.0" - multicodec "^1.0.0" - multihashes "~0.4.15" - -cids@^1.1.4: - version "1.1.9" - resolved "https://registry.yarnpkg.com/cids/-/cids-1.1.9.tgz#402c26db5c07059377bcd6fb82f2a24e7f2f4a4f" - integrity sha512-l11hWRfugIcbGuTZwAM5PwpjPPjyb6UZOGwlHSnOBV5o07XhQ4gNpBN67FbODvpjyHtd+0Xs6KNvUcGBiDRsdg== - dependencies: - multibase "^4.0.1" - multicodec "^3.0.1" - multihashes "^4.0.1" - uint8arrays "^3.0.0" - -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" - -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== - -class-is@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" - integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.6, combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -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== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -cross-fetch@3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.0.5.tgz#2739d2981892e7ab488a7ad03b92df2816e03f4c" - integrity sha512-FFLcLtraisj5eteosnX1gf01qYDCOc4fDy0+euOt8Kn9YBY2NtXL/pCoYPavw24NIQkQqm5ZOLsGD5Zzj0gyew== - dependencies: - node-fetch "2.6.0" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1: - version "4.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - -debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.1: - version "10.3.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" - integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" - integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -electron-to-chromium@^1.4.71: - version "1.4.75" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.75.tgz#d1ad9bb46f2f1bf432118c2be21d27ffeae82fdd" - integrity sha512-LxgUNeu3BVU7sXaKjUDD9xivocQLxFtq6wgERrutdY/yIOps3ODOZExK1jg8DTEg4U8TUCb5MLGeWFOYuxjF3Q== - -elliptic@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -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== - dependencies: - once "^1.4.0" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error@7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02" - integrity sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI= - dependencies: - string-template "~0.2.1" - xtend "~4.0.0" - -error@^7.0.0: - version "7.2.1" - resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" - integrity sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA== - dependencies: - string-template "~0.2.1" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -ethers@5.0.7: - version "5.0.7" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.0.7.tgz#41c3d774e0a57bfde12b0198885789fb41a14976" - integrity sha512-1Zu9s+z4BgsDAZcGIYACJdWBB6mVtCCmUonj68Njul7STcSdgwOyj0sCAxCUr2Nsmsamckr4E12q3ecvZPGAUw== - dependencies: - "@ethersproject/abi" "^5.0.0" - "@ethersproject/abstract-provider" "^5.0.0" - "@ethersproject/abstract-signer" "^5.0.0" - "@ethersproject/address" "^5.0.0" - "@ethersproject/base64" "^5.0.0" - "@ethersproject/bignumber" "^5.0.0" - "@ethersproject/bytes" "^5.0.0" - "@ethersproject/constants" "^5.0.0" - "@ethersproject/contracts" "^5.0.0" - "@ethersproject/hash" "^5.0.0" - "@ethersproject/hdnode" "^5.0.0" - "@ethersproject/json-wallets" "^5.0.0" - "@ethersproject/keccak256" "^5.0.0" - "@ethersproject/logger" "^5.0.0" - "@ethersproject/networks" "^5.0.0" - "@ethersproject/pbkdf2" "^5.0.0" - "@ethersproject/properties" "^5.0.0" - "@ethersproject/providers" "^5.0.0" - "@ethersproject/random" "^5.0.0" - "@ethersproject/rlp" "^5.0.0" - "@ethersproject/sha2" "^5.0.0" - "@ethersproject/signing-key" "^5.0.0" - "@ethersproject/solidity" "^5.0.0" - "@ethersproject/strings" "^5.0.0" - "@ethersproject/transactions" "^5.0.0" - "@ethersproject/units" "^5.0.0" - "@ethersproject/wallet" "^5.0.0" - "@ethersproject/web" "^5.0.0" - "@ethersproject/wordlists" "^5.0.0" - -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" - integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== - dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - -explain-error@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/explain-error/-/explain-error-1.0.4.tgz#a793d3ac0cad4c6ab571e9968fbbab6cb2532929" - integrity sha1-p5PTrAytTGq1cemWj7urbLJTKSk= - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -follow-redirects@^1.14.0: - version "1.14.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7" - integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -form-data@^2.4.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" - integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.1.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-iterator@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-iterator/-/get-iterator-1.0.2.tgz#cd747c02b4c084461fac14f48f6b45a80ed25c82" - integrity sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg== - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -graceful-fs@^4.2.4: - version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== - -graphql-json-transform@^1.1.0-alpha.0: - version "1.1.0-alpha.0" - resolved "https://registry.yarnpkg.com/graphql-json-transform/-/graphql-json-transform-1.1.0-alpha.0.tgz#fb0c88d24840067e6c55ac64bbc8d4e5de245d2d" - integrity sha512-I6lR/lYEezSz4iru0f7a/wR8Rzi3pCafk7S0bX2b/WQOtK0vKabxLShGBXIslsi0arMehIjvOPHJl7MpOUqj0w== - -graphql-tag@2.10.4: - version "2.10.4" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.4.tgz#2f301a98219be8b178a6453bb7e33b79b66d8f83" - integrity sha512-O7vG5BT3w6Sotc26ybcvLKNTdfr4GfsIVMD+LdYqXCeJIYPRyp8BIsDOUtxw7S1PYvRw5vH3278J2EDezR6mfA== - -graphql@15.5.0: - version "15.5.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.5.0.tgz#39d19494dbe69d1ea719915b578bf920344a69d5" - integrity sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hexer@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/hexer/-/hexer-1.5.0.tgz#b86ce808598e8a9d1892c571f3cedd86fc9f0653" - integrity sha1-uGzoCFmOip0YksVx887dhvyfBlM= - dependencies: - ansi-color "^0.2.1" - minimist "^1.1.0" - process "^0.10.0" - xtend "^4.0.0" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== - dependencies: - agent-base "6" - debug "4" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -idna-uts46-hx@3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-3.4.0.tgz#aa380e7c04d6bce4f5e26da742c613ea2996f470" - integrity sha512-b1I4qYTcJcX1TANn8OhOGrQUIWOfZUWrLKWDeKbV6posVLjp7OTqFKX3N20efrIMzQM1KhiphOEazBEEUFR9bg== - dependencies: - punycode "^2.1.1" - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.3, inherits@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ip-regex@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" - integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -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@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-ipfs/-/is-ipfs-1.0.3.tgz#4b8c4995c46beac38f0c05f8cecd77093dd6a6b3" - integrity sha512-7SAfhxp39rxMvr95qjHMtsle1xa7zXpIbhX/Q77iXKtMVnQ0Fr9AVpAUq+bl3HPXGXDpZJFP0hzWBZaMwD6vGg== - dependencies: - buffer "^5.6.0" - cids "~0.8.0" - iso-url "~0.4.7" - mafmt "^7.1.0" - multiaddr "^7.4.3" - multibase "~0.7.0" - multihashes "~0.4.19" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -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" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -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-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== - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-instrument@^5.0.4: - version "5.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" - integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.1.4" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" - integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -iterable-ndjson@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/iterable-ndjson/-/iterable-ndjson-1.1.0.tgz#36f7e8a5bb04fd087d384f29e44fc4280fc014fc" - integrity sha512-OOp1Lb0o3k5MkXHx1YaIY5Z0ELosZfTnBaas9f8opJVcZGBIONA2zY/6CYE+LKkqrSDooIneZbrBGgOZnHPkrg== - dependencies: - string_decoder "^1.2.0" - -jaeger-client@^3.15.0: - version "3.19.0" - resolved "https://registry.yarnpkg.com/jaeger-client/-/jaeger-client-3.19.0.tgz#9b5bd818ebd24e818616ee0f5cffe1722a53ae6e" - integrity sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw== - dependencies: - node-int64 "^0.4.0" - opentracing "^0.14.4" - thriftrw "^3.5.0" - uuid "^8.3.2" - xorshift "^1.1.1" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== - dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== - dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^25.2.1: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" - integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== - dependencies: - chalk "^3.0.0" - diff-sequences "^25.2.6" - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - -jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -jest-get-type@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" - integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== - -jest-get-type@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== - dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" - -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" - slash "^3.0.0" - -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - cjs-module-lexer "^0.6.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^26.1.0, jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== - dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.6.2" - string-length "^4.0.1" - -jest-worker@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== - dependencies: - "@jest/core" "^26.6.3" - import-local "^3.0.2" - jest-cli "^26.6.3" - -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-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsdom@^16.4.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@2.x, json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -jsonschema@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" - integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= - -lodash@4.x, lodash@^4.7.0: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -long@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/long/-/long-2.4.0.tgz#9fa180bb1d9500cdc29c4156766a1995e1f4524f" - integrity sha1-n6GAux2VAM3CnEFWdmoZleH0Uk8= - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -mafmt@^7.1.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@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@1.x, make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -mime-db@1.51.0: - version "1.51.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== - -mime-types@^2.1.12: - version "2.1.34" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== - dependencies: - mime-db "1.51.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@^3.0.4: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@1.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -multiaddr@^7.3.0, multiaddr@^7.4.3: - 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, multibase@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" - integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== - dependencies: - 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@^4.0.1: - version "4.0.6" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-4.0.6.tgz#6e624341483d6123ca1ede956208cb821b440559" - integrity sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ== - dependencies: - "@multiformats/base-x" "^4.0.1" - -multibase@~0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" - integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - -multicodec@^1.0.0, multicodec@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" - integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== - dependencies: - buffer "^5.6.0" - varint "^5.0.0" - -multicodec@^3.0.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-3.2.1.tgz#82de3254a0fb163a107c1aab324f2a91ef51efb2" - integrity sha512-+expTPftro8VAW8kfvcuNNNBgb9gPeNYV9dn+z1kJRWF2vih+/S79f2RVeIwmrJBUJ6NT9IUPWnZDQvegEh5pw== - dependencies: - uint8arrays "^3.0.0" - varint "^6.0.0" - -multiformats@^9.4.2: - version "9.6.4" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.6.4.tgz#5dce1f11a407dbb69aa612cb7e5076069bb759ca" - integrity sha512-fCCB6XMrr6CqJiHNjfFNGT0v//dxOBMrOMqUIzpPc/mmITweLEyhvMpY9bF+jZ9z3vaMAau5E8B68DW77QMXkg== - -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" - -multihashes@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-4.0.3.tgz#426610539cd2551edbf533adeac4c06b3b90fb05" - integrity sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA== - dependencies: - multibase "^4.0.1" - uint8arrays "^3.0.0" - varint "^5.0.2" - -multihashes@~0.4.15, multihashes@~0.4.19: - version "0.4.21" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" - integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== - dependencies: - buffer "^5.5.0" - multibase "^0.7.0" - varint "^5.0.0" - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -nock@13.0.7: - version "13.0.7" - resolved "https://registry.yarnpkg.com/nock/-/nock-13.0.7.tgz#9bc718c66bd0862dfa14601a9ba678a406127910" - integrity sha512-WBz73VYIjdbO6BwmXODRQLtn7B5tldA9pNpWJe5QTtTEscQlY5KXU4srnGzBOK2fWakkXj69gfTnXGzmrsaRWw== - dependencies: - debug "^4.1.0" - json-stringify-safe "^5.0.1" - lodash.set "^4.3.2" - propagate "^2.0.0" - -node-fetch@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== - -node-fetch@^2.6.0: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-notifier@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" - integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -node-releases@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" - integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== - -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -opentracing@^0.14.4: - version "0.14.7" - resolved "https://registry.yarnpkg.com/opentracing/-/opentracing-0.14.7.tgz#25d472bd0296dc0b64d7b94cbc995219031428f5" - integrity sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q== - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.3: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pirates@^4.0.1: - version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -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" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -pretty-format@^25.2.1, pretty-format@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" - integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== - dependencies: - "@jest/types" "^25.5.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - -pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -process@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/process/-/process-0.10.1.tgz#842457cc51cfed72dc775afeeafb8c6034372725" - integrity sha1-hCRXzFHP7XLcd1r+6vuMYDQ3JyU= - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -propagate@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" - integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== - -psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -pull-stream-to-async-iterator@^1.0.1, pull-stream-to-async-iterator@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pull-stream-to-async-iterator/-/pull-stream-to-async-iterator-1.0.2.tgz#5cc1a3a146ef6bbf01c17755647369b683b24986" - integrity sha512-c3KRs2EneuxP7b6pG9fvQTIjatf33RbIErhbQ75s5r2MI6E8R74NZC1nJgXc8kcmqiQxmr+TWY+WwK2mWaUnlA== - dependencies: - pull-stream "^3.6.9" - -pull-stream@^3.6.9: - version "3.6.14" - resolved "https://registry.yarnpkg.com/pull-stream/-/pull-stream-3.6.14.tgz#529dbd5b86131f4a5ed636fdf7f6af00781357ee" - integrity sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -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== - -querystring@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" - integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== - -react-is@^16.12.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.18.1: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== - dependencies: - is-core-module "^2.8.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -rimraf@3.0.2, rimraf@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -safe-buffer@^5.0.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -scrypt-js@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - -"semver@2 || 3 || 4 || 5", semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.3.5, semver@7.x, semver@^7.1.3, semver@^7.3.2: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.17, source-map-support@^0.5.6: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spawn-command@0.0.2-1: - version "0.0.2-1" - resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" - integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -stack-utils@^2.0.2: - version "2.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-template@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" - integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string_decoder@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.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.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -thriftrw@^3.5.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/thriftrw/-/thriftrw-3.12.0.tgz#30857847755e7f036b2e0a79d11c9f55075539d9" - integrity sha512-4YZvR4DPEI41n4Opwr4jmrLGG4hndxr7387kzRFIIzxHQjarPusH4lGXrugvgb7TtPrfZVTpZCVe44/xUxowEw== - dependencies: - bufrw "^1.3.0" - error "7.0.2" - long "^2.4.0" - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.1.2" - -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - -ts-invariant@^0.4.0: - version "0.4.4" - resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86" - integrity sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA== - dependencies: - tslib "^1.9.3" - -ts-jest@26.5.4: - version "26.5.4" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.4.tgz#207f4c114812a9c6d5746dd4d1cdf899eafc9686" - integrity sha512-I5Qsddo+VTm94SukBJ4cPimOoFZsYTeElR2xy6H2TOVs+NsvgYglW8KuQgKoApOKuaU/Ix/vrF9ebFZlb5D2Pg== - dependencies: - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - jest-util "^26.1.0" - json5 "2.x" - lodash "4.x" - make-error "1.x" - mkdirp "1.x" - semver "7.x" - yargs-parser "20.x" - -ts-node@8.10.2: - version "8.10.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d" - integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA== - dependencies: - arg "^4.1.0" - diff "^4.0.1" - make-error "^1.1.1" - source-map-support "^0.5.17" - yn "3.1.1" - -tslib@^1.10.0, tslib@^1.9.3: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.7.tgz#7168032c43d2a2671c95c07812f69523c79590af" - integrity sha512-yi7M4y74SWvYbnazbn8/bmJmX4Zlej39ZOqwG/8dut/MYoSQ119GY9ZFbbGsD4PFZYWxqik/XsP3vk3+W5H3og== - -uint8arrays@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.0.0.tgz#260869efb8422418b6f04e3fac73a3908175c63b" - integrity sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA== - dependencies: - multiformats "^9.4.2" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -universalify@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -uuid@8.3.2, uuid@^8.3.0, uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-to-istanbul@^7.0.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" - integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -varint@^5.0.0, varint@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" - integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== - -varint@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" - integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@7.2.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46" - integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ== - -ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - -ws@^7.4.6: - version "7.5.7" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" - integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xorshift@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/xorshift/-/xorshift-1.2.0.tgz#30a4cdd8e9f8d09d959ed2a88c42a09c660e8148" - integrity sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g== - -xtend@^4.0.0, xtend@~4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@20.x: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@^15.4.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -zen-observable-ts@^0.8.21: - version "0.8.21" - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz#85d0031fbbde1eba3cd07d3ba90da241215f421d" - integrity sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg== - dependencies: - tslib "^1.9.3" - zen-observable "^0.8.0" - -zen-observable@^0.8.0: - version "0.8.15" - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" - integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== - -zone.js@^0.11.0: - version "0.11.4" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.4.tgz#0f70dcf6aba80f698af5735cbb257969396e8025" - integrity sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw== - dependencies: - tslib "^2.0.0" From cd3a92ba4da31b6713c64789166fa593f5204280 Mon Sep 17 00:00:00 2001 From: Anton Davydov Date: Fri, 17 Jun 2022 14:49:10 +0400 Subject: [PATCH 11/29] update json schema documentation --- .../formats/polywrap.app/0.0.1-prealpha.1.json | 6 ++++++ .../formats/polywrap.app/0.0.1-prealpha.2.json | 7 +++++++ .../polywrap.build/0.0.1-prealpha.3.json | 14 ++++++++++++++ .../polywrap.deploy/0.0.1-prealpha.1.json | 6 ++++++ .../polywrap.infra/0.0.1-prealpha.1.json | 8 ++++++++ .../polywrap.infra/0.0.1-prealpha.2.json | 10 ++++++++++ .../formats/polywrap.meta/0.0.1-prealpha.1.json | 2 +- .../formats/polywrap.meta/0.0.1-prealpha.2.json | 15 +++++++++++++++ .../formats/polywrap.meta/0.0.1-prealpha.3.json | 17 +++++++++++++++++ .../polywrap.plugin/0.0.1-prealpha.2.json | 13 +++++++++++++ .../polywrap.plugin/0.0.1-prealpha.3.json | 8 ++++++++ .../formats/polywrap/0.0.1-prealpha.1.json | 4 ++-- .../formats/polywrap/0.0.1-prealpha.2.json | 6 +++--- .../formats/polywrap/0.0.1-prealpha.3.json | 7 ++++--- .../formats/polywrap/0.0.1-prealpha.4.json | 6 +++--- .../formats/polywrap/0.0.1-prealpha.5.json | 8 ++++---- .../formats/polywrap/0.0.1-prealpha.6.json | 8 ++++---- .../formats/polywrap/0.0.1-prealpha.7.json | 15 +++++++++++++++ .../formats/polywrap/0.0.1-prealpha.8.json | 16 ++++++++++++++++ .../formats/polywrap/0.0.1-prealpha.9.json | 11 +++++++++++ 20 files changed, 167 insertions(+), 20 deletions(-) diff --git a/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.1.json index b4e7046e86..55fef32aea 100644 --- a/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.1.json @@ -9,28 +9,34 @@ ], "properties": { "format": { + "description": "Polywrap app manifest format version.", "type": "string", "const": "0.0.1-prealpha.1" }, "language": { + "description": "Language in which the source code is written.", "type": "string", "format": "appLanguage" }, "schema": { + "description": "Path to graphql schema.", "type": "string", "format": "file" }, "import_redirects": { + "description": "Redirects enabling the import of plugins.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { + "description": "URI resolving to the plugin schema.", "type": "string", "format": "polywrapUri" }, "schema": { + "description": "Graphql schema for imported plugin.", "type": "string", "format": "schemaFile" } diff --git a/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.2.json b/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.2.json index 2b29b74b7f..c090bc2b2c 100644 --- a/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.2.json +++ b/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.2.json @@ -10,32 +10,39 @@ ], "properties": { "format": { + "description": "Polywrap app manifest format version.", "type": "string", "const": "0.0.1-prealpha.2" }, "name": { + "description": "Name of this wrapper package.", "type": "string", "format": "packageName" }, "language": { + "description": "Language in which the source code is written.", "type": "string", "format": "appLanguage" }, "schema": { + "description": "Path to graphql schema.", "type": "string", "format": "file" }, "import_redirects": { + "description": "Redirects enabling the import of plugins.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { + "description": "URI resolving to the plugin schema.", "type": "string", "format": "polywrapUri" }, "schema": { + "description": "Graphql schema for imported plugin.", "type": "string", "format": "schemaFile" } diff --git a/packages/manifest-schemas/formats/polywrap.build/0.0.1-prealpha.3.json b/packages/manifest-schemas/formats/polywrap.build/0.0.1-prealpha.3.json index 66cfed79fb..0fe0a3100e 100644 --- a/packages/manifest-schemas/formats/polywrap.build/0.0.1-prealpha.3.json +++ b/packages/manifest-schemas/formats/polywrap.build/0.0.1-prealpha.3.json @@ -5,6 +5,7 @@ "required": ["format"], "properties": { "format": { + "description": "Polywrap build manifest format version.", "type": "string", "const": "0.0.1-prealpha.3" }, @@ -13,55 +14,68 @@ "additionalProperties": false, "properties": { "name": { + "description": "Docker image name.", "type": "string", "format": "dockerImageName" }, "dockerfile": { + "description": "Docker image file name.", "type": "string", "format": "dockerfileName" }, "buildImageId": { + "description": "Id of the docker image.", "type": "string", "format": "dockerImageId" }, "buildx": { + "description": "Configuration options for Docker Buildx, set to true for default value.", "type": ["object", "boolean"], "additionalProperties": false, "properties": { "cache": { + "description": "Path to cache directory, set to true for default value, set to false to disable caching.", "type": ["string", "boolean"], "format": "directory" }, "output": { + "description": "Path to cache directory, set to true or false for default value.", "type": ["string", "boolean"], "format": "buildxOutput" }, "removeBuilder": { + "description": "Remove a builder instance.", "type": "boolean" } } }, "removeImage": { + "description": "Remove the image.", "type": "boolean" } } }, "config": { + "description": "Custom configuration.", "type": "object" }, "linked_packages": { + "description": "Locally linked packages into docker build image.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "name": { + "description": "Package name.", "type": "string" }, "path": { + "description": "Path to linked package directory.", "type": "string" }, "filter": { + "description": "Ignore files matching this regex in linked package directory.", "type": "string", "format": "regexString" } diff --git a/packages/manifest-schemas/formats/polywrap.deploy/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/polywrap.deploy/0.0.1-prealpha.1.json index 09a2a1079b..19272b39ad 100644 --- a/packages/manifest-schemas/formats/polywrap.deploy/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/polywrap.deploy/0.0.1-prealpha.1.json @@ -8,26 +8,32 @@ ], "properties": { "format": { + "description": "Polywrap deployment manifest format version.", "type": "string", "const": "0.0.1-prealpha.1" }, "stages": { "patternProperties": { "^.*$": { + "description": "Deployment stage.", "type": "object", "additionalProperties": false, "required": ["package"], "properties": { "package": { + "description": "Name of the publisher plugin.", "type": "string" }, "config": { + "description": "Custom configuration.", "type": "object" }, "depends_on": { + "description": "Name of the required stage.", "type": "string" }, "uri": { + "description": "URI resolving to the publisher plugin.", "type": "string", "format": "polywrapUri" } diff --git a/packages/manifest-schemas/formats/polywrap.infra/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/polywrap.infra/0.0.1-prealpha.1.json index 84cb3106a6..13f22f2104 100644 --- a/packages/manifest-schemas/formats/polywrap.infra/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/polywrap.infra/0.0.1-prealpha.1.json @@ -5,10 +5,12 @@ "required": ["format", "modules"], "properties": { "format": { + "description": "Polywrap infra manifest format version.", "type": "string", "const": "0.0.1-prealpha.1" }, "dockerCompose": { + "description": "Path to docker compose manifest.", "type": "string" }, "env": { @@ -32,19 +34,24 @@ }, "definitions": { "remoteModule": { + "description": "A remote docker-compose package.", "type": "object", "additionalProperties": false, "properties": { "package": { + "description": "Package name.", "type": "string" }, "registry": { + "description": "Package registry name.", "type": "string" }, "version": { + "description": "Package version.", "type": "string" }, "dockerComposePath": { + "description": "Path to docker-compose file in the package directory.", "type": "string" } }, @@ -55,6 +62,7 @@ "additionalProperties": false, "properties": { "path": { + "description": "Path to the package.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/polywrap.infra/0.0.1-prealpha.2.json b/packages/manifest-schemas/formats/polywrap.infra/0.0.1-prealpha.2.json index eed51a8000..75c8b4bff5 100644 --- a/packages/manifest-schemas/formats/polywrap.infra/0.0.1-prealpha.2.json +++ b/packages/manifest-schemas/formats/polywrap.infra/0.0.1-prealpha.2.json @@ -5,10 +5,12 @@ "required": ["format", "modules"], "properties": { "format": { + "description": "Polywrap infra manifest format version.", "type": "string", "const": "0.0.1-prealpha.2" }, "dockerCompose": { + "description": "Path to docker compose manifest.", "type": "string" }, "env": { @@ -33,35 +35,43 @@ }, "definitions": { "remoteModule": { + "description": "A remote package with a docker-compose file.", "type": "object", "additionalProperties": false, "properties": { "package": { + "description": "Package name.", "type": "string" }, "registry": { + "description": "Package registry name.", "type": "string" }, "version": { + "description": "Package version.", "type": "string" }, "dockerComposePath": { + "description": "Path to docker-compose file in the package directory.", "type": "string" } }, "required": ["package", "version", "registry"] }, "localModule": { + "description": "A local package with a docker-compose file.", "type": "object", "additionalProperties": false, "properties": { "path": { + "description": "Path to the package.", "type": "string" } }, "required": ["path"] }, "defaultModule": { + "description": "A module available by default.", "type": "string", "const": "default" } diff --git a/packages/manifest-schemas/formats/polywrap.meta/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/polywrap.meta/0.0.1-prealpha.1.json index d7c9e96b90..c13a8241fd 100644 --- a/packages/manifest-schemas/formats/polywrap.meta/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/polywrap.meta/0.0.1-prealpha.1.json @@ -83,7 +83,7 @@ "format": "graphqlFile" }, "vars": { - "description": "Query variables", + "description": "Query parameters.", "type": "string", "format": "jsonFile" } diff --git a/packages/manifest-schemas/formats/polywrap.meta/0.0.1-prealpha.2.json b/packages/manifest-schemas/formats/polywrap.meta/0.0.1-prealpha.2.json index 33fbd05dbd..a0b24090d5 100644 --- a/packages/manifest-schemas/formats/polywrap.meta/0.0.1-prealpha.2.json +++ b/packages/manifest-schemas/formats/polywrap.meta/0.0.1-prealpha.2.json @@ -7,40 +7,50 @@ ], "properties": { "format": { + "description": "Polywrap wrapper metadata manifest format version.", "type": "string", "const": "0.0.1-prealpha.2" }, "displayName": { + "description": "Name of the wrapper.", "type": "string" }, "subtext": { + "description": "Short or summary description of the wrapper.", "type": "string" }, "description": { + "description": "Long description for the wrapper.", "type": "string" }, "repository": { + "description": "Reference to the repository holding source code.", "type": "string", "format": "websiteUrl" }, "icon": { + "description": "Path to wrapper icon.", "type": "string", "format": "imageFile" }, "links": { + "description": "Relevant web links.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "name": { + "description": "Web link name.", "type": "string" }, "icon": { + "description": "Web link icon.", "type": "string", "format": "imageFile" }, "url": { + "description": "Url to the web link.", "type": "string", "format": "websiteUrl" } @@ -52,22 +62,27 @@ } }, "queries": { + "description": "List of example queries.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "name": { + "description": "Query name.", "type": "string" }, "description": { + "description": "Query description.", "type": "string" }, "query": { + "description": "Path to graph ql file.", "type": "string", "format": "graphqlFile" }, "vars": { + "description": "Query parameters.", "type": "string", "format": "jsonFile" } diff --git a/packages/manifest-schemas/formats/polywrap.meta/0.0.1-prealpha.3.json b/packages/manifest-schemas/formats/polywrap.meta/0.0.1-prealpha.3.json index 772b15fa48..33790085bb 100644 --- a/packages/manifest-schemas/formats/polywrap.meta/0.0.1-prealpha.3.json +++ b/packages/manifest-schemas/formats/polywrap.meta/0.0.1-prealpha.3.json @@ -7,47 +7,59 @@ ], "properties": { "format": { + "description": "Polywrap wrapper metadata manifest format version.", "type": "string", "const": "0.0.1-prealpha.3" }, "displayName": { + "description": "Name of the wrapper.", "type": "string" }, "subtext": { + "description": "Short or summary description of the wrapper.", "type": "string" }, "description": { + "description": "Long description for the wrapper.", "type": "string" }, "repository": { + "description": "Reference to the repository holding source code.", "type": "string", "format": "websiteUrl" }, "tags": { + "description": "List of relevant tag keywords.", "type": "array", "items": { + "description": "Tag keyword.", "type": "string", "format": "packageTag" } }, "icon": { + "description": "Path to wrapper icon.", "type": "string", "format": "imageFile" }, "links": { + "description": "Relevant web links.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "name": { + "description": "Web link name.", "type": "string" }, "icon": { + "description": "Web link icon.", "type": "string", "format": "imageFile" }, "url": { + "description": "Url to the web link.", "type": "string", "format": "websiteUrl" } @@ -59,22 +71,27 @@ } }, "queries": { + "description": "List of example queries.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "name": { + "description": "Query name.", "type": "string" }, "description": { + "description": "Query description.", "type": "string" }, "query": { + "description": "Path to graph ql file.", "type": "string", "format": "graphqlFile" }, "vars": { + "description": "Query parameters.", "type": "string", "format": "jsonFile" } diff --git a/packages/manifest-schemas/formats/polywrap.plugin/0.0.1-prealpha.2.json b/packages/manifest-schemas/formats/polywrap.plugin/0.0.1-prealpha.2.json index b57184edf9..da9f710352 100644 --- a/packages/manifest-schemas/formats/polywrap.plugin/0.0.1-prealpha.2.json +++ b/packages/manifest-schemas/formats/polywrap.plugin/0.0.1-prealpha.2.json @@ -10,30 +10,37 @@ ], "properties": { "format": { + "description": "Polywrap plugin manifest format version.", "type": "string", "const": "0.0.1-prealpha.2" }, "name": { + "description": "Plugin name.", "type": "string", "format": "packageName" }, "language": { + "description" : "Plugin language.", "type": "string", "format": "pluginLanguage" }, "modules": { + "description": "Modules of Polywrap schema and implementation.", "type": "object", "additionalProperties": false, "properties": { "mutation": { + "description": "Module for mutation operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema.", "type": "string", "format": "graphqlFile" }, "module": { + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -43,14 +50,17 @@ ] }, "query": { + "description": "Module for mutation operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema.", "type": "string", "format": "graphqlFile" }, "module": { + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -62,15 +72,18 @@ } }, "import_redirects": { + "description": "Redirects source URI to local wrapper or plugin.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { + "description": "Source URI that needs to be redirected.", "type": "string" }, "schema": { + "description": "Path to GraphQL schema of the module to which URI will be redirected.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/polywrap.plugin/0.0.1-prealpha.3.json b/packages/manifest-schemas/formats/polywrap.plugin/0.0.1-prealpha.3.json index 523c7fa2f1..bfedbe2f38 100644 --- a/packages/manifest-schemas/formats/polywrap.plugin/0.0.1-prealpha.3.json +++ b/packages/manifest-schemas/formats/polywrap.plugin/0.0.1-prealpha.3.json @@ -10,35 +10,43 @@ ], "properties": { "format": { + "description": "Polywrap plugin manifest format version.", "type": "string", "const": "0.0.1-prealpha.3" }, "name": { + "description": "Plugin name.", "type": "string", "format": "packageName" }, "language": { + "description" : "Plugin language.", "type": "string", "format": "pluginLanguage" }, "module": { + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" }, "schema": { + "description": "Path to graphql schema.", "type": "string", "format": "graphqlFile" }, "import_redirects": { + "description": "Redirects source URI to local wrapper or plugin.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { + "description": "Source URI that needs to be redirected.", "type": "string" }, "schema": { + "description": "Path to GraphQL schema of the module to which URI will be redirected.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.1.json index f7ed6188ea..1e0d5a2b71 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.1.json @@ -45,7 +45,7 @@ "additionalProperties": false, "properties": { "language": { - "description" : "Language in which the source code is written.", + "description": "Language in which the source code is written.", "type": "string" }, "file": { @@ -91,7 +91,7 @@ "additionalProperties": false, "properties": { "language": { - "description" : "Language in which the source code is written.", + "description": "Language in which the source code is written.", "type": "string" }, "file": { diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.2.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.2.json index a11d9a1142..9773fb3be8 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.2.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.2.json @@ -18,17 +18,17 @@ "type": "string" }, "build": { - "description" : "Path to the customized build manifest file.", + "description": "Path to the customized build manifest file.", "type": "string", "format": "file" }, "language": { - "description" : "Language in which the source code is written.", + "description": "Language in which the source code is written.", "type": "string", "format": "wasmLanguage" }, "modules": { - "description" : "Modules of Polywrap schema and implementation.", + "description": "Modules of Polywrap schema and implementation.", "type": "object", "additionalProperties": false, "properties": { diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.3.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.3.json index 5f4bf546a3..616e265547 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.3.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.3.json @@ -17,20 +17,21 @@ "type": "string" }, "build": { - "description" : "Path to the customized build manifest file.", + "description": "Path to the customized build manifest file.", "type": "string", "format": "file" }, "language": { - "description" : "Language in which the source code is written.", + "description": "Language in which the source code is written.", "type": "string", "format": "wasmLanguage" }, "interface": { + "description": "Wrapper has no Wasm implementation, only the schema.", "type": "boolean" }, "modules": { - "description" : "Modules of Polywrap schema and implementation.", + "description": "Modules of Polywrap schema and implementation.", "type": "object", "additionalProperties": false, "properties": { diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.4.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.4.json index 8027ab05a9..934a69d828 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.4.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.4.json @@ -18,17 +18,17 @@ "type": "string" }, "build": { - "description" : "Path to the customized build manifest file.", + "description": "Path to the customized build manifest file.", "type": "string", "format": "file" }, "language": { - "description" : "Language in which the source code is written.", + "description": "Language in which the source code is written.", "type": "string", "format": "wasmLanguage" }, "modules": { - "description" : "Modules of Polywrap schema and implementation.", + "description": "Modules of Polywrap schema and implementation.", "type": "object", "additionalProperties": false, "properties": { diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.5.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.5.json index 145aa0af08..2e3f2b9a97 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.5.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.5.json @@ -14,22 +14,22 @@ "const": "0.0.1-prealpha.5" }, "build": { - "description" : "Path to the customized build manifest file.", + "description": "Path to the customized build manifest file.", "type": "string", "format": "yamlFile" }, "meta": { - "description" : "Path to wrapper metadata manifest file.", + "description": "Path to wrapper metadata manifest file.", "type": "string", "format": "yamlFile" }, "language": { - "description" : "Language in which the source code is written.", + "description": "Language in which the source code is written.", "type": "string", "format": "wasmLanguage" }, "modules": { - "description" : "Modules of Polywrap schema and implementation.", + "description": "Modules of Polywrap schema and implementation.", "type": "object", "additionalProperties": false, "properties": { diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.6.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.6.json index 23b9a847a1..ef2f5db2a8 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.6.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.6.json @@ -14,22 +14,22 @@ "const": "0.0.1-prealpha.6" }, "build": { - "description" : "Path to the customized build manifest file.", + "description": "Path to the customized build manifest file.", "type": "string", "format": "manifestFile" }, "meta": { - "description" : "Path to wrapper metadata manifest file.", + "description": "Path to wrapper metadata manifest file.", "type": "string", "format": "manifestFile" }, "language": { - "description" : "Language in which the source code is written.", + "description": "Language in which the source code is written.", "type": "string", "format": "wasmLanguage" }, "modules": { - "description" : "Modules of Polywrap schema and implementation.", + "description": "Modules of Polywrap schema and implementation.", "type": "object", "additionalProperties": false, "properties": { diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.7.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.7.json index 3aaddec8cc..c065a40113 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.7.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.7.json @@ -10,38 +10,47 @@ ], "properties": { "format": { + "description": "Polywrap manifest format version.", "type": "string", "const": "0.0.1-prealpha.7" }, "name": { + "description": "Name of this wrapper package.", "type": "string", "format": "packageName" }, "build": { + "description": "Path to the customized build manifest file.", "type": "string", "format": "manifestFile" }, "meta": { + "description": "Path to wrapper metadata manifest file.", "type": "string", "format": "manifestFile" }, "language": { + "description": "Language in which the source code is written.", "type": "string", "format": "wasmLanguage" }, "modules": { + "description": "Modules of Polywrap schema and implementation.", "type": "object", "additionalProperties": false, "properties": { "mutation": { + "description": "Module for mutation operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema.", "type": "string", "format": "graphqlFile" }, "module": { + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -51,14 +60,17 @@ ] }, "query": { + "description": "Module for query operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema.", "type": "string", "format": "graphqlFile" }, "module": { + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -70,15 +82,18 @@ } }, "import_redirects": { + "description": "Redirects enabling the import of plugins.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { + "description": "URI resolving to the plugin schema.", "type": "string" }, "schema": { + "description": "Graphql schema for imported plugin.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.8.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.8.json index 47382f2e24..f1a11df4df 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.8.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.8.json @@ -10,42 +10,52 @@ ], "properties": { "format": { + "description": "Polywrap manifest format version.", "type": "string", "const": "0.0.1-prealpha.8" }, "name": { + "description": "Name of this wrapper package.", "type": "string", "format": "packageName" }, "build": { + "description": "Path to the customized build manifest file.", "type": "string", "format": "manifestFile" }, "meta": { + "description": "Path to wrapper metadata manifest file.", "type": "string", "format": "manifestFile" }, "deploy": { + "description": "Path to wrapper deploy manifest file.", "type": "string", "format": "manifestFile" }, "language": { + "description": "Language in which the source code is written.", "type": "string", "format": "wasmLanguage" }, "modules": { + "description": "Modules of Polywrap schema and implementation.", "type": "object", "additionalProperties": false, "properties": { "mutation": { + "description": "Module for mutation operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema.", "type": "string", "format": "graphqlFile" }, "module": { + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -55,14 +65,17 @@ ] }, "query": { + "description": "Module for query operations.", "type": "object", "additionalProperties": false, "properties": { "schema": { + "description": "Path to graphql schema.", "type": "string", "format": "graphqlFile" }, "module": { + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" } @@ -74,15 +87,18 @@ } }, "import_redirects": { + "description": "Redirects enabling the import of plugins.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { + "description": "URI resolving to the plugin schema.", "type": "string" }, "schema": { + "description": "Graphql schema for imported plugin.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.9.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.9.json index 6f81020573..5acfef62c8 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.9.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.9.json @@ -10,47 +10,58 @@ ], "properties": { "format": { + "description": "Polywrap manifest format version.", "type": "string", "const": "0.0.1-prealpha.9" }, "name": { + "description": "Name of this wrapper package.", "type": "string", "format": "packageName" }, "build": { + "description": "Path to the customized build manifest file.", "type": "string", "format": "manifestFile" }, "meta": { + "description": "Path to wrapper metadata manifest file.", "type": "string", "format": "manifestFile" }, "deploy": { + "description": "Path to wrapper deploy manifest file.", "type": "string", "format": "manifestFile" }, "language": { + "description": "Language in which the source code is written.", "type": "string", "format": "wasmLanguage" }, "module": { + "description": "Path to Polywrap implementation.", "type": "string", "format": "file" }, "schema": { + "description": "Path to graphql schema.", "type": "string", "format": "graphqlFile" }, "import_redirects": { + "description": "Redirects enabling the import of plugins.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { + "description": "URI resolving to the plugin schema.", "type": "string" }, "schema": { + "description": "Graphql schema for imported plugin.", "type": "string" } }, From fdda03b5de324f0d5916fa101e21e1b5c2caf70b Mon Sep 17 00:00:00 2001 From: fetsorn Date: Fri, 17 Jun 2022 10:57:38 +0000 Subject: [PATCH 12/29] rebuild typings from json schema --- .../formats/polywrap.app/0.0.1-prealpha.1.ts | 18 +++++++ .../formats/polywrap.app/0.0.1-prealpha.2.ts | 21 ++++++++ .../polywrap.build/0.0.1-prealpha.3.ts | 42 ++++++++++++++++ .../polywrap.deploy/0.0.1-prealpha.1.ts | 17 +++++++ .../polywrap.infra/0.0.1-prealpha.1.ts | 24 ++++++++++ .../polywrap.infra/0.0.1-prealpha.2.ts | 30 ++++++++++++ .../formats/polywrap.meta/0.0.1-prealpha.1.ts | 2 +- .../formats/polywrap.meta/0.0.1-prealpha.2.ts | 45 +++++++++++++++++ .../formats/polywrap.meta/0.0.1-prealpha.3.ts | 48 +++++++++++++++++++ .../polywrap.plugin/0.0.1-prealpha.2.ts | 39 +++++++++++++++ .../polywrap.plugin/0.0.1-prealpha.3.ts | 24 ++++++++++ .../formats/polywrap/0.0.1-prealpha.1.ts | 3 ++ .../formats/polywrap/0.0.1-prealpha.2.ts | 3 ++ .../formats/polywrap/0.0.1-prealpha.3.ts | 6 +++ .../formats/polywrap/0.0.1-prealpha.4.ts | 3 ++ .../formats/polywrap/0.0.1-prealpha.5.ts | 3 ++ .../formats/polywrap/0.0.1-prealpha.6.ts | 3 ++ .../formats/polywrap/0.0.1-prealpha.7.ts | 45 +++++++++++++++++ .../formats/polywrap/0.0.1-prealpha.8.ts | 48 +++++++++++++++++++ .../formats/polywrap/0.0.1-prealpha.9.ts | 33 +++++++++++++ 20 files changed, 456 insertions(+), 1 deletion(-) diff --git a/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.1.ts b/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.1.ts index 700aed8a30..018770ab36 100644 --- a/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.1.ts +++ b/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.1.ts @@ -7,11 +7,29 @@ */ export interface AppManifest { + /** + * Polywrap app manifest format version. + */ format: "0.0.1-prealpha.1"; + /** + * Language in which the source code is written. + */ language: string; + /** + * Path to graphql schema. + */ schema: string; + /** + * Redirects enabling the import of plugins. + */ import_redirects?: { + /** + * URI resolving to the plugin schema. + */ uri: string; + /** + * Graphql schema for imported plugin. + */ schema: string; }[]; __type: "AppManifest"; diff --git a/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.2.ts b/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.2.ts index 159036fb58..2391daf3e5 100644 --- a/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.2.ts +++ b/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.2.ts @@ -7,12 +7,33 @@ */ export interface AppManifest { + /** + * Polywrap app manifest format version. + */ format: "0.0.1-prealpha.2"; + /** + * Name of this wrapper package. + */ name: string; + /** + * Language in which the source code is written. + */ language: string; + /** + * Path to graphql schema. + */ schema: string; + /** + * Redirects enabling the import of plugins. + */ import_redirects?: { + /** + * URI resolving to the plugin schema. + */ uri: string; + /** + * Graphql schema for imported plugin. + */ schema: string; }[]; __type: "AppManifest"; diff --git a/packages/js/core/src/manifest/formats/polywrap.build/0.0.1-prealpha.3.ts b/packages/js/core/src/manifest/formats/polywrap.build/0.0.1-prealpha.3.ts index 9246d18b97..2ae8fd450d 100644 --- a/packages/js/core/src/manifest/formats/polywrap.build/0.0.1-prealpha.3.ts +++ b/packages/js/core/src/manifest/formats/polywrap.build/0.0.1-prealpha.3.ts @@ -7,26 +7,68 @@ */ export interface BuildManifest { + /** + * Polywrap build manifest format version. + */ format: "0.0.1-prealpha.3"; docker?: { + /** + * Docker image name. + */ name?: string; + /** + * Docker image file name. + */ dockerfile?: string; + /** + * Id of the docker image. + */ buildImageId?: string; + /** + * Configuration options for Docker Buildx, set to true for default value. + */ buildx?: | { + /** + * Path to cache directory, set to true for default value, set to false to disable caching. + */ cache?: string | boolean; + /** + * Path to cache directory, set to true or false for default value. + */ output?: string | boolean; + /** + * Remove a builder instance. + */ removeBuilder?: boolean; } | boolean; + /** + * Remove the image. + */ removeImage?: boolean; }; + /** + * Custom configuration. + */ config?: { [k: string]: unknown; }; + /** + * Locally linked packages into docker build image. + */ linked_packages?: { + /** + * Package name. + */ name: string; + /** + * Path to linked package directory. + */ path: string; + /** + * Ignore files matching this regex in linked package directory. + */ filter?: string; }[]; __type: "BuildManifest"; diff --git a/packages/js/core/src/manifest/formats/polywrap.deploy/0.0.1-prealpha.1.ts b/packages/js/core/src/manifest/formats/polywrap.deploy/0.0.1-prealpha.1.ts index c1c7dd7ccc..f8f51c7f2c 100644 --- a/packages/js/core/src/manifest/formats/polywrap.deploy/0.0.1-prealpha.1.ts +++ b/packages/js/core/src/manifest/formats/polywrap.deploy/0.0.1-prealpha.1.ts @@ -7,18 +7,35 @@ */ export interface DeployManifest { + /** + * Polywrap deployment manifest format version. + */ format: "0.0.1-prealpha.1"; stages: { /** + * Deployment stage. + * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^.*$". */ [k: string]: { + /** + * Name of the publisher plugin. + */ package: string; + /** + * Custom configuration. + */ config?: { [k: string]: unknown; }; + /** + * Name of the required stage. + */ depends_on?: string; + /** + * URI resolving to the publisher plugin. + */ uri?: string; }; }; diff --git a/packages/js/core/src/manifest/formats/polywrap.infra/0.0.1-prealpha.1.ts b/packages/js/core/src/manifest/formats/polywrap.infra/0.0.1-prealpha.1.ts index 48eb48ddeb..3be13abb81 100644 --- a/packages/js/core/src/manifest/formats/polywrap.infra/0.0.1-prealpha.1.ts +++ b/packages/js/core/src/manifest/formats/polywrap.infra/0.0.1-prealpha.1.ts @@ -7,7 +7,13 @@ */ export interface InfraManifest { + /** + * Polywrap infra manifest format version. + */ format: "0.0.1-prealpha.1"; + /** + * Path to docker compose manifest. + */ dockerCompose?: string; env?: { /** @@ -25,12 +31,30 @@ export interface InfraManifest { }; __type: "InfraManifest"; } +/** + * A remote docker-compose package. + */ export interface RemoteModule { + /** + * Package name. + */ package: string; + /** + * Package registry name. + */ registry: string; + /** + * Package version. + */ version: string; + /** + * Path to docker-compose file in the package directory. + */ dockerComposePath?: string; } export interface LocalModule { + /** + * Path to the package. + */ path: string; } diff --git a/packages/js/core/src/manifest/formats/polywrap.infra/0.0.1-prealpha.2.ts b/packages/js/core/src/manifest/formats/polywrap.infra/0.0.1-prealpha.2.ts index 46c58ba19c..a56c15cea1 100644 --- a/packages/js/core/src/manifest/formats/polywrap.infra/0.0.1-prealpha.2.ts +++ b/packages/js/core/src/manifest/formats/polywrap.infra/0.0.1-prealpha.2.ts @@ -6,10 +6,19 @@ * and run json-schema-to-typescript to regenerate this file. */ +/** + * A module available by default. + */ export type DefaultModule = "default"; export interface InfraManifest { + /** + * Polywrap infra manifest format version. + */ format: "0.0.1-prealpha.2"; + /** + * Path to docker compose manifest. + */ dockerCompose?: string; env?: { /** @@ -27,12 +36,33 @@ export interface InfraManifest { }; __type: "InfraManifest"; } +/** + * A remote package with a docker-compose file. + */ export interface RemoteModule { + /** + * Package name. + */ package: string; + /** + * Package registry name. + */ registry: string; + /** + * Package version. + */ version: string; + /** + * Path to docker-compose file in the package directory. + */ dockerComposePath?: string; } +/** + * A local package with a docker-compose file. + */ export interface LocalModule { + /** + * Path to the package. + */ path: string; } diff --git a/packages/js/core/src/manifest/formats/polywrap.meta/0.0.1-prealpha.1.ts b/packages/js/core/src/manifest/formats/polywrap.meta/0.0.1-prealpha.1.ts index 6ab543dc69..8f6ed0fd62 100644 --- a/packages/js/core/src/manifest/formats/polywrap.meta/0.0.1-prealpha.1.ts +++ b/packages/js/core/src/manifest/formats/polywrap.meta/0.0.1-prealpha.1.ts @@ -65,7 +65,7 @@ export interface MetaManifest { */ query: string; /** - * Query variables + * Query parameters. */ vars?: string; }[]; diff --git a/packages/js/core/src/manifest/formats/polywrap.meta/0.0.1-prealpha.2.ts b/packages/js/core/src/manifest/formats/polywrap.meta/0.0.1-prealpha.2.ts index ccedb0c8b4..9a81f8d34e 100644 --- a/packages/js/core/src/manifest/formats/polywrap.meta/0.0.1-prealpha.2.ts +++ b/packages/js/core/src/manifest/formats/polywrap.meta/0.0.1-prealpha.2.ts @@ -7,21 +7,66 @@ */ export interface MetaManifest { + /** + * Polywrap wrapper metadata manifest format version. + */ format: "0.0.1-prealpha.2"; + /** + * Name of the wrapper. + */ displayName?: string; + /** + * Short or summary description of the wrapper. + */ subtext?: string; + /** + * Long description for the wrapper. + */ description?: string; + /** + * Reference to the repository holding source code. + */ repository?: string; + /** + * Path to wrapper icon. + */ icon?: string; + /** + * Relevant web links. + */ links?: { + /** + * Web link name. + */ name: string; + /** + * Web link icon. + */ icon?: string; + /** + * Url to the web link. + */ url: string; }[]; + /** + * List of example queries. + */ queries?: { + /** + * Query name. + */ name: string; + /** + * Query description. + */ description?: string; + /** + * Path to graph ql file. + */ query: string; + /** + * Query parameters. + */ vars?: string; }[]; __type: "MetaManifest"; diff --git a/packages/js/core/src/manifest/formats/polywrap.meta/0.0.1-prealpha.3.ts b/packages/js/core/src/manifest/formats/polywrap.meta/0.0.1-prealpha.3.ts index fe3db7dadf..edfdfefe74 100644 --- a/packages/js/core/src/manifest/formats/polywrap.meta/0.0.1-prealpha.3.ts +++ b/packages/js/core/src/manifest/formats/polywrap.meta/0.0.1-prealpha.3.ts @@ -7,22 +7,70 @@ */ export interface MetaManifest { + /** + * Polywrap wrapper metadata manifest format version. + */ format: "0.0.1-prealpha.3"; + /** + * Name of the wrapper. + */ displayName?: string; + /** + * Short or summary description of the wrapper. + */ subtext?: string; + /** + * Long description for the wrapper. + */ description?: string; + /** + * Reference to the repository holding source code. + */ repository?: string; + /** + * List of relevant tag keywords. + */ tags?: string[]; + /** + * Path to wrapper icon. + */ icon?: string; + /** + * Relevant web links. + */ links?: { + /** + * Web link name. + */ name: string; + /** + * Web link icon. + */ icon?: string; + /** + * Url to the web link. + */ url: string; }[]; + /** + * List of example queries. + */ queries?: { + /** + * Query name. + */ name: string; + /** + * Query description. + */ description?: string; + /** + * Path to graph ql file. + */ query: string; + /** + * Query parameters. + */ vars?: string; }[]; __type: "MetaManifest"; diff --git a/packages/js/core/src/manifest/formats/polywrap.plugin/0.0.1-prealpha.2.ts b/packages/js/core/src/manifest/formats/polywrap.plugin/0.0.1-prealpha.2.ts index 74f3b4b64e..88c9a63645 100644 --- a/packages/js/core/src/manifest/formats/polywrap.plugin/0.0.1-prealpha.2.ts +++ b/packages/js/core/src/manifest/formats/polywrap.plugin/0.0.1-prealpha.2.ts @@ -7,21 +7,60 @@ */ export interface PluginManifest { + /** + * Polywrap plugin manifest format version. + */ format: "0.0.1-prealpha.2"; + /** + * Plugin name. + */ name: string; + /** + * Plugin language. + */ language: string; + /** + * Modules of Polywrap schema and implementation. + */ modules: { + /** + * Module for mutation operations. + */ mutation?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module?: string; }; + /** + * Module for mutation operations. + */ query?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module?: string; }; }; + /** + * Redirects source URI to local wrapper or plugin. + */ import_redirects?: { + /** + * Source URI that needs to be redirected. + */ uri: string; + /** + * Path to GraphQL schema of the module to which URI will be redirected. + */ schema: string; }[]; __type: "PluginManifest"; diff --git a/packages/js/core/src/manifest/formats/polywrap.plugin/0.0.1-prealpha.3.ts b/packages/js/core/src/manifest/formats/polywrap.plugin/0.0.1-prealpha.3.ts index b4ab49d672..62c7e38594 100644 --- a/packages/js/core/src/manifest/formats/polywrap.plugin/0.0.1-prealpha.3.ts +++ b/packages/js/core/src/manifest/formats/polywrap.plugin/0.0.1-prealpha.3.ts @@ -7,13 +7,37 @@ */ export interface PluginManifest { + /** + * Polywrap plugin manifest format version. + */ format: "0.0.1-prealpha.3"; + /** + * Plugin name. + */ name: string; + /** + * Plugin language. + */ language: string; + /** + * Path to Polywrap implementation. + */ module?: string; + /** + * Path to graphql schema. + */ schema: string; + /** + * Redirects source URI to local wrapper or plugin. + */ import_redirects?: { + /** + * Source URI that needs to be redirected. + */ uri: string; + /** + * Path to GraphQL schema of the module to which URI will be redirected. + */ schema: string; }[]; __type: "PluginManifest"; diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.1.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.1.ts index 7eed1faa57..7273c34822 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.1.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.1.ts @@ -7,6 +7,9 @@ */ export interface PolywrapManifest { + /** + * Polywrap manifest format version. + */ format: "0.0.1-prealpha.1"; /** * Description about this wrapper. diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.2.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.2.ts index e303fca821..addfc5f534 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.2.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.2.ts @@ -7,6 +7,9 @@ */ export interface PolywrapManifest { + /** + * Polywrap manifest format version + */ format: "0.0.1-prealpha.2"; /** * Reference to the repository holding source code. diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.3.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.3.ts index 414f4a8793..7c6447a367 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.3.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.3.ts @@ -7,6 +7,9 @@ */ export interface PolywrapManifest { + /** + * Polywrap manifest format version. + */ format: "0.0.1-prealpha.3"; /** * Reference to the repository holding source code. @@ -20,6 +23,9 @@ export interface PolywrapManifest { * Language in which the source code is written. */ language?: string; + /** + * Wrapper has no Wasm implementation, only the schema. + */ interface?: boolean; /** * Modules of Polywrap schema and implementation. diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.4.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.4.ts index 8a5fe439fe..7a67a48ede 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.4.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.4.ts @@ -7,6 +7,9 @@ */ export interface PolywrapManifest { + /** + * Polywrap manifest format version. + */ format: "0.0.1-prealpha.4"; /** * Reference to the repository holding source code. diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.5.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.5.ts index a146b75516..a96c615aca 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.5.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.5.ts @@ -7,6 +7,9 @@ */ export interface PolywrapManifest { + /** + * Polywrap manifest format version. + */ format: "0.0.1-prealpha.5"; /** * Path to the customized build manifest file. diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.6.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.6.ts index 934e5fce14..ea9a60d72e 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.6.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.6.ts @@ -7,6 +7,9 @@ */ export interface PolywrapManifest { + /** + * Polywrap manifest format version. + */ format: "0.0.1-prealpha.6"; /** * Path to the customized build manifest file. diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.7.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.7.ts index 7295a599e7..f5c6046da4 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.7.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.7.ts @@ -7,23 +7,68 @@ */ export interface PolywrapManifest { + /** + * Polywrap manifest format version. + */ format: "0.0.1-prealpha.7"; + /** + * Name of this wrapper package. + */ name: string; + /** + * Path to the customized build manifest file. + */ build?: string; + /** + * Path to wrapper metadata manifest file. + */ meta?: string; + /** + * Language in which the source code is written. + */ language: string; + /** + * Modules of Polywrap schema and implementation. + */ modules: { + /** + * Module for mutation operations. + */ mutation?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module?: string; }; + /** + * Module for query operations. + */ query?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module?: string; }; }; + /** + * Redirects enabling the import of plugins. + */ import_redirects?: { + /** + * URI resolving to the plugin schema. + */ uri: string; + /** + * Graphql schema for imported plugin. + */ schema: string; }[]; __type: "PolywrapManifest"; diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.8.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.8.ts index dc98edbd44..db6aa97c11 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.8.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.8.ts @@ -7,24 +7,72 @@ */ export interface PolywrapManifest { + /** + * Polywrap manifest format version. + */ format: "0.0.1-prealpha.8"; + /** + * Name of this wrapper package. + */ name: string; + /** + * Path to the customized build manifest file. + */ build?: string; + /** + * Path to wrapper metadata manifest file. + */ meta?: string; + /** + * Path to wrapper deploy manifest file. + */ deploy?: string; + /** + * Language in which the source code is written. + */ language: string; + /** + * Modules of Polywrap schema and implementation. + */ modules: { + /** + * Module for mutation operations. + */ mutation?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module?: string; }; + /** + * Module for query operations. + */ query?: { + /** + * Path to graphql schema. + */ schema: string; + /** + * Path to Polywrap implementation. + */ module?: string; }; }; + /** + * Redirects enabling the import of plugins. + */ import_redirects?: { + /** + * URI resolving to the plugin schema. + */ uri: string; + /** + * Graphql schema for imported plugin. + */ schema: string; }[]; __type: "PolywrapManifest"; diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.9.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.9.ts index 534b871144..fd70e78cf4 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.9.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.9.ts @@ -7,16 +7,49 @@ */ export interface PolywrapManifest { + /** + * Polywrap manifest format version. + */ format: "0.0.1-prealpha.9"; + /** + * Name of this wrapper package. + */ name: string; + /** + * Path to the customized build manifest file. + */ build?: string; + /** + * Path to wrapper metadata manifest file. + */ meta?: string; + /** + * Path to wrapper deploy manifest file. + */ deploy?: string; + /** + * Language in which the source code is written. + */ language: string; + /** + * Path to Polywrap implementation. + */ module?: string; + /** + * Path to graphql schema. + */ schema: string; + /** + * Redirects enabling the import of plugins. + */ import_redirects?: { + /** + * URI resolving to the plugin schema. + */ uri: string; + /** + * Graphql schema for imported plugin. + */ schema: string; }[]; __type: "PolywrapManifest"; From faa1cdec5a0c9c6f65f66661805787ff6cb6708d Mon Sep 17 00:00:00 2001 From: Jure Bogunovic Date: Fri, 17 Jun 2022 14:26:37 +0200 Subject: [PATCH 13/29] moved validation implementation from another branch --- packages/js/validation/README.md | 1 + packages/js/validation/jest.config.js | 12 + packages/js/validation/package.json | 28 ++ .../src/__tests__/manifests.spec.ts | 71 +++++ .../src/__tests__/number_of_files.spec.ts | 50 ++++ .../validation/src/__tests__/sanity.spec.ts | 42 +++ .../validation/src/__tests__/schema.spec.ts | 45 +++ .../js/validation/src/__tests__/sizes.spec.ts | 94 ++++++ packages/js/validation/src/constants.ts | 1 + packages/js/validation/src/index.ts | 2 + .../src/types/FileSystemPackageReader.ts | 35 +++ .../js/validation/src/types/PackageReader.ts | 9 + packages/js/validation/src/types/PathStats.ts | 5 + .../src/types/ValidationFailReason.ts | 13 + .../validation/src/types/ValidationResult.ts | 7 + .../validation/src/types/WrapperContraints.ts | 6 + .../validation/src/types/WrapperValidator.ts | 267 ++++++++++++++++++ packages/js/validation/src/types/index.ts | 7 + packages/js/validation/tsconfig.build.json | 9 + packages/js/validation/tsconfig.json | 10 + yarn.lock | 42 +-- 21 files changed, 735 insertions(+), 21 deletions(-) create mode 100644 packages/js/validation/README.md create mode 100644 packages/js/validation/jest.config.js create mode 100644 packages/js/validation/package.json create mode 100644 packages/js/validation/src/__tests__/manifests.spec.ts create mode 100644 packages/js/validation/src/__tests__/number_of_files.spec.ts create mode 100644 packages/js/validation/src/__tests__/sanity.spec.ts create mode 100644 packages/js/validation/src/__tests__/schema.spec.ts create mode 100644 packages/js/validation/src/__tests__/sizes.spec.ts create mode 100644 packages/js/validation/src/constants.ts create mode 100644 packages/js/validation/src/index.ts create mode 100644 packages/js/validation/src/types/FileSystemPackageReader.ts create mode 100644 packages/js/validation/src/types/PackageReader.ts create mode 100644 packages/js/validation/src/types/PathStats.ts create mode 100644 packages/js/validation/src/types/ValidationFailReason.ts create mode 100644 packages/js/validation/src/types/ValidationResult.ts create mode 100644 packages/js/validation/src/types/WrapperContraints.ts create mode 100644 packages/js/validation/src/types/WrapperValidator.ts create mode 100644 packages/js/validation/src/types/index.ts create mode 100644 packages/js/validation/tsconfig.build.json create mode 100644 packages/js/validation/tsconfig.json diff --git a/packages/js/validation/README.md b/packages/js/validation/README.md new file mode 100644 index 0000000000..30404ce4c5 --- /dev/null +++ b/packages/js/validation/README.md @@ -0,0 +1 @@ +TODO \ No newline at end of file diff --git a/packages/js/validation/jest.config.js b/packages/js/validation/jest.config.js new file mode 100644 index 0000000000..b156259895 --- /dev/null +++ b/packages/js/validation/jest.config.js @@ -0,0 +1,12 @@ +module.exports = { + collectCoverage: true, + preset: 'ts-jest', + testEnvironment: 'node', + testMatch: ["**/?(*.)+(spec|test).[jt]s?(x)"], + modulePathIgnorePatterns: ['./src/__tests__/apis'], + globals: { + 'ts-jest': { + diagnostics: false + } + } +}; diff --git a/packages/js/validation/package.json b/packages/js/validation/package.json new file mode 100644 index 0000000000..fe2d301c38 --- /dev/null +++ b/packages/js/validation/package.json @@ -0,0 +1,28 @@ +{ + "name": "@polywrap/core-validation", + "version": "0.0.1-prealpha.85", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/polywrap/monorepo.git" + }, + "scripts": { + "build": "rimraf ./build && tsc --project tsconfig.build.json", + "lint": "eslint --color -c ../../../.eslintrc.js src/", + "test": "jest --passWithNoTests --runInBand --verbose", + "test:ci": "jest --passWithNoTests --runInBand --verbose", + "test:watch": "jest --watch --passWithNoTests --verbose" + }, + "dependencies": { + "@polywrap/core-js": "0.0.1-prealpha.85", + "@polywrap/schema-parse": "0.0.1-prealpha.85" + }, + "devDependencies": { + "@types/jest": "26.0.8", + "jest": "26.6.3", + "rimraf": "3.0.2", + "ts-jest": "26.5.4", + "ts-node": "8.10.2", + "typescript": "4.0.7" + } +} diff --git a/packages/js/validation/src/__tests__/manifests.spec.ts b/packages/js/validation/src/__tests__/manifests.spec.ts new file mode 100644 index 0000000000..b1d5288e7d --- /dev/null +++ b/packages/js/validation/src/__tests__/manifests.spec.ts @@ -0,0 +1,71 @@ +import path from "path"; +import { + FileSystemPackageReader, + ValidationFailReason, + WrapperValidator, +} from ".."; + +jest.setTimeout(200000); + +const testWrappersPath = path.join(__dirname, "./wrappers"); + +describe("manfiests", () => { + let validator: WrapperValidator; + + beforeAll(async () => { + validator = new WrapperValidator({ + maxSize: 1_000_000, + maxFileSize: 1_000_000, + maxModuleSize: 1_000_000, + maxNumberOfFiles: 1000, + }); + }); + + it("fails validating an invalid wrap manifest", async () => { + const reader = new FileSystemPackageReader( + path.join(testWrappersPath, "invalid-wrap-manifest") + ); + + const result = await validator.validate(reader); + + expect(result.valid).toBeFalsy(); + expect(result.failReason).toEqual(ValidationFailReason.InvalidWrapManifest); + }); + + it("fails validating when wrap manifest not found", async () => { + const reader = new FileSystemPackageReader( + path.join(testWrappersPath, "missing-wrap-manifest") + ); + + const result = await validator.validate(reader); + + expect(result.valid).toBeFalsy(); + expect(result.failReason).toEqual( + ValidationFailReason.WrapManifestNotFound + ); + }); + + it("fails validating an invalid build manifest", async () => { + const reader = new FileSystemPackageReader( + path.join(testWrappersPath, "invalid-build-manifest") + ); + + const result = await validator.validate(reader); + + expect(result.valid).toBeFalsy(); + expect(result.failReason).toEqual( + ValidationFailReason.InvalidBuildManifest + ); + }); + + it("fails validating an invalid meta manifest", async () => { + const reader = new FileSystemPackageReader( + path.join(testWrappersPath, "invalid-meta-manifest") + ); + + const result = await validator.validate(reader); + + expect(result.valid).toBeFalsy(); + expect(result.failReason).toEqual(ValidationFailReason.InvalidMetaManifest); + }); +}); diff --git a/packages/js/validation/src/__tests__/number_of_files.spec.ts b/packages/js/validation/src/__tests__/number_of_files.spec.ts new file mode 100644 index 0000000000..7a57cdc37b --- /dev/null +++ b/packages/js/validation/src/__tests__/number_of_files.spec.ts @@ -0,0 +1,50 @@ +import path from "path"; +import { + FileSystemPackageReader, + ValidationFailReason, + WrapperValidator, +} from ".."; + +jest.setTimeout(200000); + +const testWrappersPath = path.join(__dirname, "./wrappers"); + +const assertValidWrapper = async (wrapperPath: string) => { + const reader = new FileSystemPackageReader(wrapperPath); + + const validator = new WrapperValidator({ + maxSize: 1_000_000, + maxFileSize: 1_000_000, + maxModuleSize: 1_000_000, + maxNumberOfFiles: 1000, + }); + + const result = await validator.validate(reader); + + expect(result.valid).toBeTruthy(); + expect(result.failReason).toEqual(undefined); +}; + +describe("number of files", () => { + it("sanity", async () => { + await assertValidWrapper(path.join(testWrappersPath, "more-than-6-files")); + }); + + it("fails validating when too many files", async () => { + const reader = new FileSystemPackageReader( + path.join(testWrappersPath, "more-than-6-files") + ); + + const validator = new WrapperValidator({ + maxSize: 1_000_000, + maxFileSize: 1_000_000, + maxModuleSize: 1_000_000, + maxNumberOfFiles: 6, + }); + + const result = await validator.validate(reader); + + expect(result.valid).toBeFalsy(); + expect(result.failReason).toEqual(ValidationFailReason.TooManyFiles); + }); +}); diff --git a/packages/js/validation/src/__tests__/sanity.spec.ts b/packages/js/validation/src/__tests__/sanity.spec.ts new file mode 100644 index 0000000000..3844421b6c --- /dev/null +++ b/packages/js/validation/src/__tests__/sanity.spec.ts @@ -0,0 +1,42 @@ +import path from "path"; +import { WrapperValidator, FileSystemPackageReader } from ".."; + +jest.setTimeout(200000); + +const testWrappersPath = path.join(__dirname, "./wrappers"); + +describe("sanity", () => { + it("can validate a valid wasm wrapper", async () => { + const pathToValidWrapper = path.join(testWrappersPath, "valid"); + const reader = new FileSystemPackageReader(pathToValidWrapper); + + const validator = new WrapperValidator({ + maxSize: 1_000_000, + maxFileSize: 1_000_000, + maxModuleSize: 1_000_000, + maxNumberOfFiles: 1000, + }); + + const result = await validator.validate(reader); + + expect(result.valid).toBeTruthy(); + expect(result.failReason).toEqual(undefined); + }); + + it("can validate a valid wrapper interface", async () => { + const pathToValidWrapper = path.join(testWrappersPath, "valid-interface"); + const reader = new FileSystemPackageReader(pathToValidWrapper); + + const validator = new WrapperValidator({ + maxSize: 1_000_000, + maxFileSize: 1_000_000, + maxModuleSize: 1_000_000, + maxNumberOfFiles: 1000, + }); + + const result = await validator.validate(reader); + + expect(result.valid).toBeTruthy(); + expect(result.failReason).toEqual(undefined); + }); +}); diff --git a/packages/js/validation/src/__tests__/schema.spec.ts b/packages/js/validation/src/__tests__/schema.spec.ts new file mode 100644 index 0000000000..e0b0b18b0a --- /dev/null +++ b/packages/js/validation/src/__tests__/schema.spec.ts @@ -0,0 +1,45 @@ +import path from "path"; +import { + FileSystemPackageReader, + ValidationFailReason, + WrapperValidator, +} from ".."; + +jest.setTimeout(200000); + +const testWrappersPath = path.join(__dirname, "./wrappers"); + +describe("schema", () => { + let validator: WrapperValidator; + + beforeAll(async () => { + validator = new WrapperValidator({ + maxSize: 1_000_000, + maxFileSize: 1_000_000, + maxModuleSize: 1_000_000, + maxNumberOfFiles: 1000, + }); + }); + + it("fails validating wrapper with missing schema", async () => { + const reader = new FileSystemPackageReader( + path.join(testWrappersPath, "missing-schema") + ); + + const result = await validator.validate(reader); + + expect(result.valid).toBeFalsy(); + expect(result.failReason).toEqual(ValidationFailReason.SchemaNotFound); + }); + + it("fails validating invalid schema file", async () => { + const reader = new FileSystemPackageReader( + path.join(testWrappersPath, "invalid-schema") + ); + + const result = await validator.validate(reader); + + expect(result.valid).toBeFalsy(); + expect(result.failReason).toEqual(ValidationFailReason.InvalidSchema); + }); +}); diff --git a/packages/js/validation/src/__tests__/sizes.spec.ts b/packages/js/validation/src/__tests__/sizes.spec.ts new file mode 100644 index 0000000000..ee5c84ea3e --- /dev/null +++ b/packages/js/validation/src/__tests__/sizes.spec.ts @@ -0,0 +1,94 @@ +import path from "path"; +import { + FileSystemPackageReader, + ValidationFailReason, + WrapperValidator, +} from ".."; + +jest.setTimeout(200000); + +const testWrappersPath = path.join(__dirname, "./wrappers"); + +const assertValidWrapper = async (wrapperPath: string) => { + const reader = new FileSystemPackageReader(wrapperPath); + + const validator = new WrapperValidator({ + maxSize: 1_000_000, + maxFileSize: 1_000_000, + maxModuleSize: 1_000_000, + maxNumberOfFiles: 1000, + }); + + const result = await validator.validate(reader); + + expect(result.valid).toBeTruthy(); + expect(result.failReason).toEqual(undefined); +}; + +describe("manfiests", () => { + it("sanity", async () => { + await assertValidWrapper( + path.join(testWrappersPath, "wrapper-size-over-100-kb") + ); + await assertValidWrapper( + path.join(testWrappersPath, "file-size-over-100-kb") + ); + await assertValidWrapper( + path.join(testWrappersPath, "module-size-over-100-kb") + ); + }); + + it("fails validating a large wrapper", async () => { + const reader = new FileSystemPackageReader( + path.join(testWrappersPath, "wrapper-size-over-100-kb") + ); + + const validator = new WrapperValidator({ + maxSize: 100_000, + maxFileSize: 1_000_000, + maxModuleSize: 1_000_000, + maxNumberOfFiles: 1000, + }); + + const result = await validator.validate(reader); + + expect(result.valid).toBeFalsy(); + expect(result.failReason).toEqual(ValidationFailReason.WrapperTooLarge); + }); + + it("fails validating a large file", async () => { + const reader = new FileSystemPackageReader( + path.join(testWrappersPath, "module-size-over-100-kb") + ); + + const validator = new WrapperValidator({ + maxSize: 1_000_000, + maxFileSize: 100_000, + maxModuleSize: 1_000_000, + maxNumberOfFiles: 1000, + }); + + const result = await validator.validate(reader); + + expect(result.valid).toBeFalsy(); + expect(result.failReason).toEqual(ValidationFailReason.FileTooLarge); + }); + + it("fails validating a large module", async () => { + const reader = new FileSystemPackageReader( + path.join(testWrappersPath, "module-size-over-100-kb") + ); + + const validator = new WrapperValidator({ + maxSize: 1_000_000, + maxFileSize: 1_000_000, + maxModuleSize: 100_000, + maxNumberOfFiles: 1000, + }); + + const result = await validator.validate(reader); + + expect(result.valid).toBeFalsy(); + expect(result.failReason).toEqual(ValidationFailReason.ModuleTooLarge); + }); +}); diff --git a/packages/js/validation/src/constants.ts b/packages/js/validation/src/constants.ts new file mode 100644 index 0000000000..44a84597bd --- /dev/null +++ b/packages/js/validation/src/constants.ts @@ -0,0 +1 @@ +export const VALID_WRAP_MANIFEST_NAMES = ["polywrap.json"]; diff --git a/packages/js/validation/src/index.ts b/packages/js/validation/src/index.ts new file mode 100644 index 0000000000..e6869b197e --- /dev/null +++ b/packages/js/validation/src/index.ts @@ -0,0 +1,2 @@ +export * from "./constants"; +export * from "./types"; diff --git a/packages/js/validation/src/types/FileSystemPackageReader.ts b/packages/js/validation/src/types/FileSystemPackageReader.ts new file mode 100644 index 0000000000..29383f8ad9 --- /dev/null +++ b/packages/js/validation/src/types/FileSystemPackageReader.ts @@ -0,0 +1,35 @@ +import { PackageReader, PathStats } from "."; + +import path from "path"; +import fs from "fs"; + +export class FileSystemPackageReader implements PackageReader { + constructor(public readonly wrapperPath: string) {} + + readFileAsString(filePath: string): Promise { + return fs.promises.readFile(path.join(this.wrapperPath, filePath), "utf8"); + } + + readFile(filePath: string): Promise { + return fs.promises.readFile(path.join(this.wrapperPath, filePath)); + } + + exists(itemPath: string): Promise { + return Promise.resolve( + fs.existsSync(path.join(this.wrapperPath, itemPath)) + ); + } + + async getStats(itemPath: string): Promise { + const stat = await fs.promises.lstat(path.join(this.wrapperPath, itemPath)); + return { + isFile: stat.isFile(), + isDir: stat.isDirectory(), + size: stat.size, + }; + } + + readDir(dirPath: string): Promise { + return fs.promises.readdir(path.join(this.wrapperPath, dirPath)); + } +} diff --git a/packages/js/validation/src/types/PackageReader.ts b/packages/js/validation/src/types/PackageReader.ts new file mode 100644 index 0000000000..6db17f862c --- /dev/null +++ b/packages/js/validation/src/types/PackageReader.ts @@ -0,0 +1,9 @@ +import { PathStats } from "./PathStats"; + +export interface PackageReader { + readFileAsString: (path: string) => Promise; + readFile: (path: string) => Promise; + exists: (path: string) => Promise; + getStats: (path: string) => Promise; + readDir: (path: string) => Promise; +} diff --git a/packages/js/validation/src/types/PathStats.ts b/packages/js/validation/src/types/PathStats.ts new file mode 100644 index 0000000000..ca505808dd --- /dev/null +++ b/packages/js/validation/src/types/PathStats.ts @@ -0,0 +1,5 @@ +export type PathStats = { + isFile: boolean; + isDir: boolean; + size: number; +}; diff --git a/packages/js/validation/src/types/ValidationFailReason.ts b/packages/js/validation/src/types/ValidationFailReason.ts new file mode 100644 index 0000000000..e6a8ed95b7 --- /dev/null +++ b/packages/js/validation/src/types/ValidationFailReason.ts @@ -0,0 +1,13 @@ +export enum ValidationFailReason { + InvalidWrapManifest, + MultipleWrapManifests, + WrapManifestNotFound, + InvalidBuildManifest, + InvalidMetaManifest, + FileTooLarge, + WrapperTooLarge, + ModuleTooLarge, + InvalidSchema, + SchemaNotFound, + TooManyFiles, +} diff --git a/packages/js/validation/src/types/ValidationResult.ts b/packages/js/validation/src/types/ValidationResult.ts new file mode 100644 index 0000000000..3bb46bb14f --- /dev/null +++ b/packages/js/validation/src/types/ValidationResult.ts @@ -0,0 +1,7 @@ +import { ValidationFailReason } from "./ValidationFailReason"; + +export type ValidationResult = { + valid: boolean; + failError?: Error; + failReason?: ValidationFailReason; +}; diff --git a/packages/js/validation/src/types/WrapperContraints.ts b/packages/js/validation/src/types/WrapperContraints.ts new file mode 100644 index 0000000000..9be60d210f --- /dev/null +++ b/packages/js/validation/src/types/WrapperContraints.ts @@ -0,0 +1,6 @@ +export type WrapperConstraints = { + maxSize: number; + maxFileSize: number; + maxModuleSize: number; + maxNumberOfFiles: number; +}; diff --git a/packages/js/validation/src/types/WrapperValidator.ts b/packages/js/validation/src/types/WrapperValidator.ts new file mode 100644 index 0000000000..89a1916f5a --- /dev/null +++ b/packages/js/validation/src/types/WrapperValidator.ts @@ -0,0 +1,267 @@ +import { VALID_WRAP_MANIFEST_NAMES } from ".."; +import { + WrapperConstraints, + PackageReader, + ValidationResult, + ValidationFailReason, +} from "."; + +import { parseSchema } from "@polywrap/schema-parse"; +import { + deserializePolywrapManifest, + deserializeBuildManifest, + deserializeMetaManifest, + PolywrapManifest, +} from "@polywrap/core-js"; +import path from "path"; + +export class WrapperValidator { + constructor(private constraints: WrapperConstraints) {} + + async validate(reader: PackageReader): Promise { + let result = await this.validateManifests(reader); + if (!result.valid) { + return result; + } + + result = await this.validateStructure(reader); + if (!result.valid) { + return result; + } + + return this.success(); + } + + private async validateStructure( + reader: PackageReader + ): Promise { + const { result: pathResult } = await this.validatePath(reader, "./", 0, 0); + + if (!pathResult.valid) { + return pathResult; + } + + return this.success(); + } + + private async validatePath( + reader: PackageReader, + basePath: string, + currentSize: number, + currentFileCnt: number + ): Promise<{ + result: ValidationResult; + currentSize: number; + currentFileCnt: number; + }> { + const items = await reader.readDir(basePath); + for (const itemPath of items) { + const stats = await reader.getStats(path.join(basePath, itemPath)); + + currentSize += stats.size; + if (currentSize > this.constraints.maxSize) { + return { + result: this.fail(ValidationFailReason.WrapperTooLarge), + currentSize, + currentFileCnt, + }; + } + + currentFileCnt++; + if (currentFileCnt > this.constraints.maxNumberOfFiles) { + return { + result: this.fail(ValidationFailReason.TooManyFiles), + currentSize, + currentFileCnt, + }; + } + + if (stats.isFile) { + if (stats.size > this.constraints.maxFileSize) { + return { + result: this.fail(ValidationFailReason.FileTooLarge), + currentSize, + currentFileCnt, + }; + } + } else { + const { + result, + currentSize: newSize, + currentFileCnt: newFileCnt, + } = await this.validatePath( + reader, + path.join(basePath, itemPath), + currentSize, + currentFileCnt + ); + currentSize = newSize; + currentFileCnt = newFileCnt; + + if (!result.valid) { + return { + result, + currentSize, + currentFileCnt, + }; + } + } + } + + return { + result: this.success(), + currentSize, + currentFileCnt, + }; + } + + private async validateManifests( + reader: PackageReader + ): Promise { + let manifest: PolywrapManifest | undefined; + // Go through manifest names, if more than one wrap manifest exists, fail + // If no wrap manifest exists or is invalid, also fail + for (const manifestName of VALID_WRAP_MANIFEST_NAMES) { + if (!(await reader.exists(manifestName))) { + continue; + } + + if (manifest) { + return this.fail(ValidationFailReason.MultipleWrapManifests); + } + const manifestFile = await reader.readFileAsString(manifestName); + try { + manifest = deserializePolywrapManifest(manifestFile); + } catch (err) { + return this.fail(ValidationFailReason.InvalidWrapManifest, err); + } + } + + if (!manifest) { + return this.fail(ValidationFailReason.WrapManifestNotFound); + } + + const schemaResult = await this.validateSchema(reader, manifest.schema); + if (!schemaResult.valid) { + return schemaResult; + } + + const moduleResult = await this.validateModule(reader, manifest.module); + if (!moduleResult.valid) { + return moduleResult; + } + + let manifestValidationResult = await this.validateBuildManifest( + reader, + manifest + ); + if (!manifestValidationResult.valid) { + return manifestValidationResult; + } + + manifestValidationResult = await this.validateMetaManifest( + reader, + manifest + ); + if (!manifestValidationResult.valid) { + return manifestValidationResult; + } + + return this.success(); + } + + private async validateSchema( + reader: PackageReader, + schemaFilePath: string + ): Promise { + if (!(await reader.exists(schemaFilePath))) { + return this.fail(ValidationFailReason.SchemaNotFound); + } + try { + parseSchema(await reader.readFileAsString(schemaFilePath)); + } catch (err) { + return this.fail(ValidationFailReason.InvalidSchema, err); + } + + return this.success(); + } + + private async validateModule( + reader: PackageReader, + moduleFilePath: string | undefined + ): Promise { + if (!moduleFilePath) { + return this.success(); + } + + const moduleSize = (await reader.getStats(moduleFilePath)).size; + + if (moduleSize > this.constraints.maxModuleSize) { + return this.fail(ValidationFailReason.ModuleTooLarge); + } + + return this.success(); + } + + private async validateBuildManifest( + reader: PackageReader, + web3ApiManifest: PolywrapManifest + ): Promise { + const manifestPath = web3ApiManifest.build; + + if (manifestPath) { + // Manifests get built as a `.json` file so we need to change the extension + const fileName = path.parse(manifestPath).name; + const fullManifestName = `${fileName}.json`; + + const buildManifestFile = await reader.readFileAsString(fullManifestName); + try { + deserializeBuildManifest(buildManifestFile); + } catch (err) { + return this.fail(ValidationFailReason.InvalidBuildManifest, err); + } + } + + return this.success(); + } + + private async validateMetaManifest( + reader: PackageReader, + web3ApiManifest: PolywrapManifest + ): Promise { + const manifestPath = web3ApiManifest.meta; + + if (manifestPath) { + // Manifests get built as a `.json` file so we need to change the extension + const fileName = path.parse(manifestPath).name; + const fullManifestName = `${fileName}.json`; + + const metaManifestFile = await reader.readFileAsString(fullManifestName); + + try { + deserializeMetaManifest(metaManifestFile); + } catch (err) { + return this.fail(ValidationFailReason.InvalidMetaManifest, err); + } + } + + return this.success(); + } + + private success(): ValidationResult { + return { + valid: true, + }; + } + + private fail( + reason: ValidationFailReason, + error: Error | undefined = undefined + ): ValidationResult { + return { + valid: false, + failReason: reason, + failError: error, + }; + } +} diff --git a/packages/js/validation/src/types/index.ts b/packages/js/validation/src/types/index.ts new file mode 100644 index 0000000000..3fb5c6d671 --- /dev/null +++ b/packages/js/validation/src/types/index.ts @@ -0,0 +1,7 @@ +export * from "./WrapperValidator"; +export * from "./FileSystemPackageReader"; +export * from "./PathStats"; +export * from "./ValidationFailReason"; +export * from "./ValidationResult"; +export * from "./WrapperContraints"; +export * from "./PackageReader"; diff --git a/packages/js/validation/tsconfig.build.json b/packages/js/validation/tsconfig.build.json new file mode 100644 index 0000000000..77aadfdd2f --- /dev/null +++ b/packages/js/validation/tsconfig.build.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "include": [ + "./src/**/*.ts" + ], + "exclude": [ + "./src/**/__tests__" + ] +} diff --git a/packages/js/validation/tsconfig.json b/packages/js/validation/tsconfig.json new file mode 100644 index 0000000000..5d37204c00 --- /dev/null +++ b/packages/js/validation/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../../tsconfig", + "compilerOptions": { + "outDir": "build" + }, + "include": [ + "./src/**/*.ts" + ], + "exclude": [] +} diff --git a/yarn.lock b/yarn.lock index 57019aadd2..373ee7f1c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3472,14 +3472,14 @@ integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== "@tsconfig/node12@^1.0.7": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.10.tgz#10fecee4a3be17357ce99b370bd81874044d8dbd" - integrity sha512-N+srakvPaYMGkwjNDx3ASx65Zl3QG8dJgVtIB+YMOkucU+zctlv/hdP5250VKdDHSDoW9PFZoCqbqNcAPjCjXA== + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== "@tsconfig/node14@^1.0.0": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.2.tgz#b09c08de2eb319ca2acab17a1b8028af110b24b3" - integrity sha512-YwrUA5ysDXHFYfL0Xed9x3sNS4P+aKlCOnnbqUa2E5HdQshHFleCJVrj1PlGTb4GgFUCDyte1v3JWLy2sz8Oqg== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== "@tsconfig/node16@^1.0.2": version "1.0.3" @@ -3670,9 +3670,9 @@ integrity sha512-wH6Tu9mbiOt0n5EvdoWy0VGQaJMHfLIxY/6wS0xLC7CV1taM6gESEzcYy0ZlWvxxiiljYvfDIvz4hHbUUDRlhw== "@types/node@*": - version "17.0.44" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.44.tgz#16dd0bb5338f016d8ca10631789f0d0612fe5d5b" - integrity sha512-gWYiOlu6Y4oyLYBvsJAPlwHbC8H4tX+tLsHy6Ee976wedwwZKrG2hFl3Y/HiH6bIyLTbDWQexQF/ohwKkOpUCg== + version "18.0.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a" + integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA== "@types/node@12.12.26": version "12.12.26" @@ -5640,9 +5640,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001349: - version "1.0.30001354" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001354.tgz#95c5efdb64148bb4870771749b9a619304755ce5" - integrity sha512-mImKeCkyGDAHNywYFA4bqnLAzTUvVkqPvhY4DV47X+Gl2c5Z8c3KNETnXp14GQt11LvxE8AwjzGxJ+rsikiOzg== + version "1.0.30001355" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001355.tgz#e240b7177443ed0198c737a7f609536976701c77" + integrity sha512-Sd6pjJHF27LzCB7pT7qs+kuX2ndurzCzkpJl6Qct7LPSZ9jn0bkOA8mdgMgmqnQAWLVOOGjLpc+66V57eLtb1g== capture-exit@^2.0.0: version "2.0.0" @@ -7320,9 +7320,9 @@ electron-fetch@^1.7.2: encoding "^0.1.13" electron-to-chromium@^1.3.378, electron-to-chromium@^1.4.147: - version "1.4.157" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.157.tgz#25799684ed6f2be52bee2b716f9de257b24f3ba7" - integrity sha512-gteFnXPKsDAdm1U5vVuyrLnKOaR/x/SY+HjUQoHypLUYWJt4RaWU3PaiTBEkRDJh8/Zd8KC/EFjV+uPaHsjKFA== + version "1.4.160" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.160.tgz#da54e24fddeaca52f37965c7bec1bd964c97d487" + integrity sha512-O1Z12YfyeX2LXYO7MdHIPazGXzLzQnr1ADW55U2ARQsJBPgfpJz3u+g3Mo2l1wSyfOCdiGqaX9qtV4XKZ0HNRA== elliptic@6.5.4, elliptic@^6.5.3: version "6.5.4" @@ -14757,9 +14757,9 @@ prettier@2.2.1: integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== prettier@^2.2.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.0.tgz#a4fdae07e5596c51c9857ea676cd41a0163879d6" - integrity sha512-nwoX4GMFgxoPC6diHvSwmK/4yU8FFH3V8XWtLQrbj4IBsK2pkYhG4kf/ljF/haaZ/aii+wNJqISrCDPgxGWDVQ== + version "2.7.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" + integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== pretty-bytes@^5.1.0: version "5.6.0" @@ -17499,9 +17499,9 @@ typescript@^4.0: integrity sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA== uglify-js@^3.1.4: - version "3.16.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.0.tgz#b778ba0831ca102c1d8ecbdec2d2bdfcc7353190" - integrity sha512-FEikl6bR30n0T3amyBh3LoiBdqHRy/f4H80+My34HOesOKyHfOsxAPAxOoqC0JUnC1amnO0IwkYC3sko51caSw== + version "3.16.1" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.1.tgz#0e7ec928b3d0b1e1d952bce634c384fd56377317" + integrity sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ== uid-number@0.0.6: version "0.0.6" From f7f8708bf0f63f8aba45863c3ca1342bcde43411 Mon Sep 17 00:00:00 2001 From: Jure Bogunovic Date: Fri, 17 Jun 2022 14:43:15 +0200 Subject: [PATCH 14/29] added testing wrappers compatible with the new toolchain version --- .../file-size-over-100-kb/module.wasm | Bin 0 -> 101034 bytes .../file-size-over-100-kb/polywrap.build.json | 6 + .../file-size-over-100-kb/polywrap.json | 9 + .../file-size-over-100-kb/polywrap.meta.json | 8 + .../file-size-over-100-kb/schema.graphql | 382 ++++++++++++++++++ .../invalid-build-manifest/module.wasm | Bin 0 -> 101034 bytes .../polywrap.build.json | 1 + .../invalid-build-manifest/polywrap.json | 9 + .../invalid-build-manifest/polywrap.meta.json | 8 + .../invalid-build-manifest/schema.graphql | 382 ++++++++++++++++++ .../invalid-meta-manifest/module.wasm | Bin 0 -> 101034 bytes .../invalid-meta-manifest/polywrap.build.json | 6 + .../invalid-meta-manifest/polywrap.json | 9 + .../invalid-meta-manifest/polywrap.meta.json | 1 + .../invalid-meta-manifest/schema.graphql | 382 ++++++++++++++++++ .../wrappers/invalid-schema/module.wasm | Bin 0 -> 101034 bytes .../invalid-schema/polywrap.build.json | 6 + .../wrappers/invalid-schema/polywrap.json | 9 + .../invalid-schema/polywrap.meta.json | 8 + .../wrappers/invalid-schema/schema.graphql | 1 + .../invalid-wrap-manifest/module.wasm | Bin 0 -> 101034 bytes .../invalid-wrap-manifest/polywrap.build.json | 6 + .../invalid-wrap-manifest/polywrap.json | 4 + .../invalid-wrap-manifest/polywrap.meta.json | 8 + .../invalid-wrap-manifest/schema.graphql | 382 ++++++++++++++++++ .../wrappers/missing-schema/module.wasm | Bin 0 -> 101034 bytes .../missing-schema/polywrap.build.json | 6 + .../wrappers/missing-schema/polywrap.json | 9 + .../missing-schema/polywrap.meta.json | 8 + .../missing-wrap-manifest/module.wasm | Bin 0 -> 101034 bytes .../missing-wrap-manifest/polywrap.build.json | 6 + .../missing-wrap-manifest/polywrap.meta.json | 8 + .../missing-wrap-manifest/schema.graphql | 382 ++++++++++++++++++ .../module-size-over-100-kb/module.wasm | Bin 0 -> 101034 bytes .../polywrap.build.json | 6 + .../module-size-over-100-kb/polywrap.json | 9 + .../polywrap.meta.json | 8 + .../module-size-over-100-kb/schema.graphql | 382 ++++++++++++++++++ .../more-than-6-files/meta/icon/icon.png | Bin 0 -> 1914 bytes .../wrappers/more-than-6-files/module.wasm | Bin 0 -> 101034 bytes .../more-than-6-files/polywrap.build.json | 6 + .../wrappers/more-than-6-files/polywrap.json | 9 + .../more-than-6-files/polywrap.meta.json | 9 + .../wrappers/more-than-6-files/schema.graphql | 382 ++++++++++++++++++ .../valid-interface/polywrap.build.json | 6 + .../wrappers/valid-interface/polywrap.json | 8 + .../valid-interface/polywrap.meta.json | 8 + .../wrappers/valid-interface/schema.graphql | 382 ++++++++++++++++++ .../src/__tests__/wrappers/valid/module.wasm | Bin 0 -> 101034 bytes .../wrappers/valid/polywrap.build.json | 6 + .../__tests__/wrappers/valid/polywrap.json | 9 + .../wrappers/valid/polywrap.meta.json | 8 + .../__tests__/wrappers/valid/schema.graphql | 382 ++++++++++++++++++ .../wrapper-size-over-100-kb/module.wasm | Bin 0 -> 101034 bytes .../polywrap.build.json | 6 + .../wrapper-size-over-100-kb/polywrap.json | 9 + .../polywrap.meta.json | 8 + .../wrapper-size-over-100-kb/schema.graphql | 382 ++++++++++++++++++ 58 files changed, 4071 insertions(+) create mode 100644 packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/module.wasm create mode 100644 packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/polywrap.build.json create mode 100644 packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/polywrap.json create mode 100644 packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/polywrap.meta.json create mode 100644 packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/schema.graphql create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/module.wasm create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/polywrap.build.json create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/polywrap.json create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/polywrap.meta.json create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/schema.graphql create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/module.wasm create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/polywrap.build.json create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/polywrap.json create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/polywrap.meta.json create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/schema.graphql create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-schema/module.wasm create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-schema/polywrap.build.json create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-schema/polywrap.json create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-schema/polywrap.meta.json create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-schema/schema.graphql create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/module.wasm create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/polywrap.build.json create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/polywrap.json create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/polywrap.meta.json create mode 100644 packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/schema.graphql create mode 100644 packages/js/validation/src/__tests__/wrappers/missing-schema/module.wasm create mode 100644 packages/js/validation/src/__tests__/wrappers/missing-schema/polywrap.build.json create mode 100644 packages/js/validation/src/__tests__/wrappers/missing-schema/polywrap.json create mode 100644 packages/js/validation/src/__tests__/wrappers/missing-schema/polywrap.meta.json create mode 100644 packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/module.wasm create mode 100644 packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/polywrap.build.json create mode 100644 packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/polywrap.meta.json create mode 100644 packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/schema.graphql create mode 100644 packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/module.wasm create mode 100644 packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/polywrap.build.json create mode 100644 packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/polywrap.json create mode 100644 packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/polywrap.meta.json create mode 100644 packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/schema.graphql create mode 100644 packages/js/validation/src/__tests__/wrappers/more-than-6-files/meta/icon/icon.png create mode 100644 packages/js/validation/src/__tests__/wrappers/more-than-6-files/module.wasm create mode 100644 packages/js/validation/src/__tests__/wrappers/more-than-6-files/polywrap.build.json create mode 100644 packages/js/validation/src/__tests__/wrappers/more-than-6-files/polywrap.json create mode 100644 packages/js/validation/src/__tests__/wrappers/more-than-6-files/polywrap.meta.json create mode 100644 packages/js/validation/src/__tests__/wrappers/more-than-6-files/schema.graphql create mode 100644 packages/js/validation/src/__tests__/wrappers/valid-interface/polywrap.build.json create mode 100644 packages/js/validation/src/__tests__/wrappers/valid-interface/polywrap.json create mode 100644 packages/js/validation/src/__tests__/wrappers/valid-interface/polywrap.meta.json create mode 100644 packages/js/validation/src/__tests__/wrappers/valid-interface/schema.graphql create mode 100644 packages/js/validation/src/__tests__/wrappers/valid/module.wasm create mode 100644 packages/js/validation/src/__tests__/wrappers/valid/polywrap.build.json create mode 100644 packages/js/validation/src/__tests__/wrappers/valid/polywrap.json create mode 100644 packages/js/validation/src/__tests__/wrappers/valid/polywrap.meta.json create mode 100644 packages/js/validation/src/__tests__/wrappers/valid/schema.graphql create mode 100644 packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/module.wasm create mode 100644 packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/polywrap.build.json create mode 100644 packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/polywrap.json create mode 100644 packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/polywrap.meta.json create mode 100644 packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/schema.graphql diff --git a/packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/module.wasm b/packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/module.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6b497232cb7754ae5653ffc297e19989e00f9b86 GIT binary patch literal 101034 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 literal 0 HcmV?d00001 diff --git a/packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/polywrap.build.json b/packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/polywrap.build.json new file mode 100644 index 0000000000..fb006acf11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/polywrap.build.json @@ -0,0 +1,6 @@ +{ + "format": "0.0.1-prealpha.3", + "docker": { + "buildImageId": "sha256:c6f86547730a5044febd75872db0afdfc4cda3cfa0053b838932f03721c458ca\n" + } +} \ No newline at end of file diff --git a/packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/polywrap.json b/packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/polywrap.json new file mode 100644 index 0000000000..ab7f052a11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/polywrap.json @@ -0,0 +1,9 @@ +{ + "format": "0.0.1-prealpha.9", + "name": "Valid Wrapper", + "language": "wasm/assemblyscript", + "build": "./polywrap.build.json", + "meta": "./polywrap.meta.json", + "schema": "./schema.graphql", + "module": "./module.wasm" +} diff --git a/packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/polywrap.meta.json b/packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/polywrap.meta.json new file mode 100644 index 0000000000..4ed15fa713 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/polywrap.meta.json @@ -0,0 +1,8 @@ +{ + "format": "0.0.1-prealpha.3", + "displayName": "Valid Wrapper", + "tags": ["some", "tag"], + "subtext": "test subtext", + "description": "test description", + "repository": "https://github.com/test/test" +} diff --git a/packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/schema.graphql b/packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/schema.graphql new file mode 100644 index 0000000000..baf49860be --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/file-size-over-100-kb/schema.graphql @@ -0,0 +1,382 @@ +### Polywrap Header START ### +scalar UInt +scalar UInt8 +scalar UInt16 +scalar UInt32 +scalar Int +scalar Int8 +scalar Int16 +scalar Int32 +scalar Bytes +scalar BigInt +scalar BigNumber +scalar JSON +scalar Map + +directive @imported( + uri: String! + namespace: String! + nativeType: String! +) on OBJECT | ENUM + +directive @imports( + types: [String!]! +) on OBJECT + +directive @capability( + type: String! + uri: String! + namespace: String! +) repeatable on OBJECT + +directive @enabled_interface on OBJECT + +directive @annotate(type: String!) on FIELD + +### Polywrap Header END ### + +type Module @imports( + types: [ + "Ethereum_Module", + "Ethereum_Connection", + "Ethereum_TxOverrides", + "Ethereum_StaticTxResult", + "Ethereum_TxRequest", + "Ethereum_TxReceipt", + "Ethereum_Log", + "Ethereum_EventNotification", + "Ethereum_Network", + "Ethereum_TxResponse", + "Ethereum_Access" + ] +) { + getData( + address: String! + connection: Ethereum_Connection + ): Int! + + tryGetData( + address: String! + connection: Ethereum_Connection + ): String! + + throwGetData( + address: String! + connection: Ethereum_Connection + ): String! + + setData( + address: String! + value: Int! + connection: Ethereum_Connection + ): String! + + deployContract( + connection: Ethereum_Connection + ): String! +} + +### Imported Modules START ### + +type Ethereum_Module @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Module" +) { + callContractView( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + callContractStatic( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_StaticTxResult! + + getBalance( + address: String! + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + encodeParams( + types: [String!]! + values: [String!]! + ): String! + + encodeFunction( + method: String! + args: [String!] + ): String! + + solidityPack( + types: [String!]! + values: [String!]! + ): String! + + solidityKeccak256( + types: [String!]! + values: [String!]! + ): String! + + soliditySha256( + types: [String!]! + values: [String!]! + ): String! + + getSignerAddress( + connection: Ethereum_Connection + ): String! + + getSignerBalance( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getSignerTransactionCount( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getGasPrice( + connection: Ethereum_Connection + ): BigInt! + + estimateTransactionGas( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): BigInt! + + estimateContractCallGas( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): BigInt! + + checkAddress( + address: String! + ): Boolean! + + toWei( + eth: String! + ): BigInt! + + toEth( + wei: BigInt! + ): String! + + awaitTransaction( + txHash: String! + confirmations: UInt32! + timeout: UInt32! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + waitForEvent( + address: String! + event: String! + args: [String!] + timeout: UInt32 + connection: Ethereum_Connection + ): Ethereum_EventNotification! + + getNetwork( + connection: Ethereum_Connection + ): Ethereum_Network! + + callContractMethod( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxResponse! + + callContractMethodAndWait( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxReceipt! + + sendTransaction( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxResponse! + + sendTransactionAndWait( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + deployContract( + abi: String! + bytecode: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + signMessage( + message: String! + connection: Ethereum_Connection + ): String! + + sendRPC( + method: String! + params: [String!]! + connection: Ethereum_Connection + ): String +} + +### Imported Modules END ### + +### Imported Objects START ### + +type Ethereum_Connection @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Connection" +) { + node: String + networkNameOrChainId: String +} + +type Ethereum_TxOverrides @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxOverrides" +) { + gasLimit: BigInt + gasPrice: BigInt + value: BigInt +} + +type Ethereum_StaticTxResult @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "StaticTxResult" +) { + result: String! + error: Boolean! +} + +type Ethereum_TxRequest @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxRequest" +) { + to: String + from: String + nonce: UInt32 + gasLimit: BigInt + gasPrice: BigInt + data: String + value: BigInt + chainId: BigInt + type: UInt32 +} + +type Ethereum_TxReceipt @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxReceipt" +) { + to: String! + from: String! + contractAddress: String! + transactionIndex: UInt32! + root: String + gasUsed: BigInt! + logsBloom: String! + transactionHash: String! + logs: [Ethereum_Log!]! + blockNumber: BigInt! + blockHash: String! + confirmations: UInt32! + cumulativeGasUsed: BigInt! + effectiveGasPrice: BigInt! + byzantium: Boolean! + type: UInt32! + status: UInt32 +} + +type Ethereum_Log @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Log" +) { + blockNumber: BigInt! + blockHash: String! + transactionIndex: UInt32! + removed: Boolean! + address: String! + data: String! + topics: [String!]! + transactionHash: String! + logIndex: UInt32! +} + +type Ethereum_EventNotification @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "EventNotification" +) { + data: String! + address: String! + log: Ethereum_Log! +} + +type Ethereum_Network @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Network" +) { + name: String! + chainId: BigInt! + ensAddress: String +} + +type Ethereum_TxResponse @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxResponse" +) { + hash: String! + to: String + from: String! + nonce: UInt32! + gasLimit: BigInt! + gasPrice: BigInt + data: String! + value: BigInt! + chainId: BigInt! + blockNumber: BigInt + blockHash: String + timestamp: UInt32 + confirmations: UInt32! + raw: String + r: String + s: String + v: UInt32 + type: UInt32 + accessList: [Ethereum_Access!] +} + +type Ethereum_Access @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Access" +) { + address: String! + storageKeys: [String!]! +} + +### Imported Objects END ### diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/module.wasm b/packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/module.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6b497232cb7754ae5653ffc297e19989e00f9b86 GIT binary patch literal 101034 zcmeFa36NdadEa^OeXkevYXA=}@r3zgVT6xoSLiO>R2 zTtEntJTlQPDT?FJF;Y=7j*C-4#fjyap~^^&XUa2Ss-VTPB*Qjj%aUc&5+vD{WYY=8 zjy;(wjyb>och9&-+s=m?tkn(byZdM_inncK3pHZuQ`0U z(jPu{4yQ}S!|J|@n-qHdzN)&f%R_F>>Qa2LYLD}ve!M>1{NrY!`@RGBKeG7Nx9alN z```BPfrFL5cTTwX?uQONynpXo??3R)$Ew;&_rsIN-upKHuiv})Op-5<9Yj_;S?5l@SpF8@@hE~;`y$>Cl zeb3(aJbd5-4d34XzG_3&)OFQ#n`)-&b~{z0f8DC;a_#7Y{nYh_nQFGG>$=lvI^3d4 z%^!Z|<`y^dq%*58+~bML>8D%IbktrwS2ey`Rn5=vZ?@a5AE|n?7tI{5UDccRXYMEK z`9(iX0qcKvgC@=SIZHsCcmHD_c`X9Cy_aA;F z-u~ct@dJCU_z#a254RsbC$;jQ|ecwNysb>yf(s9k5-949dFX`@VDz~_Qsj2Mau;KflYPoa=9bM)JO|KcR&`lLo zyxY5^b4PbiTMe4Fa$EQBZ2E1rZ%}vkv~}COjwj8vbv2xE%k|ye!)?da`(|3c_5HVo zZ;fmAwe{Vu(*6J3dDJZ*>)g4`*KER_U+6GoYIpZ(WV$qqGrb;nI{SJ(yVvMm-Q#B0 zRhM+OX;d9o^%n=sAwbu6ZmchAYe0%4?!*zh`jD#+YTS%wP%-vSJ9D?{YwUFxd)3yr zRuy#w0yhl=Zo1h+?s$EG53gqI^#M13@W3l-6%=$7JRM-7!5N0s?0X%sa{m`PcMD89 zX@=bqKx_B>+@o&cpj%$@7#lxN{heDYO|D^D4S?y6Fx@trdsS~x8}+oc(UB*r z?!H7+bz7JW<${_Bj*A^>axg$bLlf(T(%D8 zbmb0|pUaJ0vLARimE{}~`tV*pa^)~vUN`0rRp)%&L zwn}^nB&LCQ607}!V0>X|3}#fdNmU_vP%_sxZKn^p#3p*1djr2b+wOF%GQYwq2o+Yl zhE*=$c#+G@605M=&Mh@tBdRYHs(b%SQ_qegdUQQktKm?~2M8E;<(_-~`R6;Y0}BU0 zLld#+j%{$KH@Ja&X@4Q&vbo5kr0V(WCG}8?c?cZt+qfk zteeBy7>MX}zoV;ttcMRi>iUO<^*w`GuvWLT+x9>~cWD~J2fBc=cR+B$12|fpNDY}0 zQ%1WGv}?dtRQgU45I?)aBOUZKw+T0L}-22fxUMkk-^?O ziM>OPHcAh#ePfjFu;3koz;K~8*YR)z$uzhT7izKN;YJLNbF$u-ni@3@QoLiM7))j2 zqOJEq(h#tHtzGkm_)trTn+?Ni!sEtuQo-3&&_rIkKhJ$f`}W5DVn@8P+ z`-Xrhp#!b#AJiQ%|BH1G8m zFACaDb9jRKMu-XRrS0|-IW4*w$O%&Mi>JA$ZN%&AJ6J&5hMlxXyLq{}Mb}uJu;4-+ z;{Z}XP(4I5c9A^h8}P!*o`1f29V@d9t@bF}&4R%lTX3fq+&S(R7Jm>61q*F8o6SKj ze)yZ~WO-ux4n#C<`L|Vn6C6|2?Jp9?HlX?}Rz1y3$nl?;!ZKH%r*+NI2G=d;h$UY# zI74FF!Kh z!7p8NsIA|?Eoevb1E8S_D9;`3xl=v&E3@u+HC2EFB^dDqSvCjviJet11{3`KDKO7x zxmkO;$;Gcy8+tZJMuC;GA**3Ju(nbQU_ZHLU>U=DXE;iu`5@ZTJ)%t*pkel0v7w0Oz5Cd+{h|f*+K=SlXK`KDW7c}m0roo zJMJ(cZ`fL+q7Na7vrJ#BQ< ze*=BNzKiDwB?O`f5;hOEDF?OH(#g9ZB}sxVTn0M_QP2}kw+XsC{F=iW@D0}1tM9ko zKa_5?*r1B$?yP`kN?K>@Q?i6j<^x@8RLSc7c~j4gtEq+UG(m?#DK}+1aoLI*y;kC! z>$P)PSWYL-4w#S3$V1-oQ&`bokb95PC$6e;VdqWB%W89F!JosD>^8j#bv@n)iBTKMisaJvw0W19K zBc#&KTwR&+hv?bwofH)7JPJY30OpRVM4AVaK~#o#wTSG~yr~Sjw`hYxNvF|D7rJ%* z*ka@6AJrJ9v{SozUxy3JAOFc{Npwa3Tpj{FZ^CojAM#|t9sF}H_Ph?yJzP*Tb)?ue z;h%vAu$wwn-7w7pO-rq<115x}p&I6r?iq=wi?$Ze^qr#cUtJ-TQEpuaSPf%a62@dl z&L4#PU3kcQIUubIk%>E-8GFJ_^&4+)h&R!~RA?gx5!LmWl1%vu*oFG00I}+Tn>gTe z(tsOA(AR+bdBA-e@T@&a1NJu;;>|GNO$?aow6V&7#jOI?*F=?u*K^Y_JM@d63GC!y z&f75O>`5A?zuAj7!!S29OsX?CXC9`UNUlFZO}2t2Xk!|^{C9S*SQHR+SQK(H`ZXC> z|Cv_UUjoKf8D-==>m21Otww$oT3w~|829S^dV`muffH+?wD^hngL&P`6o-WCgZtm$ z87p48^RY-(NZ#Sv%{>aW&OM56n&qQU-0j@4QN{E!9{f zVbxvHF{_vxR#!}$o{V>!9jw9{$e9`qJ*&I~(C7eLJZPh195P0n?>v|`CXFPQ@WU%d zA}I6o+yZLPuT0VO3biDA&*aiIx0!j*q?YhaY6+J$SO{}b!NP_a&J1Ry6-bYhvLzK| z+&vWI6%EhjyqfJ_01qnE5Z7;OtCg+94ys>J^2{F#zDzuuet;`QrX!-mw2k$2^nn0VmzQ4JW*EU)wre@4C3H|*z?>0Z`n2>D)bd1oZ+(8A3T_uP5 z)p$D>T)=YS4KmWaL{o}?cLS&x5^vadCo5^ToqHY7&L$VTx>#uEWe+W+(GxGwjpT&3 z2h^R-B;s8Q$!H87{u|wZ0R_XcJLciXkw2Fm`6&Nwvu`*nwmC=JGh_bznR^)L9MO<@ z@6R93Y5nf0aP1Fgx_iv0Kf9xDH+VM%=5DaR6gSdZX9XV|5)!x@uvyjZjG?nr_{JI> z<9r7?ID99%im~@9)u`IJ{smZh474YCx)9snwH2BZYiU|;` zSoEu3OhB<4E-3#Oa@nxdZ0EAD)U;e+7dxUmVrOti{CRiM3@j{bQw0$w;;B%v!W3o( z;+$BG?q`!TGX$}`&l#=y?lA{uilafV%NyMDGj47=_mIcCHuoh{Rd5pS!g}jS;})(> z(F;@kS>%vV!(1S32BLW{UfpsK>RqC|_K?t}spsMOsrpfZv9^(!(}RjJInV-_*@u!^`>h7}o9 z|DqLqI^OZMepgQGjp9gmF~aj12_{e|EIC9VNR-kF)uVPX7?rlr zz0W@A(x1k^e-S1Q)Ar364yo*_-W|PgV3&Q4PLMIr`q zZqa=t4t?(s8Ws&5o!@LGVpQqya)Lv!m2lXk6cpL{Gca-FnW?n;xL(Brbi!TbX)|_g zIPOQ9-x_%Br)t7{&|B?}{AwlL-99{GJ`3(V1ZHrt?3bFZq!K9Z_o|1`Pu+7{_T9vS z*7ry9_uJc#e3)pM6l*+~H4oJ$Ydp80o3RE0-iMTE)O?a|;a=$rst`JqLtmZwqVNrt zMS8SrpLj^`+fydG5E!LKX|7mJG&e#1Y62rF%atbZ^p?#mFj-UlaTgyNO4DH79{q82 z0T>5>`Rl^Ha9xvymOuJO&vfpEC#b+D zzkDraS=<(DJt&3B)0jCXwVK{9PPMe6+CgHTnIOS%-DW3yQnXLMt z2(6P43Y!I?_C0X24h8&>zyZ?d;`NzB#*jMFq9$UBSF+Z?Z}Xsc{k0vXgs_J8xg#x> z+66r8z|YMr{f#rzbcty?^URA2D#vOF4_phL{6x#D@(E+Zj(hgv{0;sCrpQ^@cE_+1 z>0dm`yFAuLc~>GsN)vMsG|~wol$IgGP+fyJ;-O*FABtSt&Vw*WgCF7Fzra+Hh!14$ zdYGP(Z(@2(zy$ds5hkdyFg;78t_h8-V;|4MWG*6?hL;%3J34UKP%odVJz7Li>KD4K zFmq6BZdfTuAIve>T{KSJ$$_J>Z&hyR%C^(`Fs8^(T;eep_@NDx_Gz1?W{IOx`<7wK zGa05_WSDZ1VajCWt zTGr$;)Ks!6j?m10>`GgG5Fq-kC&?}(iA4fIV&91*DT7Z)L^XC{ z1m48}m4Go*%+|4%MewpQg~!Sy+mpt8kuqTEjTm4ss$fM6+R~Vw$%Y_F9+%KVFa!-q zq{WQuMw$Vh$_62eIO4&I%%mcfJJnhlOy{CZfQ)sYV8pqw2yaF&os+i@RJiJmvbU4_ zAQ#o3u`g0D6z=a}th2rojMf?tmoGmHiGb1mc2yE?X%psvfvm}h7486?@gnbYwmxKCbBc0D9HJmaAA;ZRL1vaDtkcV}k zf#o6zluD-Lj9ZB1-D$|mD#%X}D_EIcEYo(}sm)e~K^A3Fqg}ZJF~@QR=uc2Cj+Cd! z#-fO)u8l1mjs_x@1*TUC2!RbfyF-TvX$sypa?wkoVKm-GapM`qNr16)WaHyLk9O@#6 ziBA}>?}m|kf8+tprT40pjN#~JKiAB&$2#k_@$@Ad3XGFCWaDi)}1n{e&`sfBCtT z=3TBQ-)~q=R>2D7)l?g^?YOX-a*@qx!By_0?{{-CuhvYzD0AAE>5rG$lFBswOTqP) zqJT}vIjKMu=JlMSi1l-BF5-?{;x01B*1541C`0tb)Ml74#I2-kv(umz8I(rx%Ctq* zB{%y8#|p$1A_Ita>8UfTzuBad55sIZGwHD8QGeI9^5$jwP304$fZ_hjHh;8=BcyR zPsvcNpTtm8KP5}GehQWv`PLXu?G`FYjp1iw8ReWN`ZLd{J)_V zeiLdbK6j+3C9y#Jsx_Nx*}YVJxqdDE63;e1(Ck^?zW~y4G8^0Kg1T-x-3uCf`D{5hsSr}XE@F8&RTF2g(yo- zojLgs>~UgzZuy4b@CZ6UE|YC5X8s2E?`K>uNBrk<#9wovnL!yz5%dZO1L-tjGMJdi zQdeKEctK5#M4(Ucxc!?cTbYaSg;+mSV16{zM6W1u@kGCht_#`cO=h6xij2O|pdCIl z3v&8)L3zR{O32Hp6%aaF%gA=w!paRnWlNrAq2M6LMi%KdhI=di2%3->$r z3Cm4{KCCu&+2UUett52~Es*-`7^&ClnX>_W9~rWe*tJpuvCoWEx9v2nv5ESb)cs-! zq@GvW#^@{eNX-rKebj%{v9%J`fuWW;C>+1;kPFsXU^bri))hw{6Flk9Q`wQWf4_!Vc8{beOYW7kLV} zgj`7P^D)(ErM-9ApCbnZCwOS9;oaicL5;Jd18JlD#$^H9 zB=?CszAy86#GDhdI+PhQv!9KyWS%K2i1Z@!F`1G9i#2auj~y+87n;NuC(OKaz5h^8 zCh!*eN~x9usbk4K|x6P2cm9&SHyf2a;5`-Q0@ElJ~nfAtsiVl zmcf}gF8X>OpOW-&X7Xgk`fX`k) z4mnY@I=m|pwK6W%<(u8HTinGfWNk|C5c?LwhtjB(7;=~5c9Nv2v9uE1(Ob3hKiatS zSo&!>j!6#bzh-n>8Bp8?Ilgos@+575TJwHxG+s~MWV4kv3T{EO1z<^eF51`LQs$i=KT-^2V z9Fq_QC+c5=poG}G3_zi@1P1aq4XH?j4#5GBblXZerD@5C{qltuGN|PKRsUN02*hTp zokg&VKCG`sif0_Kr|HTzW-$MPN4}<5V?z(xmi1Z*U8yrL{bp`36n0(b%ipj&n*6Y!L5t#I}T|{Hb9?z8dA7#Y$ z5aIv#^<*m6X#8kB4rAAM=NhPCNsj8SQw61N!k1SEb*jtw=R1?pvlscughhA31W4Y^ zDbdwES~CBln=w{h|F?r zuu1|e7_~}Vi}q?tif9j6AoLjJW}cPQ0xc zZjd8Lz$8o1zAutZ(YOl;M#-;Y8jLn-=#vueYP?J0H%UvP@TpfA?>}C_`~#hVjuA10 z4gLy{m53@3py8gzJ2|@zv^M>BMj;aQeU0+0#+l`hIA`+iMV@_@trju~nUkTV10QjP@XkdW9nFO(9*BvnB1_w6b*)Zuh%IxJ&NHZg*@I!d+Si;qLvfh;UCI zXRks8e?`ir)Jmjl3%4ZQhLS-wT7h)e&R{a>77Eh~ZnaRP+>uYPF7<2kpS|d;$D~am znJ5NWNt?=?%aTw#E;|h2T<$cb-!bkn99zF@M?&`V2?-&?;sqliCuTJ62v-*&8CD7cjS{a z%{A}y2`|%+P0=U|FH_#FHlFfoX<1%jS%sP6)t*gC3+mlPsCQ=52J1lCqj5gF zUca=T^L1qlRql$0G&pD{SuCBT za-thbK^#j$G|lj={F|BrpZGJ8efa-QF-{5>R-Oyc?spF2$8jCX;H@IzJ z3JfP;IjcG_6{baqvWrCn>?prh#{e>B^K+W3GNuKdwF@tb@)+g&Kd0ne6fwT6ekQN3 zdGF+R;hDC7tj(7f0Cn{a3weSAbFm-U*x!KPDWjx;CQUz$B@?B!I^np9bY{-5Y~1=Z zOC0Ed(l}N*(VWg!EBqqtu|(6PC_5Ay8Vs~2pO^ey`j2;E+fZXNo<{BD?&x=@5p0`S zW7O605(*Sc4_QIc}ygdy@{+R_!I} z*`J|c4kR0Jog#i#^)=Ka{55RjDPf?P#9W0cRuK-tb?Ft9OXSAh)TtZJ(Iok$qI$6l zHB9m=aV_PAT9<^!B(Fb#?L+ft3>;+ZT&&0R4bv;up9kZPzPkU?vB8@Ln|VvqU!p)V zVa-*-V#=~g(dJtsuZVh>cwYs>qGaL_#H?OIQ>FjI3M6yXo%~c~!$~G7y&)M(E`i)+ zKlrV*leF_Vq|7h;kb<{T%2{Dex>KK4^z1fTNNPDPc&e~a$ko;S*iN&k3RF6xfX9?> z0~1udv|ugn=r3Z{^ZWC)+kgrexJ;qKd6s0N!5CoDz5^2zEsX~5GZRbWm>eR5ND8_; z`59F7U-AhvDY|cH3T?^Aw%!xF0`MGk_B zY#z55H8v-X4YSmfZ-{zwq~plev)0@6U&Sz!-dhgyEPQju(!H~IT>tpv4mqF5ka&W^ zuuSPO1>OxBnRtIG6X&d?xBub=eJLqz# zLppSXG3|E?{=9-+`_Yr!CpfG9C2zo}!(6i)U#|AI8vNJo!M0v+Sm}s4JMw~Q)0i-K z9#oc$(jYjgMD9eHZSBm1y??MUdDc&{+jwQ)QJDcUej3&qqJ6f+0;)s!%v_#2p$Uwx z>hy#UT0$yj{ziBDbJ2Am_Gpoo$QFEL&YFg&hYnN7Ep=v@kmOF+cR>h9)i>IaPt)RX z^1e#qF@J@$!X|!elvWBQ6#=mpjhrU$d!ujpu5Hp~(Q&s8B?y9%ZW6#6rYP@F@xI7X z+Npz}8PBSNIdtNn4l97m*bn<2p08e?yO1E5=t5)9;t|J#+79wDCgK)gCPB%(9Qh}; zZEFakGL@FxmGE682Sjfw;8Z5QkU*ltix(O0d>*c3DZ^cUJdF4Gx)^ZbxX3usfJ;B` z7c}4?i09MMzG+?xiR_LuU~L5mQaP0_2mA?={*_+NsKV=Z!tljs{P44jBguw91j!lz zJHM`R1@WGG%Jh;f0g9exTuSZ_k~)4pc16W zDiZN*T|C8(A~@jaA!rD|(LK+--`Q9%jORP-IAgv8EZQd-ahZDTLd$u8JVOSo9w0&` zEj$y)H%-%z%e{6GfhjJfhKycOgb%@@awM`R$CTPRzq@}h*D3NNFu;`y0Z&q5U%?xE z3PfNHVJm)G0F}1H=d6`I$Sl;Okl+v)gc2O)qyEU#C6WTn3nu>^03Jj8^$@oJ}V}Z z#`03e3uJCvjW8@`1OWO`xdYJW{RjQpl8kde5Zc_}lZ5mfW{plz9JD|?NyBDJZ)8e? zZXMc*l1`S70a_^60Lo)Y#GKzypd{?r)`C8C{pOw?$j&YO_o8NebA8s(OA-}$-d~}D5$e; zZH)yGyn7Enp+6nmadUl=g38 zJYlc*Xo`g7rFk4lSbvp`NsTL?kOy70N~$m}wAd1edNplr^|Kq=iVID~;$$Ymd9m(@ zp?02c!3?kH{M6w6)SMsdK&5_a&M(T_>|KzGj2LPc#B!t3!I0G7<6FNlR&~pt^QPK` z1w2MPFNsA+y^}}aB}DP`Aed?#So; zaJCmk@CbC>OJfo65j_GgEehF?UX}{^A-yaX2t#@S=Xl_KQ+f}gtVw3HGGJ$vECMJFh8Q8FKwGBsm`eIqb&eB@&B5*_3E zCz{9(lx)olrqP^>syz3$RPZp}(8L6fYh1A2qii*@;!U0YTvWU{#}+$C{ffLgN#nE@ z+`m5IH5bDOl=S2Y(_@-Lq@!adlJk4lVBS?!ZT9#+=P`Ua+Q_2$vuLC4s8!*7s9_x* zN&P{RG9&idIMPm4$WD>!$dXHDw9GFCRV$}jrYshMi{~m0XC74c%s!osMwvMC-o z;K0L@PaF}Pe7Ov@wytNVcRid>og+}t9qjx-q8EH(8v?g1yIUqucnGkTH_ua@dniBJ z$ao9jfIrp(_>uD#bqKa6bj`EC$+m`%7zBM{<@wDPhvs)ayYDr>A{WpU$ikc->&W$C z)haQGi-n)et=;Dv3u`NvX_<1IZYajetPoE1aUQpNLeN-+QD<;qv}3CB+Jn(?$u#cx zi6V0#EFABS8eJrN<06SJrm?=)uBI2niF%RL%d=C{6F$wF_{dsyaIq;E$Rdo1OM3sz zoW6}7eHL`^HTkGVb@0#ULy9dm2g(0_>_4(|5^!`Q2Xyi3I8*k0C?nA z)xs}+F|=^s$X}use)3nmY48HoaH*a_36k%+>#`O;7PCo;xEF2Fonn@R)Pk-{%D6lE ztDZLnW!%(%Qg@+gfZ6uW&VORBEeHb@{Kf#6NlRzafeL%vvQr0(^ZE z|17+2%U}3wiSNbvU%TC4m4EGaE3-c3cKhG!wMqQ;#gO>Ek^lN6{$FLso7W?f4&Y7) zj+e9m1ozpv-R^vG+-|3S-80~%0Yp9GEZlB)y8rTSx2Nm1XN9eluR3xl+p*u2L+DIL zf?b6N4PTP9MulI^UATIJ$kZ)%pMSAOe~Qtc`B=7V>SFZaShmsV>{-I{g%=x^BVVfi z3m?w*BTdsh{({f^D-Wk~#{p{ojO4}Zb252pzZ~A^+vk7uc21i62dDq#@#m`#@jZXJ zef}dK9@e+_De(MJOpDp~$7LxA#Bt;oI9Evspc368R*B-d^>-3n)1KUl|I1 zjug?u&Es+e->$c8yagk(9?sb3Wl*nskIR2wzC?z%x&83Rh8?}i;}MPu8-1gUzQ^~& z@P?W2Mw!tDtm;FwFj{rxm(jqH>W>k!zPR_b?&O(*Wq$h=*q`nOT_1c)Wg5;ime)F3Za!{siI+7u5uWzf54LOP;zV}2g$x+r7 z!Pa|Wqsp4l`+4*(nL57rghYz)E}1&N_k^42y(fH*?>)hfeo&G%oh%|Zym|J6d(oWX zG5&^c9>4d+1PLY%i@1Gx`KNy74}b2P_4g?S?DplOAN@B!{?hRICXb+Bm{!c&r)6HA#Z8$vp*=PU$&wb(F#^#nk{1-p- z)vs@P3vZwERgeDKXHR|hn?H8=E$$qvy?o@~{a;`D`00(*@97m;2NfllEmEO~B^X>G zF<}fY`Safpb2is_pz>}DsFLX-ue}1HTyWmYYfl_(Yjh#U!;JoqdeU7#N+CHFdv&4f z7Tv(K+0qT1q7Oa*OiZGT*q)_``p!koCRXxT+~Bq|q@c_zk?{)L-g`Y$+v-RRMMFSNum?a&lN{#=Otd(o|;T&VnP9TS8u7 znu;}vKdwwkgJDfeQ|T0&N&FZ~4|$*>S2G>fDBiFlV;pX|QkqJ;Au>3+{mrV(sR=nG zk*j6+bH<9`w~WcrlocOPqk<*2ks`@pa!QszgR;zEVYE#+lvVG`**2Jsano63kUbhU zA0KR10xFq5obq>yllbh}@nQ2+e4t}pPmub`t0DJ{{<8r!d)nDe^Ewr^;(*i*aKtb` z(q|KuHT}Dwv5*$CNh#zhMI&^zA@ZDDy-bt2o9e)zsPo2=>Ywlv>E33b%TCPQ14yTvX&Xg9UH^zcnWB97LA{ZkVUgF(x2wTBRw5jm;o-b z*!w!PFeKS*7;Aw;3w;x5(_n5Qr{Oeq$Y=2V&yO^rIZx;A=ej8|2cTaM(Ba()91t6T zhH5sOl$NA^zIyYp;Uq`uqYr3dq@0{~bN`JDKX?Z0fLY@@Da*zk{c;80(Yc)=*CrRr z2{c`I`pZ70B_z@0Ldi!Dzp*3LYZtupxlD4#<3_)fo`Ngh3fOqFE1r#$Hkjay&qb0U z4!`3_+$TvHBcKwD@t9ki0s$En*){J^N)4`gO9(SmWY_%B--@UR&iPy@JLeOW!8f1F zWZ%4pGFawTz@W^Qd4w{g!{j149mb&iX%A(v&dFuAb)KNyj83w={Qke=sz42Me|tEq zZ0yKg8qvwe1{=j!3?)sw`Av`roMIue#mdw^GB-NC+iB;A+s!og>L2~saAw=k(-@i{ z;};7qUSI54;AUxp2%zuITLowK4M|wBM30WUII*zG)F$2~>$#AvsHA2f_~uL<9DkFr zkd@Uzz9n^#&siPhOH>C{BdddaE7U?zTW%PEJ z+U+O`*s{7b6^M)K(xQm1hs$yiEorhd6eGPX78@mYME|Bh!-DqmR9B+^a$m=G6O6xi zYsCyzTM$aWaywIFa^~w`0g3yaX&@%wuSkVv>}2XI{A1%#v@*wz8x}}A*Ya5_h2blm zYa2RdFQr$}*~^P|l%e|ak#;=L1)x`^;sW%_G^Ut1R202xr07+?Xpy4YZ5J8H$bkpi zH;{Sd)v*DWQ&g|^&0w3zy98yDl~q$9#P(6~=shQNYH0Ln;u*e8YH=8&eS*^N%z( z<{M+NJm!wODHiSD%V=)$MJ%qIbQSZ_kW0Q%*3gWy6UirA-5Q!WISQ+e!&-fUR^4vi zZMlvlXkExn8r{x?Jgt@suP)ocWnrn=$)&f{T*YN^soBMaQQXL7(^7MDG!bu8mXWJ^ z|6=RpM%Tgz;fY5yq~is+=)?yum`J*4t34My604{6WAcx9*k;yre9lm(S+8LeRJOB} zTAxplN!FGaLAJD*;}`n?owbfMXY^^shs^;iq@pPeZmsR+odVc2$BV%DOe9dDAa4j_ zIURqo57AlcShEEt9E80BF9Hq)(@FaR z%^xDW6%JSM8~J!W62WJhpL`2E<)!g5DG=}*-8i@CKOsnd)dsguvsgnYB*w1y*f z*0XxDNhOL*p;piKy)lkXWoMhB*|936dw1EKiD{P4r0Yr(C*H)V03f4EcH{h(sm8bjZP%J$|B4TTpMboZ52=VwDJ+fvGl+353zck}G}XMQ%46_;k? zBlGSWw6S2z6}#gZN@36OW~;YFdybrPvkJzrVOUlYw7B%JF0e7}guZMFHtyK(!iM?v z*vPvi7(!_dQVeVaQ!oxfr?wG)5$3W9Sm9EAC}wBHk}qhu$$B&wRInRgl$Nu}iR0?4 zB_e|5NiP6bSe+^cB7)r+2N4dlQ`u~QdPD^CGnRZoh{%?!)<>{dUzC=!;b$Jaf+B(e z=n+vGQF8R{b-{>=gYd`s8AT*pNwF3vBG^f>V+QqJa84HAN3MXP0S zf_W$mEYAH3wv~!aTRzi!pLT3ww#l?9G+1N^&9mJUO5i|;PT46ooyqt??=R~No1Fv| zy0Wh1b3~2)D{%7EiySzaahI+kaB^#fapKrB&SiB|VKNGgHvh}(2>7fJGvuYEd*VrX z`7m!t*Gn2=ezJpQSo%cwFmL(gM&pNqpEWT5v|sneH=FF79s>$nAcz5Zn}o}mwjuBE z!5CO#%dAtJAZjE!9$w~^FXxl13tPuRLSc7`9S%NzKz!g!MRS^7 zOMec$uUmwe;1y|aa|$%|av+AM+S_dQo^;01I1IkYOjeWKWa~)X=paz}YJ!!-7Uika zF%Ek+g*=T03&{Lrwj;Wj5QE*-13694G_Y(qb>O}!cm?kt_ejmSk7Wg9QyahpP0-+7zk^ksAsmi^?tkRE^dqhfz2wDHj?skGxYU z?A6X?a+GNS)%K{p(c=1eI?{%q3%hy;>iTzV9#PB74ct}RXbYwjD&U~-sdF;3HMXV5^`^Q+KxHhe_a!SKmjY{>%Es%_Hr9 zKPxoro+2DW)LCmS-`Z2(G_F&etf#3hqell$eOt_SpR>{q*y6sk+2K=Hc6#mQDxbQt z%cri~=u=m2_6abz4YsJlp20b~yk>B&E_V&K>hk)*dAhu5aK0|zH@HBTHxEGn&gKUP zFVW?`0pWn1%>#pNy1Z+^oa}5K9K2MQM+Ps`<>26AUEV)nqINbP91L_>t_MS1KU@zk z(e+2`0bb~x%@g$i-}KJrNIke(*N@hNYjpj|dT_0-Pu2t6)H|D__25!n|8+gMPS>BU z2iNQRR6V#s*JJhIGF^YZ9$c>LFVqA4+B=)4>%mRB9`q_H$a$Qf< zgDZ9QTVGAItfcU9KF#Vf7KxQ~;Bkd-x_-gl`93mafY_CpBOQ;uqR7j0A-_`LL&$9i z8X`xbz;Z^51})Bl4dz`+nLnYeppaPs#B-7C)Bj$&O77;i9&FU(q$=6t}sp3Q58vYJCOT+&Q~vV$yYw?y|C z!TqmGGfNIMNz|-njEJSEn&y{F6wYP(iK=PPm{w9v)s^qWd*YI|1RvKsmC6Hb?43R1 zVjK~E)hYwaI+3&lnQ9o)cAU=^gp~)dJtrgK$TvoiAep~rBqa3;k=ji!R|*OiY6CQr zl`H>RqM%us<*_6BKnenx#B^4@1W-utvFPtP8K84BK*vS_k{YsRfRdxy0E)935`sv{ zSQ9(Q8l9ijG8w2Zkf+S*)vL_vRNc?cyE``{VQWUh$x$RoTUs*`vJ$9SJ^hVfcm!>b z^qVzdAuEGb{}E_AsDnAHY8(q~Gq?u&zIGK%WY@UJA*Cq6|F&jKoR={nhjFpUr53Ik z6IrJeCXReFU?QlNoJ|LT7yj}7A>a&3r6sB?cmfBiU8_J2-@z#8VNS(!GReEE!YwlH>|L1uUlnWvlCv#8eH%UsMlVQ zk#J!~f=^ma5=m3CW+W6&`I1U&lVFL@BN6NMt3Z{#?}Dmjkcb#M z=(QJSs9utxIypMEqNO!MmA&^POK{*jT{Nh&C*DIfj1PfoF+p|1Do|xdy`Z`zwgFTx z$xvOCp<4dE5rP$kuNkWBy%$tz2?jU*MuY0osO>?IT7sAQ5m_GYWouf3m!%d2QOLET z@m_mThG<)c=-4PkT0d)ssL0U*qWGT0%l())89+Jn%Bun)=gRVuFJBWtIW0>7U6C5^ zwc9d4+cQ9?Mgh`_UNb;Bb;}6v_XF<_8C;tUqMWZ)_217FUFk=(S<7kTnjo5*#zo`3 zc6)~Cr5U2*zdu5B;wWo|C}n&Z-%oNqBz^VQ$R^8_Fv<0h5_XPYHvirfxqc%O@TOIk zU(O`c+=eVN2Gwg{nlbURjEU2um=K#=GbVCMn&vhVYe-4kVpE%P%~*YZ4=_WT*%pDh zb4^p5^Uws)^`10nyw|=g19Wi)=*S<8Os!b+ngO~Yuk-?-8+@PV7(hizn*kJ(*=*jf zSQ9`g)6K%)H>JjV?Zp|OHUo5Q6d=ioH3PIX6`&>G=eY*Z?o`Cj(C+w<8G8Ae0J=G~ zpc%S3)@O#=4A3A0baE6R$)Gg@bW84w89EZ#$t}Lqtp?Gpsf=eQx5kG+v}sKcy&|k7Y(qzP&nj%;RjCC* z^r~1Nh=vIw@1p~&--;_}J#f4__W&HnzZDq$t9@7JuZ1mI&M;^62lost;|f^D@!&~( ziD!-Ry_|60OXLRFHk6J5x=G@1FG;{K2Kke0C)X#+CKa^#MA_t(Qq(`0iV(KB+}yXH zEDPn33n3b!5I$~W7q$(CxJ}1>DmN1YH=in-Nx7^}ksCrY)|f8rLiLfG&=`&&&Pr~t zw8+iO$VB*9hHZ2Ebn1^Z_W_W7I`p@%rYJL^vR@Xco? zO8rtU#U|er!1<+A&@V5G;2e9_A~-hA&*pknJL5w*pG}n*s+Ia&E(K}`;(RU@@$D9n ze?FI;fucV@UXnmCCrnx#M|G!2)0t*ka5B55emVD`HS^1%2Pk>UkFA|m8ay%D;EB*+ z5!q?lt03UO>i)G{B!+i> zZKBZ0T!`a@|G090-zRpTOeOtvDOay)uRa@)zL2_b$NxhD=?kd?NCxw+<9AAR!W})GK>AARAcFMUsayc*x62|1 z((mLV5v1RlDD+G&^%MGT~` z(z^!up`cRGXg`>BHn(jTO90i-`Dix^1X%0(hb z-zAl-B}Ablrw;ZFT&nx*fg4kAc@n92o^{;(`!ApKD;5<&W- zi9*ljLLQ`_@*q8%N@kEc?vGPx?K#_F3eq2kk`}s3A>Ppdx4v=8yeUZj()X9G{&Jze zZ11Cmk246x#TkS)_b`a|GHv{++RL@^r_xp*2GQQAjXzbpQyYJ(_6j!saC!Ms z!yvQ`h(WZQZ4lDu7{u!NhB=&X2>`YyX^r80Kxzr+0}D}Ljb1yH7`=8VFvpRKTDRvdHLvG#{!;TME*C5{-^b;`rRL3CUb58uAeW1l zn)|qHTWTKQvVEy}7nheVH4k!m*;4Zemy4I0gIvfzdOw%JQu9GB!zCivTrXK7g3a}+ zB_h~dnVBbay?TiVHdp56qq<(ZLkn8zZ`ee@KFBTh+ z(%O?2l!D)oU`-Zx?TxM#Hvgg+f@%OTw(UcgMIA;G zvkhcZ!oeeuKyOFvjC#>zTRXEi_D-?vUi}@E(qNy?ev* z4ibt;HXRyURA|~KU8^T=R2zGOA&EfM^AYShSpcZYb{eNUqsf0F?aOq zIDqUWmLbEE+zHT{gW^^HZ_{XqhKGIwDsAnnbQ%0knUFMOLPv;a zhq1;*s43FcGF#WyiTnfflLFK$zPcvzgggs5U>$X=u{_8QTeq@mf9e-27v3>CnFq-b zQZ(6}`cHmJLLfQQYYry+H5P)&xj+#shM?aZqs3F!SdR4iH5OvL)|9QW6vcHX|I81k z%x1JTmV>f+jfK!`9#R=i)sR9MH4Ulz!jz;az~kG^e`%rajLU{Xs;vCFNxf2XeNu(v z8Q+$riYGD85@6qcPvhEOxRC`oJNSN#!{CU$AJ-dTlUx#+CRsxdltR!aSrbUy#HOvs zBsRp;DVapZ3mj<{D{_h@q4EM-O%jF`e6oZ;2^ztlg$z4B4gMr%GW>SD)JQ^{!5*jUf$%4h2K+}p!R+eS2q1|zAs~x2G{H}3zg`k*83EdXL)k3dvpYD{urWPyaaiBMLm#H0*(?!{gss)z+_1K-)%Doc>ijBCn$1#i4O^?% zu9ufmH0>_{121IP;s`7Kt8ECK`t$#W452S=o_u#&aaf3P^eKkWXllDp!d{O6b4UIk zFV{=M$V7jZMbdkv`6VIL)?NcG1kuFliZjY#7TdN6C_yZ}{!Ed$8P-D~l_t(qv|W8M zZ`DSUWlgu8O-aZ>=EUvwJh9hlQbSL2+|>t*j29N-h2rtBq99w8Wvs&p3+ZBU#~@oQ z#nyOcvOf7*L7E!EtPvC~;B1<+Z14(l zFp9D^nz%f(SoPl$k0^}turNZi`QsJjVEkB9ru`<)?v5f_WrPMhC+pCeOLMj`OX*e$ z1$!qCDVsQcNFl%13%hLE!16F-WrPOP##+#+boTEojnHiO9K}45iSqLp)A-C z{0Tg&3o*<3^~>RJjL%?6 zh2U-C1;GU{YF24GW-zSc_O{Wp{|e*tV!yQGu?_w>l{Olx?%0p}sc1(y0HZ7tNX@}B z7%wo4ZP;A>fE&gFfsx6(<^4A~L)5RWkRzJc){fYeJNA$LaCXGTSn9?MFO5YIFmY{N zS`;!0yDSyb+WLW*x|x>y*&H5bZn9|`?xOw_&x!trbM^eVDca^OYlaSZuy=5Bk%NM-t8m) zvTe!U1Dl;BxY-N2fK+I*p-2&q6GmF)(-08M5@7jUP3!?zps0eFKSZ&Dr(x9L^p)-L}3vR&DlalBb+Aa?iXzTIGp z!hL9ymB^DzR}E}XG!SDHj@H|rSKpFdF>euJjLMt|RK+L|w=DO#i)7LV&q(-Bk- z73YZe-uN$56quQLe%AMDRa<}=TN>prin@(Cdvsicv_y|ge_Vw0MSrM=^4P*6jOjQGOzLE%jr&q3<)C32 zc=v3ZUoA`)TVASOT7{(=&IZZI^q(pY$QlsWVi~m@XXE4e0=|b0zOgQ;tPWBce|5e!mXJQS9a)V=^#mZNV@LdALYC{@PpYL4OwAL*1ge=y*jGG6K5dj+Z`=gM20Uk zV+$DiiM;J>{ab`Mbt)I)qaT^WR%`oTocYD|9qFv_V<~C88^kMVT%@FNk&?zmN*b4v z6|Qg&REX6oJyu6)M9Qf98wQ<78K}V>DL+YfsTKM5?^@@LC~ZM{NrNdTkg`Wbf$E^3 z6eGSsD0aG9QfJt4?uoC?w3l?4vSqcH394~l5orX9O5PYagOO>s&=Mi-OhlCAwCAWx z?P>Mal`+asn$CFdnc5on+iElTf}%MlvI)IsO;Nqy7qvuNcS$qaGu}b=0X6P-)Im@J zr*u#Tv_<(zty6ZeZ+C`S8zL(?UDA)tX1&ziPLcZ}5i%A>F!I-*#eLW}YN3CD78oD= z-N07Q_)4o`$Br|D?ok9d7|5R$!XZe0F@z)POnc%47P6q?(%5cG<7b<*Pytq;``|xgK`9(%#mvI#bmH1X*~{Ey5BAM?vxHP-&F_qN4~2L2n@s- znX{CxyT%UKn=gFu9L3(>F_?)A7;|!l(l#(h;)mQJ=1!V-nGqwY+wPXSio7@tZ%&&* z=F(=6?jEfR_##qh+n`e}tx`Rqd|N@DHp_Efed$QjS2Q<-al&!tq5=~hbmD{XU9aPy z;0W;eIiQDyg*^Tc!QFFpA+!GUQfyzYCyRY#(+0GR?^I8ysfAt zu*m-lTM<=^2a-V&A((P<%oE6w2tmVE-kKf6zmx;ZPi&;nFI@oM_HXxa}UIYD;;U1Ih(5WOZzyZX4d!q zu%4WUQEr;wT(^RFit;()-Po<(ofF~I3EpD0CZ0Us0kh`(n1b0tOogd1$?UCzh)RR~ zj4ll$(g>?jZ||F(NxQL#s%jCBDfX}{i6MwvV#xISHE8s9GL?2;#($T<9QJSO*1Szj zz8F`D;*bJx=|eIa<3|~$@k`siN8}L-NtC#mM}{-K?qNsxbpMc*#_JNhJxQ6lB%NR* z{r+IwZs;T)%Soob#k)*8jS)R8s8XURtg#^J+5S1S7>F7dQ^$9i$&~dCZ`x82s-L)7 zF_~H8u>M9ZUcnH}%eQ{Y6({$4Dx9g$H`vO=s~Df3GRcK=ATySExH#YRf(5tngRl-ufGMorD4`wPdIhgRr0A8Fk=IZZq$f4l z+|7}_#YyTwD_}TH6vSY468C8vOZshRUTaFov`$%uvxTOh*uJ_AszUHahq)7N$OJ9a z1&Jh;53T?!AGm=#>}uFyefPGwWPx6o$mHPsW{7ntmso{zOmZ!2l-n3HpJ&k?3-_CN@n z3whTN<`0It2l1A3mcPzQFo|6E#2$DJ-qgee0^sDU4#2EPwQ?Q#3^Lhhn@H7vH!}hu zK^hxF{Da$&-aR5cQHOWz>)v)F$8-;V6|`d>y=REh`+6H2-O?W~z=O!gSOy+zmb3I~dU@XaW15BB#t(SNo(Ty$9-7wZgCUaIn zfO9B?i7urjx$O^YIuxg}>99rSw!_)sM=Gxu-EzJkG%|BgpXS9vP=EsqNpt2`r=iJK zXV$f)EelQR16r_HO_J4yR*&5U&CR0_6HP$`8E-dphzK`F&@c0i8dQ7pTouSt_bc}6@ zos0c#iLtGywurVEr2zcMcLikZnOJ z33{IhzCJ~Pig;e7Xe>tUFD8Qj(_Yh?lnlGFWH8ZMNsvo9;1V_%Szg^0Xn>2lxrVnL zuPIoVR&EyoVQ&m~r~fIATF>OSA!aN4;0q~HdWF(4{^=pcP%2)Y9jZLW6`Dm7@fQi504xk##B?KaF-kg&d9BaN|Pz2 z;=wtr;_&+viT1rYK+q_oCwkjZay0Yj+bbvlQ=of?L@afZg|m@WKd4N)SCa0SJaF#H zqIS^P|3_0^}x`1!hk$;DrLr*m zsZKqQ)VyXOioP{l$94C~#&F&J1DzmZbMO6|L&Si+jC4gb#$E=VG6MeeZ`IWpy4K@y#K@f|^N_hWQOm?Oyh%d>_npSitAD>{M{ zUASWf<!D0rs;8=xVSaO=Y@_h@NPnbKo-!LNd?PjltGhG{ zEo;PvQV0o(DAhA4`MF5u?IiKu;QlSFm>k}~-=nfBA9Rs%5cs`t^>N6;FeAL3@X7jJ zR?o;kE8k$yZkn&~ZOzQi&10&8FwZQJv&+t1EEuJ+io8l zGOGF}wIf679!DZWKi%U`dFK$4Lv>Tae4wm!%D1?H3gkTZOj#k*J*Wi~Dl*+8Wrbw- zTqY;Gd&&x1e64^DCFi(HB@ktWEcaX_Ww|4LnsfY5aSS&(` zX1_k=)Eoe4rMqz;n2tIcBDlTk{Z^;xOe!gb`y(nTSKtTmK7QEndiR3&A0|>A)DWg% zCiA%4pXX=uo6VH!er$wLvyRd2<8O`nW1hmSV;ueGaSDTukqebN#`0G@lL|^kE|isw z#0-ORoXccA!_RZjGOU2jbJjBAJO>RU7b!yVTI?JNH-jP)T!YaAbQUSf-Q77wIeK{h zV_i@90kw{n2^pNS$aExW?=^`!3ZJ40IqH&%>0tR3F4rySDb0 z+F6FcqV*JWvZp07zi0r@>_fuOJS=}g2GgvF@epIusCB3(XMs*ckn0xSdROZs+Ln z_1pO4mYcg=m2d9DyeBNc-Qf&}*wQ7`wQVRxuyF6Fy4Bf7FtWZ!3=Ho?*D7o%jF>J> zcl!qzQ8r{6jMUB^6>k?TTqLehv`sWX!v2jis{nTY(mEQWap@>h$x`FqN)gAWR&5sW^x0^o5E4?u9aMqXu%dgl?AH%kI{`u-r zZz01Q$#RE(mc$;pxMLi)pT@$Yz|M zibxzjtUN7f4{qf~>nI~YlcTHwU5Wkj$O6ww8=En-i#Zo)?|od5lSn`lCi6HPcteqI zHQV+K_kpJy{*nzO+}ng%rOf5YlCVmF!;e?$`weiEgFf|-3r?wZU3Ke`{M zpXIipaMmgDsYfRZe!xm)^K?@Xl4@ipT%F@TG0BpZS>ft-)oa^1e|;@JcDX@Zbq~rz z@74+skus4CwBQ)~&=xpflt98l#D@0+Pw7ke756Dc#MrkDJ=>Vw{$?;8Y)oTAqLSE! zXF_*PYt&|&&NgIw6fF24W3WaslNwdsP*|f~7~2e}3dU$knjmt^#@7-P0pvh}OwJ;$Jf^&5>6Tizlf zo@@Aig~t~HlWyS8{Sq%?Zf*2K!D%t_4aLzPI7%%<8q8*8--o(qu?222DFWM6$uV5; z$6m+<5A1d>=9X>RO@svbCVwoK&AT}ove7}2H*@Ll=1j;&=S99I%Hz*g!CCufbM*#d zB&-oY4I8_PH$_KZxZ-DFYs8ccDoJBXYX2&imi5R*uUzD^22mTCzt)21TU{M$&MJbj z$^nQxXK50Yj-obbVhErOEcaRCgklcGN=M3*X5i_`awxMR&ikXGCzdreU`^0dhkOM; zS;l^NlVF){yAaA}&tHc(>iY6??ZW;ct6{&^NSS!6foY8dNtMXW#${!*?k&Spn4Qe-L?+P;=DD+P%i7M34rLoz_vR}~4Dz>?L{HKvAox!UN8XuZZ$^1oljE|v< zh|>59{ArMxNjFG~bZSPRp5`o#28sBIyg6)Kznx`rS^STAltLPS1RGu3_kfUqmsFa`6dbGnEk^!@F_4q2G>;Cxq0Nb7ys#Ke=v z3bVBa0>dy%Snh+iA7v~C_ZD_r)2-~oZ9@qeTQ6`fi51Zg$!*+=T5yGDScA$;MUJaW z7>9OLH*WbS8CK7?XpB&dJZPP?P;7^AOaIAlg||79W8Uc9)1?ZSkw|hIJc2#CrZr&7khdWz zzuE4=BD%;vf5YyRi~-HJ+7Ujm@n`-iNwJ6$kPc`y2fnge&=2O?%_gTb_F^0a*=0=G z{$ULInL^DaqYar+yP)P8e(lAD=o<{B(mQ@<3Y~XjC?9lQD<9rkh7z)I-*7`azfb1s zOg?4K1}4KLXs&T`lzU*N?M(4P`}xp8&`+&{s2K$~=H2!~pwqr>5dWDe^v?)T&_6M_ zYUNPse<8#+P$!3Ngg7NthVzQj_zFcH0kYU`eytW_avgwjWKFwhC{K3-OA=_d%d3KV zY>YY7Bb7r)55XRb{F&DSVLES25~azd$dC1+jJy!{Ng0`j0cdk3pXsWy)^>>h82mA^ z+$j(@I<_1fien4mp>k{m{xrTEFA^3sz7Q`;<16ro5-^1(ZLyc<9xa-I8v;tn^)PE$ zDl7(_kEIl1i~wdr?0WS5t&FM&HHAc~5NxtIpGhWIW@U4R_}DfSqKdU*DOxtJ7dUc*D8vHv~*ka)<6tRk+4M*zJU;$iVcKD0?mvXU;bvNJs)FP zbDV=%9dxL4LM?0EvgS;OT3 zHwD2t>c5vM586&B;E|oOcdJ!TAer2*gJ$)`|8~!4DN=#h@?#h*bi0ty zwr(s=&D4s-6JrM7X(n@jSJ;{?wbj;rHup!V%6gabxenE-)yj*U9RwwUUf$WZg)_0!NLjZmnRM zFA(Dq)pp7Z1pG5IlRM6)#2IBbnZfizUT9FDG?*M77-{`1MDs;?tR&pRY?YQXYN&)- z?lg%%M`|2BEcVTh(tzbq4Yiv%@22*JXT;Ch1Pp)RdR$%-orz)|8kj{nQ9hR^OjMpv z@fqZ1hkoK5NYAs%IhyHHd8STdtS3-&3zcsn`%ZlLKj`cMO^mP5+5bh1ss{H+E|hil z6fg}cdoGhzb{{YeD!UahV6w^{1Ev!AU@R9YRdxcVe^Oh(G-&KEBw(t{c%QWy=`_Yo zKQlXd7}nXd1S1Of#81^bY?X#pPjpnd=wa1oa5FWs2>Tl|HI5JtI8g0CIJtH~9CWZT zI?zB9)0*bp5pbq)y(VLH?gOzWTFZpsM_Up>WEuFB@V}Gct1c2zaHgFGSW?7z1(rmS z6X$q=vTBTyNFI>7K%wbmFPHoFoYfemn9&;KV&mD0e9;~GRo_XXo`Us7IQpuREI)Vj z$7hLCCd)6NdbF3Vs**w*?)ZmaX;q{?WKtfja-pgu`^+tW{2N`Xlbl>rMz&pba_-ym zC%=5H)d^PE)SY?h9>i+88)q!en^#CI9vFg2iK2SYey_5R~xto66v-7=OSEa9& zwW7WsuO6g@w^i3t`yh4SO{?#$uHo}zRpp-CFxmG`YB_2>NI!44e%{Tehv@$x*N3@2 z$lU|968d+~Oljq1BYhvBt{=gB8B6HB7_GW|a$!0IchmPFdK4VO!h`fH7!FqNqSlFp zNeC_*>04txK>ZKU^Lwjz@NX~QN57Ixy9anKUmySpL_UypTYYGD%iFB z6aF8wtL8x1+zW2r15O_SOAi8LEPoA8Y@UiXEBDOC(XpwQP5cU*2dmeBn}ht0{kSJK zjjpD#=l-jEYSSbHui@EiX!|jKwE{dX{ZLp7EhB#ztiIPM>uUP;b98Ift~4U|#OBdC z5(L6%9Q)s*?Y&^(8di|jj$eE4<(t;ffiTt+=xpQsq02M%oPON1n3O_`AgKZhmj(_ZAzmMx&n8ib~vM|Cac>o8O!Hy@gtWOrzF_)SFtmiC_KO z&F{_p-ohtAFUT}%jYz$zC6&^@oB6$kzrv897i1c>Mx@@fb>98>oK+^>3iQ2y-o@ za3l3^r2dW6zmfVkQvXKki>TK^A~#Y0ChFfr{hO$N6ZLPR{#r?AiTX>_U!wjJ^_Qr> zME$jr)NbnUrv7f~@2384>hGrhT1o9@>fcQLo2h>@^>3#B&D38j3Eo2eTd02v^>3m6 zE!4k-`l2dPhGthYBrFS4f>t9|uc~>!{d*gKr4C7S@8$O$v?!_+Wr;d8!wTG$fA z8nt@9pI`lZJHHR`yO-a0@J$pgsuX33IyA$YC1G0F62uy{dRA@ydw}1){Jw)vS`DIT zQKcwL)S(&HED6)XmLS%s)w62rpA-riCp*tWm3H)gJkAPrYU*l!Ax__b0{mvAFvf9@_0_g$btB^d7Lk9&GJIaTwNX{%T9ul1$f zGgC^Tpwp8SuJGfY8}=S~Fn;4&^ZR}LW<>0n(7vyQ`0od$?;(d#*K7Io7z;*Lr4WAY z6n)j~!q|^{_L52TYwBgg?4^b82P;w$Z;mx|bx-b?Uh4-8Pg986YMq!;OH-W})xG0O zioTv(wbqn{%uxqOm!@1ek(fJf|D3cXg^o`}b|DY$q>uMPg)%-a5A>+|_T!%2Imw3Pn;5Mn zCKL^#RM)qlzwW6kCi|8RHrh(&4c3NxW=gHe5od_4L-)kXC;OVL^$?IgXn69qo}N-m zt7mkCZv$82Rslx$?3!xbjv#y^YdqF^^2*5(PGZB?5`}qeoLEOKQJAmw+?A8_*G|Co z4q$p1$~lOl5NaA)!XNkaRqJa-R#bpCx8t6>YAtZTH}OOd!BbaH_B}~~u~x!Y?pL4O zv+HVQDi%b?*Q{qOQ?a12Tr-J>Nm`4NA>h$HdF^DaNviR+5*FNvb<|2wyXV$XD?#a= z+BJ!t7UYkvp*vX(Z$^`NGxGPkDOB?8x?7n>u}@vM-my%h*k{+>N?PTjI{)LIx_)vj zL!O-pFJaZkHbgboPfCf`^IS7t`gb3J6HBp|GwLdMy38l>cB#Ws9wjZML$s8UFRcx= zz2ED^4U>}nE%frjB>Uf_ca1_`L_dZRCzX5p#!1-jq}Q{Nfa9{Lr5*cmPu?`Sg0d!X zJ5p3?HGci_$DNo`OIn9y=6-%3MoWCCtf9~Dxtn@#((J^anh(+yWY9>?z1_^N(Rt9! zjmrBd*+VPt#L^@L8jEoIfX(}3*a3i`NuHSE4fY z8>wl0^fqSq?C##N`YHSD{|FIB_n}}`sANvd#D|=xk~G)7$PWp@|MYE@J5QPZyCtKmUa40OodTv zFWFjUx9*8sC#P2|-T{#hc0{8o!-QftrPfwzc}wvj#vr%3$7JfxJ$viqlH0@M?+ePL zl<+&KR|Y8F8lV_$v#mY|uA{-1de8@V;uVvmClgM~M%b|*_v|Ys;g&!wm-0j}?#bIG z*{XsF8lAlBVs87Pv-_cnz4#^$F#31#O$2*4z5BkOxovW$-^`;oP)>^}lDEkHQRXs- z6Sa)r$(?8pi%Ku2{czD2DQaUD6p%At&K z9QX8Rri@-%Zdqk=^!LJ|iy!wK&5TgCD7wq&U8cDv30#Y%@xnx}FB@vINma7c zl_6U(O~5_#xhcq(FZJE#7l@;Kj$#v|6NRljx@pUBog;M5etv9pFQrQ{J%zHm zt4XQ1hvyO)T0}C2q<_dgEHlZwzH~jr-Th3Q?vG1Ik#h0lo~4@!Le)q{3c4pwj1?36 zmH0S%X=qI$4EGepCi0J@#7Po-pn5HXnv&V!o}t=A!igmOnO4EdcweD2_w=t!TWxQn zpGiD0-#3kX+_O}hSi~}M&X#n}&{;9sXTC6{+cV>G zJyW>CAl!*xpGLv=F|d_MXT5W{Lf;v9Na@6HtT3k%ap}iBORN~ci;o~Bly4v@SV*-*f+Cp7Yk9pSMK-v zb=UKFnY1-y`*qjSUAjZdL<=)w`8Llw_=8=F~2-kCY!d zGX)dWvYvUkA)d-Gs2pSj$Vl1dUh-_;C7t+o zV*7fhYE^r!s@M3FWGn|y@`AWsq!@MB@RWLycTGDhZuJr6Uq?`7pk&$ph*Xv3gSBHWbBb$u4N8t;bYStl1Y_`N7hJV@I0!n-!!-t zL`wg&-mdr7%J5y^*YxjM{ab7aIuE@d(n(w8bH|ax4ej!Xk}hS;q&VlTxQ}V>ti@=@ zD<{Pl&Uj`O*uD#z=Sp0P@K?*8GE%nL8i+GOgz=>QuaZo>VyyLquEhZD016_w&AsL+rIcSg(pY~RvRh(97@Z8e$cP3K&?EFlym)gesCtu$N5(`E z4l%+lrvuX_z7aaP<#oF}i&?C9+}@EtYi#+*v}kbWPd1P2Uu0%V; zOJ?yyqSO`ol$OQvb&|do%iOm4&MVS5H@l#D&nwCwz1jST>a|=5I5yJ)ry5fJ)TPJv zyF$PIzAph@tRVOLOiM6iOJgjw5T}D61K#OJ8x?6LW)i$gy=of1j z>84`)KYOjj+Pj>!*pH=);T%?z{x3UR{jeO)u73HeBlge=t==rJ2)<{!Gqme6%GQz; zzd2&>)68X!4N5WIy&^nbn=7Ns#1p$p9}DaH>_#5{?$mabMsB-jSv{wXJo>{CyUP66 z-k!KktRrgpr#GUQ|CTjw_a0zY9~=JVR3Bq^`w*!Y*&Y5he|BAaUA?WFw))_2N9?^b z#V!^-b45%4pJbK|5m08@I>}IrWeYX;CU8bKt9|5Fc3i9*C?#_z=UEO)ck9g*Rx7JJ z-hX?$&Ruwa6vSQA+=KdkqxX!S9&l-e-Tanr4LPtlsn4$0=mP1i@X`n_-rk0q3#w4cS!AWgVzF{#wk^(IU5T`(ovlv zIOD@d;Lb78xGk*}Z62;#czn}%)2#Lgt+Yzr&Zs`QJ-TYwwyO@`n|Sl zu~oGg$PiC2uXWlGp5cGJUGHCVAc|u#&i3l}{W?Mb?*X9W-4Lz@lHwVtQ81wa32P`% zgIkgh2+IJ0h8;DC6>zuk-O#h}<^{Sld^VsL5V7s#LkS!VglU&-o`ZrlZ7Ij5B&GrR z%5%VKK;=wFDBuoc4WJz`P;jr%8>+P_2P_Vk4RkDUJ1YlX7C8pj%k_g-_(MndnN<4^ zcodwhfly6Hga7&Ur7Sf7v&1jF`rd()0k@8*2b-G@X$TKk^Kl491vJz!59Sz6{a1-z$Xl8(sKpl}x4@MgJ zYp?F$o&g^2b6y?BNt%-;46V3YeEV8|ICh8H&kIX0)~1QfjW z13;P305N6E0{Aq5FQW}8D?JhW0<{LzO0NN&3MiHl3;vz)M;_2ycu^XtDu7tVEMo=> zQy!}VVWmb;Vq>7Dz-57l0>|cs<@sa0UPEBwxi#nHf*=#CIPNifiRSVN*96l&=OSU< zdG}G}^ZMgU?D9fldM8+73+?o&476CbIV4&ifTC=~k=aTzPPvD3k&EMUQoP_b4l%Rt z#_@K>JKR807Hb_>_SUtkEZ3glc32DTJmrg?9*1YPPuh7_-g2YIOP(J1Z;RP!MO~zP zIq9^)qali4CmColx6@*|Q$B1|YdQAFE>*T|vgGhw%2ym|Iazc#i>5O4$QW5BtqV^v z@yMFH4Y#Vx;9U#ozv?L2NHemeW~$_99;q)^_Rn1xi~PvIsI{+{D5W>UBpqb zqjt8sA#%vkJ2~8^wkv`BN({gG5^m^#5O_qt=js=)ujTg(_p2JsWlmy5`*b$r$kG(J zx~1e*l}bv|BpE5&Z0_VxU|&;6TVawGi*xJGQoiAshM9R?6~e_~dgUSl?eugt_vqo5 z43#W99KKD-xO&GVa7^FrX0p|*xgNoacU)g~iO+sihqCs&UI;xJE+R<(O-Br8&>YmZ z;Wp{-^yKi`;0|T?9He;55yRQV_O)5yvWJXSO#Z_}52~E5ju~#E(hbvYX%$?!TdMKK zZ+G;dGpb6Rqx%G@p?~MS|(M7QLyj7&;JOZE>|K m)>6Fd*l1nzmgx#y>_@~_g<;%XNiZ>E6_brF4ptkIjo$yoryBwQ literal 0 HcmV?d00001 diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/polywrap.build.json b/packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/polywrap.build.json new file mode 100644 index 0000000000..51e5257f03 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/polywrap.build.json @@ -0,0 +1 @@ +Invalid build manifest \ No newline at end of file diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/polywrap.json b/packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/polywrap.json new file mode 100644 index 0000000000..ab7f052a11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/polywrap.json @@ -0,0 +1,9 @@ +{ + "format": "0.0.1-prealpha.9", + "name": "Valid Wrapper", + "language": "wasm/assemblyscript", + "build": "./polywrap.build.json", + "meta": "./polywrap.meta.json", + "schema": "./schema.graphql", + "module": "./module.wasm" +} diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/polywrap.meta.json b/packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/polywrap.meta.json new file mode 100644 index 0000000000..4ed15fa713 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/polywrap.meta.json @@ -0,0 +1,8 @@ +{ + "format": "0.0.1-prealpha.3", + "displayName": "Valid Wrapper", + "tags": ["some", "tag"], + "subtext": "test subtext", + "description": "test description", + "repository": "https://github.com/test/test" +} diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/schema.graphql b/packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/schema.graphql new file mode 100644 index 0000000000..baf49860be --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-build-manifest/schema.graphql @@ -0,0 +1,382 @@ +### Polywrap Header START ### +scalar UInt +scalar UInt8 +scalar UInt16 +scalar UInt32 +scalar Int +scalar Int8 +scalar Int16 +scalar Int32 +scalar Bytes +scalar BigInt +scalar BigNumber +scalar JSON +scalar Map + +directive @imported( + uri: String! + namespace: String! + nativeType: String! +) on OBJECT | ENUM + +directive @imports( + types: [String!]! +) on OBJECT + +directive @capability( + type: String! + uri: String! + namespace: String! +) repeatable on OBJECT + +directive @enabled_interface on OBJECT + +directive @annotate(type: String!) on FIELD + +### Polywrap Header END ### + +type Module @imports( + types: [ + "Ethereum_Module", + "Ethereum_Connection", + "Ethereum_TxOverrides", + "Ethereum_StaticTxResult", + "Ethereum_TxRequest", + "Ethereum_TxReceipt", + "Ethereum_Log", + "Ethereum_EventNotification", + "Ethereum_Network", + "Ethereum_TxResponse", + "Ethereum_Access" + ] +) { + getData( + address: String! + connection: Ethereum_Connection + ): Int! + + tryGetData( + address: String! + connection: Ethereum_Connection + ): String! + + throwGetData( + address: String! + connection: Ethereum_Connection + ): String! + + setData( + address: String! + value: Int! + connection: Ethereum_Connection + ): String! + + deployContract( + connection: Ethereum_Connection + ): String! +} + +### Imported Modules START ### + +type Ethereum_Module @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Module" +) { + callContractView( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + callContractStatic( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_StaticTxResult! + + getBalance( + address: String! + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + encodeParams( + types: [String!]! + values: [String!]! + ): String! + + encodeFunction( + method: String! + args: [String!] + ): String! + + solidityPack( + types: [String!]! + values: [String!]! + ): String! + + solidityKeccak256( + types: [String!]! + values: [String!]! + ): String! + + soliditySha256( + types: [String!]! + values: [String!]! + ): String! + + getSignerAddress( + connection: Ethereum_Connection + ): String! + + getSignerBalance( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getSignerTransactionCount( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getGasPrice( + connection: Ethereum_Connection + ): BigInt! + + estimateTransactionGas( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): BigInt! + + estimateContractCallGas( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): BigInt! + + checkAddress( + address: String! + ): Boolean! + + toWei( + eth: String! + ): BigInt! + + toEth( + wei: BigInt! + ): String! + + awaitTransaction( + txHash: String! + confirmations: UInt32! + timeout: UInt32! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + waitForEvent( + address: String! + event: String! + args: [String!] + timeout: UInt32 + connection: Ethereum_Connection + ): Ethereum_EventNotification! + + getNetwork( + connection: Ethereum_Connection + ): Ethereum_Network! + + callContractMethod( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxResponse! + + callContractMethodAndWait( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxReceipt! + + sendTransaction( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxResponse! + + sendTransactionAndWait( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + deployContract( + abi: String! + bytecode: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + signMessage( + message: String! + connection: Ethereum_Connection + ): String! + + sendRPC( + method: String! + params: [String!]! + connection: Ethereum_Connection + ): String +} + +### Imported Modules END ### + +### Imported Objects START ### + +type Ethereum_Connection @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Connection" +) { + node: String + networkNameOrChainId: String +} + +type Ethereum_TxOverrides @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxOverrides" +) { + gasLimit: BigInt + gasPrice: BigInt + value: BigInt +} + +type Ethereum_StaticTxResult @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "StaticTxResult" +) { + result: String! + error: Boolean! +} + +type Ethereum_TxRequest @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxRequest" +) { + to: String + from: String + nonce: UInt32 + gasLimit: BigInt + gasPrice: BigInt + data: String + value: BigInt + chainId: BigInt + type: UInt32 +} + +type Ethereum_TxReceipt @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxReceipt" +) { + to: String! + from: String! + contractAddress: String! + transactionIndex: UInt32! + root: String + gasUsed: BigInt! + logsBloom: String! + transactionHash: String! + logs: [Ethereum_Log!]! + blockNumber: BigInt! + blockHash: String! + confirmations: UInt32! + cumulativeGasUsed: BigInt! + effectiveGasPrice: BigInt! + byzantium: Boolean! + type: UInt32! + status: UInt32 +} + +type Ethereum_Log @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Log" +) { + blockNumber: BigInt! + blockHash: String! + transactionIndex: UInt32! + removed: Boolean! + address: String! + data: String! + topics: [String!]! + transactionHash: String! + logIndex: UInt32! +} + +type Ethereum_EventNotification @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "EventNotification" +) { + data: String! + address: String! + log: Ethereum_Log! +} + +type Ethereum_Network @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Network" +) { + name: String! + chainId: BigInt! + ensAddress: String +} + +type Ethereum_TxResponse @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxResponse" +) { + hash: String! + to: String + from: String! + nonce: UInt32! + gasLimit: BigInt! + gasPrice: BigInt + data: String! + value: BigInt! + chainId: BigInt! + blockNumber: BigInt + blockHash: String + timestamp: UInt32 + confirmations: UInt32! + raw: String + r: String + s: String + v: UInt32 + type: UInt32 + accessList: [Ethereum_Access!] +} + +type Ethereum_Access @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Access" +) { + address: String! + storageKeys: [String!]! +} + +### Imported Objects END ### diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/module.wasm b/packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/module.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6b497232cb7754ae5653ffc297e19989e00f9b86 GIT binary patch literal 101034 zcmeFa36NdadEa^OeXkevYXA=}@r3zgVT6xoSLiO>R2 zTtEntJTlQPDT?FJF;Y=7j*C-4#fjyap~^^&XUa2Ss-VTPB*Qjj%aUc&5+vD{WYY=8 zjy;(wjyb>och9&-+s=m?tkn(byZdM_inncK3pHZuQ`0U z(jPu{4yQ}S!|J|@n-qHdzN)&f%R_F>>Qa2LYLD}ve!M>1{NrY!`@RGBKeG7Nx9alN z```BPfrFL5cTTwX?uQONynpXo??3R)$Ew;&_rsIN-upKHuiv})Op-5<9Yj_;S?5l@SpF8@@hE~;`y$>Cl zeb3(aJbd5-4d34XzG_3&)OFQ#n`)-&b~{z0f8DC;a_#7Y{nYh_nQFGG>$=lvI^3d4 z%^!Z|<`y^dq%*58+~bML>8D%IbktrwS2ey`Rn5=vZ?@a5AE|n?7tI{5UDccRXYMEK z`9(iX0qcKvgC@=SIZHsCcmHD_c`X9Cy_aA;F z-u~ct@dJCU_z#a254RsbC$;jQ|ecwNysb>yf(s9k5-949dFX`@VDz~_Qsj2Mau;KflYPoa=9bM)JO|KcR&`lLo zyxY5^b4PbiTMe4Fa$EQBZ2E1rZ%}vkv~}COjwj8vbv2xE%k|ye!)?da`(|3c_5HVo zZ;fmAwe{Vu(*6J3dDJZ*>)g4`*KER_U+6GoYIpZ(WV$qqGrb;nI{SJ(yVvMm-Q#B0 zRhM+OX;d9o^%n=sAwbu6ZmchAYe0%4?!*zh`jD#+YTS%wP%-vSJ9D?{YwUFxd)3yr zRuy#w0yhl=Zo1h+?s$EG53gqI^#M13@W3l-6%=$7JRM-7!5N0s?0X%sa{m`PcMD89 zX@=bqKx_B>+@o&cpj%$@7#lxN{heDYO|D^D4S?y6Fx@trdsS~x8}+oc(UB*r z?!H7+bz7JW<${_Bj*A^>axg$bLlf(T(%D8 zbmb0|pUaJ0vLARimE{}~`tV*pa^)~vUN`0rRp)%&L zwn}^nB&LCQ607}!V0>X|3}#fdNmU_vP%_sxZKn^p#3p*1djr2b+wOF%GQYwq2o+Yl zhE*=$c#+G@605M=&Mh@tBdRYHs(b%SQ_qegdUQQktKm?~2M8E;<(_-~`R6;Y0}BU0 zLld#+j%{$KH@Ja&X@4Q&vbo5kr0V(WCG}8?c?cZt+qfk zteeBy7>MX}zoV;ttcMRi>iUO<^*w`GuvWLT+x9>~cWD~J2fBc=cR+B$12|fpNDY}0 zQ%1WGv}?dtRQgU45I?)aBOUZKw+T0L}-22fxUMkk-^?O ziM>OPHcAh#ePfjFu;3koz;K~8*YR)z$uzhT7izKN;YJLNbF$u-ni@3@QoLiM7))j2 zqOJEq(h#tHtzGkm_)trTn+?Ni!sEtuQo-3&&_rIkKhJ$f`}W5DVn@8P+ z`-Xrhp#!b#AJiQ%|BH1G8m zFACaDb9jRKMu-XRrS0|-IW4*w$O%&Mi>JA$ZN%&AJ6J&5hMlxXyLq{}Mb}uJu;4-+ z;{Z}XP(4I5c9A^h8}P!*o`1f29V@d9t@bF}&4R%lTX3fq+&S(R7Jm>61q*F8o6SKj ze)yZ~WO-ux4n#C<`L|Vn6C6|2?Jp9?HlX?}Rz1y3$nl?;!ZKH%r*+NI2G=d;h$UY# zI74FF!Kh z!7p8NsIA|?Eoevb1E8S_D9;`3xl=v&E3@u+HC2EFB^dDqSvCjviJet11{3`KDKO7x zxmkO;$;Gcy8+tZJMuC;GA**3Ju(nbQU_ZHLU>U=DXE;iu`5@ZTJ)%t*pkel0v7w0Oz5Cd+{h|f*+K=SlXK`KDW7c}m0roo zJMJ(cZ`fL+q7Na7vrJ#BQ< ze*=BNzKiDwB?O`f5;hOEDF?OH(#g9ZB}sxVTn0M_QP2}kw+XsC{F=iW@D0}1tM9ko zKa_5?*r1B$?yP`kN?K>@Q?i6j<^x@8RLSc7c~j4gtEq+UG(m?#DK}+1aoLI*y;kC! z>$P)PSWYL-4w#S3$V1-oQ&`bokb95PC$6e;VdqWB%W89F!JosD>^8j#bv@n)iBTKMisaJvw0W19K zBc#&KTwR&+hv?bwofH)7JPJY30OpRVM4AVaK~#o#wTSG~yr~Sjw`hYxNvF|D7rJ%* z*ka@6AJrJ9v{SozUxy3JAOFc{Npwa3Tpj{FZ^CojAM#|t9sF}H_Ph?yJzP*Tb)?ue z;h%vAu$wwn-7w7pO-rq<115x}p&I6r?iq=wi?$Ze^qr#cUtJ-TQEpuaSPf%a62@dl z&L4#PU3kcQIUubIk%>E-8GFJ_^&4+)h&R!~RA?gx5!LmWl1%vu*oFG00I}+Tn>gTe z(tsOA(AR+bdBA-e@T@&a1NJu;;>|GNO$?aow6V&7#jOI?*F=?u*K^Y_JM@d63GC!y z&f75O>`5A?zuAj7!!S29OsX?CXC9`UNUlFZO}2t2Xk!|^{C9S*SQHR+SQK(H`ZXC> z|Cv_UUjoKf8D-==>m21Otww$oT3w~|829S^dV`muffH+?wD^hngL&P`6o-WCgZtm$ z87p48^RY-(NZ#Sv%{>aW&OM56n&qQU-0j@4QN{E!9{f zVbxvHF{_vxR#!}$o{V>!9jw9{$e9`qJ*&I~(C7eLJZPh195P0n?>v|`CXFPQ@WU%d zA}I6o+yZLPuT0VO3biDA&*aiIx0!j*q?YhaY6+J$SO{}b!NP_a&J1Ry6-bYhvLzK| z+&vWI6%EhjyqfJ_01qnE5Z7;OtCg+94ys>J^2{F#zDzuuet;`QrX!-mw2k$2^nn0VmzQ4JW*EU)wre@4C3H|*z?>0Z`n2>D)bd1oZ+(8A3T_uP5 z)p$D>T)=YS4KmWaL{o}?cLS&x5^vadCo5^ToqHY7&L$VTx>#uEWe+W+(GxGwjpT&3 z2h^R-B;s8Q$!H87{u|wZ0R_XcJLciXkw2Fm`6&Nwvu`*nwmC=JGh_bznR^)L9MO<@ z@6R93Y5nf0aP1Fgx_iv0Kf9xDH+VM%=5DaR6gSdZX9XV|5)!x@uvyjZjG?nr_{JI> z<9r7?ID99%im~@9)u`IJ{smZh474YCx)9snwH2BZYiU|;` zSoEu3OhB<4E-3#Oa@nxdZ0EAD)U;e+7dxUmVrOti{CRiM3@j{bQw0$w;;B%v!W3o( z;+$BG?q`!TGX$}`&l#=y?lA{uilafV%NyMDGj47=_mIcCHuoh{Rd5pS!g}jS;})(> z(F;@kS>%vV!(1S32BLW{UfpsK>RqC|_K?t}spsMOsrpfZv9^(!(}RjJInV-_*@u!^`>h7}o9 z|DqLqI^OZMepgQGjp9gmF~aj12_{e|EIC9VNR-kF)uVPX7?rlr zz0W@A(x1k^e-S1Q)Ar364yo*_-W|PgV3&Q4PLMIr`q zZqa=t4t?(s8Ws&5o!@LGVpQqya)Lv!m2lXk6cpL{Gca-FnW?n;xL(Brbi!TbX)|_g zIPOQ9-x_%Br)t7{&|B?}{AwlL-99{GJ`3(V1ZHrt?3bFZq!K9Z_o|1`Pu+7{_T9vS z*7ry9_uJc#e3)pM6l*+~H4oJ$Ydp80o3RE0-iMTE)O?a|;a=$rst`JqLtmZwqVNrt zMS8SrpLj^`+fydG5E!LKX|7mJG&e#1Y62rF%atbZ^p?#mFj-UlaTgyNO4DH79{q82 z0T>5>`Rl^Ha9xvymOuJO&vfpEC#b+D zzkDraS=<(DJt&3B)0jCXwVK{9PPMe6+CgHTnIOS%-DW3yQnXLMt z2(6P43Y!I?_C0X24h8&>zyZ?d;`NzB#*jMFq9$UBSF+Z?Z}Xsc{k0vXgs_J8xg#x> z+66r8z|YMr{f#rzbcty?^URA2D#vOF4_phL{6x#D@(E+Zj(hgv{0;sCrpQ^@cE_+1 z>0dm`yFAuLc~>GsN)vMsG|~wol$IgGP+fyJ;-O*FABtSt&Vw*WgCF7Fzra+Hh!14$ zdYGP(Z(@2(zy$ds5hkdyFg;78t_h8-V;|4MWG*6?hL;%3J34UKP%odVJz7Li>KD4K zFmq6BZdfTuAIve>T{KSJ$$_J>Z&hyR%C^(`Fs8^(T;eep_@NDx_Gz1?W{IOx`<7wK zGa05_WSDZ1VajCWt zTGr$;)Ks!6j?m10>`GgG5Fq-kC&?}(iA4fIV&91*DT7Z)L^XC{ z1m48}m4Go*%+|4%MewpQg~!Sy+mpt8kuqTEjTm4ss$fM6+R~Vw$%Y_F9+%KVFa!-q zq{WQuMw$Vh$_62eIO4&I%%mcfJJnhlOy{CZfQ)sYV8pqw2yaF&os+i@RJiJmvbU4_ zAQ#o3u`g0D6z=a}th2rojMf?tmoGmHiGb1mc2yE?X%psvfvm}h7486?@gnbYwmxKCbBc0D9HJmaAA;ZRL1vaDtkcV}k zf#o6zluD-Lj9ZB1-D$|mD#%X}D_EIcEYo(}sm)e~K^A3Fqg}ZJF~@QR=uc2Cj+Cd! z#-fO)u8l1mjs_x@1*TUC2!RbfyF-TvX$sypa?wkoVKm-GapM`qNr16)WaHyLk9O@#6 ziBA}>?}m|kf8+tprT40pjN#~JKiAB&$2#k_@$@Ad3XGFCWaDi)}1n{e&`sfBCtT z=3TBQ-)~q=R>2D7)l?g^?YOX-a*@qx!By_0?{{-CuhvYzD0AAE>5rG$lFBswOTqP) zqJT}vIjKMu=JlMSi1l-BF5-?{;x01B*1541C`0tb)Ml74#I2-kv(umz8I(rx%Ctq* zB{%y8#|p$1A_Ita>8UfTzuBad55sIZGwHD8QGeI9^5$jwP304$fZ_hjHh;8=BcyR zPsvcNpTtm8KP5}GehQWv`PLXu?G`FYjp1iw8ReWN`ZLd{J)_V zeiLdbK6j+3C9y#Jsx_Nx*}YVJxqdDE63;e1(Ck^?zW~y4G8^0Kg1T-x-3uCf`D{5hsSr}XE@F8&RTF2g(yo- zojLgs>~UgzZuy4b@CZ6UE|YC5X8s2E?`K>uNBrk<#9wovnL!yz5%dZO1L-tjGMJdi zQdeKEctK5#M4(Ucxc!?cTbYaSg;+mSV16{zM6W1u@kGCht_#`cO=h6xij2O|pdCIl z3v&8)L3zR{O32Hp6%aaF%gA=w!paRnWlNrAq2M6LMi%KdhI=di2%3->$r z3Cm4{KCCu&+2UUett52~Es*-`7^&ClnX>_W9~rWe*tJpuvCoWEx9v2nv5ESb)cs-! zq@GvW#^@{eNX-rKebj%{v9%J`fuWW;C>+1;kPFsXU^bri))hw{6Flk9Q`wQWf4_!Vc8{beOYW7kLV} zgj`7P^D)(ErM-9ApCbnZCwOS9;oaicL5;Jd18JlD#$^H9 zB=?CszAy86#GDhdI+PhQv!9KyWS%K2i1Z@!F`1G9i#2auj~y+87n;NuC(OKaz5h^8 zCh!*eN~x9usbk4K|x6P2cm9&SHyf2a;5`-Q0@ElJ~nfAtsiVl zmcf}gF8X>OpOW-&X7Xgk`fX`k) z4mnY@I=m|pwK6W%<(u8HTinGfWNk|C5c?LwhtjB(7;=~5c9Nv2v9uE1(Ob3hKiatS zSo&!>j!6#bzh-n>8Bp8?Ilgos@+575TJwHxG+s~MWV4kv3T{EO1z<^eF51`LQs$i=KT-^2V z9Fq_QC+c5=poG}G3_zi@1P1aq4XH?j4#5GBblXZerD@5C{qltuGN|PKRsUN02*hTp zokg&VKCG`sif0_Kr|HTzW-$MPN4}<5V?z(xmi1Z*U8yrL{bp`36n0(b%ipj&n*6Y!L5t#I}T|{Hb9?z8dA7#Y$ z5aIv#^<*m6X#8kB4rAAM=NhPCNsj8SQw61N!k1SEb*jtw=R1?pvlscughhA31W4Y^ zDbdwES~CBln=w{h|F?r zuu1|e7_~}Vi}q?tif9j6AoLjJW}cPQ0xc zZjd8Lz$8o1zAutZ(YOl;M#-;Y8jLn-=#vueYP?J0H%UvP@TpfA?>}C_`~#hVjuA10 z4gLy{m53@3py8gzJ2|@zv^M>BMj;aQeU0+0#+l`hIA`+iMV@_@trju~nUkTV10QjP@XkdW9nFO(9*BvnB1_w6b*)Zuh%IxJ&NHZg*@I!d+Si;qLvfh;UCI zXRks8e?`ir)Jmjl3%4ZQhLS-wT7h)e&R{a>77Eh~ZnaRP+>uYPF7<2kpS|d;$D~am znJ5NWNt?=?%aTw#E;|h2T<$cb-!bkn99zF@M?&`V2?-&?;sqliCuTJ62v-*&8CD7cjS{a z%{A}y2`|%+P0=U|FH_#FHlFfoX<1%jS%sP6)t*gC3+mlPsCQ=52J1lCqj5gF zUca=T^L1qlRql$0G&pD{SuCBT za-thbK^#j$G|lj={F|BrpZGJ8efa-QF-{5>R-Oyc?spF2$8jCX;H@IzJ z3JfP;IjcG_6{baqvWrCn>?prh#{e>B^K+W3GNuKdwF@tb@)+g&Kd0ne6fwT6ekQN3 zdGF+R;hDC7tj(7f0Cn{a3weSAbFm-U*x!KPDWjx;CQUz$B@?B!I^np9bY{-5Y~1=Z zOC0Ed(l}N*(VWg!EBqqtu|(6PC_5Ay8Vs~2pO^ey`j2;E+fZXNo<{BD?&x=@5p0`S zW7O605(*Sc4_QIc}ygdy@{+R_!I} z*`J|c4kR0Jog#i#^)=Ka{55RjDPf?P#9W0cRuK-tb?Ft9OXSAh)TtZJ(Iok$qI$6l zHB9m=aV_PAT9<^!B(Fb#?L+ft3>;+ZT&&0R4bv;up9kZPzPkU?vB8@Ln|VvqU!p)V zVa-*-V#=~g(dJtsuZVh>cwYs>qGaL_#H?OIQ>FjI3M6yXo%~c~!$~G7y&)M(E`i)+ zKlrV*leF_Vq|7h;kb<{T%2{Dex>KK4^z1fTNNPDPc&e~a$ko;S*iN&k3RF6xfX9?> z0~1udv|ugn=r3Z{^ZWC)+kgrexJ;qKd6s0N!5CoDz5^2zEsX~5GZRbWm>eR5ND8_; z`59F7U-AhvDY|cH3T?^Aw%!xF0`MGk_B zY#z55H8v-X4YSmfZ-{zwq~plev)0@6U&Sz!-dhgyEPQju(!H~IT>tpv4mqF5ka&W^ zuuSPO1>OxBnRtIG6X&d?xBub=eJLqz# zLppSXG3|E?{=9-+`_Yr!CpfG9C2zo}!(6i)U#|AI8vNJo!M0v+Sm}s4JMw~Q)0i-K z9#oc$(jYjgMD9eHZSBm1y??MUdDc&{+jwQ)QJDcUej3&qqJ6f+0;)s!%v_#2p$Uwx z>hy#UT0$yj{ziBDbJ2Am_Gpoo$QFEL&YFg&hYnN7Ep=v@kmOF+cR>h9)i>IaPt)RX z^1e#qF@J@$!X|!elvWBQ6#=mpjhrU$d!ujpu5Hp~(Q&s8B?y9%ZW6#6rYP@F@xI7X z+Npz}8PBSNIdtNn4l97m*bn<2p08e?yO1E5=t5)9;t|J#+79wDCgK)gCPB%(9Qh}; zZEFakGL@FxmGE682Sjfw;8Z5QkU*ltix(O0d>*c3DZ^cUJdF4Gx)^ZbxX3usfJ;B` z7c}4?i09MMzG+?xiR_LuU~L5mQaP0_2mA?={*_+NsKV=Z!tljs{P44jBguw91j!lz zJHM`R1@WGG%Jh;f0g9exTuSZ_k~)4pc16W zDiZN*T|C8(A~@jaA!rD|(LK+--`Q9%jORP-IAgv8EZQd-ahZDTLd$u8JVOSo9w0&` zEj$y)H%-%z%e{6GfhjJfhKycOgb%@@awM`R$CTPRzq@}h*D3NNFu;`y0Z&q5U%?xE z3PfNHVJm)G0F}1H=d6`I$Sl;Okl+v)gc2O)qyEU#C6WTn3nu>^03Jj8^$@oJ}V}Z z#`03e3uJCvjW8@`1OWO`xdYJW{RjQpl8kde5Zc_}lZ5mfW{plz9JD|?NyBDJZ)8e? zZXMc*l1`S70a_^60Lo)Y#GKzypd{?r)`C8C{pOw?$j&YO_o8NebA8s(OA-}$-d~}D5$e; zZH)yGyn7Enp+6nmadUl=g38 zJYlc*Xo`g7rFk4lSbvp`NsTL?kOy70N~$m}wAd1edNplr^|Kq=iVID~;$$Ymd9m(@ zp?02c!3?kH{M6w6)SMsdK&5_a&M(T_>|KzGj2LPc#B!t3!I0G7<6FNlR&~pt^QPK` z1w2MPFNsA+y^}}aB}DP`Aed?#So; zaJCmk@CbC>OJfo65j_GgEehF?UX}{^A-yaX2t#@S=Xl_KQ+f}gtVw3HGGJ$vECMJFh8Q8FKwGBsm`eIqb&eB@&B5*_3E zCz{9(lx)olrqP^>syz3$RPZp}(8L6fYh1A2qii*@;!U0YTvWU{#}+$C{ffLgN#nE@ z+`m5IH5bDOl=S2Y(_@-Lq@!adlJk4lVBS?!ZT9#+=P`Ua+Q_2$vuLC4s8!*7s9_x* zN&P{RG9&idIMPm4$WD>!$dXHDw9GFCRV$}jrYshMi{~m0XC74c%s!osMwvMC-o z;K0L@PaF}Pe7Ov@wytNVcRid>og+}t9qjx-q8EH(8v?g1yIUqucnGkTH_ua@dniBJ z$ao9jfIrp(_>uD#bqKa6bj`EC$+m`%7zBM{<@wDPhvs)ayYDr>A{WpU$ikc->&W$C z)haQGi-n)et=;Dv3u`NvX_<1IZYajetPoE1aUQpNLeN-+QD<;qv}3CB+Jn(?$u#cx zi6V0#EFABS8eJrN<06SJrm?=)uBI2niF%RL%d=C{6F$wF_{dsyaIq;E$Rdo1OM3sz zoW6}7eHL`^HTkGVb@0#ULy9dm2g(0_>_4(|5^!`Q2Xyi3I8*k0C?nA z)xs}+F|=^s$X}use)3nmY48HoaH*a_36k%+>#`O;7PCo;xEF2Fonn@R)Pk-{%D6lE ztDZLnW!%(%Qg@+gfZ6uW&VORBEeHb@{Kf#6NlRzafeL%vvQr0(^ZE z|17+2%U}3wiSNbvU%TC4m4EGaE3-c3cKhG!wMqQ;#gO>Ek^lN6{$FLso7W?f4&Y7) zj+e9m1ozpv-R^vG+-|3S-80~%0Yp9GEZlB)y8rTSx2Nm1XN9eluR3xl+p*u2L+DIL zf?b6N4PTP9MulI^UATIJ$kZ)%pMSAOe~Qtc`B=7V>SFZaShmsV>{-I{g%=x^BVVfi z3m?w*BTdsh{({f^D-Wk~#{p{ojO4}Zb252pzZ~A^+vk7uc21i62dDq#@#m`#@jZXJ zef}dK9@e+_De(MJOpDp~$7LxA#Bt;oI9Evspc368R*B-d^>-3n)1KUl|I1 zjug?u&Es+e->$c8yagk(9?sb3Wl*nskIR2wzC?z%x&83Rh8?}i;}MPu8-1gUzQ^~& z@P?W2Mw!tDtm;FwFj{rxm(jqH>W>k!zPR_b?&O(*Wq$h=*q`nOT_1c)Wg5;ime)F3Za!{siI+7u5uWzf54LOP;zV}2g$x+r7 z!Pa|Wqsp4l`+4*(nL57rghYz)E}1&N_k^42y(fH*?>)hfeo&G%oh%|Zym|J6d(oWX zG5&^c9>4d+1PLY%i@1Gx`KNy74}b2P_4g?S?DplOAN@B!{?hRICXb+Bm{!c&r)6HA#Z8$vp*=PU$&wb(F#^#nk{1-p- z)vs@P3vZwERgeDKXHR|hn?H8=E$$qvy?o@~{a;`D`00(*@97m;2NfllEmEO~B^X>G zF<}fY`Safpb2is_pz>}DsFLX-ue}1HTyWmYYfl_(Yjh#U!;JoqdeU7#N+CHFdv&4f z7Tv(K+0qT1q7Oa*OiZGT*q)_``p!koCRXxT+~Bq|q@c_zk?{)L-g`Y$+v-RRMMFSNum?a&lN{#=Otd(o|;T&VnP9TS8u7 znu;}vKdwwkgJDfeQ|T0&N&FZ~4|$*>S2G>fDBiFlV;pX|QkqJ;Au>3+{mrV(sR=nG zk*j6+bH<9`w~WcrlocOPqk<*2ks`@pa!QszgR;zEVYE#+lvVG`**2Jsano63kUbhU zA0KR10xFq5obq>yllbh}@nQ2+e4t}pPmub`t0DJ{{<8r!d)nDe^Ewr^;(*i*aKtb` z(q|KuHT}Dwv5*$CNh#zhMI&^zA@ZDDy-bt2o9e)zsPo2=>Ywlv>E33b%TCPQ14yTvX&Xg9UH^zcnWB97LA{ZkVUgF(x2wTBRw5jm;o-b z*!w!PFeKS*7;Aw;3w;x5(_n5Qr{Oeq$Y=2V&yO^rIZx;A=ej8|2cTaM(Ba()91t6T zhH5sOl$NA^zIyYp;Uq`uqYr3dq@0{~bN`JDKX?Z0fLY@@Da*zk{c;80(Yc)=*CrRr z2{c`I`pZ70B_z@0Ldi!Dzp*3LYZtupxlD4#<3_)fo`Ngh3fOqFE1r#$Hkjay&qb0U z4!`3_+$TvHBcKwD@t9ki0s$En*){J^N)4`gO9(SmWY_%B--@UR&iPy@JLeOW!8f1F zWZ%4pGFawTz@W^Qd4w{g!{j149mb&iX%A(v&dFuAb)KNyj83w={Qke=sz42Me|tEq zZ0yKg8qvwe1{=j!3?)sw`Av`roMIue#mdw^GB-NC+iB;A+s!og>L2~saAw=k(-@i{ z;};7qUSI54;AUxp2%zuITLowK4M|wBM30WUII*zG)F$2~>$#AvsHA2f_~uL<9DkFr zkd@Uzz9n^#&siPhOH>C{BdddaE7U?zTW%PEJ z+U+O`*s{7b6^M)K(xQm1hs$yiEorhd6eGPX78@mYME|Bh!-DqmR9B+^a$m=G6O6xi zYsCyzTM$aWaywIFa^~w`0g3yaX&@%wuSkVv>}2XI{A1%#v@*wz8x}}A*Ya5_h2blm zYa2RdFQr$}*~^P|l%e|ak#;=L1)x`^;sW%_G^Ut1R202xr07+?Xpy4YZ5J8H$bkpi zH;{Sd)v*DWQ&g|^&0w3zy98yDl~q$9#P(6~=shQNYH0Ln;u*e8YH=8&eS*^N%z( z<{M+NJm!wODHiSD%V=)$MJ%qIbQSZ_kW0Q%*3gWy6UirA-5Q!WISQ+e!&-fUR^4vi zZMlvlXkExn8r{x?Jgt@suP)ocWnrn=$)&f{T*YN^soBMaQQXL7(^7MDG!bu8mXWJ^ z|6=RpM%Tgz;fY5yq~is+=)?yum`J*4t34My604{6WAcx9*k;yre9lm(S+8LeRJOB} zTAxplN!FGaLAJD*;}`n?owbfMXY^^shs^;iq@pPeZmsR+odVc2$BV%DOe9dDAa4j_ zIURqo57AlcShEEt9E80BF9Hq)(@FaR z%^xDW6%JSM8~J!W62WJhpL`2E<)!g5DG=}*-8i@CKOsnd)dsguvsgnYB*w1y*f z*0XxDNhOL*p;piKy)lkXWoMhB*|936dw1EKiD{P4r0Yr(C*H)V03f4EcH{h(sm8bjZP%J$|B4TTpMboZ52=VwDJ+fvGl+353zck}G}XMQ%46_;k? zBlGSWw6S2z6}#gZN@36OW~;YFdybrPvkJzrVOUlYw7B%JF0e7}guZMFHtyK(!iM?v z*vPvi7(!_dQVeVaQ!oxfr?wG)5$3W9Sm9EAC}wBHk}qhu$$B&wRInRgl$Nu}iR0?4 zB_e|5NiP6bSe+^cB7)r+2N4dlQ`u~QdPD^CGnRZoh{%?!)<>{dUzC=!;b$Jaf+B(e z=n+vGQF8R{b-{>=gYd`s8AT*pNwF3vBG^f>V+QqJa84HAN3MXP0S zf_W$mEYAH3wv~!aTRzi!pLT3ww#l?9G+1N^&9mJUO5i|;PT46ooyqt??=R~No1Fv| zy0Wh1b3~2)D{%7EiySzaahI+kaB^#fapKrB&SiB|VKNGgHvh}(2>7fJGvuYEd*VrX z`7m!t*Gn2=ezJpQSo%cwFmL(gM&pNqpEWT5v|sneH=FF79s>$nAcz5Zn}o}mwjuBE z!5CO#%dAtJAZjE!9$w~^FXxl13tPuRLSc7`9S%NzKz!g!MRS^7 zOMec$uUmwe;1y|aa|$%|av+AM+S_dQo^;01I1IkYOjeWKWa~)X=paz}YJ!!-7Uika zF%Ek+g*=T03&{Lrwj;Wj5QE*-13694G_Y(qb>O}!cm?kt_ejmSk7Wg9QyahpP0-+7zk^ksAsmi^?tkRE^dqhfz2wDHj?skGxYU z?A6X?a+GNS)%K{p(c=1eI?{%q3%hy;>iTzV9#PB74ct}RXbYwjD&U~-sdF;3HMXV5^`^Q+KxHhe_a!SKmjY{>%Es%_Hr9 zKPxoro+2DW)LCmS-`Z2(G_F&etf#3hqell$eOt_SpR>{q*y6sk+2K=Hc6#mQDxbQt z%cri~=u=m2_6abz4YsJlp20b~yk>B&E_V&K>hk)*dAhu5aK0|zH@HBTHxEGn&gKUP zFVW?`0pWn1%>#pNy1Z+^oa}5K9K2MQM+Ps`<>26AUEV)nqINbP91L_>t_MS1KU@zk z(e+2`0bb~x%@g$i-}KJrNIke(*N@hNYjpj|dT_0-Pu2t6)H|D__25!n|8+gMPS>BU z2iNQRR6V#s*JJhIGF^YZ9$c>LFVqA4+B=)4>%mRB9`q_H$a$Qf< zgDZ9QTVGAItfcU9KF#Vf7KxQ~;Bkd-x_-gl`93mafY_CpBOQ;uqR7j0A-_`LL&$9i z8X`xbz;Z^51})Bl4dz`+nLnYeppaPs#B-7C)Bj$&O77;i9&FU(q$=6t}sp3Q58vYJCOT+&Q~vV$yYw?y|C z!TqmGGfNIMNz|-njEJSEn&y{F6wYP(iK=PPm{w9v)s^qWd*YI|1RvKsmC6Hb?43R1 zVjK~E)hYwaI+3&lnQ9o)cAU=^gp~)dJtrgK$TvoiAep~rBqa3;k=ji!R|*OiY6CQr zl`H>RqM%us<*_6BKnenx#B^4@1W-utvFPtP8K84BK*vS_k{YsRfRdxy0E)935`sv{ zSQ9(Q8l9ijG8w2Zkf+S*)vL_vRNc?cyE``{VQWUh$x$RoTUs*`vJ$9SJ^hVfcm!>b z^qVzdAuEGb{}E_AsDnAHY8(q~Gq?u&zIGK%WY@UJA*Cq6|F&jKoR={nhjFpUr53Ik z6IrJeCXReFU?QlNoJ|LT7yj}7A>a&3r6sB?cmfBiU8_J2-@z#8VNS(!GReEE!YwlH>|L1uUlnWvlCv#8eH%UsMlVQ zk#J!~f=^ma5=m3CW+W6&`I1U&lVFL@BN6NMt3Z{#?}Dmjkcb#M z=(QJSs9utxIypMEqNO!MmA&^POK{*jT{Nh&C*DIfj1PfoF+p|1Do|xdy`Z`zwgFTx z$xvOCp<4dE5rP$kuNkWBy%$tz2?jU*MuY0osO>?IT7sAQ5m_GYWouf3m!%d2QOLET z@m_mThG<)c=-4PkT0d)ssL0U*qWGT0%l())89+Jn%Bun)=gRVuFJBWtIW0>7U6C5^ zwc9d4+cQ9?Mgh`_UNb;Bb;}6v_XF<_8C;tUqMWZ)_217FUFk=(S<7kTnjo5*#zo`3 zc6)~Cr5U2*zdu5B;wWo|C}n&Z-%oNqBz^VQ$R^8_Fv<0h5_XPYHvirfxqc%O@TOIk zU(O`c+=eVN2Gwg{nlbURjEU2um=K#=GbVCMn&vhVYe-4kVpE%P%~*YZ4=_WT*%pDh zb4^p5^Uws)^`10nyw|=g19Wi)=*S<8Os!b+ngO~Yuk-?-8+@PV7(hizn*kJ(*=*jf zSQ9`g)6K%)H>JjV?Zp|OHUo5Q6d=ioH3PIX6`&>G=eY*Z?o`Cj(C+w<8G8Ae0J=G~ zpc%S3)@O#=4A3A0baE6R$)Gg@bW84w89EZ#$t}Lqtp?Gpsf=eQx5kG+v}sKcy&|k7Y(qzP&nj%;RjCC* z^r~1Nh=vIw@1p~&--;_}J#f4__W&HnzZDq$t9@7JuZ1mI&M;^62lost;|f^D@!&~( ziD!-Ry_|60OXLRFHk6J5x=G@1FG;{K2Kke0C)X#+CKa^#MA_t(Qq(`0iV(KB+}yXH zEDPn33n3b!5I$~W7q$(CxJ}1>DmN1YH=in-Nx7^}ksCrY)|f8rLiLfG&=`&&&Pr~t zw8+iO$VB*9hHZ2Ebn1^Z_W_W7I`p@%rYJL^vR@Xco? zO8rtU#U|er!1<+A&@V5G;2e9_A~-hA&*pknJL5w*pG}n*s+Ia&E(K}`;(RU@@$D9n ze?FI;fucV@UXnmCCrnx#M|G!2)0t*ka5B55emVD`HS^1%2Pk>UkFA|m8ay%D;EB*+ z5!q?lt03UO>i)G{B!+i> zZKBZ0T!`a@|G090-zRpTOeOtvDOay)uRa@)zL2_b$NxhD=?kd?NCxw+<9AAR!W})GK>AARAcFMUsayc*x62|1 z((mLV5v1RlDD+G&^%MGT~` z(z^!up`cRGXg`>BHn(jTO90i-`Dix^1X%0(hb z-zAl-B}Ablrw;ZFT&nx*fg4kAc@n92o^{;(`!ApKD;5<&W- zi9*ljLLQ`_@*q8%N@kEc?vGPx?K#_F3eq2kk`}s3A>Ppdx4v=8yeUZj()X9G{&Jze zZ11Cmk246x#TkS)_b`a|GHv{++RL@^r_xp*2GQQAjXzbpQyYJ(_6j!saC!Ms z!yvQ`h(WZQZ4lDu7{u!NhB=&X2>`YyX^r80Kxzr+0}D}Ljb1yH7`=8VFvpRKTDRvdHLvG#{!;TME*C5{-^b;`rRL3CUb58uAeW1l zn)|qHTWTKQvVEy}7nheVH4k!m*;4Zemy4I0gIvfzdOw%JQu9GB!zCivTrXK7g3a}+ zB_h~dnVBbay?TiVHdp56qq<(ZLkn8zZ`ee@KFBTh+ z(%O?2l!D)oU`-Zx?TxM#Hvgg+f@%OTw(UcgMIA;G zvkhcZ!oeeuKyOFvjC#>zTRXEi_D-?vUi}@E(qNy?ev* z4ibt;HXRyURA|~KU8^T=R2zGOA&EfM^AYShSpcZYb{eNUqsf0F?aOq zIDqUWmLbEE+zHT{gW^^HZ_{XqhKGIwDsAnnbQ%0knUFMOLPv;a zhq1;*s43FcGF#WyiTnfflLFK$zPcvzgggs5U>$X=u{_8QTeq@mf9e-27v3>CnFq-b zQZ(6}`cHmJLLfQQYYry+H5P)&xj+#shM?aZqs3F!SdR4iH5OvL)|9QW6vcHX|I81k z%x1JTmV>f+jfK!`9#R=i)sR9MH4Ulz!jz;az~kG^e`%rajLU{Xs;vCFNxf2XeNu(v z8Q+$riYGD85@6qcPvhEOxRC`oJNSN#!{CU$AJ-dTlUx#+CRsxdltR!aSrbUy#HOvs zBsRp;DVapZ3mj<{D{_h@q4EM-O%jF`e6oZ;2^ztlg$z4B4gMr%GW>SD)JQ^{!5*jUf$%4h2K+}p!R+eS2q1|zAs~x2G{H}3zg`k*83EdXL)k3dvpYD{urWPyaaiBMLm#H0*(?!{gss)z+_1K-)%Doc>ijBCn$1#i4O^?% zu9ufmH0>_{121IP;s`7Kt8ECK`t$#W452S=o_u#&aaf3P^eKkWXllDp!d{O6b4UIk zFV{=M$V7jZMbdkv`6VIL)?NcG1kuFliZjY#7TdN6C_yZ}{!Ed$8P-D~l_t(qv|W8M zZ`DSUWlgu8O-aZ>=EUvwJh9hlQbSL2+|>t*j29N-h2rtBq99w8Wvs&p3+ZBU#~@oQ z#nyOcvOf7*L7E!EtPvC~;B1<+Z14(l zFp9D^nz%f(SoPl$k0^}turNZi`QsJjVEkB9ru`<)?v5f_WrPMhC+pCeOLMj`OX*e$ z1$!qCDVsQcNFl%13%hLE!16F-WrPOP##+#+boTEojnHiO9K}45iSqLp)A-C z{0Tg&3o*<3^~>RJjL%?6 zh2U-C1;GU{YF24GW-zSc_O{Wp{|e*tV!yQGu?_w>l{Olx?%0p}sc1(y0HZ7tNX@}B z7%wo4ZP;A>fE&gFfsx6(<^4A~L)5RWkRzJc){fYeJNA$LaCXGTSn9?MFO5YIFmY{N zS`;!0yDSyb+WLW*x|x>y*&H5bZn9|`?xOw_&x!trbM^eVDca^OYlaSZuy=5Bk%NM-t8m) zvTe!U1Dl;BxY-N2fK+I*p-2&q6GmF)(-08M5@7jUP3!?zps0eFKSZ&Dr(x9L^p)-L}3vR&DlalBb+Aa?iXzTIGp z!hL9ymB^DzR}E}XG!SDHj@H|rSKpFdF>euJjLMt|RK+L|w=DO#i)7LV&q(-Bk- z73YZe-uN$56quQLe%AMDRa<}=TN>prin@(Cdvsicv_y|ge_Vw0MSrM=^4P*6jOjQGOzLE%jr&q3<)C32 zc=v3ZUoA`)TVASOT7{(=&IZZI^q(pY$QlsWVi~m@XXE4e0=|b0zOgQ;tPWBce|5e!mXJQS9a)V=^#mZNV@LdALYC{@PpYL4OwAL*1ge=y*jGG6K5dj+Z`=gM20Uk zV+$DiiM;J>{ab`Mbt)I)qaT^WR%`oTocYD|9qFv_V<~C88^kMVT%@FNk&?zmN*b4v z6|Qg&REX6oJyu6)M9Qf98wQ<78K}V>DL+YfsTKM5?^@@LC~ZM{NrNdTkg`Wbf$E^3 z6eGSsD0aG9QfJt4?uoC?w3l?4vSqcH394~l5orX9O5PYagOO>s&=Mi-OhlCAwCAWx z?P>Mal`+asn$CFdnc5on+iElTf}%MlvI)IsO;Nqy7qvuNcS$qaGu}b=0X6P-)Im@J zr*u#Tv_<(zty6ZeZ+C`S8zL(?UDA)tX1&ziPLcZ}5i%A>F!I-*#eLW}YN3CD78oD= z-N07Q_)4o`$Br|D?ok9d7|5R$!XZe0F@z)POnc%47P6q?(%5cG<7b<*Pytq;``|xgK`9(%#mvI#bmH1X*~{Ey5BAM?vxHP-&F_qN4~2L2n@s- znX{CxyT%UKn=gFu9L3(>F_?)A7;|!l(l#(h;)mQJ=1!V-nGqwY+wPXSio7@tZ%&&* z=F(=6?jEfR_##qh+n`e}tx`Rqd|N@DHp_Efed$QjS2Q<-al&!tq5=~hbmD{XU9aPy z;0W;eIiQDyg*^Tc!QFFpA+!GUQfyzYCyRY#(+0GR?^I8ysfAt zu*m-lTM<=^2a-V&A((P<%oE6w2tmVE-kKf6zmx;ZPi&;nFI@oM_HXxa}UIYD;;U1Ih(5WOZzyZX4d!q zu%4WUQEr;wT(^RFit;()-Po<(ofF~I3EpD0CZ0Us0kh`(n1b0tOogd1$?UCzh)RR~ zj4ll$(g>?jZ||F(NxQL#s%jCBDfX}{i6MwvV#xISHE8s9GL?2;#($T<9QJSO*1Szj zz8F`D;*bJx=|eIa<3|~$@k`siN8}L-NtC#mM}{-K?qNsxbpMc*#_JNhJxQ6lB%NR* z{r+IwZs;T)%Soob#k)*8jS)R8s8XURtg#^J+5S1S7>F7dQ^$9i$&~dCZ`x82s-L)7 zF_~H8u>M9ZUcnH}%eQ{Y6({$4Dx9g$H`vO=s~Df3GRcK=ATySExH#YRf(5tngRl-ufGMorD4`wPdIhgRr0A8Fk=IZZq$f4l z+|7}_#YyTwD_}TH6vSY468C8vOZshRUTaFov`$%uvxTOh*uJ_AszUHahq)7N$OJ9a z1&Jh;53T?!AGm=#>}uFyefPGwWPx6o$mHPsW{7ntmso{zOmZ!2l-n3HpJ&k?3-_CN@n z3whTN<`0It2l1A3mcPzQFo|6E#2$DJ-qgee0^sDU4#2EPwQ?Q#3^Lhhn@H7vH!}hu zK^hxF{Da$&-aR5cQHOWz>)v)F$8-;V6|`d>y=REh`+6H2-O?W~z=O!gSOy+zmb3I~dU@XaW15BB#t(SNo(Ty$9-7wZgCUaIn zfO9B?i7urjx$O^YIuxg}>99rSw!_)sM=Gxu-EzJkG%|BgpXS9vP=EsqNpt2`r=iJK zXV$f)EelQR16r_HO_J4yR*&5U&CR0_6HP$`8E-dphzK`F&@c0i8dQ7pTouSt_bc}6@ zos0c#iLtGywurVEr2zcMcLikZnOJ z33{IhzCJ~Pig;e7Xe>tUFD8Qj(_Yh?lnlGFWH8ZMNsvo9;1V_%Szg^0Xn>2lxrVnL zuPIoVR&EyoVQ&m~r~fIATF>OSA!aN4;0q~HdWF(4{^=pcP%2)Y9jZLW6`Dm7@fQi504xk##B?KaF-kg&d9BaN|Pz2 z;=wtr;_&+viT1rYK+q_oCwkjZay0Yj+bbvlQ=of?L@afZg|m@WKd4N)SCa0SJaF#H zqIS^P|3_0^}x`1!hk$;DrLr*m zsZKqQ)VyXOioP{l$94C~#&F&J1DzmZbMO6|L&Si+jC4gb#$E=VG6MeeZ`IWpy4K@y#K@f|^N_hWQOm?Oyh%d>_npSitAD>{M{ zUASWf<!D0rs;8=xVSaO=Y@_h@NPnbKo-!LNd?PjltGhG{ zEo;PvQV0o(DAhA4`MF5u?IiKu;QlSFm>k}~-=nfBA9Rs%5cs`t^>N6;FeAL3@X7jJ zR?o;kE8k$yZkn&~ZOzQi&10&8FwZQJv&+t1EEuJ+io8l zGOGF}wIf679!DZWKi%U`dFK$4Lv>Tae4wm!%D1?H3gkTZOj#k*J*Wi~Dl*+8Wrbw- zTqY;Gd&&x1e64^DCFi(HB@ktWEcaX_Ww|4LnsfY5aSS&(` zX1_k=)Eoe4rMqz;n2tIcBDlTk{Z^;xOe!gb`y(nTSKtTmK7QEndiR3&A0|>A)DWg% zCiA%4pXX=uo6VH!er$wLvyRd2<8O`nW1hmSV;ueGaSDTukqebN#`0G@lL|^kE|isw z#0-ORoXccA!_RZjGOU2jbJjBAJO>RU7b!yVTI?JNH-jP)T!YaAbQUSf-Q77wIeK{h zV_i@90kw{n2^pNS$aExW?=^`!3ZJ40IqH&%>0tR3F4rySDb0 z+F6FcqV*JWvZp07zi0r@>_fuOJS=}g2GgvF@epIusCB3(XMs*ckn0xSdROZs+Ln z_1pO4mYcg=m2d9DyeBNc-Qf&}*wQ7`wQVRxuyF6Fy4Bf7FtWZ!3=Ho?*D7o%jF>J> zcl!qzQ8r{6jMUB^6>k?TTqLehv`sWX!v2jis{nTY(mEQWap@>h$x`FqN)gAWR&5sW^x0^o5E4?u9aMqXu%dgl?AH%kI{`u-r zZz01Q$#RE(mc$;pxMLi)pT@$Yz|M zibxzjtUN7f4{qf~>nI~YlcTHwU5Wkj$O6ww8=En-i#Zo)?|od5lSn`lCi6HPcteqI zHQV+K_kpJy{*nzO+}ng%rOf5YlCVmF!;e?$`weiEgFf|-3r?wZU3Ke`{M zpXIipaMmgDsYfRZe!xm)^K?@Xl4@ipT%F@TG0BpZS>ft-)oa^1e|;@JcDX@Zbq~rz z@74+skus4CwBQ)~&=xpflt98l#D@0+Pw7ke756Dc#MrkDJ=>Vw{$?;8Y)oTAqLSE! zXF_*PYt&|&&NgIw6fF24W3WaslNwdsP*|f~7~2e}3dU$knjmt^#@7-P0pvh}OwJ;$Jf^&5>6Tizlf zo@@Aig~t~HlWyS8{Sq%?Zf*2K!D%t_4aLzPI7%%<8q8*8--o(qu?222DFWM6$uV5; z$6m+<5A1d>=9X>RO@svbCVwoK&AT}ove7}2H*@Ll=1j;&=S99I%Hz*g!CCufbM*#d zB&-oY4I8_PH$_KZxZ-DFYs8ccDoJBXYX2&imi5R*uUzD^22mTCzt)21TU{M$&MJbj z$^nQxXK50Yj-obbVhErOEcaRCgklcGN=M3*X5i_`awxMR&ikXGCzdreU`^0dhkOM; zS;l^NlVF){yAaA}&tHc(>iY6??ZW;ct6{&^NSS!6foY8dNtMXW#${!*?k&Spn4Qe-L?+P;=DD+P%i7M34rLoz_vR}~4Dz>?L{HKvAox!UN8XuZZ$^1oljE|v< zh|>59{ArMxNjFG~bZSPRp5`o#28sBIyg6)Kznx`rS^STAltLPS1RGu3_kfUqmsFa`6dbGnEk^!@F_4q2G>;Cxq0Nb7ys#Ke=v z3bVBa0>dy%Snh+iA7v~C_ZD_r)2-~oZ9@qeTQ6`fi51Zg$!*+=T5yGDScA$;MUJaW z7>9OLH*WbS8CK7?XpB&dJZPP?P;7^AOaIAlg||79W8Uc9)1?ZSkw|hIJc2#CrZr&7khdWz zzuE4=BD%;vf5YyRi~-HJ+7Ujm@n`-iNwJ6$kPc`y2fnge&=2O?%_gTb_F^0a*=0=G z{$ULInL^DaqYar+yP)P8e(lAD=o<{B(mQ@<3Y~XjC?9lQD<9rkh7z)I-*7`azfb1s zOg?4K1}4KLXs&T`lzU*N?M(4P`}xp8&`+&{s2K$~=H2!~pwqr>5dWDe^v?)T&_6M_ zYUNPse<8#+P$!3Ngg7NthVzQj_zFcH0kYU`eytW_avgwjWKFwhC{K3-OA=_d%d3KV zY>YY7Bb7r)55XRb{F&DSVLES25~azd$dC1+jJy!{Ng0`j0cdk3pXsWy)^>>h82mA^ z+$j(@I<_1fien4mp>k{m{xrTEFA^3sz7Q`;<16ro5-^1(ZLyc<9xa-I8v;tn^)PE$ zDl7(_kEIl1i~wdr?0WS5t&FM&HHAc~5NxtIpGhWIW@U4R_}DfSqKdU*DOxtJ7dUc*D8vHv~*ka)<6tRk+4M*zJU;$iVcKD0?mvXU;bvNJs)FP zbDV=%9dxL4LM?0EvgS;OT3 zHwD2t>c5vM586&B;E|oOcdJ!TAer2*gJ$)`|8~!4DN=#h@?#h*bi0ty zwr(s=&D4s-6JrM7X(n@jSJ;{?wbj;rHup!V%6gabxenE-)yj*U9RwwUUf$WZg)_0!NLjZmnRM zFA(Dq)pp7Z1pG5IlRM6)#2IBbnZfizUT9FDG?*M77-{`1MDs;?tR&pRY?YQXYN&)- z?lg%%M`|2BEcVTh(tzbq4Yiv%@22*JXT;Ch1Pp)RdR$%-orz)|8kj{nQ9hR^OjMpv z@fqZ1hkoK5NYAs%IhyHHd8STdtS3-&3zcsn`%ZlLKj`cMO^mP5+5bh1ss{H+E|hil z6fg}cdoGhzb{{YeD!UahV6w^{1Ev!AU@R9YRdxcVe^Oh(G-&KEBw(t{c%QWy=`_Yo zKQlXd7}nXd1S1Of#81^bY?X#pPjpnd=wa1oa5FWs2>Tl|HI5JtI8g0CIJtH~9CWZT zI?zB9)0*bp5pbq)y(VLH?gOzWTFZpsM_Up>WEuFB@V}Gct1c2zaHgFGSW?7z1(rmS z6X$q=vTBTyNFI>7K%wbmFPHoFoYfemn9&;KV&mD0e9;~GRo_XXo`Us7IQpuREI)Vj z$7hLCCd)6NdbF3Vs**w*?)ZmaX;q{?WKtfja-pgu`^+tW{2N`Xlbl>rMz&pba_-ym zC%=5H)d^PE)SY?h9>i+88)q!en^#CI9vFg2iK2SYey_5R~xto66v-7=OSEa9& zwW7WsuO6g@w^i3t`yh4SO{?#$uHo}zRpp-CFxmG`YB_2>NI!44e%{Tehv@$x*N3@2 z$lU|968d+~Oljq1BYhvBt{=gB8B6HB7_GW|a$!0IchmPFdK4VO!h`fH7!FqNqSlFp zNeC_*>04txK>ZKU^Lwjz@NX~QN57Ixy9anKUmySpL_UypTYYGD%iFB z6aF8wtL8x1+zW2r15O_SOAi8LEPoA8Y@UiXEBDOC(XpwQP5cU*2dmeBn}ht0{kSJK zjjpD#=l-jEYSSbHui@EiX!|jKwE{dX{ZLp7EhB#ztiIPM>uUP;b98Ift~4U|#OBdC z5(L6%9Q)s*?Y&^(8di|jj$eE4<(t;ffiTt+=xpQsq02M%oPON1n3O_`AgKZhmj(_ZAzmMx&n8ib~vM|Cac>o8O!Hy@gtWOrzF_)SFtmiC_KO z&F{_p-ohtAFUT}%jYz$zC6&^@oB6$kzrv897i1c>Mx@@fb>98>oK+^>3iQ2y-o@ za3l3^r2dW6zmfVkQvXKki>TK^A~#Y0ChFfr{hO$N6ZLPR{#r?AiTX>_U!wjJ^_Qr> zME$jr)NbnUrv7f~@2384>hGrhT1o9@>fcQLo2h>@^>3#B&D38j3Eo2eTd02v^>3m6 zE!4k-`l2dPhGthYBrFS4f>t9|uc~>!{d*gKr4C7S@8$O$v?!_+Wr;d8!wTG$fA z8nt@9pI`lZJHHR`yO-a0@J$pgsuX33IyA$YC1G0F62uy{dRA@ydw}1){Jw)vS`DIT zQKcwL)S(&HED6)XmLS%s)w62rpA-riCp*tWm3H)gJkAPrYU*l!Ax__b0{mvAFvf9@_0_g$btB^d7Lk9&GJIaTwNX{%T9ul1$f zGgC^Tpwp8SuJGfY8}=S~Fn;4&^ZR}LW<>0n(7vyQ`0od$?;(d#*K7Io7z;*Lr4WAY z6n)j~!q|^{_L52TYwBgg?4^b82P;w$Z;mx|bx-b?Uh4-8Pg986YMq!;OH-W})xG0O zioTv(wbqn{%uxqOm!@1ek(fJf|D3cXg^o`}b|DY$q>uMPg)%-a5A>+|_T!%2Imw3Pn;5Mn zCKL^#RM)qlzwW6kCi|8RHrh(&4c3NxW=gHe5od_4L-)kXC;OVL^$?IgXn69qo}N-m zt7mkCZv$82Rslx$?3!xbjv#y^YdqF^^2*5(PGZB?5`}qeoLEOKQJAmw+?A8_*G|Co z4q$p1$~lOl5NaA)!XNkaRqJa-R#bpCx8t6>YAtZTH}OOd!BbaH_B}~~u~x!Y?pL4O zv+HVQDi%b?*Q{qOQ?a12Tr-J>Nm`4NA>h$HdF^DaNviR+5*FNvb<|2wyXV$XD?#a= z+BJ!t7UYkvp*vX(Z$^`NGxGPkDOB?8x?7n>u}@vM-my%h*k{+>N?PTjI{)LIx_)vj zL!O-pFJaZkHbgboPfCf`^IS7t`gb3J6HBp|GwLdMy38l>cB#Ws9wjZML$s8UFRcx= zz2ED^4U>}nE%frjB>Uf_ca1_`L_dZRCzX5p#!1-jq}Q{Nfa9{Lr5*cmPu?`Sg0d!X zJ5p3?HGci_$DNo`OIn9y=6-%3MoWCCtf9~Dxtn@#((J^anh(+yWY9>?z1_^N(Rt9! zjmrBd*+VPt#L^@L8jEoIfX(}3*a3i`NuHSE4fY z8>wl0^fqSq?C##N`YHSD{|FIB_n}}`sANvd#D|=xk~G)7$PWp@|MYE@J5QPZyCtKmUa40OodTv zFWFjUx9*8sC#P2|-T{#hc0{8o!-QftrPfwzc}wvj#vr%3$7JfxJ$viqlH0@M?+ePL zl<+&KR|Y8F8lV_$v#mY|uA{-1de8@V;uVvmClgM~M%b|*_v|Ys;g&!wm-0j}?#bIG z*{XsF8lAlBVs87Pv-_cnz4#^$F#31#O$2*4z5BkOxovW$-^`;oP)>^}lDEkHQRXs- z6Sa)r$(?8pi%Ku2{czD2DQaUD6p%At&K z9QX8Rri@-%Zdqk=^!LJ|iy!wK&5TgCD7wq&U8cDv30#Y%@xnx}FB@vINma7c zl_6U(O~5_#xhcq(FZJE#7l@;Kj$#v|6NRljx@pUBog;M5etv9pFQrQ{J%zHm zt4XQ1hvyO)T0}C2q<_dgEHlZwzH~jr-Th3Q?vG1Ik#h0lo~4@!Le)q{3c4pwj1?36 zmH0S%X=qI$4EGepCi0J@#7Po-pn5HXnv&V!o}t=A!igmOnO4EdcweD2_w=t!TWxQn zpGiD0-#3kX+_O}hSi~}M&X#n}&{;9sXTC6{+cV>G zJyW>CAl!*xpGLv=F|d_MXT5W{Lf;v9Na@6HtT3k%ap}iBORN~ci;o~Bly4v@SV*-*f+Cp7Yk9pSMK-v zb=UKFnY1-y`*qjSUAjZdL<=)w`8Llw_=8=F~2-kCY!d zGX)dWvYvUkA)d-Gs2pSj$Vl1dUh-_;C7t+o zV*7fhYE^r!s@M3FWGn|y@`AWsq!@MB@RWLycTGDhZuJr6Uq?`7pk&$ph*Xv3gSBHWbBb$u4N8t;bYStl1Y_`N7hJV@I0!n-!!-t zL`wg&-mdr7%J5y^*YxjM{ab7aIuE@d(n(w8bH|ax4ej!Xk}hS;q&VlTxQ}V>ti@=@ zD<{Pl&Uj`O*uD#z=Sp0P@K?*8GE%nL8i+GOgz=>QuaZo>VyyLquEhZD016_w&AsL+rIcSg(pY~RvRh(97@Z8e$cP3K&?EFlym)gesCtu$N5(`E z4l%+lrvuX_z7aaP<#oF}i&?C9+}@EtYi#+*v}kbWPd1P2Uu0%V; zOJ?yyqSO`ol$OQvb&|do%iOm4&MVS5H@l#D&nwCwz1jST>a|=5I5yJ)ry5fJ)TPJv zyF$PIzAph@tRVOLOiM6iOJgjw5T}D61K#OJ8x?6LW)i$gy=of1j z>84`)KYOjj+Pj>!*pH=);T%?z{x3UR{jeO)u73HeBlge=t==rJ2)<{!Gqme6%GQz; zzd2&>)68X!4N5WIy&^nbn=7Ns#1p$p9}DaH>_#5{?$mabMsB-jSv{wXJo>{CyUP66 z-k!KktRrgpr#GUQ|CTjw_a0zY9~=JVR3Bq^`w*!Y*&Y5he|BAaUA?WFw))_2N9?^b z#V!^-b45%4pJbK|5m08@I>}IrWeYX;CU8bKt9|5Fc3i9*C?#_z=UEO)ck9g*Rx7JJ z-hX?$&Ruwa6vSQA+=KdkqxX!S9&l-e-Tanr4LPtlsn4$0=mP1i@X`n_-rk0q3#w4cS!AWgVzF{#wk^(IU5T`(ovlv zIOD@d;Lb78xGk*}Z62;#czn}%)2#Lgt+Yzr&Zs`QJ-TYwwyO@`n|Sl zu~oGg$PiC2uXWlGp5cGJUGHCVAc|u#&i3l}{W?Mb?*X9W-4Lz@lHwVtQ81wa32P`% zgIkgh2+IJ0h8;DC6>zuk-O#h}<^{Sld^VsL5V7s#LkS!VglU&-o`ZrlZ7Ij5B&GrR z%5%VKK;=wFDBuoc4WJz`P;jr%8>+P_2P_Vk4RkDUJ1YlX7C8pj%k_g-_(MndnN<4^ zcodwhfly6Hga7&Ur7Sf7v&1jF`rd()0k@8*2b-G@X$TKk^Kl491vJz!59Sz6{a1-z$Xl8(sKpl}x4@MgJ zYp?F$o&g^2b6y?BNt%-;46V3YeEV8|ICh8H&kIX0)~1QfjW z13;P305N6E0{Aq5FQW}8D?JhW0<{LzO0NN&3MiHl3;vz)M;_2ycu^XtDu7tVEMo=> zQy!}VVWmb;Vq>7Dz-57l0>|cs<@sa0UPEBwxi#nHf*=#CIPNifiRSVN*96l&=OSU< zdG}G}^ZMgU?D9fldM8+73+?o&476CbIV4&ifTC=~k=aTzPPvD3k&EMUQoP_b4l%Rt z#_@K>JKR807Hb_>_SUtkEZ3glc32DTJmrg?9*1YPPuh7_-g2YIOP(J1Z;RP!MO~zP zIq9^)qali4CmColx6@*|Q$B1|YdQAFE>*T|vgGhw%2ym|Iazc#i>5O4$QW5BtqV^v z@yMFH4Y#Vx;9U#ozv?L2NHemeW~$_99;q)^_Rn1xi~PvIsI{+{D5W>UBpqb zqjt8sA#%vkJ2~8^wkv`BN({gG5^m^#5O_qt=js=)ujTg(_p2JsWlmy5`*b$r$kG(J zx~1e*l}bv|BpE5&Z0_VxU|&;6TVawGi*xJGQoiAshM9R?6~e_~dgUSl?eugt_vqo5 z43#W99KKD-xO&GVa7^FrX0p|*xgNoacU)g~iO+sihqCs&UI;xJE+R<(O-Br8&>YmZ z;Wp{-^yKi`;0|T?9He;55yRQV_O)5yvWJXSO#Z_}52~E5ju~#E(hbvYX%$?!TdMKK zZ+G;dGpb6Rqx%G@p?~MS|(M7QLyj7&;JOZE>|K m)>6Fd*l1nzmgx#y>_@~_g<;%XNiZ>E6_brF4ptkIjo$yoryBwQ literal 0 HcmV?d00001 diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/polywrap.build.json b/packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/polywrap.build.json new file mode 100644 index 0000000000..fb006acf11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/polywrap.build.json @@ -0,0 +1,6 @@ +{ + "format": "0.0.1-prealpha.3", + "docker": { + "buildImageId": "sha256:c6f86547730a5044febd75872db0afdfc4cda3cfa0053b838932f03721c458ca\n" + } +} \ No newline at end of file diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/polywrap.json b/packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/polywrap.json new file mode 100644 index 0000000000..ab7f052a11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/polywrap.json @@ -0,0 +1,9 @@ +{ + "format": "0.0.1-prealpha.9", + "name": "Valid Wrapper", + "language": "wasm/assemblyscript", + "build": "./polywrap.build.json", + "meta": "./polywrap.meta.json", + "schema": "./schema.graphql", + "module": "./module.wasm" +} diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/polywrap.meta.json b/packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/polywrap.meta.json new file mode 100644 index 0000000000..f19ddb8aba --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/polywrap.meta.json @@ -0,0 +1 @@ +Invalid meta manifest \ No newline at end of file diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/schema.graphql b/packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/schema.graphql new file mode 100644 index 0000000000..baf49860be --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-meta-manifest/schema.graphql @@ -0,0 +1,382 @@ +### Polywrap Header START ### +scalar UInt +scalar UInt8 +scalar UInt16 +scalar UInt32 +scalar Int +scalar Int8 +scalar Int16 +scalar Int32 +scalar Bytes +scalar BigInt +scalar BigNumber +scalar JSON +scalar Map + +directive @imported( + uri: String! + namespace: String! + nativeType: String! +) on OBJECT | ENUM + +directive @imports( + types: [String!]! +) on OBJECT + +directive @capability( + type: String! + uri: String! + namespace: String! +) repeatable on OBJECT + +directive @enabled_interface on OBJECT + +directive @annotate(type: String!) on FIELD + +### Polywrap Header END ### + +type Module @imports( + types: [ + "Ethereum_Module", + "Ethereum_Connection", + "Ethereum_TxOverrides", + "Ethereum_StaticTxResult", + "Ethereum_TxRequest", + "Ethereum_TxReceipt", + "Ethereum_Log", + "Ethereum_EventNotification", + "Ethereum_Network", + "Ethereum_TxResponse", + "Ethereum_Access" + ] +) { + getData( + address: String! + connection: Ethereum_Connection + ): Int! + + tryGetData( + address: String! + connection: Ethereum_Connection + ): String! + + throwGetData( + address: String! + connection: Ethereum_Connection + ): String! + + setData( + address: String! + value: Int! + connection: Ethereum_Connection + ): String! + + deployContract( + connection: Ethereum_Connection + ): String! +} + +### Imported Modules START ### + +type Ethereum_Module @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Module" +) { + callContractView( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + callContractStatic( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_StaticTxResult! + + getBalance( + address: String! + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + encodeParams( + types: [String!]! + values: [String!]! + ): String! + + encodeFunction( + method: String! + args: [String!] + ): String! + + solidityPack( + types: [String!]! + values: [String!]! + ): String! + + solidityKeccak256( + types: [String!]! + values: [String!]! + ): String! + + soliditySha256( + types: [String!]! + values: [String!]! + ): String! + + getSignerAddress( + connection: Ethereum_Connection + ): String! + + getSignerBalance( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getSignerTransactionCount( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getGasPrice( + connection: Ethereum_Connection + ): BigInt! + + estimateTransactionGas( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): BigInt! + + estimateContractCallGas( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): BigInt! + + checkAddress( + address: String! + ): Boolean! + + toWei( + eth: String! + ): BigInt! + + toEth( + wei: BigInt! + ): String! + + awaitTransaction( + txHash: String! + confirmations: UInt32! + timeout: UInt32! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + waitForEvent( + address: String! + event: String! + args: [String!] + timeout: UInt32 + connection: Ethereum_Connection + ): Ethereum_EventNotification! + + getNetwork( + connection: Ethereum_Connection + ): Ethereum_Network! + + callContractMethod( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxResponse! + + callContractMethodAndWait( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxReceipt! + + sendTransaction( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxResponse! + + sendTransactionAndWait( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + deployContract( + abi: String! + bytecode: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + signMessage( + message: String! + connection: Ethereum_Connection + ): String! + + sendRPC( + method: String! + params: [String!]! + connection: Ethereum_Connection + ): String +} + +### Imported Modules END ### + +### Imported Objects START ### + +type Ethereum_Connection @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Connection" +) { + node: String + networkNameOrChainId: String +} + +type Ethereum_TxOverrides @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxOverrides" +) { + gasLimit: BigInt + gasPrice: BigInt + value: BigInt +} + +type Ethereum_StaticTxResult @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "StaticTxResult" +) { + result: String! + error: Boolean! +} + +type Ethereum_TxRequest @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxRequest" +) { + to: String + from: String + nonce: UInt32 + gasLimit: BigInt + gasPrice: BigInt + data: String + value: BigInt + chainId: BigInt + type: UInt32 +} + +type Ethereum_TxReceipt @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxReceipt" +) { + to: String! + from: String! + contractAddress: String! + transactionIndex: UInt32! + root: String + gasUsed: BigInt! + logsBloom: String! + transactionHash: String! + logs: [Ethereum_Log!]! + blockNumber: BigInt! + blockHash: String! + confirmations: UInt32! + cumulativeGasUsed: BigInt! + effectiveGasPrice: BigInt! + byzantium: Boolean! + type: UInt32! + status: UInt32 +} + +type Ethereum_Log @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Log" +) { + blockNumber: BigInt! + blockHash: String! + transactionIndex: UInt32! + removed: Boolean! + address: String! + data: String! + topics: [String!]! + transactionHash: String! + logIndex: UInt32! +} + +type Ethereum_EventNotification @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "EventNotification" +) { + data: String! + address: String! + log: Ethereum_Log! +} + +type Ethereum_Network @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Network" +) { + name: String! + chainId: BigInt! + ensAddress: String +} + +type Ethereum_TxResponse @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxResponse" +) { + hash: String! + to: String + from: String! + nonce: UInt32! + gasLimit: BigInt! + gasPrice: BigInt + data: String! + value: BigInt! + chainId: BigInt! + blockNumber: BigInt + blockHash: String + timestamp: UInt32 + confirmations: UInt32! + raw: String + r: String + s: String + v: UInt32 + type: UInt32 + accessList: [Ethereum_Access!] +} + +type Ethereum_Access @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Access" +) { + address: String! + storageKeys: [String!]! +} + +### Imported Objects END ### diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-schema/module.wasm b/packages/js/validation/src/__tests__/wrappers/invalid-schema/module.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6b497232cb7754ae5653ffc297e19989e00f9b86 GIT binary patch literal 101034 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 literal 0 HcmV?d00001 diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-schema/polywrap.build.json b/packages/js/validation/src/__tests__/wrappers/invalid-schema/polywrap.build.json new file mode 100644 index 0000000000..fb006acf11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-schema/polywrap.build.json @@ -0,0 +1,6 @@ +{ + "format": "0.0.1-prealpha.3", + "docker": { + "buildImageId": "sha256:c6f86547730a5044febd75872db0afdfc4cda3cfa0053b838932f03721c458ca\n" + } +} \ No newline at end of file diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-schema/polywrap.json b/packages/js/validation/src/__tests__/wrappers/invalid-schema/polywrap.json new file mode 100644 index 0000000000..ab7f052a11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-schema/polywrap.json @@ -0,0 +1,9 @@ +{ + "format": "0.0.1-prealpha.9", + "name": "Valid Wrapper", + "language": "wasm/assemblyscript", + "build": "./polywrap.build.json", + "meta": "./polywrap.meta.json", + "schema": "./schema.graphql", + "module": "./module.wasm" +} diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-schema/polywrap.meta.json b/packages/js/validation/src/__tests__/wrappers/invalid-schema/polywrap.meta.json new file mode 100644 index 0000000000..4ed15fa713 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-schema/polywrap.meta.json @@ -0,0 +1,8 @@ +{ + "format": "0.0.1-prealpha.3", + "displayName": "Valid Wrapper", + "tags": ["some", "tag"], + "subtext": "test subtext", + "description": "test description", + "repository": "https://github.com/test/test" +} diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-schema/schema.graphql b/packages/js/validation/src/__tests__/wrappers/invalid-schema/schema.graphql new file mode 100644 index 0000000000..e9e90fa4c9 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-schema/schema.graphql @@ -0,0 +1 @@ +Some Invalid Schema \ No newline at end of file diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/module.wasm b/packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/module.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6b497232cb7754ae5653ffc297e19989e00f9b86 GIT binary patch literal 101034 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 literal 0 HcmV?d00001 diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/polywrap.build.json b/packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/polywrap.build.json new file mode 100644 index 0000000000..fb006acf11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/polywrap.build.json @@ -0,0 +1,6 @@ +{ + "format": "0.0.1-prealpha.3", + "docker": { + "buildImageId": "sha256:c6f86547730a5044febd75872db0afdfc4cda3cfa0053b838932f03721c458ca\n" + } +} \ No newline at end of file diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/polywrap.json b/packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/polywrap.json new file mode 100644 index 0000000000..9efbd4ac9a --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/polywrap.json @@ -0,0 +1,4 @@ +{ + "format": "0.0.1-prealpha.9", + "name": "Invalid Wrap Manifest" +} diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/polywrap.meta.json b/packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/polywrap.meta.json new file mode 100644 index 0000000000..4ed15fa713 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/polywrap.meta.json @@ -0,0 +1,8 @@ +{ + "format": "0.0.1-prealpha.3", + "displayName": "Valid Wrapper", + "tags": ["some", "tag"], + "subtext": "test subtext", + "description": "test description", + "repository": "https://github.com/test/test" +} diff --git a/packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/schema.graphql b/packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/schema.graphql new file mode 100644 index 0000000000..baf49860be --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/invalid-wrap-manifest/schema.graphql @@ -0,0 +1,382 @@ +### Polywrap Header START ### +scalar UInt +scalar UInt8 +scalar UInt16 +scalar UInt32 +scalar Int +scalar Int8 +scalar Int16 +scalar Int32 +scalar Bytes +scalar BigInt +scalar BigNumber +scalar JSON +scalar Map + +directive @imported( + uri: String! + namespace: String! + nativeType: String! +) on OBJECT | ENUM + +directive @imports( + types: [String!]! +) on OBJECT + +directive @capability( + type: String! + uri: String! + namespace: String! +) repeatable on OBJECT + +directive @enabled_interface on OBJECT + +directive @annotate(type: String!) on FIELD + +### Polywrap Header END ### + +type Module @imports( + types: [ + "Ethereum_Module", + "Ethereum_Connection", + "Ethereum_TxOverrides", + "Ethereum_StaticTxResult", + "Ethereum_TxRequest", + "Ethereum_TxReceipt", + "Ethereum_Log", + "Ethereum_EventNotification", + "Ethereum_Network", + "Ethereum_TxResponse", + "Ethereum_Access" + ] +) { + getData( + address: String! + connection: Ethereum_Connection + ): Int! + + tryGetData( + address: String! + connection: Ethereum_Connection + ): String! + + throwGetData( + address: String! + connection: Ethereum_Connection + ): String! + + setData( + address: String! + value: Int! + connection: Ethereum_Connection + ): String! + + deployContract( + connection: Ethereum_Connection + ): String! +} + +### Imported Modules START ### + +type Ethereum_Module @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Module" +) { + callContractView( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + callContractStatic( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_StaticTxResult! + + getBalance( + address: String! + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + encodeParams( + types: [String!]! + values: [String!]! + ): String! + + encodeFunction( + method: String! + args: [String!] + ): String! + + solidityPack( + types: [String!]! + values: [String!]! + ): String! + + solidityKeccak256( + types: [String!]! + values: [String!]! + ): String! + + soliditySha256( + types: [String!]! + values: [String!]! + ): String! + + getSignerAddress( + connection: Ethereum_Connection + ): String! + + getSignerBalance( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getSignerTransactionCount( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getGasPrice( + connection: Ethereum_Connection + ): BigInt! + + estimateTransactionGas( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): BigInt! + + estimateContractCallGas( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): BigInt! + + checkAddress( + address: String! + ): Boolean! + + toWei( + eth: String! + ): BigInt! + + toEth( + wei: BigInt! + ): String! + + awaitTransaction( + txHash: String! + confirmations: UInt32! + timeout: UInt32! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + waitForEvent( + address: String! + event: String! + args: [String!] + timeout: UInt32 + connection: Ethereum_Connection + ): Ethereum_EventNotification! + + getNetwork( + connection: Ethereum_Connection + ): Ethereum_Network! + + callContractMethod( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxResponse! + + callContractMethodAndWait( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxReceipt! + + sendTransaction( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxResponse! + + sendTransactionAndWait( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + deployContract( + abi: String! + bytecode: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + signMessage( + message: String! + connection: Ethereum_Connection + ): String! + + sendRPC( + method: String! + params: [String!]! + connection: Ethereum_Connection + ): String +} + +### Imported Modules END ### + +### Imported Objects START ### + +type Ethereum_Connection @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Connection" +) { + node: String + networkNameOrChainId: String +} + +type Ethereum_TxOverrides @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxOverrides" +) { + gasLimit: BigInt + gasPrice: BigInt + value: BigInt +} + +type Ethereum_StaticTxResult @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "StaticTxResult" +) { + result: String! + error: Boolean! +} + +type Ethereum_TxRequest @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxRequest" +) { + to: String + from: String + nonce: UInt32 + gasLimit: BigInt + gasPrice: BigInt + data: String + value: BigInt + chainId: BigInt + type: UInt32 +} + +type Ethereum_TxReceipt @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxReceipt" +) { + to: String! + from: String! + contractAddress: String! + transactionIndex: UInt32! + root: String + gasUsed: BigInt! + logsBloom: String! + transactionHash: String! + logs: [Ethereum_Log!]! + blockNumber: BigInt! + blockHash: String! + confirmations: UInt32! + cumulativeGasUsed: BigInt! + effectiveGasPrice: BigInt! + byzantium: Boolean! + type: UInt32! + status: UInt32 +} + +type Ethereum_Log @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Log" +) { + blockNumber: BigInt! + blockHash: String! + transactionIndex: UInt32! + removed: Boolean! + address: String! + data: String! + topics: [String!]! + transactionHash: String! + logIndex: UInt32! +} + +type Ethereum_EventNotification @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "EventNotification" +) { + data: String! + address: String! + log: Ethereum_Log! +} + +type Ethereum_Network @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Network" +) { + name: String! + chainId: BigInt! + ensAddress: String +} + +type Ethereum_TxResponse @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxResponse" +) { + hash: String! + to: String + from: String! + nonce: UInt32! + gasLimit: BigInt! + gasPrice: BigInt + data: String! + value: BigInt! + chainId: BigInt! + blockNumber: BigInt + blockHash: String + timestamp: UInt32 + confirmations: UInt32! + raw: String + r: String + s: String + v: UInt32 + type: UInt32 + accessList: [Ethereum_Access!] +} + +type Ethereum_Access @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Access" +) { + address: String! + storageKeys: [String!]! +} + +### Imported Objects END ### diff --git a/packages/js/validation/src/__tests__/wrappers/missing-schema/module.wasm b/packages/js/validation/src/__tests__/wrappers/missing-schema/module.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6b497232cb7754ae5653ffc297e19989e00f9b86 GIT binary patch literal 101034 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 literal 0 HcmV?d00001 diff --git a/packages/js/validation/src/__tests__/wrappers/missing-schema/polywrap.build.json b/packages/js/validation/src/__tests__/wrappers/missing-schema/polywrap.build.json new file mode 100644 index 0000000000..fb006acf11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/missing-schema/polywrap.build.json @@ -0,0 +1,6 @@ +{ + "format": "0.0.1-prealpha.3", + "docker": { + "buildImageId": "sha256:c6f86547730a5044febd75872db0afdfc4cda3cfa0053b838932f03721c458ca\n" + } +} \ No newline at end of file diff --git a/packages/js/validation/src/__tests__/wrappers/missing-schema/polywrap.json b/packages/js/validation/src/__tests__/wrappers/missing-schema/polywrap.json new file mode 100644 index 0000000000..ab7f052a11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/missing-schema/polywrap.json @@ -0,0 +1,9 @@ +{ + "format": "0.0.1-prealpha.9", + "name": "Valid Wrapper", + "language": "wasm/assemblyscript", + "build": "./polywrap.build.json", + "meta": "./polywrap.meta.json", + "schema": "./schema.graphql", + "module": "./module.wasm" +} diff --git a/packages/js/validation/src/__tests__/wrappers/missing-schema/polywrap.meta.json b/packages/js/validation/src/__tests__/wrappers/missing-schema/polywrap.meta.json new file mode 100644 index 0000000000..4ed15fa713 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/missing-schema/polywrap.meta.json @@ -0,0 +1,8 @@ +{ + "format": "0.0.1-prealpha.3", + "displayName": "Valid Wrapper", + "tags": ["some", "tag"], + "subtext": "test subtext", + "description": "test description", + "repository": "https://github.com/test/test" +} diff --git a/packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/module.wasm b/packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/module.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6b497232cb7754ae5653ffc297e19989e00f9b86 GIT binary patch literal 101034 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 literal 0 HcmV?d00001 diff --git a/packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/polywrap.build.json b/packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/polywrap.build.json new file mode 100644 index 0000000000..fb006acf11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/polywrap.build.json @@ -0,0 +1,6 @@ +{ + "format": "0.0.1-prealpha.3", + "docker": { + "buildImageId": "sha256:c6f86547730a5044febd75872db0afdfc4cda3cfa0053b838932f03721c458ca\n" + } +} \ No newline at end of file diff --git a/packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/polywrap.meta.json b/packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/polywrap.meta.json new file mode 100644 index 0000000000..4ed15fa713 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/polywrap.meta.json @@ -0,0 +1,8 @@ +{ + "format": "0.0.1-prealpha.3", + "displayName": "Valid Wrapper", + "tags": ["some", "tag"], + "subtext": "test subtext", + "description": "test description", + "repository": "https://github.com/test/test" +} diff --git a/packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/schema.graphql b/packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/schema.graphql new file mode 100644 index 0000000000..baf49860be --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/missing-wrap-manifest/schema.graphql @@ -0,0 +1,382 @@ +### Polywrap Header START ### +scalar UInt +scalar UInt8 +scalar UInt16 +scalar UInt32 +scalar Int +scalar Int8 +scalar Int16 +scalar Int32 +scalar Bytes +scalar BigInt +scalar BigNumber +scalar JSON +scalar Map + +directive @imported( + uri: String! + namespace: String! + nativeType: String! +) on OBJECT | ENUM + +directive @imports( + types: [String!]! +) on OBJECT + +directive @capability( + type: String! + uri: String! + namespace: String! +) repeatable on OBJECT + +directive @enabled_interface on OBJECT + +directive @annotate(type: String!) on FIELD + +### Polywrap Header END ### + +type Module @imports( + types: [ + "Ethereum_Module", + "Ethereum_Connection", + "Ethereum_TxOverrides", + "Ethereum_StaticTxResult", + "Ethereum_TxRequest", + "Ethereum_TxReceipt", + "Ethereum_Log", + "Ethereum_EventNotification", + "Ethereum_Network", + "Ethereum_TxResponse", + "Ethereum_Access" + ] +) { + getData( + address: String! + connection: Ethereum_Connection + ): Int! + + tryGetData( + address: String! + connection: Ethereum_Connection + ): String! + + throwGetData( + address: String! + connection: Ethereum_Connection + ): String! + + setData( + address: String! + value: Int! + connection: Ethereum_Connection + ): String! + + deployContract( + connection: Ethereum_Connection + ): String! +} + +### Imported Modules START ### + +type Ethereum_Module @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Module" +) { + callContractView( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + callContractStatic( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_StaticTxResult! + + getBalance( + address: String! + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + encodeParams( + types: [String!]! + values: [String!]! + ): String! + + encodeFunction( + method: String! + args: [String!] + ): String! + + solidityPack( + types: [String!]! + values: [String!]! + ): String! + + solidityKeccak256( + types: [String!]! + values: [String!]! + ): String! + + soliditySha256( + types: [String!]! + values: [String!]! + ): String! + + getSignerAddress( + connection: Ethereum_Connection + ): String! + + getSignerBalance( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getSignerTransactionCount( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getGasPrice( + connection: Ethereum_Connection + ): BigInt! + + estimateTransactionGas( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): BigInt! + + estimateContractCallGas( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): BigInt! + + checkAddress( + address: String! + ): Boolean! + + toWei( + eth: String! + ): BigInt! + + toEth( + wei: BigInt! + ): String! + + awaitTransaction( + txHash: String! + confirmations: UInt32! + timeout: UInt32! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + waitForEvent( + address: String! + event: String! + args: [String!] + timeout: UInt32 + connection: Ethereum_Connection + ): Ethereum_EventNotification! + + getNetwork( + connection: Ethereum_Connection + ): Ethereum_Network! + + callContractMethod( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxResponse! + + callContractMethodAndWait( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxReceipt! + + sendTransaction( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxResponse! + + sendTransactionAndWait( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + deployContract( + abi: String! + bytecode: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + signMessage( + message: String! + connection: Ethereum_Connection + ): String! + + sendRPC( + method: String! + params: [String!]! + connection: Ethereum_Connection + ): String +} + +### Imported Modules END ### + +### Imported Objects START ### + +type Ethereum_Connection @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Connection" +) { + node: String + networkNameOrChainId: String +} + +type Ethereum_TxOverrides @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxOverrides" +) { + gasLimit: BigInt + gasPrice: BigInt + value: BigInt +} + +type Ethereum_StaticTxResult @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "StaticTxResult" +) { + result: String! + error: Boolean! +} + +type Ethereum_TxRequest @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxRequest" +) { + to: String + from: String + nonce: UInt32 + gasLimit: BigInt + gasPrice: BigInt + data: String + value: BigInt + chainId: BigInt + type: UInt32 +} + +type Ethereum_TxReceipt @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxReceipt" +) { + to: String! + from: String! + contractAddress: String! + transactionIndex: UInt32! + root: String + gasUsed: BigInt! + logsBloom: String! + transactionHash: String! + logs: [Ethereum_Log!]! + blockNumber: BigInt! + blockHash: String! + confirmations: UInt32! + cumulativeGasUsed: BigInt! + effectiveGasPrice: BigInt! + byzantium: Boolean! + type: UInt32! + status: UInt32 +} + +type Ethereum_Log @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Log" +) { + blockNumber: BigInt! + blockHash: String! + transactionIndex: UInt32! + removed: Boolean! + address: String! + data: String! + topics: [String!]! + transactionHash: String! + logIndex: UInt32! +} + +type Ethereum_EventNotification @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "EventNotification" +) { + data: String! + address: String! + log: Ethereum_Log! +} + +type Ethereum_Network @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Network" +) { + name: String! + chainId: BigInt! + ensAddress: String +} + +type Ethereum_TxResponse @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxResponse" +) { + hash: String! + to: String + from: String! + nonce: UInt32! + gasLimit: BigInt! + gasPrice: BigInt + data: String! + value: BigInt! + chainId: BigInt! + blockNumber: BigInt + blockHash: String + timestamp: UInt32 + confirmations: UInt32! + raw: String + r: String + s: String + v: UInt32 + type: UInt32 + accessList: [Ethereum_Access!] +} + +type Ethereum_Access @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Access" +) { + address: String! + storageKeys: [String!]! +} + +### Imported Objects END ### diff --git a/packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/module.wasm b/packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/module.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6b497232cb7754ae5653ffc297e19989e00f9b86 GIT binary patch literal 101034 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 literal 0 HcmV?d00001 diff --git a/packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/polywrap.build.json b/packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/polywrap.build.json new file mode 100644 index 0000000000..fb006acf11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/polywrap.build.json @@ -0,0 +1,6 @@ +{ + "format": "0.0.1-prealpha.3", + "docker": { + "buildImageId": "sha256:c6f86547730a5044febd75872db0afdfc4cda3cfa0053b838932f03721c458ca\n" + } +} \ No newline at end of file diff --git a/packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/polywrap.json b/packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/polywrap.json new file mode 100644 index 0000000000..ab7f052a11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/polywrap.json @@ -0,0 +1,9 @@ +{ + "format": "0.0.1-prealpha.9", + "name": "Valid Wrapper", + "language": "wasm/assemblyscript", + "build": "./polywrap.build.json", + "meta": "./polywrap.meta.json", + "schema": "./schema.graphql", + "module": "./module.wasm" +} diff --git a/packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/polywrap.meta.json b/packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/polywrap.meta.json new file mode 100644 index 0000000000..4ed15fa713 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/polywrap.meta.json @@ -0,0 +1,8 @@ +{ + "format": "0.0.1-prealpha.3", + "displayName": "Valid Wrapper", + "tags": ["some", "tag"], + "subtext": "test subtext", + "description": "test description", + "repository": "https://github.com/test/test" +} diff --git a/packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/schema.graphql b/packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/schema.graphql new file mode 100644 index 0000000000..baf49860be --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/module-size-over-100-kb/schema.graphql @@ -0,0 +1,382 @@ +### Polywrap Header START ### +scalar UInt +scalar UInt8 +scalar UInt16 +scalar UInt32 +scalar Int +scalar Int8 +scalar Int16 +scalar Int32 +scalar Bytes +scalar BigInt +scalar BigNumber +scalar JSON +scalar Map + +directive @imported( + uri: String! + namespace: String! + nativeType: String! +) on OBJECT | ENUM + +directive @imports( + types: [String!]! +) on OBJECT + +directive @capability( + type: String! + uri: String! + namespace: String! +) repeatable on OBJECT + +directive @enabled_interface on OBJECT + +directive @annotate(type: String!) on FIELD + +### Polywrap Header END ### + +type Module @imports( + types: [ + "Ethereum_Module", + "Ethereum_Connection", + "Ethereum_TxOverrides", + "Ethereum_StaticTxResult", + "Ethereum_TxRequest", + "Ethereum_TxReceipt", + "Ethereum_Log", + "Ethereum_EventNotification", + "Ethereum_Network", + "Ethereum_TxResponse", + "Ethereum_Access" + ] +) { + getData( + address: String! + connection: Ethereum_Connection + ): Int! + + tryGetData( + address: String! + connection: Ethereum_Connection + ): String! + + throwGetData( + address: String! + connection: Ethereum_Connection + ): String! + + setData( + address: String! + value: Int! + connection: Ethereum_Connection + ): String! + + deployContract( + connection: Ethereum_Connection + ): String! +} + +### Imported Modules START ### + +type Ethereum_Module @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Module" +) { + callContractView( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + callContractStatic( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_StaticTxResult! + + getBalance( + address: String! + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + encodeParams( + types: [String!]! + values: [String!]! + ): String! + + encodeFunction( + method: String! + args: [String!] + ): String! + + solidityPack( + types: [String!]! + values: [String!]! + ): String! + + solidityKeccak256( + types: [String!]! + values: [String!]! + ): String! + + soliditySha256( + types: [String!]! + values: [String!]! + ): String! + + getSignerAddress( + connection: Ethereum_Connection + ): String! + + getSignerBalance( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getSignerTransactionCount( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getGasPrice( + connection: Ethereum_Connection + ): BigInt! + + estimateTransactionGas( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): BigInt! + + estimateContractCallGas( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): BigInt! + + checkAddress( + address: String! + ): Boolean! + + toWei( + eth: String! + ): BigInt! + + toEth( + wei: BigInt! + ): String! + + awaitTransaction( + txHash: String! + confirmations: UInt32! + timeout: UInt32! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + waitForEvent( + address: String! + event: String! + args: [String!] + timeout: UInt32 + connection: Ethereum_Connection + ): Ethereum_EventNotification! + + getNetwork( + connection: Ethereum_Connection + ): Ethereum_Network! + + callContractMethod( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxResponse! + + callContractMethodAndWait( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxReceipt! + + sendTransaction( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxResponse! + + sendTransactionAndWait( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + deployContract( + abi: String! + bytecode: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + signMessage( + message: String! + connection: Ethereum_Connection + ): String! + + sendRPC( + method: String! + params: [String!]! + connection: Ethereum_Connection + ): String +} + +### Imported Modules END ### + +### Imported Objects START ### + +type Ethereum_Connection @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Connection" +) { + node: String + networkNameOrChainId: String +} + +type Ethereum_TxOverrides @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxOverrides" +) { + gasLimit: BigInt + gasPrice: BigInt + value: BigInt +} + +type Ethereum_StaticTxResult @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "StaticTxResult" +) { + result: String! + error: Boolean! +} + +type Ethereum_TxRequest @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxRequest" +) { + to: String + from: String + nonce: UInt32 + gasLimit: BigInt + gasPrice: BigInt + data: String + value: BigInt + chainId: BigInt + type: UInt32 +} + +type Ethereum_TxReceipt @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxReceipt" +) { + to: String! + from: String! + contractAddress: String! + transactionIndex: UInt32! + root: String + gasUsed: BigInt! + logsBloom: String! + transactionHash: String! + logs: [Ethereum_Log!]! + blockNumber: BigInt! + blockHash: String! + confirmations: UInt32! + cumulativeGasUsed: BigInt! + effectiveGasPrice: BigInt! + byzantium: Boolean! + type: UInt32! + status: UInt32 +} + +type Ethereum_Log @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Log" +) { + blockNumber: BigInt! + blockHash: String! + transactionIndex: UInt32! + removed: Boolean! + address: String! + data: String! + topics: [String!]! + transactionHash: String! + logIndex: UInt32! +} + +type Ethereum_EventNotification @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "EventNotification" +) { + data: String! + address: String! + log: Ethereum_Log! +} + +type Ethereum_Network @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Network" +) { + name: String! + chainId: BigInt! + ensAddress: String +} + +type Ethereum_TxResponse @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxResponse" +) { + hash: String! + to: String + from: String! + nonce: UInt32! + gasLimit: BigInt! + gasPrice: BigInt + data: String! + value: BigInt! + chainId: BigInt! + blockNumber: BigInt + blockHash: String + timestamp: UInt32 + confirmations: UInt32! + raw: String + r: String + s: String + v: UInt32 + type: UInt32 + accessList: [Ethereum_Access!] +} + +type Ethereum_Access @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Access" +) { + address: String! + storageKeys: [String!]! +} + +### Imported Objects END ### diff --git a/packages/js/validation/src/__tests__/wrappers/more-than-6-files/meta/icon/icon.png b/packages/js/validation/src/__tests__/wrappers/more-than-6-files/meta/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3102d9847d54b7684372832083d0426eaf15714a GIT binary patch literal 1914 zcmeAS@N?(olHy`uVBq!ia0y~yU@Qk=4mO}j+yU-?K#DEN+ueoXKL{?^yL>VO1G~Pb zi(^Q|oVV9D`f5iqv<2>2Bq1DhK-lTZ11XMqCaMA!s>N=+!K{lI*jX%=2jyVjnszpB8Jhwex=cAp?@uxNN)1x2N>Kr^P ztKe~mvFQjkDYNzS{eb~m$gBVT{bBQO$J-xDd)pkpzWzCop25HTq4e%d>zZWFa{2tj z=34iU3!UG{VqV^$P{__9L``bfUEkXel|Mf;sac#JbLe){rvZT{Q7EB^Z4E4+#kpO{V=Fm{AqvGA))bP0l+XkKz(f3= literal 0 HcmV?d00001 diff --git a/packages/js/validation/src/__tests__/wrappers/more-than-6-files/module.wasm b/packages/js/validation/src/__tests__/wrappers/more-than-6-files/module.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6b497232cb7754ae5653ffc297e19989e00f9b86 GIT binary patch literal 101034 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 literal 0 HcmV?d00001 diff --git a/packages/js/validation/src/__tests__/wrappers/more-than-6-files/polywrap.build.json b/packages/js/validation/src/__tests__/wrappers/more-than-6-files/polywrap.build.json new file mode 100644 index 0000000000..fb006acf11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/more-than-6-files/polywrap.build.json @@ -0,0 +1,6 @@ +{ + "format": "0.0.1-prealpha.3", + "docker": { + "buildImageId": "sha256:c6f86547730a5044febd75872db0afdfc4cda3cfa0053b838932f03721c458ca\n" + } +} \ No newline at end of file diff --git a/packages/js/validation/src/__tests__/wrappers/more-than-6-files/polywrap.json b/packages/js/validation/src/__tests__/wrappers/more-than-6-files/polywrap.json new file mode 100644 index 0000000000..ab7f052a11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/more-than-6-files/polywrap.json @@ -0,0 +1,9 @@ +{ + "format": "0.0.1-prealpha.9", + "name": "Valid Wrapper", + "language": "wasm/assemblyscript", + "build": "./polywrap.build.json", + "meta": "./polywrap.meta.json", + "schema": "./schema.graphql", + "module": "./module.wasm" +} diff --git a/packages/js/validation/src/__tests__/wrappers/more-than-6-files/polywrap.meta.json b/packages/js/validation/src/__tests__/wrappers/more-than-6-files/polywrap.meta.json new file mode 100644 index 0000000000..e322436686 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/more-than-6-files/polywrap.meta.json @@ -0,0 +1,9 @@ +{ + "format": "0.0.1-prealpha.3", + "displayName": "Valid Wrapper", + "tags": ["some", "tag"], + "subtext": "test subtext", + "description": "test description", + "repository": "https://github.com/test/test", + "icon": "./meta/icon/icon.png" +} diff --git a/packages/js/validation/src/__tests__/wrappers/more-than-6-files/schema.graphql b/packages/js/validation/src/__tests__/wrappers/more-than-6-files/schema.graphql new file mode 100644 index 0000000000..baf49860be --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/more-than-6-files/schema.graphql @@ -0,0 +1,382 @@ +### Polywrap Header START ### +scalar UInt +scalar UInt8 +scalar UInt16 +scalar UInt32 +scalar Int +scalar Int8 +scalar Int16 +scalar Int32 +scalar Bytes +scalar BigInt +scalar BigNumber +scalar JSON +scalar Map + +directive @imported( + uri: String! + namespace: String! + nativeType: String! +) on OBJECT | ENUM + +directive @imports( + types: [String!]! +) on OBJECT + +directive @capability( + type: String! + uri: String! + namespace: String! +) repeatable on OBJECT + +directive @enabled_interface on OBJECT + +directive @annotate(type: String!) on FIELD + +### Polywrap Header END ### + +type Module @imports( + types: [ + "Ethereum_Module", + "Ethereum_Connection", + "Ethereum_TxOverrides", + "Ethereum_StaticTxResult", + "Ethereum_TxRequest", + "Ethereum_TxReceipt", + "Ethereum_Log", + "Ethereum_EventNotification", + "Ethereum_Network", + "Ethereum_TxResponse", + "Ethereum_Access" + ] +) { + getData( + address: String! + connection: Ethereum_Connection + ): Int! + + tryGetData( + address: String! + connection: Ethereum_Connection + ): String! + + throwGetData( + address: String! + connection: Ethereum_Connection + ): String! + + setData( + address: String! + value: Int! + connection: Ethereum_Connection + ): String! + + deployContract( + connection: Ethereum_Connection + ): String! +} + +### Imported Modules START ### + +type Ethereum_Module @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Module" +) { + callContractView( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + callContractStatic( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_StaticTxResult! + + getBalance( + address: String! + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + encodeParams( + types: [String!]! + values: [String!]! + ): String! + + encodeFunction( + method: String! + args: [String!] + ): String! + + solidityPack( + types: [String!]! + values: [String!]! + ): String! + + solidityKeccak256( + types: [String!]! + values: [String!]! + ): String! + + soliditySha256( + types: [String!]! + values: [String!]! + ): String! + + getSignerAddress( + connection: Ethereum_Connection + ): String! + + getSignerBalance( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getSignerTransactionCount( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getGasPrice( + connection: Ethereum_Connection + ): BigInt! + + estimateTransactionGas( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): BigInt! + + estimateContractCallGas( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): BigInt! + + checkAddress( + address: String! + ): Boolean! + + toWei( + eth: String! + ): BigInt! + + toEth( + wei: BigInt! + ): String! + + awaitTransaction( + txHash: String! + confirmations: UInt32! + timeout: UInt32! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + waitForEvent( + address: String! + event: String! + args: [String!] + timeout: UInt32 + connection: Ethereum_Connection + ): Ethereum_EventNotification! + + getNetwork( + connection: Ethereum_Connection + ): Ethereum_Network! + + callContractMethod( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxResponse! + + callContractMethodAndWait( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxReceipt! + + sendTransaction( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxResponse! + + sendTransactionAndWait( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + deployContract( + abi: String! + bytecode: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + signMessage( + message: String! + connection: Ethereum_Connection + ): String! + + sendRPC( + method: String! + params: [String!]! + connection: Ethereum_Connection + ): String +} + +### Imported Modules END ### + +### Imported Objects START ### + +type Ethereum_Connection @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Connection" +) { + node: String + networkNameOrChainId: String +} + +type Ethereum_TxOverrides @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxOverrides" +) { + gasLimit: BigInt + gasPrice: BigInt + value: BigInt +} + +type Ethereum_StaticTxResult @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "StaticTxResult" +) { + result: String! + error: Boolean! +} + +type Ethereum_TxRequest @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxRequest" +) { + to: String + from: String + nonce: UInt32 + gasLimit: BigInt + gasPrice: BigInt + data: String + value: BigInt + chainId: BigInt + type: UInt32 +} + +type Ethereum_TxReceipt @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxReceipt" +) { + to: String! + from: String! + contractAddress: String! + transactionIndex: UInt32! + root: String + gasUsed: BigInt! + logsBloom: String! + transactionHash: String! + logs: [Ethereum_Log!]! + blockNumber: BigInt! + blockHash: String! + confirmations: UInt32! + cumulativeGasUsed: BigInt! + effectiveGasPrice: BigInt! + byzantium: Boolean! + type: UInt32! + status: UInt32 +} + +type Ethereum_Log @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Log" +) { + blockNumber: BigInt! + blockHash: String! + transactionIndex: UInt32! + removed: Boolean! + address: String! + data: String! + topics: [String!]! + transactionHash: String! + logIndex: UInt32! +} + +type Ethereum_EventNotification @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "EventNotification" +) { + data: String! + address: String! + log: Ethereum_Log! +} + +type Ethereum_Network @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Network" +) { + name: String! + chainId: BigInt! + ensAddress: String +} + +type Ethereum_TxResponse @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxResponse" +) { + hash: String! + to: String + from: String! + nonce: UInt32! + gasLimit: BigInt! + gasPrice: BigInt + data: String! + value: BigInt! + chainId: BigInt! + blockNumber: BigInt + blockHash: String + timestamp: UInt32 + confirmations: UInt32! + raw: String + r: String + s: String + v: UInt32 + type: UInt32 + accessList: [Ethereum_Access!] +} + +type Ethereum_Access @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Access" +) { + address: String! + storageKeys: [String!]! +} + +### Imported Objects END ### diff --git a/packages/js/validation/src/__tests__/wrappers/valid-interface/polywrap.build.json b/packages/js/validation/src/__tests__/wrappers/valid-interface/polywrap.build.json new file mode 100644 index 0000000000..fb006acf11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/valid-interface/polywrap.build.json @@ -0,0 +1,6 @@ +{ + "format": "0.0.1-prealpha.3", + "docker": { + "buildImageId": "sha256:c6f86547730a5044febd75872db0afdfc4cda3cfa0053b838932f03721c458ca\n" + } +} \ No newline at end of file diff --git a/packages/js/validation/src/__tests__/wrappers/valid-interface/polywrap.json b/packages/js/validation/src/__tests__/wrappers/valid-interface/polywrap.json new file mode 100644 index 0000000000..159132cb04 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/valid-interface/polywrap.json @@ -0,0 +1,8 @@ +{ + "format": "0.0.1-prealpha.9", + "name": "Valid Wrapper Interface", + "language": "interface", + "build": "./polywrap.build.json", + "meta": "./polywrap.meta.json", + "schema": "./schema.graphql" +} diff --git a/packages/js/validation/src/__tests__/wrappers/valid-interface/polywrap.meta.json b/packages/js/validation/src/__tests__/wrappers/valid-interface/polywrap.meta.json new file mode 100644 index 0000000000..f0c205477c --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/valid-interface/polywrap.meta.json @@ -0,0 +1,8 @@ +{ + "format": "0.0.1-prealpha.3", + "displayName": "Valid Wrapper Interface", + "tags": ["some", "tag"], + "subtext": "test subtext", + "description": "test description", + "repository": "https://github.com/test/test" +} diff --git a/packages/js/validation/src/__tests__/wrappers/valid-interface/schema.graphql b/packages/js/validation/src/__tests__/wrappers/valid-interface/schema.graphql new file mode 100644 index 0000000000..baf49860be --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/valid-interface/schema.graphql @@ -0,0 +1,382 @@ +### Polywrap Header START ### +scalar UInt +scalar UInt8 +scalar UInt16 +scalar UInt32 +scalar Int +scalar Int8 +scalar Int16 +scalar Int32 +scalar Bytes +scalar BigInt +scalar BigNumber +scalar JSON +scalar Map + +directive @imported( + uri: String! + namespace: String! + nativeType: String! +) on OBJECT | ENUM + +directive @imports( + types: [String!]! +) on OBJECT + +directive @capability( + type: String! + uri: String! + namespace: String! +) repeatable on OBJECT + +directive @enabled_interface on OBJECT + +directive @annotate(type: String!) on FIELD + +### Polywrap Header END ### + +type Module @imports( + types: [ + "Ethereum_Module", + "Ethereum_Connection", + "Ethereum_TxOverrides", + "Ethereum_StaticTxResult", + "Ethereum_TxRequest", + "Ethereum_TxReceipt", + "Ethereum_Log", + "Ethereum_EventNotification", + "Ethereum_Network", + "Ethereum_TxResponse", + "Ethereum_Access" + ] +) { + getData( + address: String! + connection: Ethereum_Connection + ): Int! + + tryGetData( + address: String! + connection: Ethereum_Connection + ): String! + + throwGetData( + address: String! + connection: Ethereum_Connection + ): String! + + setData( + address: String! + value: Int! + connection: Ethereum_Connection + ): String! + + deployContract( + connection: Ethereum_Connection + ): String! +} + +### Imported Modules START ### + +type Ethereum_Module @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Module" +) { + callContractView( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + callContractStatic( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_StaticTxResult! + + getBalance( + address: String! + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + encodeParams( + types: [String!]! + values: [String!]! + ): String! + + encodeFunction( + method: String! + args: [String!] + ): String! + + solidityPack( + types: [String!]! + values: [String!]! + ): String! + + solidityKeccak256( + types: [String!]! + values: [String!]! + ): String! + + soliditySha256( + types: [String!]! + values: [String!]! + ): String! + + getSignerAddress( + connection: Ethereum_Connection + ): String! + + getSignerBalance( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getSignerTransactionCount( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getGasPrice( + connection: Ethereum_Connection + ): BigInt! + + estimateTransactionGas( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): BigInt! + + estimateContractCallGas( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): BigInt! + + checkAddress( + address: String! + ): Boolean! + + toWei( + eth: String! + ): BigInt! + + toEth( + wei: BigInt! + ): String! + + awaitTransaction( + txHash: String! + confirmations: UInt32! + timeout: UInt32! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + waitForEvent( + address: String! + event: String! + args: [String!] + timeout: UInt32 + connection: Ethereum_Connection + ): Ethereum_EventNotification! + + getNetwork( + connection: Ethereum_Connection + ): Ethereum_Network! + + callContractMethod( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxResponse! + + callContractMethodAndWait( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxReceipt! + + sendTransaction( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxResponse! + + sendTransactionAndWait( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + deployContract( + abi: String! + bytecode: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + signMessage( + message: String! + connection: Ethereum_Connection + ): String! + + sendRPC( + method: String! + params: [String!]! + connection: Ethereum_Connection + ): String +} + +### Imported Modules END ### + +### Imported Objects START ### + +type Ethereum_Connection @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Connection" +) { + node: String + networkNameOrChainId: String +} + +type Ethereum_TxOverrides @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxOverrides" +) { + gasLimit: BigInt + gasPrice: BigInt + value: BigInt +} + +type Ethereum_StaticTxResult @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "StaticTxResult" +) { + result: String! + error: Boolean! +} + +type Ethereum_TxRequest @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxRequest" +) { + to: String + from: String + nonce: UInt32 + gasLimit: BigInt + gasPrice: BigInt + data: String + value: BigInt + chainId: BigInt + type: UInt32 +} + +type Ethereum_TxReceipt @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxReceipt" +) { + to: String! + from: String! + contractAddress: String! + transactionIndex: UInt32! + root: String + gasUsed: BigInt! + logsBloom: String! + transactionHash: String! + logs: [Ethereum_Log!]! + blockNumber: BigInt! + blockHash: String! + confirmations: UInt32! + cumulativeGasUsed: BigInt! + effectiveGasPrice: BigInt! + byzantium: Boolean! + type: UInt32! + status: UInt32 +} + +type Ethereum_Log @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Log" +) { + blockNumber: BigInt! + blockHash: String! + transactionIndex: UInt32! + removed: Boolean! + address: String! + data: String! + topics: [String!]! + transactionHash: String! + logIndex: UInt32! +} + +type Ethereum_EventNotification @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "EventNotification" +) { + data: String! + address: String! + log: Ethereum_Log! +} + +type Ethereum_Network @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Network" +) { + name: String! + chainId: BigInt! + ensAddress: String +} + +type Ethereum_TxResponse @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxResponse" +) { + hash: String! + to: String + from: String! + nonce: UInt32! + gasLimit: BigInt! + gasPrice: BigInt + data: String! + value: BigInt! + chainId: BigInt! + blockNumber: BigInt + blockHash: String + timestamp: UInt32 + confirmations: UInt32! + raw: String + r: String + s: String + v: UInt32 + type: UInt32 + accessList: [Ethereum_Access!] +} + +type Ethereum_Access @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Access" +) { + address: String! + storageKeys: [String!]! +} + +### Imported Objects END ### diff --git a/packages/js/validation/src/__tests__/wrappers/valid/module.wasm b/packages/js/validation/src/__tests__/wrappers/valid/module.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6b497232cb7754ae5653ffc297e19989e00f9b86 GIT binary patch literal 101034 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 literal 0 HcmV?d00001 diff --git a/packages/js/validation/src/__tests__/wrappers/valid/polywrap.build.json b/packages/js/validation/src/__tests__/wrappers/valid/polywrap.build.json new file mode 100644 index 0000000000..fb006acf11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/valid/polywrap.build.json @@ -0,0 +1,6 @@ +{ + "format": "0.0.1-prealpha.3", + "docker": { + "buildImageId": "sha256:c6f86547730a5044febd75872db0afdfc4cda3cfa0053b838932f03721c458ca\n" + } +} \ No newline at end of file diff --git a/packages/js/validation/src/__tests__/wrappers/valid/polywrap.json b/packages/js/validation/src/__tests__/wrappers/valid/polywrap.json new file mode 100644 index 0000000000..ab7f052a11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/valid/polywrap.json @@ -0,0 +1,9 @@ +{ + "format": "0.0.1-prealpha.9", + "name": "Valid Wrapper", + "language": "wasm/assemblyscript", + "build": "./polywrap.build.json", + "meta": "./polywrap.meta.json", + "schema": "./schema.graphql", + "module": "./module.wasm" +} diff --git a/packages/js/validation/src/__tests__/wrappers/valid/polywrap.meta.json b/packages/js/validation/src/__tests__/wrappers/valid/polywrap.meta.json new file mode 100644 index 0000000000..4ed15fa713 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/valid/polywrap.meta.json @@ -0,0 +1,8 @@ +{ + "format": "0.0.1-prealpha.3", + "displayName": "Valid Wrapper", + "tags": ["some", "tag"], + "subtext": "test subtext", + "description": "test description", + "repository": "https://github.com/test/test" +} diff --git a/packages/js/validation/src/__tests__/wrappers/valid/schema.graphql b/packages/js/validation/src/__tests__/wrappers/valid/schema.graphql new file mode 100644 index 0000000000..baf49860be --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/valid/schema.graphql @@ -0,0 +1,382 @@ +### Polywrap Header START ### +scalar UInt +scalar UInt8 +scalar UInt16 +scalar UInt32 +scalar Int +scalar Int8 +scalar Int16 +scalar Int32 +scalar Bytes +scalar BigInt +scalar BigNumber +scalar JSON +scalar Map + +directive @imported( + uri: String! + namespace: String! + nativeType: String! +) on OBJECT | ENUM + +directive @imports( + types: [String!]! +) on OBJECT + +directive @capability( + type: String! + uri: String! + namespace: String! +) repeatable on OBJECT + +directive @enabled_interface on OBJECT + +directive @annotate(type: String!) on FIELD + +### Polywrap Header END ### + +type Module @imports( + types: [ + "Ethereum_Module", + "Ethereum_Connection", + "Ethereum_TxOverrides", + "Ethereum_StaticTxResult", + "Ethereum_TxRequest", + "Ethereum_TxReceipt", + "Ethereum_Log", + "Ethereum_EventNotification", + "Ethereum_Network", + "Ethereum_TxResponse", + "Ethereum_Access" + ] +) { + getData( + address: String! + connection: Ethereum_Connection + ): Int! + + tryGetData( + address: String! + connection: Ethereum_Connection + ): String! + + throwGetData( + address: String! + connection: Ethereum_Connection + ): String! + + setData( + address: String! + value: Int! + connection: Ethereum_Connection + ): String! + + deployContract( + connection: Ethereum_Connection + ): String! +} + +### Imported Modules START ### + +type Ethereum_Module @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Module" +) { + callContractView( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + callContractStatic( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_StaticTxResult! + + getBalance( + address: String! + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + encodeParams( + types: [String!]! + values: [String!]! + ): String! + + encodeFunction( + method: String! + args: [String!] + ): String! + + solidityPack( + types: [String!]! + values: [String!]! + ): String! + + solidityKeccak256( + types: [String!]! + values: [String!]! + ): String! + + soliditySha256( + types: [String!]! + values: [String!]! + ): String! + + getSignerAddress( + connection: Ethereum_Connection + ): String! + + getSignerBalance( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getSignerTransactionCount( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getGasPrice( + connection: Ethereum_Connection + ): BigInt! + + estimateTransactionGas( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): BigInt! + + estimateContractCallGas( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): BigInt! + + checkAddress( + address: String! + ): Boolean! + + toWei( + eth: String! + ): BigInt! + + toEth( + wei: BigInt! + ): String! + + awaitTransaction( + txHash: String! + confirmations: UInt32! + timeout: UInt32! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + waitForEvent( + address: String! + event: String! + args: [String!] + timeout: UInt32 + connection: Ethereum_Connection + ): Ethereum_EventNotification! + + getNetwork( + connection: Ethereum_Connection + ): Ethereum_Network! + + callContractMethod( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxResponse! + + callContractMethodAndWait( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxReceipt! + + sendTransaction( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxResponse! + + sendTransactionAndWait( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + deployContract( + abi: String! + bytecode: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + signMessage( + message: String! + connection: Ethereum_Connection + ): String! + + sendRPC( + method: String! + params: [String!]! + connection: Ethereum_Connection + ): String +} + +### Imported Modules END ### + +### Imported Objects START ### + +type Ethereum_Connection @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Connection" +) { + node: String + networkNameOrChainId: String +} + +type Ethereum_TxOverrides @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxOverrides" +) { + gasLimit: BigInt + gasPrice: BigInt + value: BigInt +} + +type Ethereum_StaticTxResult @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "StaticTxResult" +) { + result: String! + error: Boolean! +} + +type Ethereum_TxRequest @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxRequest" +) { + to: String + from: String + nonce: UInt32 + gasLimit: BigInt + gasPrice: BigInt + data: String + value: BigInt + chainId: BigInt + type: UInt32 +} + +type Ethereum_TxReceipt @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxReceipt" +) { + to: String! + from: String! + contractAddress: String! + transactionIndex: UInt32! + root: String + gasUsed: BigInt! + logsBloom: String! + transactionHash: String! + logs: [Ethereum_Log!]! + blockNumber: BigInt! + blockHash: String! + confirmations: UInt32! + cumulativeGasUsed: BigInt! + effectiveGasPrice: BigInt! + byzantium: Boolean! + type: UInt32! + status: UInt32 +} + +type Ethereum_Log @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Log" +) { + blockNumber: BigInt! + blockHash: String! + transactionIndex: UInt32! + removed: Boolean! + address: String! + data: String! + topics: [String!]! + transactionHash: String! + logIndex: UInt32! +} + +type Ethereum_EventNotification @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "EventNotification" +) { + data: String! + address: String! + log: Ethereum_Log! +} + +type Ethereum_Network @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Network" +) { + name: String! + chainId: BigInt! + ensAddress: String +} + +type Ethereum_TxResponse @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxResponse" +) { + hash: String! + to: String + from: String! + nonce: UInt32! + gasLimit: BigInt! + gasPrice: BigInt + data: String! + value: BigInt! + chainId: BigInt! + blockNumber: BigInt + blockHash: String + timestamp: UInt32 + confirmations: UInt32! + raw: String + r: String + s: String + v: UInt32 + type: UInt32 + accessList: [Ethereum_Access!] +} + +type Ethereum_Access @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Access" +) { + address: String! + storageKeys: [String!]! +} + +### Imported Objects END ### diff --git a/packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/module.wasm b/packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/module.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6b497232cb7754ae5653ffc297e19989e00f9b86 GIT binary patch literal 101034 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 literal 0 HcmV?d00001 diff --git a/packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/polywrap.build.json b/packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/polywrap.build.json new file mode 100644 index 0000000000..fb006acf11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/polywrap.build.json @@ -0,0 +1,6 @@ +{ + "format": "0.0.1-prealpha.3", + "docker": { + "buildImageId": "sha256:c6f86547730a5044febd75872db0afdfc4cda3cfa0053b838932f03721c458ca\n" + } +} \ No newline at end of file diff --git a/packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/polywrap.json b/packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/polywrap.json new file mode 100644 index 0000000000..ab7f052a11 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/polywrap.json @@ -0,0 +1,9 @@ +{ + "format": "0.0.1-prealpha.9", + "name": "Valid Wrapper", + "language": "wasm/assemblyscript", + "build": "./polywrap.build.json", + "meta": "./polywrap.meta.json", + "schema": "./schema.graphql", + "module": "./module.wasm" +} diff --git a/packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/polywrap.meta.json b/packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/polywrap.meta.json new file mode 100644 index 0000000000..4ed15fa713 --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/polywrap.meta.json @@ -0,0 +1,8 @@ +{ + "format": "0.0.1-prealpha.3", + "displayName": "Valid Wrapper", + "tags": ["some", "tag"], + "subtext": "test subtext", + "description": "test description", + "repository": "https://github.com/test/test" +} diff --git a/packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/schema.graphql b/packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/schema.graphql new file mode 100644 index 0000000000..baf49860be --- /dev/null +++ b/packages/js/validation/src/__tests__/wrappers/wrapper-size-over-100-kb/schema.graphql @@ -0,0 +1,382 @@ +### Polywrap Header START ### +scalar UInt +scalar UInt8 +scalar UInt16 +scalar UInt32 +scalar Int +scalar Int8 +scalar Int16 +scalar Int32 +scalar Bytes +scalar BigInt +scalar BigNumber +scalar JSON +scalar Map + +directive @imported( + uri: String! + namespace: String! + nativeType: String! +) on OBJECT | ENUM + +directive @imports( + types: [String!]! +) on OBJECT + +directive @capability( + type: String! + uri: String! + namespace: String! +) repeatable on OBJECT + +directive @enabled_interface on OBJECT + +directive @annotate(type: String!) on FIELD + +### Polywrap Header END ### + +type Module @imports( + types: [ + "Ethereum_Module", + "Ethereum_Connection", + "Ethereum_TxOverrides", + "Ethereum_StaticTxResult", + "Ethereum_TxRequest", + "Ethereum_TxReceipt", + "Ethereum_Log", + "Ethereum_EventNotification", + "Ethereum_Network", + "Ethereum_TxResponse", + "Ethereum_Access" + ] +) { + getData( + address: String! + connection: Ethereum_Connection + ): Int! + + tryGetData( + address: String! + connection: Ethereum_Connection + ): String! + + throwGetData( + address: String! + connection: Ethereum_Connection + ): String! + + setData( + address: String! + value: Int! + connection: Ethereum_Connection + ): String! + + deployContract( + connection: Ethereum_Connection + ): String! +} + +### Imported Modules START ### + +type Ethereum_Module @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Module" +) { + callContractView( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + callContractStatic( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_StaticTxResult! + + getBalance( + address: String! + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + encodeParams( + types: [String!]! + values: [String!]! + ): String! + + encodeFunction( + method: String! + args: [String!] + ): String! + + solidityPack( + types: [String!]! + values: [String!]! + ): String! + + solidityKeccak256( + types: [String!]! + values: [String!]! + ): String! + + soliditySha256( + types: [String!]! + values: [String!]! + ): String! + + getSignerAddress( + connection: Ethereum_Connection + ): String! + + getSignerBalance( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getSignerTransactionCount( + blockTag: BigInt + connection: Ethereum_Connection + ): BigInt! + + getGasPrice( + connection: Ethereum_Connection + ): BigInt! + + estimateTransactionGas( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): BigInt! + + estimateContractCallGas( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): BigInt! + + checkAddress( + address: String! + ): Boolean! + + toWei( + eth: String! + ): BigInt! + + toEth( + wei: BigInt! + ): String! + + awaitTransaction( + txHash: String! + confirmations: UInt32! + timeout: UInt32! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + waitForEvent( + address: String! + event: String! + args: [String!] + timeout: UInt32 + connection: Ethereum_Connection + ): Ethereum_EventNotification! + + getNetwork( + connection: Ethereum_Connection + ): Ethereum_Network! + + callContractMethod( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxResponse! + + callContractMethodAndWait( + address: String! + method: String! + args: [String!] + connection: Ethereum_Connection + txOverrides: Ethereum_TxOverrides + ): Ethereum_TxReceipt! + + sendTransaction( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxResponse! + + sendTransactionAndWait( + tx: Ethereum_TxRequest! + connection: Ethereum_Connection + ): Ethereum_TxReceipt! + + deployContract( + abi: String! + bytecode: String! + args: [String!] + connection: Ethereum_Connection + ): String! + + signMessage( + message: String! + connection: Ethereum_Connection + ): String! + + sendRPC( + method: String! + params: [String!]! + connection: Ethereum_Connection + ): String +} + +### Imported Modules END ### + +### Imported Objects START ### + +type Ethereum_Connection @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Connection" +) { + node: String + networkNameOrChainId: String +} + +type Ethereum_TxOverrides @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxOverrides" +) { + gasLimit: BigInt + gasPrice: BigInt + value: BigInt +} + +type Ethereum_StaticTxResult @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "StaticTxResult" +) { + result: String! + error: Boolean! +} + +type Ethereum_TxRequest @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxRequest" +) { + to: String + from: String + nonce: UInt32 + gasLimit: BigInt + gasPrice: BigInt + data: String + value: BigInt + chainId: BigInt + type: UInt32 +} + +type Ethereum_TxReceipt @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxReceipt" +) { + to: String! + from: String! + contractAddress: String! + transactionIndex: UInt32! + root: String + gasUsed: BigInt! + logsBloom: String! + transactionHash: String! + logs: [Ethereum_Log!]! + blockNumber: BigInt! + blockHash: String! + confirmations: UInt32! + cumulativeGasUsed: BigInt! + effectiveGasPrice: BigInt! + byzantium: Boolean! + type: UInt32! + status: UInt32 +} + +type Ethereum_Log @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Log" +) { + blockNumber: BigInt! + blockHash: String! + transactionIndex: UInt32! + removed: Boolean! + address: String! + data: String! + topics: [String!]! + transactionHash: String! + logIndex: UInt32! +} + +type Ethereum_EventNotification @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "EventNotification" +) { + data: String! + address: String! + log: Ethereum_Log! +} + +type Ethereum_Network @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Network" +) { + name: String! + chainId: BigInt! + ensAddress: String +} + +type Ethereum_TxResponse @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "TxResponse" +) { + hash: String! + to: String + from: String! + nonce: UInt32! + gasLimit: BigInt! + gasPrice: BigInt + data: String! + value: BigInt! + chainId: BigInt! + blockNumber: BigInt + blockHash: String + timestamp: UInt32 + confirmations: UInt32! + raw: String + r: String + s: String + v: UInt32 + type: UInt32 + accessList: [Ethereum_Access!] +} + +type Ethereum_Access @imported( + uri: "wrap://ens/ethereum.polywrap.eth", + namespace: "Ethereum", + nativeType: "Access" +) { + address: String! + storageKeys: [String!]! +} + +### Imported Objects END ### From 2a8a87de9ee2a912b43e43df20d93056a8f885d5 Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Fri, 17 Jun 2022 10:17:33 -0700 Subject: [PATCH 15/29] fix npm release automated comment --- .github/workflows/release-publish.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-publish.yaml b/.github/workflows/release-publish.yaml index cd12aa7fc8..11100d7918 100644 --- a/.github/workflows/release-publish.yaml +++ b/.github/workflows/release-publish.yaml @@ -132,7 +132,7 @@ jobs: issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, - body: '**[NPM Release Published](https://www.npmjs.com/search?q=%40polywrap) `${{env.RELEASE_VERSION}}`** 🎉' + body: '**[NPM Release Published](https://www.npmjs.com/search?q=polywrap) `${{env.RELEASE_VERSION}}`** 🎉' }) Publish-Crates-dot-io-Release: From 62516288a9d2ae985f0fb81d8d09a0bb028669ff Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Sat, 18 Jun 2022 21:58:40 -0700 Subject: [PATCH 16/29] remove wrap-man folders --- package.json | 4 +- packages/js/plugins/ens/package.json | 3 +- packages/js/plugins/ens/src/index.ts | 2 +- packages/js/plugins/ens/src/wrap-man/index.ts | 9 - .../js/plugins/ens/src/wrap-man/manifest.ts | 13 - .../js/plugins/ens/src/wrap-man/module.ts | 31 -- .../js/plugins/ens/src/wrap-man/schema.ts | 315 ----------- packages/js/plugins/ens/src/wrap-man/types.ts | 523 ------------------ packages/js/plugins/ethereum/package.json | 3 +- .../js/plugins/ethereum/src/Connection.ts | 2 +- packages/js/plugins/ethereum/src/index.ts | 2 +- .../js/plugins/ethereum/src/utils/mapping.ts | 2 +- .../js/plugins/ethereum/src/wrap-man/index.ts | 9 - .../plugins/ethereum/src/wrap-man/manifest.ts | 13 - .../plugins/ethereum/src/wrap-man/module.ts | 295 ---------- .../plugins/ethereum/src/wrap-man/schema.ts | 305 ---------- .../js/plugins/ethereum/src/wrap-man/types.ts | 140 ----- packages/js/plugins/filesystem/package.json | 3 +- packages/js/plugins/filesystem/src/index.ts | 2 +- .../plugins/filesystem/src/wrap-man/index.ts | 9 - .../filesystem/src/wrap-man/manifest.ts | 13 - .../plugins/filesystem/src/wrap-man/module.ts | 31 -- .../plugins/filesystem/src/wrap-man/schema.ts | 88 --- .../plugins/filesystem/src/wrap-man/types.ts | 83 --- packages/js/plugins/graph-node/package.json | 3 +- packages/js/plugins/graph-node/src/index.ts | 2 +- .../plugins/graph-node/src/wrap-man/index.ts | 9 - .../graph-node/src/wrap-man/manifest.ts | 13 - .../plugins/graph-node/src/wrap-man/module.ts | 23 - .../plugins/graph-node/src/wrap-man/schema.ts | 130 ----- .../plugins/graph-node/src/wrap-man/types.ts | 115 ---- packages/js/plugins/http/package.json | 3 +- packages/js/plugins/http/src/index.ts | 2 +- packages/js/plugins/http/src/util.ts | 2 +- .../js/plugins/http/src/wrap-man/index.ts | 9 - .../js/plugins/http/src/wrap-man/manifest.ts | 13 - .../js/plugins/http/src/wrap-man/module.ts | 32 -- .../js/plugins/http/src/wrap-man/schema.ts | 89 --- .../js/plugins/http/src/wrap-man/types.ts | 71 --- packages/js/plugins/ipfs/package.json | 3 +- packages/js/plugins/ipfs/src/index.ts | 2 +- .../js/plugins/ipfs/src/wrap-man/index.ts | 9 - .../js/plugins/ipfs/src/wrap-man/manifest.ts | 11 - .../js/plugins/ipfs/src/wrap-man/module.ts | 60 -- .../js/plugins/ipfs/src/wrap-man/schema.ts | 130 ----- .../js/plugins/ipfs/src/wrap-man/types.ts | 97 ---- packages/js/plugins/logger/package.json | 3 +- packages/js/plugins/logger/src/index.ts | 2 +- .../js/plugins/logger/src/wrap-man/index.ts | 9 - .../plugins/logger/src/wrap-man/manifest.ts | 13 - .../js/plugins/logger/src/wrap-man/module.ts | 19 - .../js/plugins/logger/src/wrap-man/schema.ts | 82 --- .../js/plugins/logger/src/wrap-man/types.ts | 72 --- packages/js/plugins/sha3/package.json | 3 +- packages/js/plugins/sha3/src/index.ts | 2 +- .../js/plugins/sha3/src/wrap-man/index.ts | 9 - .../js/plugins/sha3/src/wrap-man/manifest.ts | 13 - .../js/plugins/sha3/src/wrap-man/module.ts | 122 ---- .../js/plugins/sha3/src/wrap-man/schema.ts | 100 ---- .../js/plugins/sha3/src/wrap-man/types.ts | 34 -- packages/js/plugins/uts46/package.json | 3 +- packages/js/plugins/uts46/src/index.ts | 2 +- .../js/plugins/uts46/src/wrap-man/index.ts | 9 - .../js/plugins/uts46/src/wrap-man/manifest.ts | 13 - .../js/plugins/uts46/src/wrap-man/module.ts | 39 -- .../js/plugins/uts46/src/wrap-man/schema.ts | 67 --- .../js/plugins/uts46/src/wrap-man/types.ts | 43 -- yarn.lock | 70 +-- 68 files changed, 58 insertions(+), 3399 deletions(-) delete mode 100644 packages/js/plugins/ens/src/wrap-man/index.ts delete mode 100644 packages/js/plugins/ens/src/wrap-man/manifest.ts delete mode 100644 packages/js/plugins/ens/src/wrap-man/module.ts delete mode 100644 packages/js/plugins/ens/src/wrap-man/schema.ts delete mode 100644 packages/js/plugins/ens/src/wrap-man/types.ts delete mode 100644 packages/js/plugins/ethereum/src/wrap-man/index.ts delete mode 100644 packages/js/plugins/ethereum/src/wrap-man/manifest.ts delete mode 100644 packages/js/plugins/ethereum/src/wrap-man/module.ts delete mode 100644 packages/js/plugins/ethereum/src/wrap-man/schema.ts delete mode 100644 packages/js/plugins/ethereum/src/wrap-man/types.ts delete mode 100644 packages/js/plugins/filesystem/src/wrap-man/index.ts delete mode 100644 packages/js/plugins/filesystem/src/wrap-man/manifest.ts delete mode 100644 packages/js/plugins/filesystem/src/wrap-man/module.ts delete mode 100644 packages/js/plugins/filesystem/src/wrap-man/schema.ts delete mode 100644 packages/js/plugins/filesystem/src/wrap-man/types.ts delete mode 100644 packages/js/plugins/graph-node/src/wrap-man/index.ts delete mode 100644 packages/js/plugins/graph-node/src/wrap-man/manifest.ts delete mode 100644 packages/js/plugins/graph-node/src/wrap-man/module.ts delete mode 100644 packages/js/plugins/graph-node/src/wrap-man/schema.ts delete mode 100644 packages/js/plugins/graph-node/src/wrap-man/types.ts delete mode 100644 packages/js/plugins/http/src/wrap-man/index.ts delete mode 100644 packages/js/plugins/http/src/wrap-man/manifest.ts delete mode 100644 packages/js/plugins/http/src/wrap-man/module.ts delete mode 100644 packages/js/plugins/http/src/wrap-man/schema.ts delete mode 100644 packages/js/plugins/http/src/wrap-man/types.ts delete mode 100644 packages/js/plugins/ipfs/src/wrap-man/index.ts delete mode 100644 packages/js/plugins/ipfs/src/wrap-man/manifest.ts delete mode 100644 packages/js/plugins/ipfs/src/wrap-man/module.ts delete mode 100644 packages/js/plugins/ipfs/src/wrap-man/schema.ts delete mode 100644 packages/js/plugins/ipfs/src/wrap-man/types.ts delete mode 100644 packages/js/plugins/logger/src/wrap-man/index.ts delete mode 100644 packages/js/plugins/logger/src/wrap-man/manifest.ts delete mode 100644 packages/js/plugins/logger/src/wrap-man/module.ts delete mode 100644 packages/js/plugins/logger/src/wrap-man/schema.ts delete mode 100644 packages/js/plugins/logger/src/wrap-man/types.ts delete mode 100644 packages/js/plugins/sha3/src/wrap-man/index.ts delete mode 100644 packages/js/plugins/sha3/src/wrap-man/manifest.ts delete mode 100644 packages/js/plugins/sha3/src/wrap-man/module.ts delete mode 100644 packages/js/plugins/sha3/src/wrap-man/schema.ts delete mode 100644 packages/js/plugins/sha3/src/wrap-man/types.ts delete mode 100644 packages/js/plugins/uts46/src/wrap-man/index.ts delete mode 100644 packages/js/plugins/uts46/src/wrap-man/manifest.ts delete mode 100644 packages/js/plugins/uts46/src/wrap-man/module.ts delete mode 100644 packages/js/plugins/uts46/src/wrap-man/schema.ts delete mode 100644 packages/js/plugins/uts46/src/wrap-man/types.ts diff --git a/package.json b/package.json index df996d957c..bcf270a2b2 100644 --- a/package.json +++ b/package.json @@ -24,13 +24,13 @@ "reset": "yarn clean && yarn && yarn build", "clean": "npx rimraf ./**/node_modules ./**/yarn.lock ./**/build ./**/coverage ./**/.polywrap", "dependencies:install": "cd dependencies && yarn", - "build": "yarn build:core && yarn build:plugins && yarn build:client && yarn build:test-env && yarn build:cli && yarn build:plugins:patch", + "preinstall": "yarn dependencies:install", + "build": "yarn build:core && yarn build:plugins && yarn build:client && yarn build:test-env && yarn build:cli", "build:core": "lerna run build --no-private --ignore @polywrap/*-plugin-js --ignore polywrap --ignore @polywrap/client-js --ignore @polywrap/react --ignore @polywrap/test-env-js", "build:plugins": "lerna run build --scope @polywrap/*-plugin-js --concurrency 1", "build:client": "lerna run build --scope @polywrap/client-js --scope @polywrap/react", "build:test-env": "lerna run build --scope @polywrap/test-env-js", "build:cli": "lerna run build --scope polywrap", - "build:plugins:patch": "lerna run codegen:patch --scope @polywrap/*-plugin-js --concurrency 1", "lint": "lerna run lint", "lint:fix": "lerna run lint -- --fix", "lint:ci": "yarn lint", diff --git a/packages/js/plugins/ens/package.json b/packages/js/plugins/ens/package.json index 8f2c59987f..26045ebc00 100644 --- a/packages/js/plugins/ens/package.json +++ b/packages/js/plugins/ens/package.json @@ -12,9 +12,8 @@ "build" ], "scripts": { - "build": "rimraf ./build && tsc --project tsconfig.build.json", + "build": "rimraf ./build && yarn codegen && tsc --project tsconfig.build.json", "codegen": "node ../../../../dependencies/node_modules/polywrap/bin/polywrap plugin codegen", - "codegen:patch": "node ../../../cli/bin/polywrap plugin codegen && rimraf ./src/wrap", "lint": "eslint --color -c ../../../../.eslintrc.js src/", "test": "jest --passWithNoTests --runInBand --verbose", "test:ci": "jest --passWithNoTests --runInBand --verbose", diff --git a/packages/js/plugins/ens/src/index.ts b/packages/js/plugins/ens/src/index.ts index 95be562c7d..8bc334fd9c 100644 --- a/packages/js/plugins/ens/src/index.ts +++ b/packages/js/plugins/ens/src/index.ts @@ -7,7 +7,7 @@ import { Bytes, Ethereum_Module, manifest, -} from "./wrap-man"; +} from "./wrap"; import { ethers } from "ethers"; import { Base58 } from "@ethersproject/basex"; diff --git a/packages/js/plugins/ens/src/wrap-man/index.ts b/packages/js/plugins/ens/src/wrap-man/index.ts deleted file mode 100644 index f367d143d9..0000000000 --- a/packages/js/plugins/ens/src/wrap-man/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export * from "./schema"; -export * from "./manifest"; -export * from "./module"; -export * from "./types"; - -export { Client } from "@polywrap/core-js"; diff --git a/packages/js/plugins/ens/src/wrap-man/manifest.ts b/packages/js/plugins/ens/src/wrap-man/manifest.ts deleted file mode 100644 index bdf0be5286..0000000000 --- a/packages/js/plugins/ens/src/wrap-man/manifest.ts +++ /dev/null @@ -1,13 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/no-unused-vars */ - -import { schema } from "./"; - -import { PluginPackageManifest } from "@polywrap/core-js"; - -export const manifest: PluginPackageManifest = { - schema, - implements: [], -}; diff --git a/packages/js/plugins/ens/src/wrap-man/module.ts b/packages/js/plugins/ens/src/wrap-man/module.ts deleted file mode 100644 index fb6ec175b7..0000000000 --- a/packages/js/plugins/ens/src/wrap-man/module.ts +++ /dev/null @@ -1,31 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./types"; - -import { Client, PluginModule, MaybeAsync } from "@polywrap/core-js"; - -export interface Input_tryResolveUri extends Record { - authority: Types.String; - path: Types.String; -} - -export interface Input_getFile extends Record { - path: Types.String; -} - -export abstract class Module< - TConfig extends Record -> extends PluginModule { - abstract tryResolveUri( - input: Input_tryResolveUri, - client: Client - ): MaybeAsync; - - abstract getFile( - input: Input_getFile, - client: Client - ): MaybeAsync; -} diff --git a/packages/js/plugins/ens/src/wrap-man/schema.ts b/packages/js/plugins/ens/src/wrap-man/schema.ts deleted file mode 100644 index f4e12b184b..0000000000 --- a/packages/js/plugins/ens/src/wrap-man/schema.ts +++ /dev/null @@ -1,315 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export const schema = `### Polywrap Header START ### -scalar UInt -scalar UInt8 -scalar UInt16 -scalar UInt32 -scalar Int -scalar Int8 -scalar Int16 -scalar Int32 -scalar Bytes -scalar BigInt -scalar BigNumber -scalar JSON -scalar Map - -directive @imported( - uri: String! - namespace: String! - nativeType: String! -) on OBJECT | ENUM - -directive @imports( - types: [String!]! -) on OBJECT - -directive @capability( - type: String! - uri: String! - namespace: String! -) repeatable on OBJECT - -directive @enabled_interface on OBJECT - -directive @annotate(type: String!) on FIELD - -### Polywrap Header END ### - -type Module implements UriResolver_Module @imports( - types: [ - "UriResolver_Module", - "UriResolver_MaybeUriOrManifest", - "Ethereum_Module", - "Ethereum_Connection", - "Ethereum_TxOverrides", - "Ethereum_StaticTxResult", - "Ethereum_TxRequest", - "Ethereum_TxReceipt", - "Ethereum_Log", - "Ethereum_EventNotification", - "Ethereum_Network" - ] -) { - tryResolveUri( - authority: String! - path: String! - ): UriResolver_MaybeUriOrManifest - - getFile( - path: String! - ): Bytes -} - -### Imported Modules START ### - -type UriResolver_Module @imported( - uri: "ens/uri-resolver.core.polywrap.eth", - namespace: "UriResolver", - nativeType: "Module" -) { - tryResolveUri( - authority: String! - path: String! - ): UriResolver_MaybeUriOrManifest - - getFile( - path: String! - ): Bytes -} - -type Ethereum_Module @imported( - uri: "ens/ethereum.polywrap.eth", - namespace: "Ethereum", - nativeType: "Module" -) { - callContractView( - address: String! - method: String! - args: [String!] - connection: Ethereum_Connection - ): String! - - callContractStatic( - address: String! - method: String! - args: [String!] - connection: Ethereum_Connection - txOverrides: Ethereum_TxOverrides - ): Ethereum_StaticTxResult! - - getBalance( - address: String! - blockTag: BigInt - connection: Ethereum_Connection - ): BigInt! - - encodeParams( - types: [String!]! - values: [String!]! - ): String! - - encodeFunction( - method: String! - args: [String!] - ): String! - - solidityPack( - types: [String!]! - values: [String!]! - ): String! - - solidityKeccak256( - types: [String!]! - values: [String!]! - ): String! - - soliditySha256( - types: [String!]! - values: [String!]! - ): String! - - getSignerAddress( - connection: Ethereum_Connection - ): String! - - getSignerBalance( - blockTag: BigInt - connection: Ethereum_Connection - ): BigInt! - - getSignerTransactionCount( - blockTag: BigInt - connection: Ethereum_Connection - ): BigInt! - - getGasPrice( - connection: Ethereum_Connection - ): BigInt! - - estimateTransactionGas( - tx: Ethereum_TxRequest! - connection: Ethereum_Connection - ): BigInt! - - estimateContractCallGas( - address: String! - method: String! - args: [String!] - connection: Ethereum_Connection - txOverrides: Ethereum_TxOverrides - ): BigInt! - - checkAddress( - address: String! - ): Boolean! - - toWei( - eth: String! - ): BigInt! - - toEth( - wei: BigInt! - ): String! - - awaitTransaction( - txHash: String! - confirmations: UInt32! - timeout: UInt32! - connection: Ethereum_Connection - ): Ethereum_TxReceipt! - - waitForEvent( - address: String! - event: String! - args: [String!] - timeout: UInt32 - connection: Ethereum_Connection - ): Ethereum_EventNotification! - - getNetwork( - connection: Ethereum_Connection - ): Ethereum_Network! -} - -### Imported Modules END ### - -### Imported Objects START ### - -type UriResolver_MaybeUriOrManifest @imported( - uri: "ens/uri-resolver.core.polywrap.eth", - namespace: "UriResolver", - nativeType: "MaybeUriOrManifest" -) { - uri: String - manifest: String -} - -type Ethereum_Connection @imported( - uri: "ens/ethereum.polywrap.eth", - namespace: "Ethereum", - nativeType: "Connection" -) { - node: String - networkNameOrChainId: String -} - -type Ethereum_TxOverrides @imported( - uri: "ens/ethereum.polywrap.eth", - namespace: "Ethereum", - nativeType: "TxOverrides" -) { - gasLimit: BigInt - gasPrice: BigInt - value: BigInt -} - -type Ethereum_StaticTxResult @imported( - uri: "ens/ethereum.polywrap.eth", - namespace: "Ethereum", - nativeType: "StaticTxResult" -) { - result: String! - error: Boolean! -} - -type Ethereum_TxRequest @imported( - uri: "ens/ethereum.polywrap.eth", - namespace: "Ethereum", - nativeType: "TxRequest" -) { - to: String - from: String - nonce: UInt32 - gasLimit: BigInt - gasPrice: BigInt - data: String - value: BigInt - chainId: BigInt - type: UInt32 -} - -type Ethereum_TxReceipt @imported( - uri: "ens/ethereum.polywrap.eth", - namespace: "Ethereum", - nativeType: "TxReceipt" -) { - to: String! - from: String! - contractAddress: String! - transactionIndex: UInt32! - root: String - gasUsed: BigInt! - logsBloom: String! - transactionHash: String! - logs: [Ethereum_Log!]! - blockNumber: BigInt! - blockHash: String! - confirmations: UInt32! - cumulativeGasUsed: BigInt! - effectiveGasPrice: BigInt! - byzantium: Boolean! - type: UInt32! - status: UInt32 -} - -type Ethereum_Log @imported( - uri: "ens/ethereum.polywrap.eth", - namespace: "Ethereum", - nativeType: "Log" -) { - blockNumber: BigInt! - blockHash: String! - transactionIndex: UInt32! - removed: Boolean! - address: String! - data: String! - topics: [String!]! - transactionHash: String! - logIndex: UInt32! -} - -type Ethereum_EventNotification @imported( - uri: "ens/ethereum.polywrap.eth", - namespace: "Ethereum", - nativeType: "EventNotification" -) { - data: String! - address: String! - log: Ethereum_Log! -} - -type Ethereum_Network @imported( - uri: "ens/ethereum.polywrap.eth", - namespace: "Ethereum", - nativeType: "Network" -) { - name: String! - chainId: BigInt! - ensAddress: String -} - -### Imported Objects END ### -`; diff --git a/packages/js/plugins/ens/src/wrap-man/types.ts b/packages/js/plugins/ens/src/wrap-man/types.ts deleted file mode 100644 index de46821d8a..0000000000 --- a/packages/js/plugins/ens/src/wrap-man/types.ts +++ /dev/null @@ -1,523 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./"; - -import { Client, InvokeResult } from "@polywrap/core-js"; - -export type UInt = number; -export type UInt8 = number; -export type UInt16 = number; -export type UInt32 = number; -export type Int = number; -export type Int8 = number; -export type Int16 = number; -export type Int32 = number; -export type Bytes = ArrayBuffer; -export type BigInt = string; -export type BigNumber = string; -export type Json = string; -export type String = string; -export type Boolean = boolean; - -/// Envs START /// -/// Envs END /// - -/// Objects START /// -/// Objects END /// - -/// Enums START /// -/// Enums END /// - -/// Imported Objects START /// - -/* URI: "ens/uri-resolver.core.polywrap.eth" */ -export interface UriResolver_MaybeUriOrManifest { - uri?: Types.String | null; - manifest?: Types.String | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -export interface Ethereum_Connection { - node?: Types.String | null; - networkNameOrChainId?: Types.String | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -export interface Ethereum_TxOverrides { - gasLimit?: Types.BigInt | null; - gasPrice?: Types.BigInt | null; - value?: Types.BigInt | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -export interface Ethereum_StaticTxResult { - result: Types.String; - error: Types.Boolean; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -export interface Ethereum_TxRequest { - to?: Types.String | null; - from?: Types.String | null; - nonce?: Types.UInt32 | null; - gasLimit?: Types.BigInt | null; - gasPrice?: Types.BigInt | null; - data?: Types.String | null; - value?: Types.BigInt | null; - chainId?: Types.BigInt | null; - type?: Types.UInt32 | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -export interface Ethereum_TxReceipt { - to: Types.String; - from: Types.String; - contractAddress: Types.String; - transactionIndex: Types.UInt32; - root?: Types.String | null; - gasUsed: Types.BigInt; - logsBloom: Types.String; - transactionHash: Types.String; - logs: Array; - blockNumber: Types.BigInt; - blockHash: Types.String; - confirmations: Types.UInt32; - cumulativeGasUsed: Types.BigInt; - effectiveGasPrice: Types.BigInt; - byzantium: Types.Boolean; - type: Types.UInt32; - status?: Types.UInt32 | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -export interface Ethereum_Log { - blockNumber: Types.BigInt; - blockHash: Types.String; - transactionIndex: Types.UInt32; - removed: Types.Boolean; - address: Types.String; - data: Types.String; - topics: Array; - transactionHash: Types.String; - logIndex: Types.UInt32; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -export interface Ethereum_EventNotification { - data: Types.String; - address: Types.String; - log: Types.Ethereum_Log; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -export interface Ethereum_Network { - name: Types.String; - chainId: Types.BigInt; - ensAddress?: Types.String | null; -} - -/// Imported Objects END /// - -/// Imported Modules START /// - -/* URI: "ens/uri-resolver.core.polywrap.eth" */ -interface UriResolver_Module_Input_tryResolveUri - extends Record { - authority: Types.String; - path: Types.String; -} - -/* URI: "ens/uri-resolver.core.polywrap.eth" */ -interface UriResolver_Module_Input_getFile extends Record { - path: Types.String; -} - -/* URI: "ens/uri-resolver.core.polywrap.eth" */ -export const UriResolver_Module = { - tryResolveUri: async ( - input: UriResolver_Module_Input_tryResolveUri, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/uri-resolver.core.polywrap.eth", - method: "tryResolveUri", - input, - }); - }, - - getFile: async ( - input: UriResolver_Module_Input_getFile, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/uri-resolver.core.polywrap.eth", - method: "getFile", - input, - }); - }, -}; - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_callContractView - extends Record { - address: Types.String; - method: Types.String; - args?: Array | null; - connection?: Types.Ethereum_Connection | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_callContractStatic - extends Record { - address: Types.String; - method: Types.String; - args?: Array | null; - connection?: Types.Ethereum_Connection | null; - txOverrides?: Types.Ethereum_TxOverrides | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_getBalance extends Record { - address: Types.String; - blockTag?: Types.BigInt | null; - connection?: Types.Ethereum_Connection | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_encodeParams extends Record { - types: Array; - values: Array; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_encodeFunction extends Record { - method: Types.String; - args?: Array | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_solidityPack extends Record { - types: Array; - values: Array; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_solidityKeccak256 - extends Record { - types: Array; - values: Array; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_soliditySha256 extends Record { - types: Array; - values: Array; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_getSignerAddress - extends Record { - connection?: Types.Ethereum_Connection | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_getSignerBalance - extends Record { - blockTag?: Types.BigInt | null; - connection?: Types.Ethereum_Connection | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_getSignerTransactionCount - extends Record { - blockTag?: Types.BigInt | null; - connection?: Types.Ethereum_Connection | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_getGasPrice extends Record { - connection?: Types.Ethereum_Connection | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_estimateTransactionGas - extends Record { - tx: Types.Ethereum_TxRequest; - connection?: Types.Ethereum_Connection | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_estimateContractCallGas - extends Record { - address: Types.String; - method: Types.String; - args?: Array | null; - connection?: Types.Ethereum_Connection | null; - txOverrides?: Types.Ethereum_TxOverrides | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_checkAddress extends Record { - address: Types.String; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_toWei extends Record { - eth: Types.String; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_toEth extends Record { - wei: Types.BigInt; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_awaitTransaction - extends Record { - txHash: Types.String; - confirmations: Types.UInt32; - timeout: Types.UInt32; - connection?: Types.Ethereum_Connection | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_waitForEvent extends Record { - address: Types.String; - event: Types.String; - args?: Array | null; - timeout?: Types.UInt32 | null; - connection?: Types.Ethereum_Connection | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -interface Ethereum_Module_Input_getNetwork extends Record { - connection?: Types.Ethereum_Connection | null; -} - -/* URI: "ens/ethereum.polywrap.eth" */ -export const Ethereum_Module = { - callContractView: async ( - input: Ethereum_Module_Input_callContractView, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "callContractView", - input, - }); - }, - - callContractStatic: async ( - input: Ethereum_Module_Input_callContractStatic, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "callContractStatic", - input, - }); - }, - - getBalance: async ( - input: Ethereum_Module_Input_getBalance, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "getBalance", - input, - }); - }, - - encodeParams: async ( - input: Ethereum_Module_Input_encodeParams, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "encodeParams", - input, - }); - }, - - encodeFunction: async ( - input: Ethereum_Module_Input_encodeFunction, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "encodeFunction", - input, - }); - }, - - solidityPack: async ( - input: Ethereum_Module_Input_solidityPack, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "solidityPack", - input, - }); - }, - - solidityKeccak256: async ( - input: Ethereum_Module_Input_solidityKeccak256, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "solidityKeccak256", - input, - }); - }, - - soliditySha256: async ( - input: Ethereum_Module_Input_soliditySha256, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "soliditySha256", - input, - }); - }, - - getSignerAddress: async ( - input: Ethereum_Module_Input_getSignerAddress, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "getSignerAddress", - input, - }); - }, - - getSignerBalance: async ( - input: Ethereum_Module_Input_getSignerBalance, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "getSignerBalance", - input, - }); - }, - - getSignerTransactionCount: async ( - input: Ethereum_Module_Input_getSignerTransactionCount, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "getSignerTransactionCount", - input, - }); - }, - - getGasPrice: async ( - input: Ethereum_Module_Input_getGasPrice, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "getGasPrice", - input, - }); - }, - - estimateTransactionGas: async ( - input: Ethereum_Module_Input_estimateTransactionGas, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "estimateTransactionGas", - input, - }); - }, - - estimateContractCallGas: async ( - input: Ethereum_Module_Input_estimateContractCallGas, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "estimateContractCallGas", - input, - }); - }, - - checkAddress: async ( - input: Ethereum_Module_Input_checkAddress, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "checkAddress", - input, - }); - }, - - toWei: async ( - input: Ethereum_Module_Input_toWei, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "toWei", - input, - }); - }, - - toEth: async ( - input: Ethereum_Module_Input_toEth, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "toEth", - input, - }); - }, - - awaitTransaction: async ( - input: Ethereum_Module_Input_awaitTransaction, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "awaitTransaction", - input, - }); - }, - - waitForEvent: async ( - input: Ethereum_Module_Input_waitForEvent, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "waitForEvent", - input, - }); - }, - - getNetwork: async ( - input: Ethereum_Module_Input_getNetwork, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/ethereum.polywrap.eth", - method: "getNetwork", - input, - }); - }, -}; - -/// Imported Modules END /// diff --git a/packages/js/plugins/ethereum/package.json b/packages/js/plugins/ethereum/package.json index 22d399d51c..c7e8f1aeee 100644 --- a/packages/js/plugins/ethereum/package.json +++ b/packages/js/plugins/ethereum/package.json @@ -12,9 +12,8 @@ "build" ], "scripts": { - "build": "rimraf ./build && tsc --project tsconfig.build.json", + "build": "rimraf ./build && yarn codegen && tsc --project tsconfig.build.json", "codegen": "node ../../../../dependencies/node_modules/polywrap/bin/polywrap plugin codegen", - "codegen:patch": "node ../../../cli/bin/polywrap plugin codegen && rimraf ./src/wrap", "lint": "eslint --color -c ../../../../.eslintrc.js src/", "test": "jest --passWithNoTests --runInBand --verbose", "test:ci": "jest --passWithNoTests --runInBand --detectOpenHandles --verbose", diff --git a/packages/js/plugins/ethereum/src/Connection.ts b/packages/js/plugins/ethereum/src/Connection.ts index 9bc730d6c7..a370075ca0 100644 --- a/packages/js/plugins/ethereum/src/Connection.ts +++ b/packages/js/plugins/ethereum/src/Connection.ts @@ -1,4 +1,4 @@ -import { Connection as SchemaConnection } from "./wrap-man"; +import { Connection as SchemaConnection } from "./wrap"; import { Signer, ethers } from "ethers"; import { diff --git a/packages/js/plugins/ethereum/src/index.ts b/packages/js/plugins/ethereum/src/index.ts index 064a178583..c4cabf9e99 100644 --- a/packages/js/plugins/ethereum/src/index.ts +++ b/packages/js/plugins/ethereum/src/index.ts @@ -36,7 +36,7 @@ import { Network, Connection as SchemaConnection, manifest, -} from "./wrap-man"; +} from "./wrap"; import { Connections, Connection, diff --git a/packages/js/plugins/ethereum/src/utils/mapping.ts b/packages/js/plugins/ethereum/src/utils/mapping.ts index eb15b01667..7d3d603ef2 100644 --- a/packages/js/plugins/ethereum/src/utils/mapping.ts +++ b/packages/js/plugins/ethereum/src/utils/mapping.ts @@ -1,4 +1,4 @@ -import { Access, TxReceipt, TxResponse, TxRequest, Log } from "../wrap-man"; +import { Access, TxReceipt, TxResponse, TxRequest, Log } from "../wrap"; import { ethers } from "ethers"; diff --git a/packages/js/plugins/ethereum/src/wrap-man/index.ts b/packages/js/plugins/ethereum/src/wrap-man/index.ts deleted file mode 100644 index f367d143d9..0000000000 --- a/packages/js/plugins/ethereum/src/wrap-man/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export * from "./schema"; -export * from "./manifest"; -export * from "./module"; -export * from "./types"; - -export { Client } from "@polywrap/core-js"; diff --git a/packages/js/plugins/ethereum/src/wrap-man/manifest.ts b/packages/js/plugins/ethereum/src/wrap-man/manifest.ts deleted file mode 100644 index bdf0be5286..0000000000 --- a/packages/js/plugins/ethereum/src/wrap-man/manifest.ts +++ /dev/null @@ -1,13 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/no-unused-vars */ - -import { schema } from "./"; - -import { PluginPackageManifest } from "@polywrap/core-js"; - -export const manifest: PluginPackageManifest = { - schema, - implements: [], -}; diff --git a/packages/js/plugins/ethereum/src/wrap-man/module.ts b/packages/js/plugins/ethereum/src/wrap-man/module.ts deleted file mode 100644 index 902e0c9a6b..0000000000 --- a/packages/js/plugins/ethereum/src/wrap-man/module.ts +++ /dev/null @@ -1,295 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./types"; - -import { Client, PluginModule, MaybeAsync } from "@polywrap/core-js"; - -export interface Input_callContractView extends Record { - address: Types.String; - method: Types.String; - args?: Array | null; - connection?: Types.Connection | null; -} - -export interface Input_callContractStatic extends Record { - address: Types.String; - method: Types.String; - args?: Array | null; - connection?: Types.Connection | null; - txOverrides?: Types.TxOverrides | null; -} - -export interface Input_getBalance extends Record { - address: Types.String; - blockTag?: Types.BigInt | null; - connection?: Types.Connection | null; -} - -export interface Input_encodeParams extends Record { - types: Array; - values: Array; -} - -export interface Input_encodeFunction extends Record { - method: Types.String; - args?: Array | null; -} - -export interface Input_solidityPack extends Record { - types: Array; - values: Array; -} - -export interface Input_solidityKeccak256 extends Record { - types: Array; - values: Array; -} - -export interface Input_soliditySha256 extends Record { - types: Array; - values: Array; -} - -export interface Input_getSignerAddress extends Record { - connection?: Types.Connection | null; -} - -export interface Input_getSignerBalance extends Record { - blockTag?: Types.BigInt | null; - connection?: Types.Connection | null; -} - -export interface Input_getSignerTransactionCount - extends Record { - blockTag?: Types.BigInt | null; - connection?: Types.Connection | null; -} - -export interface Input_getGasPrice extends Record { - connection?: Types.Connection | null; -} - -export interface Input_estimateTransactionGas extends Record { - tx: Types.TxRequest; - connection?: Types.Connection | null; -} - -export interface Input_estimateContractCallGas extends Record { - address: Types.String; - method: Types.String; - args?: Array | null; - connection?: Types.Connection | null; - txOverrides?: Types.TxOverrides | null; -} - -export interface Input_checkAddress extends Record { - address: Types.String; -} - -export interface Input_toWei extends Record { - eth: Types.String; -} - -export interface Input_toEth extends Record { - wei: Types.BigInt; -} - -export interface Input_awaitTransaction extends Record { - txHash: Types.String; - confirmations: Types.UInt32; - timeout: Types.UInt32; - connection?: Types.Connection | null; -} - -export interface Input_waitForEvent extends Record { - address: Types.String; - event: Types.String; - args?: Array | null; - timeout?: Types.UInt32 | null; - connection?: Types.Connection | null; -} - -export interface Input_getNetwork extends Record { - connection?: Types.Connection | null; -} - -export interface Input_callContractMethod extends Record { - address: Types.String; - method: Types.String; - args?: Array | null; - connection?: Types.Connection | null; - txOverrides?: Types.TxOverrides | null; -} - -export interface Input_callContractMethodAndWait - extends Record { - address: Types.String; - method: Types.String; - args?: Array | null; - connection?: Types.Connection | null; - txOverrides?: Types.TxOverrides | null; -} - -export interface Input_sendTransaction extends Record { - tx: Types.TxRequest; - connection?: Types.Connection | null; -} - -export interface Input_sendTransactionAndWait extends Record { - tx: Types.TxRequest; - connection?: Types.Connection | null; -} - -export interface Input_deployContract extends Record { - abi: Types.String; - bytecode: Types.String; - args?: Array | null; - connection?: Types.Connection | null; -} - -export interface Input_signMessage extends Record { - message: Types.String; - connection?: Types.Connection | null; -} - -export interface Input_sendRPC extends Record { - method: Types.String; - params: Array; - connection?: Types.Connection | null; -} - -export abstract class Module< - TConfig extends Record -> extends PluginModule { - abstract callContractView( - input: Input_callContractView, - client: Client - ): MaybeAsync; - - abstract callContractStatic( - input: Input_callContractStatic, - client: Client - ): MaybeAsync; - - abstract getBalance( - input: Input_getBalance, - client: Client - ): MaybeAsync; - - abstract encodeParams( - input: Input_encodeParams, - client: Client - ): MaybeAsync; - - abstract encodeFunction( - input: Input_encodeFunction, - client: Client - ): MaybeAsync; - - abstract solidityPack( - input: Input_solidityPack, - client: Client - ): MaybeAsync; - - abstract solidityKeccak256( - input: Input_solidityKeccak256, - client: Client - ): MaybeAsync; - - abstract soliditySha256( - input: Input_soliditySha256, - client: Client - ): MaybeAsync; - - abstract getSignerAddress( - input: Input_getSignerAddress, - client: Client - ): MaybeAsync; - - abstract getSignerBalance( - input: Input_getSignerBalance, - client: Client - ): MaybeAsync; - - abstract getSignerTransactionCount( - input: Input_getSignerTransactionCount, - client: Client - ): MaybeAsync; - - abstract getGasPrice( - input: Input_getGasPrice, - client: Client - ): MaybeAsync; - - abstract estimateTransactionGas( - input: Input_estimateTransactionGas, - client: Client - ): MaybeAsync; - - abstract estimateContractCallGas( - input: Input_estimateContractCallGas, - client: Client - ): MaybeAsync; - - abstract checkAddress( - input: Input_checkAddress, - client: Client - ): MaybeAsync; - - abstract toWei(input: Input_toWei, client: Client): MaybeAsync; - - abstract toEth(input: Input_toEth, client: Client): MaybeAsync; - - abstract awaitTransaction( - input: Input_awaitTransaction, - client: Client - ): MaybeAsync; - - abstract waitForEvent( - input: Input_waitForEvent, - client: Client - ): MaybeAsync; - - abstract getNetwork( - input: Input_getNetwork, - client: Client - ): MaybeAsync; - - abstract callContractMethod( - input: Input_callContractMethod, - client: Client - ): MaybeAsync; - - abstract callContractMethodAndWait( - input: Input_callContractMethodAndWait, - client: Client - ): MaybeAsync; - - abstract sendTransaction( - input: Input_sendTransaction, - client: Client - ): MaybeAsync; - - abstract sendTransactionAndWait( - input: Input_sendTransactionAndWait, - client: Client - ): MaybeAsync; - - abstract deployContract( - input: Input_deployContract, - client: Client - ): MaybeAsync; - - abstract signMessage( - input: Input_signMessage, - client: Client - ): MaybeAsync; - - abstract sendRPC( - input: Input_sendRPC, - client: Client - ): MaybeAsync; -} diff --git a/packages/js/plugins/ethereum/src/wrap-man/schema.ts b/packages/js/plugins/ethereum/src/wrap-man/schema.ts deleted file mode 100644 index f39380e97d..0000000000 --- a/packages/js/plugins/ethereum/src/wrap-man/schema.ts +++ /dev/null @@ -1,305 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export const schema = `### Polywrap Header START ### -scalar UInt -scalar UInt8 -scalar UInt16 -scalar UInt32 -scalar Int -scalar Int8 -scalar Int16 -scalar Int32 -scalar Bytes -scalar BigInt -scalar BigNumber -scalar JSON -scalar Map - -directive @imported( - uri: String! - namespace: String! - nativeType: String! -) on OBJECT | ENUM - -directive @imports( - types: [String!]! -) on OBJECT - -directive @capability( - type: String! - uri: String! - namespace: String! -) repeatable on OBJECT - -directive @enabled_interface on OBJECT - -directive @annotate(type: String!) on FIELD - -### Polywrap Header END ### - -type Module { - callContractView( - address: String! - method: String! - args: [String!] - connection: Connection - ): String! - - callContractStatic( - address: String! - method: String! - args: [String!] - connection: Connection - txOverrides: TxOverrides - ): StaticTxResult! - - getBalance( - address: String! - blockTag: BigInt - connection: Connection - ): BigInt! - - encodeParams( - types: [String!]! - values: [String!]! - ): String! - - encodeFunction( - method: String! - args: [String!] - ): String! - - solidityPack( - types: [String!]! - values: [String!]! - ): String! - - solidityKeccak256( - types: [String!]! - values: [String!]! - ): String! - - soliditySha256( - types: [String!]! - values: [String!]! - ): String! - - getSignerAddress( - connection: Connection - ): String! - - getSignerBalance( - blockTag: BigInt - connection: Connection - ): BigInt! - - getSignerTransactionCount( - blockTag: BigInt - connection: Connection - ): BigInt! - - getGasPrice( - connection: Connection - ): BigInt! - - estimateTransactionGas( - tx: TxRequest! - connection: Connection - ): BigInt! - - estimateContractCallGas( - address: String! - method: String! - args: [String!] - connection: Connection - txOverrides: TxOverrides - ): BigInt! - - checkAddress( - address: String! - ): Boolean! - - toWei( - eth: String! - ): BigInt! - - toEth( - wei: BigInt! - ): String! - - awaitTransaction( - txHash: String! - confirmations: UInt32! - timeout: UInt32! - connection: Connection - ): TxReceipt! - - waitForEvent( - address: String! - event: String! - args: [String!] - timeout: UInt32 - connection: Connection - ): EventNotification! - - getNetwork( - connection: Connection - ): Network! - - callContractMethod( - address: String! - method: String! - args: [String!] - connection: Connection - txOverrides: TxOverrides - ): TxResponse! - - callContractMethodAndWait( - address: String! - method: String! - args: [String!] - connection: Connection - txOverrides: TxOverrides - ): TxReceipt! - - sendTransaction( - tx: TxRequest! - connection: Connection - ): TxResponse! - - sendTransactionAndWait( - tx: TxRequest! - connection: Connection - ): TxReceipt! - - deployContract( - abi: String! - bytecode: String! - args: [String!] - connection: Connection - ): String! - - signMessage( - message: String! - connection: Connection - ): String! - - sendRPC( - method: String! - params: [String!]! - connection: Connection - ): String -} - -type Env { - connection: Connection -} - -type TxReceipt { - to: String! - from: String! - contractAddress: String! - transactionIndex: UInt32! - root: String - gasUsed: BigInt! - logsBloom: String! - transactionHash: String! - logs: [Log!]! - blockNumber: BigInt! - blockHash: String! - confirmations: UInt32! - cumulativeGasUsed: BigInt! - effectiveGasPrice: BigInt! - byzantium: Boolean! - type: UInt32! - status: UInt32 -} - -type Log { - blockNumber: BigInt! - blockHash: String! - transactionIndex: UInt32! - removed: Boolean! - address: String! - data: String! - topics: [String!]! - transactionHash: String! - logIndex: UInt32! -} - -type TxResponse { - hash: String! - to: String - from: String! - nonce: UInt32! - gasLimit: BigInt! - gasPrice: BigInt - data: String! - value: BigInt! - chainId: BigInt! - blockNumber: BigInt - blockHash: String - timestamp: UInt32 - confirmations: UInt32! - raw: String - r: String - s: String - v: UInt32 - type: UInt32 - accessList: [Access!] -} - -type Access { - address: String! - storageKeys: [String!]! -} - -type TxRequest { - to: String - from: String - nonce: UInt32 - gasLimit: BigInt - gasPrice: BigInt - data: String - value: BigInt - chainId: BigInt - type: UInt32 -} - -type TxOverrides { - gasLimit: BigInt - gasPrice: BigInt - value: BigInt -} - -type StaticTxResult { - result: String! - error: Boolean! -} - -type EventNotification { - data: String! - address: String! - log: Log! -} - -type Connection { - node: String - networkNameOrChainId: String -} - -type Network { - name: String! - chainId: BigInt! - ensAddress: String -} - -### Imported Modules START ### - -### Imported Modules END ### - -### Imported Objects START ### - -### Imported Objects END ### -`; diff --git a/packages/js/plugins/ethereum/src/wrap-man/types.ts b/packages/js/plugins/ethereum/src/wrap-man/types.ts deleted file mode 100644 index 28682eaf17..0000000000 --- a/packages/js/plugins/ethereum/src/wrap-man/types.ts +++ /dev/null @@ -1,140 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./"; - -export type UInt = number; -export type UInt8 = number; -export type UInt16 = number; -export type UInt32 = number; -export type Int = number; -export type Int8 = number; -export type Int16 = number; -export type Int32 = number; -export type Bytes = ArrayBuffer; -export type BigInt = string; -export type BigNumber = string; -export type Json = string; -export type String = string; -export type Boolean = boolean; - -/// Envs START /// -export interface Env extends Record { - connection?: Types.Connection | null; -} -/// Envs END /// - -/// Objects START /// -export interface TxReceipt { - to: Types.String; - from: Types.String; - contractAddress: Types.String; - transactionIndex: Types.UInt32; - root?: Types.String | null; - gasUsed: Types.BigInt; - logsBloom: Types.String; - transactionHash: Types.String; - logs: Array; - blockNumber: Types.BigInt; - blockHash: Types.String; - confirmations: Types.UInt32; - cumulativeGasUsed: Types.BigInt; - effectiveGasPrice: Types.BigInt; - byzantium: Types.Boolean; - type: Types.UInt32; - status?: Types.UInt32 | null; -} - -export interface Log { - blockNumber: Types.BigInt; - blockHash: Types.String; - transactionIndex: Types.UInt32; - removed: Types.Boolean; - address: Types.String; - data: Types.String; - topics: Array; - transactionHash: Types.String; - logIndex: Types.UInt32; -} - -export interface TxResponse { - hash: Types.String; - to?: Types.String | null; - from: Types.String; - nonce: Types.UInt32; - gasLimit: Types.BigInt; - gasPrice?: Types.BigInt | null; - data: Types.String; - value: Types.BigInt; - chainId: Types.BigInt; - blockNumber?: Types.BigInt | null; - blockHash?: Types.String | null; - timestamp?: Types.UInt32 | null; - confirmations: Types.UInt32; - raw?: Types.String | null; - r?: Types.String | null; - s?: Types.String | null; - v?: Types.UInt32 | null; - type?: Types.UInt32 | null; - accessList?: Array | null; -} - -export interface Access { - address: Types.String; - storageKeys: Array; -} - -export interface TxRequest { - to?: Types.String | null; - from?: Types.String | null; - nonce?: Types.UInt32 | null; - gasLimit?: Types.BigInt | null; - gasPrice?: Types.BigInt | null; - data?: Types.String | null; - value?: Types.BigInt | null; - chainId?: Types.BigInt | null; - type?: Types.UInt32 | null; -} - -export interface TxOverrides { - gasLimit?: Types.BigInt | null; - gasPrice?: Types.BigInt | null; - value?: Types.BigInt | null; -} - -export interface StaticTxResult { - result: Types.String; - error: Types.Boolean; -} - -export interface EventNotification { - data: Types.String; - address: Types.String; - log: Types.Log; -} - -export interface Connection { - node?: Types.String | null; - networkNameOrChainId?: Types.String | null; -} - -export interface Network { - name: Types.String; - chainId: Types.BigInt; - ensAddress?: Types.String | null; -} - -/// Objects END /// - -/// Enums START /// -/// Enums END /// - -/// Imported Objects START /// - -/// Imported Objects END /// - -/// Imported Modules START /// - -/// Imported Modules END /// diff --git a/packages/js/plugins/filesystem/package.json b/packages/js/plugins/filesystem/package.json index f8da949167..85b7e33e49 100644 --- a/packages/js/plugins/filesystem/package.json +++ b/packages/js/plugins/filesystem/package.json @@ -12,9 +12,8 @@ "build" ], "scripts": { - "build": "rimraf ./build && tsc --project tsconfig.build.json", + "build": "rimraf ./build && yarn codegen && tsc --project tsconfig.build.json", "codegen": "node ../../../../dependencies/node_modules/polywrap/bin/polywrap plugin codegen", - "codegen:patch": "node ../../../cli/bin/polywrap plugin codegen && rimraf ./src/wrap", "lint": "eslint --color -c ../../../../.eslintrc.js src/", "test": "jest --passWithNoTests --runInBand --verbose", "test:ci": "jest --passWithNoTests --runInBand --verbose", diff --git a/packages/js/plugins/filesystem/src/index.ts b/packages/js/plugins/filesystem/src/index.ts index 694b1e35b1..e782c135fb 100644 --- a/packages/js/plugins/filesystem/src/index.ts +++ b/packages/js/plugins/filesystem/src/index.ts @@ -6,7 +6,7 @@ import { UriResolver_MaybeUriOrManifest, Bytes, manifest, -} from "./wrap-man"; +} from "./wrap"; import path from "path"; import fs from "fs"; diff --git a/packages/js/plugins/filesystem/src/wrap-man/index.ts b/packages/js/plugins/filesystem/src/wrap-man/index.ts deleted file mode 100644 index f367d143d9..0000000000 --- a/packages/js/plugins/filesystem/src/wrap-man/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export * from "./schema"; -export * from "./manifest"; -export * from "./module"; -export * from "./types"; - -export { Client } from "@polywrap/core-js"; diff --git a/packages/js/plugins/filesystem/src/wrap-man/manifest.ts b/packages/js/plugins/filesystem/src/wrap-man/manifest.ts deleted file mode 100644 index bdf0be5286..0000000000 --- a/packages/js/plugins/filesystem/src/wrap-man/manifest.ts +++ /dev/null @@ -1,13 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/no-unused-vars */ - -import { schema } from "./"; - -import { PluginPackageManifest } from "@polywrap/core-js"; - -export const manifest: PluginPackageManifest = { - schema, - implements: [], -}; diff --git a/packages/js/plugins/filesystem/src/wrap-man/module.ts b/packages/js/plugins/filesystem/src/wrap-man/module.ts deleted file mode 100644 index fb6ec175b7..0000000000 --- a/packages/js/plugins/filesystem/src/wrap-man/module.ts +++ /dev/null @@ -1,31 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./types"; - -import { Client, PluginModule, MaybeAsync } from "@polywrap/core-js"; - -export interface Input_tryResolveUri extends Record { - authority: Types.String; - path: Types.String; -} - -export interface Input_getFile extends Record { - path: Types.String; -} - -export abstract class Module< - TConfig extends Record -> extends PluginModule { - abstract tryResolveUri( - input: Input_tryResolveUri, - client: Client - ): MaybeAsync; - - abstract getFile( - input: Input_getFile, - client: Client - ): MaybeAsync; -} diff --git a/packages/js/plugins/filesystem/src/wrap-man/schema.ts b/packages/js/plugins/filesystem/src/wrap-man/schema.ts deleted file mode 100644 index 4c6de4fab4..0000000000 --- a/packages/js/plugins/filesystem/src/wrap-man/schema.ts +++ /dev/null @@ -1,88 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export const schema = `### Polywrap Header START ### -scalar UInt -scalar UInt8 -scalar UInt16 -scalar UInt32 -scalar Int -scalar Int8 -scalar Int16 -scalar Int32 -scalar Bytes -scalar BigInt -scalar BigNumber -scalar JSON -scalar Map - -directive @imported( - uri: String! - namespace: String! - nativeType: String! -) on OBJECT | ENUM - -directive @imports( - types: [String!]! -) on OBJECT - -directive @capability( - type: String! - uri: String! - namespace: String! -) repeatable on OBJECT - -directive @enabled_interface on OBJECT - -directive @annotate(type: String!) on FIELD - -### Polywrap Header END ### - -type Module implements UriResolver_Module @imports( - types: [ - "UriResolver_Module", - "UriResolver_MaybeUriOrManifest" - ] -) { - tryResolveUri( - authority: String! - path: String! - ): UriResolver_MaybeUriOrManifest - - getFile( - path: String! - ): Bytes -} - -### Imported Modules START ### - -type UriResolver_Module @imported( - uri: "ens/uri-resolver.core.polywrap.eth", - namespace: "UriResolver", - nativeType: "Module" -) { - tryResolveUri( - authority: String! - path: String! - ): UriResolver_MaybeUriOrManifest - - getFile( - path: String! - ): Bytes -} - -### Imported Modules END ### - -### Imported Objects START ### - -type UriResolver_MaybeUriOrManifest @imported( - uri: "ens/uri-resolver.core.polywrap.eth", - namespace: "UriResolver", - nativeType: "MaybeUriOrManifest" -) { - uri: String - manifest: String -} - -### Imported Objects END ### -`; diff --git a/packages/js/plugins/filesystem/src/wrap-man/types.ts b/packages/js/plugins/filesystem/src/wrap-man/types.ts deleted file mode 100644 index e7db9ea1b7..0000000000 --- a/packages/js/plugins/filesystem/src/wrap-man/types.ts +++ /dev/null @@ -1,83 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./"; - -import { Client, InvokeResult } from "@polywrap/core-js"; - -export type UInt = number; -export type UInt8 = number; -export type UInt16 = number; -export type UInt32 = number; -export type Int = number; -export type Int8 = number; -export type Int16 = number; -export type Int32 = number; -export type Bytes = ArrayBuffer; -export type BigInt = string; -export type BigNumber = string; -export type Json = string; -export type String = string; -export type Boolean = boolean; - -/// Envs START /// -/// Envs END /// - -/// Objects START /// -/// Objects END /// - -/// Enums START /// -/// Enums END /// - -/// Imported Objects START /// - -/* URI: "ens/uri-resolver.core.polywrap.eth" */ -export interface UriResolver_MaybeUriOrManifest { - uri?: Types.String | null; - manifest?: Types.String | null; -} - -/// Imported Objects END /// - -/// Imported Modules START /// - -/* URI: "ens/uri-resolver.core.polywrap.eth" */ -interface UriResolver_Module_Input_tryResolveUri - extends Record { - authority: Types.String; - path: Types.String; -} - -/* URI: "ens/uri-resolver.core.polywrap.eth" */ -interface UriResolver_Module_Input_getFile extends Record { - path: Types.String; -} - -/* URI: "ens/uri-resolver.core.polywrap.eth" */ -export const UriResolver_Module = { - tryResolveUri: async ( - input: UriResolver_Module_Input_tryResolveUri, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/uri-resolver.core.polywrap.eth", - method: "tryResolveUri", - input, - }); - }, - - getFile: async ( - input: UriResolver_Module_Input_getFile, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/uri-resolver.core.polywrap.eth", - method: "getFile", - input, - }); - }, -}; - -/// Imported Modules END /// diff --git a/packages/js/plugins/graph-node/package.json b/packages/js/plugins/graph-node/package.json index 7dd577cb65..fdd14d7232 100644 --- a/packages/js/plugins/graph-node/package.json +++ b/packages/js/plugins/graph-node/package.json @@ -12,9 +12,8 @@ "build" ], "scripts": { - "build": "rimraf ./build && tsc --project tsconfig.build.json", + "build": "rimraf ./build && yarn codegen && tsc --project tsconfig.build.json", "codegen": "node ../../../../dependencies/node_modules/polywrap/bin/polywrap plugin codegen", - "codegen:patch": "node ../../../cli/bin/polywrap plugin codegen && rimraf ./src/wrap", "lint": "eslint --color -c ../../../../.eslintrc.js src/", "test": "jest --passWithNoTests --runInBand --verbose", "test:ci": "jest --passWithNoTests --runInBand --verbose", diff --git a/packages/js/plugins/graph-node/src/index.ts b/packages/js/plugins/graph-node/src/index.ts index 842bc0ca3e..7d4d4bd080 100644 --- a/packages/js/plugins/graph-node/src/index.ts +++ b/packages/js/plugins/graph-node/src/index.ts @@ -4,7 +4,7 @@ import { Input_querySubgraph, HTTP_Module, manifest, -} from "./wrap-man"; +} from "./wrap"; import { PluginFactory } from "@polywrap/core-js"; diff --git a/packages/js/plugins/graph-node/src/wrap-man/index.ts b/packages/js/plugins/graph-node/src/wrap-man/index.ts deleted file mode 100644 index f367d143d9..0000000000 --- a/packages/js/plugins/graph-node/src/wrap-man/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export * from "./schema"; -export * from "./manifest"; -export * from "./module"; -export * from "./types"; - -export { Client } from "@polywrap/core-js"; diff --git a/packages/js/plugins/graph-node/src/wrap-man/manifest.ts b/packages/js/plugins/graph-node/src/wrap-man/manifest.ts deleted file mode 100644 index bdf0be5286..0000000000 --- a/packages/js/plugins/graph-node/src/wrap-man/manifest.ts +++ /dev/null @@ -1,13 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/no-unused-vars */ - -import { schema } from "./"; - -import { PluginPackageManifest } from "@polywrap/core-js"; - -export const manifest: PluginPackageManifest = { - schema, - implements: [], -}; diff --git a/packages/js/plugins/graph-node/src/wrap-man/module.ts b/packages/js/plugins/graph-node/src/wrap-man/module.ts deleted file mode 100644 index f966dbe16e..0000000000 --- a/packages/js/plugins/graph-node/src/wrap-man/module.ts +++ /dev/null @@ -1,23 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./types"; - -import { Client, PluginModule, MaybeAsync } from "@polywrap/core-js"; - -export interface Input_querySubgraph extends Record { - subgraphAuthor: Types.String; - subgraphName: Types.String; - query: Types.String; -} - -export abstract class Module< - TConfig extends Record -> extends PluginModule { - abstract querySubgraph( - input: Input_querySubgraph, - client: Client - ): MaybeAsync; -} diff --git a/packages/js/plugins/graph-node/src/wrap-man/schema.ts b/packages/js/plugins/graph-node/src/wrap-man/schema.ts deleted file mode 100644 index 55b8a00c6a..0000000000 --- a/packages/js/plugins/graph-node/src/wrap-man/schema.ts +++ /dev/null @@ -1,130 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export const schema = `### Polywrap Header START ### -scalar UInt -scalar UInt8 -scalar UInt16 -scalar UInt32 -scalar Int -scalar Int8 -scalar Int16 -scalar Int32 -scalar Bytes -scalar BigInt -scalar BigNumber -scalar JSON -scalar Map - -directive @imported( - uri: String! - namespace: String! - nativeType: String! -) on OBJECT | ENUM - -directive @imports( - types: [String!]! -) on OBJECT - -directive @capability( - type: String! - uri: String! - namespace: String! -) repeatable on OBJECT - -directive @enabled_interface on OBJECT - -directive @annotate(type: String!) on FIELD - -### Polywrap Header END ### - -type Module @imports( - types: [ - "HTTP_Module", - "HTTP_Request", - "HTTP_Header", - "HTTP_UrlParam", - "HTTP_ResponseType", - "HTTP_Response" - ] -) { - querySubgraph( - subgraphAuthor: String! - subgraphName: String! - query: String! - ): String! -} - -### Imported Modules START ### - -type HTTP_Module @imported( - uri: "ens/http.polywrap.eth", - namespace: "HTTP", - nativeType: "Module" -) { - get( - url: String! - request: HTTP_Request - ): HTTP_Response - - post( - url: String! - request: HTTP_Request - ): HTTP_Response -} - -### Imported Modules END ### - -### Imported Objects START ### - -type HTTP_Request @imported( - uri: "ens/http.polywrap.eth", - namespace: "HTTP", - nativeType: "Request" -) { - headers: [HTTP_Header!] - urlParams: [HTTP_UrlParam!] - responseType: HTTP_ResponseType! - body: String -} - -type HTTP_Header @imported( - uri: "ens/http.polywrap.eth", - namespace: "HTTP", - nativeType: "Header" -) { - key: String! - value: String! -} - -type HTTP_UrlParam @imported( - uri: "ens/http.polywrap.eth", - namespace: "HTTP", - nativeType: "UrlParam" -) { - key: String! - value: String! -} - -type HTTP_Response @imported( - uri: "ens/http.polywrap.eth", - namespace: "HTTP", - nativeType: "Response" -) { - status: Int! - statusText: String! - headers: [HTTP_Header!] - body: String -} - -enum HTTP_ResponseType @imported( - uri: "ens/http.polywrap.eth", - namespace: "HTTP", - nativeType: "ResponseType" -) { - TEXT - BINARY -} - -### Imported Objects END ### -`; diff --git a/packages/js/plugins/graph-node/src/wrap-man/types.ts b/packages/js/plugins/graph-node/src/wrap-man/types.ts deleted file mode 100644 index 18b622b929..0000000000 --- a/packages/js/plugins/graph-node/src/wrap-man/types.ts +++ /dev/null @@ -1,115 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./"; - -import { Client, InvokeResult } from "@polywrap/core-js"; - -export type UInt = number; -export type UInt8 = number; -export type UInt16 = number; -export type UInt32 = number; -export type Int = number; -export type Int8 = number; -export type Int16 = number; -export type Int32 = number; -export type Bytes = ArrayBuffer; -export type BigInt = string; -export type BigNumber = string; -export type Json = string; -export type String = string; -export type Boolean = boolean; - -/// Envs START /// -/// Envs END /// - -/// Objects START /// -/// Objects END /// - -/// Enums START /// -/// Enums END /// - -/// Imported Objects START /// - -/* URI: "ens/http.polywrap.eth" */ -export interface HTTP_Request { - headers?: Array | null; - urlParams?: Array | null; - responseType: Types.HTTP_ResponseType; - body?: Types.String | null; -} - -/* URI: "ens/http.polywrap.eth" */ -export interface HTTP_Header { - key: Types.String; - value: Types.String; -} - -/* URI: "ens/http.polywrap.eth" */ -export interface HTTP_UrlParam { - key: Types.String; - value: Types.String; -} - -/* URI: "ens/http.polywrap.eth" */ -export interface HTTP_Response { - status: Types.Int; - statusText: Types.String; - headers?: Array | null; - body?: Types.String | null; -} - -/* URI: "ens/http.polywrap.eth" */ -export enum HTTP_ResponseTypeEnum { - TEXT, - BINARY, -} - -export type HTTP_ResponseTypeString = "TEXT" | "BINARY"; - -export type HTTP_ResponseType = HTTP_ResponseTypeEnum | HTTP_ResponseTypeString; - -/// Imported Objects END /// - -/// Imported Modules START /// - -/* URI: "ens/http.polywrap.eth" */ -interface HTTP_Module_Input_get extends Record { - url: Types.String; - request?: Types.HTTP_Request | null; -} - -/* URI: "ens/http.polywrap.eth" */ -interface HTTP_Module_Input_post extends Record { - url: Types.String; - request?: Types.HTTP_Request | null; -} - -/* URI: "ens/http.polywrap.eth" */ -export const HTTP_Module = { - get: async ( - input: HTTP_Module_Input_get, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/http.polywrap.eth", - method: "get", - input, - }); - }, - - post: async ( - input: HTTP_Module_Input_post, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/http.polywrap.eth", - method: "post", - input, - }); - }, -}; - -/// Imported Modules END /// diff --git a/packages/js/plugins/http/package.json b/packages/js/plugins/http/package.json index 9df30ec7d5..91cb250be2 100644 --- a/packages/js/plugins/http/package.json +++ b/packages/js/plugins/http/package.json @@ -12,9 +12,8 @@ "build" ], "scripts": { - "build": "rimraf ./build && tsc --project tsconfig.build.json", + "build": "rimraf ./build && yarn codegen && tsc --project tsconfig.build.json", "codegen": "node ../../../../dependencies/node_modules/polywrap/bin/polywrap plugin codegen", - "codegen:patch": "node ../../../cli/bin/polywrap plugin codegen && rimraf ./src/wrap", "lint": "eslint --color -c ../../../../.eslintrc.js src/", "test": "jest --passWithNoTests --runInBand --verbose", "test:ci": "jest --passWithNoTests --runInBand --verbose", diff --git a/packages/js/plugins/http/src/index.ts b/packages/js/plugins/http/src/index.ts index eab1c299a1..ff994b1aaa 100644 --- a/packages/js/plugins/http/src/index.ts +++ b/packages/js/plugins/http/src/index.ts @@ -5,7 +5,7 @@ import { Input_post, Response, manifest, -} from "./wrap-man"; +} from "./wrap"; import { fromAxiosResponse, toAxiosRequestConfig } from "./util"; import axios from "axios"; diff --git a/packages/js/plugins/http/src/util.ts b/packages/js/plugins/http/src/util.ts index 883a5db048..94d5165fb2 100644 --- a/packages/js/plugins/http/src/util.ts +++ b/packages/js/plugins/http/src/util.ts @@ -1,4 +1,4 @@ -import { Request, Response, ResponseTypeEnum, Header } from "./wrap-man"; +import { Request, Response, ResponseTypeEnum, Header } from "./wrap"; import { AxiosResponse, AxiosRequestConfig } from "axios"; diff --git a/packages/js/plugins/http/src/wrap-man/index.ts b/packages/js/plugins/http/src/wrap-man/index.ts deleted file mode 100644 index f367d143d9..0000000000 --- a/packages/js/plugins/http/src/wrap-man/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export * from "./schema"; -export * from "./manifest"; -export * from "./module"; -export * from "./types"; - -export { Client } from "@polywrap/core-js"; diff --git a/packages/js/plugins/http/src/wrap-man/manifest.ts b/packages/js/plugins/http/src/wrap-man/manifest.ts deleted file mode 100644 index bdf0be5286..0000000000 --- a/packages/js/plugins/http/src/wrap-man/manifest.ts +++ /dev/null @@ -1,13 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/no-unused-vars */ - -import { schema } from "./"; - -import { PluginPackageManifest } from "@polywrap/core-js"; - -export const manifest: PluginPackageManifest = { - schema, - implements: [], -}; diff --git a/packages/js/plugins/http/src/wrap-man/module.ts b/packages/js/plugins/http/src/wrap-man/module.ts deleted file mode 100644 index c702c01eb5..0000000000 --- a/packages/js/plugins/http/src/wrap-man/module.ts +++ /dev/null @@ -1,32 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./types"; - -import { Client, PluginModule, MaybeAsync } from "@polywrap/core-js"; - -export interface Input_get extends Record { - url: Types.String; - request?: Types.Request | null; -} - -export interface Input_post extends Record { - url: Types.String; - request?: Types.Request | null; -} - -export abstract class Module< - TConfig extends Record -> extends PluginModule { - abstract get( - input: Input_get, - client: Client - ): MaybeAsync; - - abstract post( - input: Input_post, - client: Client - ): MaybeAsync; -} diff --git a/packages/js/plugins/http/src/wrap-man/schema.ts b/packages/js/plugins/http/src/wrap-man/schema.ts deleted file mode 100644 index e19ac44483..0000000000 --- a/packages/js/plugins/http/src/wrap-man/schema.ts +++ /dev/null @@ -1,89 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export const schema = `### Polywrap Header START ### -scalar UInt -scalar UInt8 -scalar UInt16 -scalar UInt32 -scalar Int -scalar Int8 -scalar Int16 -scalar Int32 -scalar Bytes -scalar BigInt -scalar BigNumber -scalar JSON -scalar Map - -directive @imported( - uri: String! - namespace: String! - nativeType: String! -) on OBJECT | ENUM - -directive @imports( - types: [String!]! -) on OBJECT - -directive @capability( - type: String! - uri: String! - namespace: String! -) repeatable on OBJECT - -directive @enabled_interface on OBJECT - -directive @annotate(type: String!) on FIELD - -### Polywrap Header END ### - -type Module { - get( - url: String! - request: Request - ): Response - - post( - url: String! - request: Request - ): Response -} - -type Header { - key: String! - value: String! -} - -type UrlParam { - key: String! - value: String! -} - -type Response { - status: Int! - statusText: String! - headers: [Header!] - body: String -} - -type Request { - headers: [Header!] - urlParams: [UrlParam!] - responseType: ResponseType! - body: String -} - -enum ResponseType { - TEXT - BINARY -} - -### Imported Modules START ### - -### Imported Modules END ### - -### Imported Objects START ### - -### Imported Objects END ### -`; diff --git a/packages/js/plugins/http/src/wrap-man/types.ts b/packages/js/plugins/http/src/wrap-man/types.ts deleted file mode 100644 index 4e8098ca01..0000000000 --- a/packages/js/plugins/http/src/wrap-man/types.ts +++ /dev/null @@ -1,71 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./"; - -export type UInt = number; -export type UInt8 = number; -export type UInt16 = number; -export type UInt32 = number; -export type Int = number; -export type Int8 = number; -export type Int16 = number; -export type Int32 = number; -export type Bytes = ArrayBuffer; -export type BigInt = string; -export type BigNumber = string; -export type Json = string; -export type String = string; -export type Boolean = boolean; - -/// Envs START /// -/// Envs END /// - -/// Objects START /// -export interface Header { - key: Types.String; - value: Types.String; -} - -export interface UrlParam { - key: Types.String; - value: Types.String; -} - -export interface Response { - status: Types.Int; - statusText: Types.String; - headers?: Array | null; - body?: Types.String | null; -} - -export interface Request { - headers?: Array | null; - urlParams?: Array | null; - responseType: Types.ResponseType; - body?: Types.String | null; -} - -/// Objects END /// - -/// Enums START /// -export enum ResponseTypeEnum { - TEXT, - BINARY, -} - -export type ResponseTypeString = "TEXT" | "BINARY"; - -export type ResponseType = ResponseTypeEnum | ResponseTypeString; - -/// Enums END /// - -/// Imported Objects START /// - -/// Imported Objects END /// - -/// Imported Modules START /// - -/// Imported Modules END /// diff --git a/packages/js/plugins/ipfs/package.json b/packages/js/plugins/ipfs/package.json index dda6501f0c..a29f6c8665 100644 --- a/packages/js/plugins/ipfs/package.json +++ b/packages/js/plugins/ipfs/package.json @@ -12,9 +12,8 @@ "build" ], "scripts": { - "build": "rimraf ./build && tsc --project tsconfig.build.json", + "build": "rimraf ./build && yarn codegen && tsc --project tsconfig.build.json", "codegen": "node ../../../../dependencies/node_modules/polywrap/bin/polywrap plugin codegen", - "codegen:patch": "node ../../../cli/bin/polywrap plugin codegen && rimraf ./src/wrap", "lint": "eslint --color -c ../../../../.eslintrc.js src/", "test": "jest --passWithNoTests --runInBand --verbose", "test:ci": "jest --passWithNoTests --runInBand --verbose", diff --git a/packages/js/plugins/ipfs/src/index.ts b/packages/js/plugins/ipfs/src/index.ts index bdbdd506e5..a006c47be7 100644 --- a/packages/js/plugins/ipfs/src/index.ts +++ b/packages/js/plugins/ipfs/src/index.ts @@ -11,7 +11,7 @@ import { Env, UriResolver_MaybeUriOrManifest, manifest, -} from "./wrap-man"; +} from "./wrap"; import { IpfsClient } from "./utils/IpfsClient"; import { execSimple, execFallbacks } from "./utils/exec"; diff --git a/packages/js/plugins/ipfs/src/wrap-man/index.ts b/packages/js/plugins/ipfs/src/wrap-man/index.ts deleted file mode 100644 index f367d143d9..0000000000 --- a/packages/js/plugins/ipfs/src/wrap-man/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export * from "./schema"; -export * from "./manifest"; -export * from "./module"; -export * from "./types"; - -export { Client } from "@polywrap/core-js"; diff --git a/packages/js/plugins/ipfs/src/wrap-man/manifest.ts b/packages/js/plugins/ipfs/src/wrap-man/manifest.ts deleted file mode 100644 index f7b9e13f5e..0000000000 --- a/packages/js/plugins/ipfs/src/wrap-man/manifest.ts +++ /dev/null @@ -1,11 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -import { schema } from "./"; - -import { PluginPackageManifest } from "@polywrap/core-js"; - -export const manifest: PluginPackageManifest = { - schema, - implements: [], -}; diff --git a/packages/js/plugins/ipfs/src/wrap-man/module.ts b/packages/js/plugins/ipfs/src/wrap-man/module.ts deleted file mode 100644 index ee6664ef40..0000000000 --- a/packages/js/plugins/ipfs/src/wrap-man/module.ts +++ /dev/null @@ -1,60 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./types"; - -import { Client, PluginModule, MaybeAsync } from "@polywrap/core-js"; - -export interface Input_catFile extends Record { - cid: Types.String; - options?: Types.Options | null; -} - -export interface Input_resolve extends Record { - cid: Types.String; - options?: Types.Options | null; -} - -export interface Input_tryResolveUri extends Record { - authority: Types.String; - path: Types.String; -} - -export interface Input_getFile extends Record { - path: Types.String; -} - -export interface Input_addFile extends Record { - data: Types.Bytes; -} - -export abstract class Module< - TConfig extends Record -> extends PluginModule { - abstract catFile( - input: Input_catFile, - client: Client - ): MaybeAsync; - - abstract resolve( - input: Input_resolve, - client: Client - ): MaybeAsync; - - abstract tryResolveUri( - input: Input_tryResolveUri, - client: Client - ): MaybeAsync; - - abstract getFile( - input: Input_getFile, - client: Client - ): MaybeAsync; - - abstract addFile( - input: Input_addFile, - client: Client - ): MaybeAsync; -} diff --git a/packages/js/plugins/ipfs/src/wrap-man/schema.ts b/packages/js/plugins/ipfs/src/wrap-man/schema.ts deleted file mode 100644 index df53cfe010..0000000000 --- a/packages/js/plugins/ipfs/src/wrap-man/schema.ts +++ /dev/null @@ -1,130 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export const schema = `### Polywrap Header START ### -scalar UInt -scalar UInt8 -scalar UInt16 -scalar UInt32 -scalar Int -scalar Int8 -scalar Int16 -scalar Int32 -scalar Bytes -scalar BigInt -scalar BigNumber -scalar JSON -scalar Map - -directive @imported( - uri: String! - namespace: String! - nativeType: String! -) on OBJECT | ENUM - -directive @imports( - types: [String!]! -) on OBJECT - -directive @capability( - type: String! - uri: String! - namespace: String! -) repeatable on OBJECT - -directive @enabled_interface on OBJECT - -directive @annotate(type: String!) on FIELD - -### Polywrap Header END ### - -type Module implements UriResolver_Module @imports( - types: [ - "UriResolver_Module", - "UriResolver_MaybeUriOrManifest" - ] -) { - catFile( - cid: String! - options: Options - ): Bytes! - - resolve( - cid: String! - options: Options - ): ResolveResult - - tryResolveUri( - authority: String! - path: String! - ): UriResolver_MaybeUriOrManifest - - getFile( - path: String! - ): Bytes - - addFile( - data: Bytes! - ): String! -} - -type Env { - """ - Disable querying providers in parallel when resolving URIs - """ - disableParallelRequests: Boolean -} - -type ResolveResult { - cid: String! - provider: String! -} - -type Options { - """ - Timeout (in ms) for the operation. -Fallback providers are used if timeout is reached. - """ - timeout: UInt32 - """ - The IPFS provider to be used - """ - provider: String - """ - Disable querying providers in parallel when resolving URIs - """ - disableParallelRequests: Boolean -} - -### Imported Modules START ### - -type UriResolver_Module @imported( - uri: "ens/uri-resolver.core.polywrap.eth", - namespace: "UriResolver", - nativeType: "Module" -) { - tryResolveUri( - authority: String! - path: String! - ): UriResolver_MaybeUriOrManifest - - getFile( - path: String! - ): Bytes -} - -### Imported Modules END ### - -### Imported Objects START ### - -type UriResolver_MaybeUriOrManifest @imported( - uri: "ens/uri-resolver.core.polywrap.eth", - namespace: "UriResolver", - nativeType: "MaybeUriOrManifest" -) { - uri: String - manifest: String -} - -### Imported Objects END ### -`; diff --git a/packages/js/plugins/ipfs/src/wrap-man/types.ts b/packages/js/plugins/ipfs/src/wrap-man/types.ts deleted file mode 100644 index 5995af8e80..0000000000 --- a/packages/js/plugins/ipfs/src/wrap-man/types.ts +++ /dev/null @@ -1,97 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./"; - -import { Client, InvokeResult } from "@polywrap/core-js"; - -export type UInt = number; -export type UInt8 = number; -export type UInt16 = number; -export type UInt32 = number; -export type Int = number; -export type Int8 = number; -export type Int16 = number; -export type Int32 = number; -export type Bytes = ArrayBuffer; -export type BigInt = string; -export type BigNumber = string; -export type Json = string; -export type String = string; -export type Boolean = boolean; - -/// Envs START /// -export interface Env extends Record { - disableParallelRequests?: Types.Boolean | null; -} -/// Envs END /// - -/// Objects START /// -export interface ResolveResult { - cid: Types.String; - provider: Types.String; -} - -export interface Options { - timeout?: Types.UInt32 | null; - provider?: Types.String | null; - disableParallelRequests?: Types.Boolean | null; -} - -/// Objects END /// - -/// Enums START /// -/// Enums END /// - -/// Imported Objects START /// - -/* URI: "ens/uri-resolver.core.polywrap.eth" */ -export interface UriResolver_MaybeUriOrManifest { - uri?: Types.String | null; - manifest?: Types.String | null; -} - -/// Imported Objects END /// - -/// Imported Modules START /// - -/* URI: "ens/uri-resolver.core.polywrap.eth" */ -interface UriResolver_Module_Input_tryResolveUri - extends Record { - authority: Types.String; - path: Types.String; -} - -/* URI: "ens/uri-resolver.core.polywrap.eth" */ -interface UriResolver_Module_Input_getFile extends Record { - path: Types.String; -} - -/* URI: "ens/uri-resolver.core.polywrap.eth" */ -export const UriResolver_Module = { - tryResolveUri: async ( - input: UriResolver_Module_Input_tryResolveUri, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/uri-resolver.core.polywrap.eth", - method: "tryResolveUri", - input, - }); - }, - - getFile: async ( - input: UriResolver_Module_Input_getFile, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/uri-resolver.core.polywrap.eth", - method: "getFile", - input, - }); - }, -}; - -/// Imported Modules END /// diff --git a/packages/js/plugins/logger/package.json b/packages/js/plugins/logger/package.json index e5a3edcc3a..60fb82fbce 100644 --- a/packages/js/plugins/logger/package.json +++ b/packages/js/plugins/logger/package.json @@ -12,9 +12,8 @@ "version": "0.0.1-prealpha.86", "main": "build/index.js", "scripts": { - "build": "rimraf ./build && tsc --project tsconfig.build.json", + "build": "rimraf ./build && yarn codegen && tsc --project tsconfig.build.json", "codegen": "node ../../../../dependencies/node_modules/polywrap/bin/polywrap plugin codegen", - "codegen:patch": "node ../../../cli/bin/polywrap plugin codegen && rimraf ./src/wrap", "lint": "eslint --color -c ../../../../.eslintrc.js src/", "test": "jest --passWithNoTests --runInBand --verbose", "test:ci": "jest --passWithNoTests --runInBand --verbose", diff --git a/packages/js/plugins/logger/src/index.ts b/packages/js/plugins/logger/src/index.ts index 7deeeef6fc..1bbb999ef5 100644 --- a/packages/js/plugins/logger/src/index.ts +++ b/packages/js/plugins/logger/src/index.ts @@ -4,7 +4,7 @@ import { Logger_LogLevel, Logger_LogLevelEnum, manifest, -} from "./wrap-man"; +} from "./wrap"; import { PluginFactory } from "@polywrap/core-js"; diff --git a/packages/js/plugins/logger/src/wrap-man/index.ts b/packages/js/plugins/logger/src/wrap-man/index.ts deleted file mode 100644 index f367d143d9..0000000000 --- a/packages/js/plugins/logger/src/wrap-man/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export * from "./schema"; -export * from "./manifest"; -export * from "./module"; -export * from "./types"; - -export { Client } from "@polywrap/core-js"; diff --git a/packages/js/plugins/logger/src/wrap-man/manifest.ts b/packages/js/plugins/logger/src/wrap-man/manifest.ts deleted file mode 100644 index bdf0be5286..0000000000 --- a/packages/js/plugins/logger/src/wrap-man/manifest.ts +++ /dev/null @@ -1,13 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/no-unused-vars */ - -import { schema } from "./"; - -import { PluginPackageManifest } from "@polywrap/core-js"; - -export const manifest: PluginPackageManifest = { - schema, - implements: [], -}; diff --git a/packages/js/plugins/logger/src/wrap-man/module.ts b/packages/js/plugins/logger/src/wrap-man/module.ts deleted file mode 100644 index ded6effc40..0000000000 --- a/packages/js/plugins/logger/src/wrap-man/module.ts +++ /dev/null @@ -1,19 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./types"; - -import { Client, PluginModule, MaybeAsync } from "@polywrap/core-js"; - -export interface Input_log extends Record { - level: Types.Logger_LogLevel; - message: Types.String; -} - -export abstract class Module< - TConfig extends Record -> extends PluginModule { - abstract log(input: Input_log, client: Client): MaybeAsync; -} diff --git a/packages/js/plugins/logger/src/wrap-man/schema.ts b/packages/js/plugins/logger/src/wrap-man/schema.ts deleted file mode 100644 index 4176115ba5..0000000000 --- a/packages/js/plugins/logger/src/wrap-man/schema.ts +++ /dev/null @@ -1,82 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export const schema = `### Polywrap Header START ### -scalar UInt -scalar UInt8 -scalar UInt16 -scalar UInt32 -scalar Int -scalar Int8 -scalar Int16 -scalar Int32 -scalar Bytes -scalar BigInt -scalar BigNumber -scalar JSON -scalar Map - -directive @imported( - uri: String! - namespace: String! - nativeType: String! -) on OBJECT | ENUM - -directive @imports( - types: [String!]! -) on OBJECT - -directive @capability( - type: String! - uri: String! - namespace: String! -) repeatable on OBJECT - -directive @enabled_interface on OBJECT - -directive @annotate(type: String!) on FIELD - -### Polywrap Header END ### - -type Module implements Logger_Module @imports( - types: [ - "Logger_Module", - "Logger_LogLevel" - ] -) { - log( - level: Logger_LogLevel! - message: String! - ): Boolean! -} - -### Imported Modules START ### - -type Logger_Module @imported( - uri: "ens/logger.core.polywrap.eth", - namespace: "Logger", - nativeType: "Module" -) { - log( - level: Logger_LogLevel! - message: String! - ): Boolean! -} - -### Imported Modules END ### - -### Imported Objects START ### - -enum Logger_LogLevel @imported( - uri: "ens/logger.core.polywrap.eth", - namespace: "Logger", - nativeType: "LogLevel" -) { - DEBUG - INFO - WARN - ERROR -} - -### Imported Objects END ### -`; diff --git a/packages/js/plugins/logger/src/wrap-man/types.ts b/packages/js/plugins/logger/src/wrap-man/types.ts deleted file mode 100644 index fa91f80b2c..0000000000 --- a/packages/js/plugins/logger/src/wrap-man/types.ts +++ /dev/null @@ -1,72 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./"; - -import { Client, InvokeResult } from "@polywrap/core-js"; - -export type UInt = number; -export type UInt8 = number; -export type UInt16 = number; -export type UInt32 = number; -export type Int = number; -export type Int8 = number; -export type Int16 = number; -export type Int32 = number; -export type Bytes = ArrayBuffer; -export type BigInt = string; -export type BigNumber = string; -export type Json = string; -export type String = string; -export type Boolean = boolean; - -/// Envs START /// -/// Envs END /// - -/// Objects START /// -/// Objects END /// - -/// Enums START /// -/// Enums END /// - -/// Imported Objects START /// - -/* URI: "ens/logger.core.polywrap.eth" */ -export enum Logger_LogLevelEnum { - DEBUG, - INFO, - WARN, - ERROR, -} - -export type Logger_LogLevelString = "DEBUG" | "INFO" | "WARN" | "ERROR"; - -export type Logger_LogLevel = Logger_LogLevelEnum | Logger_LogLevelString; - -/// Imported Objects END /// - -/// Imported Modules START /// - -/* URI: "ens/logger.core.polywrap.eth" */ -interface Logger_Module_Input_log extends Record { - level: Types.Logger_LogLevel; - message: Types.String; -} - -/* URI: "ens/logger.core.polywrap.eth" */ -export const Logger_Module = { - log: async ( - input: Logger_Module_Input_log, - client: Client - ): Promise> => { - return client.invoke({ - uri: "ens/logger.core.polywrap.eth", - method: "log", - input, - }); - }, -}; - -/// Imported Modules END /// diff --git a/packages/js/plugins/sha3/package.json b/packages/js/plugins/sha3/package.json index a2a7799f7d..24a8cb3016 100644 --- a/packages/js/plugins/sha3/package.json +++ b/packages/js/plugins/sha3/package.json @@ -12,9 +12,8 @@ "build" ], "scripts": { - "build": "rimraf ./build && tsc --project tsconfig.build.json", + "build": "rimraf ./build && yarn codegen && tsc --project tsconfig.build.json", "codegen": "node ../../../../dependencies/node_modules/polywrap/bin/polywrap plugin codegen", - "codegen:patch": "node ../../../cli/bin/polywrap plugin codegen && rimraf ./src/wrap", "lint": "eslint --color -c ../../../../.eslintrc.js src/", "test": "jest --passWithNoTests --runInBand --verbose", "test:ci": "jest --passWithNoTests --runInBand --verbose", diff --git a/packages/js/plugins/sha3/src/index.ts b/packages/js/plugins/sha3/src/index.ts index 7e7aac31c5..8ca7f21f04 100644 --- a/packages/js/plugins/sha3/src/index.ts +++ b/packages/js/plugins/sha3/src/index.ts @@ -17,7 +17,7 @@ import { Input_shake_128, Input_shake_256, manifest, -} from "./wrap-man"; +} from "./wrap"; import { sha3_512, diff --git a/packages/js/plugins/sha3/src/wrap-man/index.ts b/packages/js/plugins/sha3/src/wrap-man/index.ts deleted file mode 100644 index f367d143d9..0000000000 --- a/packages/js/plugins/sha3/src/wrap-man/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export * from "./schema"; -export * from "./manifest"; -export * from "./module"; -export * from "./types"; - -export { Client } from "@polywrap/core-js"; diff --git a/packages/js/plugins/sha3/src/wrap-man/manifest.ts b/packages/js/plugins/sha3/src/wrap-man/manifest.ts deleted file mode 100644 index bdf0be5286..0000000000 --- a/packages/js/plugins/sha3/src/wrap-man/manifest.ts +++ /dev/null @@ -1,13 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/no-unused-vars */ - -import { schema } from "./"; - -import { PluginPackageManifest } from "@polywrap/core-js"; - -export const manifest: PluginPackageManifest = { - schema, - implements: [], -}; diff --git a/packages/js/plugins/sha3/src/wrap-man/module.ts b/packages/js/plugins/sha3/src/wrap-man/module.ts deleted file mode 100644 index 0b7ded2bd9..0000000000 --- a/packages/js/plugins/sha3/src/wrap-man/module.ts +++ /dev/null @@ -1,122 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./types"; - -import { Client, PluginModule, MaybeAsync } from "@polywrap/core-js"; - -export interface Input_sha3_512 extends Record { - message: Types.String; -} - -export interface Input_sha3_384 extends Record { - message: Types.String; -} - -export interface Input_sha3_256 extends Record { - message: Types.String; -} - -export interface Input_sha3_224 extends Record { - message: Types.String; -} - -export interface Input_keccak_512 extends Record { - message: Types.String; -} - -export interface Input_keccak_384 extends Record { - message: Types.String; -} - -export interface Input_keccak_256 extends Record { - message: Types.String; -} - -export interface Input_keccak_224 extends Record { - message: Types.String; -} - -export interface Input_hex_keccak_256 extends Record { - message: Types.String; -} - -export interface Input_buffer_keccak_256 extends Record { - message: Types.Bytes; -} - -export interface Input_shake_128 extends Record { - message: Types.String; - outputBits: Types.Int; -} - -export interface Input_shake_256 extends Record { - message: Types.String; - outputBits: Types.Int; -} - -export abstract class Module< - TConfig extends Record -> extends PluginModule { - abstract sha3_512( - input: Input_sha3_512, - client: Client - ): MaybeAsync; - - abstract sha3_384( - input: Input_sha3_384, - client: Client - ): MaybeAsync; - - abstract sha3_256( - input: Input_sha3_256, - client: Client - ): MaybeAsync; - - abstract sha3_224( - input: Input_sha3_224, - client: Client - ): MaybeAsync; - - abstract keccak_512( - input: Input_keccak_512, - client: Client - ): MaybeAsync; - - abstract keccak_384( - input: Input_keccak_384, - client: Client - ): MaybeAsync; - - abstract keccak_256( - input: Input_keccak_256, - client: Client - ): MaybeAsync; - - abstract keccak_224( - input: Input_keccak_224, - client: Client - ): MaybeAsync; - - abstract hex_keccak_256( - input: Input_hex_keccak_256, - client: Client - ): MaybeAsync; - - abstract buffer_keccak_256( - input: Input_buffer_keccak_256, - client: Client - ): MaybeAsync; - - abstract shake_128( - input: Input_shake_128, - client: Client - ): MaybeAsync; - - abstract shake_256( - input: Input_shake_256, - client: Client - ): MaybeAsync; -} diff --git a/packages/js/plugins/sha3/src/wrap-man/schema.ts b/packages/js/plugins/sha3/src/wrap-man/schema.ts deleted file mode 100644 index 7bed343046..0000000000 --- a/packages/js/plugins/sha3/src/wrap-man/schema.ts +++ /dev/null @@ -1,100 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export const schema = `### Polywrap Header START ### -scalar UInt -scalar UInt8 -scalar UInt16 -scalar UInt32 -scalar Int -scalar Int8 -scalar Int16 -scalar Int32 -scalar Bytes -scalar BigInt -scalar BigNumber -scalar JSON -scalar Map - -directive @imported( - uri: String! - namespace: String! - nativeType: String! -) on OBJECT | ENUM - -directive @imports( - types: [String!]! -) on OBJECT - -directive @capability( - type: String! - uri: String! - namespace: String! -) repeatable on OBJECT - -directive @enabled_interface on OBJECT - -directive @annotate(type: String!) on FIELD - -### Polywrap Header END ### - -type Module { - sha3_512( - message: String! - ): String! - - sha3_384( - message: String! - ): String! - - sha3_256( - message: String! - ): String! - - sha3_224( - message: String! - ): String! - - keccak_512( - message: String! - ): String! - - keccak_384( - message: String! - ): String! - - keccak_256( - message: String! - ): String! - - keccak_224( - message: String! - ): String! - - hex_keccak_256( - message: String! - ): String! - - buffer_keccak_256( - message: Bytes! - ): String! - - shake_128( - message: String! - outputBits: Int! - ): String! - - shake_256( - message: String! - outputBits: Int! - ): String! -} - -### Imported Modules START ### - -### Imported Modules END ### - -### Imported Objects START ### - -### Imported Objects END ### -`; diff --git a/packages/js/plugins/sha3/src/wrap-man/types.ts b/packages/js/plugins/sha3/src/wrap-man/types.ts deleted file mode 100644 index 4888424e2e..0000000000 --- a/packages/js/plugins/sha3/src/wrap-man/types.ts +++ /dev/null @@ -1,34 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export type UInt = number; -export type UInt8 = number; -export type UInt16 = number; -export type UInt32 = number; -export type Int = number; -export type Int8 = number; -export type Int16 = number; -export type Int32 = number; -export type Bytes = ArrayBuffer; -export type BigInt = string; -export type BigNumber = string; -export type Json = string; -export type String = string; -export type Boolean = boolean; - -/// Envs START /// -/// Envs END /// - -/// Objects START /// -/// Objects END /// - -/// Enums START /// -/// Enums END /// - -/// Imported Objects START /// - -/// Imported Objects END /// - -/// Imported Modules START /// - -/// Imported Modules END /// diff --git a/packages/js/plugins/uts46/package.json b/packages/js/plugins/uts46/package.json index cc75a3ae33..aa8f0768ba 100644 --- a/packages/js/plugins/uts46/package.json +++ b/packages/js/plugins/uts46/package.json @@ -12,9 +12,8 @@ "build" ], "scripts": { - "build": "rimraf ./build && tsc --project tsconfig.build.json", + "build": "rimraf ./build && yarn codegen && tsc --project tsconfig.build.json", "codegen": "node ../../../../dependencies/node_modules/polywrap/bin/polywrap plugin codegen", - "codegen:patch": "node ../../../cli/bin/polywrap plugin codegen && rimraf ./src/wrap", "lint": "eslint --color -c ../../../../.eslintrc.js src/", "test": "jest --passWithNoTests --runInBand --verbose", "test:ci": "jest --passWithNoTests --runInBand --verbose", diff --git a/packages/js/plugins/uts46/src/index.ts b/packages/js/plugins/uts46/src/index.ts index 7c096b4aa7..5bcbd1ad34 100644 --- a/packages/js/plugins/uts46/src/index.ts +++ b/packages/js/plugins/uts46/src/index.ts @@ -6,7 +6,7 @@ import { Input_convert, ConvertResult, manifest, -} from "./wrap-man"; +} from "./wrap"; import { PluginFactory } from "@polywrap/core-js"; diff --git a/packages/js/plugins/uts46/src/wrap-man/index.ts b/packages/js/plugins/uts46/src/wrap-man/index.ts deleted file mode 100644 index f367d143d9..0000000000 --- a/packages/js/plugins/uts46/src/wrap-man/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export * from "./schema"; -export * from "./manifest"; -export * from "./module"; -export * from "./types"; - -export { Client } from "@polywrap/core-js"; diff --git a/packages/js/plugins/uts46/src/wrap-man/manifest.ts b/packages/js/plugins/uts46/src/wrap-man/manifest.ts deleted file mode 100644 index bdf0be5286..0000000000 --- a/packages/js/plugins/uts46/src/wrap-man/manifest.ts +++ /dev/null @@ -1,13 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/no-unused-vars */ - -import { schema } from "./"; - -import { PluginPackageManifest } from "@polywrap/core-js"; - -export const manifest: PluginPackageManifest = { - schema, - implements: [], -}; diff --git a/packages/js/plugins/uts46/src/wrap-man/module.ts b/packages/js/plugins/uts46/src/wrap-man/module.ts deleted file mode 100644 index 2b34f4b0e9..0000000000 --- a/packages/js/plugins/uts46/src/wrap-man/module.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./types"; - -import { Client, PluginModule, MaybeAsync } from "@polywrap/core-js"; - -export interface Input_toAscii extends Record { - value: Types.String; -} - -export interface Input_toUnicode extends Record { - value: Types.String; -} - -export interface Input_convert extends Record { - value: Types.String; -} - -export abstract class Module< - TConfig extends Record -> extends PluginModule { - abstract toAscii( - input: Input_toAscii, - client: Client - ): MaybeAsync; - - abstract toUnicode( - input: Input_toUnicode, - client: Client - ): MaybeAsync; - - abstract convert( - input: Input_convert, - client: Client - ): MaybeAsync; -} diff --git a/packages/js/plugins/uts46/src/wrap-man/schema.ts b/packages/js/plugins/uts46/src/wrap-man/schema.ts deleted file mode 100644 index 268e68e8a3..0000000000 --- a/packages/js/plugins/uts46/src/wrap-man/schema.ts +++ /dev/null @@ -1,67 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -export const schema = `### Polywrap Header START ### -scalar UInt -scalar UInt8 -scalar UInt16 -scalar UInt32 -scalar Int -scalar Int8 -scalar Int16 -scalar Int32 -scalar Bytes -scalar BigInt -scalar BigNumber -scalar JSON -scalar Map - -directive @imported( - uri: String! - namespace: String! - nativeType: String! -) on OBJECT | ENUM - -directive @imports( - types: [String!]! -) on OBJECT - -directive @capability( - type: String! - uri: String! - namespace: String! -) repeatable on OBJECT - -directive @enabled_interface on OBJECT - -directive @annotate(type: String!) on FIELD - -### Polywrap Header END ### - -type Module { - toAscii( - value: String! - ): String! - - toUnicode( - value: String! - ): String! - - convert( - value: String! - ): ConvertResult! -} - -type ConvertResult { - IDN: String! - PC: String! -} - -### Imported Modules START ### - -### Imported Modules END ### - -### Imported Objects START ### - -### Imported Objects END ### -`; diff --git a/packages/js/plugins/uts46/src/wrap-man/types.ts b/packages/js/plugins/uts46/src/wrap-man/types.ts deleted file mode 100644 index d27c658cf2..0000000000 --- a/packages/js/plugins/uts46/src/wrap-man/types.ts +++ /dev/null @@ -1,43 +0,0 @@ -/// NOTE: This is an auto-generated file. -/// All modifications will be overwritten. - -/* eslint-disable @typescript-eslint/naming-convention */ - -import * as Types from "./"; - -export type UInt = number; -export type UInt8 = number; -export type UInt16 = number; -export type UInt32 = number; -export type Int = number; -export type Int8 = number; -export type Int16 = number; -export type Int32 = number; -export type Bytes = ArrayBuffer; -export type BigInt = string; -export type BigNumber = string; -export type Json = string; -export type String = string; -export type Boolean = boolean; - -/// Envs START /// -/// Envs END /// - -/// Objects START /// -export interface ConvertResult { - IDN: Types.String; - PC: Types.String; -} - -/// Objects END /// - -/// Enums START /// -/// Enums END /// - -/// Imported Objects START /// - -/// Imported Objects END /// - -/// Imported Modules START /// - -/// Imported Modules END /// diff --git a/yarn.lock b/yarn.lock index 57019aadd2..c484e305bf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1384,9 +1384,9 @@ strip-json-comments "^3.1.1" "@ethersproject/abi@^5.0.0", "@ethersproject/abi@^5.6.3": - version "5.6.3" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.6.3.tgz#2d643544abadf6e6b63150508af43475985c23db" - integrity sha512-CxKTdoZY4zDJLWXG6HzNH6znWK0M79WzzxHegDoecE3+K32pzfHOzuXg2/oGSTecZynFgpkjYXNPOqXVJlqClw== + version "5.6.4" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.6.4.tgz#f6e01b6ed391a505932698ecc0d9e7a99ee60362" + integrity sha512-TTeZUlCeIHG6527/2goZA6gW5F8Emoc7MrZDC7hhP84aRGvW3TEdTnZR08Ls88YXM1m2SuK42Osw/jSi3uO8gg== dependencies: "@ethersproject/address" "^5.6.1" "@ethersproject/bignumber" "^5.6.2" @@ -1571,9 +1571,9 @@ integrity sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg== "@ethersproject/networks@^5.0.0", "@ethersproject/networks@^5.0.3", "@ethersproject/networks@^5.6.3": - version "5.6.3" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.6.3.tgz#3ee3ab08f315b433b50c99702eb32e0cf31f899f" - integrity sha512-QZxRH7cA5Ut9TbXwZFiCyuPchdWi87ZtVNHWZd0R6YFgYtes2jQ3+bsslJ0WdyDe0i6QumqtoYqvY3rrQFRZOQ== + version "5.6.4" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.6.4.tgz#51296d8fec59e9627554f5a8a9c7791248c8dc07" + integrity sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ== dependencies: "@ethersproject/logger" "^5.6.0" @@ -3472,14 +3472,14 @@ integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== "@tsconfig/node12@^1.0.7": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.10.tgz#10fecee4a3be17357ce99b370bd81874044d8dbd" - integrity sha512-N+srakvPaYMGkwjNDx3ASx65Zl3QG8dJgVtIB+YMOkucU+zctlv/hdP5250VKdDHSDoW9PFZoCqbqNcAPjCjXA== + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== "@tsconfig/node14@^1.0.0": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.2.tgz#b09c08de2eb319ca2acab17a1b8028af110b24b3" - integrity sha512-YwrUA5ysDXHFYfL0Xed9x3sNS4P+aKlCOnnbqUa2E5HdQshHFleCJVrj1PlGTb4GgFUCDyte1v3JWLy2sz8Oqg== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== "@tsconfig/node16@^1.0.2": version "1.0.3" @@ -3670,9 +3670,9 @@ integrity sha512-wH6Tu9mbiOt0n5EvdoWy0VGQaJMHfLIxY/6wS0xLC7CV1taM6gESEzcYy0ZlWvxxiiljYvfDIvz4hHbUUDRlhw== "@types/node@*": - version "17.0.44" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.44.tgz#16dd0bb5338f016d8ca10631789f0d0612fe5d5b" - integrity sha512-gWYiOlu6Y4oyLYBvsJAPlwHbC8H4tX+tLsHy6Ee976wedwwZKrG2hFl3Y/HiH6bIyLTbDWQexQF/ohwKkOpUCg== + version "18.0.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a" + integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA== "@types/node@12.12.26": version "12.12.26" @@ -5640,9 +5640,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001349: - version "1.0.30001354" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001354.tgz#95c5efdb64148bb4870771749b9a619304755ce5" - integrity sha512-mImKeCkyGDAHNywYFA4bqnLAzTUvVkqPvhY4DV47X+Gl2c5Z8c3KNETnXp14GQt11LvxE8AwjzGxJ+rsikiOzg== + version "1.0.30001356" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001356.tgz#cbf5fe7b33f90962bfbca532212ea478d4ec9de8" + integrity sha512-/30854bktMLhxtjieIxsrJBfs2gTM1pel6MXKF3K+RdIVJZcsn2A2QdhsuR4/p9+R204fZw0zCBBhktX8xWuyQ== capture-exit@^2.0.0: version "2.0.0" @@ -7320,9 +7320,9 @@ electron-fetch@^1.7.2: encoding "^0.1.13" electron-to-chromium@^1.3.378, electron-to-chromium@^1.4.147: - version "1.4.157" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.157.tgz#25799684ed6f2be52bee2b716f9de257b24f3ba7" - integrity sha512-gteFnXPKsDAdm1U5vVuyrLnKOaR/x/SY+HjUQoHypLUYWJt4RaWU3PaiTBEkRDJh8/Zd8KC/EFjV+uPaHsjKFA== + version "1.4.161" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.161.tgz#49cb5b35385bfee6cc439d0a04fbba7a7a7f08a1" + integrity sha512-sTjBRhqh6wFodzZtc5Iu8/R95OkwaPNn7tj/TaDU5nu/5EFiQDtADGAXdR4tJcTEHlYfJpHqigzJqHvPgehP8A== elliptic@6.5.4, elliptic@^6.5.3: version "6.5.4" @@ -9952,7 +9952,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.5.0, is-core-module@^2.8.1: +is-core-module@^2.5.0, is-core-module@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== @@ -14757,9 +14757,9 @@ prettier@2.2.1: integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== prettier@^2.2.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.0.tgz#a4fdae07e5596c51c9857ea676cd41a0163879d6" - integrity sha512-nwoX4GMFgxoPC6diHvSwmK/4yU8FFH3V8XWtLQrbj4IBsK2pkYhG4kf/ljF/haaZ/aii+wNJqISrCDPgxGWDVQ== + version "2.7.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" + integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== pretty-bytes@^5.1.0: version "5.6.0" @@ -15774,11 +15774,11 @@ resolve@1.15.0: path-parse "^1.0.6" resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== dependencies: - is-core-module "^2.8.1" + is-core-module "^2.9.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -17494,14 +17494,14 @@ typescript@4.0.7: integrity sha512-yi7M4y74SWvYbnazbn8/bmJmX4Zlej39ZOqwG/8dut/MYoSQ119GY9ZFbbGsD4PFZYWxqik/XsP3vk3+W5H3og== typescript@^4.0: - version "4.7.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.3.tgz#8364b502d5257b540f9de4c40be84c98e23a129d" - integrity sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA== + version "4.7.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" + integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== uglify-js@^3.1.4: - version "3.16.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.0.tgz#b778ba0831ca102c1d8ecbdec2d2bdfcc7353190" - integrity sha512-FEikl6bR30n0T3amyBh3LoiBdqHRy/f4H80+My34HOesOKyHfOsxAPAxOoqC0JUnC1amnO0IwkYC3sko51caSw== + version "3.16.1" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.16.1.tgz#0e7ec928b3d0b1e1d952bce634c384fd56377317" + integrity sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ== uid-number@0.0.6: version "0.0.6" From 51098a387a665970c0befc8af252532643c224af Mon Sep 17 00:00:00 2001 From: cbrzn Date: Mon, 20 Jun 2022 11:26:59 +0200 Subject: [PATCH 17/29] fix: plugin tests --- .../js/plugins/ethereum/src/__tests__/e2e.spec.ts | 2 +- .../js/plugins/http/src/__tests__/e2e/e2e.spec.ts | 2 +- .../http/src/__tests__/e2e/integration.spec.ts | 2 +- .../js/plugins/http/src/__tests__/unit/index.test.ts | 2 +- .../js/plugins/http/src/__tests__/unit/util.test.ts | 2 +- yarn.lock | 12 ++++++------ 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/js/plugins/ethereum/src/__tests__/e2e.spec.ts b/packages/js/plugins/ethereum/src/__tests__/e2e.spec.ts index def46094b5..174c7adb95 100644 --- a/packages/js/plugins/ethereum/src/__tests__/e2e.spec.ts +++ b/packages/js/plugins/ethereum/src/__tests__/e2e.spec.ts @@ -1,5 +1,5 @@ import { ethereumPlugin } from ".."; -import * as Schema from "../wrap-man"; +import * as Schema from "../wrap"; import { PolywrapClient, defaultIpfsProviders } from "@polywrap/client-js"; import { ensPlugin } from "@polywrap/ens-plugin-js"; diff --git a/packages/js/plugins/http/src/__tests__/e2e/e2e.spec.ts b/packages/js/plugins/http/src/__tests__/e2e/e2e.spec.ts index 45ff5f6a45..13b0a0cdc6 100644 --- a/packages/js/plugins/http/src/__tests__/e2e/e2e.spec.ts +++ b/packages/js/plugins/http/src/__tests__/e2e/e2e.spec.ts @@ -1,5 +1,5 @@ import { httpPlugin } from "../.."; -import { Response } from "../../wrap-man"; +import { Response } from "../../wrap"; import { PolywrapClient } from "@polywrap/client-js" import nock from "nock"; diff --git a/packages/js/plugins/http/src/__tests__/e2e/integration.spec.ts b/packages/js/plugins/http/src/__tests__/e2e/integration.spec.ts index ef2329c01b..a611f67a21 100644 --- a/packages/js/plugins/http/src/__tests__/e2e/integration.spec.ts +++ b/packages/js/plugins/http/src/__tests__/e2e/integration.spec.ts @@ -1,5 +1,5 @@ import { httpPlugin } from "../.."; -import { Response } from "../../wrap-man"; +import { Response } from "../../wrap"; import { PolywrapClient } from "@polywrap/client-js" import { diff --git a/packages/js/plugins/http/src/__tests__/unit/index.test.ts b/packages/js/plugins/http/src/__tests__/unit/index.test.ts index 92408db302..1bdbcbe243 100644 --- a/packages/js/plugins/http/src/__tests__/unit/index.test.ts +++ b/packages/js/plugins/http/src/__tests__/unit/index.test.ts @@ -1,5 +1,5 @@ import { HttpPlugin } from "../.."; -import { ResponseTypeEnum, Client } from "../../wrap-man"; +import { ResponseTypeEnum, Client } from "../../wrap"; import axios, { AxiosResponse, AxiosRequestConfig } from "axios"; diff --git a/packages/js/plugins/http/src/__tests__/unit/util.test.ts b/packages/js/plugins/http/src/__tests__/unit/util.test.ts index 010aaa3440..5e32775cb8 100644 --- a/packages/js/plugins/http/src/__tests__/unit/util.test.ts +++ b/packages/js/plugins/http/src/__tests__/unit/util.test.ts @@ -1,5 +1,5 @@ import { fromAxiosResponse, toAxiosRequestConfig } from "../../util"; -import { ResponseTypeEnum } from "../../wrap-man"; +import { ResponseTypeEnum } from "../../wrap"; describe("converting axios response", () => { test("response type: text", () => { diff --git a/yarn.lock b/yarn.lock index c484e305bf..8da8eb0bc5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5640,9 +5640,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001349: - version "1.0.30001356" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001356.tgz#cbf5fe7b33f90962bfbca532212ea478d4ec9de8" - integrity sha512-/30854bktMLhxtjieIxsrJBfs2gTM1pel6MXKF3K+RdIVJZcsn2A2QdhsuR4/p9+R204fZw0zCBBhktX8xWuyQ== + version "1.0.30001357" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001357.tgz#dec7fc4158ef6ad24690d0eec7b91f32b8cb1b5d" + integrity sha512-b+KbWHdHePp+ZpNj+RDHFChZmuN+J5EvuQUlee9jOQIUAdhv9uvAZeEtUeLAknXbkiu1uxjQ9NLp1ie894CuWg== capture-exit@^2.0.0: version "2.0.0" @@ -12547,9 +12547,9 @@ minipass@^2.6.0, minipass@^2.9.0: yallist "^3.0.0" minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" - integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== + version "3.3.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.3.tgz#fd1f0e6c06449c10dadda72618b59c00f3d6378d" + integrity sha512-N0BOsdFAlNRfmwMhjAsLVWOk7Ljmeb39iqFlsV1At+jqRhSUP9yeof8FyJu4imaJiSUp8vQebWD/guZwGQC8iA== dependencies: yallist "^4.0.0" From 315a6b1876088b4f7155f58d269190bbe3aa2c88 Mon Sep 17 00:00:00 2001 From: cbrzn Date: Mon, 20 Jun 2022 14:02:50 +0200 Subject: [PATCH 18/29] fix: add "Types." to Json in ts binding --- packages/schema/bind/src/bindings/typescript/functions.ts | 2 +- packages/test-cases/cases/bind/sanity/output/app-ts/types.ts | 4 ++-- .../test-cases/cases/bind/sanity/output/plugin-ts/types.ts | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/schema/bind/src/bindings/typescript/functions.ts b/packages/schema/bind/src/bindings/typescript/functions.ts index 202ca6a648..bc80d02255 100644 --- a/packages/schema/bind/src/bindings/typescript/functions.ts +++ b/packages/schema/bind/src/bindings/typescript/functions.ts @@ -66,7 +66,7 @@ const _toTypescript = ( switch (type) { case "JSON": - type = "Json"; + type = "Types.Json"; break; default: if (type.includes("Enum_")) { diff --git a/packages/test-cases/cases/bind/sanity/output/app-ts/types.ts b/packages/test-cases/cases/bind/sanity/output/app-ts/types.ts index 3bd22c19dc..b325904177 100644 --- a/packages/test-cases/cases/bind/sanity/output/app-ts/types.ts +++ b/packages/test-cases/cases/bind/sanity/output/app-ts/types.ts @@ -38,8 +38,8 @@ export interface CustomType { optBigint?: Types.BigInt | null; bignumber: Types.BigNumber; optBignumber?: Types.BigNumber | null; - json: Json; - optJson?: Json | null; + json: Types.Json; + optJson?: Types.Json | null; bytes: Types.Bytes; optBytes?: Types.Bytes | null; boolean: Types.Boolean; diff --git a/packages/test-cases/cases/bind/sanity/output/plugin-ts/types.ts b/packages/test-cases/cases/bind/sanity/output/plugin-ts/types.ts index f63231ef88..004fd2aaa9 100644 --- a/packages/test-cases/cases/bind/sanity/output/plugin-ts/types.ts +++ b/packages/test-cases/cases/bind/sanity/output/plugin-ts/types.ts @@ -50,8 +50,8 @@ export interface CustomType { optBigint?: Types.BigInt | null; bignumber: Types.BigNumber; optBignumber?: Types.BigNumber | null; - json: Json; - optJson?: Json | null; + json: Types.Json; + optJson?: Types.Json | null; bytes: Types.Bytes; optBytes?: Types.Bytes | null; boolean: Types.Boolean; From 35646d9ac955280b856e1e3a68970532ae4a0e10 Mon Sep 17 00:00:00 2001 From: Jure Bogunovic Date: Mon, 20 Jun 2022 15:29:39 +0200 Subject: [PATCH 19/29] fixed typo --- packages/js/validation/src/types/WrapperValidator.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/js/validation/src/types/WrapperValidator.ts b/packages/js/validation/src/types/WrapperValidator.ts index 89a1916f5a..35a7135ab8 100644 --- a/packages/js/validation/src/types/WrapperValidator.ts +++ b/packages/js/validation/src/types/WrapperValidator.ts @@ -232,7 +232,7 @@ export class WrapperValidator { const manifestPath = web3ApiManifest.meta; if (manifestPath) { - // Manifests get built as a `.json` file so we need to change the extension + // Manifests get built as `.json` files so we need to change the extension const fileName = path.parse(manifestPath).name; const fullManifestName = `${fileName}.json`; From f041bbf4e0e2193d0b319e964edba8cc2cdf54f1 Mon Sep 17 00:00:00 2001 From: Jure Bogunovic Date: Mon, 20 Jun 2022 15:32:24 +0200 Subject: [PATCH 20/29] upped toolchain version --- packages/js/validation/package.json | 6 ++--- yarn.lock | 40 ++++++++++++++--------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/packages/js/validation/package.json b/packages/js/validation/package.json index fe2d301c38..729f5d4063 100644 --- a/packages/js/validation/package.json +++ b/packages/js/validation/package.json @@ -1,6 +1,6 @@ { "name": "@polywrap/core-validation", - "version": "0.0.1-prealpha.85", + "version": "0.0.1-prealpha.86", "license": "MIT", "repository": { "type": "git", @@ -14,8 +14,8 @@ "test:watch": "jest --watch --passWithNoTests --verbose" }, "dependencies": { - "@polywrap/core-js": "0.0.1-prealpha.85", - "@polywrap/schema-parse": "0.0.1-prealpha.85" + "@polywrap/core-js": "0.0.1-prealpha.86", + "@polywrap/schema-parse": "0.0.1-prealpha.86" }, "devDependencies": { "@types/jest": "26.0.8", diff --git a/yarn.lock b/yarn.lock index 373ee7f1c7..c484e305bf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1384,9 +1384,9 @@ strip-json-comments "^3.1.1" "@ethersproject/abi@^5.0.0", "@ethersproject/abi@^5.6.3": - version "5.6.3" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.6.3.tgz#2d643544abadf6e6b63150508af43475985c23db" - integrity sha512-CxKTdoZY4zDJLWXG6HzNH6znWK0M79WzzxHegDoecE3+K32pzfHOzuXg2/oGSTecZynFgpkjYXNPOqXVJlqClw== + version "5.6.4" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.6.4.tgz#f6e01b6ed391a505932698ecc0d9e7a99ee60362" + integrity sha512-TTeZUlCeIHG6527/2goZA6gW5F8Emoc7MrZDC7hhP84aRGvW3TEdTnZR08Ls88YXM1m2SuK42Osw/jSi3uO8gg== dependencies: "@ethersproject/address" "^5.6.1" "@ethersproject/bignumber" "^5.6.2" @@ -1571,9 +1571,9 @@ integrity sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg== "@ethersproject/networks@^5.0.0", "@ethersproject/networks@^5.0.3", "@ethersproject/networks@^5.6.3": - version "5.6.3" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.6.3.tgz#3ee3ab08f315b433b50c99702eb32e0cf31f899f" - integrity sha512-QZxRH7cA5Ut9TbXwZFiCyuPchdWi87ZtVNHWZd0R6YFgYtes2jQ3+bsslJ0WdyDe0i6QumqtoYqvY3rrQFRZOQ== + version "5.6.4" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.6.4.tgz#51296d8fec59e9627554f5a8a9c7791248c8dc07" + integrity sha512-KShHeHPahHI2UlWdtDMn2lJETcbtaJge4k7XSjDR9h79QTd6yQJmv6Cp2ZA4JdqWnhszAOLSuJEd9C0PRw7hSQ== dependencies: "@ethersproject/logger" "^5.6.0" @@ -5640,9 +5640,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001349: - version "1.0.30001355" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001355.tgz#e240b7177443ed0198c737a7f609536976701c77" - integrity sha512-Sd6pjJHF27LzCB7pT7qs+kuX2ndurzCzkpJl6Qct7LPSZ9jn0bkOA8mdgMgmqnQAWLVOOGjLpc+66V57eLtb1g== + version "1.0.30001356" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001356.tgz#cbf5fe7b33f90962bfbca532212ea478d4ec9de8" + integrity sha512-/30854bktMLhxtjieIxsrJBfs2gTM1pel6MXKF3K+RdIVJZcsn2A2QdhsuR4/p9+R204fZw0zCBBhktX8xWuyQ== capture-exit@^2.0.0: version "2.0.0" @@ -7320,9 +7320,9 @@ electron-fetch@^1.7.2: encoding "^0.1.13" electron-to-chromium@^1.3.378, electron-to-chromium@^1.4.147: - version "1.4.160" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.160.tgz#da54e24fddeaca52f37965c7bec1bd964c97d487" - integrity sha512-O1Z12YfyeX2LXYO7MdHIPazGXzLzQnr1ADW55U2ARQsJBPgfpJz3u+g3Mo2l1wSyfOCdiGqaX9qtV4XKZ0HNRA== + version "1.4.161" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.161.tgz#49cb5b35385bfee6cc439d0a04fbba7a7a7f08a1" + integrity sha512-sTjBRhqh6wFodzZtc5Iu8/R95OkwaPNn7tj/TaDU5nu/5EFiQDtADGAXdR4tJcTEHlYfJpHqigzJqHvPgehP8A== elliptic@6.5.4, elliptic@^6.5.3: version "6.5.4" @@ -9952,7 +9952,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.5.0, is-core-module@^2.8.1: +is-core-module@^2.5.0, is-core-module@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== @@ -15774,11 +15774,11 @@ resolve@1.15.0: path-parse "^1.0.6" resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== dependencies: - is-core-module "^2.8.1" + is-core-module "^2.9.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -17494,9 +17494,9 @@ typescript@4.0.7: integrity sha512-yi7M4y74SWvYbnazbn8/bmJmX4Zlej39ZOqwG/8dut/MYoSQ119GY9ZFbbGsD4PFZYWxqik/XsP3vk3+W5H3og== typescript@^4.0: - version "4.7.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.3.tgz#8364b502d5257b540f9de4c40be84c98e23a129d" - integrity sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA== + version "4.7.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" + integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== uglify-js@^3.1.4: version "3.16.1" From c4aaa7fc8632b73dce2bcee644f99cdcb957114d Mon Sep 17 00:00:00 2001 From: Jure Bogunovic Date: Mon, 20 Jun 2022 15:33:13 +0200 Subject: [PATCH 21/29] removed needless check --- packages/js/core/src/uri-resolution/core/resolveUri.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/js/core/src/uri-resolution/core/resolveUri.ts b/packages/js/core/src/uri-resolution/core/resolveUri.ts index a027150027..6eeed2f2b3 100644 --- a/packages/js/core/src/uri-resolution/core/resolveUri.ts +++ b/packages/js/core/src/uri-resolution/core/resolveUri.ts @@ -37,11 +37,9 @@ export const resolveUri = async ( uri: currentUri, wrapper, uriHistory: new UriResolutionHistory(uriResolutionStack), - error: infiniteLoopDetected - ? { - type: ResolveUriErrorType.InfiniteLoop, - } - : undefined, + error: { + type: ResolveUriErrorType.InfiniteLoop, + }, }; } From f09ade960f360e5a799673926bee20ee1891aafa Mon Sep 17 00:00:00 2001 From: cbrzn Date: Mon, 20 Jun 2022 18:53:57 +0200 Subject: [PATCH 22/29] fix: cli path in runCli function for npm --- packages/js/test-env/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/js/test-env/src/index.ts b/packages/js/test-env/src/index.ts index c1bc32d15d..ab6874e950 100644 --- a/packages/js/test-env/src/index.ts +++ b/packages/js/test-env/src/index.ts @@ -23,7 +23,7 @@ export const providers = { }; const monorepoCli = `${__dirname}/../../../cli/bin/polywrap`; -const npmCli = `${__dirname}/../../cli/bin/polywrap`; +const npmCli = `${__dirname}/../../polywrap/bin/polywrap`; async function awaitResponse( url: string, From 0712b45884793ade44717298590ee13ad5e162bd Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Tue, 21 Jun 2022 09:20:30 -0700 Subject: [PATCH 23/29] minor changes --- .../formats/polywrap.app/0.0.1-prealpha.1.ts | 6 +++--- .../formats/polywrap.app/0.0.1-prealpha.2.ts | 6 +++--- .../formats/polywrap.build/0.0.1-prealpha.3.ts | 4 ++-- .../polywrap.deploy/0.0.1-prealpha.1.ts | 6 +++--- .../formats/polywrap/0.0.1-prealpha.1.ts | 10 +++++----- .../formats/polywrap/0.0.1-prealpha.2.ts | 6 +++--- .../formats/polywrap/0.0.1-prealpha.3.ts | 6 +++--- .../formats/polywrap/0.0.1-prealpha.4.ts | 6 +++--- .../formats/polywrap/0.0.1-prealpha.5.ts | 6 +++--- .../formats/polywrap/0.0.1-prealpha.6.ts | 6 +++--- .../formats/polywrap/0.0.1-prealpha.7.ts | 6 +++--- .../formats/polywrap/0.0.1-prealpha.8.ts | 6 +++--- .../formats/polywrap/0.0.1-prealpha.9.ts | 12 ++++++------ .../src/manifest/formats/polywrap/validate.ts | 2 ++ .../formats/polywrap.app/0.0.1-prealpha.1.json | 6 +++--- .../formats/polywrap.app/0.0.1-prealpha.2.json | 6 +++--- .../polywrap.build/0.0.1-prealpha.3.json | 4 ++-- .../polywrap.deploy/0.0.1-prealpha.1.json | 6 +++--- .../formats/polywrap/0.0.1-prealpha.1.json | 10 +++++----- .../formats/polywrap/0.0.1-prealpha.2.json | 6 +++--- .../formats/polywrap/0.0.1-prealpha.3.json | 6 +++--- .../formats/polywrap/0.0.1-prealpha.4.json | 6 +++--- .../formats/polywrap/0.0.1-prealpha.5.json | 6 +++--- .../formats/polywrap/0.0.1-prealpha.6.json | 6 +++--- .../formats/polywrap/0.0.1-prealpha.7.json | 6 +++--- .../formats/polywrap/0.0.1-prealpha.8.json | 6 +++--- .../formats/polywrap/0.0.1-prealpha.9.json | 18 ++++++++++-------- 27 files changed, 92 insertions(+), 88 deletions(-) diff --git a/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.1.ts b/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.1.ts index 018770ab36..00c9a05ecf 100644 --- a/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.1.ts +++ b/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.1.ts @@ -20,15 +20,15 @@ export interface AppManifest { */ schema: string; /** - * Redirects enabling the import of plugins. + * Redirects for the schema's imports. */ import_redirects?: { /** - * URI resolving to the plugin schema. + * Import URI to be redirected. */ uri: string; /** - * Graphql schema for imported plugin. + * Path to a graphql schema to be used for the import. */ schema: string; }[]; diff --git a/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.2.ts b/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.2.ts index 2391daf3e5..38205e896d 100644 --- a/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.2.ts +++ b/packages/js/core/src/manifest/formats/polywrap.app/0.0.1-prealpha.2.ts @@ -24,15 +24,15 @@ export interface AppManifest { */ schema: string; /** - * Redirects enabling the import of plugins. + * Redirects for the schema's imports. */ import_redirects?: { /** - * URI resolving to the plugin schema. + * Import URI to be redirected. */ uri: string; /** - * Graphql schema for imported plugin. + * Path to a graphql schema to be used for the import. */ schema: string; }[]; diff --git a/packages/js/core/src/manifest/formats/polywrap.build/0.0.1-prealpha.3.ts b/packages/js/core/src/manifest/formats/polywrap.build/0.0.1-prealpha.3.ts index 2ae8fd450d..4f4655d5aa 100644 --- a/packages/js/core/src/manifest/formats/polywrap.build/0.0.1-prealpha.3.ts +++ b/packages/js/core/src/manifest/formats/polywrap.build/0.0.1-prealpha.3.ts @@ -38,7 +38,7 @@ export interface BuildManifest { */ output?: string | boolean; /** - * Remove a builder instance. + * Remove the builder instance. */ removeBuilder?: boolean; } @@ -49,7 +49,7 @@ export interface BuildManifest { removeImage?: boolean; }; /** - * Custom configuration. + * Custom build image configurations. */ config?: { [k: string]: unknown; diff --git a/packages/js/core/src/manifest/formats/polywrap.deploy/0.0.1-prealpha.1.ts b/packages/js/core/src/manifest/formats/polywrap.deploy/0.0.1-prealpha.1.ts index f8f51c7f2c..578e9e6cdd 100644 --- a/packages/js/core/src/manifest/formats/polywrap.deploy/0.0.1-prealpha.1.ts +++ b/packages/js/core/src/manifest/formats/polywrap.deploy/0.0.1-prealpha.1.ts @@ -20,7 +20,7 @@ export interface DeployManifest { */ [k: string]: { /** - * Name of the publisher plugin. + * Name of the deploy stage. */ package: string; /** @@ -30,11 +30,11 @@ export interface DeployManifest { [k: string]: unknown; }; /** - * Name of the required stage. + * Name of dependent stages. */ depends_on?: string; /** - * URI resolving to the publisher plugin. + * URI to pass into the deploy stage. */ uri?: string; }; diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.1.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.1.ts index 7273c34822..6c69bd0f34 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.1.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.1.ts @@ -24,7 +24,7 @@ export interface PolywrapManifest { */ mutation?: { /** - * Path to graphql schema. + * The module's graphql schema. */ schema: { /** @@ -51,7 +51,7 @@ export interface PolywrapManifest { */ query?: { /** - * Path to graphql schema. + * The module's graphql schema. */ schema: { /** @@ -74,15 +74,15 @@ export interface PolywrapManifest { }; }; /** - * Redirects enabling the import of plugins. + * Redirects for the schema's imports. */ import_redirects?: { /** - * URI resolving to the plugin schema. + * Import URI to be redirected. */ uri: string; /** - * Graphql schema for imported plugin. + * Path to a graphql schema to be used for the import. */ schema: string; }[]; diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.2.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.2.ts index addfc5f534..77c7eddeca 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.2.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.2.ts @@ -55,15 +55,15 @@ export interface PolywrapManifest { }; }; /** - * Redirects enabling the import of plugins. + * Redirects for the schema's imports. */ import_redirects?: { /** - * URI resolving to the plugin schema. + * Import URI to be redirected. */ uri: string; /** - * Graphql schema for imported plugin. + * Path to a graphql schema to be used for the import. */ schema: string; }[]; diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.3.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.3.ts index 7c6447a367..4cf1fa77d6 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.3.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.3.ts @@ -59,15 +59,15 @@ export interface PolywrapManifest { }; }; /** - * Redirects enabling the import of plugins. + * Redirects for the schema's imports. */ import_redirects?: { /** - * URI resolving to the plugin schema. + * Import URI to be redirected. */ uri: string; /** - * Graphql schema for imported plugin. + * Path to a graphql schema to be used for the import. */ schema: string; }[]; diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.4.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.4.ts index 7a67a48ede..35ba2886b1 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.4.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.4.ts @@ -55,15 +55,15 @@ export interface PolywrapManifest { }; }; /** - * Redirects enabling the import of plugins. + * Redirects for the schema's imports. */ import_redirects?: { /** - * URI resolving to the plugin schema. + * Import URI to be redirected. */ uri: string; /** - * Graphql schema for imported plugin. + * Path to a graphql schema to be used for the import. */ schema: string; }[]; diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.5.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.5.ts index a96c615aca..79f19e70f6 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.5.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.5.ts @@ -55,15 +55,15 @@ export interface PolywrapManifest { }; }; /** - * Redirects enabling the import of plugins. + * Redirects for the schema's imports. */ import_redirects?: { /** - * URI resolving to the plugin schema. + * Import URI to be redirected. */ uri: string; /** - * Graphql schema for imported plugin. + * Path to a graphql schema to be used for the import. */ schema: string; }[]; diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.6.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.6.ts index ea9a60d72e..7c45df071e 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.6.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.6.ts @@ -55,15 +55,15 @@ export interface PolywrapManifest { }; }; /** - * Redirects enabling the import of plugins. + * Redirects for the schema's imports. */ import_redirects?: { /** - * URI resolving to the plugin schema. + * Import URI to be redirected. */ uri: string; /** - * Graphql schema for imported plugin. + * Path to a graphql schema to be used for the import. */ schema: string; }[]; diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.7.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.7.ts index f5c6046da4..d901c83e26 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.7.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.7.ts @@ -59,15 +59,15 @@ export interface PolywrapManifest { }; }; /** - * Redirects enabling the import of plugins. + * Redirects for the schema's imports. */ import_redirects?: { /** - * URI resolving to the plugin schema. + * Import URI to be redirected. */ uri: string; /** - * Graphql schema for imported plugin. + * Path to a graphql schema to be used for the import. */ schema: string; }[]; diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.8.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.8.ts index db6aa97c11..b29a6d0313 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.8.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.8.ts @@ -63,15 +63,15 @@ export interface PolywrapManifest { }; }; /** - * Redirects enabling the import of plugins. + * Redirects for the schema's imports. */ import_redirects?: { /** - * URI resolving to the plugin schema. + * Import URI to be redirected. */ uri: string; /** - * Graphql schema for imported plugin. + * Path to a graphql schema to be used for the import. */ schema: string; }[]; diff --git a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.9.ts b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.9.ts index fd70e78cf4..4dc52e2e12 100644 --- a/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.9.ts +++ b/packages/js/core/src/manifest/formats/polywrap/0.0.1-prealpha.9.ts @@ -16,7 +16,7 @@ export interface PolywrapManifest { */ name: string; /** - * Path to the customized build manifest file. + * Path to the wrapper build manifest file. */ build?: string; /** @@ -32,23 +32,23 @@ export interface PolywrapManifest { */ language: string; /** - * Path to Polywrap implementation. + * Path to the module's entry point. */ module?: string; /** - * Path to graphql schema. + * Path to the module's graphql schema. */ schema: string; /** - * Redirects enabling the import of plugins. + * Redirects for the schema's imports. */ import_redirects?: { /** - * URI resolving to the plugin schema. + * Import URI to be redirected. */ uri: string; /** - * Graphql schema for imported plugin. + * Path to a graphql schema to be used for the import. */ schema: string; }[]; diff --git a/packages/js/core/src/manifest/formats/polywrap/validate.ts b/packages/js/core/src/manifest/formats/polywrap/validate.ts index 4ab8fc752f..12b4619293 100644 --- a/packages/js/core/src/manifest/formats/polywrap/validate.ts +++ b/packages/js/core/src/manifest/formats/polywrap/validate.ts @@ -51,6 +51,8 @@ Validator.prototype.customFormats.yamlFile = Validators.yamlFile; Validator.prototype.customFormats.graphqlFile = Validators.graphqlFile; Validator.prototype.customFormats.manifestFile = Validators.manifestFile; Validator.prototype.customFormats.packageName = Validators.packageName; +Validator.prototype.customFormats.polywrapUri = Validators.polywrapUri; +Validator.prototype.customFormats.schemaFile = Validators.schemaFile; export const validatePolywrapManifest = Tracer.traceFunc( "core: validatePolywrapManifest", diff --git a/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.1.json index 55fef32aea..7116d530f9 100644 --- a/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.1.json @@ -24,19 +24,19 @@ "format": "file" }, "import_redirects": { - "description": "Redirects enabling the import of plugins.", + "description": "Redirects for the schema's imports.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema.", + "description": "Import URI to be redirected.", "type": "string", "format": "polywrapUri" }, "schema": { - "description": "Graphql schema for imported plugin.", + "description": "Path to a graphql schema to be used for the import.", "type": "string", "format": "schemaFile" } diff --git a/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.2.json b/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.2.json index c090bc2b2c..78cad5deba 100644 --- a/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.2.json +++ b/packages/manifest-schemas/formats/polywrap.app/0.0.1-prealpha.2.json @@ -30,19 +30,19 @@ "format": "file" }, "import_redirects": { - "description": "Redirects enabling the import of plugins.", + "description": "Redirects for the schema's imports.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema.", + "description": "Import URI to be redirected.", "type": "string", "format": "polywrapUri" }, "schema": { - "description": "Graphql schema for imported plugin.", + "description": "Path to a graphql schema to be used for the import.", "type": "string", "format": "schemaFile" } diff --git a/packages/manifest-schemas/formats/polywrap.build/0.0.1-prealpha.3.json b/packages/manifest-schemas/formats/polywrap.build/0.0.1-prealpha.3.json index 0fe0a3100e..5b7b5bda19 100644 --- a/packages/manifest-schemas/formats/polywrap.build/0.0.1-prealpha.3.json +++ b/packages/manifest-schemas/formats/polywrap.build/0.0.1-prealpha.3.json @@ -44,7 +44,7 @@ "format": "buildxOutput" }, "removeBuilder": { - "description": "Remove a builder instance.", + "description": "Remove the builder instance.", "type": "boolean" } } @@ -56,7 +56,7 @@ } }, "config": { - "description": "Custom configuration.", + "description": "Custom build image configurations.", "type": "object" }, "linked_packages": { diff --git a/packages/manifest-schemas/formats/polywrap.deploy/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/polywrap.deploy/0.0.1-prealpha.1.json index 19272b39ad..ebef33fc11 100644 --- a/packages/manifest-schemas/formats/polywrap.deploy/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/polywrap.deploy/0.0.1-prealpha.1.json @@ -21,7 +21,7 @@ "required": ["package"], "properties": { "package": { - "description": "Name of the publisher plugin.", + "description": "Name of the deploy stage.", "type": "string" }, "config": { @@ -29,11 +29,11 @@ "type": "object" }, "depends_on": { - "description": "Name of the required stage.", + "description": "Name of dependent stages.", "type": "string" }, "uri": { - "description": "URI resolving to the publisher plugin.", + "description": "URI to pass into the deploy stage.", "type": "string", "format": "polywrapUri" } diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.1.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.1.json index 1e0d5a2b71..7282beb4d6 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.1.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.1.json @@ -25,7 +25,7 @@ "additionalProperties": false, "properties": { "schema": { - "description": "Path to graphql schema.", + "description": "The module's graphql schema.", "type": "object", "additionalProperties": false, "properties": { @@ -71,7 +71,7 @@ "additionalProperties": false, "properties": { "schema": { - "description": "Path to graphql schema.", + "description": "The module's graphql schema.", "type": "object", "additionalProperties": false, "properties": { @@ -112,18 +112,18 @@ ] }, "import_redirects": { - "description": "Redirects enabling the import of plugins.", + "description": "Redirects for the schema's imports.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema.", + "description": "Import URI to be redirected.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin.", + "description": "Path to a graphql schema to be used for the import.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.2.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.2.json index 9773fb3be8..6e696fd383 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.2.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.2.json @@ -77,18 +77,18 @@ } }, "import_redirects": { - "description": "Redirects enabling the import of plugins.", + "description": "Redirects for the schema's imports.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema.", + "description": "Import URI to be redirected.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin.", + "description": "Path to a graphql schema to be used for the import.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.3.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.3.json index 616e265547..43675e821f 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.3.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.3.json @@ -78,18 +78,18 @@ } }, "import_redirects": { - "description": "Redirects enabling the import of plugins.", + "description": "Redirects for the schema's imports.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema.", + "description": "Import URI to be redirected.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin.", + "description": "Path to a graphql schema to be used for the import.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.4.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.4.json index 934a69d828..6e9e6e35c4 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.4.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.4.json @@ -75,18 +75,18 @@ } }, "import_redirects": { - "description": "Redirects enabling the import of plugins.", + "description": "Redirects for the schema's imports.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema.", + "description": "Import URI to be redirected.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin.", + "description": "Path to a graphql schema to be used for the import.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.5.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.5.json index 2e3f2b9a97..623bf43829 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.5.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.5.json @@ -76,18 +76,18 @@ } }, "import_redirects": { - "description": "Redirects enabling the import of plugins.", + "description": "Redirects for the schema's imports.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema.", + "description": "Import URI to be redirected.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin.", + "description": "Path to a graphql schema to be used for the import.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.6.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.6.json index ef2f5db2a8..d15a84c8e4 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.6.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.6.json @@ -76,18 +76,18 @@ } }, "import_redirects": { - "description": "Redirects enabling the import of plugins.", + "description": "Redirects for the schema's imports.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema.", + "description": "Import URI to be redirected.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin.", + "description": "Path to a graphql schema to be used for the import.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.7.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.7.json index c065a40113..f507bfc5c9 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.7.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.7.json @@ -82,18 +82,18 @@ } }, "import_redirects": { - "description": "Redirects enabling the import of plugins.", + "description": "Redirects for the schema's imports.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema.", + "description": "Import URI to be redirected.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin.", + "description": "Path to a graphql schema to be used for the import.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.8.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.8.json index f1a11df4df..1c0feaa85c 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.8.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.8.json @@ -87,18 +87,18 @@ } }, "import_redirects": { - "description": "Redirects enabling the import of plugins.", + "description": "Redirects for the schema's imports.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema.", + "description": "Import URI to be redirected.", "type": "string" }, "schema": { - "description": "Graphql schema for imported plugin.", + "description": "Path to a graphql schema to be used for the import.", "type": "string" } }, diff --git a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.9.json b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.9.json index 5acfef62c8..03f4e5a3ef 100644 --- a/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.9.json +++ b/packages/manifest-schemas/formats/polywrap/0.0.1-prealpha.9.json @@ -20,7 +20,7 @@ "format": "packageName" }, "build": { - "description": "Path to the customized build manifest file.", + "description": "Path to the wrapper build manifest file.", "type": "string", "format": "manifestFile" }, @@ -40,29 +40,31 @@ "format": "wasmLanguage" }, "module": { - "description": "Path to Polywrap implementation.", + "description": "Path to the module's entry point.", "type": "string", "format": "file" }, "schema": { - "description": "Path to graphql schema.", + "description": "Path to the module's graphql schema.", "type": "string", "format": "graphqlFile" }, "import_redirects": { - "description": "Redirects enabling the import of plugins.", + "description": "Redirects for the schema's imports.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "uri": { - "description": "URI resolving to the plugin schema.", - "type": "string" + "description": "Import URI to be redirected.", + "type": "string", + "format": "polywrapUri" }, "schema": { - "description": "Graphql schema for imported plugin.", - "type": "string" + "description": "Path to a graphql schema to be used for the import.", + "type": "string", + "format": "schemaFile" } }, "required": [ From 71f68fb54f2f1bed0b55a09b91f4b3dab17a01a8 Mon Sep 17 00:00:00 2001 From: Jure Bogunovic Date: Tue, 21 Jun 2022 18:29:08 +0200 Subject: [PATCH 24/29] renaming web3ApiManifest to polywrapManifest --- packages/js/validation/src/types/WrapperValidator.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/js/validation/src/types/WrapperValidator.ts b/packages/js/validation/src/types/WrapperValidator.ts index 35a7135ab8..1e202dbf27 100644 --- a/packages/js/validation/src/types/WrapperValidator.ts +++ b/packages/js/validation/src/types/WrapperValidator.ts @@ -205,9 +205,9 @@ export class WrapperValidator { private async validateBuildManifest( reader: PackageReader, - web3ApiManifest: PolywrapManifest + polywrapManifest: PolywrapManifest ): Promise { - const manifestPath = web3ApiManifest.build; + const manifestPath = polywrapManifest.build; if (manifestPath) { // Manifests get built as a `.json` file so we need to change the extension @@ -227,9 +227,9 @@ export class WrapperValidator { private async validateMetaManifest( reader: PackageReader, - web3ApiManifest: PolywrapManifest + polywrapManifest: PolywrapManifest ): Promise { - const manifestPath = web3ApiManifest.meta; + const manifestPath = polywrapManifest.meta; if (manifestPath) { // Manifests get built as `.json` files so we need to change the extension From f5abab4494e07f75d911f55b320294552d613bb4 Mon Sep 17 00:00:00 2001 From: Jure Bogunovic Date: Tue, 21 Jun 2022 19:13:21 +0200 Subject: [PATCH 25/29] renaming --- packages/js/validation/package.json | 2 +- packages/js/validation/src/__tests__/manifests.spec.ts | 6 +++--- .../validation/src/__tests__/number_of_files.spec.ts | 6 +++--- packages/js/validation/src/__tests__/sanity.spec.ts | 6 +++--- packages/js/validation/src/__tests__/schema.spec.ts | 6 +++--- packages/js/validation/src/__tests__/sizes.spec.ts | 10 +++++----- ...{WrapperContraints.ts => WasmPackageConstraints.ts} | 2 +- .../{WrapperValidator.ts => WasmPackageValidator.ts} | 6 +++--- packages/js/validation/src/types/index.ts | 6 +++--- 9 files changed, 25 insertions(+), 25 deletions(-) rename packages/js/validation/src/types/{WrapperContraints.ts => WasmPackageConstraints.ts} (71%) rename packages/js/validation/src/types/{WrapperValidator.ts => WasmPackageValidator.ts} (98%) diff --git a/packages/js/validation/package.json b/packages/js/validation/package.json index 729f5d4063..f74702a52a 100644 --- a/packages/js/validation/package.json +++ b/packages/js/validation/package.json @@ -1,5 +1,5 @@ { - "name": "@polywrap/core-validation", + "name": "@polywrap/package-validation", "version": "0.0.1-prealpha.86", "license": "MIT", "repository": { diff --git a/packages/js/validation/src/__tests__/manifests.spec.ts b/packages/js/validation/src/__tests__/manifests.spec.ts index b1d5288e7d..d0cfe9421a 100644 --- a/packages/js/validation/src/__tests__/manifests.spec.ts +++ b/packages/js/validation/src/__tests__/manifests.spec.ts @@ -2,7 +2,7 @@ import path from "path"; import { FileSystemPackageReader, ValidationFailReason, - WrapperValidator, + WasmPackageValidator, } from ".."; jest.setTimeout(200000); @@ -10,10 +10,10 @@ jest.setTimeout(200000); const testWrappersPath = path.join(__dirname, "./wrappers"); describe("manfiests", () => { - let validator: WrapperValidator; + let validator: WasmPackageValidator; beforeAll(async () => { - validator = new WrapperValidator({ + validator = new WasmPackageValidator({ maxSize: 1_000_000, maxFileSize: 1_000_000, maxModuleSize: 1_000_000, diff --git a/packages/js/validation/src/__tests__/number_of_files.spec.ts b/packages/js/validation/src/__tests__/number_of_files.spec.ts index 7a57cdc37b..e4d411a6b3 100644 --- a/packages/js/validation/src/__tests__/number_of_files.spec.ts +++ b/packages/js/validation/src/__tests__/number_of_files.spec.ts @@ -2,7 +2,7 @@ import path from "path"; import { FileSystemPackageReader, ValidationFailReason, - WrapperValidator, + WasmPackageValidator, } from ".."; jest.setTimeout(200000); @@ -12,7 +12,7 @@ const testWrappersPath = path.join(__dirname, "./wrappers"); const assertValidWrapper = async (wrapperPath: string) => { const reader = new FileSystemPackageReader(wrapperPath); - const validator = new WrapperValidator({ + const validator = new WasmPackageValidator({ maxSize: 1_000_000, maxFileSize: 1_000_000, maxModuleSize: 1_000_000, @@ -35,7 +35,7 @@ describe("number of files", () => { path.join(testWrappersPath, "more-than-6-files") ); - const validator = new WrapperValidator({ + const validator = new WasmPackageValidator({ maxSize: 1_000_000, maxFileSize: 1_000_000, maxModuleSize: 1_000_000, diff --git a/packages/js/validation/src/__tests__/sanity.spec.ts b/packages/js/validation/src/__tests__/sanity.spec.ts index 3844421b6c..553d880fa6 100644 --- a/packages/js/validation/src/__tests__/sanity.spec.ts +++ b/packages/js/validation/src/__tests__/sanity.spec.ts @@ -1,5 +1,5 @@ import path from "path"; -import { WrapperValidator, FileSystemPackageReader } from ".."; +import { WasmPackageValidator, FileSystemPackageReader } from ".."; jest.setTimeout(200000); @@ -10,7 +10,7 @@ describe("sanity", () => { const pathToValidWrapper = path.join(testWrappersPath, "valid"); const reader = new FileSystemPackageReader(pathToValidWrapper); - const validator = new WrapperValidator({ + const validator = new WasmPackageValidator({ maxSize: 1_000_000, maxFileSize: 1_000_000, maxModuleSize: 1_000_000, @@ -27,7 +27,7 @@ describe("sanity", () => { const pathToValidWrapper = path.join(testWrappersPath, "valid-interface"); const reader = new FileSystemPackageReader(pathToValidWrapper); - const validator = new WrapperValidator({ + const validator = new WasmPackageValidator({ maxSize: 1_000_000, maxFileSize: 1_000_000, maxModuleSize: 1_000_000, diff --git a/packages/js/validation/src/__tests__/schema.spec.ts b/packages/js/validation/src/__tests__/schema.spec.ts index e0b0b18b0a..70d9c76ddf 100644 --- a/packages/js/validation/src/__tests__/schema.spec.ts +++ b/packages/js/validation/src/__tests__/schema.spec.ts @@ -2,7 +2,7 @@ import path from "path"; import { FileSystemPackageReader, ValidationFailReason, - WrapperValidator, + WasmPackageValidator, } from ".."; jest.setTimeout(200000); @@ -10,10 +10,10 @@ jest.setTimeout(200000); const testWrappersPath = path.join(__dirname, "./wrappers"); describe("schema", () => { - let validator: WrapperValidator; + let validator: WasmPackageValidator; beforeAll(async () => { - validator = new WrapperValidator({ + validator = new WasmPackageValidator({ maxSize: 1_000_000, maxFileSize: 1_000_000, maxModuleSize: 1_000_000, diff --git a/packages/js/validation/src/__tests__/sizes.spec.ts b/packages/js/validation/src/__tests__/sizes.spec.ts index ee5c84ea3e..dd88197961 100644 --- a/packages/js/validation/src/__tests__/sizes.spec.ts +++ b/packages/js/validation/src/__tests__/sizes.spec.ts @@ -2,7 +2,7 @@ import path from "path"; import { FileSystemPackageReader, ValidationFailReason, - WrapperValidator, + WasmPackageValidator, } from ".."; jest.setTimeout(200000); @@ -12,7 +12,7 @@ const testWrappersPath = path.join(__dirname, "./wrappers"); const assertValidWrapper = async (wrapperPath: string) => { const reader = new FileSystemPackageReader(wrapperPath); - const validator = new WrapperValidator({ + const validator = new WasmPackageValidator({ maxSize: 1_000_000, maxFileSize: 1_000_000, maxModuleSize: 1_000_000, @@ -43,7 +43,7 @@ describe("manfiests", () => { path.join(testWrappersPath, "wrapper-size-over-100-kb") ); - const validator = new WrapperValidator({ + const validator = new WasmPackageValidator({ maxSize: 100_000, maxFileSize: 1_000_000, maxModuleSize: 1_000_000, @@ -61,7 +61,7 @@ describe("manfiests", () => { path.join(testWrappersPath, "module-size-over-100-kb") ); - const validator = new WrapperValidator({ + const validator = new WasmPackageValidator({ maxSize: 1_000_000, maxFileSize: 100_000, maxModuleSize: 1_000_000, @@ -79,7 +79,7 @@ describe("manfiests", () => { path.join(testWrappersPath, "module-size-over-100-kb") ); - const validator = new WrapperValidator({ + const validator = new WasmPackageValidator({ maxSize: 1_000_000, maxFileSize: 1_000_000, maxModuleSize: 100_000, diff --git a/packages/js/validation/src/types/WrapperContraints.ts b/packages/js/validation/src/types/WasmPackageConstraints.ts similarity index 71% rename from packages/js/validation/src/types/WrapperContraints.ts rename to packages/js/validation/src/types/WasmPackageConstraints.ts index 9be60d210f..0f3e007a2e 100644 --- a/packages/js/validation/src/types/WrapperContraints.ts +++ b/packages/js/validation/src/types/WasmPackageConstraints.ts @@ -1,4 +1,4 @@ -export type WrapperConstraints = { +export type WasmPackageConstraints = { maxSize: number; maxFileSize: number; maxModuleSize: number; diff --git a/packages/js/validation/src/types/WrapperValidator.ts b/packages/js/validation/src/types/WasmPackageValidator.ts similarity index 98% rename from packages/js/validation/src/types/WrapperValidator.ts rename to packages/js/validation/src/types/WasmPackageValidator.ts index 1e202dbf27..86211ca93c 100644 --- a/packages/js/validation/src/types/WrapperValidator.ts +++ b/packages/js/validation/src/types/WasmPackageValidator.ts @@ -1,6 +1,6 @@ import { VALID_WRAP_MANIFEST_NAMES } from ".."; import { - WrapperConstraints, + WasmPackageConstraints, PackageReader, ValidationResult, ValidationFailReason, @@ -15,8 +15,8 @@ import { } from "@polywrap/core-js"; import path from "path"; -export class WrapperValidator { - constructor(private constraints: WrapperConstraints) {} +export class WasmPackageValidator { + constructor(private constraints: WasmPackageConstraints) {} async validate(reader: PackageReader): Promise { let result = await this.validateManifests(reader); diff --git a/packages/js/validation/src/types/index.ts b/packages/js/validation/src/types/index.ts index 3fb5c6d671..b990dd4bc5 100644 --- a/packages/js/validation/src/types/index.ts +++ b/packages/js/validation/src/types/index.ts @@ -1,7 +1,7 @@ -export * from "./WrapperValidator"; export * from "./FileSystemPackageReader"; +export * from "./PackageReader"; export * from "./PathStats"; export * from "./ValidationFailReason"; export * from "./ValidationResult"; -export * from "./WrapperContraints"; -export * from "./PackageReader"; +export * from "./WasmPackageConstraints"; +export * from "./WasmPackageValidator"; From c1daecc3894b9bde935748093207206b090e1736 Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Tue, 21 Jun 2022 12:08:40 -0700 Subject: [PATCH 26/29] add namesty to publishers --- .github/PUBLISHERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/PUBLISHERS b/.github/PUBLISHERS index 27a9df99d9..6ebbdec920 100644 --- a/.github/PUBLISHERS +++ b/.github/PUBLISHERS @@ -1 +1,2 @@ dOrgJelli +namesty From 43d4179a5174fdcf3b92667e2602285d19d01885 Mon Sep 17 00:00:00 2001 From: dOrgJelli Date: Tue, 21 Jun 2022 12:10:16 -0700 Subject: [PATCH 27/29] add namesty as default code owner --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e2282c4cbb..eef213ac42 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,5 +1,5 @@ # Default -* @dOrgJelli +* @dOrgJelli @namesty # Wasm Runtime packages/wasm/as @dOrgJelli @krisbitney @namesty @Niraj-Kamdar From f93e37ceae53ee0bef2566794eeac203b1bd4444 Mon Sep 17 00:00:00 2001 From: namesty Date: Tue, 21 Jun 2022 21:31:11 +0200 Subject: [PATCH 28/29] prep 0.0.1-prealpha.87 --- CHANGELOG.md | 9 +++++++++ VERSION | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 18394bdeff..a5c7f6ee97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# Polywrap 0.0.1-prealpha.87 +## Features +* [PR-928](https://github.com/polywrap/monorepo/pull/928) Inline documentation has been added to manifest JSON-schemas. +* [PR-933](https://github.com/polywrap/monorepo/pull/933) A validation package has been implemented to validate WASM wrapper packages. + +## Bugs +* [PR-932](https://github.com/polywrap/monorepo/pull/932) Minor fix for JSON type schema bindings +* [PR-935](https://github.com/polywrap/monorepo/pull/935) Path fix for `npmCLI` test utility in `@polywrap/test-env-js` + # Polywrap 0.0.1-prealpha.86 ## Features * [PR-923](https://github.com/polywrap/monorepo/pull/923) The Polywrap brand has been applied to the codebase. diff --git a/VERSION b/VERSION index 17c498b850..bdd8708bf0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.1-prealpha.86 +0.0.1-prealpha.87 From f919a58c74ad3cc3c346d1b70620f378224d54bc Mon Sep 17 00:00:00 2001 From: namesty Date: Tue, 21 Jun 2022 21:38:21 +0200 Subject: [PATCH 29/29] (chore): adding related packages to changelog features --- CHANGELOG.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a5c7f6ee97..061f8f7476 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,11 @@ # Polywrap 0.0.1-prealpha.87 ## Features -* [PR-928](https://github.com/polywrap/monorepo/pull/928) Inline documentation has been added to manifest JSON-schemas. -* [PR-933](https://github.com/polywrap/monorepo/pull/933) A validation package has been implemented to validate WASM wrapper packages. +* [PR-928](https://github.com/polywrap/monorepo/pull/928) `@polywrap/manifest-schemas`: Inline documentation has been added to manifest JSON-schemas. +* [PR-933](https://github.com/polywrap/monorepo/pull/933) Validation package `@polywrap/package-validation` has been implemented to validate WASM wrapper packages. ## Bugs -* [PR-932](https://github.com/polywrap/monorepo/pull/932) Minor fix for JSON type schema bindings -* [PR-935](https://github.com/polywrap/monorepo/pull/935) Path fix for `npmCLI` test utility in `@polywrap/test-env-js` +* [PR-932](https://github.com/polywrap/monorepo/pull/932) `@polywrap/schema-bind`: Minor fix for JSON type schema bindings +* [PR-935](https://github.com/polywrap/monorepo/pull/935) `@polywrap/test-env-js`: Path fix for `npmCLI` test utility # Polywrap 0.0.1-prealpha.86 ## Features