Run services from transpiled ES5 (#239)

* Transpile ES5 code.

* Use transpiled ES5 code in all packages.

* Refactor tracing-client to transpile ES5 code.

* Order scripts in package json.

* Update readme in packages with new scripts.

* Refactor code to use entity config programatically.

* Remove unused depencdencies.

* Use DEBUG environment for scripts.

Co-authored-by: nabarun <nabarun@deepstacksoft.com>
This commit is contained in:
Ashwin Phatak 2021-09-02 10:27:56 +05:30 committed by GitHub
parent fc4f49113b
commit 2d493b3838
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
62 changed files with 831 additions and 219 deletions

View File

@ -97,6 +97,15 @@ yarn db:reset
## Run ## Run
Build the files in packages:
```bash
yarn build
# To watch for changes and build (used in development).
yarn build:watch
```
To run any watcher, `cd` into their package folder and run: To run any watcher, `cd` into their package folder and run:
```bash ```bash

View File

@ -9,9 +9,14 @@
"lerna": "^4.0.0" "lerna": "^4.0.0"
}, },
"scripts": { "scripts": {
"test": "lerna run test --stream --no-bail",
"lint": "lerna run lint --stream", "lint": "lerna run lint --stream",
"test": "lerna run test --stream --no-bail",
"build": "lerna run build --stream",
"build:watch": "lerna run build --stream --parallel -- -w",
"build:contracts": "lerna run build:contracts", "build:contracts": "lerna run build:contracts",
"db:reset": "sudo ./scripts/reset-dbs.sh" "db:reset": "sudo ./scripts/reset-dbs.sh"
},
"dependencies": {
"depcheck": "^1.4.2"
} }
} }

View File

@ -40,21 +40,41 @@ Update the `upstream` config in `environments/local.toml` and provide the `ipld-
Run the following scripts in different terminals. Run the following scripts in different terminals.
Build files:
```
yarn build
```
GQL server: GQL server:
``` ```
yarn server yarn server
# For development.
yarn server:dev
# For specifying config file.
yarn server -f environments/local.toml
``` ```
Job runner for processing the tracing requests queue: Job runner for processing the tracing requests queue:
``` ```
yarn job-runner yarn job-runner
# For development.
yarn job-runner:dev
# For specifying config file.
yarn job-runner -f environments/local.toml
``` ```
To fill a block range: To fill a block range:
``` ```
yarn fill --startBlock 1 --endBlock 1000 yarn fill --start-block 1 --end-block 1000
# For specifying config file.
yarn fill -f environments/local.toml --start-block 1 --end-block 1000
``` ```

View File

@ -12,15 +12,6 @@
synchronize = true synchronize = true
logging = false logging = false
entities = [ "src/entity/**/*.ts" ]
migrations = [ "src/migration/**/*.ts" ]
subscribers = [ "src/subscriber/**/*.ts" ]
[database.cli]
entitiesDir = "src/entity"
migrationsDir = "src/migration"
subscribersDir = "src/subscriber"
[upstream] [upstream]
traceProviderEndpoint = "http://127.0.0.1:8545" traceProviderEndpoint = "http://127.0.0.1:8545"

View File

@ -4,12 +4,15 @@
"description": "Address Watcher", "description": "Address Watcher",
"private": true, "private": true,
"scripts": { "scripts": {
"server": "DEBUG=vulcanize:* nodemon --watch src src/server.ts -f environments/local.toml",
"job-runner": "DEBUG=vulcanize:* nodemon --watch src src/job-runner.ts -f environments/local.toml",
"fill": "DEBUG=vulcanize:* ts-node src/fill.ts -f environments/local.toml",
"test": "mocha -r ts-node/register src/**/*.spec.ts",
"lint": "eslint .", "lint": "eslint .",
"build": "tsc" "test": "mocha -r ts-node/register src/**/*.spec.ts",
"build": "tsc",
"server": "DEBUG=vulcanize:* node dist/server.js",
"server:dev": "DEBUG=vulcanize:* nodemon --watch src src/server.ts",
"job-runner": "DEBUG=vulcanize:* node dist/job-runner.js",
"job-runner:dev": "DEBUG=vulcanize:* nodemon --watch src src/job-runner.ts",
"fill": "DEBUG=vulcanize:* node dist/fill.js",
"fill:dev": "DEBUG=vulcanize:* ts-node src/fill.ts"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -22,7 +25,7 @@
}, },
"homepage": "https://github.com/vulcanize/watcher-ts#readme", "homepage": "https://github.com/vulcanize/watcher-ts#readme",
"dependencies": { "dependencies": {
"@graphql-tools/schema": "^7.1.5", "@apollo/client": "^3.3.19",
"@types/lodash": "^4.14.168", "@types/lodash": "^4.14.168",
"@vulcanize/cache": "^0.1.0", "@vulcanize/cache": "^0.1.0",
"@vulcanize/ipld-eth-client": "^0.1.0", "@vulcanize/ipld-eth-client": "^0.1.0",
@ -30,20 +33,12 @@
"@vulcanize/tracing-client": "^0.1.0", "@vulcanize/tracing-client": "^0.1.0",
"@vulcanize/util": "^0.1.0", "@vulcanize/util": "^0.1.0",
"apollo-server-express": "^2.25.0", "apollo-server-express": "^2.25.0",
"apollo-type-bigint": "^0.1.3",
"debug": "^4.3.1", "debug": "^4.3.1",
"ethers": "^5.2.0", "ethers": "^5.2.0",
"express": "^4.17.1", "express": "^4.17.1",
"express-graphql": "^0.12.0",
"fs-extra": "^10.0.0",
"graphql": "^15.5.0", "graphql": "^15.5.0",
"graphql-import-node": "^0.0.4",
"graphql-request": "^3.4.0",
"json-bigint": "^1.0.0",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"pg": "^8.6.0",
"reflect-metadata": "^0.1.13", "reflect-metadata": "^0.1.13",
"toml": "^3.0.0",
"typeorm": "^0.2.32", "typeorm": "^0.2.32",
"typeorm-naming-strategies": "^2.0.0", "typeorm-naming-strategies": "^2.0.0",
"yargs": "^17.0.1" "yargs": "^17.0.1"
@ -52,8 +47,6 @@
"@ethersproject/abi": "^5.3.0", "@ethersproject/abi": "^5.3.0",
"@types/chai": "^4.2.19", "@types/chai": "^4.2.19",
"@types/express": "^4.17.11", "@types/express": "^4.17.11",
"@types/fs-extra": "^9.0.11",
"@types/json-bigint": "^1.0.0",
"@types/mocha": "^8.2.2", "@types/mocha": "^8.2.2",
"@types/yargs": "^17.0.0", "@types/yargs": "^17.0.0",
"@typescript-eslint/eslint-plugin": "^4.25.0", "@typescript-eslint/eslint-plugin": "^4.25.0",

View File

@ -7,7 +7,7 @@ import yargs from 'yargs';
import 'reflect-metadata'; import 'reflect-metadata';
import { ethers } from 'ethers'; import { ethers } from 'ethers';
import { Config, getConfig } from '@vulcanize/util'; import { Config, DEFAULT_CONFIG_PATH, getConfig } from '@vulcanize/util';
import { Database } from '../database'; import { Database } from '../database';
@ -19,7 +19,8 @@ import { Database } from '../database';
type: 'string', type: 'string',
require: true, require: true,
demandOption: true, demandOption: true,
describe: 'configuration file path (toml)' describe: 'configuration file path (toml)',
default: DEFAULT_CONFIG_PATH
}, },
address: { address: {
type: 'string', type: 'string',

View File

@ -5,6 +5,7 @@
import assert from 'assert'; import assert from 'assert';
import { Connection, ConnectionOptions, createConnection, DeepPartial } from 'typeorm'; import { Connection, ConnectionOptions, createConnection, DeepPartial } from 'typeorm';
import { SnakeNamingStrategy } from 'typeorm-naming-strategies'; import { SnakeNamingStrategy } from 'typeorm-naming-strategies';
import path from 'path';
import { Account } from './entity/Account'; import { Account } from './entity/Account';
import { BlockProgress } from './entity/BlockProgress'; import { BlockProgress } from './entity/BlockProgress';
@ -16,7 +17,11 @@ export class Database {
constructor (config: ConnectionOptions) { constructor (config: ConnectionOptions) {
assert(config); assert(config);
this._config = config;
this._config = {
...config,
entities: [path.join(__dirname, 'entity/*')]
};
} }
async init (): Promise<void> { async init (): Promise<void> {

View File

@ -10,7 +10,7 @@ import debug from 'debug';
import { getCache } from '@vulcanize/cache'; import { getCache } from '@vulcanize/cache';
import { EthClient } from '@vulcanize/ipld-eth-client'; import { EthClient } from '@vulcanize/ipld-eth-client';
import { getConfig, JobQueue } from '@vulcanize/util'; import { DEFAULT_CONFIG_PATH, getConfig, JobQueue } from '@vulcanize/util';
import { Database } from './database'; import { Database } from './database';
import { QUEUE_TX_TRACING } from './tx-watcher'; import { QUEUE_TX_TRACING } from './tx-watcher';
@ -26,7 +26,8 @@ export const main = async (): Promise<any> => {
type: 'string', type: 'string',
require: true, require: true,
demandOption: true, demandOption: true,
describe: 'configuration file path (toml)' describe: 'configuration file path (toml)',
default: DEFAULT_CONFIG_PATH
}, },
startBlock: { startBlock: {
type: 'number', type: 'number',

View File

@ -11,7 +11,7 @@ import debug from 'debug';
import { getCache } from '@vulcanize/cache'; import { getCache } from '@vulcanize/cache';
import { EthClient } from '@vulcanize/ipld-eth-client'; import { EthClient } from '@vulcanize/ipld-eth-client';
import { TracingClient } from '@vulcanize/tracing-client'; import { TracingClient } from '@vulcanize/tracing-client';
import { getConfig, JobQueue } from '@vulcanize/util'; import { getConfig, JobQueue, DEFAULT_CONFIG_PATH } from '@vulcanize/util';
import { Indexer } from './indexer'; import { Indexer } from './indexer';
import { Database } from './database'; import { Database } from './database';
@ -25,7 +25,8 @@ export const main = async (): Promise<any> => {
alias: 'config-file', alias: 'config-file',
demandOption: true, demandOption: true,
describe: 'configuration file path (toml)', describe: 'configuration file path (toml)',
type: 'string' type: 'string',
default: DEFAULT_CONFIG_PATH
}) })
.argv; .argv;

View File

@ -14,7 +14,7 @@ import { createServer } from 'http';
import { getCache } from '@vulcanize/cache'; import { getCache } from '@vulcanize/cache';
import { EthClient } from '@vulcanize/ipld-eth-client'; import { EthClient } from '@vulcanize/ipld-eth-client';
import { TracingClient } from '@vulcanize/tracing-client'; import { TracingClient } from '@vulcanize/tracing-client';
import { getConfig, JobQueue } from '@vulcanize/util'; import { getConfig, JobQueue, DEFAULT_CONFIG_PATH } from '@vulcanize/util';
import typeDefs from './schema'; import typeDefs from './schema';
@ -31,7 +31,8 @@ export const main = async (): Promise<any> => {
alias: 'config-file', alias: 'config-file',
demandOption: true, demandOption: true,
describe: 'configuration file path (toml)', describe: 'configuration file path (toml)',
type: 'string' type: 'string',
default: DEFAULT_CONFIG_PATH
}) })
.argv; .argv;

View File

@ -73,5 +73,5 @@
"resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */ "resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */
}, },
"include": ["src"], "include": ["src"],
"exclude": ["dist"] "exclude": ["dist", "src/**/*.spec.ts"]
} }

View File

@ -3,11 +3,11 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Generic object cache", "description": "Generic object cache",
"private": true, "private": true,
"main": "index.ts", "main": "dist/index.js",
"scripts": { "scripts": {
"lint": "eslint .",
"test": "mocha -r ts-node/register src/**/*.spec.ts", "test": "mocha -r ts-node/register src/**/*.spec.ts",
"build": "tsc", "build": "tsc"
"lint": "eslint ."
}, },
"repository": { "repository": {
"type": "git", "type": "git",

View File

@ -15,11 +15,22 @@ Update the `upstream` config in `environments/local.toml` and provide the `ipld-
## Run ## Run
Build files:
```bash
yarn build
```
Run the watcher: Run the watcher:
```bash ```bash
cd packages/erc20-watcher
yarn run server yarn run server
# For development.
yarn run server:dev
# For specifying config file.
yarn run server -f environments/local.toml
``` ```
GQL console: http://localhost:3001/graphql GQL console: http://localhost:3001/graphql
@ -90,11 +101,9 @@ GQL console: http://localhost:3001/graphql
To run tests (GQL queries) against the mock server: To run tests (GQL queries) against the mock server:
``` ```
cd packages/erc20-watcher
yarn run server:mock yarn run server:mock
``` ```
```bash ```bash
cd packages/erc20-watcher
yarn test yarn test
``` ```

View File

@ -13,15 +13,6 @@
synchronize = true synchronize = true
logging = false logging = false
entities = [ "src/entity/**/*.ts" ]
migrations = [ "src/migration/**/*.ts" ]
subscribers = [ "src/subscriber/**/*.ts" ]
[database.cli]
entitiesDir = "src/entity"
migrationsDir = "src/migration"
subscribersDir = "src/subscriber"
[upstream] [upstream]
[upstream.ethServer] [upstream.ethServer]
gqlApiEndpoint = "http://127.0.0.1:8082/graphql" gqlApiEndpoint = "http://127.0.0.1:8082/graphql"

View File

@ -3,14 +3,16 @@
"version": "0.1.0", "version": "0.1.0",
"description": "ERC20 Watcher", "description": "ERC20 Watcher",
"private": true, "private": true,
"main": "index.ts", "main": "dist/index.js",
"scripts": { "scripts": {
"server": "DEBUG=vulcanize:* nodemon --watch src src/server.ts -f environments/local.toml",
"server:mock": "MOCK=1 nodemon src/server.ts -f environments/local.toml",
"test": "mocha -r ts-node/register src/**/*.spec.ts",
"lint": "eslint .", "lint": "eslint .",
"test": "mocha -r ts-node/register src/**/*.spec.ts",
"build": "tsc", "build": "tsc",
"watch:contract": "ts-node src/cli/watch-contract.ts --configFile environments/local.toml", "server": "DEBUG=vulcanize:* node dist/server",
"server:dev": "DEBUG=vulcanize:* nodemon --watch src src/server.ts",
"server:mock": "MOCK=1 nodemon src/server.ts",
"watch:contract": "node dist/cli/watch-contract",
"watch:contract:dev": "ts-node src/cli/watch-contract.ts",
"token:deploy": "hardhat --network localhost token-deploy", "token:deploy": "hardhat --network localhost token-deploy",
"token:deploy:docker": "hardhat --network docker token-deploy", "token:deploy:docker": "hardhat --network docker token-deploy",
"token:transfer": "hardhat --network localhost token-transfer", "token:transfer": "hardhat --network localhost token-transfer",
@ -29,40 +31,36 @@
}, },
"homepage": "https://github.com/vulcanize/watcher-ts#readme", "homepage": "https://github.com/vulcanize/watcher-ts#readme",
"dependencies": { "dependencies": {
"@graphql-tools/schema": "^7.1.5",
"@types/lodash": "^4.14.168", "@types/lodash": "^4.14.168",
"@vulcanize/cache": "^0.1.0", "@vulcanize/cache": "^0.1.0",
"@vulcanize/ipld-eth-client": "^0.1.0", "@vulcanize/ipld-eth-client": "^0.1.0",
"@vulcanize/solidity-mapper": "^0.1.0", "@vulcanize/solidity-mapper": "^0.1.0",
"@vulcanize/util": "^0.1.0", "@vulcanize/util": "^0.1.0",
"@apollo/client": "^3.3.19",
"apollo-server-express": "^2.25.0", "apollo-server-express": "^2.25.0",
"apollo-type-bigint": "^0.1.3", "apollo-type-bigint": "^0.1.3",
"debug": "^4.3.1", "debug": "^4.3.1",
"ethers": "^5.2.0", "ethers": "^5.2.0",
"express": "^4.17.1", "express": "^4.17.1",
"express-graphql": "^0.12.0",
"fs-extra": "^10.0.0",
"graphql": "^15.5.0", "graphql": "^15.5.0",
"graphql-import-node": "^0.0.4", "graphql-import-node": "^0.0.4",
"graphql-request": "^3.4.0", "graphql-request": "^3.4.0",
"json-bigint": "^1.0.0", "json-bigint": "^1.0.0",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"pg": "^8.6.0",
"reflect-metadata": "^0.1.13", "reflect-metadata": "^0.1.13",
"toml": "^3.0.0",
"typeorm": "^0.2.32", "typeorm": "^0.2.32",
"typeorm-naming-strategies": "^2.0.0",
"yargs": "^17.0.1" "yargs": "^17.0.1"
}, },
"devDependencies": { "devDependencies": {
"@ethersproject/abi": "^5.3.0", "@ethersproject/abi": "^5.3.0",
"@openzeppelin/contracts": "^4.3.1", "@openzeppelin/contracts": "^4.3.1",
"@types/express": "^4.17.11", "@types/express": "^4.17.11",
"@types/fs-extra": "^9.0.11",
"@types/json-bigint": "^1.0.0", "@types/json-bigint": "^1.0.0",
"@types/yargs": "^17.0.0", "@types/yargs": "^17.0.0",
"@typescript-eslint/eslint-plugin": "^4.25.0", "@typescript-eslint/eslint-plugin": "^4.25.0",
"@typescript-eslint/parser": "^4.25.0", "@typescript-eslint/parser": "^4.25.0",
"@nomiclabs/hardhat-ethers": "^2.0.2",
"@nomiclabs/hardhat-waffle": "^2.0.1",
"chai": "^4.3.4", "chai": "^4.3.4",
"eslint": "^7.27.0", "eslint": "^7.27.0",
"eslint-config-semistandard": "^15.0.1", "eslint-config-semistandard": "^15.0.1",
@ -72,6 +70,7 @@
"eslint-plugin-promise": "^5.1.0", "eslint-plugin-promise": "^5.1.0",
"eslint-plugin-standard": "^5.0.0", "eslint-plugin-standard": "^5.0.0",
"mocha": "^8.4.0", "mocha": "^8.4.0",
"nodemon": "^2.0.7" "nodemon": "^2.0.7",
"hardhat": "^2.3.0"
} }
} }

View File

@ -7,7 +7,7 @@ import yargs from 'yargs';
import 'reflect-metadata'; import 'reflect-metadata';
import { ethers } from 'ethers'; import { ethers } from 'ethers';
import { Config, getConfig } from '@vulcanize/util'; import { Config, DEFAULT_CONFIG_PATH, getConfig } from '@vulcanize/util';
import { Database } from '../database'; import { Database } from '../database';
@ -16,10 +16,12 @@ import { Database } from '../database';
'parse-numbers': false 'parse-numbers': false
}).options({ }).options({
configFile: { configFile: {
alias: 'f',
type: 'string', type: 'string',
require: true, require: true,
demandOption: true, demandOption: true,
describe: 'configuration file path (toml)' describe: 'configuration file path (toml)',
default: DEFAULT_CONFIG_PATH
}, },
address: { address: {
type: 'string', type: 'string',

View File

@ -4,6 +4,7 @@
import assert from 'assert'; import assert from 'assert';
import { Connection, ConnectionOptions, DeepPartial } from 'typeorm'; import { Connection, ConnectionOptions, DeepPartial } from 'typeorm';
import path from 'path';
import { Database as BaseDatabase } from '@vulcanize/util'; import { Database as BaseDatabase } from '@vulcanize/util';
@ -20,7 +21,12 @@ export class Database {
constructor (config: ConnectionOptions) { constructor (config: ConnectionOptions) {
assert(config); assert(config);
this._config = config;
this._config = {
...config,
entities: [path.join(__dirname, 'entity/*')]
};
this._baseDatabase = new BaseDatabase(this._config); this._baseDatabase = new BaseDatabase(this._config);
} }

View File

@ -2,4 +2,4 @@
// Copyright 2021 Vulcanize, Inc. // Copyright 2021 Vulcanize, Inc.
// //
export * from './src/client'; export * from './client';

View File

@ -15,7 +15,7 @@ import { getDefaultProvider } from 'ethers';
import { getCache } from '@vulcanize/cache'; import { getCache } from '@vulcanize/cache';
import { EthClient } from '@vulcanize/ipld-eth-client'; import { EthClient } from '@vulcanize/ipld-eth-client';
import { getConfig } from '@vulcanize/util'; import { DEFAULT_CONFIG_PATH, getConfig } from '@vulcanize/util';
import artifacts from './artifacts/ERC20.json'; import artifacts from './artifacts/ERC20.json';
import typeDefs from './schema'; import typeDefs from './schema';
@ -34,7 +34,8 @@ export const main = async (): Promise<any> => {
alias: 'config-file', alias: 'config-file',
demandOption: true, demandOption: true,
describe: 'configuration file path (toml)', describe: 'configuration file path (toml)',
type: 'string' type: 'string',
default: DEFAULT_CONFIG_PATH
}) })
.argv; .argv;

View File

@ -72,7 +72,6 @@
"forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */ "forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */
"resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */ "resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */
}, },
"include": ["src"], "include": ["src/**/*"],
"exclude": ["dist"], "exclude": ["dist"]
"files": ["./hardhat.config.ts"]
} }

View File

@ -3,11 +3,11 @@
"version": "0.1.0", "version": "0.1.0",
"description": "IPLD ETH Client", "description": "IPLD ETH Client",
"private": true, "private": true,
"main": "index.ts", "main": "dist/index.js",
"scripts": { "scripts": {
"lint": "eslint .",
"test": "mocha -r ts-node/register src/**/*.spec.ts", "test": "mocha -r ts-node/register src/**/*.spec.ts",
"build": "tsc", "build": "tsc"
"lint": "eslint ."
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -27,7 +27,9 @@
"graphql": "^15.5.0", "graphql": "^15.5.0",
"left-pad": "^1.3.0", "left-pad": "^1.3.0",
"subscriptions-transport-ws": "^0.9.18", "subscriptions-transport-ws": "^0.9.18",
"ws": "^7.4.6" "ws": "^7.4.6",
"lodash": "^4.17.21",
"debug": "^4.3.1"
}, },
"devDependencies": { "devDependencies": {
"@types/ws": "^7.4.4", "@types/ws": "^7.4.4",

View File

@ -17,10 +17,22 @@ Use the Lighthouse contract address and set `environments/local.toml` to watch t
## Run ## Run
Build files:
```bash
$ yarn build
```
Run the server: Run the server:
```bash ```bash
$ yarn server $ yarn server
# For development.
$ yarn server:dev
# For specifying config file.
$ yarn server -f environments/local.toml
``` ```
## Test ## Test

View File

@ -5,18 +5,20 @@
"license": "AGPL-3.0", "license": "AGPL-3.0",
"private": true, "private": true,
"scripts": { "scripts": {
"server": "DEBUG=vulcanize:* nodemon --watch src src/server.ts -f environments/local.toml",
"test": "mocha -r ts-node/register src/**/*.spec.ts",
"lint": "eslint .", "lint": "eslint .",
"test": "mocha -r ts-node/register src/**/*.spec.ts",
"build": "tsc",
"server": "DEBUG=vulcanize:* node dist/server.js",
"server:dev": "DEBUG=vulcanize:* nodemon --watch src src/server.ts",
"smoke-test": "mocha src/smoke.test.ts",
"lighthouse:deploy": "hardhat lighthouse-deploy", "lighthouse:deploy": "hardhat lighthouse-deploy",
"lighthouse:store": "hardhat lighthouse-store", "lighthouse:store": "hardhat lighthouse-store"
"smoke-test": "mocha src/smoke.test.ts"
}, },
"dependencies": { "dependencies": {
"@graphql-tools/schema": "^7.1.5",
"@vulcanize/cache": "^0.1.0", "@vulcanize/cache": "^0.1.0",
"@vulcanize/ipld-eth-client": "^0.1.0", "@vulcanize/ipld-eth-client": "^0.1.0",
"@vulcanize/util": "^0.1.0", "@vulcanize/util": "^0.1.0",
"@apollo/client": "^3.3.19",
"apollo-server-express": "^2.25.0", "apollo-server-express": "^2.25.0",
"apollo-type-bigint": "^0.1.3", "apollo-type-bigint": "^0.1.3",
"debug": "^4.3.1", "debug": "^4.3.1",
@ -24,17 +26,19 @@
"express": "^4.17.1", "express": "^4.17.1",
"json-bigint": "^1.0.0", "json-bigint": "^1.0.0",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"reflect-metadata": "^0.1.13" "reflect-metadata": "^0.1.13",
"graphql-request": "^3.4.0",
"yargs": "^17.0.1"
}, },
"devDependencies": { "devDependencies": {
"@types/chai": "^4.2.19", "@types/chai": "^4.2.19",
"@types/express": "^4.17.11", "@types/express": "^4.17.11",
"@types/fs-extra": "^9.0.11",
"@types/json-bigint": "^1.0.0", "@types/json-bigint": "^1.0.0",
"@types/mocha": "^8.2.2", "@types/mocha": "^8.2.2",
"@types/yargs": "^17.0.0", "@types/yargs": "^17.0.0",
"@typescript-eslint/eslint-plugin": "^4.25.0", "@typescript-eslint/eslint-plugin": "^4.25.0",
"@typescript-eslint/parser": "^4.25.0", "@typescript-eslint/parser": "^4.25.0",
"@nomiclabs/hardhat-ethers": "^2.0.2",
"chai": "^4.3.4", "chai": "^4.3.4",
"eslint": "^7.27.0", "eslint": "^7.27.0",
"eslint-config-semistandard": "^15.0.1", "eslint-config-semistandard": "^15.0.1",

View File

@ -13,7 +13,7 @@ import { createServer } from 'http';
import { getCache } from '@vulcanize/cache'; import { getCache } from '@vulcanize/cache';
import { EthClient } from '@vulcanize/ipld-eth-client'; import { EthClient } from '@vulcanize/ipld-eth-client';
import { getConfig } from '@vulcanize/util'; import { DEFAULT_CONFIG_PATH, getConfig } from '@vulcanize/util';
import typeDefs from './schema'; import typeDefs from './schema';
@ -29,7 +29,8 @@ export const main = async (): Promise<any> => {
alias: 'config-file', alias: 'config-file',
demandOption: true, demandOption: true,
describe: 'configuration file path (toml)', describe: 'configuration file path (toml)',
type: 'string' type: 'string',
default: DEFAULT_CONFIG_PATH
}) })
.argv; .argv;

View File

@ -1,7 +1,7 @@
{ {
"name": "@vulcanize/solidity-mapper", "name": "@vulcanize/solidity-mapper",
"version": "0.1.0", "version": "0.1.0",
"main": "src/index.ts", "main": "dist/index.js",
"license": "AGPL-3.0", "license": "AGPL-3.0",
"devDependencies": { "devDependencies": {
"@ethersproject/abi": "^5.3.0", "@ethersproject/abi": "^5.3.0",
@ -24,15 +24,15 @@
"ethereum-waffle": "^3.3.0", "ethereum-waffle": "^3.3.0",
"ethers": "^5.2.0", "ethers": "^5.2.0",
"hardhat": "^2.3.0", "hardhat": "^2.3.0",
"ts-node": "^10.0.0", "typescript": "^4.3.2",
"typescript": "^4.3.2" "lodash": "^4.17.21"
}, },
"scripts": { "scripts": {
"build": "tsc", "lint": "eslint .",
"test": "hardhat test", "test": "hardhat test",
"build": "tsc",
"test:geth-rpc": "hardhat --network private test", "test:geth-rpc": "hardhat --network private test",
"test:ipld-gql": "IPLD_GQL=true hardhat --network private test", "test:ipld-gql": "IPLD_GQL=true hardhat --network private test"
"lint": "eslint ."
}, },
"dependencies": { "dependencies": {
"dotenv": "^10.0.0" "dotenv": "^10.0.0"

View File

@ -4,4 +4,4 @@ node_modules
# Don't lint build output. # Don't lint build output.
dist dist
src/tracers tracers

View File

@ -3,11 +3,11 @@
"version": "0.1.0", "version": "0.1.0",
"description": "ETH VM tracing client", "description": "ETH VM tracing client",
"private": true, "private": true,
"main": "index.ts", "main": "dist/index.js",
"scripts": { "scripts": {
"lint": "eslint .",
"test": "mocha -r ts-node/register src/**/*.spec.ts", "test": "mocha -r ts-node/register src/**/*.spec.ts",
"build": "tsc", "build": "tsc"
"lint": "eslint ."
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -20,13 +20,10 @@
}, },
"homepage": "https://github.com/vulcanize/watcher-ts#readme", "homepage": "https://github.com/vulcanize/watcher-ts#readme",
"dependencies": { "dependencies": {
"canonical-json": "^0.0.4",
"debug": "^4.3.1",
"ethers": "^5.3.1", "ethers": "^5.3.1",
"yargs": "^17.0.1" "yargs": "^17.0.1"
}, },
"devDependencies": { "devDependencies": {
"@types/debug": "^4.1.5",
"@typescript-eslint/eslint-plugin": "^4.25.0", "@typescript-eslint/eslint-plugin": "^4.25.0",
"@typescript-eslint/parser": "^4.25.0", "@typescript-eslint/parser": "^4.25.0",
"eslint": "^7.27.0", "eslint": "^7.27.0",

View File

@ -2,4 +2,4 @@
// Copyright 2021 Vulcanize, Inc. // Copyright 2021 Vulcanize, Inc.
// //
export * from './src/tracing'; export * from './tracing';

View File

@ -7,7 +7,7 @@ import path from 'path';
import fs from 'fs'; import fs from 'fs';
import { ethers } from 'ethers'; import { ethers } from 'ethers';
const callTracerWithAddresses = fs.readFileSync(path.join(__dirname, 'tracers', 'call_address_tracer.js')).toString('utf-8'); const callTracerWithAddresses = fs.readFileSync(path.join(__dirname, '../tracers', 'call_address_tracer.js')).toString('utf-8');
export class TracingClient { export class TracingClient {
_providerUrl: string; _providerUrl: string;

View File

@ -69,6 +69,6 @@
"skipLibCheck": true, /* Skip type checking of declaration files. */ "skipLibCheck": true, /* Skip type checking of declaration files. */
"forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
}, },
"include": ["src/**/*"], "include": ["src"],
"exclude": ["src/**/*.test.ts"] "exclude": ["src/**/*.spec.ts", "dist"]
} }

View File

@ -38,15 +38,32 @@ Update `environments/local.toml` with database connection settings for both the
### Run ### Run
* Build files:
```bash
$ yarn build
```
* Start the server: * Start the server:
```bash ```bash
$ yarn server $ yarn server
# For development.
$ yarn server:dev
# For specifying config file.
$ yarn server -f environments/local.toml
``` ```
* Start the job runner: * Start the job runner:
```bash ```bash
$ yarn job-runner $ yarn job-runner
# For development.
$ yarn job-runner:dev
# For specifying config file.
$ yarn job-runner -f environments/local.toml
``` ```
* Run `yarn server:mock` to run server with mock data. * Run `yarn server:mock` to run server with mock data.

View File

@ -15,15 +15,6 @@
synchronize = true synchronize = true
logging = false logging = false
entities = [ "src/entity/**/*.ts" ]
migrations = [ "src/migration/**/*.ts" ]
subscribers = [ "src/subscriber/**/*.ts" ]
[database.cli]
entitiesDir = "src/entity"
migrationsDir = "src/migration"
subscribersDir = "src/subscriber"
[upstream] [upstream]
[upstream.ethServer] [upstream.ethServer]
gqlApiEndpoint = "http://127.0.0.1:8082/graphql" gqlApiEndpoint = "http://127.0.0.1:8082/graphql"

View File

@ -1,7 +1,7 @@
{ {
"name": "@vulcanize/uni-info-watcher", "name": "@vulcanize/uni-info-watcher",
"version": "0.1.0", "version": "0.1.0",
"main": "index.js", "main": "dist/index.js",
"license": "AGPL-3.0", "license": "AGPL-3.0",
"private": true, "private": true,
"dependencies": { "dependencies": {
@ -9,30 +9,43 @@
"@vulcanize/erc20-watcher": "^0.1.0", "@vulcanize/erc20-watcher": "^0.1.0",
"@vulcanize/ipld-eth-client": "^0.1.0", "@vulcanize/ipld-eth-client": "^0.1.0",
"@vulcanize/util": "^0.1.0", "@vulcanize/util": "^0.1.0",
"@vulcanize/uni-watcher": "^0.1.0",
"@apollo/client": "^3.3.19",
"apollo-server-express": "^2.25.0", "apollo-server-express": "^2.25.0",
"apollo-type-bigint": "^0.1.3", "apollo-type-bigint": "^0.1.3",
"decimal.js": "^10.3.1", "decimal.js": "^10.3.1",
"typeorm": "^0.2.32" "typeorm": "^0.2.32",
"debug": "^4.3.1",
"reflect-metadata": "^0.1.13",
"graphql-request": "^3.4.0",
"yargs": "^17.0.1",
"json-bigint": "^1.0.0",
"express": "^4.17.1",
"graphql-import-node": "^0.0.4"
}, },
"scripts": { "scripts": {
"server": "DEBUG=vulcanize:* nodemon --watch src src/server.ts -f environments/local.toml",
"server:mock": "MOCK=1 nodemon src/server.ts -f environments/local.toml",
"job-runner": "DEBUG=vulcanize:* nodemon --watch src src/job-runner.ts -f environments/local.toml",
"test": "mocha -r ts-node/register src/**/*.spec.ts",
"lint": "eslint .", "lint": "eslint .",
"test": "mocha -r ts-node/register src/**/*.spec.ts",
"test:gpev": "mocha src/get-prev-entity.test.ts",
"build": "tsc", "build": "tsc",
"server": "DEBUG=vulcanize:* node dist/server.js",
"server:dev": "DEBUG=vulcanize:* nodemon --watch src src/server.ts",
"server:mock": "MOCK=1 nodemon src/server.ts",
"job-runner": "DEBUG=vulcanize:* node dist/job-runner.js",
"job-runner:dev": "DEBUG=vulcanize:* nodemon --watch src src/job-runner.ts",
"smoke-test": "mocha src/smoke.test.ts",
"fill": "DEBUG=vulcanize:* node dist/fill.js",
"fill:dev": "DEBUG=vulcanize:* ts-node src/fill.ts",
"generate:schema": "get-graphql-schema https://api.thegraph.com/subgraphs/name/ianlapham/uniswap-v3-alt > docs/analysis/schema/full-schema.graphql", "generate:schema": "get-graphql-schema https://api.thegraph.com/subgraphs/name/ianlapham/uniswap-v3-alt > docs/analysis/schema/full-schema.graphql",
"generate:health-schema": "get-graphql-schema https://api.thegraph.com/index-node/graphql > docs/analysis/schema/health-schema.graphql", "generate:health-schema": "get-graphql-schema https://api.thegraph.com/index-node/graphql > docs/analysis/schema/health-schema.graphql",
"lint:schema": "graphql-schema-linter", "lint:schema": "graphql-schema-linter"
"smoke-test": "mocha src/smoke.test.ts",
"test:gpev": "mocha src/get-prev-entity.test.ts",
"fill": "DEBUG=vulcanize:* ts-node src/fill.ts -f environments/local.toml"
}, },
"devDependencies": { "devDependencies": {
"@types/chance": "^1.1.2", "@types/chance": "^1.1.2",
"@types/express": "^4.17.11", "@types/express": "^4.17.11",
"@typescript-eslint/eslint-plugin": "^4.25.0", "@typescript-eslint/eslint-plugin": "^4.25.0",
"@typescript-eslint/parser": "^4.25.0", "@typescript-eslint/parser": "^4.25.0",
"@uniswap/v3-core": "1.0.0",
"chai": "^4.3.4", "chai": "^4.3.4",
"chance": "^1.1.7", "chance": "^1.1.7",
"eslint": "^7.27.0", "eslint": "^7.27.0",
@ -47,6 +60,8 @@
"mocha": "^8.4.0", "mocha": "^8.4.0",
"nodemon": "^2.0.7", "nodemon": "^2.0.7",
"ts-node": "^10.0.0", "ts-node": "^10.0.0",
"typescript": "^4.3.2" "typescript": "^4.3.2",
"ethers": "^5.2.0",
"lodash": "^4.17.21"
} }
} }

View File

@ -12,6 +12,7 @@ import {
LessThanOrEqual, LessThanOrEqual,
QueryRunner QueryRunner
} from 'typeorm'; } from 'typeorm';
import path from 'path';
import { import {
Database as BaseDatabase, Database as BaseDatabase,
@ -50,7 +51,12 @@ export class Database implements DatabaseInterface {
constructor (config: ConnectionOptions) { constructor (config: ConnectionOptions) {
assert(config); assert(config);
this._config = config;
this._config = {
...config,
entities: [path.join(__dirname, 'entity/*')]
};
this._baseDatabase = new BaseDatabase(this._config); this._baseDatabase = new BaseDatabase(this._config);
} }

View File

@ -10,7 +10,7 @@ import debug from 'debug';
import { getCache } from '@vulcanize/cache'; import { getCache } from '@vulcanize/cache';
import { EthClient } from '@vulcanize/ipld-eth-client'; import { EthClient } from '@vulcanize/ipld-eth-client';
import { getConfig, fillBlocks, JobQueue } from '@vulcanize/util'; import { getConfig, fillBlocks, JobQueue, DEFAULT_CONFIG_PATH } from '@vulcanize/util';
import { Client as UniClient } from '@vulcanize/uni-watcher'; import { Client as UniClient } from '@vulcanize/uni-watcher';
import { Client as ERC20Client } from '@vulcanize/erc20-watcher'; import { Client as ERC20Client } from '@vulcanize/erc20-watcher';
@ -30,7 +30,8 @@ export const main = async (): Promise<any> => {
type: 'string', type: 'string',
require: true, require: true,
demandOption: true, demandOption: true,
describe: 'configuration file path (toml)' describe: 'configuration file path (toml)',
default: DEFAULT_CONFIG_PATH
}, },
startBlock: { startBlock: {
type: 'number', type: 'number',

View File

@ -18,6 +18,8 @@ import { BlockProgress } from './entity/BlockProgress';
import { SyncStatus } from './entity/SyncStatus'; import { SyncStatus } from './entity/SyncStatus';
import { Token } from './entity/Token'; import { Token } from './entity/Token';
const CONFIG_FILE = './environments/local.toml';
describe('getPrevEntityVersion', () => { describe('getPrevEntityVersion', () => {
let db: Database; let db: Database;
let blocks: Block[][]; let blocks: Block[][];
@ -27,8 +29,7 @@ describe('getPrevEntityVersion', () => {
before(async () => { before(async () => {
// Get config. // Get config.
const configFile = './environments/local.toml'; const config = await getConfig(CONFIG_FILE);
const config = await getConfig(configFile);
const { database: dbConfig } = config; const { database: dbConfig } = config;
assert(dbConfig, 'Missing dbConfig.'); assert(dbConfig, 'Missing dbConfig.');

View File

@ -18,7 +18,8 @@ import {
QUEUE_BLOCK_PROCESSING, QUEUE_BLOCK_PROCESSING,
QUEUE_EVENT_PROCESSING, QUEUE_EVENT_PROCESSING,
JobRunner as BaseJobRunner, JobRunner as BaseJobRunner,
JobQueueConfig JobQueueConfig,
DEFAULT_CONFIG_PATH
} from '@vulcanize/util'; } from '@vulcanize/util';
import { Indexer } from './indexer'; import { Indexer } from './indexer';
@ -72,7 +73,8 @@ export const main = async (): Promise<any> => {
alias: 'config-file', alias: 'config-file',
demandOption: true, demandOption: true,
describe: 'configuration file path (toml)', describe: 'configuration file path (toml)',
type: 'string' type: 'string',
default: DEFAULT_CONFIG_PATH
}) })
.argv; .argv;

View File

@ -15,7 +15,7 @@ import { createServer } from 'http';
import { Client as ERC20Client } from '@vulcanize/erc20-watcher'; import { Client as ERC20Client } from '@vulcanize/erc20-watcher';
import { Client as UniClient } from '@vulcanize/uni-watcher'; import { Client as UniClient } from '@vulcanize/uni-watcher';
import { EthClient } from '@vulcanize/ipld-eth-client'; import { EthClient } from '@vulcanize/ipld-eth-client';
import { getConfig, JobQueue } from '@vulcanize/util'; import { DEFAULT_CONFIG_PATH, getConfig, JobQueue } from '@vulcanize/util';
import { getCache } from '@vulcanize/cache'; import { getCache } from '@vulcanize/cache';
import typeDefs from './schema'; import typeDefs from './schema';
@ -34,7 +34,8 @@ export const main = async (): Promise<any> => {
alias: 'config-file', alias: 'config-file',
demandOption: true, demandOption: true,
describe: 'configuration file path (toml)', describe: 'configuration file path (toml)',
type: 'string' type: 'string',
default: DEFAULT_CONFIG_PATH
}) })
.argv; .argv;

View File

@ -42,6 +42,7 @@ import {
fetchTransaction fetchTransaction
} from '../test/utils'; } from '../test/utils';
const CONFIG_FILE = './environments/local.toml';
const NETWORK_RPC_URL = 'http://localhost:8545'; const NETWORK_RPC_URL = 'http://localhost:8545';
describe('uni-info-watcher', () => { describe('uni-info-watcher', () => {
@ -67,8 +68,7 @@ describe('uni-info-watcher', () => {
signer = provider.getSigner(); signer = provider.getSigner();
recipient = await signer.getAddress(); recipient = await signer.getAddress();
const configFile = './environments/local.toml'; config = await getConfig(CONFIG_FILE);
config = await getConfig(configFile);
const { upstream, server: { host, port } } = config; const { upstream, server: { host, port } } = config;
const endpoint = `http://${host}:${port}/graphql`; const endpoint = `http://${host}:${port}/graphql`;

View File

@ -73,5 +73,5 @@
"resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */ "resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */
}, },
"include": ["src"], "include": ["src"],
"exclude": ["dist"] "exclude": ["dist", "src/**/*.test.ts", "src/**/*.spec.ts"]
} }

View File

@ -37,20 +37,45 @@ Update `environments/local.toml` with database connection settings for both the
## Run ## Run
Build files:
```bash
$ yarn build
```
Run the server: Run the server:
```bash ```bash
$ yarn server $ yarn server
# For development.
$ yarn server:dev
# For specifying config file.
$ yarn server -f environments/local.toml
``` ```
Start the job runner: Start the job runner:
```bash ```bash
$ yarn job-runner $ yarn job-runner
# For development.
$ yarn job-runner:dev
# For specifying config file.
$ yarn job-runner -f environments/local.toml
``` ```
Start watching the factory contract: Start watching the factory contract:
```bash
$ yarn watch:contract --address 0xContractAddress --kind <contract-kind> --startingBlock <start-block>
# For specifying config file.
$ yarn watch:contract -f environments/local.toml --address 0xContractAddress --kind <contract-kind> --startingBlock <start-block>
```
Example: Example:
```bash ```bash
@ -68,7 +93,10 @@ $ yarn watch:contract --address 0xB171168C0df9457Ff3E3D795aE25Bf4f41e2FFE3 --kin
To fill a block range: To fill a block range:
```bash ```bash
$ yarn fill --startBlock <from-block> --endBlock <to-block> yarn fill --startBlock <from-block> --endBlock <to-block>
# For specifying config file.
$ yarn fill -f environments/local.toml --startBlock <from-block> --endBlock <to-block>
``` ```
Example: Example:

View File

@ -12,15 +12,6 @@
synchronize = true synchronize = true
logging = false logging = false
entities = [ "src/entity/**/*.ts" ]
migrations = [ "src/migration/**/*.ts" ]
subscribers = [ "src/subscriber/**/*.ts" ]
[database.cli]
entitiesDir = "src/entity"
migrationsDir = "src/migration"
subscribersDir = "src/subscriber"
[upstream] [upstream]
[upstream.ethServer] [upstream.ethServer]
gqlApiEndpoint = "http://127.0.0.1:8082/graphql" gqlApiEndpoint = "http://127.0.0.1:8082/graphql"

View File

@ -1,6 +0,0 @@
//
// Copyright 2021 Vulcanize, Inc.
//
export * from './src/client';
export * from './src/utils/index';

View File

@ -3,19 +3,23 @@
"version": "0.1.0", "version": "0.1.0",
"description": "Uniswap v3 Watcher", "description": "Uniswap v3 Watcher",
"private": true, "private": true,
"main": "index.ts", "main": "dist/index.js",
"scripts": { "scripts": {
"server": "DEBUG=vulcanize:* nodemon --watch src src/server.ts -f environments/local.toml",
"server:mock": "MOCK=1 nodemon src/server.ts -f environments/local.toml",
"job-runner": "DEBUG=vulcanize:* nodemon --watch src src/job-runner.ts -f environments/local.toml",
"fill": "DEBUG=vulcanize:* ts-node src/fill.ts -f environments/local.toml",
"test": "mocha src/**/*.spec.ts",
"lint": "eslint .", "lint": "eslint .",
"build": "tsc", "test": "mocha src/**/*.spec.ts",
"watch:contract": "ts-node src/cli/watch-contract.ts --configFile environments/local.toml",
"test:init": "ts-node test/init.ts", "test:init": "ts-node test/init.ts",
"test:chain-pruning": "mocha src/chain-pruning.test.ts",
"build": "tsc",
"server": "DEBUG=vulcanize:* node dist/server.js",
"server:dev": "DEBUG=vulcanize:* nodemon --watch src src/server.ts",
"server:mock": "MOCK=1 nodemon src/server.ts ",
"job-runner": "DEBUG=vulcanize:* node dist/job-runner.js",
"job-runner:dev": "DEBUG=vulcanize:* nodemon --watch src src/job-runner.ts",
"smoke-test": "yarn test:init && mocha src/smoke.test.ts", "smoke-test": "yarn test:init && mocha src/smoke.test.ts",
"test:chain-pruning": "mocha src/chain-pruning.test.ts" "fill": "DEBUG=vulcanize:* node dist/fill.js",
"fill:dev": "DEBUG=vulcanize:* ts-node src/fill.ts",
"watch:contract": "node dist/cli/watch-contract.js",
"watch:contract:dev": "ts-node src/cli/watch-contract.ts"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -28,45 +32,35 @@
}, },
"homepage": "https://github.com/vulcanize/watcher-ts#readme", "homepage": "https://github.com/vulcanize/watcher-ts#readme",
"dependencies": { "dependencies": {
"@graphql-tools/schema": "^7.1.5",
"@types/lodash": "^4.14.168", "@types/lodash": "^4.14.168",
"@vulcanize/cache": "^0.1.0", "@vulcanize/cache": "^0.1.0",
"@vulcanize/ipld-eth-client": "^0.1.0", "@vulcanize/ipld-eth-client": "^0.1.0",
"@vulcanize/solidity-mapper": "^0.1.0", "@vulcanize/solidity-mapper": "^0.1.0",
"@vulcanize/util": "^0.1.0", "@vulcanize/util": "^0.1.0",
"@apollo/client": "^3.3.19",
"apollo-server-express": "^2.25.0", "apollo-server-express": "^2.25.0",
"apollo-type-bigint": "^0.1.3", "apollo-type-bigint": "^0.1.3",
"debug": "^4.3.1", "debug": "^4.3.1",
"ethers": "^5.2.0", "ethers": "^5.2.0",
"express": "^4.17.1", "express": "^4.17.1",
"express-graphql": "^0.12.0",
"fs-extra": "^10.0.0",
"graphql": "^15.5.0", "graphql": "^15.5.0",
"graphql-import-node": "^0.0.4", "graphql-import-node": "^0.0.4",
"graphql-request": "^3.4.0", "graphql-request": "^3.4.0",
"json-bigint": "^1.0.0", "json-bigint": "^1.0.0",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"pg": "^8.6.0",
"reflect-metadata": "^0.1.13", "reflect-metadata": "^0.1.13",
"toml": "^3.0.0",
"typeorm": "^0.2.32", "typeorm": "^0.2.32",
"typeorm-naming-strategies": "^2.0.0",
"yargs": "^17.0.1" "yargs": "^17.0.1"
}, },
"devDependencies": { "devDependencies": {
"@ethersproject/abi": "^5.3.0",
"@nomiclabs/hardhat-ethers": "^2.0.2",
"@nomiclabs/hardhat-waffle": "^2.0.1",
"@types/chai": "^4.2.18", "@types/chai": "^4.2.18",
"@types/express": "^4.17.11", "@types/express": "^4.17.11",
"@types/fs-extra": "^9.0.11",
"@types/json-bigint": "^1.0.0", "@types/json-bigint": "^1.0.0",
"@types/mocha": "^8.2.2", "@types/mocha": "^8.2.2",
"@types/yargs": "^17.0.0", "@types/yargs": "^17.0.0",
"@typescript-eslint/eslint-plugin": "^4.25.0", "@typescript-eslint/eslint-plugin": "^4.25.0",
"@typescript-eslint/parser": "^4.25.0", "@typescript-eslint/parser": "^4.25.0",
"@uniswap/v3-core": "1.0.0", "@uniswap/v3-core": "1.0.0",
"@uniswap/v3-periphery": "^1.1.1",
"chai": "^4.3.4", "chai": "^4.3.4",
"eslint": "^7.27.0", "eslint": "^7.27.0",
"eslint-config-semistandard": "^15.0.1", "eslint-config-semistandard": "^15.0.1",
@ -75,7 +69,6 @@
"eslint-plugin-node": "^11.1.0", "eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^5.1.0", "eslint-plugin-promise": "^5.1.0",
"eslint-plugin-standard": "^5.0.0", "eslint-plugin-standard": "^5.0.0",
"hardhat": "^2.3.0",
"mocha": "^8.4.0", "mocha": "^8.4.0",
"nodemon": "^2.0.7", "nodemon": "^2.0.7",
"ts-node": "^10.0.0", "ts-node": "^10.0.0",

View File

@ -17,6 +17,8 @@ import { Database } from './database';
import { BlockProgress } from './entity/BlockProgress'; import { BlockProgress } from './entity/BlockProgress';
import { SyncStatus } from './entity/SyncStatus'; import { SyncStatus } from './entity/SyncStatus';
const CONFIG_FILE = './environments/local.toml';
describe('chain pruning', () => { describe('chain pruning', () => {
let db: Database; let db: Database;
let indexer: Indexer; let indexer: Indexer;
@ -24,8 +26,7 @@ describe('chain pruning', () => {
before(async () => { before(async () => {
// Get config. // Get config.
const configFile = './environments/local.toml'; const config = await getConfig(CONFIG_FILE);
const config = await getConfig(configFile);
const { upstream, database: dbConfig, jobQueue: jobQueueConfig } = config; const { upstream, database: dbConfig, jobQueue: jobQueueConfig } = config;

View File

@ -6,7 +6,7 @@ import assert from 'assert';
import yargs from 'yargs'; import yargs from 'yargs';
import 'reflect-metadata'; import 'reflect-metadata';
import { Config, getConfig } from '@vulcanize/util'; import { Config, DEFAULT_CONFIG_PATH, getConfig } from '@vulcanize/util';
import { Database } from '../database'; import { Database } from '../database';
import { watchContract } from '../utils/index'; import { watchContract } from '../utils/index';
@ -16,10 +16,12 @@ import { watchContract } from '../utils/index';
'parse-numbers': false 'parse-numbers': false
}).options({ }).options({
configFile: { configFile: {
alias: 'f',
type: 'string', type: 'string',
require: true, require: true,
demandOption: true, demandOption: true,
describe: 'configuration file path (toml)' describe: 'configuration file path (toml)',
default: DEFAULT_CONFIG_PATH
}, },
address: { address: {
type: 'string', type: 'string',

View File

@ -4,6 +4,7 @@
import assert from 'assert'; import assert from 'assert';
import { Connection, ConnectionOptions, DeepPartial, QueryRunner, FindConditions } from 'typeorm'; import { Connection, ConnectionOptions, DeepPartial, QueryRunner, FindConditions } from 'typeorm';
import path from 'path';
import { Database as BaseDatabase, DatabaseInterface } from '@vulcanize/util'; import { Database as BaseDatabase, DatabaseInterface } from '@vulcanize/util';
@ -19,7 +20,12 @@ export class Database implements DatabaseInterface {
constructor (config: ConnectionOptions) { constructor (config: ConnectionOptions) {
assert(config); assert(config);
this._config = config;
this._config = {
...config,
entities: [path.join(__dirname, 'entity/*')]
};
this._baseDatabase = new BaseDatabase(this._config); this._baseDatabase = new BaseDatabase(this._config);
} }

View File

@ -11,7 +11,7 @@ import { PubSub } from 'apollo-server-express';
import { getCache } from '@vulcanize/cache'; import { getCache } from '@vulcanize/cache';
import { EthClient } from '@vulcanize/ipld-eth-client'; import { EthClient } from '@vulcanize/ipld-eth-client';
import { getConfig, fillBlocks, JobQueue } from '@vulcanize/util'; import { getConfig, fillBlocks, JobQueue, DEFAULT_CONFIG_PATH } from '@vulcanize/util';
import { Database } from './database'; import { Database } from './database';
import { Indexer } from './indexer'; import { Indexer } from './indexer';
@ -28,7 +28,8 @@ export const main = async (): Promise<any> => {
type: 'string', type: 'string',
require: true, require: true,
demandOption: true, demandOption: true,
describe: 'configuration file path (toml)' describe: 'configuration file path (toml)',
default: DEFAULT_CONFIG_PATH
}, },
startBlock: { startBlock: {
type: 'number', type: 'number',

View File

@ -0,0 +1,6 @@
//
// Copyright 2021 Vulcanize, Inc.
//
export * from './client';
export * from './utils/index';

View File

@ -16,7 +16,8 @@ import {
JobRunner as BaseJobRunner, JobRunner as BaseJobRunner,
QUEUE_BLOCK_PROCESSING, QUEUE_BLOCK_PROCESSING,
QUEUE_EVENT_PROCESSING, QUEUE_EVENT_PROCESSING,
JobQueueConfig JobQueueConfig,
DEFAULT_CONFIG_PATH
} from '@vulcanize/util'; } from '@vulcanize/util';
import { Indexer } from './indexer'; import { Indexer } from './indexer';
@ -87,7 +88,8 @@ export const main = async (): Promise<any> => {
alias: 'config-file', alias: 'config-file',
demandOption: true, demandOption: true,
describe: 'configuration file path (toml)', describe: 'configuration file path (toml)',
type: 'string' type: 'string',
default: DEFAULT_CONFIG_PATH
}) })
.argv; .argv;

View File

@ -14,7 +14,7 @@ import { createServer } from 'http';
import { getCache } from '@vulcanize/cache'; import { getCache } from '@vulcanize/cache';
import { EthClient } from '@vulcanize/ipld-eth-client'; import { EthClient } from '@vulcanize/ipld-eth-client';
import { getConfig, JobQueue } from '@vulcanize/util'; import { DEFAULT_CONFIG_PATH, getConfig, JobQueue } from '@vulcanize/util';
import typeDefs from './schema'; import typeDefs from './schema';
@ -32,7 +32,8 @@ export const main = async (): Promise<any> => {
alias: 'config-file', alias: 'config-file',
demandOption: true, demandOption: true,
describe: 'configuration file path (toml)', describe: 'configuration file path (toml)',
type: 'string' type: 'string',
default: DEFAULT_CONFIG_PATH
}) })
.argv; .argv;

View File

@ -20,7 +20,6 @@ import {
approveToken, approveToken,
NFPM_ABI NFPM_ABI
} from '@vulcanize/util/test'; } from '@vulcanize/util/test';
import { Client as UniClient } from '@vulcanize/uni-watcher';
import { getCache } from '@vulcanize/cache'; import { getCache } from '@vulcanize/cache';
import { EthClient } from '@vulcanize/ipld-eth-client'; import { EthClient } from '@vulcanize/ipld-eth-client';
import { import {
@ -30,6 +29,7 @@ import {
abi as POOL_ABI abi as POOL_ABI
} from '@uniswap/v3-core/artifacts/contracts/UniswapV3Pool.sol/UniswapV3Pool.json'; } from '@uniswap/v3-core/artifacts/contracts/UniswapV3Pool.sol/UniswapV3Pool.json';
import { Client as UniClient } from './client';
import { Indexer } from './indexer'; import { Indexer } from './indexer';
import { Database } from './database'; import { Database } from './database';
import { import {
@ -44,6 +44,7 @@ import {
checksCollectEvent checksCollectEvent
} from '../test/utils'; } from '../test/utils';
const CONFIG_FILE = './environments/local.toml';
const NETWORK_RPC_URL = 'http://localhost:8545'; const NETWORK_RPC_URL = 'http://localhost:8545';
describe('uni-watcher', () => { describe('uni-watcher', () => {
@ -68,8 +69,7 @@ describe('uni-watcher', () => {
let recipient: string; let recipient: string;
before(async () => { before(async () => {
const configFile = './environments/local.toml'; config = await getConfig(CONFIG_FILE);
config = await getConfig(configFile);
const { database: dbConfig, upstream, server: { host, port } } = config; const { database: dbConfig, upstream, server: { host, port } } = config;
assert(dbConfig, 'Missing dbConfig.'); assert(dbConfig, 'Missing dbConfig.');

View File

@ -5,7 +5,6 @@
import { Contract, ethers, Signer } from 'ethers'; import { Contract, ethers, Signer } from 'ethers';
import assert from 'assert'; import assert from 'assert';
import { Client as UniClient } from '@vulcanize/uni-watcher';
import { import {
getConfig getConfig
} from '@vulcanize/util'; } from '@vulcanize/util';
@ -18,9 +17,11 @@ import {
bytecode as FACTORY_BYTECODE bytecode as FACTORY_BYTECODE
} from '@uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json'; } from '@uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json';
import { Client as UniClient } from '../src/client';
import { Database } from '../src/database'; import { Database } from '../src/database';
import { watchContract } from '../src/utils/index'; import { watchContract } from '../src/utils/index';
const CONFIG_FILE = './environments/local.toml';
const NETWORK_RPC_URL = 'http://localhost:8545'; const NETWORK_RPC_URL = 'http://localhost:8545';
const deployFactoryContract = async (db: Database, signer: Signer): Promise<Contract> => { const deployFactoryContract = async (db: Database, signer: Signer): Promise<Contract> => {
@ -50,8 +51,7 @@ const deployNFPMContract = async (db: Database, signer: Signer, factory: Contrac
const main = async () => { const main = async () => {
// Get config. // Get config.
const configFile = './environments/local.toml'; const config = await getConfig(CONFIG_FILE);
const config = await getConfig(configFile);
const { database: dbConfig, server: { host, port } } = config; const { database: dbConfig, server: { host, port } } = config;
assert(dbConfig, 'Missing dbConfig.'); assert(dbConfig, 'Missing dbConfig.');

View File

@ -6,9 +6,10 @@ import { ethers, Contract, Signer } from 'ethers';
import { expect } from 'chai'; import { expect } from 'chai';
import 'mocha'; import 'mocha';
import { Client as UniClient } from '@vulcanize/uni-watcher';
import { createPool, initializePool } from '@vulcanize/util/test'; import { createPool, initializePool } from '@vulcanize/util/test';
import { Client as UniClient } from '../src/client';
export const testCreatePool = async ( export const testCreatePool = async (
uniClient: UniClient, uniClient: UniClient,
factory: Contract, factory: Contract,

View File

@ -73,5 +73,5 @@
"resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */ "resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */
}, },
"include": ["src"], "include": ["src"],
"exclude": ["dist"] "exclude": ["dist", "src/**/*.test.ts"]
} }

View File

@ -1,13 +1,12 @@
{ {
"name": "@vulcanize/util", "name": "@vulcanize/util",
"version": "0.1.0", "version": "0.1.0",
"main": "index.js", "main": "dist/index.js",
"license": "AGPL-3.0", "license": "AGPL-3.0",
"dependencies": { "dependencies": {
"debug": "^4.3.1", "debug": "^4.3.1",
"ethers": "^5.2.0", "ethers": "^5.2.0",
"fs-extra": "^10.0.0", "fs-extra": "^10.0.0",
"pg": "^8.6.0",
"pg-boss": "^6.1.0", "pg-boss": "^6.1.0",
"toml": "^3.0.0" "toml": "^3.0.0"
}, },
@ -16,7 +15,8 @@
"@typescript-eslint/eslint-plugin": "^4.25.0", "@typescript-eslint/eslint-plugin": "^4.25.0",
"@typescript-eslint/parser": "^4.25.0", "@typescript-eslint/parser": "^4.25.0",
"@vulcanize/cache": "^0.1.0", "@vulcanize/cache": "^0.1.0",
"chai": "^4.3.4", "@vulcanize/ipld-eth-client": "^0.1.0",
"@uniswap/v3-periphery": "1.0.0",
"eslint": "^7.27.0", "eslint": "^7.27.0",
"eslint-config-semistandard": "^15.0.1", "eslint-config-semistandard": "^15.0.1",
"eslint-config-standard": "^16.0.3", "eslint-config-standard": "^16.0.3",
@ -25,8 +25,11 @@
"eslint-plugin-promise": "^5.1.0", "eslint-plugin-promise": "^5.1.0",
"eslint-plugin-standard": "^5.0.0", "eslint-plugin-standard": "^5.0.0",
"hardhat": "^2.3.0", "hardhat": "^2.3.0",
"mocha": "^8.4.0", "typeorm": "^0.2.32",
"typeorm": "^0.2.32" "typeorm-naming-strategies": "^2.0.0",
"lodash": "^4.17.21",
"apollo-server-express": "^2.25.0",
"decimal.js": "^10.3.1"
}, },
"scripts": { "scripts": {
"lint": "eslint .", "lint": "eslint .",

View File

@ -10,3 +10,5 @@ export const QUEUE_CHAIN_PRUNING = 'chain-pruning';
export const JOB_KIND_INDEX = 'index'; export const JOB_KIND_INDEX = 'index';
export const JOB_KIND_PRUNE = 'prune'; export const JOB_KIND_PRUNE = 'prune';
export const DEFAULT_CONFIG_PATH = 'environments/local.toml';

View File

@ -72,6 +72,5 @@
"forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */ "forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */
"resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */ "resolveJsonModule": true /* Enabling the option allows importing JSON, and validating the types in that JSON file. */
}, },
"include": ["src", "test"], "exclude": ["test", "dist", "artifacts", "cache"]
"exclude": ["dist"]
} }

538
yarn.lock
View File

@ -21,6 +21,24 @@
tslib "^1.10.0" tslib "^1.10.0"
zen-observable "^0.8.14" zen-observable "^0.8.14"
"@apollo/client@^3.4.10":
version "3.4.10"
resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.4.10.tgz#cee9ed75b1bb7f391c55d79300ecf87096e59792"
integrity sha512-b+8TT3jBM2BtEJi+V2FuLpvoYDZCY3baNYrgAgEyw4fjnuBCSRPY7qVjqriZAwMaGiTLtyVifGhmdeICQs4Eow==
dependencies:
"@graphql-typed-document-node/core" "^3.0.0"
"@wry/context" "^0.6.0"
"@wry/equality" "^0.5.0"
"@wry/trie" "^0.3.0"
graphql-tag "^2.12.3"
hoist-non-react-statics "^3.3.2"
optimism "^0.16.1"
prop-types "^15.7.2"
symbol-observable "^4.0.0"
ts-invariant "^0.9.0"
tslib "^2.3.0"
zen-observable-ts "^1.1.0"
"@apollo/protobufjs@1.2.2": "@apollo/protobufjs@1.2.2":
version "1.2.2" version "1.2.2"
resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.2.tgz#4bd92cd7701ccaef6d517cdb75af2755f049f87c" resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.2.tgz#4bd92cd7701ccaef6d517cdb75af2755f049f87c"
@ -86,11 +104,62 @@
dependencies: dependencies:
"@babel/highlight" "^7.12.13" "@babel/highlight" "^7.12.13"
"@babel/code-frame@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb"
integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==
dependencies:
"@babel/highlight" "^7.14.5"
"@babel/generator@^7.15.0":
version "7.15.0"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.0.tgz#a7d0c172e0d814974bad5aa77ace543b97917f15"
integrity sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==
dependencies:
"@babel/types" "^7.15.0"
jsesc "^2.5.1"
source-map "^0.5.0"
"@babel/helper-function-name@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4"
integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==
dependencies:
"@babel/helper-get-function-arity" "^7.14.5"
"@babel/template" "^7.14.5"
"@babel/types" "^7.14.5"
"@babel/helper-get-function-arity@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815"
integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==
dependencies:
"@babel/types" "^7.14.5"
"@babel/helper-hoist-variables@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d"
integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==
dependencies:
"@babel/types" "^7.14.5"
"@babel/helper-split-export-declaration@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a"
integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==
dependencies:
"@babel/types" "^7.14.5"
"@babel/helper-validator-identifier@^7.14.0": "@babel/helper-validator-identifier@^7.14.0":
version "7.14.0" version "7.14.0"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288"
integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==
"@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9":
version "7.14.9"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48"
integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==
"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": "@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13":
version "7.14.0" version "7.14.0"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf"
@ -100,6 +169,52 @@
chalk "^2.0.0" chalk "^2.0.0"
js-tokens "^4.0.0" js-tokens "^4.0.0"
"@babel/highlight@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"
integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==
dependencies:
"@babel/helper-validator-identifier" "^7.14.5"
chalk "^2.0.0"
js-tokens "^4.0.0"
"@babel/parser@^7.12.5", "@babel/parser@^7.14.5", "@babel/parser@^7.15.0":
version "7.15.3"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.3.tgz#3416d9bea748052cfcb63dbcc27368105b1ed862"
integrity sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==
"@babel/template@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4"
integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==
dependencies:
"@babel/code-frame" "^7.14.5"
"@babel/parser" "^7.14.5"
"@babel/types" "^7.14.5"
"@babel/traverse@^7.12.5":
version "7.15.0"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.0.tgz#4cca838fd1b2a03283c1f38e141f639d60b3fc98"
integrity sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==
dependencies:
"@babel/code-frame" "^7.14.5"
"@babel/generator" "^7.15.0"
"@babel/helper-function-name" "^7.14.5"
"@babel/helper-hoist-variables" "^7.14.5"
"@babel/helper-split-export-declaration" "^7.14.5"
"@babel/parser" "^7.15.0"
"@babel/types" "^7.15.0"
debug "^4.1.0"
globals "^11.1.0"
"@babel/types@^7.14.5", "@babel/types@^7.15.0":
version "7.15.0"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd"
integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==
dependencies:
"@babel/helper-validator-identifier" "^7.14.9"
to-fast-properties "^2.0.0"
"@ensdomains/ens@^0.4.4": "@ensdomains/ens@^0.4.4":
version "0.4.5" version "0.4.5"
resolved "https://registry.yarnpkg.com/@ensdomains/ens/-/ens-0.4.5.tgz#e0aebc005afdc066447c6e22feb4eda89a5edbfc" resolved "https://registry.yarnpkg.com/@ensdomains/ens/-/ens-0.4.5.tgz#e0aebc005afdc066447c6e22feb4eda89a5edbfc"
@ -2215,6 +2330,11 @@
"@types/abstract-leveldown" "*" "@types/abstract-leveldown" "*"
"@types/level-codec" "*" "@types/level-codec" "*"
"@types/estree@^0.0.48":
version "0.0.48"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.48.tgz#18dc8091b285df90db2f25aa7d906cfc394b7f74"
integrity sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==
"@types/express-serve-static-core@4.17.19": "@types/express-serve-static-core@4.17.19":
version "4.17.19" version "4.17.19"
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz#00acfc1632e729acac4f1530e9e16f6dd1508a1d" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz#00acfc1632e729acac4f1530e9e16f6dd1508a1d"
@ -2506,6 +2626,11 @@
dependencies: dependencies:
"@types/yargs-parser" "*" "@types/yargs-parser" "*"
"@types/zen-observable@0.8.3":
version "0.8.3"
resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.3.tgz#781d360c282436494b32fe7d9f7f8e64b3118aa3"
integrity sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==
"@types/zen-observable@^0.8.0", "@types/zen-observable@^0.8.2": "@types/zen-observable@^0.8.0", "@types/zen-observable@^0.8.2":
version "0.8.2" version "0.8.2"
resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.2.tgz#808c9fa7e4517274ed555fa158f2de4b4f468e71" resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.2.tgz#808c9fa7e4517274ed555fa158f2de4b4f468e71"
@ -2613,6 +2738,73 @@
base64-sol "1.0.1" base64-sol "1.0.1"
hardhat-watcher "^2.1.1" hardhat-watcher "^2.1.1"
"@vue/compiler-core@3.2.6":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.6.tgz#7162bb0670273f04566af0d353009187ab577915"
integrity sha512-vbwnz7+OhtLO5p5i630fTuQCL+MlUpEMTKHuX+RfetQ+3pFCkItt2JUH+9yMaBG2Hkz6av+T9mwN/acvtIwpbw==
dependencies:
"@babel/parser" "^7.15.0"
"@babel/types" "^7.15.0"
"@vue/shared" "3.2.6"
estree-walker "^2.0.2"
source-map "^0.6.1"
"@vue/compiler-dom@3.2.6":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.6.tgz#3764d7fe1a696e39fb2a3c9d638da0749e369b2d"
integrity sha512-+a/3oBAzFIXhHt8L5IHJOTP4a5egzvpXYyi13jR7CUYOR1S+Zzv7vBWKYBnKyJLwnrxTZnTQVjeHCgJq743XKg==
dependencies:
"@vue/compiler-core" "3.2.6"
"@vue/shared" "3.2.6"
"@vue/compiler-sfc@^3.0.5":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.6.tgz#d6ab7410cff57081ab627b15a1ea51a1072c7cf1"
integrity sha512-Ariz1eDsf+2fw6oWXVwnBNtfKHav72RjlWXpEgozYBLnfRPzP+7jhJRw4Nq0OjSsLx2HqjF3QX7HutTjYB0/eA==
dependencies:
"@babel/parser" "^7.15.0"
"@babel/types" "^7.15.0"
"@types/estree" "^0.0.48"
"@vue/compiler-core" "3.2.6"
"@vue/compiler-dom" "3.2.6"
"@vue/compiler-ssr" "3.2.6"
"@vue/ref-transform" "3.2.6"
"@vue/shared" "3.2.6"
consolidate "^0.16.0"
estree-walker "^2.0.2"
hash-sum "^2.0.0"
lru-cache "^5.1.1"
magic-string "^0.25.7"
merge-source-map "^1.1.0"
postcss "^8.1.10"
postcss-modules "^4.0.0"
postcss-selector-parser "^6.0.4"
source-map "^0.6.1"
"@vue/compiler-ssr@3.2.6":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.6.tgz#cadcf199859fa00739f4275b4c85970e4b0abe7d"
integrity sha512-A7IKRKHSyPnTC4w1FxHkjzoyjXInsXkcs/oX22nBQ+6AWlXj2Tt1le96CWPOXy5vYlsTYkF1IgfBaKIdeN/39g==
dependencies:
"@vue/compiler-dom" "3.2.6"
"@vue/shared" "3.2.6"
"@vue/ref-transform@3.2.6":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/ref-transform/-/ref-transform-3.2.6.tgz#30b5f1fa77daf9894bc23e6a5a0e3586a4a796b8"
integrity sha512-ie39+Y4nbirDLvH+WEq6Eo/l3n3mFATayqR+kEMSphrtMW6Uh/eEMx1Gk2Jnf82zmj3VLRq7dnmPx72JLcBYkQ==
dependencies:
"@babel/parser" "^7.15.0"
"@vue/compiler-core" "3.2.6"
"@vue/shared" "3.2.6"
estree-walker "^2.0.2"
magic-string "^0.25.7"
"@vue/shared@3.2.6":
version "3.2.6"
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.6.tgz#2c22bae88fe2b7b59fa68a9c9c4cd60bae2c1794"
integrity sha512-uwX0Qs2e6kdF+WmxwuxJxOnKs/wEkMArtYpHSm7W+VY/23Tl8syMRyjnzEeXrNCAP0/8HZxEGkHJsjPEDNRuHw==
"@wry/context@^0.6.0": "@wry/context@^0.6.0":
version "0.6.0" version "0.6.0"
resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.6.0.tgz#f903eceb89d238ef7e8168ed30f4511f92d83e06" resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.6.0.tgz#f903eceb89d238ef7e8168ed30f4511f92d83e06"
@ -2634,6 +2826,13 @@
dependencies: dependencies:
tslib "^2.1.0" tslib "^2.1.0"
"@wry/equality@^0.5.0":
version "0.5.2"
resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.2.tgz#72c8a7a7d884dff30b612f4f8464eba26c080e73"
integrity sha512-oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA==
dependencies:
tslib "^2.3.0"
"@wry/trie@^0.3.0": "@wry/trie@^0.3.0":
version "0.3.0" version "0.3.0"
resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.3.0.tgz#3245e74988c4e3033299e479a1bf004430752463" resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.3.0.tgz#3245e74988c4e3033299e479a1bf004430752463"
@ -3857,6 +4056,11 @@ before-after-hook@^2.2.0:
resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e"
integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==
big.js@^5.2.2:
version "5.2.2"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
bignumber.js@^9.0.0: bignumber.js@^9.0.0:
version "9.0.1" version "9.0.1"
resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.1.tgz#8d7ba124c882bfd8e43260c67475518d0689e4e5" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.1.tgz#8d7ba124c882bfd8e43260c67475518d0689e4e5"
@ -3883,7 +4087,7 @@ blakejs@^1.1.0:
resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5" resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5"
integrity sha1-ad+S75U6qIylGjLfarHFShVfx6U= integrity sha1-ad+S75U6qIylGjLfarHFShVfx6U=
bluebird@^3.5.0, bluebird@^3.5.2: bluebird@^3.5.0, bluebird@^3.5.2, bluebird@^3.7.2:
version "3.7.2" version "3.7.2"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
@ -4275,7 +4479,7 @@ camelcase@^5.0.0, camelcase@^5.3.1:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
camelcase@^6.0.0: camelcase@^6.0.0, camelcase@^6.2.0:
version "6.2.0" version "6.2.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
@ -4400,7 +4604,7 @@ chokidar@3.5.1, chokidar@^3.2.2, chokidar@^3.4.0:
optionalDependencies: optionalDependencies:
fsevents "~2.3.1" fsevents "~2.3.1"
chokidar@^3.4.3: "chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.3:
version "3.5.2" version "3.5.2"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
@ -4595,6 +4799,11 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
colorette@^1.2.2:
version "1.3.0"
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af"
integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==
columnify@^1.5.4: columnify@^1.5.4:
version "1.5.4" version "1.5.4"
resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb"
@ -4694,6 +4903,13 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0:
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
consolidate@^0.16.0:
version "0.16.0"
resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.16.0.tgz#a11864768930f2f19431660a65906668f5fbdc16"
integrity sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==
dependencies:
bluebird "^3.7.2"
content-disposition@0.5.3: content-disposition@0.5.3:
version "0.5.3" version "0.5.3"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
@ -4990,6 +5206,11 @@ crypto-random-string@^2.0.0:
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
cssesc@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
cssfilter@0.0.10: cssfilter@0.0.10:
version "0.0.10" version "0.0.10"
resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae"
@ -5055,6 +5276,13 @@ debug@^3.1.0, debug@^3.2.6, debug@^3.2.7:
dependencies: dependencies:
ms "^2.1.1" ms "^2.1.1"
debug@^4.2.0:
version "4.3.2"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
dependencies:
ms "2.1.2"
debuglog@^1.0.1: debuglog@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
@ -5221,6 +5449,35 @@ delegates@^1.0.0:
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
depcheck@^1.4.2:
version "1.4.2"
resolved "https://registry.yarnpkg.com/depcheck/-/depcheck-1.4.2.tgz#dedeb8729b8fdf990e2bc45a869d99cfb4460097"
integrity sha512-oYaBLRbF5NMkYxc5rltnqtuPAn25Lx5xPBIJXy5oUVBgrEDDtotCoYUfFH8lvcmSWzgk1Ts9H+f4Rk0oWL51LQ==
dependencies:
"@babel/parser" "^7.12.5"
"@babel/traverse" "^7.12.5"
"@vue/compiler-sfc" "^3.0.5"
camelcase "^6.2.0"
cosmiconfig "^7.0.0"
debug "^4.2.0"
deps-regex "^0.1.4"
ignore "^5.1.8"
is-core-module "^2.4.0"
js-yaml "^3.14.0"
json5 "^2.1.3"
lodash "^4.17.20"
minimatch "^3.0.4"
multimatch "^5.0.0"
please-upgrade-node "^3.2.0"
query-ast "^1.0.3"
readdirp "^3.5.0"
require-package-name "^2.0.1"
resolve "^1.18.1"
sass "^1.29.0"
scss-parser "^1.0.4"
semver "^7.3.2"
yargs "^16.1.0"
depd@^1.1.2, depd@~1.1.2: depd@^1.1.2, depd@~1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
@ -5236,6 +5493,11 @@ deprecation@^2.0.0, deprecation@^2.3.1:
resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
deps-regex@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/deps-regex/-/deps-regex-0.1.4.tgz#518667b7691460a5e7e0a341be76eb7ce8090184"
integrity sha1-UYZnt2kUYKXn4KNBvnbrfOgJAYQ=
des.js@^1.0.0: des.js@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843"
@ -5413,6 +5675,11 @@ emoji-regex@^8.0.0:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
emojis-list@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
encodeurl@~1.0.2: encodeurl@~1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
@ -5773,6 +6040,11 @@ estraverse@^5.1.0, estraverse@^5.2.0:
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
estree-walker@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
esutils@^2.0.2: esutils@^2.0.2:
version "2.0.3" version "2.0.3"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
@ -6878,6 +7150,13 @@ gauge@~2.7.3:
strip-ansi "^3.0.1" strip-ansi "^3.0.1"
wide-align "^1.1.0" wide-align "^1.1.0"
generic-names@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-2.0.1.tgz#f8a378ead2ccaa7a34f0317b05554832ae41b872"
integrity sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==
dependencies:
loader-utils "^1.1.0"
get-caller-file@^1.0.1: get-caller-file@^1.0.1:
version "1.0.3" version "1.0.3"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
@ -7076,6 +7355,11 @@ global@~4.4.0:
min-document "^2.19.0" min-document "^2.19.0"
process "^0.11.10" process "^0.11.10"
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==
globals@^12.1.0: globals@^12.1.0:
version "12.4.0" version "12.4.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
@ -7198,6 +7482,13 @@ graphql-tag@^2.11.0, graphql-tag@^2.12.0:
dependencies: dependencies:
tslib "^2.1.0" tslib "^2.1.0"
graphql-tag@^2.12.3:
version "2.12.5"
resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.5.tgz#5cff974a67b417747d05c8d9f5f3cb4495d0db8f"
integrity sha512-5xNhP4063d16Pz3HBtKprutsPrmHZi5IdUGOWRxA2B6VF7BIRGOHZ5WQvDmJXZuPcBg7rYwaFxvQYjqkSdR3TQ==
dependencies:
tslib "^2.1.0"
graphql-tools@^4.0.8: graphql-tools@^4.0.8:
version "4.0.8" version "4.0.8"
resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.8.tgz#e7fb9f0d43408fb0878ba66b522ce871bafe9d30" resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.8.tgz#e7fb9f0d43408fb0878ba66b522ce871bafe9d30"
@ -7415,6 +7706,11 @@ hash-base@^3.0.0:
readable-stream "^3.6.0" readable-stream "^3.6.0"
safe-buffer "^5.2.0" safe-buffer "^5.2.0"
hash-sum@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a"
integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==
hash.js@1.1.3: hash.js@1.1.3:
version "1.1.3" version "1.1.3"
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846"
@ -7577,6 +7873,16 @@ iconv-lite@^0.6.2:
dependencies: dependencies:
safer-buffer ">= 2.1.2 < 3.0.0" safer-buffer ">= 2.1.2 < 3.0.0"
icss-replace-symbols@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=
icss-utils@^5.0.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
idna-uts46-hx@^2.3.1: idna-uts46-hx@^2.3.1:
version "2.3.1" version "2.3.1"
resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9"
@ -7606,7 +7912,7 @@ ignore@^4.0.6:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
ignore@^5.1.1, ignore@^5.1.4: ignore@^5.1.1, ignore@^5.1.4, ignore@^5.1.8:
version "5.1.8" version "5.1.8"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
@ -7743,7 +8049,7 @@ interpret@^1.0.0:
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
invariant@^2.2.2: invariant@2.2.4, invariant@^2.2.2:
version "2.2.4" version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
@ -8207,7 +8513,7 @@ js-yaml@4.0.0:
dependencies: dependencies:
argparse "^2.0.1" argparse "^2.0.1"
js-yaml@^3.13.1: js-yaml@^3.13.1, js-yaml@^3.14.0:
version "3.14.1" version "3.14.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
@ -8232,6 +8538,11 @@ jsesc@^1.3.0:
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
jsesc@^2.5.1:
version "2.5.2"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
jsesc@~0.5.0: jsesc@~0.5.0:
version "0.5.0" version "0.5.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
@ -8327,6 +8638,13 @@ json5@^1.0.1:
dependencies: dependencies:
minimist "^1.2.0" minimist "^1.2.0"
json5@^2.1.3:
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"
jsonfile@^2.1.0: jsonfile@^2.1.0:
version "2.4.0" version "2.4.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
@ -8808,6 +9126,15 @@ load-json-file@^6.2.0:
strip-bom "^4.0.0" strip-bom "^4.0.0"
type-fest "^0.6.0" type-fest "^0.6.0"
loader-utils@^1.1.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
dependencies:
big.js "^5.2.2"
emojis-list "^3.0.0"
json5 "^1.0.1"
locate-path@^2.0.0: locate-path@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
@ -8848,6 +9175,11 @@ lodash.assign@^4.0.3, lodash.assign@^4.0.6:
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=
lodash.camelcase@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
lodash.clonedeep@^4.5.0: lodash.clonedeep@^4.5.0:
version "4.5.0" version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
@ -8898,7 +9230,7 @@ lodash@4.17.20:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0: lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0:
version "4.17.21" version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@ -9010,6 +9342,13 @@ luxon@^1.26.0:
resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.27.0.tgz#ae10c69113d85dab8f15f5e8390d0cbeddf4f00f" resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.27.0.tgz#ae10c69113d85dab8f15f5e8390d0cbeddf4f00f"
integrity sha512-VKsFsPggTA0DvnxtJdiExAucKdAnwbCCNlMM5ENvHlxubqWd0xhZcdb4XgZ7QFNhaRhilXCFxHuoObP5BNA4PA== integrity sha512-VKsFsPggTA0DvnxtJdiExAucKdAnwbCCNlMM5ENvHlxubqWd0xhZcdb4XgZ7QFNhaRhilXCFxHuoObP5BNA4PA==
magic-string@^0.25.7:
version "0.25.7"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
dependencies:
sourcemap-codec "^1.4.4"
make-dir@^2.1.0: make-dir@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
@ -9193,6 +9532,13 @@ merge-descriptors@1.0.1:
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
merge-source-map@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646"
integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==
dependencies:
source-map "^0.6.1"
merge-stream@^2.0.0: merge-stream@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@ -9639,6 +9985,11 @@ nanoid@3.1.20:
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788"
integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==
nanoid@^3.1.23:
version "3.1.25"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152"
integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==
nanomatch@^1.2.9: nanomatch@^1.2.9:
version "1.2.13" version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@ -10099,7 +10450,7 @@ open@^7.4.2:
is-docker "^2.0.0" is-docker "^2.0.0"
is-wsl "^2.1.1" is-wsl "^2.1.1"
optimism@^0.16.0: optimism@^0.16.0, optimism@^0.16.1:
version "0.16.1" version "0.16.1"
resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.16.1.tgz#7c8efc1f3179f18307b887e18c15c5b7133f6e7d" resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.16.1.tgz#7c8efc1f3179f18307b887e18c15c5b7133f6e7d"
integrity sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg== integrity sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg==
@ -10669,11 +11020,82 @@ pkg-up@^2.0.0:
dependencies: dependencies:
find-up "^2.1.0" find-up "^2.1.0"
please-upgrade-node@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
dependencies:
semver-compare "^1.0.0"
posix-character-classes@^0.1.0: posix-character-classes@^0.1.0:
version "0.1.1" version "0.1.1"
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
postcss-modules-extract-imports@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d"
integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==
postcss-modules-local-by-default@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c"
integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==
dependencies:
icss-utils "^5.0.0"
postcss-selector-parser "^6.0.2"
postcss-value-parser "^4.1.0"
postcss-modules-scope@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06"
integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==
dependencies:
postcss-selector-parser "^6.0.4"
postcss-modules-values@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c"
integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==
dependencies:
icss-utils "^5.0.0"
postcss-modules@^4.0.0:
version "4.2.2"
resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-4.2.2.tgz#5e7777c5a8964ea176919d90b2e54ef891321ce5"
integrity sha512-/H08MGEmaalv/OU8j6bUKi/kZr2kqGF6huAW8m9UAgOLWtpFdhA14+gPBoymtqyv+D4MLsmqaF2zvIegdCxJXg==
dependencies:
generic-names "^2.0.1"
icss-replace-symbols "^1.1.0"
lodash.camelcase "^4.3.0"
postcss-modules-extract-imports "^3.0.0"
postcss-modules-local-by-default "^4.0.0"
postcss-modules-scope "^3.0.0"
postcss-modules-values "^4.0.0"
string-hash "^1.1.1"
postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4:
version "6.0.6"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea"
integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==
dependencies:
cssesc "^3.0.0"
util-deprecate "^1.0.2"
postcss-value-parser@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
postcss@^8.1.10:
version "8.3.6"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea"
integrity sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==
dependencies:
colorette "^1.2.2"
nanoid "^3.1.23"
source-map-js "^0.6.2"
postgres-array@~2.0.0: postgres-array@~2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e"
@ -10938,6 +11360,13 @@ qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
query-ast@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/query-ast/-/query-ast-1.0.4.tgz#efa832e1270cc3e0ab42291716f73a7de1928c2a"
integrity sha512-KFJFSvODCBjIH5HbHvITj9EEZKYUU6VX0T5CuB1ayvjUoUaZkKMi6eeby5Tf8DMukyZHlJQOE1+f3vevKUe6eg==
dependencies:
invariant "2.2.4"
query-string@^5.0.1: query-string@^5.0.1:
version "5.1.1" version "5.1.1"
resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb"
@ -11181,6 +11610,13 @@ readdir-scoped-modules@^1.0.0:
graceful-fs "^4.1.2" graceful-fs "^4.1.2"
once "^1.3.0" once "^1.3.0"
readdirp@^3.5.0, readdirp@~3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
dependencies:
picomatch "^2.2.1"
readdirp@~3.2.0: readdirp@~3.2.0:
version "3.2.0" version "3.2.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839"
@ -11195,13 +11631,6 @@ readdirp@~3.5.0:
dependencies: dependencies:
picomatch "^2.2.1" picomatch "^2.2.1"
readdirp@~3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
dependencies:
picomatch "^2.2.1"
rechoir@^0.6.2: rechoir@^0.6.2:
version "0.6.2" version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
@ -11373,6 +11802,11 @@ require-main-filename@^2.0.0:
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
require-package-name@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/require-package-name/-/require-package-name-2.0.1.tgz#c11e97276b65b8e2923f75dabf5fb2ef0c3841b9"
integrity sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=
resolve-cwd@^3.0.0: resolve-cwd@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
@ -11407,7 +11841,7 @@ resolve@1.17.0, resolve@~1.17.0:
dependencies: dependencies:
path-parse "^1.0.6" path-parse "^1.0.6"
resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.20.0, resolve@^1.8.1: resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.8.1:
version "1.20.0" version "1.20.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
@ -11534,6 +11968,13 @@ safe-regex@^1.1.0:
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
sass@^1.29.0:
version "1.38.2"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.38.2.tgz#970045d9966180002a8c8f3820fc114cddb42822"
integrity sha512-Bz1fG6qiyF0FX6m/I+VxtdVKz1Dfmg/e9kfDy2PhWOkq3T384q2KxwIfP0fXpeI+EyyETdOauH+cRHQDFASllA==
dependencies:
chokidar ">=3.0.0 <4.0.0"
sax@>=0.6.0: sax@>=0.6.0:
version "1.2.4" version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
@ -11551,6 +11992,13 @@ scryptsy@^1.2.1:
dependencies: dependencies:
pbkdf2 "^3.0.3" pbkdf2 "^3.0.3"
scss-parser@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/scss-parser/-/scss-parser-1.0.5.tgz#2297d688a4c300e94552f72c41fd7de092d19c4b"
integrity sha512-RZOtvCmCnwkDo7kdcYBi807Y5EoTIxJ34AgEgJNDmOH1jl0/xG0FyYZFbH6Ga3Iwu7q8LSdxJ4C5UkzNXjQxKQ==
dependencies:
invariant "2.2.4"
secp256k1@^4.0.1: secp256k1@^4.0.1:
version "4.0.2" version "4.0.2"
resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.2.tgz#15dd57d0f0b9fdb54ac1fa1694f40e5e9a54f4a1" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.2.tgz#15dd57d0f0b9fdb54ac1fa1694f40e5e9a54f4a1"
@ -11575,6 +12023,11 @@ semaphore@>=1.0.1, semaphore@^1.0.3, semaphore@^1.1.0:
resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa" resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa"
integrity sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA== integrity sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==
semver-compare@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
semver-diff@^3.1.1: semver-diff@^3.1.1:
version "3.1.1" version "3.1.1"
resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b"
@ -11897,6 +12350,11 @@ sort-keys@^4.0.0:
dependencies: dependencies:
is-plain-obj "^2.0.0" is-plain-obj "^2.0.0"
source-map-js@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e"
integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==
source-map-resolve@^0.5.0: source-map-resolve@^0.5.0:
version "0.5.3" version "0.5.3"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
@ -11936,7 +12394,7 @@ source-map-url@^0.4.0:
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56"
integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==
source-map@^0.5.6, source-map@^0.5.7: source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7:
version "0.5.7" version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
@ -11946,6 +12404,11 @@ source-map@^0.6.0, source-map@^0.6.1:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
sourcemap-codec@^1.4.4:
version "1.4.8"
resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
spdx-correct@^3.0.0: spdx-correct@^3.0.0:
version "3.1.1" version "3.1.1"
resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
@ -12068,6 +12531,11 @@ strict-uri-encode@^2.0.0:
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
string-hash@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b"
integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=
string-width@^1.0.1: string-width@^1.0.1:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
@ -12319,6 +12787,11 @@ symbol-observable@^2.0.0:
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-2.0.3.tgz#5b521d3d07a43c351055fa43b8355b62d33fd16a" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-2.0.3.tgz#5b521d3d07a43c351055fa43b8355b62d33fd16a"
integrity sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA== integrity sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==
symbol-observable@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205"
integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==
table@^6.0.9: table@^6.0.9:
version "6.7.1" version "6.7.1"
resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2"
@ -12479,6 +12952,11 @@ to-fast-properties@^1.0.3:
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
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: to-object-path@^0.3.0:
version "0.3.0" version "0.3.0"
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
@ -12612,6 +13090,13 @@ ts-invariant@^0.7.0:
dependencies: dependencies:
tslib "^2.1.0" tslib "^2.1.0"
ts-invariant@^0.9.0:
version "0.9.1"
resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.9.1.tgz#87dfde9894a4ce3c7711b02b1b449e7fd7384b13"
integrity sha512-hSeYibh29ULlHkuEfukcoiyTct+s2RzczMLTv4x3NWC/YrBy7x7ps5eYq/b4Y3Sb9/uAlf54+/5CAEMVxPhuQw==
dependencies:
tslib "^2.1.0"
ts-node@^10.0.0: ts-node@^10.0.0:
version "10.0.0" version "10.0.0"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.0.0.tgz#05f10b9a716b0b624129ad44f0ea05dac84ba3be" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.0.0.tgz#05f10b9a716b0b624129ad44f0ea05dac84ba3be"
@ -12648,6 +13133,11 @@ tslib@^2.0.3, tslib@^2.1.0, tslib@~2.2.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c"
integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==
tslib@^2.3.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
tslib@~2.0.1: tslib@~2.0.1:
version "2.0.3" version "2.0.3"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c"
@ -13028,7 +13518,7 @@ utf8@3.0.0, utf8@^3.0.0:
resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1"
integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==
util-deprecate@^1.0.1, util-deprecate@~1.0.1: util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
@ -13802,7 +14292,7 @@ yargs@13.3.2, yargs@^13.3.0:
y18n "^4.0.0" y18n "^4.0.0"
yargs-parser "^13.1.2" yargs-parser "^13.1.2"
yargs@16.2.0, yargs@^16.0.0, yargs@^16.2.0: yargs@16.2.0, yargs@^16.0.0, yargs@^16.1.0, yargs@^16.2.0:
version "16.2.0" version "16.2.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
@ -13874,7 +14364,15 @@ zen-observable-ts@^1.0.0:
"@types/zen-observable" "^0.8.2" "@types/zen-observable" "^0.8.2"
zen-observable "^0.8.15" zen-observable "^0.8.15"
zen-observable@^0.8.0, zen-observable@^0.8.14, zen-observable@^0.8.15: zen-observable-ts@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.1.0.tgz#2d1aa9d79b87058e9b75698b92791c1838551f83"
integrity sha512-1h4zlLSqI2cRLPJUHJFL8bCWHhkpuXkF+dbGkRaWjgDIG26DmzyshUMrdV/rL3UnR+mhaX4fRq8LPouq0MYYIA==
dependencies:
"@types/zen-observable" "0.8.3"
zen-observable "0.8.15"
zen-observable@0.8.15, zen-observable@^0.8.0, zen-observable@^0.8.14, zen-observable@^0.8.15:
version "0.8.15" version "0.8.15"
resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15"
integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==