From 9714067809cb35ba9a6a486c6495073d2957b93f Mon Sep 17 00:00:00 2001 From: nymd Date: Tue, 6 Jul 2021 10:06:25 -0700 Subject: [PATCH] Staging to master (#105) * refactoring metrics batching; to us-east * refactoring metrics batching; to us-east * refactoring metrics batching; to west and eu * refactoring metrics batching; to west and eu * reverting metrics change * reverting metrics change * fixing error handling due to pocket-js type switch * fixing error handling due to pocket-js type switch * fixing legacy codec for transactions * fixing legacy codec for transactions * testing rollback of pocket-js, singapore only * testing rollback of pocket-js, singapore only * push 0.6.3 to all regions * push 0.6.3 to all regions * singapore to pocket-js 0.6.5 * singapore to pocket-js 0.6.5 * singapore rollback to 0.6.3 * singapore rollback to 0.6.3 * first pass at recording client type - singapore * first pass at recording client type - singapore * logging client type - singapore * logging client type - singapore * removing openeth- singapore * removing openeth- singapore * removing openeth- usw2 * removing openeth- usw2 * removing openeth- use2 euw1 * removing openeth- use2 euw1 * test fix for pocket-js to singapore * test fix for pocket-js to singapore * pushing js fix to others * pushing js fix to others * removing client side filtering * removing client side filtering * marking JSON errors as actual errors * marking JSON errors as actual errors * singapore only * singapore only * other regions get error fix * other regions get error fix * testing 0.6.11 to singapore * testing 0.6.11 to singapore * max dispatchers to 50 and out to usw2 * max dispatchers to 50 and out to usw2 * to other regions * to other regions * better error messaging * better error messaging * better error messaging2 * better error messaging2 * setting maxSessionRefresh to 1 * setting maxSessionRefresh to 1 * initial sync check * initial sync check * initial sync check with all files * initial sync check with all files * sync check structure with lock * sync check structure with lock * reverting temporarily * reverting temporarily * sync list cache * sync list cache * sync list cache 2 * sync list cache 2 * sync list cache 3 * sync list cache 3 * sync check to each node * sync check to each node * sync check to each node * sync check to each node * sync check to each node * sync check to each node * sync check to each node with result * sync check to each node with result * sync check to each node with result * sync check to each node with result * full sync check test * full sync check test * full sync check test, more logging * full sync check test, more logging * added challenge * added challenge * fixing logic bug in height check * fixing logic bug in height check * sync check to other regions * sync check to other regions * branch testing for pabel, singapore * branch testing for pabel, singapore * session fix test to singapore * session fix test to singapore * session fix test to others * session fix test to others * profiling to us-w-2 * profiling to us-w-2 * enabling profiler, usw2 * enabling profiler, usw2 * missing files * missing files * profiling to timescale * profiling to timescale * logging profiler * logging profiler * fixing profile data format * fixing profile data format * fixing profile data format * fixing profile data format * fixing profile data format * fixing profile data format * fixing profile data format * fixing profile data format * fixing profile data format * fixing profile data format * fixing profile data format * fixing profile data format * fixing profile data format * fixing profile data format * milliseconds fix and removing logging * milliseconds fix and removing logging * fixing sync checker timeout * fixing sync checker timeout * fixing sync checker timeout * fixing sync checker timeout * sync timeout to 5s * sync timeout to 5s * adding blockchain to profiler * adding blockchain to profiler * adding sync log back, fixing consensus check boolean and node address log * adding sync log back, fixing consensus check boolean and node address log * turning off profiler * turning off profiler * adding more logging around sync check * adding more logging around sync check * adding metrics errors for out of sync nodes * adding metrics errors for out of sync nodes * passing request ID through sync checker * passing request ID through sync checker * fixing sort with 0 at the top * fixing sort with 0 at the top * additional sync logging * additional sync logging * fixing sync error handling * fixing sync error handling * removing session tumble error from metrics * removing session tumble error from metrics * changing default leeway on blockheight to 2 * changing default leeway on blockheight to 2 * making sync allowance variable from the db per chain * making sync allowance variable from the db per chain * blockchain fix * blockchain fix * fix 2 * fix 2 * fixing excess relay times from bad data on sync check * fixing excess relay times from bad data on sync check * fixing long metrics relays * fixing long metrics relays * reducing sync check timeout * reducing sync check timeout * refactor sync check step 1 * refactor sync check step 1 * sync checker refactor step 2 * sync checker refactor step 2 * sync checker refactor step 3 * sync checker refactor step 3 * sync checker refactor step 3a * sync checker refactor step 3a * sync checker refactor step 4 * sync checker refactor step 4 * sync checker refactor done * sync checker refactor done * sync checker refactor logging * sync checker refactor logging * sync checker refactor logging 2 * sync checker refactor logging 2 * upgrade loopback, singleton pocket, only to staging env * upgrade loopback, singleton pocket, only to staging env * upgrade loopback, singleton pocket, only to staging env -- activating with files * upgrade loopback, singleton pocket, only to staging env -- activating with files * injectable binding change * injectable binding change * removing injectable? * removing injectable? * pushing change to usw2 * pushing change to usw2 * to other regions * to other regions * reverting singleton * reverting singleton * reverting loopback upgrade * reverting loopback upgrade * logz.io test * logz.io test * changing sync check default to 3 blocks allowed * changing sync check default to 3 blocks allowed * removing cruft from task def * removing cruft from task def * sync check to 3 nodes default, logger to logz.io * sync check to 3 nodes default, logger to logz.io * loosening cherry picker now that sync check filters bad nodes first * loosening cherry picker now that sync check filters bad nodes first * Added temporal dispatchers * Added temporal dispatchers * Revert "Added temporal dispatchers" This reverts commit fbc9c795443ff109b0e8e85b5bfe9abccbfc099a. * Revert "Added temporal dispatchers" This reverts commit 0d64064968c36ffbe17e5b4056be038841bf3ea7. * Added temporal dispatchers * Added temporal dispatchers * Revert "Added temporal dispatchers" This reverts commit e7764ff8c60ca93c505b891470dfcf05f722ff4f. * Revert "Added temporal dispatchers" This reverts commit 9cefdb78465317c92c660f87c104bd4c851a6c06. * chore: disable deployments after rebase * chore: disable deployments after rebase * moving gateway to us-e-2 * moving gateway to us-e-2 * adding eu-w-1, turning back on all deploys * adding eu-w-1, turning back on all deploys * reduce CPU and ram of each instance * reduce CPU and ram of each instance * http method passed correctly * http method passed correctly * Update issue templates * Update issue templates * chore: merge staging * chore: merge staging * fixup: enable AAT_PLAN env var and allow deployments to testnet and staging * chore: use dev db * chore: deploy to staging on staging branch, off ftm * fix: swap branches and keep off * Bump color-string from 1.5.4 to 1.5.5 Bumps [color-string](https://github.com/Qix-/color-string) from 1.5.4 to 1.5.5. - [Release notes](https://github.com/Qix-/color-string/releases) - [Changelog](https://github.com/Qix-/color-string/blob/master/CHANGELOG.md) - [Commits](https://github.com/Qix-/color-string/compare/1.5.4...1.5.5) --- updated-dependencies: - dependency-name: color-string dependency-type: indirect ... Signed-off-by: dependabot[bot] * Bump normalize-url from 4.5.0 to 4.5.1 Bumps [normalize-url](https://github.com/sindresorhus/normalize-url) from 4.5.0 to 4.5.1. - [Release notes](https://github.com/sindresorhus/normalize-url/releases) - [Commits](https://github.com/sindresorhus/normalize-url/commits) --- updated-dependencies: - dependency-name: normalize-url dependency-type: indirect ... Signed-off-by: dependabot[bot] * changing up to start in daemon mode * pinning mongodb to prod version, removing s3 moc * bringing example up to date * fixes #80; removes s3 remnants. also minor fixes: pinning mongo version and removing files that should not be committed * prepping staging workflow * updating loopback 4 * pinning mongo version * removing comment from .env line which was breaking the import * removing comment that is breaking env example * making scripts use diff connection strings per instance * simplifying data import * making gateway wait for other services * fixes #83; lb cannot be found due to blockchain subdomain hack * Develop to staging (#103) * updating loopback 4 * pinning mongo version * removing comment from .env line which was breaking the import * removing comment that is breaking env example * making scripts use diff connection strings per instance * simplifying data import * making gateway wait for other services * fixes #83; lb cannot be found due to blockchain subdomain hack * New altruist implementation (#100) * new altruist implementation * adding check for blank relaypath, not just undefined * Updating example to match realities * pushing feature branch to staging * fixing bad subdomain parsing * removing subdomain hack, localhost can work with subdomains * db test for staging * db test for staging * db test for staging * db test for staging * fixing logging of debug and wrapping axios in try catch * testing on usw2 * fixing memory reservation for fargate * removing excess logging, vestigal interfaces * restoring CORS headers * restoring CORS headers * restoring CORS headers * restoring CORS headers * restoring CORS headers * restoring push on master to production files * updating requires to imports, resolving PR comments * reverting logger import change * pushing to usw2 * pointing workflows back to correct branches Co-authored-by: Luis de Leon Co-authored-by: Luis C. de Leon Co-authored-by: derrandz Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .dockerignore | 2 + .env.example | 37 + .github/ISSUE_TEMPLATE/bug-report.md | 1 + .github/ISSUE_TEMPLATE/feature-request.md | 1 + .../ISSUE_TEMPLATE/new-shape-up-request.md | 26 + .../workflows/production-ap-southeast-1.yml | 8 +- .github/workflows/production-eu-west-1.yml | 13 +- .github/workflows/production-us-east-2.yml | 13 +- .github/workflows/production-us-west-2.yml | 14 +- .github/workflows/staging-us-west-2.yml | 10 +- .github/workflows/testnet.yml | 5 +- .gitignore | 16 +- .tasks.env.example | 9 + Dockerfile | 21 +- README.md | 26 + .../acceptance/home-page.acceptance.d.ts | 1 - .../acceptance/home-page.acceptance.js | 27 - .../acceptance/home-page.acceptance.js.map | 1 - .../ping.controller.acceptance.d.ts | 1 - .../acceptance/ping.controller.acceptance.js | 19 - .../ping.controller.acceptance.js.map | 1 - dist/__tests__/acceptance/test-helper.d.ts | 7 - dist/__tests__/acceptance/test-helper.js | 22 - dist/__tests__/acceptance/test-helper.js.map | 1 - dist/application.d.ts | 249 - dist/application.js | 155 - dist/application.js.map | 1 - dist/controllers/blockchains.controller.d.ts | 15 - dist/controllers/blockchains.controller.js | 186 - .../controllers/blockchains.controller.js.map | 1 - dist/controllers/index.d.ts | 3 - dist/controllers/index.js | 7 - dist/controllers/index.js.map | 1 - dist/controllers/ping.controller.d.ts | 10 - dist/controllers/ping.controller.js | 65 - dist/controllers/ping.controller.js.map | 1 - dist/controllers/v1.controller.d.ts | 56 - dist/controllers/v1.controller.js | 271 - dist/controllers/v1.controller.js.map | 1 - dist/datasources/gateway.datasource.d.ts | 13 - dist/datasources/gateway.datasource.js | 36 - dist/datasources/gateway.datasource.js.map | 1 - dist/datasources/index.d.ts | 1 - dist/datasources/index.js | 5 - dist/datasources/index.js.map | 1 - dist/errors/relay-err.d.ts | 8 - dist/errors/relay-err.js | 15 - dist/errors/relay-err.js.map | 1 - dist/errors/relay-error.d.ts | 8 - dist/errors/relay-error.js | 15 - dist/errors/relay-error.js.map | 1 - dist/index.d.ts | 4 - dist/index.js | 15 - dist/index.js.map | 1 - dist/migrate.d.ts | 1 - dist/migrate.js | 20 - dist/migrate.js.map | 1 - dist/models/applications.model.d.ts | 16 - dist/models/applications.model.js | 67 - dist/models/applications.model.js.map | 1 - dist/models/blockchains.model.d.ts | 17 - dist/models/blockchains.model.js | 79 - dist/models/blockchains.model.js.map | 1 - dist/models/index.d.ts | 3 - dist/models/index.js | 7 - dist/models/index.js.map | 1 - dist/models/load-balancers.model.d.ts | 12 - dist/models/load-balancers.model.js | 45 - dist/models/load-balancers.model.js.map | 1 - dist/models/pocket-application.model.d.ts | 17 - dist/models/pocket-application.model.js | 73 - dist/models/pocket-application.model.js.map | 1 - .../repositories/applications.repository.d.ts | 6 - dist/repositories/applications.repository.js | 18 - .../applications.repository.js.map | 1 - dist/repositories/blockchains.repository.d.ts | 6 - dist/repositories/blockchains.repository.js | 18 - .../blockchains.repository.js.map | 1 - dist/repositories/index.d.ts | 3 - dist/repositories/index.js | 7 - dist/repositories/index.js.map | 1 - .../load-balancers.repository.d.ts | 6 - .../repositories/load-balancers.repository.js | 18 - .../load-balancers.repository.js.map | 1 - dist/sequence.d.ts | 10 - dist/sequence.js | 74 - dist/sequence.js.map | 1 - dist/services/cherry-picker.d.ts | 29 - dist/services/cherry-picker.js | 266 - dist/services/cherry-picker.js.map | 1 - dist/services/logger.d.ts | 1 - dist/services/logger.js | 48 - dist/services/logger.js.map | 1 - dist/services/metrics-recorder.d.ts | 29 - dist/services/metrics-recorder.js | 89 - dist/services/metrics-recorder.js.map | 1 - dist/services/pocket-relay.d.ts | 4 - dist/services/pocket-relay.js | 10 - dist/services/pocket-relay.js.map | 1 - dist/services/pocket-relayer.d.ts | 50 - dist/services/pocket-relayer.js | 355 - dist/services/pocket-relayer.js.map | 1 - dist/services/relay-profiler.d.ts | 11 - dist/services/relay-profiler.js | 49 - dist/services/relay-profiler.js.map | 1 - dist/services/sync-checker.d.ts | 19 - dist/services/sync-checker.js | 166 - dist/services/sync-checker.js.map | 1 - docker-compose.yaml | 28 - package-lock.json | 2247 +++-- package.json | 54 +- pocket-gateway/ecs-task-ap-southeast-1.json | 8 +- pocket-gateway/ecs-task-eu-west-1.json | 10 +- pocket-gateway/ecs-task-us-east-2.json | 8 +- pocket-gateway/ecs-task-us-west-2.json | 8 +- scripts/export-production-data.sh | 12 + scripts/import-production-data.sh | 20 + src/application.ts | 191 +- src/config/aat-plans.json | 5 + src/controllers/v1.controller.ts | 72 +- src/errors/relay-error.ts | 22 +- src/index.ts | 7 +- src/sequence.ts | 39 +- src/services/cherry-picker.ts | 69 +- src/services/logger.ts | 59 +- src/services/metrics-recorder.ts | 2 +- src/services/pocket-relayer.ts | 261 +- src/services/relay-profiler.ts | 7 +- stacks/local.yml | 62 + stacks/tasks.yml | 30 + tsconfig.tsbuildinfo | 7285 ----------------- 131 files changed, 1757 insertions(+), 11845 deletions(-) create mode 100644 .dockerignore create mode 100644 .env.example create mode 100644 .github/ISSUE_TEMPLATE/new-shape-up-request.md create mode 100644 .tasks.env.example delete mode 100644 dist/__tests__/acceptance/home-page.acceptance.d.ts delete mode 100644 dist/__tests__/acceptance/home-page.acceptance.js delete mode 100644 dist/__tests__/acceptance/home-page.acceptance.js.map delete mode 100644 dist/__tests__/acceptance/ping.controller.acceptance.d.ts delete mode 100644 dist/__tests__/acceptance/ping.controller.acceptance.js delete mode 100644 dist/__tests__/acceptance/ping.controller.acceptance.js.map delete mode 100644 dist/__tests__/acceptance/test-helper.d.ts delete mode 100644 dist/__tests__/acceptance/test-helper.js delete mode 100644 dist/__tests__/acceptance/test-helper.js.map delete mode 100644 dist/application.d.ts delete mode 100644 dist/application.js delete mode 100644 dist/application.js.map delete mode 100644 dist/controllers/blockchains.controller.d.ts delete mode 100644 dist/controllers/blockchains.controller.js delete mode 100644 dist/controllers/blockchains.controller.js.map delete mode 100644 dist/controllers/index.d.ts delete mode 100644 dist/controllers/index.js delete mode 100644 dist/controllers/index.js.map delete mode 100644 dist/controllers/ping.controller.d.ts delete mode 100644 dist/controllers/ping.controller.js delete mode 100644 dist/controllers/ping.controller.js.map delete mode 100644 dist/controllers/v1.controller.d.ts delete mode 100644 dist/controllers/v1.controller.js delete mode 100644 dist/controllers/v1.controller.js.map delete mode 100644 dist/datasources/gateway.datasource.d.ts delete mode 100644 dist/datasources/gateway.datasource.js delete mode 100644 dist/datasources/gateway.datasource.js.map delete mode 100644 dist/datasources/index.d.ts delete mode 100644 dist/datasources/index.js delete mode 100644 dist/datasources/index.js.map delete mode 100644 dist/errors/relay-err.d.ts delete mode 100644 dist/errors/relay-err.js delete mode 100644 dist/errors/relay-err.js.map delete mode 100644 dist/errors/relay-error.d.ts delete mode 100644 dist/errors/relay-error.js delete mode 100644 dist/errors/relay-error.js.map delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map delete mode 100644 dist/migrate.d.ts delete mode 100644 dist/migrate.js delete mode 100644 dist/migrate.js.map delete mode 100644 dist/models/applications.model.d.ts delete mode 100644 dist/models/applications.model.js delete mode 100644 dist/models/applications.model.js.map delete mode 100644 dist/models/blockchains.model.d.ts delete mode 100644 dist/models/blockchains.model.js delete mode 100644 dist/models/blockchains.model.js.map delete mode 100644 dist/models/index.d.ts delete mode 100644 dist/models/index.js delete mode 100644 dist/models/index.js.map delete mode 100644 dist/models/load-balancers.model.d.ts delete mode 100644 dist/models/load-balancers.model.js delete mode 100644 dist/models/load-balancers.model.js.map delete mode 100644 dist/models/pocket-application.model.d.ts delete mode 100644 dist/models/pocket-application.model.js delete mode 100644 dist/models/pocket-application.model.js.map delete mode 100644 dist/repositories/applications.repository.d.ts delete mode 100644 dist/repositories/applications.repository.js delete mode 100644 dist/repositories/applications.repository.js.map delete mode 100644 dist/repositories/blockchains.repository.d.ts delete mode 100644 dist/repositories/blockchains.repository.js delete mode 100644 dist/repositories/blockchains.repository.js.map delete mode 100644 dist/repositories/index.d.ts delete mode 100644 dist/repositories/index.js delete mode 100644 dist/repositories/index.js.map delete mode 100644 dist/repositories/load-balancers.repository.d.ts delete mode 100644 dist/repositories/load-balancers.repository.js delete mode 100644 dist/repositories/load-balancers.repository.js.map delete mode 100644 dist/sequence.d.ts delete mode 100644 dist/sequence.js delete mode 100644 dist/sequence.js.map delete mode 100644 dist/services/cherry-picker.d.ts delete mode 100644 dist/services/cherry-picker.js delete mode 100644 dist/services/cherry-picker.js.map delete mode 100644 dist/services/logger.d.ts delete mode 100644 dist/services/logger.js delete mode 100644 dist/services/logger.js.map delete mode 100644 dist/services/metrics-recorder.d.ts delete mode 100644 dist/services/metrics-recorder.js delete mode 100644 dist/services/metrics-recorder.js.map delete mode 100644 dist/services/pocket-relay.d.ts delete mode 100644 dist/services/pocket-relay.js delete mode 100644 dist/services/pocket-relay.js.map delete mode 100644 dist/services/pocket-relayer.d.ts delete mode 100644 dist/services/pocket-relayer.js delete mode 100644 dist/services/pocket-relayer.js.map delete mode 100644 dist/services/relay-profiler.d.ts delete mode 100644 dist/services/relay-profiler.js delete mode 100644 dist/services/relay-profiler.js.map delete mode 100644 dist/services/sync-checker.d.ts delete mode 100644 dist/services/sync-checker.js delete mode 100644 dist/services/sync-checker.js.map delete mode 100644 docker-compose.yaml create mode 100755 scripts/export-production-data.sh create mode 100755 scripts/import-production-data.sh create mode 100644 src/config/aat-plans.json create mode 100644 stacks/local.yml create mode 100644 stacks/tasks.yml delete mode 100644 tsconfig.tsbuildinfo diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..15bf54e7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +./node_modules +./dist diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..79f5006d --- /dev/null +++ b/.env.example @@ -0,0 +1,37 @@ +# Node +NODE_ENV=development + +# Pocket-js keys +GATEWAY_CLIENT_PUBLIC_KEY= +GATEWAY_CLIENT_PRIVATE_KEY=v3rys3cr3tk3yud0nt3venkn0w +GATEWAY_CLIENT_PASSPHRASE=v3rys3cr3tp4ssphr4ze + +# Mongodb env +MONGO_ENDPOINT=mongodb://mongouser:mongopassword@db:27017/gateway?authSource=admin +DATABASE_ENCRYPTION_KEY=00000000000000000000000000000000 + +# cache +REDIS_ENDPOINT=cache:6379 +REDIS_PORT=6379 + +# tsdb env +PG_CONNECTION=postgres://pguser:pgpassword@metricsdb:5432/gateway +PG_CERTIFICATE=PG_PRODUCTION_CERTIFICATE + +# logz +LOGZ_TOKEN=12345 + +# pocket protocol dispatch and fallback nodes +DISPATCH_URL=https://node1.mainnet.pokt.network,https://node2.mainnet.pokt.network,https://node3.mainnet.pokt.network,https://node4.mainnet.pokt.network,https://node5.mainnet.pokt.network,https://node6.mainnet.pokt.network,https://node7.mainnet.pokt.network,https://node8.mainnet.pokt.network,https://node9.mainnet.pokt.network,https://node10.mainnet.pokt.network,https://node11.mainnet.pokt.network,https://node12.mainnet.pokt.network,https://node13.mainnet.pokt.network,https://node14.mainnet.pokt.network,https://node15.mainnet.pokt.network,https://node16.mainnet.pokt.network,https://node17.mainnet.pokt.network,https://node18.mainnet.pokt.network,https://node19.mainnet.pokt.network,https://node20.mainnet.pokt.network +ALTRUIST={"0001":"https://user:pass@backups.example.org:18081","0003":"https://user:pass@backups.example.org:19650","0004":"https://user:pass@backups.example.org:18552","0005":"https://user:pass@backups.example.org:18553","0009":"https://user:pass@backups.example.org:18554","0010":"https://user:pass@backups.example.org:18552","0021":"https://user:pass@backups.example.org:18545","0022":"https://user:pass@backups.example.org:18545","0023":"https://user:pass@backups.example.org:18557","0024":"https://user:pass@backups.example.org:18548","0025":"https://user:pass@backups.example.org:18555","0026":"https://user:pass@backups.example.org:18556","0027":"https://user:pass@backups.example.org:18546","0028":"https://user:pass@backups.example.org:18545","000A":"https://user:pass@backups.example.org:18553"} +POCKET_SESSION_BLOCK_FREQUENCY=4 +POCKET_BLOCK_TIME=1038000 +POCKET_RELAY_RETRIES=0 + +# Choose your AAT plan +# values: freemium, premium +AAT_PLAN=freemium + +# Development environment +WATCH=true +NODE_ENV=development diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index 49854854..a06c76dd 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -4,6 +4,7 @@ about: Create a report to help us improve title: "[BUG REPORT]" labels: bug assignees: '' + --- **Describe the bug** diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md index 1e2d9ba9..b336750c 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.md +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -4,6 +4,7 @@ about: Request a feature title: "[FEATURE REQUEST]" labels: enhancement assignees: '' + --- **Is your feature request related to a problem? Please describe.** diff --git a/.github/ISSUE_TEMPLATE/new-shape-up-request.md b/.github/ISSUE_TEMPLATE/new-shape-up-request.md new file mode 100644 index 00000000..4f821148 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/new-shape-up-request.md @@ -0,0 +1,26 @@ +--- +name: New Shape Up Request +about: A shape up request details +title: "[Request]" +labels: request:general, request:chain-up +assignees: Leke-Ariyo + +--- + +### In 2-4 sentences write a self-contained summary of idea and benefits. + +### In 2-4 sentences describe the problem the user faces that this idea addresses. + +### In 2-4 sentences describe how the propose idea address' these pain points. + +### In 2-3 sentences describe how someone would get started using this. + +(If this is baked into an exisiting product, describe this) + +### Write a quote here that you would answer to someone asking, that describes why they like the feature release. Would be used as a snippet in Public Relations. + +### Write a hypothetical customer quote about why they liked this new feature or idea. + +### Write a 1-2 sentence call-to-action for how to grab a users attention to this new feature or idea. + +### Internal FAQ diff --git a/.github/workflows/production-ap-southeast-1.yml b/.github/workflows/production-ap-southeast-1.yml index 010488ad..d8b9a0b4 100644 --- a/.github/workflows/production-ap-southeast-1.yml +++ b/.github/workflows/production-ap-southeast-1.yml @@ -2,7 +2,7 @@ name: Production Deployment ap-southeast-1 on: push: - branches: [ master-off ] + branches: [ master ] jobs: deploy: @@ -39,13 +39,15 @@ jobs: envkey_AWS_S3_LOGS_BUCKET: pocket-gateway envkey_AWS_S3_LOGS_FOLDER: logs/mainnet envkey_AWS_S3_LOGS_REGION: us-west-2 - envkey_DISPATCH_URL: https://node1.mainnet.pokt.network,https://node2.mainnet.pokt.network,https://node3.mainnet.pokt.network,https://node4.mainnet.pokt.network,https://node5.mainnet.pokt.network,https://node6.mainnet.pokt.network,https://node7.mainnet.pokt.network,https://node8.mainnet.pokt.network,https://node9.mainnet.pokt.network,https://node10.mainnet.pokt.network,https://node11.mainnet.pokt.network,https://node12.mainnet.pokt.network,https://node13.mainnet.pokt.network,https://node14.mainnet.pokt.network,https://node15.mainnet.pokt.network,https://node16.mainnet.pokt.network,https://node17.mainnet.pokt.network,https://node18.mainnet.pokt.network,https://node19.mainnet.pokt.network,https://node20.mainnet.pokt.network - envkey_FALLBACK_URL: https://alt1.mainnet.pokt.network,https://alt2.mainnet.pokt.network,https://alt3.mainnet.pokt.network,https://alt4.mainnet.pokt.network,https://alt5.mainnet.pokt.network,https://alt6.mainnet.pokt.network,https://alt7.mainnet.pokt.network,https://alt8.mainnet.pokt.network,https://alt9.mainnet.pokt.network,https://alt10.mainnet.pokt.network + envkey_DISPATCH_URL: https://mainnet-1.nodes.pokt.network:4201,https://mainnet-2.nodes.pokt.network:4202,https://mainnet-3.nodes.pokt.network:4203,https://mainnet-4.nodes.pokt.network:4204,https://mainnet-5.nodes.pokt.network:4205,https://mainnet-6.nodes.pokt.network:4206,https://mainnet-7.nodes.pokt.network:4207,https://mainnet-8.nodes.pokt.network:4208,https://mainnet-9.nodes.pokt.network:4209,https://mainnet-10.nodes.pokt.network:4210,https://mainnet-11.nodes.pokt.network:4211,https://mainnet-12.nodes.pokt.network:4212,https://mainnet-13.nodes.pokt.network:4213,https://mainnet-14.nodes.pokt.network:4214,https://mainnet-15.nodes.pokt.network:4215,https://mainnet-16.nodes.pokt.network:4216,https://mainnet-17.nodes.pokt.network:4217,https://mainnet-18.nodes.pokt.network:4218,https://mainnet-19.nodes.pokt.network:4219,https://mainnet-20.nodes.pokt.network:4220,https://mainnet-21.nodes.pokt.network:4221,https://mainnet-22.nodes.pokt.network:4222,https://mainnet-23.nodes.pokt.network:4223,https://mainnet-24.nodes.pokt.network:4224 + envkey_ALTRUISTS: ${{ secrets.POCKET_NETWORK_PRODUCTION_ALTRUISTS }} envkey_REDIS_ENDPOINT: dashboard.y2p8qe.ng.0001.apse1.cache.amazonaws.com:6379 envkey_REDIS_PORT: 6379 envkey_POCKET_SESSION_BLOCK_FREQUENCY: 4 envkey_POCKET_BLOCK_TIME: 1038000 envkey_POCKET_RELAY_RETRIES: 0 + envkey_AAT_PLAN: 'premium' + envkey_NODE_ENV: 'production' file_name: .env - name: Build, tag, and push image to Amazon ECR diff --git a/.github/workflows/production-eu-west-1.yml b/.github/workflows/production-eu-west-1.yml index adbc48d5..3fa09770 100644 --- a/.github/workflows/production-eu-west-1.yml +++ b/.github/workflows/production-eu-west-1.yml @@ -2,7 +2,7 @@ name: Production Deployment eu-west-1 on: push: - branches: [ master-off ] + branches: [ master ] jobs: deploy: @@ -34,13 +34,20 @@ jobs: envkey_PG_CONNECTION: ${{ secrets.PG_PRODUCTION_CONNECTION }} envkey_PG_CERTIFICATE: ${{ secrets.PG_PRODUCTION_CERTIFICATE }} envkey_LOGZ_TOKEN: ${{ secrets.LOGZ_TOKEN }} - envkey_DISPATCH_URL: https://node1.mainnet.pokt.network,https://node2.mainnet.pokt.network,https://node3.mainnet.pokt.network,https://node4.mainnet.pokt.network,https://node5.mainnet.pokt.network,https://node6.mainnet.pokt.network,https://node7.mainnet.pokt.network,https://node8.mainnet.pokt.network,https://node9.mainnet.pokt.network,https://node10.mainnet.pokt.network,https://node11.mainnet.pokt.network,https://node12.mainnet.pokt.network,https://node13.mainnet.pokt.network,https://node14.mainnet.pokt.network,https://node15.mainnet.pokt.network,https://node16.mainnet.pokt.network,https://node17.mainnet.pokt.network,https://node18.mainnet.pokt.network,https://node19.mainnet.pokt.network,https://node20.mainnet.pokt.network - envkey_FALLBACK_URL: https://alt1.mainnet.pokt.network,https://alt2.mainnet.pokt.network,https://alt3.mainnet.pokt.network,https://alt4.mainnet.pokt.network,https://alt5.mainnet.pokt.network,https://alt6.mainnet.pokt.network,https://alt7.mainnet.pokt.network,https://alt8.mainnet.pokt.network,https://alt9.mainnet.pokt.network,https://alt10.mainnet.pokt.network + envkey_AWS_S3_ACCESS_KEY_ID: ${{ secrets.AWS_S3_ACCESS_KEY_ID }} + envkey_AWS_S3_SECRET_ACCESS_KEY: ${{ secrets.AWS_S3_SECRET_ACCESS_KEY }} + envkey_AWS_S3_LOGS_BUCKET: pocket-gateway + envkey_AWS_S3_LOGS_FOLDER: logs/mainnet + envkey_AWS_S3_LOGS_REGION: eu-west-1 + envkey_DISPATCH_URL: https://mainnet-1.nodes.pokt.network:4201,https://mainnet-2.nodes.pokt.network:4202,https://mainnet-3.nodes.pokt.network:4203,https://mainnet-4.nodes.pokt.network:4204,https://mainnet-5.nodes.pokt.network:4205,https://mainnet-6.nodes.pokt.network:4206,https://mainnet-7.nodes.pokt.network:4207,https://mainnet-8.nodes.pokt.network:4208,https://mainnet-9.nodes.pokt.network:4209,https://mainnet-10.nodes.pokt.network:4210,https://mainnet-11.nodes.pokt.network:4211,https://mainnet-12.nodes.pokt.network:4212,https://mainnet-13.nodes.pokt.network:4213,https://mainnet-14.nodes.pokt.network:4214,https://mainnet-15.nodes.pokt.network:4215,https://mainnet-16.nodes.pokt.network:4216,https://mainnet-17.nodes.pokt.network:4217,https://mainnet-18.nodes.pokt.network:4218,https://mainnet-19.nodes.pokt.network:4219,https://mainnet-20.nodes.pokt.network:4220,https://mainnet-21.nodes.pokt.network:4221,https://mainnet-22.nodes.pokt.network:4222,https://mainnet-23.nodes.pokt.network:4223,https://mainnet-24.nodes.pokt.network:4224 + envkey_ALTRUISTS: ${{ secrets.POCKET_NETWORK_PRODUCTION_ALTRUISTS }} envkey_REDIS_ENDPOINT: gateway.dj2dgc.ng.0001.euw1.cache.amazonaws.com:6379 envkey_REDIS_PORT: 6379 envkey_POCKET_SESSION_BLOCK_FREQUENCY: 4 envkey_POCKET_BLOCK_TIME: 1038000 envkey_POCKET_RELAY_RETRIES: 0 + envkey_AAT_PLAN: 'premium' + envkey_NODE_ENV: 'production' file_name: .env - name: Build, tag, and push image to Amazon ECR diff --git a/.github/workflows/production-us-east-2.yml b/.github/workflows/production-us-east-2.yml index f866d075..5e740ffa 100644 --- a/.github/workflows/production-us-east-2.yml +++ b/.github/workflows/production-us-east-2.yml @@ -2,7 +2,7 @@ name: Production Deployment us-east-2 on: push: - branches: [ master-off ] + branches: [ master ] jobs: deploy: @@ -34,13 +34,20 @@ jobs: envkey_PG_CONNECTION: ${{ secrets.PG_PRODUCTION_CONNECTION }} envkey_PG_CERTIFICATE: ${{ secrets.PG_PRODUCTION_CERTIFICATE }} envkey_LOGZ_TOKEN: ${{ secrets.LOGZ_TOKEN }} - envkey_DISPATCH_URL: https://node1.mainnet.pokt.network,https://node2.mainnet.pokt.network,https://node3.mainnet.pokt.network,https://node4.mainnet.pokt.network,https://node5.mainnet.pokt.network,https://node6.mainnet.pokt.network,https://node7.mainnet.pokt.network,https://node8.mainnet.pokt.network,https://node9.mainnet.pokt.network,https://node10.mainnet.pokt.network,https://node11.mainnet.pokt.network,https://node12.mainnet.pokt.network,https://node13.mainnet.pokt.network,https://node14.mainnet.pokt.network,https://node15.mainnet.pokt.network,https://node16.mainnet.pokt.network,https://node17.mainnet.pokt.network,https://node18.mainnet.pokt.network,https://node19.mainnet.pokt.network,https://node20.mainnet.pokt.network - envkey_FALLBACK_URL: https://alt1.mainnet.pokt.network,https://alt2.mainnet.pokt.network,https://alt3.mainnet.pokt.network,https://alt4.mainnet.pokt.network,https://alt5.mainnet.pokt.network,https://alt6.mainnet.pokt.network,https://alt7.mainnet.pokt.network,https://alt8.mainnet.pokt.network,https://alt9.mainnet.pokt.network,https://alt10.mainnet.pokt.network + envkey_AWS_S3_ACCESS_KEY_ID: ${{ secrets.AWS_S3_ACCESS_KEY_ID }} + envkey_AWS_S3_SECRET_ACCESS_KEY: ${{ secrets.AWS_S3_SECRET_ACCESS_KEY }} + envkey_AWS_S3_LOGS_BUCKET: pocket-gateway + envkey_AWS_S3_LOGS_FOLDER: logs/mainnet + envkey_AWS_S3_LOGS_REGION: us-east-2 + envkey_DISPATCH_URL: https://mainnet-1.nodes.pokt.network:4201,https://mainnet-2.nodes.pokt.network:4202,https://mainnet-3.nodes.pokt.network:4203,https://mainnet-4.nodes.pokt.network:4204,https://mainnet-5.nodes.pokt.network:4205,https://mainnet-6.nodes.pokt.network:4206,https://mainnet-7.nodes.pokt.network:4207,https://mainnet-8.nodes.pokt.network:4208,https://mainnet-9.nodes.pokt.network:4209,https://mainnet-10.nodes.pokt.network:4210,https://mainnet-11.nodes.pokt.network:4211,https://mainnet-12.nodes.pokt.network:4212,https://mainnet-13.nodes.pokt.network:4213,https://mainnet-14.nodes.pokt.network:4214,https://mainnet-15.nodes.pokt.network:4215,https://mainnet-16.nodes.pokt.network:4216,https://mainnet-17.nodes.pokt.network:4217,https://mainnet-18.nodes.pokt.network:4218,https://mainnet-19.nodes.pokt.network:4219,https://mainnet-20.nodes.pokt.network:4220,https://mainnet-21.nodes.pokt.network:4221,https://mainnet-22.nodes.pokt.network:4222,https://mainnet-23.nodes.pokt.network:4223,https://mainnet-24.nodes.pokt.network:4224 + envkey_ALTRUISTS: ${{ secrets.POCKET_NETWORK_PRODUCTION_ALTRUISTS }} envkey_REDIS_ENDPOINT: gateway.pzdhdc.ng.0001.use2.cache.amazonaws.com:6379 envkey_REDIS_PORT: 6379 envkey_POCKET_SESSION_BLOCK_FREQUENCY: 4 envkey_POCKET_BLOCK_TIME: 1038000 envkey_POCKET_RELAY_RETRIES: 0 + envkey_AAT_PLAN: 'premium' + envkey_NODE_ENV: 'production' file_name: .env - name: Build, tag, and push image to Amazon ECR diff --git a/.github/workflows/production-us-west-2.yml b/.github/workflows/production-us-west-2.yml index 08da61e2..68ff48d5 100644 --- a/.github/workflows/production-us-west-2.yml +++ b/.github/workflows/production-us-west-2.yml @@ -2,7 +2,7 @@ name: Production Deployment us-west-2 on: push: - branches: [ master-off ] + branches: [ master ] jobs: deploy: @@ -33,20 +33,16 @@ jobs: envkey_DATABASE_ENCRYPTION_KEY: ${{ secrets.DATABASE_PRODUCTION_ENCRYPTION_KEY }} envkey_PG_CONNECTION: ${{ secrets.PG_PRODUCTION_CONNECTION }} envkey_PG_CERTIFICATE: ${{ secrets.PG_PRODUCTION_CERTIFICATE }} - envkey_LOGZ_TOKEN: ${{ secrets.LOGZ_TOKEN }} - envkey_AWS_S3_ACCESS_KEY_ID: ${{ secrets.AWS_S3_ACCESS_KEY_ID }} - envkey_AWS_S3_SECRET_ACCESS_KEY: ${{ secrets.AWS_S3_SECRET_ACCESS_KEY }} - envkey_AWS_S3_LOGS_BUCKET: pocket-gateway - envkey_AWS_S3_LOGS_FOLDER: logs/mainnet - envkey_AWS_S3_LOGS_REGION: us-west-2 - envkey_DISPATCH_URL: https://node1.mainnet.pokt.network,https://node2.mainnet.pokt.network,https://node3.mainnet.pokt.network,https://node4.mainnet.pokt.network,https://node5.mainnet.pokt.network,https://node6.mainnet.pokt.network,https://node7.mainnet.pokt.network,https://node8.mainnet.pokt.network,https://node9.mainnet.pokt.network,https://node10.mainnet.pokt.network,https://node11.mainnet.pokt.network,https://node12.mainnet.pokt.network,https://node13.mainnet.pokt.network,https://node14.mainnet.pokt.network,https://node15.mainnet.pokt.network,https://node16.mainnet.pokt.network,https://node17.mainnet.pokt.network,https://node18.mainnet.pokt.network,https://node19.mainnet.pokt.network,https://node20.mainnet.pokt.network - envkey_FALLBACK_URL: https://alt1.mainnet.pokt.network,https://alt2.mainnet.pokt.network,https://alt3.mainnet.pokt.network,https://alt4.mainnet.pokt.network,https://alt5.mainnet.pokt.network,https://alt6.mainnet.pokt.network,https://alt7.mainnet.pokt.network,https://alt8.mainnet.pokt.network,https://alt9.mainnet.pokt.network,https://alt10.mainnet.pokt.network + envkey_DISPATCH_URL: https://mainnet-1.nodes.pokt.network:4201,https://mainnet-2.nodes.pokt.network:4202,https://mainnet-3.nodes.pokt.network:4203,https://mainnet-4.nodes.pokt.network:4204,https://mainnet-5.nodes.pokt.network:4205,https://mainnet-6.nodes.pokt.network:4206,https://mainnet-7.nodes.pokt.network:4207,https://mainnet-8.nodes.pokt.network:4208,https://mainnet-9.nodes.pokt.network:4209,https://mainnet-10.nodes.pokt.network:4210,https://mainnet-11.nodes.pokt.network:4211,https://mainnet-12.nodes.pokt.network:4212,https://mainnet-13.nodes.pokt.network:4213,https://mainnet-14.nodes.pokt.network:4214,https://mainnet-15.nodes.pokt.network:4215,https://mainnet-16.nodes.pokt.network:4216,https://mainnet-17.nodes.pokt.network:4217,https://mainnet-18.nodes.pokt.network:4218,https://mainnet-19.nodes.pokt.network:4219,https://mainnet-20.nodes.pokt.network:4220,https://mainnet-21.nodes.pokt.network:4221,https://mainnet-22.nodes.pokt.network:4222,https://mainnet-23.nodes.pokt.network:4223,https://mainnet-24.nodes.pokt.network:4224 + envkey_ALTRUISTS: ${{ secrets.POCKET_NETWORK_PRODUCTION_ALTRUISTS }} envkey_REDIS_ENDPOINT: dashboard.js6zbp.ng.0001.usw2.cache.amazonaws.com envkey_REDIS_PORT: 6379 envkey_POCKET_SESSION_BLOCK_FREQUENCY: 4 envkey_POCKET_BLOCK_TIME: 1038000 envkey_POCKET_RELAY_RETRIES: 0 + envkey_AAT_PLAN: 'premium' + envkey_NODE_ENV: 'production' file_name: .env - name: Build, tag, and push image to Amazon ECR diff --git a/.github/workflows/staging-us-west-2.yml b/.github/workflows/staging-us-west-2.yml index 59397a27..46f7be74 100644 --- a/.github/workflows/staging-us-west-2.yml +++ b/.github/workflows/staging-us-west-2.yml @@ -2,7 +2,7 @@ name: Staging Deployment us-west-2 on: push: - branches: [ master-off ] + branches: [ staging ] jobs: deploy: @@ -34,20 +34,22 @@ jobs: envkey_PG_CONNECTION: ${{ secrets.PG_PRODUCTION_CONNECTION }} envkey_PG_CERTIFICATE: ${{ secrets.PG_PRODUCTION_CERTIFICATE }} envkey_LOGZ_TOKEN: ${{ secrets.LOGZ_TOKEN }} - envkey_DISPATCH_URL: https://node1.mainnet.pokt.network,https://node2.mainnet.pokt.network,https://node3.mainnet.pokt.network,https://node4.mainnet.pokt.network,https://node5.mainnet.pokt.network,https://node6.mainnet.pokt.network,https://node7.mainnet.pokt.network,https://node8.mainnet.pokt.network,https://node9.mainnet.pokt.network,https://node10.mainnet.pokt.network,https://node11.mainnet.pokt.network,https://node12.mainnet.pokt.network,https://node13.mainnet.pokt.network,https://node14.mainnet.pokt.network,https://node15.mainnet.pokt.network,https://node16.mainnet.pokt.network,https://node17.mainnet.pokt.network,https://node18.mainnet.pokt.network,https://node19.mainnet.pokt.network,https://node20.mainnet.pokt.network - envkey_FALLBACK_URL: https://alt1.mainnet.pokt.network,https://alt2.mainnet.pokt.network,https://alt3.mainnet.pokt.network,https://alt4.mainnet.pokt.network,https://alt5.mainnet.pokt.network,https://alt6.mainnet.pokt.network,https://alt7.mainnet.pokt.network,https://alt8.mainnet.pokt.network,https://alt9.mainnet.pokt.network,https://alt10.mainnet.pokt.network + envkey_DISPATCH_URL: https://mainnet-1.nodes.pokt.network:4201,https://mainnet-2.nodes.pokt.network:4202,https://mainnet-3.nodes.pokt.network:4203,https://mainnet-4.nodes.pokt.network:4204,https://mainnet-5.nodes.pokt.network:4205,https://mainnet-6.nodes.pokt.network:4206,https://mainnet-7.nodes.pokt.network:4207,https://mainnet-8.nodes.pokt.network:4208,https://mainnet-9.nodes.pokt.network:4209,https://mainnet-10.nodes.pokt.network:4210,https://mainnet-11.nodes.pokt.network:4211,https://mainnet-12.nodes.pokt.network:4212,https://mainnet-13.nodes.pokt.network:4213,https://mainnet-14.nodes.pokt.network:4214,https://mainnet-15.nodes.pokt.network:4215,https://mainnet-16.nodes.pokt.network:4216,https://mainnet-17.nodes.pokt.network:4217,https://mainnet-18.nodes.pokt.network:4218,https://mainnet-19.nodes.pokt.network:4219,https://mainnet-20.nodes.pokt.network:4220,https://mainnet-21.nodes.pokt.network:4221,https://mainnet-22.nodes.pokt.network:4222,https://mainnet-23.nodes.pokt.network:4223,https://mainnet-24.nodes.pokt.network:4224 + envkey_ALTRUISTS: ${{ secrets.POCKET_NETWORK_PRODUCTION_ALTRUISTS }} envkey_REDIS_ENDPOINT: dashboard.js6zbp.ng.0001.usw2.cache.amazonaws.com envkey_REDIS_PORT: 6379 envkey_POCKET_SESSION_BLOCK_FREQUENCY: 4 envkey_POCKET_BLOCK_TIME: 1038000 envkey_POCKET_RELAY_RETRIES: 0 + envkey_AAT_PLAN: 'premium' + envkey_NODE_ENV: 'production' file_name: .env - name: Build, tag, and push image to Amazon ECR id: build-image env: ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} - ECR_REPOSITORY: gateway + ECR_REPOSITORY: gateway-staging IMAGE_TAG: latest run: | docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG . diff --git a/.github/workflows/testnet.yml b/.github/workflows/testnet.yml index ae686408..e376261f 100644 --- a/.github/workflows/testnet.yml +++ b/.github/workflows/testnet.yml @@ -2,7 +2,7 @@ name: Testnet Deployment on: push: - branches: [ staging-off ] + branches: [ testnet ] jobs: deploy: @@ -35,12 +35,13 @@ jobs: envkey_PG_CERTIFICATE: ${{ secrets.PG_TESTNET_CERTIFICATE }} envkey_LOGZ_TOKEN: ${{ secrets.LOGZ_TOKEN }} envkey_DISPATCH_URL: https://node1.testnet.pokt.network,https://node2.testnet.pokt.network,https://node3.testnet.pokt.network - envkey_FALLBACK_URL: https://node1.testnet.pokt.network,https://node2.testnet.pokt.network,https://node3.testnet.pokt.network + envkey_ALTRUISTS: ${{ secrets.POCKET_NETWORK_PRODUCTION_ALTRUISTS }} envkey_REDIS_ENDPOINT: dashboard-testnet.js6zbp.ng.0001.usw2.cache.amazonaws.com envkey_REDIS_PORT: 6379 envkey_POCKET_SESSION_BLOCK_FREQUENCY: 4 envkey_POCKET_BLOCK_TIME: 900000 envkey_POCKET_RELAY_RETRIES: 5 + envkey_AAT_PLAN: 'premium' file_name: .env - name: Build, tag, and push image to Amazon ECR diff --git a/.gitignore b/.gitignore index 08cd70e2..f65cc8a7 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,18 @@ # Dependency directories (remove the comment below to include it) # vendor/ -node_modules \ No newline at end of file +node_modules + +# editor files +*.swp +*/**/*.swp + +# build artifacts +dist + +# env files +.env +.tasks.env + +# ts configs +tsconfig.tsbuildinfo diff --git a/.tasks.env.example b/.tasks.env.example new file mode 100644 index 00000000..921243ee --- /dev/null +++ b/.tasks.env.example @@ -0,0 +1,9 @@ +# Mongo Instance to Export Data From +MONGO_SRC_CONNECTION=mongodb+srv://xxx:xxx@xxx/gateway?authSource=admin + +# Mongo Instance to Write Imports to +MONGO_DEST_CONNECTION=mongodb://mongouser:mongopassword@localhost:27017/gateway?authSource=admin + +MONGO_INITDB_ROOT_USERNAME=mongouser +MONGO_INITDB_ROOT_PASSWORD=mongopassword +MONGO_INITDB_DATABASE=gateway diff --git a/Dockerfile b/Dockerfile index dcd5a252..b3089905 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,32 +1,33 @@ # Check out https://hub.docker.com/_/node to select a new base image FROM node:10-slim +# Bind to all network interfaces so that it can be mapped to the host OS +ENV WATCH=true +ENV HOST=0.0.0.0 +ENV PORT=3000 +ENV PATH="${PATH}:/usr/src/gateway/node_modules/.bin" + RUN apt-get update && \ apt-get upgrade -y && \ apt-get install -y git -# Set to a non-root built-in user `node` -USER node +RUN mkdir -p /usr/src/gateway -# Create app directory (with user `node`) -RUN mkdir -p /home/node/app +WORKDIR /usr/src/gateway -WORKDIR /home/node/app # Install app dependencies # A wildcard is used to ensure both package.json AND package-lock.json are copied # where available (npm@5+) -COPY --chown=node package*.json ./ +COPY package*.json ./ RUN npm install # Bundle app source code -COPY --chown=node . . +COPY . . # NPM build RUN npm run build -# Bind to all network interfaces so that it can be mapped to the host OS -ENV HOST=0.0.0.0 PORT=3000 - EXPOSE ${PORT} + CMD [ "node", "." ] diff --git a/README.md b/README.md index 1a0afffd..6890c6cd 100644 --- a/README.md +++ b/README.md @@ -1 +1,27 @@ # pocket-gateway + +#### Populate environment variables +``` +$ cp .tasks.env.example .tasks.env +$ cp .env.example .env +``` + +#### Importing production data +1. To retrieve production data +``` +$ docker-compose -f tasks.yml up download-production-data +``` + +2. To import the retrieved data +``` +$ docker-compose -f tasks.yml up import-production-data +``` + +##### Spin up all services locally +``` +$ npm install +$ npm run services:all:up +``` + +#### Missing +[ ] Nodemon and hot reload for dev purposes. \ No newline at end of file diff --git a/dist/__tests__/acceptance/home-page.acceptance.d.ts b/dist/__tests__/acceptance/home-page.acceptance.d.ts deleted file mode 100644 index cb0ff5c3..00000000 --- a/dist/__tests__/acceptance/home-page.acceptance.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/dist/__tests__/acceptance/home-page.acceptance.js b/dist/__tests__/acceptance/home-page.acceptance.js deleted file mode 100644 index 9cd44925..00000000 --- a/dist/__tests__/acceptance/home-page.acceptance.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const test_helper_1 = require("./test-helper"); -describe('HomePage', () => { - let app; - let client; - before('setupApplication', async () => { - ({ app, client } = await test_helper_1.setupApplication()); - }); - after(async () => { - await app.stop(); - }); - it('exposes a default home page', async () => { - await client - .get('/') - .expect(200) - .expect('Content-Type', /text\/html/); - }); - it('exposes self-hosted explorer', async () => { - await client - .get('/explorer/') - .expect(200) - .expect('Content-Type', /text\/html/) - .expect(/LoopBack API Explorer/); - }); -}); -//# sourceMappingURL=home-page.acceptance.js.map \ No newline at end of file diff --git a/dist/__tests__/acceptance/home-page.acceptance.js.map b/dist/__tests__/acceptance/home-page.acceptance.js.map deleted file mode 100644 index a24dfbc0..00000000 --- a/dist/__tests__/acceptance/home-page.acceptance.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"home-page.acceptance.js","sourceRoot":"","sources":["../../../src/__tests__/acceptance/home-page.acceptance.ts"],"names":[],"mappings":";;AAEA,+CAA+C;AAE/C,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,IAAI,GAA6B,CAAC;IAClC,IAAI,MAAc,CAAC;IAEnB,MAAM,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QACpC,CAAC,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,8BAAgB,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,MAAM;aACT,GAAG,CAAC,GAAG,CAAC;aACR,MAAM,CAAC,GAAG,CAAC;aACX,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,MAAM;aACT,GAAG,CAAC,YAAY,CAAC;aACjB,MAAM,CAAC,GAAG,CAAC;aACX,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC;aACpC,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/__tests__/acceptance/ping.controller.acceptance.d.ts b/dist/__tests__/acceptance/ping.controller.acceptance.d.ts deleted file mode 100644 index cb0ff5c3..00000000 --- a/dist/__tests__/acceptance/ping.controller.acceptance.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/dist/__tests__/acceptance/ping.controller.acceptance.js b/dist/__tests__/acceptance/ping.controller.acceptance.js deleted file mode 100644 index 47a67be0..00000000 --- a/dist/__tests__/acceptance/ping.controller.acceptance.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const testlab_1 = require("@loopback/testlab"); -const test_helper_1 = require("./test-helper"); -describe('PingController', () => { - let app; - let client; - before('setupApplication', async () => { - ({ app, client } = await test_helper_1.setupApplication()); - }); - after(async () => { - await app.stop(); - }); - it('invokes GET /ping', async () => { - const res = await client.get('/ping?msg=world').expect(200); - testlab_1.expect(res.body).to.containEql({ greeting: 'Hello from LoopBack' }); - }); -}); -//# sourceMappingURL=ping.controller.acceptance.js.map \ No newline at end of file diff --git a/dist/__tests__/acceptance/ping.controller.acceptance.js.map b/dist/__tests__/acceptance/ping.controller.acceptance.js.map deleted file mode 100644 index 7f55e9fd..00000000 --- a/dist/__tests__/acceptance/ping.controller.acceptance.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ping.controller.acceptance.js","sourceRoot":"","sources":["../../../src/__tests__/acceptance/ping.controller.acceptance.ts"],"names":[],"mappings":";;AAAA,+CAAiD;AAEjD,+CAA+C;AAE/C,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,GAA6B,CAAC;IAClC,IAAI,MAAc,CAAC;IAEnB,MAAM,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QACpC,CAAC,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,8BAAgB,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5D,gBAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAC,QAAQ,EAAE,qBAAqB,EAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/__tests__/acceptance/test-helper.d.ts b/dist/__tests__/acceptance/test-helper.d.ts deleted file mode 100644 index e0b8f0a3..00000000 --- a/dist/__tests__/acceptance/test-helper.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { PocketGatewayApplication } from '../..'; -import { Client } from '@loopback/testlab'; -export declare function setupApplication(): Promise<AppWithClient>; -export interface AppWithClient { - app: PocketGatewayApplication; - client: Client; -} diff --git a/dist/__tests__/acceptance/test-helper.js b/dist/__tests__/acceptance/test-helper.js deleted file mode 100644 index 88059057..00000000 --- a/dist/__tests__/acceptance/test-helper.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const __1 = require("../.."); -const testlab_1 = require("@loopback/testlab"); -async function setupApplication() { - const restConfig = testlab_1.givenHttpServerConfig({ - // Customize the server configuration here. - // Empty values (undefined, '') will be ignored by the helper. - // - // host: process.env.HOST, - // port: +process.env.PORT, - }); - const app = new __1.PocketGatewayApplication({ - rest: restConfig, - }); - await app.boot(); - await app.start(); - const client = testlab_1.createRestAppClient(app); - return { app, client }; -} -exports.setupApplication = setupApplication; -//# sourceMappingURL=test-helper.js.map \ No newline at end of file diff --git a/dist/__tests__/acceptance/test-helper.js.map b/dist/__tests__/acceptance/test-helper.js.map deleted file mode 100644 index ea5281bb..00000000 --- a/dist/__tests__/acceptance/test-helper.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test-helper.js","sourceRoot":"","sources":["../../../src/__tests__/acceptance/test-helper.ts"],"names":[],"mappings":";;AAAA,6BAA+C;AAC/C,+CAI2B;AAEpB,KAAK,UAAU,gBAAgB;IACpC,MAAM,UAAU,GAAG,+BAAqB,CAAC;IACvC,2CAA2C;IAC3C,8DAA8D;IAC9D,EAAE;IACF,0BAA0B;IAC1B,2BAA2B;KAC5B,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,4BAAwB,CAAC;QACvC,IAAI,EAAE,UAAU;KACjB,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IACjB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAElB,MAAM,MAAM,GAAG,6BAAmB,CAAC,GAAG,CAAC,CAAC;IAExC,OAAO,EAAC,GAAG,EAAE,MAAM,EAAC,CAAC;AACvB,CAAC;AAnBD,4CAmBC"} \ No newline at end of file diff --git a/dist/application.d.ts b/dist/application.d.ts deleted file mode 100644 index 27cf6d09..00000000 --- a/dist/application.d.ts +++ /dev/null @@ -1,249 +0,0 @@ -import { ApplicationConfig } from '@loopback/core'; -import { RestApplication } from '@loopback/rest'; -declare const PocketGatewayApplication_base: (new (...args: any[]) => { - projectRoot: string; - bootOptions?: import("@loopback/boot").BootOptions | undefined; - booted: boolean; - start(): Promise<void>; - boot(): Promise<void>; - booters(...booterCls: import("@loopback/core").Constructor<import("@loopback/boot").Booter>[]): import("@loopback/boot").Binding<any>[]; - applicationBooter(subApp: import("@loopback/core").Application & import("@loopback/boot").Bootable, filter?: import("@loopback/core").BindingFilter | undefined): import("@loopback/boot").Binding<import("@loopback/boot").Booter>; - component<C extends import("@loopback/core").Component = import("@loopback/core").Component>(componentCtor: import("@loopback/core").Constructor<C>, nameOrOptions?: string | import("@loopback/core").BindingFromClassOptions | undefined): import("@loopback/boot").Binding<C>; - mountComponentBooters(componentInstanceOrClass: import("@loopback/core").Constructor<unknown> | import("@loopback/boot").InstanceWithBooters): void; - readonly options: ApplicationConfig; - readonly state: string; - controller: <T_1>(controllerCtor: import("@loopback/core").Constructor<T_1>, nameOrOptions?: string | import("@loopback/core").BindingFromClassOptions | undefined) => import("@loopback/boot").Binding<T_1>; - server: <T_2 extends import("@loopback/core").Server>(ctor: import("@loopback/core").Constructor<T_2>, nameOrOptions?: string | import("@loopback/core").BindingFromClassOptions | undefined) => import("@loopback/boot").Binding<T_2>; - servers: <T_3 extends import("@loopback/core").Server>(ctors: import("@loopback/core").Constructor<T_3>[]) => import("@loopback/boot").Binding<any>[]; - getServer: <T_4 extends import("@loopback/core").Server>(target: string | import("@loopback/core").Constructor<T_4>) => Promise<T_4>; - stop: () => Promise<void>; - setMetadata: (metadata: import("@loopback/core").ApplicationMetadata) => void; - lifeCycleObserver: <T_5 extends import("@loopback/core").LifeCycleObserver>(ctor: import("@loopback/core").Constructor<T_5>, nameOrOptions?: string | import("@loopback/core").BindingFromClassOptions | undefined) => import("@loopback/boot").Binding<T_5>; - service: <S>(cls: import("@loopback/core").Constructor<S | import("@loopback/core").Provider<S>>, nameOrOptions?: string | import("@loopback/core").ServiceOptions | undefined) => import("@loopback/boot").Binding<S>; - interceptor: (interceptor: import("@loopback/core").Interceptor | import("@loopback/core").Constructor<import("@loopback/core").Provider<import("@loopback/core").Interceptor>>, nameOrOptions?: string | import("@loopback/core").InterceptorBindingOptions | undefined) => import("@loopback/boot").Binding<import("@loopback/core").Interceptor>; - readonly name: string; - readonly subscriptionManager: import("@loopback/core").ContextSubscriptionManager; - readonly parent: import("@loopback/core").Context | undefined; - emitEvent: <T_6 extends import("@loopback/core").ContextEvent>(type: string, event: T_6) => void; - emitError: (err: unknown) => void; - bind: <ValueType = any>(key: import("@loopback/core").BindingAddress<ValueType>) => import("@loopback/boot").Binding<ValueType>; - add: (binding: import("@loopback/boot").Binding<unknown>) => import("@loopback/core").Application; - configure: <ConfigValueType = any>(key?: string | import("@loopback/core").BindingKey<unknown> | undefined) => import("@loopback/boot").Binding<ConfigValueType>; - getConfigAsValueOrPromise: <ConfigValueType_1>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => import("@loopback/core").ValueOrPromise<ConfigValueType_1 | undefined>; - getConfig: <ConfigValueType_2>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => Promise<ConfigValueType_2 | undefined>; - getConfigSync: <ConfigValueType_3>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => ConfigValueType_3 | undefined; - unbind: (key: import("@loopback/core").BindingAddress<unknown>) => boolean; - subscribe: (observer: import("@loopback/core").ContextEventObserver) => import("@loopback/core").Subscription; - unsubscribe: (observer: import("@loopback/core").ContextEventObserver) => boolean; - close: () => void; - isSubscribed: (observer: import("@loopback/core").ContextObserver) => boolean; - createView: <T_7 = unknown>(filter: import("@loopback/core").BindingFilter, comparator?: import("@loopback/core").BindingComparator | undefined) => import("@loopback/core").ContextView<T_7>; - contains: (key: import("@loopback/core").BindingAddress<unknown>) => boolean; - isBound: (key: import("@loopback/core").BindingAddress<unknown>) => boolean; - getOwnerContext: (key: import("@loopback/core").BindingAddress<unknown>) => import("@loopback/core").Context | undefined; - find: <ValueType_1 = any>(pattern?: string | RegExp | import("@loopback/core").BindingFilter | undefined) => Readonly<import("@loopback/boot").Binding<ValueType_1>>[]; - findByTag: <ValueType_2 = any>(tagFilter: string | RegExp | Record<string, any>) => Readonly<import("@loopback/boot").Binding<ValueType_2>>[]; - get: { - <ValueType_3>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_3>, session?: import("@loopback/core").ResolutionSession | undefined): Promise<ValueType_3>; - <ValueType_4>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_4>, options: import("@loopback/core").ResolutionOptions): Promise<ValueType_4 | undefined>; - }; - getSync: { - <ValueType_5>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_5>, session?: import("@loopback/core").ResolutionSession | undefined): ValueType_5; - <ValueType_6>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_6>, options?: import("@loopback/core").ResolutionOptions | undefined): ValueType_6 | undefined; - }; - getBinding: { - <ValueType_7 = any>(key: import("@loopback/core").BindingAddress<ValueType_7>): import("@loopback/boot").Binding<ValueType_7>; - <ValueType_8>(key: import("@loopback/core").BindingAddress<ValueType_8>, options?: { - optional?: boolean | undefined; - } | undefined): import("@loopback/boot").Binding<ValueType_8> | undefined; - }; - findOrCreateBinding: <T_8>(key: import("@loopback/core").BindingAddress<T_8>, policy?: import("@loopback/core").BindingCreationPolicy | undefined) => import("@loopback/boot").Binding<T_8>; - getValueOrPromise: <ValueType_9>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_9>, optionsOrSession?: import("@loopback/core").ResolutionSession | import("@loopback/core").ResolutionOptions | undefined) => import("@loopback/core").ValueOrPromise<ValueType_9 | undefined>; - toJSON: () => import("@loopback/core").JSONObject; - inspect: (options?: import("@loopback/core").ContextInspectOptions | undefined) => import("@loopback/core").JSONObject; - on: { - (eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): import("@loopback/core").Application; - (event: string | symbol, listener: (...args: any[]) => void): import("@loopback/core").Application; - }; - once: { - (eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): import("@loopback/core").Application; - (event: string | symbol, listener: (...args: any[]) => void): import("@loopback/core").Application; - }; - addListener: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - prependListener: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - prependOnceListener: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - removeListener: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - off: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - removeAllListeners: (event?: string | symbol | undefined) => import("@loopback/core").Application; - setMaxListeners: (n: number) => import("@loopback/core").Application; - getMaxListeners: () => number; - listeners: (event: string | symbol) => Function[]; - rawListeners: (event: string | symbol) => Function[]; - emit: (event: string | symbol, ...args: any[]) => boolean; - eventNames: () => (string | symbol)[]; - listenerCount: (type: string | symbol) => number; -}) & (new (...args: any[]) => { - serviceProvider<S_1>(provider: import("@loopback/core").Constructor<import("@loopback/core").Provider<S_1>>, nameOrOptions?: string | import("@loopback/core").ServiceOptions | undefined): import("@loopback/boot").Binding<S_1>; - component<T_1_1 extends import("@loopback/core").Component = import("@loopback/core").Component>(componentCtor: import("@loopback/core").Constructor<T_1_1>, nameOrOptions?: string | import("@loopback/core").BindingFromClassOptions | undefined): import("@loopback/boot").Binding<T_1_1>; - mountComponentServices<T_2_1 extends import("@loopback/core").Component = import("@loopback/core").Component>(component: import("@loopback/core").Constructor<T_2_1>, componentBindingKey?: string | import("@loopback/core").BindingKey<T_2_1> | undefined): void; - readonly options: ApplicationConfig; - readonly state: string; - controller: <T_3_1>(controllerCtor: import("@loopback/core").Constructor<T_3_1>, nameOrOptions?: string | import("@loopback/core").BindingFromClassOptions | undefined) => import("@loopback/boot").Binding<T_3_1>; - server: <T_4_1 extends import("@loopback/core").Server>(ctor: import("@loopback/core").Constructor<T_4_1>, nameOrOptions?: string | import("@loopback/core").BindingFromClassOptions | undefined) => import("@loopback/boot").Binding<T_4_1>; - servers: <T_5_1 extends import("@loopback/core").Server>(ctors: import("@loopback/core").Constructor<T_5_1>[]) => import("@loopback/boot").Binding<any>[]; - getServer: <T_6_1 extends import("@loopback/core").Server>(target: string | import("@loopback/core").Constructor<T_6_1>) => Promise<T_6_1>; - start: () => Promise<void>; - stop: () => Promise<void>; - setMetadata: (metadata: import("@loopback/core").ApplicationMetadata) => void; - lifeCycleObserver: <T_7_1 extends import("@loopback/core").LifeCycleObserver>(ctor: import("@loopback/core").Constructor<T_7_1>, nameOrOptions?: string | import("@loopback/core").BindingFromClassOptions | undefined) => import("@loopback/boot").Binding<T_7_1>; - service: <S_2>(cls: import("@loopback/core").Constructor<S_2 | import("@loopback/core").Provider<S_2>>, nameOrOptions?: string | import("@loopback/core").ServiceOptions | undefined) => import("@loopback/boot").Binding<S_2>; - interceptor: (interceptor: import("@loopback/core").Interceptor | import("@loopback/core").Constructor<import("@loopback/core").Provider<import("@loopback/core").Interceptor>>, nameOrOptions?: string | import("@loopback/core").InterceptorBindingOptions | undefined) => import("@loopback/boot").Binding<import("@loopback/core").Interceptor>; - readonly name: string; - readonly subscriptionManager: import("@loopback/core").ContextSubscriptionManager; - readonly parent: import("@loopback/core").Context | undefined; - emitEvent: <T_8_1 extends import("@loopback/core").ContextEvent>(type: string, event: T_8_1) => void; - emitError: (err: unknown) => void; - bind: <ValueType_10 = any>(key: import("@loopback/core").BindingAddress<ValueType_10>) => import("@loopback/boot").Binding<ValueType_10>; - add: (binding: import("@loopback/boot").Binding<unknown>) => import("@loopback/core").Application; - configure: <ConfigValueType_4 = any>(key?: string | import("@loopback/core").BindingKey<unknown> | undefined) => import("@loopback/boot").Binding<ConfigValueType_4>; - getConfigAsValueOrPromise: <ConfigValueType_1_1>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => import("@loopback/core").ValueOrPromise<ConfigValueType_1_1 | undefined>; - getConfig: <ConfigValueType_2_1>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => Promise<ConfigValueType_2_1 | undefined>; - getConfigSync: <ConfigValueType_3_1>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => ConfigValueType_3_1 | undefined; - unbind: (key: import("@loopback/core").BindingAddress<unknown>) => boolean; - subscribe: (observer: import("@loopback/core").ContextEventObserver) => import("@loopback/core").Subscription; - unsubscribe: (observer: import("@loopback/core").ContextEventObserver) => boolean; - close: () => void; - isSubscribed: (observer: import("@loopback/core").ContextObserver) => boolean; - createView: <T_9 = unknown>(filter: import("@loopback/core").BindingFilter, comparator?: import("@loopback/core").BindingComparator | undefined) => import("@loopback/core").ContextView<T_9>; - contains: (key: import("@loopback/core").BindingAddress<unknown>) => boolean; - isBound: (key: import("@loopback/core").BindingAddress<unknown>) => boolean; - getOwnerContext: (key: import("@loopback/core").BindingAddress<unknown>) => import("@loopback/core").Context | undefined; - find: <ValueType_1_1 = any>(pattern?: string | RegExp | import("@loopback/core").BindingFilter | undefined) => Readonly<import("@loopback/boot").Binding<ValueType_1_1>>[]; - findByTag: <ValueType_2_1 = any>(tagFilter: string | RegExp | Record<string, any>) => Readonly<import("@loopback/boot").Binding<ValueType_2_1>>[]; - get: { - <ValueType_3_1>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_3_1>, session?: import("@loopback/core").ResolutionSession | undefined): Promise<ValueType_3_1>; - <ValueType_4_1>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_4_1>, options: import("@loopback/core").ResolutionOptions): Promise<ValueType_4_1 | undefined>; - }; - getSync: { - <ValueType_5_1>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_5_1>, session?: import("@loopback/core").ResolutionSession | undefined): ValueType_5_1; - <ValueType_6_1>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_6_1>, options?: import("@loopback/core").ResolutionOptions | undefined): ValueType_6_1 | undefined; - }; - getBinding: { - <ValueType_7_1 = any>(key: import("@loopback/core").BindingAddress<ValueType_7_1>): import("@loopback/boot").Binding<ValueType_7_1>; - <ValueType_8_1>(key: import("@loopback/core").BindingAddress<ValueType_8_1>, options?: { - optional?: boolean | undefined; - } | undefined): import("@loopback/boot").Binding<ValueType_8_1> | undefined; - }; - findOrCreateBinding: <T_10>(key: import("@loopback/core").BindingAddress<T_10>, policy?: import("@loopback/core").BindingCreationPolicy | undefined) => import("@loopback/boot").Binding<T_10>; - getValueOrPromise: <ValueType_9_1>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_9_1>, optionsOrSession?: import("@loopback/core").ResolutionSession | import("@loopback/core").ResolutionOptions | undefined) => import("@loopback/core").ValueOrPromise<ValueType_9_1 | undefined>; - toJSON: () => import("@loopback/core").JSONObject; - inspect: (options?: import("@loopback/core").ContextInspectOptions | undefined) => import("@loopback/core").JSONObject; - on: { - (eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): import("@loopback/core").Application; - (event: string | symbol, listener: (...args: any[]) => void): import("@loopback/core").Application; - }; - once: { - (eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): import("@loopback/core").Application; - (event: string | symbol, listener: (...args: any[]) => void): import("@loopback/core").Application; - }; - addListener: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - prependListener: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - prependOnceListener: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - removeListener: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - off: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - removeAllListeners: (event?: string | symbol | undefined) => import("@loopback/core").Application; - setMaxListeners: (n: number) => import("@loopback/core").Application; - getMaxListeners: () => number; - listeners: (event: string | symbol) => Function[]; - rawListeners: (event: string | symbol) => Function[]; - emit: (event: string | symbol, ...args: any[]) => boolean; - eventNames: () => (string | symbol)[]; - listenerCount: (type: string | symbol) => number; -}) & (new (...args: any[]) => { - repository<R extends import("@loopback/repository").Repository<any>>(repoClass: import("@loopback/repository").Class<R>, nameOrOptions?: string | import("@loopback/core").BindingFromClassOptions | undefined): import("@loopback/boot").Binding<R>; - getRepository<R_2 extends import("@loopback/repository").Repository<any>>(repo: import("@loopback/repository").Class<R_2>): Promise<R_2>; - dataSource<D extends import("loopback-datasource-juggler").DataSource>(dataSource: D | import("@loopback/repository").Class<D>, nameOrOptions?: string | import("@loopback/core").BindingFromClassOptions | undefined): import("@loopback/boot").Binding<D>; - model<M extends import("@loopback/repository").Class<unknown>>(modelClass: M): import("@loopback/boot").Binding<M>; - component<C_1 extends import("@loopback/core").Component = import("@loopback/core").Component>(componentCtor: import("@loopback/core").Constructor<C_1>, nameOrOptions?: string | import("@loopback/core").BindingFromClassOptions | undefined): import("@loopback/boot").Binding<C_1>; - mountComponentRepositories(componentInstanceOrClass: import("@loopback/repository").RepositoryComponent | import("@loopback/repository").Class<unknown>): void; - mountComponentModels(component: import("@loopback/repository").RepositoryComponent): void; - migrateSchema(options?: import("@loopback/repository").SchemaMigrationOptions | undefined): Promise<void>; - readonly options: ApplicationConfig; - readonly state: string; - controller: <T_1_2>(controllerCtor: import("@loopback/core").Constructor<T_1_2>, nameOrOptions?: string | import("@loopback/core").BindingFromClassOptions | undefined) => import("@loopback/boot").Binding<T_1_2>; - server: <T_2_2 extends import("@loopback/core").Server>(ctor: import("@loopback/core").Constructor<T_2_2>, nameOrOptions?: string | import("@loopback/core").BindingFromClassOptions | undefined) => import("@loopback/boot").Binding<T_2_2>; - servers: <T_3_2 extends import("@loopback/core").Server>(ctors: import("@loopback/core").Constructor<T_3_2>[]) => import("@loopback/boot").Binding<any>[]; - getServer: <T_4_2 extends import("@loopback/core").Server>(target: string | import("@loopback/core").Constructor<T_4_2>) => Promise<T_4_2>; - start: () => Promise<void>; - stop: () => Promise<void>; - setMetadata: (metadata: import("@loopback/core").ApplicationMetadata) => void; - lifeCycleObserver: <T_5_2 extends import("@loopback/core").LifeCycleObserver>(ctor: import("@loopback/core").Constructor<T_5_2>, nameOrOptions?: string | import("@loopback/core").BindingFromClassOptions | undefined) => import("@loopback/boot").Binding<T_5_2>; - service: <S_3>(cls: import("@loopback/core").Constructor<S_3 | import("@loopback/core").Provider<S_3>>, nameOrOptions?: string | import("@loopback/core").ServiceOptions | undefined) => import("@loopback/boot").Binding<S_3>; - interceptor: (interceptor: import("@loopback/core").Interceptor | import("@loopback/core").Constructor<import("@loopback/core").Provider<import("@loopback/core").Interceptor>>, nameOrOptions?: string | import("@loopback/core").InterceptorBindingOptions | undefined) => import("@loopback/boot").Binding<import("@loopback/core").Interceptor>; - readonly name: string; - readonly subscriptionManager: import("@loopback/core").ContextSubscriptionManager; - readonly parent: import("@loopback/core").Context | undefined; - emitEvent: <T_6_2 extends import("@loopback/core").ContextEvent>(type: string, event: T_6_2) => void; - emitError: (err: unknown) => void; - bind: <ValueType_11 = any>(key: import("@loopback/core").BindingAddress<ValueType_11>) => import("@loopback/boot").Binding<ValueType_11>; - add: (binding: import("@loopback/boot").Binding<unknown>) => import("@loopback/core").Application; - configure: <ConfigValueType_5 = any>(key?: string | import("@loopback/core").BindingKey<unknown> | undefined) => import("@loopback/boot").Binding<ConfigValueType_5>; - getConfigAsValueOrPromise: <ConfigValueType_1_2>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => import("@loopback/core").ValueOrPromise<ConfigValueType_1_2 | undefined>; - getConfig: <ConfigValueType_2_2>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => Promise<ConfigValueType_2_2 | undefined>; - getConfigSync: <ConfigValueType_3_2>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => ConfigValueType_3_2 | undefined; - unbind: (key: import("@loopback/core").BindingAddress<unknown>) => boolean; - subscribe: (observer: import("@loopback/core").ContextEventObserver) => import("@loopback/core").Subscription; - unsubscribe: (observer: import("@loopback/core").ContextEventObserver) => boolean; - close: () => void; - isSubscribed: (observer: import("@loopback/core").ContextObserver) => boolean; - createView: <T_7_2 = unknown>(filter: import("@loopback/core").BindingFilter, comparator?: import("@loopback/core").BindingComparator | undefined) => import("@loopback/core").ContextView<T_7_2>; - contains: (key: import("@loopback/core").BindingAddress<unknown>) => boolean; - isBound: (key: import("@loopback/core").BindingAddress<unknown>) => boolean; - getOwnerContext: (key: import("@loopback/core").BindingAddress<unknown>) => import("@loopback/core").Context | undefined; - find: <ValueType_1_2 = any>(pattern?: string | RegExp | import("@loopback/core").BindingFilter | undefined) => Readonly<import("@loopback/boot").Binding<ValueType_1_2>>[]; - findByTag: <ValueType_2_2 = any>(tagFilter: string | RegExp | Record<string, any>) => Readonly<import("@loopback/boot").Binding<ValueType_2_2>>[]; - get: { - <ValueType_3_2>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_3_2>, session?: import("@loopback/core").ResolutionSession | undefined): Promise<ValueType_3_2>; - <ValueType_4_2>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_4_2>, options: import("@loopback/core").ResolutionOptions): Promise<ValueType_4_2 | undefined>; - }; - getSync: { - <ValueType_5_2>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_5_2>, session?: import("@loopback/core").ResolutionSession | undefined): ValueType_5_2; - <ValueType_6_2>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_6_2>, options?: import("@loopback/core").ResolutionOptions | undefined): ValueType_6_2 | undefined; - }; - getBinding: { - <ValueType_7_2 = any>(key: import("@loopback/core").BindingAddress<ValueType_7_2>): import("@loopback/boot").Binding<ValueType_7_2>; - <ValueType_8_2>(key: import("@loopback/core").BindingAddress<ValueType_8_2>, options?: { - optional?: boolean | undefined; - } | undefined): import("@loopback/boot").Binding<ValueType_8_2> | undefined; - }; - findOrCreateBinding: <T_8_2>(key: import("@loopback/core").BindingAddress<T_8_2>, policy?: import("@loopback/core").BindingCreationPolicy | undefined) => import("@loopback/boot").Binding<T_8_2>; - getValueOrPromise: <ValueType_9_2>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_9_2>, optionsOrSession?: import("@loopback/core").ResolutionSession | import("@loopback/core").ResolutionOptions | undefined) => import("@loopback/core").ValueOrPromise<ValueType_9_2 | undefined>; - toJSON: () => import("@loopback/core").JSONObject; - inspect: (options?: import("@loopback/core").ContextInspectOptions | undefined) => import("@loopback/core").JSONObject; - on: { - (eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): import("@loopback/core").Application; - (event: string | symbol, listener: (...args: any[]) => void): import("@loopback/core").Application; - }; - once: { - (eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): import("@loopback/core").Application; - (event: string | symbol, listener: (...args: any[]) => void): import("@loopback/core").Application; - }; - addListener: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - prependListener: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - prependOnceListener: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - removeListener: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - off: (event: string | symbol, listener: (...args: any[]) => void) => import("@loopback/core").Application; - removeAllListeners: (event?: string | symbol | undefined) => import("@loopback/core").Application; - setMaxListeners: (n: number) => import("@loopback/core").Application; - getMaxListeners: () => number; - listeners: (event: string | symbol) => Function[]; - rawListeners: (event: string | symbol) => Function[]; - emit: (event: string | symbol, ...args: any[]) => boolean; - eventNames: () => (string | symbol)[]; - listenerCount: (type: string | symbol) => number; -}) & typeof RestApplication; -export declare class PocketGatewayApplication extends PocketGatewayApplication_base { - constructor(options?: ApplicationConfig); - loadPocket(): Promise<void>; -} -export {}; diff --git a/dist/application.js b/dist/application.js deleted file mode 100644 index 44cd576c..00000000 --- a/dist/application.js +++ /dev/null @@ -1,155 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const boot_1 = require("@loopback/boot"); -const repository_1 = require("@loopback/repository"); -const rest_1 = require("@loopback/rest"); -const service_proxy_1 = require("@loopback/service-proxy"); -const sequence_1 = require("./sequence"); -const account_1 = require("@pokt-network/pocket-js/dist/keybase/models/account"); -const relay_profiler_1 = require("./services/relay-profiler"); -const path = tslib_1.__importStar(require("path")); -const logger = require('./services/logger'); -const pocketJS = require('@pokt-network/pocket-js'); -const { Pocket, Configuration, HttpRpcProvider } = pocketJS; -const Redis = require('ioredis'); -const crypto = require('crypto'); -const os = require('os'); -const process = require('process'); -const pg = require('pg'); -const got = require('got'); -require('log-timestamp'); -require('dotenv').config(); -class PocketGatewayApplication extends boot_1.BootMixin(service_proxy_1.ServiceMixin(repository_1.RepositoryMixin(rest_1.RestApplication))) { - constructor(options = {}) { - super(options); - this.sequence(sequence_1.GatewaySequence); - this.static('/', path.join(__dirname, '../public')); - this.projectRoot = __dirname; - this.bootOptions = { - controllers: { - dirs: ['controllers'], - extensions: ['.controller.js'], - nested: true, - }, - }; - } - async loadPocket() { - var _a, _b, _c, _d, _e, _f, _g, _h; - // Requirements; for Production these are stored in GitHub repo secrets - // - // For Dev, you need to pass them in via .env file - const dispatchURL = (_a = process.env.DISPATCH_URL) !== null && _a !== void 0 ? _a : ''; - const fallbackURL = (_b = process.env.FALLBACK_URL) !== null && _b !== void 0 ? _b : ''; - const clientPrivateKey = (_c = process.env.GATEWAY_CLIENT_PRIVATE_KEY) !== null && _c !== void 0 ? _c : ''; - const clientPassphrase = (_d = process.env.GATEWAY_CLIENT_PASSPHRASE) !== null && _d !== void 0 ? _d : ''; - const pocketSessionBlockFrequency = (_e = parseInt(process.env.POCKET_SESSION_BLOCK_FREQUENCY)) !== null && _e !== void 0 ? _e : 0; - const pocketBlockTime = (_f = parseInt(process.env.POCKET_BLOCK_TIME)) !== null && _f !== void 0 ? _f : 0; - const relayRetries = (_g = parseInt(process.env.POCKET_RELAY_RETRIES)) !== null && _g !== void 0 ? _g : 0; - const databaseEncryptionKey = (_h = process.env.DATABASE_ENCRYPTION_KEY) !== null && _h !== void 0 ? _h : ''; - if (!dispatchURL) { - throw new rest_1.HttpErrors.InternalServerError('DISPATCH_URL required in ENV'); - } - if (!fallbackURL) { - throw new rest_1.HttpErrors.InternalServerError('FALLBACK_URL required in ENV'); - } - if (!clientPrivateKey) { - throw new rest_1.HttpErrors.InternalServerError('GATEWAY_CLIENT_PRIVATE_KEY required in ENV'); - } - if (!clientPassphrase) { - throw new rest_1.HttpErrors.InternalServerError('GATEWAY_CLIENT_PASSPHRASE required in ENV'); - } - if (!pocketSessionBlockFrequency || pocketSessionBlockFrequency === 0) { - throw new rest_1.HttpErrors.InternalServerError('POCKET_SESSION_BLOCK_FREQUENCY required in ENV'); - } - if (!pocketBlockTime || pocketBlockTime === 0) { - throw new rest_1.HttpErrors.InternalServerError('POCKET_BLOCK_TIME required in ENV'); - } - if (!databaseEncryptionKey) { - throw new rest_1.HttpErrors.InternalServerError('DATABASE_ENCRYPTION_KEY required in ENV'); - } - // Load Redis for cache - const redisEndpoint = process.env.REDIS_ENDPOINT || ''; - const redisPort = process.env.REDIS_PORT || ''; - if (!redisEndpoint) { - throw new rest_1.HttpErrors.InternalServerError('REDIS_ENDPOINT required in ENV'); - } - if (!redisPort) { - throw new rest_1.HttpErrors.InternalServerError('REDIS_PORT required in ENV'); - } - const redis = new Redis(redisPort, redisEndpoint); - this.bind('redisInstance').to(redis); - // Load Postgres for TimescaleDB metrics - const pgConnection = process.env.PG_CONNECTION || ''; - const pgCertificate = process.env.PG_CERTIFICATE || ''; - if (!pgConnection) { - throw new rest_1.HttpErrors.InternalServerError('PG_CONNECTION required in ENV'); - } - if (!pgCertificate) { - throw new rest_1.HttpErrors.InternalServerError('PG_CERTIFICATE required in ENV'); - } - // Pull public certificate from Redis or s3 if not there - const cachedCertificate = await redis.get('timescaleDBCertificate'); - let publicCertificate; - if (!cachedCertificate) { - try { - const s3Certificate = await got(pgCertificate); - publicCertificate = s3Certificate.body; - } - catch (e) { - throw new rest_1.HttpErrors.InternalServerError('Invalid Certificate'); - } - redis.set('timescaleDBCertificate', publicCertificate, 'EX', 600); - } - else { - publicCertificate = cachedCertificate; - } - const pgPool = new pg.Pool({ - connectionString: pgConnection, - ssl: { - rejectUnauthorized: false, - ca: publicCertificate, - }, - }); - this.bind('pgPool').to(pgPool); - this.bind('databaseEncryptionKey').to(databaseEncryptionKey); - // Create the Pocket instance - const dispatchers = []; - if (dispatchURL.indexOf(",")) { - const dispatcherArray = dispatchURL.split(","); - dispatcherArray.forEach(function (dispatcher) { - dispatchers.push(new URL(dispatcher)); - }); - } - else { - dispatchers.push(new URL(dispatchURL)); - } - const configuration = new Configuration(0, 100000, 0, 120000, false, pocketSessionBlockFrequency, pocketBlockTime, 1, undefined, true); - const rpcProvider = new HttpRpcProvider(dispatchers); - const relayProfiler = new relay_profiler_1.RelayProfiler(pgPool); - const pocket = new Pocket(dispatchers, rpcProvider, configuration, undefined, relayProfiler); - // Bind to application context for shared re-use - this.bind('pocketInstance').to(pocket); - this.bind('pocketConfiguration').to(configuration); - this.bind('relayRetries').to(relayRetries); - this.bind('fallbackURL').to(fallbackURL); - this.bind('logger').to(logger); - // Unlock primary client account for relay signing - try { - const importAccount = await pocket.keybase.importAccount(Buffer.from(clientPrivateKey, 'hex'), clientPassphrase); - if (importAccount instanceof account_1.Account) { - await pocket.keybase.unlockAccount(importAccount.addressHex, clientPassphrase, 0); - } - } - catch (e) { - logger.log('error', e); - throw new rest_1.HttpErrors.InternalServerError('Unable to import or unlock base client account'); - } - // Create a UID for this process - const parts = [os.hostname(), process.pid, +new Date()]; - const hash = crypto.createHash('md5').update(parts.join('')); - this.bind('processUID').to(hash.digest('hex')); - } -} -exports.PocketGatewayApplication = PocketGatewayApplication; -//# sourceMappingURL=application.js.map \ No newline at end of file diff --git a/dist/application.js.map b/dist/application.js.map deleted file mode 100644 index 2f778964..00000000 --- a/dist/application.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/controllers/blockchains.controller.d.ts b/dist/controllers/blockchains.controller.d.ts deleted file mode 100644 index 8810c6da..00000000 --- a/dist/controllers/blockchains.controller.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Count, Filter, FilterExcludingWhere, Where } from '@loopback/repository'; -import { Blockchains } from '../models'; -import { BlockchainsRepository } from '../repositories'; -export declare class BlockchainsController { - blockchainsRepository: BlockchainsRepository; - constructor(blockchainsRepository: BlockchainsRepository); - create(blockchains: Blockchains): Promise<Blockchains>; - count(where?: Where<Blockchains>): Promise<Count>; - find(filter?: Filter<Blockchains>): Promise<Blockchains[]>; - updateAll(blockchains: Blockchains, where?: Where<Blockchains>): Promise<Count>; - findById(id: string, filter?: FilterExcludingWhere<Blockchains>): Promise<Blockchains>; - updateById(id: string, blockchains: Blockchains): Promise<void>; - replaceById(id: string, blockchains: Blockchains): Promise<void>; - deleteById(id: string): Promise<void>; -} diff --git a/dist/controllers/blockchains.controller.js b/dist/controllers/blockchains.controller.js deleted file mode 100644 index 620a15dc..00000000 --- a/dist/controllers/blockchains.controller.js +++ /dev/null @@ -1,186 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const repository_1 = require("@loopback/repository"); -const rest_1 = require("@loopback/rest"); -const models_1 = require("../models"); -const repositories_1 = require("../repositories"); -let BlockchainsController = class BlockchainsController { - constructor(blockchainsRepository) { - this.blockchainsRepository = blockchainsRepository; - } - async create(blockchains) { - return this.blockchainsRepository.create(blockchains); - } - async count(where) { - return this.blockchainsRepository.count(where); - } - async find(filter) { - return this.blockchainsRepository.find(filter); - } - async updateAll(blockchains, where) { - return this.blockchainsRepository.updateAll(blockchains, where); - } - async findById(id, filter) { - return this.blockchainsRepository.findById(id, filter); - } - async updateById(id, blockchains) { - await this.blockchainsRepository.updateById(id, blockchains); - } - async replaceById(id, blockchains) { - await this.blockchainsRepository.replaceById(id, blockchains); - } - async deleteById(id) { - await this.blockchainsRepository.deleteById(id); - } -}; -tslib_1.__decorate([ - rest_1.post('/blockchains', { - responses: { - '200': { - description: 'Blockchains model instance', - content: { 'application/json': { schema: rest_1.getModelSchemaRef(models_1.Blockchains) } }, - }, - }, - }), - tslib_1.__param(0, rest_1.requestBody({ - content: { - 'application/json': { - schema: rest_1.getModelSchemaRef(models_1.Blockchains, { - title: 'NewBlockchains', - }), - }, - }, - })), - tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [models_1.Blockchains]), - tslib_1.__metadata("design:returntype", Promise) -], BlockchainsController.prototype, "create", null); -tslib_1.__decorate([ - rest_1.get('/blockchains/count', { - responses: { - '200': { - description: 'Blockchains model count', - content: { 'application/json': { schema: repository_1.CountSchema } }, - }, - }, - }), - tslib_1.__param(0, rest_1.param.where(models_1.Blockchains)), - tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object]), - tslib_1.__metadata("design:returntype", Promise) -], BlockchainsController.prototype, "count", null); -tslib_1.__decorate([ - rest_1.get('/blockchains', { - responses: { - '200': { - description: 'Array of Blockchains model instances', - content: { - 'application/json': { - schema: { - type: 'array', - items: rest_1.getModelSchemaRef(models_1.Blockchains, { includeRelations: true }), - }, - }, - }, - }, - }, - }), - tslib_1.__param(0, rest_1.param.filter(models_1.Blockchains)), - tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [Object]), - tslib_1.__metadata("design:returntype", Promise) -], BlockchainsController.prototype, "find", null); -tslib_1.__decorate([ - rest_1.patch('/blockchains', { - responses: { - '200': { - description: 'Blockchains PATCH success count', - content: { 'application/json': { schema: repository_1.CountSchema } }, - }, - }, - }), - tslib_1.__param(0, rest_1.requestBody({ - content: { - 'application/json': { - schema: rest_1.getModelSchemaRef(models_1.Blockchains, { partial: true }), - }, - }, - })), - tslib_1.__param(1, rest_1.param.where(models_1.Blockchains)), - tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [models_1.Blockchains, Object]), - tslib_1.__metadata("design:returntype", Promise) -], BlockchainsController.prototype, "updateAll", null); -tslib_1.__decorate([ - rest_1.get('/blockchains/{id}', { - responses: { - '200': { - description: 'Blockchains model instance', - content: { - 'application/json': { - schema: rest_1.getModelSchemaRef(models_1.Blockchains, { includeRelations: true }), - }, - }, - }, - }, - }), - tslib_1.__param(0, rest_1.param.path.string('id')), - tslib_1.__param(1, rest_1.param.filter(models_1.Blockchains, { exclude: 'where' })), - tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [String, Object]), - tslib_1.__metadata("design:returntype", Promise) -], BlockchainsController.prototype, "findById", null); -tslib_1.__decorate([ - rest_1.patch('/blockchains/{id}', { - responses: { - '204': { - description: 'Blockchains PATCH success', - }, - }, - }), - tslib_1.__param(0, rest_1.param.path.string('id')), - tslib_1.__param(1, rest_1.requestBody({ - content: { - 'application/json': { - schema: rest_1.getModelSchemaRef(models_1.Blockchains, { partial: true }), - }, - }, - })), - tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [String, models_1.Blockchains]), - tslib_1.__metadata("design:returntype", Promise) -], BlockchainsController.prototype, "updateById", null); -tslib_1.__decorate([ - rest_1.put('/blockchains/{id}', { - responses: { - '204': { - description: 'Blockchains PUT success', - }, - }, - }), - tslib_1.__param(0, rest_1.param.path.string('id')), - tslib_1.__param(1, rest_1.requestBody()), - tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [String, models_1.Blockchains]), - tslib_1.__metadata("design:returntype", Promise) -], BlockchainsController.prototype, "replaceById", null); -tslib_1.__decorate([ - rest_1.del('/blockchains/{id}', { - responses: { - '204': { - description: 'Blockchains DELETE success', - }, - }, - }), - tslib_1.__param(0, rest_1.param.path.string('id')), - tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [String]), - tslib_1.__metadata("design:returntype", Promise) -], BlockchainsController.prototype, "deleteById", null); -BlockchainsController = tslib_1.__decorate([ - tslib_1.__param(0, repository_1.repository(repositories_1.BlockchainsRepository)), - tslib_1.__metadata("design:paramtypes", [repositories_1.BlockchainsRepository]) -], BlockchainsController); -exports.BlockchainsController = BlockchainsController; -//# sourceMappingURL=blockchains.controller.js.map \ No newline at end of file diff --git a/dist/controllers/blockchains.controller.js.map b/dist/controllers/blockchains.controller.js.map deleted file mode 100644 index b8c1a2f8..00000000 --- a/dist/controllers/blockchains.controller.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"blockchains.controller.js","sourceRoot":"","sources":["../../src/controllers/blockchains.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/controllers/index.d.ts b/dist/controllers/index.d.ts deleted file mode 100644 index cd82c4e0..00000000 --- a/dist/controllers/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './ping.controller'; -export * from './v1.controller'; -export * from './blockchains.controller'; diff --git a/dist/controllers/index.js b/dist/controllers/index.js deleted file mode 100644 index 0ea6d8f9..00000000 --- a/dist/controllers/index.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./ping.controller"), exports); -tslib_1.__exportStar(require("./v1.controller"), exports); -tslib_1.__exportStar(require("./blockchains.controller"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/controllers/index.js.map b/dist/controllers/index.js.map deleted file mode 100644 index 4cdc6ee7..00000000 --- a/dist/controllers/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controllers/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAClC,0DAAgC;AAChC,mEAAyC"} \ No newline at end of file diff --git a/dist/controllers/ping.controller.d.ts b/dist/controllers/ping.controller.d.ts deleted file mode 100644 index e87ad168..00000000 --- a/dist/controllers/ping.controller.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -/// <reference types="express" /> -import { Request } from '@loopback/rest'; -/** - * A simple controller to bounce back http requests - */ -export declare class PingController { - private req; - constructor(req: Request); - ping(): object; -} diff --git a/dist/controllers/ping.controller.js b/dist/controllers/ping.controller.js deleted file mode 100644 index c4581fd3..00000000 --- a/dist/controllers/ping.controller.js +++ /dev/null @@ -1,65 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const rest_1 = require("@loopback/rest"); -const context_1 = require("@loopback/context"); -/** - * OpenAPI response for ping() - */ -const PING_RESPONSE = { - description: 'Ping Response', - content: { - 'application/json': { - schema: { - type: 'object', - title: 'PingResponse', - properties: { - greeting: { type: 'string' }, - date: { type: 'string' }, - url: { type: 'string' }, - headers: { - type: 'object', - properties: { - 'Content-Type': { type: 'string' }, - }, - additionalProperties: true, - }, - }, - }, - }, - }, -}; -/** - * A simple controller to bounce back http requests - */ -let PingController = class PingController { - constructor(req) { - this.req = req; - } - // Map to `GET /ping` - ping() { - // Reply with a greeting, the current time, the url, and request headers - return { - greeting: 'Hello from LoopBack', - date: new Date(), - url: this.req.url, - headers: Object.assign({}, this.req.headers), - }; - } -}; -tslib_1.__decorate([ - rest_1.get('/ping', { - responses: { - '200': PING_RESPONSE, - }, - }), - tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", []), - tslib_1.__metadata("design:returntype", Object) -], PingController.prototype, "ping", null); -PingController = tslib_1.__decorate([ - tslib_1.__param(0, context_1.inject(rest_1.RestBindings.Http.REQUEST)), - tslib_1.__metadata("design:paramtypes", [Object]) -], PingController); -exports.PingController = PingController; -//# sourceMappingURL=ping.controller.js.map \ No newline at end of file diff --git a/dist/controllers/ping.controller.js.map b/dist/controllers/ping.controller.js.map deleted file mode 100644 index e7eea9c5..00000000 --- a/dist/controllers/ping.controller.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ping.controller.js","sourceRoot":"","sources":["../../src/controllers/ping.controller.ts"],"names":[],"mappings":";;;AAAA,yCAA0E;AAC1E,+CAAyC;AAEzC;;GAEG;AACH,MAAM,aAAa,GAAmB;IACpC,WAAW,EAAE,eAAe;IAC5B,OAAO,EAAE;QACP,kBAAkB,EAAE;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,cAAc;gBACrB,UAAU,EAAE;oBACV,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;oBAC1B,IAAI,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;oBACtB,GAAG,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,cAAc,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;yBACjC;wBACD,oBAAoB,EAAE,IAAI;qBAC3B;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF;;GAEG;AACH,IAAa,cAAc,GAA3B,MAAa,cAAc;IACzB,YAAuD,GAAY;QAAZ,QAAG,GAAH,GAAG,CAAS;IAAG,CAAC;IAEvE,qBAAqB;IAMrB,IAAI;QACF,wEAAwE;QACxE,OAAO;YACL,QAAQ,EAAE,qBAAqB;YAC/B,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG;YACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;SAC7C,CAAC;IACJ,CAAC;CACF,CAAA;AATC;IALC,UAAG,CAAC,OAAO,EAAE;QACZ,SAAS,EAAE;YACT,KAAK,EAAE,aAAa;SACrB;KACF,CAAC;;;;0CASD;AAjBU,cAAc;IACZ,mBAAA,gBAAM,CAAC,mBAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;;GADnC,cAAc,CAkB1B;AAlBY,wCAAc"} \ No newline at end of file diff --git a/dist/controllers/v1.controller.d.ts b/dist/controllers/v1.controller.d.ts deleted file mode 100644 index 7a94563c..00000000 --- a/dist/controllers/v1.controller.d.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { FilterExcludingWhere } from '@loopback/repository'; -import { Applications, LoadBalancers } from '../models'; -import { ApplicationsRepository, BlockchainsRepository, LoadBalancersRepository } from '../repositories'; -import { Pocket, Configuration, HTTPMethod } from '@pokt-network/pocket-js'; -import { Redis } from 'ioredis'; -import { Pool as PGPool } from 'pg'; -import { CherryPicker } from '../services/cherry-picker'; -import { MetricsRecorder } from '../services/metrics-recorder'; -import { PocketRelayer } from '../services/pocket-relayer'; -import { SyncChecker } from '../services/sync-checker'; -export declare class V1Controller { - private secretKey; - private host; - private origin; - private userAgent; - private contentType; - private httpMethod; - private relayPath; - private relayRetries; - private pocket; - private pocketConfiguration; - private redis; - private pgPool; - private databaseEncryptionKey; - private processUID; - private fallbackURL; - private requestID; - applicationsRepository: ApplicationsRepository; - private blockchainsRepository; - private loadBalancersRepository; - cherryPicker: CherryPicker; - metricsRecorder: MetricsRecorder; - pocketRelayer: PocketRelayer; - syncChecker: SyncChecker; - constructor(secretKey: string, host: string, origin: string, userAgent: string, contentType: string, httpMethod: HTTPMethod, relayPath: string, relayRetries: number, pocket: Pocket, pocketConfiguration: Configuration, redis: Redis, pgPool: PGPool, databaseEncryptionKey: string, processUID: string, fallbackURL: string, requestID: string, applicationsRepository: ApplicationsRepository, blockchainsRepository: BlockchainsRepository, loadBalancersRepository: LoadBalancersRepository); - /** - * Load Balancer Relay - * - * Send a Pocket Relay using a Gateway Load Balancer ID - * - * @param id Load Balancer ID - */ - loadBalancerRelay(id: string, rawData: object, filter?: FilterExcludingWhere<Applications>): Promise<string | Error>; - /** - * Application Relay - * - * Send a Pocket Relay using a specific Application's ID - * - * @param id Application ID - */ - applicationRelay(id: string, rawData: object, filter?: FilterExcludingWhere<Applications>): Promise<string | Error>; - fetchLoadBalancer(id: string, filter: FilterExcludingWhere | undefined): Promise<LoadBalancers | undefined>; - fetchApplication(id: string, filter: FilterExcludingWhere | undefined): Promise<Applications | undefined>; - fetchLoadBalancerApplication(id: string, applicationIDs: string[], blockchain: string, filter: FilterExcludingWhere | undefined): Promise<Applications | undefined>; - checkDebug(): boolean; -} diff --git a/dist/controllers/v1.controller.js b/dist/controllers/v1.controller.js deleted file mode 100644 index 4b37ef74..00000000 --- a/dist/controllers/v1.controller.js +++ /dev/null @@ -1,271 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const context_1 = require("@loopback/context"); -const repository_1 = require("@loopback/repository"); -const rest_1 = require("@loopback/rest"); -const models_1 = require("../models"); -const repositories_1 = require("../repositories"); -const pocket_js_1 = require("@pokt-network/pocket-js"); -const pg_1 = require("pg"); -const cherry_picker_1 = require("../services/cherry-picker"); -const metrics_recorder_1 = require("../services/metrics-recorder"); -const pocket_relayer_1 = require("../services/pocket-relayer"); -const sync_checker_1 = require("../services/sync-checker"); -const logger = require('../services/logger'); -let V1Controller = class V1Controller { - constructor(secretKey, host, origin, userAgent, contentType, httpMethod, relayPath, relayRetries, pocket, pocketConfiguration, redis, pgPool, databaseEncryptionKey, processUID, fallbackURL, requestID, applicationsRepository, blockchainsRepository, loadBalancersRepository) { - this.secretKey = secretKey; - this.host = host; - this.origin = origin; - this.userAgent = userAgent; - this.contentType = contentType; - this.httpMethod = httpMethod; - this.relayPath = relayPath; - this.relayRetries = relayRetries; - this.pocket = pocket; - this.pocketConfiguration = pocketConfiguration; - this.redis = redis; - this.pgPool = pgPool; - this.databaseEncryptionKey = databaseEncryptionKey; - this.processUID = processUID; - this.fallbackURL = fallbackURL; - this.requestID = requestID; - this.applicationsRepository = applicationsRepository; - this.blockchainsRepository = blockchainsRepository; - this.loadBalancersRepository = loadBalancersRepository; - this.cherryPicker = new cherry_picker_1.CherryPicker({ - redis: this.redis, - checkDebug: this.checkDebug(), - }); - this.metricsRecorder = new metrics_recorder_1.MetricsRecorder({ - redis: this.redis, - pgPool: this.pgPool, - cherryPicker: this.cherryPicker, - processUID: this.processUID, - }); - this.syncChecker = new sync_checker_1.SyncChecker(this.redis, this.metricsRecorder); - this.pocketRelayer = new pocket_relayer_1.PocketRelayer({ - host: this.host, - origin: this.origin, - userAgent: this.userAgent, - pocket: this.pocket, - pocketConfiguration: this.pocketConfiguration, - cherryPicker: this.cherryPicker, - metricsRecorder: this.metricsRecorder, - syncChecker: this.syncChecker, - redis: this.redis, - databaseEncryptionKey: this.databaseEncryptionKey, - secretKey: this.secretKey, - relayRetries: this.relayRetries, - blockchainsRepository: this.blockchainsRepository, - checkDebug: this.checkDebug(), - fallbackURL: this.fallbackURL, - }); - } - /** - * Load Balancer Relay - * - * Send a Pocket Relay using a Gateway Load Balancer ID - * - * @param id Load Balancer ID - */ - async loadBalancerRelay(id, rawData, filter) { - // Take the relay path from the end of the endpoint URL - if (id.match(/[0-9a-zA-Z]{24}~/g)) { - this.relayPath = id.slice(24).replace(/~/gi, '/'); - id = id.slice(0, 24); - } - logger.log('info', 'PROCESSING', { requestID: this.requestID, relayType: 'LB', typeID: id, serviceNode: '' }); - try { - const loadBalancer = await this.fetchLoadBalancer(id, filter); - if (loadBalancer === null || loadBalancer === void 0 ? void 0 : loadBalancer.id) { - // eslint-disable-next-line - const [blockchain, _enforceResult, _syncCheck] = await this.pocketRelayer.loadBlockchain(); - // Fetch applications contained in this Load Balancer. Verify they exist and choose - // one randomly for the relay. - const application = await this.fetchLoadBalancerApplication(loadBalancer.id, loadBalancer.applicationIDs, blockchain, filter); - if (application === null || application === void 0 ? void 0 : application.id) { - return this.pocketRelayer.sendRelay(rawData, this.relayPath, this.httpMethod, application, this.requestID, parseInt(loadBalancer.requestTimeOut), parseInt(loadBalancer.overallTimeOut), parseInt(loadBalancer.relayRetries)); - } - } - } - catch (e) { - logger.log('error', 'Load balancer not found', { requestID: this.requestID, relayType: 'LB', typeID: id, serviceNode: '' }); - return new rest_1.HttpErrors.InternalServerError('Load balancer not found'); - } - logger.log('error', 'Load balancer configuration error', { requestID: this.requestID, relayType: 'LB', typeID: id, serviceNode: '' }); - return new rest_1.HttpErrors.InternalServerError('Load balancer configuration error'); - } - /** - * Application Relay - * - * Send a Pocket Relay using a specific Application's ID - * - * @param id Application ID - */ - async applicationRelay(id, rawData, filter) { - // Take the relay path from the end of the endpoint URL - if (id.match(/[0-9a-zA-Z]{24}~/g)) { - this.relayPath = id.slice(24).replace(/~/gi, '/'); - id = id.slice(0, 24); - } - logger.log('info', 'PROCESSING', { requestID: this.requestID, relayType: 'APP', typeID: id, serviceNode: '' }); - try { - const application = await this.fetchApplication(id, filter); - if (application === null || application === void 0 ? void 0 : application.id) { - return this.pocketRelayer.sendRelay(rawData, this.relayPath, this.httpMethod, application, this.requestID); - } - } - catch (e) { - logger.log('error', 'Application not found', { requestID: this.requestID, relayType: 'APP', typeID: id, serviceNode: '' }); - return new rest_1.HttpErrors.InternalServerError('Application not found'); - } - logger.log('error', 'Application not found', { requestID: this.requestID, relayType: 'APP', typeID: id, serviceNode: '' }); - return new rest_1.HttpErrors.InternalServerError('Application not found'); - } - // Pull LoadBalancer records from redis then DB - async fetchLoadBalancer(id, filter) { - const cachedLoadBalancer = await this.redis.get(id); - if (!cachedLoadBalancer) { - const loadBalancer = await this.loadBalancersRepository.findById(id, filter); - if (loadBalancer === null || loadBalancer === void 0 ? void 0 : loadBalancer.id) { - await this.redis.set(id, JSON.stringify(loadBalancer), 'EX', 60); - return new models_1.LoadBalancers(loadBalancer); - } - return undefined; - } - return new models_1.LoadBalancers(JSON.parse(cachedLoadBalancer)); - } - // Pull Application records from redis then DB - async fetchApplication(id, filter) { - const cachedApplication = await this.redis.get(id); - if (!cachedApplication) { - const application = await this.applicationsRepository.findById(id, filter); - if (application === null || application === void 0 ? void 0 : application.id) { - await this.redis.set(id, JSON.stringify(application), 'EX', 60); - return new models_1.Applications(application); - } - return undefined; - } - return new models_1.Applications(JSON.parse(cachedApplication)); - } - // Pull a random Load Balancer Application from redis then DB - async fetchLoadBalancerApplication(id, applicationIDs, blockchain, filter) { - let verifiedIDs = []; - const cachedLoadBalancerApplicationIDs = await this.redis.get('applicationIDs-' + id); - // Fetch from DB if not found in redis - if (!cachedLoadBalancerApplicationIDs) { - for (const applicationID of applicationIDs) { - const application = await this.fetchApplication(applicationID, filter); - if (application === null || application === void 0 ? void 0 : application.id) { - verifiedIDs.push(application.id); - } - } - await this.redis.set('applicationIDs-' + id, JSON.stringify(verifiedIDs), 'EX', 60); - } - else { - verifiedIDs = JSON.parse(cachedLoadBalancerApplicationIDs); - } - // Sanity check; make sure applications are configured for this LB - if (verifiedIDs.length < 1) { - throw new rest_1.HttpErrors.Forbidden('Load Balancer configuration invalid'); - } - /* - return this.fetchApplication( - await this.cherryPicker.cherryPickApplication(id, verifiedIDs, blockchain), - filter, - ); - */ - return this.fetchApplication(verifiedIDs[Math.floor(Math.random() * verifiedIDs.length)], filter); - } - // Debug log for testing based on user agent - checkDebug() { - if (this.userAgent && - this.userAgent.toLowerCase().includes('pocket-debug')) { - return true; - } - return false; - } -}; -tslib_1.__decorate([ - rest_1.post('/v1/lb/{id}', { - responses: { - '200': { - description: 'Relay Response', - content: { - 'application/json': {}, - }, - }, - }, - }), - tslib_1.__param(0, rest_1.param.path.string('id')), - tslib_1.__param(1, rest_1.requestBody({ - description: 'Relay Request', - required: true, - content: { - 'application/json': { - // Skip body parsing - 'x-parser': 'raw', - }, - }, - })), - tslib_1.__param(2, rest_1.param.filter(models_1.Applications, { exclude: 'where' })), - tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [String, Object, Object]), - tslib_1.__metadata("design:returntype", Promise) -], V1Controller.prototype, "loadBalancerRelay", null); -tslib_1.__decorate([ - rest_1.post('/v1/{id}', { - responses: { - '200': { - description: 'Relay Response', - content: { - 'application/json': {}, - }, - }, - }, - }), - tslib_1.__param(0, rest_1.param.path.string('id')), - tslib_1.__param(1, rest_1.requestBody({ - description: 'Relay Request', - required: true, - content: { - 'application/json': { - // Skip body parsing - 'x-parser': 'raw', - }, - }, - })), - tslib_1.__param(2, rest_1.param.filter(models_1.Applications, { exclude: 'where' })), - tslib_1.__metadata("design:type", Function), - tslib_1.__metadata("design:paramtypes", [String, Object, Object]), - tslib_1.__metadata("design:returntype", Promise) -], V1Controller.prototype, "applicationRelay", null); -V1Controller = tslib_1.__decorate([ - tslib_1.__param(0, context_1.inject('secretKey')), - tslib_1.__param(1, context_1.inject('host')), - tslib_1.__param(2, context_1.inject('origin')), - tslib_1.__param(3, context_1.inject('userAgent')), - tslib_1.__param(4, context_1.inject('contentType')), - tslib_1.__param(5, context_1.inject('httpMethod')), - tslib_1.__param(6, context_1.inject('relayPath')), - tslib_1.__param(7, context_1.inject('relayRetries')), - tslib_1.__param(8, context_1.inject('pocketInstance')), - tslib_1.__param(9, context_1.inject('pocketConfiguration')), - tslib_1.__param(10, context_1.inject('redisInstance')), - tslib_1.__param(11, context_1.inject('pgPool')), - tslib_1.__param(12, context_1.inject('databaseEncryptionKey')), - tslib_1.__param(13, context_1.inject('processUID')), - tslib_1.__param(14, context_1.inject('fallbackURL')), - tslib_1.__param(15, context_1.inject('requestID')), - tslib_1.__param(16, repository_1.repository(repositories_1.ApplicationsRepository)), - tslib_1.__param(17, repository_1.repository(repositories_1.BlockchainsRepository)), - tslib_1.__param(18, repository_1.repository(repositories_1.LoadBalancersRepository)), - tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, String, String, Number, pocket_js_1.Pocket, - pocket_js_1.Configuration, Object, pg_1.Pool, String, String, String, String, repositories_1.ApplicationsRepository, - repositories_1.BlockchainsRepository, - repositories_1.LoadBalancersRepository]) -], V1Controller); -exports.V1Controller = V1Controller; -//# sourceMappingURL=v1.controller.js.map \ No newline at end of file diff --git a/dist/controllers/v1.controller.js.map b/dist/controllers/v1.controller.js.map deleted file mode 100644 index 2983f431..00000000 --- a/dist/controllers/v1.controller.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"v1.controller.js","sourceRoot":"","sources":["../../src/controllers/v1.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/datasources/gateway.datasource.d.ts b/dist/datasources/gateway.datasource.d.ts deleted file mode 100644 index 6c8c721b..00000000 --- a/dist/datasources/gateway.datasource.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { LifeCycleObserver } from '@loopback/core'; -import { juggler } from '@loopback/repository'; -export declare class GatewayDataSource extends juggler.DataSource implements LifeCycleObserver { - static dataSourceName: string; - static readonly defaultConfig: { - name: string; - connector: string; - url: string; - useNewUrlParser: boolean; - useUnifiedTopology: boolean; - }; - constructor(dsConfig?: object); -} diff --git a/dist/datasources/gateway.datasource.js b/dist/datasources/gateway.datasource.js deleted file mode 100644 index ded9c56a..00000000 --- a/dist/datasources/gateway.datasource.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; -var _a; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const core_1 = require("@loopback/core"); -const repository_1 = require("@loopback/repository"); -const rest_1 = require("@loopback/rest"); -const mongoEndpoint = (_a = process.env.MONGO_ENDPOINT) !== null && _a !== void 0 ? _a : ''; -if (!mongoEndpoint) { - throw new rest_1.HttpErrors.InternalServerError('MONGO_ENDPOINT required in ENV'); -} -const config = { - name: 'gateway', - connector: 'mongodb', - url: mongoEndpoint, - useNewUrlParser: true, - useUnifiedTopology: true, -}; -// Observe application's life cycle to disconnect the datasource when -// application is stopped. This allows the application to be shut down -// gracefully. The `stop()` method is inherited from `juggler.DataSource`. -// Learn more at https://loopback.io/doc/en/lb4/Life-cycle.html -let GatewayDataSource = class GatewayDataSource extends repository_1.juggler.DataSource { - constructor(dsConfig = config) { - super(dsConfig); - } -}; -GatewayDataSource.dataSourceName = 'gateway'; -GatewayDataSource.defaultConfig = config; -GatewayDataSource = tslib_1.__decorate([ - core_1.lifeCycleObserver('datasource'), - tslib_1.__param(0, core_1.inject('datasources.config.gateway', { optional: true })), - tslib_1.__metadata("design:paramtypes", [Object]) -], GatewayDataSource); -exports.GatewayDataSource = GatewayDataSource; -//# sourceMappingURL=gateway.datasource.js.map \ No newline at end of file diff --git a/dist/datasources/gateway.datasource.js.map b/dist/datasources/gateway.datasource.js.map deleted file mode 100644 index 6b8bbd55..00000000 --- a/dist/datasources/gateway.datasource.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"gateway.datasource.js","sourceRoot":"","sources":["../../src/datasources/gateway.datasource.ts"],"names":[],"mappings":";;;;AAAA,yCAA4E;AAC5E,qDAA6C;AAC7C,yCAA0C;AAE1C,MAAM,aAAa,SAAW,OAAO,CAAC,GAAG,CAAC,cAAc,mCAAI,EAAE,CAAC;AAC/D,IAAI,CAAC,aAAa,EAAE;IAClB,MAAM,IAAI,iBAAU,CAAC,mBAAmB,CAAC,gCAAgC,CAAC,CAAC;CAC5E;AAED,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,SAAS;IACpB,GAAG,EAAE,aAAa;IAClB,eAAe,EAAE,IAAI;IACrB,kBAAkB,EAAE,IAAI;CACzB,CAAC;AAEF,qEAAqE;AACrE,sEAAsE;AACtE,0EAA0E;AAC1E,+DAA+D;AAE/D,IAAa,iBAAiB,GAA9B,MAAa,iBACX,SAAQ,oBAAO,CAAC,UAAU;IAK1B,YAEE,WAAmB,MAAM;QAEzB,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;CACF,CAAA;AATQ,gCAAc,GAAG,SAAS,CAAC;AAClB,+BAAa,GAAG,MAAM,CAAC;AAJ5B,iBAAiB;IAD7B,wBAAiB,CAAC,YAAY,CAAC;IAQ3B,mBAAA,aAAM,CAAC,4BAA4B,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;;GAP9C,iBAAiB,CAY7B;AAZY,8CAAiB"} \ No newline at end of file diff --git a/dist/datasources/index.d.ts b/dist/datasources/index.d.ts deleted file mode 100644 index 9c8053e3..00000000 --- a/dist/datasources/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './gateway.datasource'; diff --git a/dist/datasources/index.js b/dist/datasources/index.js deleted file mode 100644 index 0477ad95..00000000 --- a/dist/datasources/index.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./gateway.datasource"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/datasources/index.js.map b/dist/datasources/index.js.map deleted file mode 100644 index 7b76cf39..00000000 --- a/dist/datasources/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/datasources/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC"} \ No newline at end of file diff --git a/dist/errors/relay-err.d.ts b/dist/errors/relay-err.d.ts deleted file mode 100644 index 5c351271..00000000 --- a/dist/errors/relay-err.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @class RelayError - */ -export declare class RelayError extends Error { - code: number; - servicer_node: string | undefined; - constructor(message: string, code: number, servicer_node: string | undefined); -} diff --git a/dist/errors/relay-err.js b/dist/errors/relay-err.js deleted file mode 100644 index f54a25e4..00000000 --- a/dist/errors/relay-err.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * @class RelayError - */ -class RelayError extends Error { - constructor(message, code, servicer_node) { - super(message); - this.name = "RelayError"; - this.code = code; - this.servicer_node = servicer_node; - } -} -exports.RelayError = RelayError; -//# sourceMappingURL=relay-err.js.map \ No newline at end of file diff --git a/dist/errors/relay-err.js.map b/dist/errors/relay-err.js.map deleted file mode 100644 index 3c584dca..00000000 --- a/dist/errors/relay-err.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"relay-err.js","sourceRoot":"","sources":["../../src/errors/relay-err.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,MAAa,UAAW,SAAQ,KAAK;IAGjC,YAAa,OAAe,EAAE,IAAY,EAAE,aAAiC;QACzE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;CACJ;AATD,gCASC"} \ No newline at end of file diff --git a/dist/errors/relay-error.d.ts b/dist/errors/relay-error.d.ts deleted file mode 100644 index 5c351271..00000000 --- a/dist/errors/relay-error.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @class RelayError - */ -export declare class RelayError extends Error { - code: number; - servicer_node: string | undefined; - constructor(message: string, code: number, servicer_node: string | undefined); -} diff --git a/dist/errors/relay-error.js b/dist/errors/relay-error.js deleted file mode 100644 index 8e2cbcac..00000000 --- a/dist/errors/relay-error.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * @class RelayError - */ -class RelayError extends Error { - constructor(message, code, servicer_node) { - super(message); - this.name = "RelayError"; - this.code = code; - this.servicer_node = servicer_node; - } -} -exports.RelayError = RelayError; -//# sourceMappingURL=relay-error.js.map \ No newline at end of file diff --git a/dist/errors/relay-error.js.map b/dist/errors/relay-error.js.map deleted file mode 100644 index a2668eb0..00000000 --- a/dist/errors/relay-error.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"relay-error.js","sourceRoot":"","sources":["../../src/errors/relay-error.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,MAAa,UAAW,SAAQ,KAAK;IAGjC,YAAa,OAAe,EAAE,IAAY,EAAE,aAAiC;QACzE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;CACJ;AATD,gCASC"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts deleted file mode 100644 index a6b0c820..00000000 --- a/dist/index.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { PocketGatewayApplication } from './application'; -import { ApplicationConfig } from '@loopback/core'; -export { PocketGatewayApplication }; -export declare function main(options?: ApplicationConfig): Promise<PocketGatewayApplication>; diff --git a/dist/index.js b/dist/index.js deleted file mode 100644 index 196aa0f6..00000000 --- a/dist/index.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const application_1 = require("./application"); -exports.PocketGatewayApplication = application_1.PocketGatewayApplication; -const logger = require('./services/logger'); -async function main(options = {}) { - const app = new application_1.PocketGatewayApplication(options); - await app.boot(); - await app.start(); - await app.loadPocket(); - logger.log('info', `Server is running at ${app.restServer.url}`, { requestID: '', relayType: '', typeID: '', serviceNode: '' }); - return app; -} -exports.main = main; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map deleted file mode 100644 index 78c96bfb..00000000 --- a/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,+CAAuD;AAK/C,mCALA,sCAAwB,CAKA;AAFhC,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAIrC,KAAK,UAAU,IAAI,CAAC,UAA6B,EAAE;IACxD,MAAM,GAAG,GAAG,IAAI,sCAAwB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IACjB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAClB,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IAEvB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,EAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;IAC9H,OAAO,GAAG,CAAC;AACb,CAAC;AARD,oBAQC"} \ No newline at end of file diff --git a/dist/migrate.d.ts b/dist/migrate.d.ts deleted file mode 100644 index 0ca7e171..00000000 --- a/dist/migrate.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function migrate(args: string[]): Promise<void>; diff --git a/dist/migrate.js b/dist/migrate.js deleted file mode 100644 index 364baa6f..00000000 --- a/dist/migrate.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const application_1 = require("./application"); -async function migrate(args) { - const existingSchema = args.includes('--rebuild') ? 'drop' : 'alter'; - console.log('Migrating schemas (%s existing schema)', existingSchema); - const app = new application_1.PocketGatewayApplication(); - await app.boot(); - await app.migrateSchema({ existingSchema }); - // Connectors usually keep a pool of opened connections, - // this keeps the process running even after all work is done. - // We need to exit explicitly. - process.exit(0); -} -exports.migrate = migrate; -migrate(process.argv).catch(err => { - console.error('Cannot migrate database schema', err); - process.exit(1); -}); -//# sourceMappingURL=migrate.js.map \ No newline at end of file diff --git a/dist/migrate.js.map b/dist/migrate.js.map deleted file mode 100644 index 10654860..00000000 --- a/dist/migrate.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":";;AAAA,+CAAuD;AAEhD,KAAK,UAAU,OAAO,CAAC,IAAc;IAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,cAAc,CAAC,CAAC;IAEtE,MAAM,GAAG,GAAG,IAAI,sCAAwB,EAAE,CAAC;IAC3C,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IACjB,MAAM,GAAG,CAAC,aAAa,CAAC,EAAC,cAAc,EAAC,CAAC,CAAC;IAE1C,wDAAwD;IACxD,8DAA8D;IAC9D,8BAA8B;IAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAZD,0BAYC;AAED,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IAChC,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;IACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/models/applications.model.d.ts b/dist/models/applications.model.d.ts deleted file mode 100644 index 4cef350b..00000000 --- a/dist/models/applications.model.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Entity } from '@loopback/repository'; -export declare class Applications extends Entity { - id: string; - name?: string; - owner?: string; - url?: string; - freeTier: boolean; - publicPocketAccount?: object; - freeTierApplicationAccount?: object; - aat?: object; - [prop: string]: any; - constructor(data?: Partial<Applications>); -} -export interface ApplicationsRelations { -} -export declare type ApplicationsWithRelations = Applications & ApplicationsRelations; diff --git a/dist/models/applications.model.js b/dist/models/applications.model.js deleted file mode 100644 index 7a0678f4..00000000 --- a/dist/models/applications.model.js +++ /dev/null @@ -1,67 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const repository_1 = require("@loopback/repository"); -let Applications = class Applications extends repository_1.Entity { - constructor(data) { - super(data); - } -}; -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - id: true, - generated: true, - required: true, - }), - tslib_1.__metadata("design:type", String) -], Applications.prototype, "id", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - }), - tslib_1.__metadata("design:type", String) -], Applications.prototype, "name", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - }), - tslib_1.__metadata("design:type", String) -], Applications.prototype, "owner", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - }), - tslib_1.__metadata("design:type", String) -], Applications.prototype, "url", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'boolean', - required: true, - }), - tslib_1.__metadata("design:type", Boolean) -], Applications.prototype, "freeTier", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'object', - }), - tslib_1.__metadata("design:type", Object) -], Applications.prototype, "publicPocketAccount", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'object', - }), - tslib_1.__metadata("design:type", Object) -], Applications.prototype, "freeTierApplicationAccount", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'object', - }), - tslib_1.__metadata("design:type", Object) -], Applications.prototype, "aat", void 0); -Applications = tslib_1.__decorate([ - repository_1.model({ settings: { strict: false } }), - tslib_1.__metadata("design:paramtypes", [Object]) -], Applications); -exports.Applications = Applications; -//# sourceMappingURL=applications.model.js.map \ No newline at end of file diff --git a/dist/models/applications.model.js.map b/dist/models/applications.model.js.map deleted file mode 100644 index c0bac627..00000000 --- a/dist/models/applications.model.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"applications.model.js","sourceRoot":"","sources":["../../src/models/applications.model.ts"],"names":[],"mappings":";;;AAAA,qDAA6D;AAG7D,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,mBAAM;IAmDtC,YAAY,IAA4B;QACtC,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;CACF,CAAA;AA/CC;IANC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;KACf,CAAC;;wCACS;AAKX;IAHC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;KACf,CAAC;;0CACY;AAKd;IAHC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;KACf,CAAC;;2CACa;AAKf;IAHC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;KACf,CAAC;;yCACW;AAMb;IAJC,qBAAQ,CAAC;QACR,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAI;KACf,CAAC;;8CACgB;AAKlB;IAHC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;KACf,CAAC;;yDAC2B;AAK7B;IAHC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;KACf,CAAC;;gEACkC;AAKpC;IAHC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;KACf,CAAC;;yCACW;AA3CF,YAAY;IADxB,kBAAK,CAAC,EAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,EAAC,CAAC;;GACtB,YAAY,CAsDxB;AAtDY,oCAAY"} \ No newline at end of file diff --git a/dist/models/blockchains.model.d.ts b/dist/models/blockchains.model.d.ts deleted file mode 100644 index 0848e606..00000000 --- a/dist/models/blockchains.model.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Entity } from '@loopback/repository'; -export declare class Blockchains extends Entity { - ticker: string; - hash: string; - networkID: string; - network: string; - description?: string; - index: number; - blockchain: string; - active: boolean; - syncCheck?: string; - [prop: string]: any; - constructor(data?: Partial<Blockchains>); -} -export interface BlockchainsRelations { -} -export declare type BlockchainsWithRelations = Blockchains & BlockchainsRelations; diff --git a/dist/models/blockchains.model.js b/dist/models/blockchains.model.js deleted file mode 100644 index 9cccf72c..00000000 --- a/dist/models/blockchains.model.js +++ /dev/null @@ -1,79 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const repository_1 = require("@loopback/repository"); -let Blockchains = class Blockchains extends repository_1.Entity { - constructor(data) { - super(data); - } -}; -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - required: true, - }), - tslib_1.__metadata("design:type", String) -], Blockchains.prototype, "ticker", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - id: true, - generated: false, - required: true, - }), - tslib_1.__metadata("design:type", String) -], Blockchains.prototype, "hash", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - required: true, - }), - tslib_1.__metadata("design:type", String) -], Blockchains.prototype, "networkID", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - required: true, - }), - tslib_1.__metadata("design:type", String) -], Blockchains.prototype, "network", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - }), - tslib_1.__metadata("design:type", String) -], Blockchains.prototype, "description", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'number', - required: true, - }), - tslib_1.__metadata("design:type", Number) -], Blockchains.prototype, "index", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - required: true, - }), - tslib_1.__metadata("design:type", String) -], Blockchains.prototype, "blockchain", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'boolean', - required: true, - default: true, - }), - tslib_1.__metadata("design:type", Boolean) -], Blockchains.prototype, "active", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - }), - tslib_1.__metadata("design:type", String) -], Blockchains.prototype, "syncCheck", void 0); -Blockchains = tslib_1.__decorate([ - repository_1.model({ settings: { strict: false } }), - tslib_1.__metadata("design:paramtypes", [Object]) -], Blockchains); -exports.Blockchains = Blockchains; -//# sourceMappingURL=blockchains.model.js.map \ No newline at end of file diff --git a/dist/models/blockchains.model.js.map b/dist/models/blockchains.model.js.map deleted file mode 100644 index 4f41711a..00000000 --- a/dist/models/blockchains.model.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"blockchains.model.js","sourceRoot":"","sources":["../../src/models/blockchains.model.ts"],"names":[],"mappings":";;;AAAA,qDAA6D;AAG7D,IAAa,WAAW,GAAxB,MAAa,WAAY,SAAQ,mBAAM;IA4DrC,YAAY,IAA2B;QACrC,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;CACF,CAAA;AA1DC;IAJC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf,CAAC;;2CACa;AAQf;IANC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,IAAI;KACf,CAAC;;yCACW;AAMb;IAJC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf,CAAC;;8CACgB;AAMlB;IAJC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf,CAAC;;4CACc;AAKhB;IAHC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;KACf,CAAC;;gDACmB;AAMrB;IAJC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf,CAAC;;0CACY;AAMd;IAJC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf,CAAC;;+CACiB;AAOnB;IALC,qBAAQ,CAAC;QACR,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACd,CAAC;;2CACc;AAKhB;IAHC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;KACf,CAAC;;8CACiB;AAtDR,WAAW;IADvB,kBAAK,CAAC,EAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,EAAC,CAAC;;GACtB,WAAW,CA+DvB;AA/DY,kCAAW"} \ No newline at end of file diff --git a/dist/models/index.d.ts b/dist/models/index.d.ts deleted file mode 100644 index 1c3760ab..00000000 --- a/dist/models/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './blockchains.model'; -export * from './applications.model'; -export * from './load-balancers.model'; diff --git a/dist/models/index.js b/dist/models/index.js deleted file mode 100644 index fff97319..00000000 --- a/dist/models/index.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./blockchains.model"), exports); -tslib_1.__exportStar(require("./applications.model"), exports); -tslib_1.__exportStar(require("./load-balancers.model"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/models/index.js.map b/dist/models/index.js.map deleted file mode 100644 index 94b4d93c..00000000 --- a/dist/models/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,+DAAqC;AACrC,iEAAuC"} \ No newline at end of file diff --git a/dist/models/load-balancers.model.d.ts b/dist/models/load-balancers.model.d.ts deleted file mode 100644 index e7e5c131..00000000 --- a/dist/models/load-balancers.model.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Entity } from '@loopback/repository'; -export declare class LoadBalancers extends Entity { - id?: string; - user: string; - name: string; - applicationIDs: string[]; - [prop: string]: any; - constructor(data?: Partial<LoadBalancers>); -} -export interface LoadBalancersRelations { -} -export declare type LoadBalancersWithRelations = LoadBalancers & LoadBalancersRelations; diff --git a/dist/models/load-balancers.model.js b/dist/models/load-balancers.model.js deleted file mode 100644 index 496840ce..00000000 --- a/dist/models/load-balancers.model.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const repository_1 = require("@loopback/repository"); -let LoadBalancers = class LoadBalancers extends repository_1.Entity { - constructor(data) { - super(data); - } -}; -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - id: true, - generated: true, - }), - tslib_1.__metadata("design:type", String) -], LoadBalancers.prototype, "id", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - required: true, - }), - tslib_1.__metadata("design:type", String) -], LoadBalancers.prototype, "user", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - required: false, - }), - tslib_1.__metadata("design:type", String) -], LoadBalancers.prototype, "name", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'array', - itemType: 'string', - required: true, - }), - tslib_1.__metadata("design:type", Array) -], LoadBalancers.prototype, "applicationIDs", void 0); -LoadBalancers = tslib_1.__decorate([ - repository_1.model({ settings: { strict: false } }), - tslib_1.__metadata("design:paramtypes", [Object]) -], LoadBalancers); -exports.LoadBalancers = LoadBalancers; -//# sourceMappingURL=load-balancers.model.js.map \ No newline at end of file diff --git a/dist/models/load-balancers.model.js.map b/dist/models/load-balancers.model.js.map deleted file mode 100644 index 4ff02619..00000000 --- a/dist/models/load-balancers.model.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"load-balancers.model.js","sourceRoot":"","sources":["../../src/models/load-balancers.model.ts"],"names":[],"mappings":";;;AAAA,qDAA6D;AAG7D,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,mBAAM;IAiCvC,YAAY,IAA6B;QACvC,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;CACF,CAAA;AA9BC;IALC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,IAAI;KAChB,CAAC;;yCACU;AAMZ;IAJC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf,CAAC;;2CACW;AAMb;IAJC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,KAAK;KAChB,CAAC;;2CACW;AAOb;IALC,qBAAQ,CAAC;QACR,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,IAAI;KACf,CAAC;;qDACuB;AAzBd,aAAa;IADzB,kBAAK,CAAC,EAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,EAAC,CAAC;;GACtB,aAAa,CAoCzB;AApCY,sCAAa"} \ No newline at end of file diff --git a/dist/models/pocket-application.model.d.ts b/dist/models/pocket-application.model.d.ts deleted file mode 100644 index 617c9ca6..00000000 --- a/dist/models/pocket-application.model.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import {Entity} from '@loopback/repository'; -export declare class PocketApplication extends Entity { - appPubKey: string; - version: string; - clientPubKey: string; - signature: string; - secretKey: string; - secretKeyRequired: boolean; - whitelistOrigins: string[]; - whitelistAddresses: string[]; - whitelistUserAgents: string[]; - [prop: string]: any; - constructor(data?: Partial<PocketApplication>); -} -export interface PocketApplicationRelations {} -export declare type PocketApplicationWithRelations = PocketApplication & - PocketApplicationRelations; diff --git a/dist/models/pocket-application.model.js b/dist/models/pocket-application.model.js deleted file mode 100644 index 756f8bdc..00000000 --- a/dist/models/pocket-application.model.js +++ /dev/null @@ -1,73 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const repository_1 = require("@loopback/repository"); -let PocketApplication = class PocketApplication extends repository_1.Entity { - constructor(data) { - super(data); - } -}; -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - id: true, - generated: false, - required: true, - }), - tslib_1.__metadata("design:type", String) -], PocketApplication.prototype, "appPubKey", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - required: true, - default: '0.0.1', - }), - tslib_1.__metadata("design:type", String) -], PocketApplication.prototype, "version", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - required: true, - }), - tslib_1.__metadata("design:type", String) -], PocketApplication.prototype, "clientPubKey", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - required: true, - }), - tslib_1.__metadata("design:type", String) -], PocketApplication.prototype, "signature", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'string', - required: true, - }), - tslib_1.__metadata("design:type", String) -], PocketApplication.prototype, "secretKey", void 0); -tslib_1.__decorate([ - repository_1.property({ - type: 'boolean', - required: true, - default: true - }), - tslib_1.__metadata("design:type", Boolean) -], PocketApplication.prototype, "secretKeyRequired", void 0); -tslib_1.__decorate([ - repository_1.property.array(String), - tslib_1.__metadata("design:type", Array) -], PocketApplication.prototype, "whitelistOrigins", void 0); -tslib_1.__decorate([ - repository_1.property.array(String), - tslib_1.__metadata("design:type", Array) -], PocketApplication.prototype, "whitelistAddresses", void 0); -tslib_1.__decorate([ - repository_1.property.array(String), - tslib_1.__metadata("design:type", Array) -], PocketApplication.prototype, "whitelistUserAgents", void 0); -PocketApplication = tslib_1.__decorate([ - repository_1.model({ settings: { strict: false } }), - tslib_1.__metadata("design:paramtypes", [Object]) -], PocketApplication); -exports.PocketApplication = PocketApplication; -//# sourceMappingURL=pocket-application.model.js.map \ No newline at end of file diff --git a/dist/models/pocket-application.model.js.map b/dist/models/pocket-application.model.js.map deleted file mode 100644 index 35b0c4d6..00000000 --- a/dist/models/pocket-application.model.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"pocket-application.model.js","sourceRoot":"","sources":["../../src/models/pocket-application.model.ts"],"names":[],"mappings":";;;AAAA,qDAA6D;AAG7D,IAAa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,mBAAM;IAwD3C,YAAY,IAAiC;QAC3C,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;CACF,CAAA;AApDC;IANC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,IAAI;KACf,CAAC;;oDACgB;AAOlB;IALC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,OAAO;KACjB,CAAC;;kDACc;AAMhB;IAJC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf,CAAC;;uDACmB;AAMrB;IAJC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf,CAAC;;oDACgB;AAMlB;IAJC,qBAAQ,CAAC;QACR,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf,CAAC;;oDACgB;AAOlB;IALC,qBAAQ,CAAC;QACR,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACd,CAAC;;4DACyB;AAG3B;IADC,qBAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;;2DACI;AAG3B;IADC,qBAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;;6DACM;AAG7B;IADC,qBAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;;8DACO;AAhDnB,iBAAiB;IAD7B,kBAAK,CAAC,EAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,EAAC,CAAC;;GACtB,iBAAiB,CA2D7B;AA3DY,8CAAiB"} \ No newline at end of file diff --git a/dist/repositories/applications.repository.d.ts b/dist/repositories/applications.repository.d.ts deleted file mode 100644 index 1eb00470..00000000 --- a/dist/repositories/applications.repository.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { DefaultCrudRepository } from '@loopback/repository'; -import { Applications, ApplicationsRelations } from '../models'; -import { GatewayDataSource } from '../datasources'; -export declare class ApplicationsRepository extends DefaultCrudRepository<Applications, typeof Applications.prototype.id, ApplicationsRelations> { - constructor(dataSource: GatewayDataSource); -} diff --git a/dist/repositories/applications.repository.js b/dist/repositories/applications.repository.js deleted file mode 100644 index 395ec9b6..00000000 --- a/dist/repositories/applications.repository.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const repository_1 = require("@loopback/repository"); -const models_1 = require("../models"); -const datasources_1 = require("../datasources"); -const core_1 = require("@loopback/core"); -let ApplicationsRepository = class ApplicationsRepository extends repository_1.DefaultCrudRepository { - constructor(dataSource) { - super(models_1.Applications, dataSource); - } -}; -ApplicationsRepository = tslib_1.__decorate([ - tslib_1.__param(0, core_1.inject('datasources.gateway')), - tslib_1.__metadata("design:paramtypes", [datasources_1.GatewayDataSource]) -], ApplicationsRepository); -exports.ApplicationsRepository = ApplicationsRepository; -//# sourceMappingURL=applications.repository.js.map \ No newline at end of file diff --git a/dist/repositories/applications.repository.js.map b/dist/repositories/applications.repository.js.map deleted file mode 100644 index b1acbacd..00000000 --- a/dist/repositories/applications.repository.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"applications.repository.js","sourceRoot":"","sources":["../../src/repositories/applications.repository.ts"],"names":[],"mappings":";;;AAAA,qDAA2D;AAC3D,sCAA8D;AAC9D,gDAAiD;AACjD,yCAAsC;AAEtC,IAAa,sBAAsB,GAAnC,MAAa,sBAAuB,SAAQ,kCAI3C;IACC,YAA2C,UAA6B;QACtE,KAAK,CAAC,qBAAY,EAAE,UAAU,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AARY,sBAAsB;IAKpB,mBAAA,aAAM,CAAC,qBAAqB,CAAC,CAAA;6CAAa,+BAAiB;GAL7D,sBAAsB,CAQlC;AARY,wDAAsB"} \ No newline at end of file diff --git a/dist/repositories/blockchains.repository.d.ts b/dist/repositories/blockchains.repository.d.ts deleted file mode 100644 index 3a566726..00000000 --- a/dist/repositories/blockchains.repository.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { DefaultCrudRepository } from '@loopback/repository'; -import { Blockchains, BlockchainsRelations } from '../models'; -import { GatewayDataSource } from '../datasources'; -export declare class BlockchainsRepository extends DefaultCrudRepository<Blockchains, typeof Blockchains.prototype.hash, BlockchainsRelations> { - constructor(dataSource: GatewayDataSource); -} diff --git a/dist/repositories/blockchains.repository.js b/dist/repositories/blockchains.repository.js deleted file mode 100644 index 336eb34f..00000000 --- a/dist/repositories/blockchains.repository.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const repository_1 = require("@loopback/repository"); -const models_1 = require("../models"); -const datasources_1 = require("../datasources"); -const core_1 = require("@loopback/core"); -let BlockchainsRepository = class BlockchainsRepository extends repository_1.DefaultCrudRepository { - constructor(dataSource) { - super(models_1.Blockchains, dataSource); - } -}; -BlockchainsRepository = tslib_1.__decorate([ - tslib_1.__param(0, core_1.inject('datasources.gateway')), - tslib_1.__metadata("design:paramtypes", [datasources_1.GatewayDataSource]) -], BlockchainsRepository); -exports.BlockchainsRepository = BlockchainsRepository; -//# sourceMappingURL=blockchains.repository.js.map \ No newline at end of file diff --git a/dist/repositories/blockchains.repository.js.map b/dist/repositories/blockchains.repository.js.map deleted file mode 100644 index d94b4ce3..00000000 --- a/dist/repositories/blockchains.repository.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"blockchains.repository.js","sourceRoot":"","sources":["../../src/repositories/blockchains.repository.ts"],"names":[],"mappings":";;;AAAA,qDAA2D;AAC3D,sCAA4D;AAC5D,gDAAiD;AACjD,yCAAsC;AAEtC,IAAa,qBAAqB,GAAlC,MAAa,qBAAsB,SAAQ,kCAI1C;IACC,YAA2C,UAA6B;QACtE,KAAK,CAAC,oBAAW,EAAE,UAAU,CAAC,CAAC;IACjC,CAAC;CACF,CAAA;AARY,qBAAqB;IAKnB,mBAAA,aAAM,CAAC,qBAAqB,CAAC,CAAA;6CAAa,+BAAiB;GAL7D,qBAAqB,CAQjC;AARY,sDAAqB"} \ No newline at end of file diff --git a/dist/repositories/index.d.ts b/dist/repositories/index.d.ts deleted file mode 100644 index 54e3b6e2..00000000 --- a/dist/repositories/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './blockchains.repository'; -export * from './applications.repository'; -export * from './load-balancers.repository'; diff --git a/dist/repositories/index.js b/dist/repositories/index.js deleted file mode 100644 index 5845d53e..00000000 --- a/dist/repositories/index.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -tslib_1.__exportStar(require("./blockchains.repository"), exports); -tslib_1.__exportStar(require("./applications.repository"), exports); -tslib_1.__exportStar(require("./load-balancers.repository"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/repositories/index.js.map b/dist/repositories/index.js.map deleted file mode 100644 index dc18bac3..00000000 --- a/dist/repositories/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repositories/index.ts"],"names":[],"mappings":";;;AAAA,mEAAyC;AACzC,oEAA0C;AAC1C,sEAA4C"} \ No newline at end of file diff --git a/dist/repositories/load-balancers.repository.d.ts b/dist/repositories/load-balancers.repository.d.ts deleted file mode 100644 index 62bdc41e..00000000 --- a/dist/repositories/load-balancers.repository.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { DefaultCrudRepository } from '@loopback/repository'; -import { LoadBalancers, LoadBalancersRelations } from '../models'; -import { GatewayDataSource } from '../datasources'; -export declare class LoadBalancersRepository extends DefaultCrudRepository<LoadBalancers, typeof LoadBalancers.prototype.id, LoadBalancersRelations> { - constructor(dataSource: GatewayDataSource); -} diff --git a/dist/repositories/load-balancers.repository.js b/dist/repositories/load-balancers.repository.js deleted file mode 100644 index 74b09158..00000000 --- a/dist/repositories/load-balancers.repository.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const repository_1 = require("@loopback/repository"); -const models_1 = require("../models"); -const datasources_1 = require("../datasources"); -const core_1 = require("@loopback/core"); -let LoadBalancersRepository = class LoadBalancersRepository extends repository_1.DefaultCrudRepository { - constructor(dataSource) { - super(models_1.LoadBalancers, dataSource); - } -}; -LoadBalancersRepository = tslib_1.__decorate([ - tslib_1.__param(0, core_1.inject('datasources.gateway')), - tslib_1.__metadata("design:paramtypes", [datasources_1.GatewayDataSource]) -], LoadBalancersRepository); -exports.LoadBalancersRepository = LoadBalancersRepository; -//# sourceMappingURL=load-balancers.repository.js.map \ No newline at end of file diff --git a/dist/repositories/load-balancers.repository.js.map b/dist/repositories/load-balancers.repository.js.map deleted file mode 100644 index 428c8f00..00000000 --- a/dist/repositories/load-balancers.repository.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"load-balancers.repository.js","sourceRoot":"","sources":["../../src/repositories/load-balancers.repository.ts"],"names":[],"mappings":";;;AAAA,qDAA2D;AAC3D,sCAAgE;AAChE,gDAAiD;AACjD,yCAAsC;AAEtC,IAAa,uBAAuB,GAApC,MAAa,uBAAwB,SAAQ,kCAI5C;IACC,YAA2C,UAA6B;QACtE,KAAK,CAAC,sBAAa,EAAE,UAAU,CAAC,CAAC;IACnC,CAAC;CACF,CAAA;AARY,uBAAuB;IAKrB,mBAAA,aAAM,CAAC,qBAAqB,CAAC,CAAA;6CAAa,+BAAiB;GAL7D,uBAAuB,CAQnC;AARY,0DAAuB"} \ No newline at end of file diff --git a/dist/sequence.d.ts b/dist/sequence.d.ts deleted file mode 100644 index b9050159..00000000 --- a/dist/sequence.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { FindRoute, InvokeMethod, ParseParams, Reject, RequestContext, Send, SequenceHandler } from '@loopback/rest'; -export declare class GatewaySequence implements SequenceHandler { - protected findRoute: FindRoute; - protected parseParams: ParseParams; - protected invoke: InvokeMethod; - send: Send; - reject: Reject; - constructor(findRoute: FindRoute, parseParams: ParseParams, invoke: InvokeMethod, send: Send, reject: Reject); - handle(context: RequestContext): Promise<void>; -} diff --git a/dist/sequence.js b/dist/sequence.js deleted file mode 100644 index c0a54518..00000000 --- a/dist/sequence.js +++ /dev/null @@ -1,74 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const context_1 = require("@loopback/context"); -const rest_1 = require("@loopback/rest"); -const shortID = require('shortid'); -const SequenceActions = rest_1.RestBindings.SequenceActions; -let GatewaySequence = class GatewaySequence { - constructor(findRoute, parseParams, invoke, send, reject) { - this.findRoute = findRoute; - this.parseParams = parseParams; - this.invoke = invoke; - this.send = send; - this.reject = reject; - } - async handle(context) { - try { - const { request, response } = context; - // Record the host, user-agent, and origin for processing - context.bind('host').to(request.headers['host']); - context.bind('userAgent').to(request.headers['user-agent']); - context.bind('origin').to(request.headers['origin']); - context.bind('contentType').to(request.headers['content-type']); - context.bind('relayPath').to(request.headers['relay-path']); - context.bind('httpMethod').to(request.method); - let secretKey = ''; - // SecretKey passed in via basic http auth - if (request.headers['authorization']) { - const base64Credentials = request.headers['authorization'].split(' ')[1]; - const credentials = Buffer.from(base64Credentials, 'base64') - .toString('ascii') - .split(':'); - if (credentials[1]) { - secretKey = credentials[1]; - } - } - context.bind('secretKey').to(secretKey); - // Unique ID for log tracing - context.bind('requestID').to(shortID.generate()); - // Custom routing for blockchain paths: - // If it finds an extra path on the end of the request, slice off the path - // and convert the slashes to tildes for processing in the v1.controller - if (request.method === "POST" && - ( - // Matches either /v1/lb/LOADBALANCER_ID or /v1/APPLICATION_ID - request.url.match(/^\/v1\/lb\//) || - request.url.match(/^\/v1\/[0-9a-zA-Z]{24}\//))) { - if (request.url.match(/^\/v1\/lb\//)) { - request.url = `/v1/lb/${request.url.slice(7).replace(/\//gi, '~')}`; - } - else if (request.url.match(/^\/v1\/[0-9a-z]{24}\//)) { - request.url = `${request.url.slice(0, 28)}${request.url.slice(28).replace(/\//gi, '~')}`; - } - } - const route = this.findRoute(request); - const args = await this.parseParams(request, route); - const result = await this.invoke(route, args); - this.send(response, result); - } - catch (err) { - this.reject(context, err); - } - } -}; -GatewaySequence = tslib_1.__decorate([ - tslib_1.__param(0, context_1.inject(SequenceActions.FIND_ROUTE)), - tslib_1.__param(1, context_1.inject(SequenceActions.PARSE_PARAMS)), - tslib_1.__param(2, context_1.inject(SequenceActions.INVOKE_METHOD)), - tslib_1.__param(3, context_1.inject(SequenceActions.SEND)), - tslib_1.__param(4, context_1.inject(SequenceActions.REJECT)), - tslib_1.__metadata("design:paramtypes", [Function, Function, Function, Function, Function]) -], GatewaySequence); -exports.GatewaySequence = GatewaySequence; -//# sourceMappingURL=sequence.js.map \ No newline at end of file diff --git a/dist/sequence.js.map b/dist/sequence.js.map deleted file mode 100644 index 76c7d7e9..00000000 --- a/dist/sequence.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"sequence.js","sourceRoot":"","sources":["../src/sequence.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/services/cherry-picker.d.ts b/dist/services/cherry-picker.d.ts deleted file mode 100644 index ea7f1635..00000000 --- a/dist/services/cherry-picker.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Node } from '@pokt-network/pocket-js'; -import { Redis } from 'ioredis'; -import { Applications } from '../models'; -export declare class CherryPicker { - checkDebug: boolean; - redis: Redis; - constructor({ redis, checkDebug }: { - redis: Redis; - checkDebug: boolean; - }); - cherryPickApplication(loadBalancerID: string, applications: Array<string>, blockchain: string, requestID: string): Promise<string>; - cherryPickNode(application: Applications, nodes: Node[], blockchain: string, requestID: string): Promise<Node>; - fetchRawServiceLog(blockchain: string, id: string | undefined): Promise<string | null>; - fetchRawFailureLog(blockchain: string, id: string | undefined): Promise<string | null>; - fetchClientTypeLog(blockchain: string, id: string | undefined): Promise<string | null>; - updateServiceQuality(blockchain: string, applicationID: string, serviceNode: string, elapsedTime: number, result: number): Promise<void>; - _updateServiceQuality(blockchain: string, id: string, elapsedTime: number, result: number, ttl: number): Promise<void>; - rankItems(blockchain: string, sortedLogs: Array<ServiceLog>, maxFailuresPerPeriod: number): Promise<string[]>; - createUnsortedLog(id: string, blockchain: string, rawServiceLog: any): Promise<ServiceLog>; - sortLogs(array: ServiceLog[], requestID: string, relayType: string, typeID: string): ServiceLog[]; -} -declare type ServiceLog = { - id: string; - attempts: number; - successRate: number; - averageSuccessLatency: number; - failure: boolean; -}; -export {}; diff --git a/dist/services/cherry-picker.js b/dist/services/cherry-picker.js deleted file mode 100644 index 4a155bbf..00000000 --- a/dist/services/cherry-picker.js +++ /dev/null @@ -1,266 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const logger = require('../services/logger'); -class CherryPicker { - constructor({ redis, checkDebug }) { - this.redis = redis; - this.checkDebug = checkDebug; - } - // Record the latency and success rate of each application, 15 minute TTL - // When selecting an application, pull the stats for each application in the load balancer - // Rank and weight them for application choice - async cherryPickApplication(loadBalancerID, applications, blockchain, requestID) { - let sortedLogs = []; - for (const application of applications) { - const rawServiceLog = await this.fetchRawServiceLog(blockchain, application); - sortedLogs.push(await this.createUnsortedLog(application, blockchain, rawServiceLog)); - } - // Sort application logs by highest success rate, then by lowest latency - sortedLogs = this.sortLogs(sortedLogs, requestID, 'LB', loadBalancerID); - // Iterate through sorted logs and form in to a weighted list - // 15 failures per 15 minutes allowed on apps (all 5 nodes failed 3 times) - let rankedItems = await this.rankItems(blockchain, sortedLogs, 15); - // If we have no applications left because all are failures, ¯\_(ツ)_/¯ - if (rankedItems.length === 0) { - logger.log('warn', 'Cherry picking failure -- apps', { requestID: requestID, relayType: 'LB', typeID: loadBalancerID, serviceNode: '' }); - rankedItems = applications; - } - const selectedApplication = Math.floor(Math.random() * rankedItems.length); - const application = rankedItems[selectedApplication]; - if (this.checkDebug) { - logger.log('debug', 'Number of weighted applications for selection: ' + rankedItems.length, { requestID: requestID, relayType: 'LB', typeID: loadBalancerID }); - logger.log('debug', 'Selected ' + selectedApplication + ' : ' + application, { requestID: requestID, relayType: 'LB', typeID: loadBalancerID }); - } - return application; - } - // Record the latency and success rate of each node, 1 hour TTL - // When selecting a node, pull the stats for each node in the session - // Rank and weight them for node choice - async cherryPickNode(application, nodes, blockchain, requestID) { - const rawNodes = {}; - const rawNodeIDs = []; - let sortedLogs = []; - for (const node of nodes) { - rawNodes[node.publicKey] = node; - rawNodeIDs.push(node.publicKey); - const rawServiceLog = await this.fetchRawServiceLog(blockchain, node.publicKey); - sortedLogs.push(await this.createUnsortedLog(node.publicKey, blockchain, rawServiceLog)); - } - // Sort node logs by highest success rate, then by lowest latency - sortedLogs = this.sortLogs(sortedLogs, requestID, 'APP', application.id); - // Iterate through sorted logs and form in to a weighted list - // If you fail your first relay in the session, go to the back of the line - let rankedItems = await this.rankItems(blockchain, sortedLogs, 3); - // If we have no nodes left because all 5 are failures, ¯\_(ツ)_/¯ - if (rankedItems.length === 0) { - logger.log('warn', 'Cherry picking failure -- nodes', { requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: '' }); - rankedItems = rawNodeIDs; - } - const selectedNode = Math.floor(Math.random() * rankedItems.length); - const node = rawNodes[rankedItems[selectedNode]]; - if (this.checkDebug) { - logger.log('debug', 'Number of weighted nodes for selection: ' + rankedItems.length, { requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: '' }); - logger.log('debug', 'Selected ' + selectedNode + ' : ' + node.publicKey, { requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: '' }); - } - return node; - } - // Fetch app/node's service log from redis - async fetchRawServiceLog(blockchain, id) { - const rawServiceLog = await this.redis.get(blockchain + '-' + id + '-service'); - return rawServiceLog; - } - // Fetch app/node's overall failure true/false log from redis - async fetchRawFailureLog(blockchain, id) { - const rawFailureLog = await this.redis.get(blockchain + '-' + id + '-failure'); - return rawFailureLog; - } - // Fetch node client type if Ethereum based - async fetchClientTypeLog(blockchain, id) { - const clientTypeLog = await this.redis.get(blockchain + '-' + id + '-clientType'); - return clientTypeLog; - } - // Record app & node service quality in redis for future selection weight - // { id: { results: { 200: x, 500: y, ... }, averageSuccessLatency: z } - async updateServiceQuality(blockchain, applicationID, serviceNode, elapsedTime, result) { - await this._updateServiceQuality(blockchain, applicationID, elapsedTime, result, 900); - await this._updateServiceQuality(blockchain, serviceNode, elapsedTime, result, 7200); - } - async _updateServiceQuality(blockchain, id, elapsedTime, result, ttl) { - const serviceLog = await this.fetchRawServiceLog(blockchain, id); - let serviceQuality; - // Update service quality log for this time period - if (serviceLog) { - serviceQuality = JSON.parse(serviceLog); - let totalResults = 0; - for (const logResult of Object.keys(serviceQuality.results)) { - // Add the current result into the total results - if (parseInt(logResult) === result) { - serviceQuality.results[logResult]++; - } - totalResults = totalResults + serviceQuality.results[logResult]; - } - // Does this result not yet exist in the set? - if (!serviceQuality.results[result] || - serviceQuality.results[result] === 0) { - totalResults++; - serviceQuality.results[result] = 1; - } - // Success; add this result's latency to the average latency of all success requests - if (result === 200) { - serviceQuality.averageSuccessLatency = (((totalResults - 1) * serviceQuality.averageSuccessLatency + - elapsedTime) / // All previous results plus current - totalResults) // divided by total results - .toFixed(5); // to 5 decimal points - } - } - else { - // No current logs found for this hour - const results = { [result]: 1 }; - if (result !== 200) { - elapsedTime = 0; - } - serviceQuality = { - results: results, - averageSuccessLatency: elapsedTime.toFixed(5), - }; - } - await this.redis.set(blockchain + '-' + id + '-service', JSON.stringify(serviceQuality), 'EX', ttl); - } - async rankItems(blockchain, sortedLogs, maxFailuresPerPeriod) { - const rankedItems = []; - // weightFactor pushes the fastest apps/nodes with the highest success rates - // to be called on more often for relays. - // - // The app/node with the highest success rate and the lowest average latency will - // be 10 times more likely to be selected than a node that has had failures. - let weightFactor = 10; - for (const sortedLog of sortedLogs) { - // Brand new sessions include all nodes in this group so we avoid putting failures here - if (sortedLog.successRate > 0.98 && !sortedLog.failure) { - // For untested apps/nodes and those > 98% success rates, weight their selection - for (let x = 1; x <= weightFactor; x++) { - rankedItems.push(sortedLog.id); - } - weightFactor = weightFactor - 2; - } - else if (sortedLog.successRate > 0.95 && !sortedLog.failure) { - // For all apps/nodes with reasonable success rate, weight their selection less - for (let x = 1; x <= weightFactor; x++) { - rankedItems.push(sortedLog.id); - } - weightFactor = weightFactor - 3; - if (weightFactor <= 0) { - weightFactor = 1; - } - } - else if (sortedLog.successRate > 0) { - // For all apps/nodes with limited success rate, do not weight - rankedItems.push(sortedLog.id); - } - else if (sortedLog.successRate === 0) { - // If an app/node has a 0% success rate and < max failures, keep them in rotation - if (sortedLog.attempts < maxFailuresPerPeriod) { - rankedItems.push(sortedLog.id); - } - // If an app/node has a 0% success rate and >= max failures shelve them until next period - else { - // If a node has been shelved, mark it as questionable so that in the future, it is never - // put into the maximum weighting category. - // Once a node has performed well enough in a session, check to see if it is marked - // If so, erase the scarlet letter - if (!sortedLog.failure) { - await this.redis.set(blockchain + '-' + sortedLog.id + '-failure', 'true', 'EX', (60 * 60 * 24 * 30)); - } - } - } - } - return rankedItems; - } - async createUnsortedLog(id, blockchain, rawServiceLog) { - let attempts = 0; - let successRate = 0; - let averageSuccessLatency = 0; - let failure = false; - /* - Client Type filtering: - - let clientType = ''; - - // Pull client type for any necessary filtering - const clientTypeLog = await this.fetchClientTypeLog(blockchain, id); - - Sample Filter: - if (clientTypeLog && clientTypeLog.includes('OpenEthereum')) { - logger.log('info', 'OPENETHEREUM MARKED', {requestID: '', relayType: '', typeID: '', serviceNode: id}); - clientType = 'OpenEthereum'; - } - Before the return, mark this client with 0 success rate and 100 attempts so it is excluded completely. - */ - // Check here to see if it was shelved the last time it was in a session - // If so, mark it in the service log - const failureLog = await this.fetchRawFailureLog(blockchain, id); - // Pull the error log to see how many errors in a row; if > 5, mark as failure - let errorLog = await this.redis.get(blockchain + '-' + id + '-errors'); - if (!errorLog) { - errorLog = '0'; - } - failure = ((failureLog === 'true') || (parseInt(errorLog) > 5)); - if (!rawServiceLog) { - // App/Node hasn't had a relay in the past hour - // Success rate of 1 boosts this node into the primary group so it gets tested - successRate = 1; - averageSuccessLatency = 0; - } - else { - const parsedLog = JSON.parse(rawServiceLog); - // Count total relay atttempts with any result - for (const result of Object.keys(parsedLog.results)) { - attempts = attempts + parsedLog.results[result]; - } - // Has the node had any success in the past hour? - if (parsedLog.results['200'] > 0) { - // If previously marked as failure, erase that - if (failure) { - failure = false; - await this.redis.set(blockchain + '-' + id + '-failure', 'false', 'EX', (60 * 60 * 24 * 30)); - } - successRate = parsedLog.results['200'] / attempts; - averageSuccessLatency = parseFloat(parseFloat(parsedLog.averageSuccessLatency).toFixed(5)); - } - } - return { - id: id, - attempts: attempts, - successRate: successRate, - averageSuccessLatency: averageSuccessLatency, - failure: failure, - }; - } - sortLogs(array, requestID, relayType, typeID) { - const sortedLogs = array.sort((a, b) => { - if (a.successRate < b.successRate) { - return 1; - } - else if (a.successRate > b.successRate) { - return -1; - } - if (a.successRate === b.successRate) { - if (a.averageSuccessLatency > b.averageSuccessLatency) { - return 1; - } - else if (a.averageSuccessLatency < b.averageSuccessLatency) { - return -1; - } - return 0; - } - return 0; - }); - if (this.checkDebug) { - logger.log('debug', 'Sorted logs: ' + JSON.stringify(sortedLogs), { requestID: requestID, relayType: relayType, typeID: typeID, serviceNode: '' }); - } - return sortedLogs; - } - ; -} -exports.CherryPicker = CherryPicker; -//# sourceMappingURL=cherry-picker.js.map \ No newline at end of file diff --git a/dist/services/cherry-picker.js.map b/dist/services/cherry-picker.js.map deleted file mode 100644 index dc8a17c0..00000000 --- a/dist/services/cherry-picker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"cherry-picker.js","sourceRoot":"","sources":["../../src/services/cherry-picker.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/services/logger.d.ts b/dist/services/logger.d.ts deleted file mode 100644 index cb0ff5c3..00000000 --- a/dist/services/logger.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/dist/services/logger.js b/dist/services/logger.js deleted file mode 100644 index 36034923..00000000 --- a/dist/services/logger.js +++ /dev/null @@ -1,48 +0,0 @@ -"use strict"; -var _a; -Object.defineProperty(exports, "__esModule", { value: true }); -const tslib_1 = require("tslib"); -const rest_1 = require("@loopback/rest"); -const winston_logzio_1 = tslib_1.__importDefault(require("winston-logzio")); -require("dotenv").config(); -const { createLogger, format, transports } = require('winston'); -const { printf } = format; -const logzToken = (_a = process.env.LOGZ_TOKEN) !== null && _a !== void 0 ? _a : ''; -if (!logzToken) { - throw new rest_1.HttpErrors.InternalServerError('LOGZ_TOKEN required in ENV'); -} -const timestampUTC = () => { - const timestamp = new Date(); - return timestamp.toISOString(); -}; -const consoleFormat = printf(({ level, message, requestID, relayType, typeID, serviceNode, error, elapsedTime }) => { - return `[${timestampUTC()}] [${level}] [${requestID}] [${relayType}] [${typeID}] [${serviceNode}] [${error}] [${elapsedTime}] ${message}`; -}); -const debugFilter = format((log, opts) => { - return log.level === 'debug' ? log : false; -}); -const logzioWinstonTransport = new winston_logzio_1.default({ - level: 'info', - name: 'winston_logzio', - token: logzToken, - host: 'listener-uk.logz.io', -}); -const options = { - console: { - level: 'info', - handleExceptions: true, - colorize: true, - format: format.combine(format.colorize(), format.simple(), format.timestamp({ - format: 'YYYY-MM-DD HH:mm:ss.SSS', - }), consoleFormat), - }, -}; -module.exports = createLogger({ - format: format.json(), - transports: [ - new transports.Console(options.console), - logzioWinstonTransport, - ], - exitOnError: false, -}); -//# sourceMappingURL=logger.js.map \ No newline at end of file diff --git a/dist/services/logger.js.map b/dist/services/logger.js.map deleted file mode 100644 index 58ba3484..00000000 --- a/dist/services/logger.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/services/logger.ts"],"names":[],"mappings":";;;;AAAA,yCAA0C;AAC1C,4EAAoD;AAEpD,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;AAE3B,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAChE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;AAE1B,MAAM,SAAS,SAAW,OAAO,CAAC,GAAG,CAAC,UAAU,mCAAI,EAAE,CAAC;AAEvD,IAAI,CAAC,SAAS,EAAE;IACd,MAAM,IAAI,iBAAU,CAAC,mBAAmB,CACtC,4BAA4B,CAC7B,CAAC;CACH;AAED,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAO,EAAE,EAAE;IACtH,OAAO,IAAI,YAAY,EAAE,MAAM,KAAK,MAAM,SAAS,MAAM,SAAS,MAAM,MAAM,MAAM,WAAW,MAAM,KAAK,MAAM,WAAW,KAAK,OAAO,EAAE,CAAC;AAC5I,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,GAAO,EAAE,IAAQ,EAAE,EAAE;IAC/C,OAAO,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,IAAI,wBAAsB,CAAC;IACxD,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,qBAAqB;CAC5B,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG;IACd,OAAO,EAAE;QACP,KAAK,EAAE,MAAM;QACb,gBAAgB,EAAE,IAAI;QACtB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,MAAM,CAAC,OAAO,CACpB,MAAM,CAAC,QAAQ,EAAE,EACjB,MAAM,CAAC,MAAM,EAAE,EACf,MAAM,CAAC,SAAS,CAAC;YACf,MAAM,EAAE,yBAAyB;SAClC,CAAC,EACF,aAAa,CACd;KACF;CACF,CAAC;AAaF,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;IACrB,UAAU,EAAE;QACV,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACvC,sBAAsB;KACvB;IACD,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/services/metrics-recorder.d.ts b/dist/services/metrics-recorder.d.ts deleted file mode 100644 index 97c26a72..00000000 --- a/dist/services/metrics-recorder.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Redis } from 'ioredis'; -import { Pool as PGPool } from 'pg'; -import { CherryPicker } from './cherry-picker'; -export declare class MetricsRecorder { - redis: Redis; - pgPool: PGPool; - cherryPicker: CherryPicker; - processUID: string; - constructor({ redis, pgPool, cherryPicker, processUID, }: { - redis: Redis; - pgPool: PGPool; - cherryPicker: CherryPicker; - processUID: string; - }); - recordMetric({ requestID, applicationID, appPubKey, blockchain, serviceNode, relayStart, result, bytes, delivered, fallback, method, error, }: { - requestID: string; - applicationID: string; - appPubKey: string; - blockchain: string; - serviceNode: string | undefined; - relayStart: [number, number]; - result: number; - bytes: number; - delivered: boolean; - fallback: boolean; - method: string | undefined; - error: string | undefined; - }): Promise<void>; -} diff --git a/dist/services/metrics-recorder.js b/dist/services/metrics-recorder.js deleted file mode 100644 index d98ce353..00000000 --- a/dist/services/metrics-recorder.js +++ /dev/null @@ -1,89 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const pgFormat = require('pg-format'); -const logger = require('../services/logger'); -class MetricsRecorder { - constructor({ redis, pgPool, cherryPicker, processUID, }) { - this.redis = redis; - this.pgPool = pgPool; - this.cherryPicker = cherryPicker; - this.processUID = processUID; - } - // Record relay metrics in redis then push to timescaleDB for analytics - async recordMetric({ requestID, applicationID, appPubKey, blockchain, serviceNode, relayStart, result, bytes, delivered, fallback, method, error, }) { - try { - let elapsedTime = 0; - const relayEnd = process.hrtime(relayStart); - elapsedTime = (relayEnd[0] * 1e9 + relayEnd[1]) / 1e9; - let fallbackTag = ''; - if (fallback) { - fallbackTag = ' FALLBACK'; - } - if (result === 200) { - logger.log('info', 'SUCCESS' + fallbackTag, { requestID, relayType: 'APP', typeID: applicationID, serviceNode, elapsedTime, error: undefined }); - } - else if (result === 500) { - logger.log('error', 'FAILURE' + fallbackTag, { requestID, relayType: 'APP', typeID: applicationID, serviceNode, elapsedTime, error }); - } - else if (result === 503) { - logger.log('error', 'INVALID RESPONSE' + fallbackTag, { requestID, relayType: 'APP', typeID: applicationID, serviceNode, elapsedTime, error }); - } - const metricsValues = [ - new Date(), - appPubKey, - blockchain, - serviceNode, - elapsedTime, - result, - bytes, - method, - ]; - // Store metrics in redis and every 10 seconds, push to postgres - const redisMetricsKey = 'metrics-' + this.processUID; - const redisListAge = await this.redis.get('age-' + redisMetricsKey); - const redisListSize = await this.redis.llen(redisMetricsKey); - const currentTimestamp = Math.floor(new Date().getTime() / 1000); - // List has been started in redis and needs to be pushed as timestamp is > 10 seconds old - if (redisListAge && - redisListSize > 0 && - currentTimestamp > parseInt(redisListAge) + 10) { - await this.redis.set('age-' + redisMetricsKey, currentTimestamp); - const bulkData = [metricsValues]; - for (let count = 0; count < redisListSize; count++) { - const redisRecord = await this.redis.lpop(redisMetricsKey); - if (redisRecord) { - bulkData.push(JSON.parse(redisRecord)); - } - } - if (bulkData.length > 0) { - const metricsQuery = pgFormat('INSERT INTO relay VALUES %L', bulkData); - this.pgPool.connect((err, client, release) => { - if (err) { - logger.log('error', 'Error acquiring client ' + err.stack); - } - client.query(metricsQuery, (err, result) => { - release(); - if (err) { - logger.log('error', 'Error executing query ' + metricsQuery + ' ' + err.stack); - } - }); - }); - } - } - else { - await this.redis.rpush(redisMetricsKey, JSON.stringify(metricsValues)); - } - if (!redisListAge) { - await this.redis.set('age-' + redisMetricsKey, currentTimestamp); - } - if (serviceNode) { - await this.cherryPicker.updateServiceQuality(blockchain, applicationID, serviceNode, elapsedTime, result); - } - } - catch (err) { - logger.log('error', err.stack); - } - } -} -exports.MetricsRecorder = MetricsRecorder; -//# sourceMappingURL=metrics-recorder.js.map \ No newline at end of file diff --git a/dist/services/metrics-recorder.js.map b/dist/services/metrics-recorder.js.map deleted file mode 100644 index 94e49248..00000000 --- a/dist/services/metrics-recorder.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"metrics-recorder.js","sourceRoot":"","sources":["../../src/services/metrics-recorder.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/services/pocket-relay.d.ts b/dist/services/pocket-relay.d.ts deleted file mode 100644 index 159e26b0..00000000 --- a/dist/services/pocket-relay.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare class PocketRelay { - constructor(); - sendRelay(rawData: object): Promise<string>; -} diff --git a/dist/services/pocket-relay.js b/dist/services/pocket-relay.js deleted file mode 100644 index 01e9075b..00000000 --- a/dist/services/pocket-relay.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -class PocketRelay { - constructor() { } - async sendRelay(rawData) { - return "done"; - } -} -exports.PocketRelay = PocketRelay; -//# sourceMappingURL=pocket-relay.js.map \ No newline at end of file diff --git a/dist/services/pocket-relay.js.map b/dist/services/pocket-relay.js.map deleted file mode 100644 index 87cc083d..00000000 --- a/dist/services/pocket-relay.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"pocket-relay.js","sourceRoot":"","sources":["../../src/services/pocket-relay.ts"],"names":[],"mappings":";;AAMA,MAAa,WAAW;IAEpB,gBAEI,CAAC;IAEL,KAAK,CAAC,SAAS,CAAC,OAAe;QAC3B,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AATD,kCASC"} \ No newline at end of file diff --git a/dist/services/pocket-relayer.d.ts b/dist/services/pocket-relayer.d.ts deleted file mode 100644 index 9b2f84bd..00000000 --- a/dist/services/pocket-relayer.d.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { CherryPicker } from '../services/cherry-picker'; -import { MetricsRecorder } from '../services/metrics-recorder'; -import { SyncChecker } from '../services/sync-checker'; -import { RelayResponse, Pocket, Configuration, HTTPMethod } from '@pokt-network/pocket-js'; -import { Redis } from 'ioredis'; -import { BlockchainsRepository } from '../repositories'; -import { Applications } from '../models'; -export declare class PocketRelayer { - host: string; - origin: string; - userAgent: string; - pocket: Pocket; - pocketConfiguration: Configuration; - cherryPicker: CherryPicker; - metricsRecorder: MetricsRecorder; - syncChecker: SyncChecker; - redis: Redis; - databaseEncryptionKey: string; - secretKey: string; - relayRetries: number; - blockchainsRepository: BlockchainsRepository; - checkDebug: boolean; - fallbacks: Array<URL>; - constructor({ host, origin, userAgent, pocket, pocketConfiguration, cherryPicker, metricsRecorder, syncChecker, redis, databaseEncryptionKey, secretKey, relayRetries, blockchainsRepository, checkDebug, fallbackURL, }: { - host: string; - origin: string; - userAgent: string; - pocket: Pocket; - pocketConfiguration: Configuration; - cherryPicker: CherryPicker; - metricsRecorder: MetricsRecorder; - syncChecker: SyncChecker; - redis: Redis; - databaseEncryptionKey: string; - secretKey: string; - relayRetries: number; - blockchainsRepository: BlockchainsRepository; - checkDebug: boolean; - fallbackURL: string; - }); - sendRelay(rawData: object, relayPath: string, httpMethod: HTTPMethod, application: Applications, requestID: string, requestTimeOut?: number, overallTimeOut?: number, relayRetries?: number): Promise<string | Error>; - _sendRelay(data: string, relayPath: string, httpMethod: HTTPMethod, requestID: string, application: Applications, requestTimeOut: number | undefined, blockchain: string, blockchainEnforceResult: string, blockchainSyncCheck: string): Promise<RelayResponse | Error>; - fetchClientTypeLog(blockchain: string, id: string | undefined): Promise<string | null>; - parseMethod(parsedRawData: any): string; - updateConfiguration(requestTimeOut: number): Configuration; - loadBlockchain(): Promise<string[]>; - checkEnforcementJSON(test: string): boolean; - checkSecretKey(application: Applications): boolean; - checkWhitelist(tests: string[], check: string, type: string): boolean; -} diff --git a/dist/services/pocket-relayer.js b/dist/services/pocket-relayer.js deleted file mode 100644 index 454a5d4e..00000000 --- a/dist/services/pocket-relayer.js +++ /dev/null @@ -1,355 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const strong_cryptor_1 = require("strong-cryptor"); -const rest_1 = require("@loopback/rest"); -const pocket_js_1 = require("@pokt-network/pocket-js"); -const relay_error_1 = require("../errors/relay-error"); -const logger = require('../services/logger'); -; -; -; -; -class PocketRelayer { - constructor({ host, origin, userAgent, pocket, pocketConfiguration, cherryPicker, metricsRecorder, syncChecker, redis, databaseEncryptionKey, secretKey, relayRetries, blockchainsRepository, checkDebug, fallbackURL, }) { - this.host = host; - this.origin = origin; - this.userAgent = userAgent; - this.pocket = pocket; - this.pocketConfiguration = pocketConfiguration; - this.cherryPicker = cherryPicker; - this.metricsRecorder = metricsRecorder; - this.syncChecker = syncChecker; - this.redis = redis; - this.databaseEncryptionKey = databaseEncryptionKey; - this.secretKey = secretKey; - this.relayRetries = relayRetries; - this.blockchainsRepository = blockchainsRepository; - this.checkDebug = checkDebug; - // Create the array of fallback relayers as last resort - const fallbacks = []; - if (fallbackURL.indexOf(",")) { - const fallbackArray = fallbackURL.split(","); - fallbackArray.forEach(function (fallback) { - fallbacks.push(new URL(fallback)); - }); - } - else { - fallbacks.push(new URL(fallbackURL)); - } - this.fallbacks = fallbacks; - } - async sendRelay(rawData, relayPath, httpMethod, application, requestID, requestTimeOut, overallTimeOut, relayRetries) { - if (relayRetries !== undefined && - relayRetries >= 0) { - this.relayRetries = relayRetries; - } - const [blockchain, blockchainEnforceResult, blockchainSyncCheck] = await this.loadBlockchain(); - const overallStart = process.hrtime(); - // This converts the raw data into formatted JSON then back to a string for relaying. - // This allows us to take in both [{},{}] arrays of JSON and plain JSON and removes - // extraneous characters like newlines and tabs from the rawData. - // Normally the arrays of JSON do not pass the AJV validation used by Loopback. - const parsedRawData = JSON.parse(rawData.toString()); - const data = JSON.stringify(parsedRawData); - const method = this.parseMethod(parsedRawData); - const fallbackAvailable = (this.fallbacks.length > 0 && this.pocket !== undefined) ? true : false; - // Retries if applicable - for (let x = 0; x <= this.relayRetries; x++) { - let relayStart = process.hrtime(); - // Compute the overall time taken on this LB request - const overallCurrent = process.hrtime(overallStart); - const overallCurrentElasped = Math.round((overallCurrent[0] * 1e9 + overallCurrent[1]) / 1e6); - if (overallTimeOut && - overallCurrentElasped > overallTimeOut) { - logger.log('error', 'Overall Timeout exceeded: ' + overallTimeOut, { requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: '' }); - return new rest_1.HttpErrors.GatewayTimeout('Overall Timeout exceeded: ' + overallTimeOut); - } - // Send this relay attempt - const relayResponse = await this._sendRelay(data, relayPath, httpMethod, requestID, application, requestTimeOut, blockchain, blockchainEnforceResult, blockchainSyncCheck); - if (!(relayResponse instanceof Error)) { - // Record success metric - await this.metricsRecorder.recordMetric({ - requestID: requestID, - applicationID: application.id, - appPubKey: application.gatewayAAT.applicationPublicKey, - blockchain, - serviceNode: relayResponse.proof.servicerPubKey, - relayStart, - result: 200, - bytes: Buffer.byteLength(relayResponse.payload, 'utf8'), - delivered: false, - fallback: false, - method: method, - error: undefined - }); - // Clear error log - await this.redis.del(blockchain + '-' + relayResponse.proof.servicerPubKey + '-errors'); - // If return payload is valid JSON, turn it into an object so it is sent with content-type: json - if (blockchainEnforceResult && // Is this blockchain marked for result enforcement // and - blockchainEnforceResult.toLowerCase() === 'json' // the check is for JSON - ) { - return JSON.parse(relayResponse.payload); - } - return relayResponse.payload; - } - else if (relayResponse instanceof relay_error_1.RelayError) { - // Record failure metric, retry if possible or fallback - // If this is the last retry and fallback is available, mark the error not delivered - const errorDelivered = (x === this.relayRetries && fallbackAvailable) ? false : true; - // Increment error log - await this.redis.incr(blockchain + '-' + relayResponse.servicer_node + '-errors'); - await this.redis.expire(blockchain + '-' + relayResponse.servicer_node + '-errors', 3600); - let error = relayResponse.message; - if (typeof relayResponse.message === 'object') { - error = JSON.stringify(relayResponse.message); - } - await this.metricsRecorder.recordMetric({ - requestID, - applicationID: application.id, - appPubKey: application.gatewayAAT.applicationPublicKey, - blockchain, - serviceNode: relayResponse.servicer_node, - relayStart, - result: 500, - bytes: Buffer.byteLength(relayResponse.message, 'utf8'), - delivered: errorDelivered, - fallback: false, - method, - error, - }); - } - } - // Exhausted relay attempts; use fallback - if (fallbackAvailable) { - let relayStart = process.hrtime(); - const fallbackChoice = new pocket_js_1.HttpRpcProvider(this.fallbacks[Math.floor(Math.random() * this.fallbacks.length)]); - const fallbackPayload = { data: rawData.toString(), method: httpMethod, path: relayPath, headers: null }; - const fallbackMeta = { block_height: 0 }; - const fallbackProof = { blockchain: blockchain }; - const fallbackRelay = { payload: fallbackPayload, meta: fallbackMeta, proof: fallbackProof }; - const fallbackResponse = await fallbackChoice.send("/v1/client/relay", JSON.stringify(fallbackRelay), 1200000, false); - if (this.checkDebug) { - logger.log('debug', JSON.stringify(fallbackChoice), { requestID: requestID, relayType: 'FALLBACK', typeID: application.id, serviceNode: 'fallback:' + fallbackChoice.baseURL }); - logger.log('debug', JSON.stringify(fallbackRelay), { requestID: requestID, relayType: 'FALLBACK', typeID: application.id, serviceNode: 'fallback:' + fallbackChoice.baseURL }); - logger.log('debug', JSON.stringify(fallbackResponse), { requestID: requestID, relayType: 'FALLBACK', typeID: application.id, serviceNode: 'fallback:' + fallbackChoice.baseURL }); - } - if (!(fallbackResponse instanceof pocket_js_1.RpcError)) { - const responseParsed = JSON.parse(fallbackResponse); - await this.metricsRecorder.recordMetric({ - requestID: requestID, - applicationID: application.id, - appPubKey: application.gatewayAAT.applicationPublicKey, - blockchain, - serviceNode: "fallback:" + fallbackChoice.baseURL, - relayStart, - result: 200, - bytes: Buffer.byteLength(responseParsed.response, 'utf8'), - delivered: false, - fallback: true, - method: method, - error: undefined - }); - // If return payload is valid JSON, turn it into an object so it is sent with content-type: json - if (blockchainEnforceResult && // Is this blockchain marked for result enforcement // and - blockchainEnforceResult.toLowerCase() === 'json' // the check is for JSON - ) { - return JSON.parse(responseParsed.response); - } - else { - return responseParsed.response; - } - } - else { - logger.log('error', JSON.stringify(fallbackResponse), { requestID: requestID, relayType: 'FALLBACK', typeID: application.id, serviceNode: 'fallback:' + fallbackChoice.baseURL }); - } - } - return new rest_1.HttpErrors.GatewayTimeout('Relay attempts exhausted'); - } - // Private function to allow relay retries - async _sendRelay(data, relayPath, httpMethod, requestID, application, requestTimeOut, blockchain, blockchainEnforceResult, blockchainSyncCheck) { - logger.log('info', 'RELAYING ' + blockchain + ' req: ' + data, { requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: '' }); - // Secret key check - if (!this.checkSecretKey(application)) { - throw new rest_1.HttpErrors.Forbidden('SecretKey does not match'); - } - // Whitelist: origins -- explicit matches - if (!this.checkWhitelist(application.gatewaySettings.whitelistOrigins, this.origin, 'explicit')) { - throw new rest_1.HttpErrors.Forbidden('Whitelist Origin check failed: ' + this.origin); - } - // Whitelist: userAgent -- substring matches - if (!this.checkWhitelist(application.gatewaySettings.whitelistUserAgents, this.userAgent, 'substring')) { - throw new rest_1.HttpErrors.Forbidden('Whitelist User Agent check failed: ' + this.userAgent); - } - // Checks pass; create AAT - const pocketAAT = new pocket_js_1.PocketAAT(application.gatewayAAT.version, application.gatewayAAT.clientPublicKey, application.gatewayAAT.applicationPublicKey, application.gatewayAAT.applicationSignature); - let node; - // Pull the session so we can get a list of nodes and cherry pick which one to use - const pocketSession = await this.pocket.sessionManager.getCurrentSession(pocketAAT, blockchain, this.pocketConfiguration); - if (pocketSession instanceof pocket_js_1.Session) { - let nodes = pocketSession.sessionNodes; - if (blockchainSyncCheck) { - nodes = await this.syncChecker.consensusFilter(pocketSession.sessionNodes, requestID, blockchainSyncCheck, 3, blockchain, application.id, application.gatewayAAT.applicationPublicKey, this.pocket, pocketAAT, this.pocketConfiguration); - } - node = await this.cherryPicker.cherryPickNode(application, nodes, blockchain, requestID); - } - if (this.checkDebug) { - logger.log('debug', JSON.stringify(pocketSession), { requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: node === null || node === void 0 ? void 0 : node.publicKey }); - } - // Adjust Pocket Configuration for a custom requestTimeOut - let relayConfiguration = this.pocketConfiguration; - if (requestTimeOut) { - relayConfiguration = this.updateConfiguration(requestTimeOut); - } - // Send relay and process return: RelayResponse, RpcError, ConsensusNode, or undefined - const relayResponse = await this.pocket.sendRelay(data, blockchain, pocketAAT, relayConfiguration, undefined, httpMethod, relayPath, node, undefined, requestID); - if (this.checkDebug) { - logger.log('debug', JSON.stringify(relayConfiguration), { requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: node === null || node === void 0 ? void 0 : node.publicKey }); - logger.log('debug', JSON.stringify(relayResponse), { requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: node === null || node === void 0 ? void 0 : node.publicKey }); - } - // Success - if (relayResponse instanceof pocket_js_1.RelayResponse) { - // First, check for the format of the result; Pocket Nodes will return relays that include - // erroneous results like "invalid host specified" when the node is configured incorrectly. - // Those results are still marked as 200:success. - // To filter them out, we will enforce result formats on certain blockchains. If the - // relay result is not in the correct format, this was not a successful relay. - if (blockchainEnforceResult && // Is this blockchain marked for result enforcement // and - blockchainEnforceResult.toLowerCase() === 'json' && // the check is for JSON // and - (!this.checkEnforcementJSON(relayResponse.payload) || // the relay response is not valid JSON // or - relayResponse.payload.startsWith('{"error"') // the full payload is an error - )) { - // then this result is invalid - return new relay_error_1.RelayError(relayResponse.payload, 503, relayResponse.proof.servicerPubKey); - } - else { - // Success - return relayResponse; - } - } - // Error - else if (relayResponse instanceof Error) { - return new relay_error_1.RelayError(relayResponse.message, 500, node === null || node === void 0 ? void 0 : node.publicKey); - } - // ConsensusNode - else { - // TODO: ConsensusNode is a possible return - return new Error('relayResponse is undefined'); - } - } - // Fetch node client type if Ethereum based - async fetchClientTypeLog(blockchain, id) { - const clientTypeLog = await this.redis.get(blockchain + '-' + id + '-clientType'); - return clientTypeLog; - } - parseMethod(parsedRawData) { - // Method recording for metrics - let method = ""; - if (parsedRawData instanceof Array) { - // Join the methods of calls in an array for chains that can join multiple calls in one - for (const key in parsedRawData) { - if (parsedRawData[key].method) { - if (method) { - method += ','; - } - method += parsedRawData[key].method; - } - } - } - else if (parsedRawData.method) { - method = parsedRawData.method; - } - return method; - } - updateConfiguration(requestTimeOut) { - return new pocket_js_1.Configuration(this.pocketConfiguration.maxDispatchers, this.pocketConfiguration.maxSessions, this.pocketConfiguration.consensusNodeCount, requestTimeOut, this.pocketConfiguration.acceptDisputedResponses, this.pocketConfiguration.sessionBlockFrequency, this.pocketConfiguration.blockTime, this.pocketConfiguration.maxSessionRefreshRetries, this.pocketConfiguration.validateRelayResponses, this.pocketConfiguration.rejectSelfSignedCertificates); - } - // Load requested blockchain by parsing the URL - async loadBlockchain() { - // Load the requested blockchain - const cachedBlockchains = await this.redis.get('blockchains'); - let blockchains; - if (!cachedBlockchains) { - blockchains = await this.blockchainsRepository.find(); - await this.redis.set('blockchains', JSON.stringify(blockchains), 'EX', 1); - } - else { - blockchains = JSON.parse(cachedBlockchains); - } - // Split off the first part of the request's host and check for matches - const blockchainRequest = this.host.split('.')[0]; - const blockchainFilter = blockchains.filter((b) => b.blockchain.toLowerCase() === blockchainRequest.toLowerCase()); - if (blockchainFilter[0]) { - let blockchainEnforceResult = ''; - let blockchainSyncCheck = ''; - const blockchain = blockchainFilter[0].hash; - // Record the necessary format for the result; example: JSON - if (blockchainFilter[0].enforceResult) { - blockchainEnforceResult = blockchainFilter[0].enforceResult; - } - // Sync Check to determine current blockheight - if (blockchainFilter[0].syncCheck) { - blockchainSyncCheck = blockchainFilter[0].syncCheck.replace(/\\"/g, '"'); - } - return Promise.resolve([blockchain, blockchainEnforceResult, blockchainSyncCheck]); - } - else { - throw new rest_1.HttpErrors.BadRequest('Incorrect blockchain: ' + this.host); - } - } - // Check relay result: JSON - checkEnforcementJSON(test) { - if (!test || test.length === 0) { - return false; - } - // Code from: https://github.com/prototypejs/prototype/blob/560bb59414fc9343ce85429b91b1e1b82fdc6812/src/prototype/lang/string.js#L699 - // Prototype lib - if (/^\s*$/.test(test)) - return false; - test = test.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@'); - test = test.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'); - test = test.replace(/(?:^|:|,)(?:\s*\[)+/g, ''); - return /^[\],:{}\s]*$/.test(test); - } - checkSecretKey(application) { - // Check secretKey; is it required? does it pass? -- temp allowance for unencrypted keys - const decryptor = new strong_cryptor_1.Decryptor({ key: this.databaseEncryptionKey }); - if (application.gatewaySettings.secretKeyRequired && // If the secret key is required by app's settings // and - application.gatewaySettings.secretKey && // the app's secret key is set // and - (!this.secretKey || // the request doesn't contain a secret key // or - this.secretKey.length < 32 || // the secret key is invalid // or - (this.secretKey.length === 32 && - this.secretKey !== application.gatewaySettings.secretKey) || // the secret key does not match plaintext // or - (this.secretKey.length > 32 && - this.secretKey !== - decryptor.decrypt(application.gatewaySettings.secretKey))) // does not match encrypted - ) { - return false; - } - return true; - } - // Check passed in string against an array of whitelisted items - // Type can be "explicit" or substring match - checkWhitelist(tests, check, type) { - if (!tests || tests.length === 0) { - return true; - } - if (!check) { - return false; - } - for (const test of tests) { - if (type === 'explicit') { - if (test.toLowerCase() === check.toLowerCase()) { - return true; - } - } - else { - if (check.toLowerCase().includes(test.toLowerCase())) { - return true; - } - } - } - return false; - } -} -exports.PocketRelayer = PocketRelayer; -//# sourceMappingURL=pocket-relayer.js.map \ No newline at end of file diff --git a/dist/services/pocket-relayer.js.map b/dist/services/pocket-relayer.js.map deleted file mode 100644 index cc8fa9e4..00000000 --- a/dist/services/pocket-relayer.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"pocket-relayer.js","sourceRoot":"","sources":["../../src/services/pocket-relayer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/services/relay-profiler.d.ts b/dist/services/relay-profiler.d.ts deleted file mode 100644 index 948e8a42..00000000 --- a/dist/services/relay-profiler.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { BaseProfiler, ProfileResult } from '@pokt-network/pocket-js'; -import { Pool as PGPool } from 'pg'; -export declare class RelayProfiler extends BaseProfiler { - data: { - key: string; - time_elapsed: number | undefined; - }[]; - pgPool: PGPool; - constructor(pgPool: PGPool); - flushResults(requestID: string, blockchain: string, functionName: string, results: ProfileResult[]): Promise<void>; -} diff --git a/dist/services/relay-profiler.js b/dist/services/relay-profiler.js deleted file mode 100644 index b4094d05..00000000 --- a/dist/services/relay-profiler.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const pocket_js_1 = require("@pokt-network/pocket-js"); -const pgFormat = require('pg-format'); -const logger = require('../services/logger'); -class RelayProfiler extends pocket_js_1.BaseProfiler { - constructor(pgPool) { - super(); - this.data = []; - this.pgPool = pgPool; - } - async flushResults(requestID, blockchain, functionName, results) { - /* - const bulkData: any[] = []; - const timestamp = new Date(); - - results.forEach((result) => { - bulkData.push( - [ - timestamp, - requestID, - blockchain, - functionName, - result.blockKey, - (result.timeElapsed !== 0 ? result.timeElapsed / 1000 : 0), - ] - ); - }); - - if (bulkData.length > 0) { - const metricsQuery = pgFormat('INSERT INTO profile VALUES %L', bulkData); - - this.pgPool.connect((err, client, release) => { - if (err) { - logger.log('error', 'FLUSHING ERROR acquiring client ' + err.stack); - } - client.query(metricsQuery, (err, result) => { - release(); - if (err) { - logger.log('error', 'FLUSHING ERROR executing query ' + metricsQuery + ' ' + err.stack); - } - }); - }); - } - */ - } -} -exports.RelayProfiler = RelayProfiler; -//# sourceMappingURL=relay-profiler.js.map \ No newline at end of file diff --git a/dist/services/relay-profiler.js.map b/dist/services/relay-profiler.js.map deleted file mode 100644 index 27dc8ba9..00000000 --- a/dist/services/relay-profiler.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"relay-profiler.js","sourceRoot":"","sources":["../../src/services/relay-profiler.ts"],"names":[],"mappings":";;AAAA,uDAGiC;AAIjC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACtC,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE7C,MAAa,aAAc,SAAQ,wBAAY;IAI7C,YAAY,MAAc;QACxB,KAAK,EAAE,CAAC;QAJH,SAAI,GAAsD,EAAE,CAAA;QAKjE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,UAAkB,EAAE,YAAoB,EAAE,OAAwB;QACtG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAgCE;IACJ,CAAC;CACF;AA5CD,sCA4CC"} \ No newline at end of file diff --git a/dist/services/sync-checker.d.ts b/dist/services/sync-checker.d.ts deleted file mode 100644 index 759deed0..00000000 --- a/dist/services/sync-checker.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Configuration, Node, Pocket, PocketAAT } from '@pokt-network/pocket-js'; -import { MetricsRecorder } from '../services/metrics-recorder'; -import { Redis } from 'ioredis'; -export declare class SyncChecker { - redis: Redis; - metricsRecorder: MetricsRecorder; - constructor(redis: Redis, metricsRecorder: MetricsRecorder); - consensusFilter(nodes: Node[], requestID: string, syncCheck: string, syncAllowance: number | undefined, blockchain: string, applicationID: string, applicationPublicKey: string, pocket: Pocket, pocketAAT: PocketAAT, pocketConfiguration: Configuration): Promise<Node[]>; - getNodeSyncLogs(nodes: Node[], requestID: string, syncCheck: string, blockchain: string, applicationID: string, applicationPublicKey: string, pocket: Pocket, pocketAAT: PocketAAT, pocketConfiguration: Configuration): Promise<NodeSyncLog[]>; - getNodeSyncLog(node: Node, requestID: string, syncCheck: string, blockchain: string, applicationID: string, applicationPublicKey: string, pocket: Pocket, pocketAAT: PocketAAT, pocketConfiguration: Configuration): Promise<NodeSyncLog>; - updateConfigurationConsensus(pocketConfiguration: Configuration): Configuration; - updateConfigurationTimeout(pocketConfiguration: Configuration): Configuration; -} -declare type NodeSyncLog = { - node: Node; - blockchain: string; - blockHeight: number; -}; -export {}; diff --git a/dist/services/sync-checker.js b/dist/services/sync-checker.js deleted file mode 100644 index 2a843734..00000000 --- a/dist/services/sync-checker.js +++ /dev/null @@ -1,166 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const pocket_js_1 = require("@pokt-network/pocket-js"); -var crypto = require('crypto'); -const logger = require('../services/logger'); -class SyncChecker { - constructor(redis, metricsRecorder) { - this.redis = redis; - this.metricsRecorder = metricsRecorder; - } - async consensusFilter(nodes, requestID, syncCheck, syncAllowance = 1, blockchain, applicationID, applicationPublicKey, pocket, pocketAAT, pocketConfiguration) { - let syncedNodes = []; - let syncedNodesList = []; - // Key is "blockchain - a hash of the all the nodes in this session, sorted by public key" - // Value is an array of node public keys that have passed sync checks for this session in the past 5 minutes - const syncedNodesKey = blockchain + '-' + crypto.createHash('sha256').update(JSON.stringify(nodes.sort((a, b) => (a.publicKey > b.publicKey) ? 1 : ((b.publicKey > a.publicKey) ? -1 : 0)), (k, v) => k != 'publicKey' ? v : undefined)).digest('hex'); - const syncedNodesCached = await this.redis.get(syncedNodesKey); - if (syncedNodesCached) { - syncedNodesList = JSON.parse(syncedNodesCached); - for (const node of nodes) { - if (syncedNodesList.includes(node.publicKey)) { - syncedNodes.push(node); - } - } - // logger.log('info', 'SYNC CHECK CACHE: ' + syncedNodes.length + ' nodes returned'); - return syncedNodes; - } - // Cache is stale, start a new cache fill - // First check cache lock key; if lock key exists, return full node set - const syncLock = await this.redis.get('lock-' + syncedNodesKey); - if (syncLock) { - return nodes; - } - else { - // Set lock as this thread checks the sync with 60 second ttl. - // If any major errors happen below, it will retry the sync check every 60 seconds. - await this.redis.set('lock-' + syncedNodesKey, 'true', 'EX', 60); - } - // Fires all 5 sync checks synchronously then assembles the results - const nodeSyncLogs = await this.getNodeSyncLogs(nodes, requestID, syncCheck, blockchain, applicationID, applicationPublicKey, pocket, pocketAAT, pocketConfiguration); - // This should never happen - if (nodeSyncLogs.length <= 2) { - logger.log('error', 'SYNC CHECK ERROR: fewer than 3 nodes returned sync', { requestID: requestID, relayType: '', typeID: '', serviceNode: '', error: '', elapsedTime: '' }); - return nodes; - } - // Sort NodeSyncLogs by blockHeight - nodeSyncLogs.sort((a, b) => b.blockHeight - a.blockHeight); - // If top node is still 0, or not a number, return all nodes due to check failure - if (nodeSyncLogs[0].blockHeight === 0 || - typeof nodeSyncLogs[0].blockHeight !== 'number' || - (nodeSyncLogs[0].blockHeight % 1) !== 0) { - logger.log('error', 'SYNC CHECK ERROR: top synced node result is invalid ' + nodeSyncLogs[0].blockHeight, { requestID: requestID, relayType: '', typeID: '', serviceNode: '', error: '', elapsedTime: '' }); - return nodes; - } - // Make sure at least 2 nodes agree on current highest block to prevent one node from being wildly off - if (nodeSyncLogs[0].blockHeight > (nodeSyncLogs[1].blockHeight + syncAllowance)) { - logger.log('error', 'SYNC CHECK ERROR: two highest nodes could not agree on sync', { requestID: requestID, relayType: '', typeID: '', serviceNode: '', error: '', elapsedTime: '' }); - return nodes; - } - const currentBlockHeight = nodeSyncLogs[0].blockHeight; - // Go through nodes and add all nodes that are current or within 1 block -- this allows for block processing times - for (const nodeSyncLog of nodeSyncLogs) { - let relayStart = process.hrtime(); - if ((nodeSyncLog.blockHeight + syncAllowance) >= currentBlockHeight) { - logger.log('info', 'SYNC CHECK IN-SYNC: ' + nodeSyncLog.node.publicKey + ' height: ' + nodeSyncLog.blockHeight, { requestID: requestID, relayType: '', typeID: '', serviceNode: nodeSyncLog.node.publicKey, error: '', elapsedTime: '' }); - // In-sync: add to nodes list - syncedNodes.push(nodeSyncLog.node); - syncedNodesList.push(nodeSyncLog.node.publicKey); - } - else { - logger.log('info', 'SYNC CHECK BEHIND: ' + nodeSyncLog.node.publicKey + ' height: ' + nodeSyncLog.blockHeight, { requestID: requestID, relayType: '', typeID: '', serviceNode: nodeSyncLog.node.publicKey, error: '', elapsedTime: '' }); - await this.metricsRecorder.recordMetric({ - requestID: requestID, - applicationID: applicationID, - appPubKey: applicationPublicKey, - blockchain, - serviceNode: nodeSyncLog.node.publicKey, - relayStart, - result: 500, - bytes: Buffer.byteLength('OUT OF SYNC', 'utf8'), - delivered: false, - fallback: false, - method: 'synccheck', - error: 'OUT OF SYNC', - }); - } - } - logger.log('info', 'SYNC CHECK COMPLETE: ' + syncedNodes.length + ' nodes in sync', { requestID: requestID, relayType: '', typeID: '', serviceNode: '', error: '', elapsedTime: '' }); - await this.redis.set(syncedNodesKey, JSON.stringify(syncedNodesList), 'EX', 300); - // If one or more nodes of this session are not in sync, fire a consensus relay with the same check. - // This will penalize the out-of-sync nodes and cause them to get slashed for reporting incorrect data. - if (syncedNodes.length < 5) { - const consensusResponse = await pocket.sendRelay(syncCheck, blockchain, pocketAAT, this.updateConfigurationConsensus(pocketConfiguration), undefined, 'POST', undefined, undefined, true, 'synccheck'); - logger.log('info', 'SYNC CHECK CHALLENGE: ' + JSON.stringify(consensusResponse), { requestID: requestID, relayType: '', typeID: '', serviceNode: '', error: '', elapsedTime: '' }); - } - return syncedNodes; - } - async getNodeSyncLogs(nodes, requestID, syncCheck, blockchain, applicationID, applicationPublicKey, pocket, pocketAAT, pocketConfiguration) { - const nodeSyncLogs = []; - const promiseStack = []; - // Set to junk values first so that the Promise stack can fill them later - let rawNodeSyncLogs = [0, 0, 0, 0, 0]; - for (const node of nodes) { - promiseStack.push(this.getNodeSyncLog(node, requestID, syncCheck, blockchain, applicationID, applicationPublicKey, pocket, pocketAAT, pocketConfiguration)); - } - [rawNodeSyncLogs[0], rawNodeSyncLogs[1], rawNodeSyncLogs[2], rawNodeSyncLogs[3], rawNodeSyncLogs[4]] = await Promise.all(promiseStack); - for (const rawNodeSyncLog of rawNodeSyncLogs) { - if (typeof rawNodeSyncLog === 'object' && - rawNodeSyncLog.blockHeight > 0) { - nodeSyncLogs.push(rawNodeSyncLog); - } - } - return nodeSyncLogs; - } - async getNodeSyncLog(node, requestID, syncCheck, blockchain, applicationID, applicationPublicKey, pocket, pocketAAT, pocketConfiguration) { - logger.log('info', 'SYNC CHECK START', { requestID: requestID, relayType: '', typeID: '', serviceNode: node.publicKey, error: '', elapsedTime: '' }); - // Pull the current block from each node using the blockchain's syncCheck as the relay - let relayStart = process.hrtime(); - const relayResponse = await pocket.sendRelay(syncCheck, blockchain, pocketAAT, this.updateConfigurationTimeout(pocketConfiguration), undefined, 'POST', undefined, node, false, 'synccheck'); - if (relayResponse instanceof pocket_js_1.RelayResponse) { - const payload = JSON.parse(relayResponse.payload); - // Create a NodeSyncLog for each node with current block - const nodeSyncLog = { node: node, blockchain: blockchain, blockHeight: parseInt(payload.result, 16) }; - logger.log('info', 'SYNC CHECK RESULT: ' + JSON.stringify(nodeSyncLog), { requestID: requestID, relayType: '', typeID: '', serviceNode: node.publicKey, error: '', elapsedTime: '' }); - // Success - return nodeSyncLog; - } - else if (relayResponse instanceof Error) { - logger.log('error', 'SYNC CHECK ERROR: ' + JSON.stringify(relayResponse), { requestID: requestID, relayType: '', typeID: '', serviceNode: node.publicKey, error: '', elapsedTime: '' }); - let error = relayResponse.message; - if (typeof relayResponse.message === 'object') { - error = JSON.stringify(relayResponse.message); - } - if (error !== 'Provided Node is not part of the current session for this application, check your PocketAAT') { - await this.metricsRecorder.recordMetric({ - requestID: requestID, - applicationID: applicationID, - appPubKey: applicationPublicKey, - blockchain, - serviceNode: node.publicKey, - relayStart, - result: 500, - bytes: Buffer.byteLength(relayResponse.message, 'utf8'), - delivered: false, - fallback: false, - method: 'synccheck', - error, - }); - } - } - else { - logger.log('error', 'SYNC CHECK ERROR UNHANDLED: ' + JSON.stringify(relayResponse), { requestID: requestID, relayType: '', typeID: '', serviceNode: node.publicKey, error: '', elapsedTime: '' }); - } - // Failed - const nodeSyncLog = { node: node, blockchain: blockchain, blockHeight: 0 }; - return nodeSyncLog; - } - updateConfigurationConsensus(pocketConfiguration) { - return new pocket_js_1.Configuration(pocketConfiguration.maxDispatchers, pocketConfiguration.maxSessions, 5, 2000, false, pocketConfiguration.sessionBlockFrequency, pocketConfiguration.blockTime, pocketConfiguration.maxSessionRefreshRetries, pocketConfiguration.validateRelayResponses, pocketConfiguration.rejectSelfSignedCertificates); - } - updateConfigurationTimeout(pocketConfiguration) { - return new pocket_js_1.Configuration(pocketConfiguration.maxDispatchers, pocketConfiguration.maxSessions, pocketConfiguration.consensusNodeCount, 4000, pocketConfiguration.acceptDisputedResponses, pocketConfiguration.sessionBlockFrequency, pocketConfiguration.blockTime, pocketConfiguration.maxSessionRefreshRetries, pocketConfiguration.validateRelayResponses, pocketConfiguration.rejectSelfSignedCertificates); - } -} -exports.SyncChecker = SyncChecker; -//# sourceMappingURL=sync-checker.js.map \ No newline at end of file diff --git a/dist/services/sync-checker.js.map b/dist/services/sync-checker.js.map deleted file mode 100644 index ef086e96..00000000 --- a/dist/services/sync-checker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"sync-checker.js","sourceRoot":"","sources":["../../src/services/sync-checker.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml deleted file mode 100644 index b5d6fb00..00000000 --- a/docker-compose.yaml +++ /dev/null @@ -1,28 +0,0 @@ -version: "2.1" -services: - mongodb: - image: mongo:3.2.11 - environment: - MONGO_INITDB_ROOT_USERNAME: mongo-client - MONGO_INITDB_ROOT_PASSWORD: mongo-password - volumes: - - ~/.pocket/mongodb:/data/db - ports: - - "27017:27017" - networks: - - pocket - redis: - image: "redis:alpine" - command: redis-server - ports: - - "6379:6379" - volumes: - - ~/.pocket/redis:/var/lib/redis - - ./redis.conf:/usr/local/etc/redis/redis.conf - environment: - - REDIS_REPLICATION_MODE=master - networks: - - pocket -networks: - pocket: - driver: bridge diff --git a/package-lock.json b/package-lock.json index 992cad80..2b6ff0aa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,26 +14,26 @@ } }, "@babel/compat-data": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz", - "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==", + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz", + "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==", "dev": true }, "@babel/core": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.0.tgz", - "integrity": "sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helpers": "^7.14.0", - "@babel/parser": "^7.14.0", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0", + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz", + "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helpers": "^7.14.6", + "@babel/parser": "^7.14.6", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -43,18 +43,18 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, "requires": { - "@babel/highlight": "^7.12.13" + "@babel/highlight": "^7.14.5" } }, "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" @@ -69,206 +69,216 @@ } }, "@babel/generator": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.1.tgz", - "integrity": "sha512-TMGhsXMXCP/O1WtQmZjpEYDhCYC9vFhayWZPJSZCGkPJgUqX0rF0wwtrYvnzVxIjcF80tkUertXVk5cwqi5cAQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", + "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", "dev": true, "requires": { - "@babel/types": "^7.14.1", + "@babel/types": "^7.14.5", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-compilation-targets": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", - "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", + "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", "semver": "^6.3.0" } }, "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", "dev": true, "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.5" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz", + "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==", "dev": true, "requires": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.14.5" } }, "@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", - "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", "dev": true, "requires": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.14.5" } }, "@babel/helper-module-transforms": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.0.tgz", - "integrity": "sha512-L40t9bxIuGOfpIGA3HNkJhU9qYrf4y5A5LUSw7rGMSn+pcG8dfJ0g6Zval6YJGd2nEjI7oP00fRdnhLKndx6bw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", + "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-simple-access": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.14.0", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", "dev": true, "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.5" } }, "@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", - "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", + "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helper-simple-access": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", - "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", + "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", "dev": true, "requires": { - "@babel/types": "^7.13.12" + "@babel/types": "^7.14.5" } }, "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", "dev": true, "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.5" } }, "@babel/helper-validator-identifier": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", + "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", "dev": true }, "@babel/helpers": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz", - "integrity": "sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==", + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz", + "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==", "dev": true, "requires": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0" + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/highlight": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", - "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.0", + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.1.tgz", - "integrity": "sha512-muUGEKu8E/ftMTPlNp+mc6zL3E9zKWmF5sDHZ5MSsoTP9Wyz64AhEf9kD08xYJ7w6Hdcu8H550ircnPyWSIF0Q==", + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz", + "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==", "dev": true }, "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" }, "dependencies": { "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, "requires": { - "@babel/highlight": "^7.12.13" + "@babel/highlight": "^7.14.5" } } } }, "@babel/traverse": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.0.tgz", - "integrity": "sha512-dZ/a371EE5XNhTHomvtuLTUyx6UEoJmYX+DT5zBCQN3McHemsuIaKKYqsc/fs26BEkHs/lBZy0J571LP5z9kQA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.14.0", - "@babel/types": "^7.14.0", + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz", + "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@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.14.7", + "@babel/types": "^7.14.5", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, "requires": { - "@babel/highlight": "^7.12.13" + "@babel/highlight": "^7.14.5" } }, "globals": { @@ -280,12 +290,12 @@ } }, "@babel/types": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.1.tgz", - "integrity": "sha512-S13Qe85fzLs3gYRUnrpyeIrBJIMYv33qSTg1qoBwiG6nPKwUWAD9odSzWhEedpwOIzSEI6gbdQIWEMiCI42iBA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.0", + "@babel/helper-validator-identifier": "^7.14.5", "to-fast-properties": "^2.0.0" } }, @@ -300,15 +310,15 @@ } }, "@eslint/eslintrc": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz", - "integrity": "sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", + "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", - "globals": "^12.1.0", + "globals": "^13.9.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", @@ -316,13 +326,20 @@ "strip-json-comments": "^3.1.1" }, "dependencies": { - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "strip-json-comments": { @@ -403,6 +420,16 @@ "path-exists": "^4.0.0" } }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -445,221 +472,116 @@ "dev": true }, "@loopback/boot": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@loopback/boot/-/boot-2.5.1.tgz", - "integrity": "sha512-TAOU4Mz1wcoVynx1jLHQhFg8NltBqvoZ8Rb6PE1qdcYtI6zsETQprKbr3P+F+cXivj8xv4mLDBd30lFmgvC+0Q==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@loopback/boot/-/boot-3.4.1.tgz", + "integrity": "sha512-HM/q4HAgCe7YHKWojMzEQfoCsoAx1QwEi1PFE2jJNnMVh8A/szXWWERZmOzGOieF/7itBtygPYz9ztrAN9YfzQ==", "requires": { - "@loopback/core": "^2.9.5", - "@loopback/model-api-builder": "^2.1.13", - "@loopback/repository": "^2.11.2", - "@loopback/service-proxy": "^2.3.8", + "@loopback/model-api-builder": "^2.3.1", + "@loopback/repository": "^3.7.0", + "@loopback/service-proxy": "^3.2.1", "@types/debug": "^4.1.5", "@types/glob": "^7.1.3", - "debug": "^4.1.1", - "glob": "^7.1.6", - "tslib": "^2.0.1" + "debug": "^4.3.1", + "glob": "^7.1.7", + "tslib": "^2.2.0" }, "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } } } }, "@loopback/build": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/@loopback/build/-/build-5.4.3.tgz", - "integrity": "sha512-HL1X7vTbOv3XijOClkI2VRWAIinRid9iolPuq2yKiPA57tmGEBFYMVZVILppSF+NmIp/gqGjqFLT4nTm+lidGA==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@loopback/build/-/build-6.4.1.tgz", + "integrity": "sha512-SO2QTkCOcWaI68R7y6bnWnNjbaSPGFUywWeNfk64B2MXr2yC8Ky2I+VnZwwSB8TaJR3/a2QlhQzSHMxv55OnYg==", "dev": true, "requires": { - "@loopback/eslint-config": "^8.0.1", - "@types/mocha": "^7.0.2", - "@types/node": "^10.17.26", + "@loopback/eslint-config": "^10.2.1", + "@types/mocha": "^8.2.2", + "@types/node": "^10.17.60", "cross-spawn": "^7.0.3", - "debug": "^4.1.1", - "eslint": "^7.2.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "mocha": "^8.0.1", + "debug": "^4.3.1", + "eslint": "^7.28.0", + "fs-extra": "^10.0.0", + "glob": "^7.1.7", + "lodash": "^4.17.21", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "prettier": "^2.0.5", + "prettier": "^2.3.1", "rimraf": "^3.0.2", "source-map-support": "^0.5.19", - "typescript": "~3.9.5" + "typescript": "~4.3.2" }, "dependencies": { - "@loopback/eslint-config": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/@loopback/eslint-config/-/eslint-config-8.0.4.tgz", - "integrity": "sha512-UhKtBfsXUYhp88WMRhlLXsk2G6eU9W2PUOQ+UylP4Vperk8kpBw0MFdNzmZkTw8MaXRnKub47E2N2aW3TsIbuA==", - "dev": true, - "requires": { - "@typescript-eslint/eslint-plugin": "^3.7.0", - "@typescript-eslint/parser": "^3.7.0", - "eslint-config-prettier": "^6.11.0", - "eslint-plugin-eslint-plugin": "^2.3.0", - "eslint-plugin-mocha": "^7.0.1" - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz", - "integrity": "sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "3.10.1", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "@typescript-eslint/parser": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.10.1.tgz", - "integrity": "sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==", - "dev": true, - "requires": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "3.10.1", - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/typescript-estree": "3.10.1", - "eslint-visitor-keys": "^1.1.0" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", "dev": true }, - "eslint": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.26.0.tgz", - "integrity": "sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg==", + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.1", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.21", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.4", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } + "ms": "2.1.2" } }, - "eslint-plugin-mocha": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-7.0.1.tgz", - "integrity": "sha512-zkQRW9UigRaayGm/pK9TD5RjccKXSgQksNtpsXbG9b6L5I+jNx7m98VUbZ4w1H1ArlNA+K7IOH+z8TscN6sOYg==", + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", "dev": true, "requires": { - "eslint-utils": "^2.0.0", - "ramda": "^0.27.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", "dev": true }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, "typescript": { - "version": "3.9.9", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz", - "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.4.tgz", + "integrity": "sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==", "dev": true } } @@ -719,42 +641,92 @@ } }, "@loopback/eslint-config": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/@loopback/eslint-config/-/eslint-config-6.0.6.tgz", - "integrity": "sha512-FbQtuLnLBTJwVQhtpZV6F9RTWz0EYttvtwx4Rs5/aKJIB+U4+0WARPDvMwmhi38e1mKbE1xNa+HWanGq+E1N0g==", - "dev": true + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/@loopback/eslint-config/-/eslint-config-10.2.1.tgz", + "integrity": "sha512-pOTh9vEZ8qat9LRGC1TAmdDai9n1DbQeKXcbjIs63BjNbvbS9N6qqG1s+y16kMRmzRmcVcFRQWfLEswfcD5BJQ==", + "dev": true, + "requires": { + "@typescript-eslint/eslint-plugin": "^4.26.1", + "@typescript-eslint/parser": "^4.26.1", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-eslint-plugin": "^3.0.3", + "eslint-plugin-mocha": "^9.0.0" + }, + "dependencies": { + "eslint-plugin-mocha": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-9.0.0.tgz", + "integrity": "sha512-d7knAcQj1jPCzZf3caeBIn3BnW6ikcvfz0kSqQpwPYcVGLoJV5sz0l0OJB2LR8I7dvTDbqq1oV6ylhSgzA10zg==", + "dev": true, + "requires": { + "eslint-utils": "^3.0.0", + "ramda": "^0.27.1" + } + } + } }, "@loopback/express": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@loopback/express/-/express-1.4.1.tgz", - "integrity": "sha512-ZyCVPglwusoNdEd7+TJgnh9TmKLe8tYoOYGH+DZkUFeOSynJpRmtd0iIYgIwTM+3zQMz3HPht9TVY7+tkQpwQg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@loopback/express/-/express-3.3.1.tgz", + "integrity": "sha512-B0f9A1EjfcWtTTnW2QGu9FnaZjZrHOO2H/Aq4f758N0YE1ETgdHpbeT2MSHu2J9J5ppbhhDms3DKX1+/IF+yuA==", "requires": { - "@loopback/core": "^2.9.5", - "@loopback/http-server": "^2.2.0", + "@loopback/http-server": "^2.5.1", "@types/body-parser": "^1.19.0", - "@types/express": "^4.17.7", - "@types/express-serve-static-core": "^4.17.9", + "@types/express": "^4.17.12", + "@types/express-serve-static-core": "^4.17.21", "@types/http-errors": "^1.8.0", "body-parser": "^1.19.0", - "debug": "^4.1.1", + "debug": "^4.3.1", "express": "^4.17.1", "http-errors": "^1.8.0", "on-finished": "^2.3.0", "toposort": "^2.0.2", - "tslib": "^2.0.1" + "tslib": "^2.2.0" }, "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + "@types/express": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.12.tgz", + "integrity": "sha512-pTYas6FrP15B1Oa0bkN5tQMNqOcVXa9j4FTFtO8DWI9kppKib+6NJtfTOOLcwxuuYvcX2+dVG6et1SxW/Kc17Q==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.22", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.22.tgz", + "integrity": "sha512-WdqmrUsRS4ootGha6tVwk/IVHM1iorU8tGehftQD2NWiPniw/sm7xdJOIlXLwqdInL9wBw/p7oO8vaYEF3NDmA==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } } } }, + "@loopback/filter": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@loopback/filter/-/filter-1.5.1.tgz", + "integrity": "sha512-ecM5ZcRlf2XokozQX8UWMaIqzbFxUidNTcbAuFMAur+yHossc++/sY0xBDkkoeG9R7hiQLoF9+NB+2Zp4oxbQA==", + "requires": { + "tslib": "^2.2.0" + } + }, "@loopback/http-server": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@loopback/http-server/-/http-server-2.5.0.tgz", - "integrity": "sha512-e1WJmrZ4MK1uPQcnXDuIcuIw3nLctjzJwb7f6Bx6w9NHH4GmSUdxtUIoqgoQ3D4nMwU/nf8EpUClwyNaQS6I/w==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@loopback/http-server/-/http-server-2.5.1.tgz", + "integrity": "sha512-vM0XAMOIYZRny7RqsfdOOj5JIOk/VifpMc5Hp/2i8pljQDTiyAKn+qrabklYLpXisKabQAVSWogtYc4TH8Q+2A==", "requires": { "debug": "^4.3.1", "stoppable": "^1.1.0", @@ -768,11 +740,6 @@ "requires": { "ms": "2.1.2" } - }, - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" } } }, @@ -808,211 +775,165 @@ } }, "@loopback/model-api-builder": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@loopback/model-api-builder/-/model-api-builder-2.3.0.tgz", - "integrity": "sha512-WolyrEWhDP3zkMAesZL5f1sxrxhWE8umMqoXjFi8pPbQ8tgYGkpBsDEXJ6rxd/i/+85YUfNiGn2f2fapi2DV2A==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@loopback/model-api-builder/-/model-api-builder-2.3.1.tgz", + "integrity": "sha512-i3hJKNdqO0pB2UN3wq50H5BrnlGPU160ztvGUKrnx3+y/nrTsrj8aQtGwyd2aKWxGD/sy+ltwq328dsrwjLeEw==", "requires": { "tslib": "^2.2.0" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "@loopback/openapi-v3": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/@loopback/openapi-v3/-/openapi-v3-3.4.9.tgz", - "integrity": "sha512-HfKG/ZGHkJX3CbLNX/NYZ6tQU6rMH9pDCMJFUWUlVq0kXBx+odo60gqTW1Ix3rnFM+U7hTWGOllI9KmK3baYPA==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@loopback/openapi-v3/-/openapi-v3-5.3.1.tgz", + "integrity": "sha512-MBVamgxDDbgQQlQjIxSOnaVXLx6plxzn3e8CW8YbNc3TNiS1P8EFa5vNBp8wIzSDTeEd3ic6qzUxCUZIICiFNA==", "requires": { - "@loopback/core": "^2.9.5", - "@loopback/repository-json-schema": "^2.4.10", - "debug": "^4.1.1", - "http-status": "^1.4.2", - "json-merge-patch": "^1.0.0", - "lodash": "^4.17.20", - "openapi3-ts": "^1.4.0", - "tslib": "^2.0.1" + "@loopback/repository-json-schema": "^3.4.1", + "debug": "^4.3.1", + "http-status": "^1.5.0", + "json-merge-patch": "^1.0.1", + "lodash": "^4.17.21", + "openapi3-ts": "^2.0.1", + "tslib": "^2.2.0" }, "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } } } }, "@loopback/repository": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@loopback/repository/-/repository-2.11.2.tgz", - "integrity": "sha512-mKOrs/tQqKfa3cJkrJf6JQUJV8ssTHzI+CEgXnLJw2l5xiKBQIJwF4qqrMGJwtDe4Oo6l6TYk5JPR8IxewAcWg==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@loopback/repository/-/repository-3.7.0.tgz", + "integrity": "sha512-yMSh8ea8ZFk2lTFuJf7gOn/KZMRYz5qPAj3OrJqQ2eiqmU/TrP4Vjz1DZp7/ReomkNpEr05bXYQlhcGDLgCtPQ==", "requires": { - "@loopback/core": "^2.9.5", + "@loopback/filter": "^1.5.1", "@types/debug": "^4.1.5", - "debug": "^4.1.1", - "lodash": "^4.17.20", - "loopback-datasource-juggler": "^4.24.0", - "tslib": "^2.0.1" + "debug": "^4.3.1", + "lodash": "^4.17.21", + "loopback-datasource-juggler": "^4.26.0", + "tslib": "^2.2.0" }, "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } } } }, "@loopback/repository-json-schema": { - "version": "2.4.10", - "resolved": "https://registry.npmjs.org/@loopback/repository-json-schema/-/repository-json-schema-2.4.10.tgz", - "integrity": "sha512-yI46zzi6Zx1C7++ZhsJxSij7I29xIchavUO0JvgZJ6uVad8XsOh6IOo0a3LcqwygiLJzbxpSC54v4q2Lzx3Z1A==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@loopback/repository-json-schema/-/repository-json-schema-3.4.1.tgz", + "integrity": "sha512-E9UKegav+8Bp0MLPQu33c7tWUmWbnKARy0Uu2m7nvP3e3t3WOwB8U9hMjX/wBOhJ4UFJCXAXlq1MulQ/R3dyTw==", "requires": { - "@loopback/core": "^2.9.5", - "@loopback/repository": "^2.11.2", - "@types/json-schema": "^7.0.5", - "debug": "^4.1.1", - "tslib": "^2.0.1" + "@types/json-schema": "^7.0.7", + "debug": "^4.3.1", + "tslib": "^2.2.0" }, "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } } } }, "@loopback/rest": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-3.3.2.tgz", - "integrity": "sha512-AopU01+ybk6c8vAdk/ukZQyCnd3xruInYRHtiVKiQqRLBMNAIzRJV58lH8h8ifEqtKMcF9SSXdav/RDl30rgZg==", - "requires": { - "@loopback/context": "^3.6.0", - "@loopback/core": "^2.4.2", - "@loopback/http-server": "^2.1.2", - "@loopback/openapi-v3": "^3.3.0", - "@openapi-contrib/openapi-schema-to-json-schema": "^3.0.0", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-9.3.1.tgz", + "integrity": "sha512-gPqkcNI57zjwOnwsMkh6Zpy3f7hqA180HhcRf+1hfDZ8K/jeAS2Y3ABBQSQGV0UutqoOBEw+Nhrf3EFOijESiw==", + "requires": { + "@loopback/express": "^3.3.1", + "@loopback/http-server": "^2.5.1", + "@loopback/openapi-v3": "^5.3.1", + "@openapi-contrib/openapi-schema-to-json-schema": "^3.1.0", "@types/body-parser": "^1.19.0", - "@types/cors": "^2.8.6", - "@types/express": "^4.17.6", - "@types/express-serve-static-core": "^4.17.5", - "@types/http-errors": "^1.6.3", + "@types/cors": "^2.8.10", + "@types/express": "^4.17.12", + "@types/express-serve-static-core": "^4.17.21", + "@types/http-errors": "^1.8.0", "@types/on-finished": "^2.3.1", - "@types/serve-static": "1.13.3", + "@types/serve-static": "1.13.9", "@types/type-is": "^1.6.3", - "ajv": "^6.12.2", + "ajv": "^6.12.6", "ajv-errors": "^1.0.1", - "ajv-keywords": "^3.4.1", + "ajv-keywords": "^3.5.2", "body-parser": "^1.19.0", "cors": "^2.8.5", - "debug": "^4.1.1", + "debug": "^4.3.1", "express": "^4.17.1", - "http-errors": "^1.7.3", - "js-yaml": "^3.13.1", + "http-errors": "^1.8.0", + "js-yaml": "^4.1.0", "json-schema-compare": "^0.2.2", - "lodash": "^4.17.15", + "lodash": "^4.17.21", "on-finished": "^2.3.0", - "path-to-regexp": "^6.1.0", - "qs": "^6.9.3", - "strong-error-handler": "^3.4.0", - "tslib": "^1.11.1", + "path-to-regexp": "^6.2.0", + "qs": "^6.10.1", + "strong-error-handler": "^4.0.0", + "tslib": "^2.2.0", "type-is": "^1.6.18", - "validator": "^13.0.0" + "validator": "^13.6.0" }, "dependencies": { - "@types/serve-static": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.3.tgz", - "integrity": "sha512-oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==", + "@types/express": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.12.tgz", + "integrity": "sha512-pTYas6FrP15B1Oa0bkN5tQMNqOcVXa9j4FTFtO8DWI9kppKib+6NJtfTOOLcwxuuYvcX2+dVG6et1SxW/Kc17Q==", "requires": { - "@types/express-serve-static-core": "*", - "@types/mime": "*" + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" } - } - } - }, - "@loopback/rest-explorer": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@loopback/rest-explorer/-/rest-explorer-2.2.10.tgz", - "integrity": "sha512-iL3yJDzvEbvGBRFBwenwQ8WnyB2TavGguw/5DCp+KfdMEI/2R96tYWWNUwmxdxCs7mqOBNI8vjnIEUgFv+qppA==", - "requires": { - "@loopback/core": "^2.9.5", - "@loopback/rest": "^6.2.0", - "ejs": "^3.1.5", - "swagger-ui-dist": "3.32.5", - "tslib": "^2.0.1" - }, - "dependencies": { - "@loopback/rest": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-6.2.0.tgz", - "integrity": "sha512-zUPiu2t15AsI0sEdyEYq6FRZajqG5NmpbgK+0IEgcgDb6zkGa45ygcmaDyQbpuHcye6qkaNcjRqy4XbXQZ7J5g==", + }, + "@types/express-serve-static-core": { + "version": "4.17.22", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.22.tgz", + "integrity": "sha512-WdqmrUsRS4ootGha6tVwk/IVHM1iorU8tGehftQD2NWiPniw/sm7xdJOIlXLwqdInL9wBw/p7oO8vaYEF3NDmA==", "requires": { - "@loopback/core": "^2.9.5", - "@loopback/express": "^1.4.1", - "@loopback/http-server": "^2.2.0", - "@loopback/openapi-v3": "^3.4.9", - "@openapi-contrib/openapi-schema-to-json-schema": "^3.0.4", - "@types/body-parser": "^1.19.0", - "@types/cors": "^2.8.7", - "@types/express": "^4.17.7", - "@types/express-serve-static-core": "^4.17.9", - "@types/http-errors": "^1.8.0", - "@types/on-finished": "^2.3.1", - "@types/serve-static": "1.13.5", - "@types/type-is": "^1.6.3", - "ajv": "^6.12.4", - "ajv-errors": "^1.0.1", - "ajv-keywords": "^3.5.2", - "body-parser": "^1.19.0", - "cors": "^2.8.5", - "debug": "^4.1.1", - "express": "^4.17.1", - "http-errors": "^1.8.0", - "js-yaml": "^3.14.0", - "json-schema-compare": "^0.2.2", - "lodash": "^4.17.20", - "on-finished": "^2.3.0", - "path-to-regexp": "^6.1.0", - "qs": "^6.9.4", - "strong-error-handler": "^3.5.0", - "tslib": "^2.0.1", - "type-is": "^1.6.18", - "validator": "^13.1.1" + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" } }, - "@types/serve-static": { - "version": "1.13.5", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.5.tgz", - "integrity": "sha512-6M64P58N+OXjU432WoLLBQxbA0LRGBCRm7aAGQJ+SMC1IMl0dgRVi9EFfoDcS2a7Xogygk/eGN94CfwU9UF7UQ==", + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "requires": { - "@types/express-serve-static-core": "*", - "@types/mime": "*" + "ms": "2.1.2" } - }, - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" } } }, + "@loopback/rest-explorer": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@loopback/rest-explorer/-/rest-explorer-3.3.1.tgz", + "integrity": "sha512-PE4JtUv2Tyzl2lNaInoeww2/BLL/KgfKbJxAQd5H3nZOgSvetGFvW4K56mg1ObLEg55F/D/CgrRmujjmhhY/8w==", + "requires": { + "ejs": "^3.1.6", + "swagger-ui-dist": "3.50.0", + "tslib": "^2.2.0" + } + }, "@loopback/service-proxy": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/@loopback/service-proxy/-/service-proxy-2.3.8.tgz", - "integrity": "sha512-WRErlDsmDSC+4wb+2J0u8hdNKoYxX6jXNzhSvZ2DPp7oubZPC8LeKcjMr1nNWkdT9vEbJYmoQP4kUC6LCDFfnQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@loopback/service-proxy/-/service-proxy-3.2.1.tgz", + "integrity": "sha512-cEbAXS6QOLBzAMJ1Nm2evZyOIhLl/AxJUzaPEwlyMAfPsJHLnvxV2wLzMPaklLPXM8YOK5ipnBm52KDbz6iaVg==", "requires": { - "@loopback/core": "^2.9.5", - "loopback-datasource-juggler": "^4.24.0", - "tslib": "^2.0.1" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } + "loopback-datasource-juggler": "^4.26.0", + "tslib": "^2.2.0" } }, "@loopback/testlab": { @@ -1044,10 +965,36 @@ } } }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz", + "integrity": "sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, "@openapi-contrib/openapi-schema-to-json-schema": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@openapi-contrib/openapi-schema-to-json-schema/-/openapi-schema-to-json-schema-3.1.0.tgz", - "integrity": "sha512-z+4iE7DFv02U5A2z445hsskz90QRN223dWM2mEnzpx9b3DhmP0nYa1xA014B+xYXPwnAhf/13i55ZZ7Oj5vRkw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@openapi-contrib/openapi-schema-to-json-schema/-/openapi-schema-to-json-schema-3.1.1.tgz", + "integrity": "sha512-FMvdhv9Jr9tULjJAQaQzhCmNYYj2vQFVnl7CGlLAImZvJal71oedXMGszpPaZTLftAk5TCHqjnirig+P6LZxug==", "requires": { "fast-deep-equal": "^3.1.3" } @@ -1082,8 +1029,9 @@ } }, "@pokt-network/pocket-js": { - "version": "github:pokt-network/pocket-js#b53c03ae223e4618edeab374767db5110660dd75", - "from": "github:pokt-network/pocket-js#profiler", + "version": "0.6.13-rc", + "resolved": "https://registry.npmjs.org/@pokt-network/pocket-js/-/pocket-js-0.6.13-rc.tgz", + "integrity": "sha512-JpMs6eRrFVRfa0Vkkj7I3kovr6pM39rr+xwZLe9SkUQ32ZdGgEAt1KtzTkOTkbya/EoQdCh0ewW+hx8ZETRNrQ==", "requires": { "@pokt-network/aat-js": "0.1.1-rc", "@pokt-network/amino-js": "0.7.5-alpha.1", @@ -1287,12 +1235,6 @@ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==" }, - "@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, "@types/express": { "version": "4.17.11", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz", @@ -1398,9 +1340,9 @@ "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==" }, "@types/mocha": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-7.0.2.tgz", - "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.2.tgz", + "integrity": "sha512-Lwh0lzzqT5Pqh6z61P3c3P5nm6fzQK/MMHl9UKeneAeInVflBSz1O2EkX6gM6xfJd7FBXBY5purtLx7fUiZ7Hw==", "dev": true }, "@types/node": { @@ -1437,6 +1379,12 @@ } } }, + "@types/pg-format": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/pg-format/-/pg-format-1.0.1.tgz", + "integrity": "sha512-TC073gk+fvWGenuE7sDEjmt33HJkNhKJ9uLRgP9O9KQGSUaN1hA7Snbr63EU9/aE1X4Zz0+1BXhSBdZCYFWXog==", + "dev": true + }, "@types/pg-types": { "version": "1.11.5", "resolved": "https://registry.npmjs.org/@types/pg-types/-/pg-types-1.11.5.tgz", @@ -1489,6 +1437,12 @@ "@types/node": "*" } }, + "@types/shortid": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/shortid/-/shortid-0.0.29.tgz", + "integrity": "sha1-gJPuBBam4r8qpjOBCRFLP7/6Dps=", + "dev": true + }, "@types/shot": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/shot/-/shot-4.0.0.tgz", @@ -1543,42 +1497,27 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.1.tgz", + "integrity": "sha512-9yfcNpDaNGQ6/LQOX/KhUFTR1sCKH+PBr234k6hI9XJ0VP5UqGxap0AnNwBnWFk1MNyWBylJH9ZkzBXC+5akZQ==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/experimental-utils": "4.28.1", + "@typescript-eslint/scope-manager": "4.28.1", + "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "dependencies": { - "@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "ms": "2.1.2" } }, "semver": { @@ -1593,90 +1532,82 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz", - "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.1.tgz", + "integrity": "sha512-n8/ggadrZ+uyrfrSEchx3jgODdmcx7MzVM2sI3cTpI/YlfSm0+9HEUaWw3aQn2urL2KYlWYMDgn45iLfjDYB+Q==", "dev": true, "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/typescript-estree": "3.10.1", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.1", + "@typescript-eslint/types": "4.28.1", + "@typescript-eslint/typescript-estree": "4.28.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" } }, "@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.1.tgz", + "integrity": "sha512-UjrMsgnhQIIK82hXGaD+MCN8IfORS1CbMdu7VlZbYa8LCZtbZjJA26De4IPQB7XYZbL8gJ99KWNj0l6WD0guJg==", "dev": true, "requires": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" + "@typescript-eslint/scope-manager": "4.28.1", + "@typescript-eslint/types": "4.28.1", + "@typescript-eslint/typescript-estree": "4.28.1", + "debug": "^4.3.1" }, "dependencies": { - "@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "ms": "2.1.2" } } } }, + "@typescript-eslint/scope-manager": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.1.tgz", + "integrity": "sha512-o95bvGKfss6705x7jFGDyS7trAORTy57lwJ+VsYwil/lOUxKQ9tA7Suuq+ciMhJc/1qPwB3XE2DKh9wubW8YYA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.1", + "@typescript-eslint/visitor-keys": "4.28.1" + } + }, "@typescript-eslint/types": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz", - "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.1.tgz", + "integrity": "sha512-4z+knEihcyX7blAGi7O3Fm3O6YRCP+r56NJFMNGsmtdw+NCdpG5SgNz427LS9nQkRVTswZLhz484hakQwB8RRg==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz", - "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.1.tgz", + "integrity": "sha512-GhKxmC4sHXxHGJv8e8egAZeTZ6HI4mLU6S7FUzvFOtsk7ZIDN1ksA9r9DyOgNqowA9yAtZXV0Uiap61bIO81FQ==", "dev": true, "requires": { - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/visitor-keys": "3.10.1", - "debug": "^4.1.1", - "glob": "^7.1.6", + "@typescript-eslint/types": "4.28.1", + "@typescript-eslint/visitor-keys": "4.28.1", + "debug": "^4.3.1", + "globby": "^11.0.3", "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -1689,12 +1620,13 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz", - "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.1.tgz", + "integrity": "sha512-K4HMrdFqr9PFquPu178SaSb92CaWe2yErXyPumc8cYWxFmhgJsNY9eSePmO05j0JhBvf2Cdhptd6E6Yv9HVHcg==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.1.0" + "@typescript-eslint/types": "4.28.1", + "eslint-visitor-keys": "^2.0.0" } }, "@ungap/promise-all-settled": { @@ -1808,23 +1740,6 @@ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } - } - }, "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", @@ -1882,11 +1797,6 @@ "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" }, - "array-filter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" - }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -1988,12 +1898,9 @@ "dev": true }, "available-typed-arrays": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", - "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", - "requires": { - "array-filter": "^1.0.0" - } + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz", + "integrity": "sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA==" }, "aws-sdk": { "version": "2.770.0", @@ -2510,13 +2417,6 @@ "requires": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "camelcase": { @@ -2525,9 +2425,9 @@ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" }, "caniuse-lite": { - "version": "1.0.30001228", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz", - "integrity": "sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==", + "version": "1.0.30001241", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001241.tgz", + "integrity": "sha512-1uoSZ1Pq1VpH0WerIMqwptXHNNGfdl7d1cJUFs80CwQ/lVzdhTvsFZCeNFslze7AjsQnb4C85tzclPa1VShbeQ==", "dev": true }, "capital-case": { @@ -2538,13 +2438,6 @@ "no-case": "^3.0.4", "tslib": "^2.0.3", "upper-case-first": "^2.0.2" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "caseless": { @@ -2588,21 +2481,8 @@ "sentence-case": "^3.0.4", "snake-case": "^3.0.4", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, "charenc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", @@ -2644,21 +2524,6 @@ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, "cliui": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", @@ -2705,9 +2570,9 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "color-string": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", - "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", + "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -2752,6 +2617,12 @@ "delayed-stream": "~1.0.0" } }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -2793,13 +2664,6 @@ "no-case": "^3.0.4", "tslib": "^2.0.3", "upper-case": "^2.0.2" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "constants-browserify": { @@ -3125,6 +2989,15 @@ } } }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -3146,13 +3019,6 @@ "requires": { "no-case": "^3.0.4", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "dotenv": { @@ -3191,9 +3057,9 @@ } }, "electron-to-chromium": { - "version": "1.3.727", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.727.tgz", - "integrity": "sha512-Mfz4FIB4FSvEwBpDfdipRIrwd6uo8gUDoRDF4QEYb4h4tSuI3ov594OrjU6on042UlFHouIJpClDODGkPcBSbg==", + "version": "1.3.761", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.761.tgz", + "integrity": "sha512-7a/wV/plM/b95XjTdA2Q4zAxxExTDKkNQpTiaU/nVT8tGCQVtX9NsnTjhALBFICpOB58hU6xg5fFC3CT2Bybpg==", "dev": true }, "elliptic": { @@ -3259,9 +3125,9 @@ } }, "es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", + "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -3271,14 +3137,14 @@ "has-symbols": "^1.0.2", "is-callable": "^1.2.3", "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" + "unbox-primitive": "^1.0.1" } }, "es-get-iterator": { @@ -3336,245 +3202,138 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.29.0.tgz", + "integrity": "sha512-82G/JToB9qIy/ArBzIWG9xvvwL3R86AlCjtGw+A29OMZDqhTybz/MByORSukGxeI+YPCR4coYyITKk8BFH9nDA==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.2", "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "optionator": "^0.8.3", + "optionator": "^0.9.1", "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" + "color-convert": "^2.0.1" } }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, "requires": { - "flat-cache": "^2.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "flat-cache": { + "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "color-name": "~1.1.4" } }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } } }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "lru-cache": "^6.0.0" } }, "strip-json-comments": { @@ -3583,61 +3342,74 @@ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - } - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "isexe": "^2.0.0" + "has-flag": "^4.0.0" } } } }, "eslint-config-prettier": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", - "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", + "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", + "dev": true + }, + "eslint-plugin-eslint-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-3.2.0.tgz", + "integrity": "sha512-gasrNyiqJPbGBI8zMOTX18SC4nmiSqYBqTvAz5W6hI4RGxshv7E7oTLhehE25m/H78KdsHBWDzKi6TKcs6XLdg==", "dev": true, "requires": { - "get-stdin": "^6.0.0" + "eslint-utils": "^2.1.0" + }, + "dependencies": { + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } } }, - "eslint-plugin-eslint-plugin": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-2.3.0.tgz", - "integrity": "sha512-xER9XjfTLrAgoUzPguPKoreDGtXt2vUnwqAqdElNrkcSbl5K1rGtSOmhgbiqCb7UN4spnjNhIZplHMNWY6Kz/w==", - "dev": true - }, "eslint-plugin-mocha": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-6.3.0.tgz", - "integrity": "sha512-Cd2roo8caAyG21oKaaNTj7cqeYRWW1I2B5SfpKRp0Ip1gkfwoR1Ow0IGlPWnNjzywdF4n+kHL8/9vM6zCJUxdg==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-8.2.0.tgz", + "integrity": "sha512-8oOR47Ejt+YJPNQzedbiklDqS1zurEaNrxXpRs+Uk4DMDPVmKNagShFeUaYsfvWP55AhI+P1non5QZAHV6K78A==", "dev": true, "requires": { - "eslint-utils": "^2.0.0", - "ramda": "^0.27.0" + "eslint-utils": "^2.1.0", + "ramda": "^0.27.1" + }, + "dependencies": { + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } } }, "eslint-scope": { @@ -3651,18 +3423,18 @@ } }, "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.1.0" + "eslint-visitor-keys": "^2.0.0" } }, "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true }, "espree": { @@ -3674,12 +3446,21 @@ "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } } }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true }, "esquery": { "version": "1.4.0", @@ -3839,28 +3620,6 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "dependencies": { - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - } - } - }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -3871,6 +3630,19 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "fast-glob": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.6.tgz", + "integrity": "sha512-GnLuqj/pvQ7pX8/L4J84nijv6sAnlwvSDpMkJi9i7nPmPxGtRPkBSStfvDW5l6nMdX9VWe+pkKWFTgD+vF2QSQ==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -3887,20 +3659,20 @@ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" }, + "fastq": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, "fecha": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz", "integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==" }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -4005,9 +3777,9 @@ "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" }, "follow-redirects": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.0.tgz", - "integrity": "sha512-0vRwd7RKQBTt+mgu87mtYeofLFZpTas2S9zY+jIeuLJMNvudIgF52nr19q40HOwH5RrhWIPuj9puybzSJiRrVg==" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", + "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==" }, "foreach": { "version": "2.0.5", @@ -4130,12 +3902,6 @@ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, - "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true - }, "get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -4188,18 +3954,32 @@ } }, "globals": { - "version": "13.8.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.8.0.tgz", - "integrity": "sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==", + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz", + "integrity": "sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==", "dev": true, "requires": { "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" }, "dependencies": { - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true } } @@ -4309,6 +4089,14 @@ "requires": { "is-stream": "^2.0.0", "type-fest": "^0.8.0" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } } }, "he": { @@ -4324,13 +4112,6 @@ "requires": { "capital-case": "^1.0.4", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "hmac-drbg": { @@ -4453,9 +4234,9 @@ "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" }, "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true }, "import-fresh": { @@ -4514,78 +4295,6 @@ "source-map": "~0.5.3" } }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "insert-module-globals": { "version": "7.2.1", "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz", @@ -4674,6 +4383,14 @@ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "requires": { + "has": "^1.0.3" + } + }, "is-date-object": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", @@ -4776,6 +4493,12 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", @@ -4959,12 +4682,18 @@ "dev": true }, "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + } } }, "js2xmlparser": { @@ -5210,6 +4939,12 @@ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=" }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", @@ -5222,12 +4957,13 @@ "integrity": "sha512-aP1Lst8OCdZKATqzXDN0JBissNVZuiKLyo6hOXDBxaQ1jHDsaxh2J1i5Pp0zMy6ayTKDWfUlLMXyLaQe1PJ48g==" }, "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { - "chalk": "^4.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "dependencies": { "ansi-styles": { @@ -5457,13 +5193,6 @@ "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "requires": { "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "lowercase-keys": { @@ -5548,11 +5277,27 @@ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, "miller-rabin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", @@ -5653,9 +5398,9 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, "mocha": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", - "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.0.1.tgz", + "integrity": "sha512-9zwsavlRO+5csZu6iRtl3GHImAbhERoDsZwdRkdJ/bE+eVplmoxNKE901ZJ9LdSchYBjSCPbjKc5XvcAri2ylw==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", @@ -5666,31 +5411,25 @@ "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.1.6", + "glob": "7.1.7", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "4.0.0", - "log-symbols": "4.0.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", "minimatch": "3.0.4", "ms": "2.1.3", - "nanoid": "3.1.20", + "nanoid": "3.1.23", "serialize-javascript": "5.0.1", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", "which": "2.0.2", "wide-align": "1.1.3", - "workerpool": "6.1.0", + "workerpool": "6.1.4", "yargs": "16.2.0", "yargs-parser": "20.2.4", "yargs-unparser": "2.0.0" }, "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -5725,21 +5464,26 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -5747,9 +5491,9 @@ "dev": true }, "nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "version": "3.1.23", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", + "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", "dev": true }, "strip-json-comments": { @@ -5851,12 +5595,6 @@ "minimatch": "^3.0.0" } }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, "nanoid": { "version": "2.1.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", @@ -5873,12 +5611,6 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, "nise": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz", @@ -5925,13 +5657,6 @@ "requires": { "lower-case": "^2.0.2", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "node-fetch-h2": { @@ -5944,9 +5669,9 @@ } }, "node-localstorage": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/node-localstorage/-/node-localstorage-2.1.6.tgz", - "integrity": "sha512-yE7AycE5G2hU55d+F7Ona9nx97C+enJzWWx6jrsji7fuPZFJOvuW3X/LKKAcXRBcEIJPDOKt8ZiFWFmShR/irg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-localstorage/-/node-localstorage-2.2.1.tgz", + "integrity": "sha512-vv8fJuOUCCvSPjDjBLlMqYMHob4aGjkmrkaE42/mZr0VT+ZAU10jRF8oTnX9+pgU9/vYJ8P7YT3Vd6ajkmzSCw==", "requires": { "write-file-atomic": "^1.1.4" } @@ -5961,9 +5686,9 @@ } }, "node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "version": "1.1.73", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", + "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", "dev": true }, "normalize-path": { @@ -5973,9 +5698,9 @@ "dev": true }, "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" }, "npm-run-path": { "version": "4.0.1", @@ -6062,9 +5787,9 @@ "dev": true }, "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" @@ -6328,9 +6053,12 @@ } }, "openapi3-ts": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-1.4.0.tgz", - "integrity": "sha512-8DmE2oKayvSkIR3XSZ4+pRliBsx19bSNeIzkTPswY8r4wvjX86bMxsORdqwAwMxE8PefOcSAT2auvi/0TZe9yA==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-2.0.1.tgz", + "integrity": "sha512-v6X3iwddhi276siej96jHGIqTx3wzVfMTmpGJEQDt7GPI7pI6sywItURLzpEci21SBRpPN/aOWSF5mVfFVNmcg==", + "requires": { + "yaml": "^1.10.0" + } }, "optionator": { "version": "0.9.1", @@ -6464,13 +6192,6 @@ "requires": { "dot-case": "^3.0.4", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "parent-module": { @@ -6522,13 +6243,6 @@ "requires": { "no-case": "^3.0.4", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "path-browserify": { @@ -6543,13 +6257,6 @@ "requires": { "dot-case": "^3.0.4", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "path-exists": { @@ -6569,9 +6276,9 @@ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-platform": { "version": "0.11.15", @@ -6583,6 +6290,12 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz", "integrity": "sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg==" }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, "pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", @@ -6668,9 +6381,9 @@ } }, "picomatch": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", - "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", "dev": true }, "pkg-dir": { @@ -6781,9 +6494,9 @@ "dev": true }, "protobufjs": { - "version": "6.11.1", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.1.tgz", - "integrity": "sha512-7KCLPvNGF/oDv/OXz+Zn2ViJx8x9WUKs5HrxZ5Gz0F2LD8jSTcsA1z9tBtOlPVVnJELOaFL+zj+oLc/WWSqlzw==", + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", + "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", "requires": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -6801,9 +6514,9 @@ }, "dependencies": { "@types/node": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.0.1.tgz", - "integrity": "sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==" + "version": "15.12.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.4.tgz", + "integrity": "sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA==" } } }, @@ -6873,6 +6586,12 @@ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, "quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", @@ -7018,9 +6737,9 @@ } }, "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, "release-zalgo": { @@ -7140,10 +6859,11 @@ } }, "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "requires": { + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" } }, @@ -7165,15 +6885,11 @@ "lowercase-keys": "^2.0.0" } }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true }, "right-align": { "version": "0.1.3", @@ -7201,19 +6917,13 @@ "inherits": "^2.0.1" } }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { - "tslib": "^1.9.0" + "queue-microtask": "^1.2.2" } }, "s3-streamlogger": { @@ -7327,13 +7037,6 @@ "no-case": "^3.0.4", "tslib": "^2.0.3", "upper-case-first": "^2.0.2" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "serialize-javascript": { @@ -7554,6 +7257,12 @@ } } }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, "slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -7603,13 +7312,6 @@ "requires": { "dot-case": "^3.0.4", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "source-map": { @@ -7849,9 +7551,9 @@ "integrity": "sha512-Vz8mKsb1w4t2p8GuVtDoCpr7UA2BIylLiQC7Zg9y6Iy1VB8hdwauaoQHad8H7c0OYmgdjCnc5h0OG3RZynxQsQ==" }, "strong-error-handler": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/strong-error-handler/-/strong-error-handler-3.5.0.tgz", - "integrity": "sha512-PCMOf6RYni7wMD3ytGN/TBIJdKZ/EfgItgE8tVrJNGVAf2X39L7I0r/tlDyn+1G9qfVCZL0mSeutljpkOpBy1Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strong-error-handler/-/strong-error-handler-4.0.0.tgz", + "integrity": "sha512-Ki59WSOfSEod6IkDUB4uf9+DwkCLQRbEdYqen167I/zyPps9x9gS+UzhLZOcer58RA6iFmoGg/+CN/x5d+Cv3Q==", "requires": { "@types/express": "^4.16.0", "accepts": "^1.3.3", @@ -7992,9 +7694,9 @@ } }, "swagger-ui-dist": { - "version": "3.32.5", - "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.32.5.tgz", - "integrity": "sha512-3SKHv8UVqsKKknivtACHbFDGcn297jkoZN2h6zAZ7b2yoaJNMaRadQpC3qFw3GobZTGzqHCgHph4ZH9NkaCjrQ==" + "version": "3.50.0", + "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.50.0.tgz", + "integrity": "sha512-BklniOBPlvZ6M9oGkhUwOf5HvxhkHBIycXN3ndju8WlLmi1xfMSdOA2AR6pNswlwURzsZUe1rh80aUyjnpD+Zw==" }, "syntax-error": { "version": "1.4.0", @@ -8005,9 +7707,9 @@ } }, "table": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.0.tgz", - "integrity": "sha512-SAM+5p6V99gYiiy2gT5ArdzgM1dLDed0nkrWmG6Fry/bUS/m9x83BwpJUOf1Qj/x2qJd+thL6IkIx7qPGRxqBw==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", "dev": true, "requires": { "ajv": "^8.0.1", @@ -8019,9 +7721,9 @@ }, "dependencies": { "ajv": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.3.0.tgz", - "integrity": "sha512-RYE7B5An83d7eWnDR8kbdaIFqmKCNsP16ay1hDbJEU+sa0e3H9SebskCt0Uufem6cfAVu7Col6ubcn/W+Sm8/Q==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", + "integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -8154,9 +7856,9 @@ } }, "ts-proto": { - "version": "1.79.7", - "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.79.7.tgz", - "integrity": "sha512-r6tO0XjGXb0zLckAPmxCaw1jaG0hPqiIoXLuXtToezY3vlkOs/FGn26RyVY8RtgqwEPDo7SnY1CS6G0O03VHfA==", + "version": "1.81.3", + "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.81.3.tgz", + "integrity": "sha512-mQ+ZwtSop0jqsEdTbwMZ3GzHBE7xQ26P2AnQmM4miqpnwpsweYu0lgom135O2WFN5UHrDm4PzE7xbh+Vummezw==", "requires": { "@types/object-hash": "^1.3.0", "dataloader": "^1.4.0", @@ -8167,9 +7869,9 @@ } }, "ts-proto-descriptors": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.2.1.tgz", - "integrity": "sha512-iSHiQAaovi9sBwjiSCca/E089uv0IMt9Cfe0wV5AJwZppGa47yfih97Q+1006bdSLWkxf5Pk3VDQnt1yRTMV8w==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.3.1.tgz", + "integrity": "sha512-Cybb3fqceMwA6JzHdC32dIo8eVGVmXrM6TWhdk1XQVVHT/6OQqk0ioyX1dIdu3rCIBhRmWUhUE4HsyK+olmgMw==", "requires": { "long": "^4.0.0", "protobufjs": "^6.8.8" @@ -8200,9 +7902,18 @@ } }, "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "tsnodemon": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tsnodemon/-/tsnodemon-1.2.2.tgz", + "integrity": "sha512-1ceEvuuihwQQMLCYrKuZi2i8pemhuMiCy1nPev59cJM7JLtz7txHX3WQyhcc6zOvyBjt1Gbcg5yd53QjEw046Q==", + "dev": true, + "requires": { + "commander": "^2.11.0" + } }, "tsutils": { "version": "3.21.0", @@ -8211,6 +7922,14 @@ "dev": true, "requires": { "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "tty-browserify": { @@ -8247,9 +7966,9 @@ "dev": true }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, "type-is": { @@ -8276,9 +7995,9 @@ } }, "typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", - "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", + "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", "dev": true }, "uglify-js": { @@ -8342,13 +8061,6 @@ "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", "requires": { "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "upper-case-first": { @@ -8357,13 +8069,6 @@ "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", "requires": { "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } } }, "uri-js": { @@ -8629,9 +8334,9 @@ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" }, "workerpool": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", - "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.4.tgz", + "integrity": "sha512-jGWPzsUqzkow8HoAvqaPWTUPCrlPJaJ5tY8Iz7n1uCz3tTp6s3CDG0FF1NsX42WNlkRSW6Mr+CDZGnNoSsKa7g==", "dev": true }, "wrap-ansi": { @@ -8676,15 +8381,6 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, "write-file-atomic": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", @@ -8734,8 +8430,7 @@ "yaml": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", - "dev": true + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" }, "yamljs": { "version": "0.3.0", diff --git a/package.json b/package.json index 0f08ef00..8d94c976 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,13 @@ "migrate": "node ./dist/migrate", "prestart": "npm run build", "start": "node -r source-map-support/register .", - "clean": "lb-clean dist *.tsbuildinfo .eslintcache" + "clean": "lb-clean dist *.tsbuildinfo .eslintcache", + "start:watch": "tsnodemon -x 'node -r source-map-support/register .'", + "services:db:up": "docker-compose -f stacks/local.yml up db", + "services:all:up": "docker-compose -f stacks/local.yml up -d --build", + "services:all:down": "docker-compose -f stacks/local.yml down", + "tasks:db:download-production-data": "docker-compose -f stacks/tasks.yml up download-production-data", + "tasks:db:persist-production-data": "docker-compose -f stacks/tasks.yml up persist-production-data" }, "repository": { "type": "git" @@ -54,17 +60,18 @@ "!*/__tests__" ], "dependencies": { - "@loopback/boot": "^2.1.2", - "@loopback/context": "^3.6.0", - "@loopback/core": "^2.4.2", - "@loopback/openapi-v3": "^3.3.0", - "@loopback/repository": "^2.3.0", - "@loopback/rest": "^3.3.2", - "@loopback/rest-explorer": "^2.1.2", - "@loopback/service-proxy": "^2.1.2", - "@pokt-network/pocket-js": "github:pokt-network/pocket-js#profiler", + "@loopback/boot": "^3.4.0", + "@loopback/context": "^3.16.0", + "@loopback/core": "^2.16.0", + "@loopback/openapi-v3": "^5.3.0", + "@loopback/repository": "^3.6.0", + "@loopback/rest": "^9.3.0", + "@loopback/rest-explorer": "^3.3.0", + "@loopback/service-proxy": "^3.2.0", + "@pokt-network/pocket-js": "0.6.13-rc", "@types/ioredis": "^4.16.2", "@types/pg": "^7.14.3", + "axios": "^0.21.1", "dotenv": "^8.2.0", "got": "^11.1.4", "ioredis": "^4.16.3", @@ -75,22 +82,25 @@ "s3-streamlogger": "^1.7.0", "shortid": "^2.2.15", "strong-cryptor": "^2.2.0", - "tslib": "^1.10.0", + "tslib": "^2.0.0", "winston": "^3.3.3", "winston-logzio": "^5.1.2" }, "devDependencies": { - "@loopback/build": "^5.3.0", + "@loopback/build": "^6.4.0", + "@loopback/eslint-config": "^10.2.0", + "@loopback/testlab": "^3.4.0", + "@types/node": "^10.17.59", + "@types/pg-format": "^1.0.1", + "@types/shortid": "0.0.29", + "@typescript-eslint/eslint-plugin": "^4.22.0", + "@typescript-eslint/parser": "^4.22.0", + "eslint": "^7.25.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-eslint-plugin": "^3.0.2", + "eslint-plugin-mocha": "^8.1.0", "source-map-support": "^0.5.19", - "@loopback/testlab": "^3.1.2", - "@types/node": "^10.17.21", - "@typescript-eslint/parser": "^2.30.0", - "@typescript-eslint/eslint-plugin": "^2.30.0", - "@loopback/eslint-config": "^6.0.5", - "eslint": "^6.8.0", - "eslint-config-prettier": "^6.11.0", - "eslint-plugin-eslint-plugin": "^2.2.1", - "eslint-plugin-mocha": "^6.3.0", - "typescript": "~3.8.3" + "tsnodemon": "^1.2.2", + "typescript": "~4.2.4" } } diff --git a/pocket-gateway/ecs-task-ap-southeast-1.json b/pocket-gateway/ecs-task-ap-southeast-1.json index 8653452b..ffc43c1d 100644 --- a/pocket-gateway/ecs-task-ap-southeast-1.json +++ b/pocket-gateway/ecs-task-ap-southeast-1.json @@ -25,7 +25,7 @@ "environment": [], "command": [], "linuxParameters": null, - "cpu": 4096, + "cpu": 2048, "resourceRequirements": null, "ulimits": [ { @@ -39,7 +39,7 @@ "workingDirectory": null, "dockerSecurityOptions": null, "memory": null, - "memoryReservation": 8192, + "memoryReservation": 4096, "volumesFrom": [], "stopTimeout": null, "image": "059424750518.dkr.ecr.ap-southeast-1.amazonaws.com/gateway:latest", @@ -63,7 +63,7 @@ } ], "placementConstraints": [], - "memory": "8192", + "memory": "4096", "taskRoleArn": null, "family": "gateway", "pidMode": null, @@ -71,7 +71,7 @@ "FARGATE" ], "networkMode": "awsvpc", - "cpu": "4096", + "cpu": "2048", "inferenceAccelerators": null, "proxyConfiguration": null, "volumes": [] diff --git a/pocket-gateway/ecs-task-eu-west-1.json b/pocket-gateway/ecs-task-eu-west-1.json index eacfc04c..b5008fb3 100644 --- a/pocket-gateway/ecs-task-eu-west-1.json +++ b/pocket-gateway/ecs-task-eu-west-1.json @@ -25,7 +25,7 @@ "environment": [], "command": [], "linuxParameters": null, - "cpu": 4096, + "cpu": 2048, "resourceRequirements": null, "ulimits": [ { @@ -39,7 +39,7 @@ "workingDirectory": null, "dockerSecurityOptions": null, "memory": null, - "memoryReservation": 8192, + "memoryReservation": 4096, "volumesFrom": [], "stopTimeout": null, "image": "059424750518.dkr.ecr.eu-west-1.amazonaws.com/gateway:latest", @@ -63,7 +63,7 @@ } ], "placementConstraints": [], - "memory": "8192", + "memory": "4096", "taskRoleArn": null, "family": "gateway", "pidMode": null, @@ -71,8 +71,8 @@ "FARGATE" ], "networkMode": "awsvpc", - "cpu": "4096", + "cpu": "2048", "inferenceAccelerators": null, "proxyConfiguration": null, "volumes": [] -} \ No newline at end of file +} diff --git a/pocket-gateway/ecs-task-us-east-2.json b/pocket-gateway/ecs-task-us-east-2.json index a2360a2d..a283426c 100644 --- a/pocket-gateway/ecs-task-us-east-2.json +++ b/pocket-gateway/ecs-task-us-east-2.json @@ -39,7 +39,7 @@ "workingDirectory": null, "dockerSecurityOptions": null, "memory": null, - "memoryReservation": 8192, + "memoryReservation": 4096, "volumesFrom": [], "stopTimeout": null, "image": "059424750518.dkr.ecr.us-east-2.amazonaws.com/gateway:latest", @@ -63,7 +63,7 @@ } ], "placementConstraints": [], - "memory": "8192", + "memory": "2048", "taskRoleArn": null, "family": "gateway", "pidMode": null, @@ -71,8 +71,8 @@ "FARGATE" ], "networkMode": "awsvpc", - "cpu": "4096", + "cpu": "2048", "inferenceAccelerators": null, "proxyConfiguration": null, "volumes": [] -} \ No newline at end of file +} diff --git a/pocket-gateway/ecs-task-us-west-2.json b/pocket-gateway/ecs-task-us-west-2.json index 7ba0bb1a..4097629a 100644 --- a/pocket-gateway/ecs-task-us-west-2.json +++ b/pocket-gateway/ecs-task-us-west-2.json @@ -25,7 +25,7 @@ "environment": [], "command": [], "linuxParameters": null, - "cpu": 4096, + "cpu": 2048, "resourceRequirements": null, "ulimits": [ { @@ -39,7 +39,7 @@ "workingDirectory": null, "dockerSecurityOptions": null, "memory": null, - "memoryReservation": 8192, + "memoryReservation": 4096, "volumesFrom": [], "stopTimeout": null, "image": "059424750518.dkr.ecr.us-west-2.amazonaws.com/gateway:latest", @@ -63,7 +63,7 @@ } ], "placementConstraints": [], - "memory": "8192", + "memory": "4096", "taskRoleArn": null, "family": "gateway", "pidMode": null, @@ -71,7 +71,7 @@ "FARGATE" ], "networkMode": "awsvpc", - "cpu": "4096", + "cpu": "2048", "inferenceAccelerators": null, "proxyConfiguration": null, "volumes": [] diff --git a/scripts/export-production-data.sh b/scripts/export-production-data.sh new file mode 100755 index 00000000..59916a5b --- /dev/null +++ b/scripts/export-production-data.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +echo "Downloading production collections"; + +for collection in "Applications" "Blockchains" "CronJobData" "LoadBalancers" "Nodes" "PaymentHistory" "PaymentMethods" "PendingTransactions" "Users"; \ + do \ + echo "Downloading $collection..."; \ + + mongoexport --uri=$MONGO_SRC_CONNECTION --collection=$collection --type=json --out=/data/$collection \ + + echo "Done $collection..."; \ +done; diff --git a/scripts/import-production-data.sh b/scripts/import-production-data.sh new file mode 100755 index 00000000..37672703 --- /dev/null +++ b/scripts/import-production-data.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +echo "Starting mongodb"; + +mongod & + +echo "Waiting..."; + +sleep 5s + +echo "Importing production collections"; + +for collection in "Applications" "Blockchains" "CronJobData" "LoadBalancers" "Nodes" "PaymentHistory" "PaymentMethods" "PendingTransactions" "Users"; \ + do \ + echo "Importing $collection collection..."; \ + + mongoimport --uri=$MONGO_DEST_CONNECTION --collection=$collection --type=json --file=/data/$collection \ + + echo "Imported $collection collection successfully..."; \ +done; diff --git a/src/application.ts b/src/application.ts index 8303cadc..8a3cb633 100644 --- a/src/application.ts +++ b/src/application.ts @@ -5,20 +5,21 @@ import {RestApplication, HttpErrors} from '@loopback/rest'; import {ServiceMixin} from '@loopback/service-proxy'; import {GatewaySequence} from './sequence'; import {Account} from '@pokt-network/pocket-js/dist/keybase/models/account'; -import {RelayProfiler} from './services/relay-profiler'; -import * as path from 'path'; +import path from 'path'; +import AatPlans from './config/aat-plans.json'; + const logger = require('./services/logger'); const pocketJS = require('@pokt-network/pocket-js'); const {Pocket, Configuration, HttpRpcProvider} = pocketJS; -const Redis = require('ioredis'); -const crypto = require('crypto'); -const os = require('os'); -const process = require('process'); -const pg = require('pg'); -const got = require('got'); +import Redis from 'ioredis'; +import crypto from 'crypto'; +import os from 'os'; +import process from 'process'; +import pg from 'pg'; +import got from 'got'; require('log-timestamp'); require('dotenv').config(); @@ -45,26 +46,30 @@ export class PocketGatewayApplication extends BootMixin( // Requirements; for Production these are stored in GitHub repo secrets // // For Dev, you need to pass them in via .env file + const environment: string = process.env.NODE_ENV ?? 'production'; + logger.log('info', 'Environment: ' + environment); + const dispatchURL: string = process.env.DISPATCH_URL ?? ''; - const fallbackURL: string = process.env.FALLBACK_URL ?? ''; + const altruists: string = process.env.ALTRUISTS ?? ''; const clientPrivateKey: string = process.env.GATEWAY_CLIENT_PRIVATE_KEY ?? ''; const clientPassphrase: string = process.env.GATEWAY_CLIENT_PASSPHRASE ?? ''; - const pocketSessionBlockFrequency: number = - parseInt(process.env.POCKET_SESSION_BLOCK_FREQUENCY) ?? 0; - const pocketBlockTime: number = - parseInt(process.env.POCKET_BLOCK_TIME) ?? 0; - const relayRetries: number = - parseInt(process.env.POCKET_RELAY_RETRIES) ?? 0; + const pocketSessionBlockFrequency: string = + process.env.POCKET_SESSION_BLOCK_FREQUENCY ?? ''; + const pocketBlockTime: string = + process.env.POCKET_BLOCK_TIME ?? ''; + const relayRetries: string = + process.env.POCKET_RELAY_RETRIES ?? ''; const databaseEncryptionKey: string = process.env.DATABASE_ENCRYPTION_KEY ?? ''; + const aatPlan = process.env.AAT_PLAN ?? AatPlans.PREMIUM; if (!dispatchURL) { throw new HttpErrors.InternalServerError('DISPATCH_URL required in ENV'); } - if (!fallbackURL) { - throw new HttpErrors.InternalServerError('FALLBACK_URL required in ENV'); + if (!altruists) { + throw new HttpErrors.InternalServerError('ALTRUISTS required in ENV'); } if (!clientPrivateKey) { throw new HttpErrors.InternalServerError( @@ -76,12 +81,12 @@ export class PocketGatewayApplication extends BootMixin( 'GATEWAY_CLIENT_PASSPHRASE required in ENV', ); } - if (!pocketSessionBlockFrequency || pocketSessionBlockFrequency === 0) { + if (!pocketSessionBlockFrequency || pocketSessionBlockFrequency === '') { throw new HttpErrors.InternalServerError( 'POCKET_SESSION_BLOCK_FREQUENCY required in ENV', ); } - if (!pocketBlockTime || pocketBlockTime === 0) { + if (!pocketBlockTime || pocketBlockTime === '') { throw new HttpErrors.InternalServerError( 'POCKET_BLOCK_TIME required in ENV', ); @@ -91,67 +96,15 @@ export class PocketGatewayApplication extends BootMixin( 'DATABASE_ENCRYPTION_KEY required in ENV', ); } - - // Load Redis for cache - const redisEndpoint: string = process.env.REDIS_ENDPOINT || ''; - const redisPort: string = process.env.REDIS_PORT || ''; - - if (!redisEndpoint) { - throw new HttpErrors.InternalServerError( - 'REDIS_ENDPOINT required in ENV', - ); - } - if (!redisPort) { - throw new HttpErrors.InternalServerError('REDIS_PORT required in ENV'); - } - const redis = new Redis(redisPort, redisEndpoint); - this.bind('redisInstance').to(redis); - - // Load Postgres for TimescaleDB metrics - const pgConnection: string = process.env.PG_CONNECTION || ''; - const pgCertificate: string = process.env.PG_CERTIFICATE || ''; - - if (!pgConnection) { - throw new HttpErrors.InternalServerError('PG_CONNECTION required in ENV'); - } - if (!pgCertificate) { - throw new HttpErrors.InternalServerError( - 'PG_CERTIFICATE required in ENV', - ); - } - - // Pull public certificate from Redis or s3 if not there - const cachedCertificate = await redis.get('timescaleDBCertificate'); - let publicCertificate; - - if (!cachedCertificate) { - try { - const s3Certificate = await got(pgCertificate); - publicCertificate = s3Certificate.body; - } catch (e) { - throw new HttpErrors.InternalServerError('Invalid Certificate'); - } - redis.set('timescaleDBCertificate', publicCertificate, 'EX', 600); - } else { - publicCertificate = cachedCertificate; + if (aatPlan !== AatPlans.PREMIUM && !AatPlans.values.includes(aatPlan)) { + throw new HttpErrors.InternalServerError('Unrecognized AAT Plan'); } - const pgPool = new pg.Pool({ - connectionString: pgConnection, - ssl: { - rejectUnauthorized: false, - ca: publicCertificate, - }, - }); - this.bind('pgPool').to(pgPool); - this.bind('databaseEncryptionKey').to(databaseEncryptionKey); - - // Create the Pocket instance const dispatchers = []; - if (dispatchURL.indexOf(",")) { - const dispatcherArray = dispatchURL.split(","); - dispatcherArray.forEach(function(dispatcher) { + if (dispatchURL.indexOf(',')) { + const dispatcherArray = dispatchURL.split(','); + dispatcherArray.forEach(function (dispatcher) { dispatchers.push(new URL(dispatcher)); }); } else { @@ -159,26 +112,25 @@ export class PocketGatewayApplication extends BootMixin( } const configuration = new Configuration( - 0, + 50, 100000, 0, 120000, false, - pocketSessionBlockFrequency, - pocketBlockTime, - 1, + parseInt(pocketSessionBlockFrequency), + parseInt(pocketBlockTime), undefined, - true, + undefined, + false, ); - const rpcProvider = new HttpRpcProvider(dispatchers); - const relayProfiler = new RelayProfiler(pgPool); - const pocket = new Pocket(dispatchers, rpcProvider, configuration, undefined, relayProfiler); - + const rpcProvider = new HttpRpcProvider(dispatchers[0]); + const pocket = new Pocket(dispatchers, rpcProvider, configuration); + // Bind to application context for shared re-use this.bind('pocketInstance').to(pocket); this.bind('pocketConfiguration').to(configuration); - this.bind('relayRetries').to(relayRetries); - this.bind('fallbackURL').to(fallbackURL); + this.bind('relayRetries').to(parseInt(relayRetries)); + this.bind('altruists').to(altruists); this.bind('logger').to(logger); // Unlock primary client account for relay signing @@ -201,6 +153,71 @@ export class PocketGatewayApplication extends BootMixin( ); } + // Load Redis for cache + const redisEndpoint: string = process.env.REDIS_ENDPOINT || ''; + const redisPort: string = process.env.REDIS_PORT || ''; + + if (!redisEndpoint) { + throw new HttpErrors.InternalServerError( + 'REDIS_ENDPOINT required in ENV', + ); + } + if (!redisPort) { + throw new HttpErrors.InternalServerError('REDIS_PORT required in ENV'); + } + const redis = new Redis(parseInt(redisPort), redisEndpoint); + this.bind('redisInstance').to(redis); + + // Load Postgres for TimescaleDB metrics + const pgConnection: string = process.env.PG_CONNECTION || ''; + const pgCertificate: string = process.env.PG_CERTIFICATE || ''; + + if (!pgConnection) { + throw new HttpErrors.InternalServerError('PG_CONNECTION required in ENV'); + } + + if (!pgCertificate && environment !== 'development') { + throw new HttpErrors.InternalServerError( + 'PG_CERTIFICATE required in ENV', + ); + } + + // Pull public certificate from Redis or s3 if not there + const cachedCertificate = await redis.get('timescaleDBCertificate'); + let publicCertificate; + + if (environment === 'production') { + if (!cachedCertificate) { + try { + const s3Certificate = await got(pgCertificate); + publicCertificate = s3Certificate.body; + } catch (e) { + throw new HttpErrors.InternalServerError('Invalid Certificate'); + } + redis.set('timescaleDBCertificate', publicCertificate, 'EX', 600); + } else { + publicCertificate = cachedCertificate; + } + } + + const ssl = + environment === 'production' + ? { + rejectUnauthorized: false, + ca: publicCertificate, + } + : false; + + const pgConfig = { + connectionString: pgConnection, + ssl, + }; + const pgPool = new pg.Pool(pgConfig); + + this.bind('pgPool').to(pgPool); + this.bind('databaseEncryptionKey').to(databaseEncryptionKey); + this.bind('aatPlan').to(aatPlan); + // Create a UID for this process const parts = [os.hostname(), process.pid, +new Date()]; const hash = crypto.createHash('md5').update(parts.join('')); diff --git a/src/config/aat-plans.json b/src/config/aat-plans.json new file mode 100644 index 00000000..091acd21 --- /dev/null +++ b/src/config/aat-plans.json @@ -0,0 +1,5 @@ +{ + "PREMIUM": "premium", + "FREEMIUM": "freemium", + "values": ["premium", "freemium"] +} diff --git a/src/controllers/v1.controller.ts b/src/controllers/v1.controller.ts index 54d86d2b..60d18572 100644 --- a/src/controllers/v1.controller.ts +++ b/src/controllers/v1.controller.ts @@ -38,8 +38,9 @@ export class V1Controller { @inject('pgPool') private pgPool: PGPool, @inject('databaseEncryptionKey') private databaseEncryptionKey: string, @inject('processUID') private processUID: string, - @inject('fallbackURL') private fallbackURL: string, + @inject('altruists') private altruists: string, @inject('requestID') private requestID: string, + @inject('aatPlan') private aatPlan: string, @repository(ApplicationsRepository) public applicationsRepository: ApplicationsRepository, @repository(BlockchainsRepository) @@ -73,7 +74,8 @@ export class V1Controller { relayRetries: this.relayRetries, blockchainsRepository: this.blockchainsRepository, checkDebug: this.checkDebug(), - fallbackURL: this.fallbackURL, + altruists: this.altruists, + aatPlan: this.aatPlan, }); } @@ -111,13 +113,17 @@ export class V1Controller { filter?: FilterExcludingWhere<Applications>, ): Promise<string | Error> { // Take the relay path from the end of the endpoint URL - if (id.match(/[0-9a-zA-Z]{24}~/g)) - { + if (id.match(/[0-9a-zA-Z]{24}~/g)) { this.relayPath = id.slice(24).replace(/~/gi, '/'); - id = id.slice(0,24); + id = id.slice(0, 24); } - logger.log('info', 'PROCESSING', {requestID: this.requestID, relayType: 'LB', typeID: id, serviceNode: ''}); + logger.log('info', 'PROCESSING', { + requestID: this.requestID, + relayType: 'LB', + typeID: id, + serviceNode: '', + }); try { const loadBalancer = await this.fetchLoadBalancer(id, filter); @@ -137,13 +143,21 @@ export class V1Controller { } } } catch (e) { - logger.log('error', 'Load balancer not found', {requestID: this.requestID, relayType: 'LB', typeID: id, serviceNode: ''}); - return new HttpErrors.InternalServerError( - 'Load balancer not found', - ); + logger.log('error', e.message, { + requestID: this.requestID, + relayType: 'LB', + typeID: id, + serviceNode: '', + }); + return new HttpErrors.InternalServerError(e.message); } - - logger.log('error', 'Load balancer configuration error', {requestID: this.requestID, relayType: 'LB', typeID: id, serviceNode: ''}); + + logger.log('error', 'Load balancer configuration error', { + requestID: this.requestID, + relayType: 'LB', + typeID: id, + serviceNode: '', + }); return new HttpErrors.InternalServerError( 'Load balancer configuration error', ); @@ -183,12 +197,16 @@ export class V1Controller { filter?: FilterExcludingWhere<Applications>, ): Promise<string | Error> { // Take the relay path from the end of the endpoint URL - if (id.match(/[0-9a-zA-Z]{24}~/g)) - { + if (id.match(/[0-9a-zA-Z]{24}~/g)) { this.relayPath = id.slice(24).replace(/~/gi, '/'); - id = id.slice(0,24); + id = id.slice(0, 24); } - logger.log('info', 'PROCESSING', {requestID: this.requestID, relayType: 'APP', typeID: id, serviceNode: ''}); + logger.log('info', 'PROCESSING', { + requestID: this.requestID, + relayType: 'APP', + typeID: id, + serviceNode: '', + }); try { const application = await this.fetchApplication(id, filter); @@ -196,15 +214,21 @@ export class V1Controller { return this.pocketRelayer.sendRelay(rawData, this.relayPath, this.httpMethod, application, this.requestID); } } catch (e) { - logger.log('error', 'Application not found', {requestID: this.requestID, relayType: 'APP', typeID: id, serviceNode: ''}); - return new HttpErrors.InternalServerError( - 'Application not found', - ); + logger.log('error', e.message, { + requestID: this.requestID, + relayType: 'APP', + typeID: id, + serviceNode: '', + }); + return new HttpErrors.InternalServerError(e.message); } - logger.log('error', 'Application not found', {requestID: this.requestID, relayType: 'APP', typeID: id, serviceNode: ''}); - return new HttpErrors.InternalServerError( - 'Application not found' - ); + logger.log('error', 'Application not found', { + requestID: this.requestID, + relayType: 'APP', + typeID: id, + serviceNode: '', + }); + return new HttpErrors.InternalServerError('Application not found'); } // Pull LoadBalancer records from redis then DB diff --git a/src/errors/relay-error.ts b/src/errors/relay-error.ts index 6f83c489..e2ec2691 100644 --- a/src/errors/relay-error.ts +++ b/src/errors/relay-error.ts @@ -2,12 +2,16 @@ * @class RelayError */ export class RelayError extends Error { - code: number; - servicer_node: string | undefined; - constructor (message: string, code: number, servicer_node: string | undefined) { - super(message); - this.name = "RelayError"; - this.code = code; - this.servicer_node = servicer_node; - } -} \ No newline at end of file + code: number; + servicer_node: string | undefined; + constructor( + message: string, + code: number, + servicer_node: string | undefined, + ) { + super(message); + this.name = 'RelayError'; + this.code = code; + this.servicer_node = servicer_node; + } +} diff --git a/src/index.ts b/src/index.ts index 2d633346..ed832989 100644 --- a/src/index.ts +++ b/src/index.ts @@ -11,6 +11,11 @@ export async function main(options: ApplicationConfig = {}) { await app.start(); await app.loadPocket(); - logger.log('info', `Server is running at ${app.restServer.url}`, {requestID: '', relayType: '', typeID: '', serviceNode: ''}); + logger.log('info', `Server is running at ${app.restServer.url}`, { + requestID: '', + relayType: '', + typeID: '', + serviceNode: '', + }); return app; } diff --git a/src/sequence.ts b/src/sequence.ts index dc23c50a..38c84a98 100644 --- a/src/sequence.ts +++ b/src/sequence.ts @@ -10,7 +10,7 @@ import { SequenceHandler, } from '@loopback/rest'; -const shortID = require('shortid'); +import shortID from 'shortid'; const SequenceActions = RestBindings.SequenceActions; export class GatewaySequence implements SequenceHandler { @@ -27,6 +27,7 @@ export class GatewaySequence implements SequenceHandler { const {request, response} = context; // Record the host, user-agent, and origin for processing + context.bind('headers').to(request.headers); context.bind('host').to(request.headers['host']); context.bind('userAgent').to(request.headers['user-agent']); context.bind('origin').to(request.headers['origin']); @@ -53,27 +54,39 @@ export class GatewaySequence implements SequenceHandler { context.bind('requestID').to(shortID.generate()); // Custom routing for blockchain paths: - // If it finds an extra path on the end of the request, slice off the path + // If it finds an extra path on the end of the request, slice off the path // and convert the slashes to tildes for processing in the v1.controller if ( - request.method === "POST" && - ( - // Matches either /v1/lb/LOADBALANCER_ID or /v1/APPLICATION_ID - request.url.match(/^\/v1\/lb\//) || - request.url.match(/^\/v1\/[0-9a-zA-Z]{24}\//) - ) + request.method === 'POST' && + // Matches either /v1/lb/LOADBALANCER_ID or /v1/APPLICATION_ID + (request.url.match(/^\/v1\/lb\//) || + request.url.match(/^\/v1\/[0-9a-zA-Z]{24}\//)) ) { if (request.url.match(/^\/v1\/lb\//)) { request.url = `/v1/lb/${request.url.slice(7).replace(/\//gi, '~')}`; } else if (request.url.match(/^\/v1\/[0-9a-z]{24}\//)) { - request.url = `${request.url.slice(0,28)}${request.url.slice(28).replace(/\//gi, '~')}`; + request.url = `${request.url.slice(0, 28)}${request.url + .slice(28) + .replace(/\//gi, '~')}`; } } + + response.header('Access-Control-Allow-Origin', '*'); + response.header('Access-Control-Allow-Credentials', 'true'); + response.header('Access-Control-Allow-Methods','GET,HEAD,PUT,PATCH,POST,DELETE'); + response.header('Vary', 'Access-Control-Request-Headers'); + response.header('Access-Control-Allow-Headers', 'content-type'); + response.header('Access-Control-Max-Age', '86400'); - const route = this.findRoute(request); - const args = await this.parseParams(request, route); - const result = await this.invoke(route, args); - this.send(response, result); + if (request.method == 'OPTIONS') { + response.status(200) + this.send(response, ''); + } else { + const route = this.findRoute(request); + const args = await this.parseParams(request, route); + const result = await this.invoke(route, args); + this.send(response, result); + } } catch (err) { this.reject(context, err); } diff --git a/src/services/cherry-picker.ts b/src/services/cherry-picker.ts index a61851ef..81d064ab 100644 --- a/src/services/cherry-picker.ts +++ b/src/services/cherry-picker.ts @@ -1,6 +1,6 @@ import {Node, Session} from '@pokt-network/pocket-js'; import {Redis} from 'ioredis'; -import { Applications } from '../models'; +import {Applications} from '../models'; const logger = require('../services/logger'); @@ -38,13 +38,18 @@ export class CherryPicker { // Sort application logs by highest success rate, then by lowest latency sortedLogs = this.sortLogs(sortedLogs, requestID, 'LB', loadBalancerID); - // Iterate through sorted logs and form in to a weighted list + // Iterate through sorted logs and form in to a weighted list // 15 failures per 15 minutes allowed on apps (all 5 nodes failed 3 times) let rankedItems = await this.rankItems(blockchain, sortedLogs, 15); // If we have no applications left because all are failures, ¯\_(ツ)_/¯ if (rankedItems.length === 0) { - logger.log('warn', 'Cherry picking failure -- apps', {requestID: requestID, relayType: 'LB', typeID: loadBalancerID, serviceNode: ''}); + logger.log('warn', 'Cherry picking failure -- apps', { + requestID: requestID, + relayType: 'LB', + typeID: loadBalancerID, + serviceNode: '', + }); rankedItems = applications; } @@ -54,11 +59,13 @@ export class CherryPicker { logger.log( 'debug', 'Number of weighted applications for selection: ' + rankedItems.length, - {requestID: requestID, relayType: 'LB', typeID: loadBalancerID}); + {requestID: requestID, relayType: 'LB', typeID: loadBalancerID}, + ); logger.log( 'debug', 'Selected ' + selectedApplication + ' : ' + application, - {requestID: requestID, relayType: 'LB', typeID: loadBalancerID}); + {requestID: requestID, relayType: 'LB', typeID: loadBalancerID}, + ); } return application; } @@ -98,7 +105,12 @@ export class CherryPicker { // If we have no nodes left because all 5 are failures, ¯\_(ツ)_/¯ if (rankedItems.length === 0) { - logger.log('warn', 'Cherry picking failure -- nodes', {requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: ''}); + logger.log('warn', 'Cherry picking failure -- nodes', { + requestID: requestID, + relayType: 'APP', + typeID: application.id, + serviceNode: '', + }); rankedItems = rawNodeIDs; } @@ -108,11 +120,19 @@ export class CherryPicker { logger.log( 'debug', 'Number of weighted nodes for selection: ' + rankedItems.length, - {requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: ''}); - logger.log( - 'debug', - 'Selected ' + selectedNode + ' : ' + node.publicKey, - {requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: ''}); + { + requestID: requestID, + relayType: 'APP', + typeID: application.id, + serviceNode: '', + }, + ); + logger.log('debug', 'Selected ' + selectedNode + ' : ' + node.publicKey, { + requestID: requestID, + relayType: 'APP', + typeID: application.id, + serviceNode: '', + }); } return node; } @@ -164,7 +184,7 @@ export class CherryPicker { applicationID, elapsedTime, result, - 900 + 900, ); await this._updateServiceQuality( blockchain, @@ -180,7 +200,7 @@ export class CherryPicker { id: string, elapsedTime: number, result: number, - ttl: number + ttl: number, ): Promise<void> { const serviceLog = await this.fetchRawServiceLog(blockchain, id); @@ -361,8 +381,13 @@ export class CherryPicker { }; } - sortLogs(array: ServiceLog[], requestID: string, relayType: string, typeID: string): ServiceLog[]{ - const sortedLogs = array.sort((a: ServiceLog, b: ServiceLog) => { + sortLogs( + array: ServiceLog[], + requestID: string, + relayType: string, + typeID: string, + ): ServiceLog[] { + const sortedLogs = array.sort((a: ServiceLog, b: ServiceLog) => { if (a.successRate < b.successRate) { return 1; } else if (a.successRate > b.successRate) { @@ -379,13 +404,15 @@ export class CherryPicker { return 0; }); if (this.checkDebug) { - logger.log( - 'debug', - 'Sorted logs: ' + JSON.stringify(sortedLogs), - {requestID: requestID, relayType: relayType, typeID: typeID, serviceNode: ''}); + logger.log('debug', 'Sorted logs: ' + JSON.stringify(sortedLogs), { + requestID: requestID, + relayType: relayType, + typeID: typeID, + serviceNode: '', + }); } return sortedLogs; - }; + } } -type ServiceLog = { id: string; attempts: number; successRate: number; averageSuccessLatency: number; failure: boolean; } \ No newline at end of file +type ServiceLog = { id: string; attempts: number; successRate: number; averageSuccessLatency: number; failure: boolean; } diff --git a/src/services/logger.ts b/src/services/logger.ts index 28ee4632..e65293eb 100644 --- a/src/services/logger.ts +++ b/src/services/logger.ts @@ -1,12 +1,24 @@ import {HttpErrors} from '@loopback/rest'; import LogzioWinstonTransport from 'winston-logzio'; -require("dotenv").config(); +require('dotenv').config(); -const { createLogger, format, transports } = require('winston'); +const { createLogger, format, transports: winstonTransports } = require('winston'); const { printf } = format; +interface Log { + level: string; + message: string; + requestID: string; + relayType: string; + typeID: string; + serviceNode: string; + error: string | undefined; + elapsedTime: number; +} + const logzToken: string = process.env.LOGZ_TOKEN ?? ''; +const environment: string = process.env.NODE_ENV ?? 'production'; if (!logzToken) { throw new HttpErrors.InternalServerError( @@ -23,20 +35,9 @@ const consoleFormat = printf(({ level, message, requestID, relayType, typeID, se return `[${timestampUTC()}] [${level}] [${requestID}] [${relayType}] [${typeID}] [${serviceNode}] [${error}] [${elapsedTime}] ${message}`; }); -const debugFilter = format((log:Log, opts:any) => { - return log.level === 'debug' ? log : false; -}); - -const logzioWinstonTransport = new LogzioWinstonTransport({ - level: 'info', - name: 'winston_logzio', - token: logzToken, - host: 'listener-uk.logz.io', -}); - const options = { console: { - level: 'info', + level: 'debug', handleExceptions: true, colorize: true, format: format.combine( @@ -48,24 +49,24 @@ const options = { consoleFormat, ), }, + logzio: { + level: 'debug', + name: 'winston_logzio', + token: logzToken, + host: 'listener-uk.logz.io', + } }; -interface Log { - level: string; - message: string; - requestID: string; - relayType: string; - typeID: string; - serviceNode: string; - error: string | undefined; - elapsedTime: number; -} +const logzioWinstonTransport = new LogzioWinstonTransport(options.logzio); +const consoleWinstonTransport = new winstonTransports.Console(options.console); + +const perEnvTransports = + environment === 'production' + ? [consoleWinstonTransport, logzioWinstonTransport] + : [consoleWinstonTransport] module.exports = createLogger({ format: format.json(), - transports: [ - new transports.Console(options.console), - logzioWinstonTransport, - ], + transports: perEnvTransports, exitOnError: false, -}); \ No newline at end of file +}); diff --git a/src/services/metrics-recorder.ts b/src/services/metrics-recorder.ts index 60cd60da..cfca6d45 100644 --- a/src/services/metrics-recorder.ts +++ b/src/services/metrics-recorder.ts @@ -2,7 +2,7 @@ import {Redis} from 'ioredis'; import {Pool as PGPool} from 'pg'; import {CherryPicker} from './cherry-picker'; -const pgFormat = require('pg-format'); +import pgFormat from 'pg-format'; const logger = require('../services/logger'); export class MetricsRecorder { diff --git a/src/services/pocket-relayer.ts b/src/services/pocket-relayer.ts index 4d9a41ff..4312375f 100644 --- a/src/services/pocket-relayer.ts +++ b/src/services/pocket-relayer.ts @@ -9,8 +9,6 @@ import { RelayResponse, Pocket, Configuration, - RpcError, - HttpRpcProvider, HTTPMethod, Node, } from '@pokt-network/pocket-js'; @@ -18,13 +16,12 @@ import {Redis} from 'ioredis'; import {BlockchainsRepository} from '../repositories'; import {Applications} from '../models'; import {RelayError} from '../errors/relay-error'; +import AatPlans from '../config/aat-plans.json'; -const logger = require('../services/logger'); +import { JSONObject } from '@loopback/context'; -interface FallbackRelay { payload: FallbackPayload; meta: FallbackMeta; proof: FallbackProof }; -interface FallbackPayload { data: String; method: String; path: String; headers: null }; -interface FallbackMeta { block_height: number } ; -interface FallbackProof { blockchain: String }; +const logger = require('../services/logger'); +import axios from 'axios'; export class PocketRelayer { host: string; @@ -41,7 +38,8 @@ export class PocketRelayer { relayRetries: number; blockchainsRepository: BlockchainsRepository; checkDebug: boolean; - fallbacks: Array<URL>; + altruists: JSONObject; + aatPlan: string; constructor({ host, @@ -58,7 +56,8 @@ export class PocketRelayer { relayRetries, blockchainsRepository, checkDebug, - fallbackURL, + altruists, + aatPlan, }: { host: string; origin: string; @@ -74,7 +73,8 @@ export class PocketRelayer { relayRetries: number; blockchainsRepository: BlockchainsRepository; checkDebug: boolean; - fallbackURL: string; + altruists: string; + aatPlan: string; }) { this.host = host; this.origin = origin; @@ -90,19 +90,10 @@ export class PocketRelayer { this.relayRetries = relayRetries; this.blockchainsRepository = blockchainsRepository; this.checkDebug = checkDebug; - - // Create the array of fallback relayers as last resort - const fallbacks = []; - - if (fallbackURL.indexOf(",")) { - const fallbackArray = fallbackURL.split(","); - fallbackArray.forEach(function(fallback) { - fallbacks.push(new URL(fallback)); - }); - } else { - fallbacks.push(new URL(fallbackURL)); - } - this.fallbacks = fallbacks; + this.aatPlan = aatPlan; + + // Create the array of altruist relayers as last resort + this.altruists = JSON.parse(altruists); } async sendRelay( @@ -112,13 +103,10 @@ export class PocketRelayer { application: Applications, requestID: string, requestTimeOut?: number, - overallTimeOut?: number, - relayRetries?: number + overallTimeOut?: number, + relayRetries?: number, ): Promise<string | Error> { - if ( - relayRetries !== undefined && - relayRetries >= 0 - ) { + if (relayRetries !== undefined && relayRetries >= 0) { this.relayRetries = relayRetries; } const [blockchain, blockchainEnforceResult, blockchainSyncCheck] = await this.loadBlockchain(); @@ -128,29 +116,37 @@ export class PocketRelayer { // This allows us to take in both [{},{}] arrays of JSON and plain JSON and removes // extraneous characters like newlines and tabs from the rawData. // Normally the arrays of JSON do not pass the AJV validation used by Loopback. - const parsedRawData = JSON.parse(rawData.toString()); + + const parsedRawData = Object.keys(rawData).length > 0 + ? JSON.parse(rawData.toString()) + : JSON.stringify(rawData); const data = JSON.stringify(parsedRawData); const method = this.parseMethod(parsedRawData); - const fallbackAvailable = (this.fallbacks.length > 0 && this.pocket !== undefined) ? true : false; - + const fallbackAvailable = this.altruists[blockchain] !== undefined ? true : false; // Retries if applicable - for (let x = 0; x <= this.relayRetries; x++) { + for (let x = 0; x <= this.relayRetries; x++) { let relayStart = process.hrtime(); - + // Compute the overall time taken on this LB request const overallCurrent = process.hrtime(overallStart); - const overallCurrentElasped = Math.round((overallCurrent[0] * 1e9 + overallCurrent[1]) / 1e6); - if ( - overallTimeOut && - overallCurrentElasped > overallTimeOut - ) { - logger.log('error', 'Overall Timeout exceeded: ' + overallTimeOut, {requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: ''}); - return new HttpErrors.GatewayTimeout('Overall Timeout exceeded: ' + overallTimeOut); + const overallCurrentElasped = Math.round( + (overallCurrent[0] * 1e9 + overallCurrent[1]) / 1e6, + ); + if (overallTimeOut && overallCurrentElasped > overallTimeOut) { + logger.log('error', 'Overall Timeout exceeded: ' + overallTimeOut, { + requestID: requestID, + relayType: 'APP', + typeID: application.id, + serviceNode: '', + }); + return new HttpErrors.GatewayTimeout( + 'Overall Timeout exceeded: ' + overallTimeOut, + ); } - + // Send this relay attempt const relayResponse = await this._sendRelay(data, relayPath, httpMethod, requestID, application, requestTimeOut, blockchain, blockchainEnforceResult, blockchainSyncCheck); - + if (!(relayResponse instanceof Error)) { // Record success metric await this.metricsRecorder.recordMetric({ @@ -165,9 +161,9 @@ export class PocketRelayer { delivered: false, fallback: false, method: method, - error: undefined + error: undefined, }); - + // Clear error log await this.redis.del(blockchain + '-' + relayResponse.proof.servicerPubKey + '-errors'); @@ -182,7 +178,8 @@ export class PocketRelayer { } else if (relayResponse instanceof RelayError) { // Record failure metric, retry if possible or fallback // If this is the last retry and fallback is available, mark the error not delivered - const errorDelivered = (x === this.relayRetries && fallbackAvailable) ? false : true; + const errorDelivered = + x === this.relayRetries && fallbackAvailable ? false : true; // Increment error log await this.redis.incr(blockchain + '-' + relayResponse.servicer_node + '-errors'); @@ -209,53 +206,87 @@ export class PocketRelayer { }); } } - // Exhausted relay attempts; use fallback - if (fallbackAvailable) { + // Exhausted network relay attempts; use fallback + if (fallbackAvailable) { let relayStart = process.hrtime(); + let axiosConfig = {}; - const fallbackChoice = new HttpRpcProvider(this.fallbacks[Math.floor(Math.random() * this.fallbacks.length)]); - const fallbackPayload : FallbackPayload = {data: rawData.toString(), method: httpMethod, path: relayPath, headers: null}; - const fallbackMeta: FallbackMeta = {block_height: 0}; - const fallbackProof: FallbackProof = {blockchain: blockchain}; - const fallbackRelay: FallbackRelay = {payload: fallbackPayload, meta: fallbackMeta, proof: fallbackProof}; + // Add relay path to URL + const altruistURL = (relayPath === undefined || relayPath === "") ? this.altruists[blockchain] : `${this.altruists[blockchain]}/${relayPath}`; - const fallbackResponse = await fallbackChoice.send("/v1/client/relay", JSON.stringify(fallbackRelay), 1200000, false); - - if (this.checkDebug) { - logger.log('debug', JSON.stringify(fallbackChoice), {requestID: requestID, relayType: 'FALLBACK', typeID: application.id, serviceNode: 'fallback:'+fallbackChoice.baseURL}); - logger.log('debug', JSON.stringify(fallbackRelay), {requestID: requestID, relayType: 'FALLBACK', typeID: application.id, serviceNode: 'fallback:'+fallbackChoice.baseURL}); - logger.log('debug', JSON.stringify(fallbackResponse), {requestID: requestID, relayType: 'FALLBACK', typeID: application.id, serviceNode: 'fallback:'+fallbackChoice.baseURL}); - } - if (!(fallbackResponse instanceof RpcError)) { - const responseParsed = JSON.parse(fallbackResponse); + // Remove user/pass from the altruist URL + const redactedAltruistURL = String(this.altruists[blockchain])!.replace(/[\w]*:\/\/[^\/]*@/g, ''); - await this.metricsRecorder.recordMetric({ - requestID: requestID, - applicationID: application.id, - appPubKey: application.gatewayAAT.applicationPublicKey, - blockchain, - serviceNode: "fallback:"+fallbackChoice.baseURL, - relayStart, - result: 200, - bytes: Buffer.byteLength(responseParsed.response, 'utf8'), - delivered: false, - fallback: true, - method: method, - error: undefined - }); - // If return payload is valid JSON, turn it into an object so it is sent with content-type: json - if ( - blockchainEnforceResult && // Is this blockchain marked for result enforcement // and - blockchainEnforceResult.toLowerCase() === 'json' // the check is for JSON - ) { - return JSON.parse(responseParsed.response); + if (httpMethod === 'POST') { + axiosConfig = { + method: 'POST', + url: altruistURL, + data: rawData.toString(), + headers: {'Content-Type': 'application/json'} + }; + } else { + axiosConfig = { + method: httpMethod, + url: altruistURL, + data: rawData.toString() + }; + } + try { + const fallbackResponse = await axios(axiosConfig); + + if (this.checkDebug) { + logger.log('debug', JSON.stringify(fallbackResponse.data), { + requestID: requestID, + relayType: 'FALLBACK', + typeID: application.id, + serviceNode: 'fallback:' + redactedAltruistURL, + }); } - else { - return responseParsed.response; + + if (!(fallbackResponse instanceof Error)) { + const responseParsed = JSON.stringify(fallbackResponse.data); + + await this.metricsRecorder.recordMetric({ + requestID: requestID, + applicationID: application.id, + appPubKey: application.gatewayAAT.applicationPublicKey, + blockchain, + serviceNode: 'fallback:' + redactedAltruistURL, + relayStart, + result: 200, + bytes: Buffer.byteLength(responseParsed, 'utf8'), + delivered: false, + fallback: true, + method: method, + error: undefined, + }); + + // If return payload is valid JSON, turn it into an object so it is sent with content-type: json + if ( + blockchainEnforceResult && // Is this blockchain marked for result enforcement and + blockchainEnforceResult.toLowerCase() === 'json' && // the check is for JSON + typeof responseParsed === 'string' && + (responseParsed.match('{') || responseParsed.match('[{')) // and it matches JSON + ) { + return JSON.parse(responseParsed); + } + return responseParsed; + } else { + logger.log('error', JSON.stringify(fallbackResponse), { + requestID: requestID, + relayType: 'FALLBACK', + typeID: application.id, + serviceNode: 'fallback:' + redactedAltruistURL, + }); } } - else { - logger.log('error', JSON.stringify(fallbackResponse), {requestID: requestID, relayType: 'FALLBACK', typeID: application.id, serviceNode: 'fallback:'+fallbackChoice.baseURL}); + catch (e) { + logger.log('error', e.message, { + requestID: requestID, + relayType: 'FALLBACK', + typeID: application.id, + serviceNode: 'fallback:' + redactedAltruistURL, + }); } } return new HttpErrors.GatewayTimeout('Relay attempts exhausted'); @@ -274,7 +305,7 @@ export class PocketRelayer { blockchainSyncCheck: string, ): Promise<RelayResponse | Error> { logger.log('info', 'RELAYING ' + blockchain + ' req: ' + data, {requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: ''}); - + // Secret key check if (!this.checkSecretKey(application)) { throw new HttpErrors.Forbidden('SecretKey does not match'); @@ -306,13 +337,23 @@ export class PocketRelayer { ); } + const aatParams: [string, string, string, string] = + this.aatPlan === AatPlans.FREEMIUM + ? [ + application.gatewayAAT.version, + application.freeTierAAT.clientPublicKey, + application.freeTierAAT.applicationPublicKey, + application.freeTierAAT.applicationSignature, + ] + : [ + application.gatewayAAT.version, + application.gatewayAAT.clientPublicKey, + application.gatewayAAT.applicationPublicKey, + application.gatewayAAT.applicationSignature, + ]; + // Checks pass; create AAT - const pocketAAT = new PocketAAT( - application.gatewayAAT.version, - application.gatewayAAT.clientPublicKey, - application.gatewayAAT.applicationPublicKey, - application.gatewayAAT.applicationSignature, - ); + const pocketAAT = new PocketAAT(...aatParams); let node; @@ -331,7 +372,12 @@ export class PocketRelayer { } if (this.checkDebug) { - logger.log('debug', JSON.stringify(pocketSession), {requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: node?.publicKey}); + logger.log('debug', JSON.stringify(pocketSession), { + requestID: requestID, + relayType: 'APP', + typeID: application.id, + serviceNode: node?.publicKey, + }); } // Adjust Pocket Configuration for a custom requestTimeOut @@ -339,7 +385,7 @@ export class PocketRelayer { if (requestTimeOut) { relayConfiguration = this.updateConfiguration(requestTimeOut); } - + // Send relay and process return: RelayResponse, RpcError, ConsensusNode, or undefined const relayResponse = await this.pocket.sendRelay( data, @@ -355,8 +401,18 @@ export class PocketRelayer { ); if (this.checkDebug) { - logger.log('debug', JSON.stringify(relayConfiguration), {requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: node?.publicKey}); - logger.log('debug', JSON.stringify(relayResponse), {requestID: requestID, relayType: 'APP', typeID: application.id, serviceNode: node?.publicKey}); + logger.log('debug', JSON.stringify(relayConfiguration), { + requestID: requestID, + relayType: 'APP', + typeID: application.id, + serviceNode: node?.publicKey, + }); + logger.log('debug', JSON.stringify(relayResponse), { + requestID: requestID, + relayType: 'APP', + typeID: application.id, + serviceNode: node?.publicKey, + }); } // Success @@ -375,7 +431,11 @@ export class PocketRelayer { ) ) { // then this result is invalid - return new RelayError(relayResponse.payload, 503, relayResponse.proof.servicerPubKey); + return new RelayError( + relayResponse.payload, + 503, + relayResponse.proof.servicerPubKey, + ); } else { // Success return relayResponse; @@ -405,7 +465,7 @@ export class PocketRelayer { parseMethod(parsedRawData: any) { // Method recording for metrics - let method = ""; + let method = ''; if (parsedRawData instanceof Array) { // Join the methods of calls in an array for chains that can join multiple calls in one for (const key in parsedRawData) { @@ -433,7 +493,8 @@ export class PocketRelayer { this.pocketConfiguration.blockTime, this.pocketConfiguration.maxSessionRefreshRetries, this.pocketConfiguration.validateRelayResponses, - this.pocketConfiguration.rejectSelfSignedCertificates + this.pocketConfiguration.rejectSelfSignedCertificates, + this.pocketConfiguration.useLegacyTxCodec, ); } diff --git a/src/services/relay-profiler.ts b/src/services/relay-profiler.ts index 0e067f13..9ccf2ac4 100644 --- a/src/services/relay-profiler.ts +++ b/src/services/relay-profiler.ts @@ -5,8 +5,8 @@ import { import {Pool as PGPool} from 'pg'; -const pgFormat = require('pg-format'); -const logger = require('../services/logger'); +// import pgFormat from 'pg-format'; +// const logger = require('../services/logger'); export class RelayProfiler extends BaseProfiler { public data: {key: string, time_elapsed: number | undefined}[] = [] @@ -17,6 +17,7 @@ export class RelayProfiler extends BaseProfiler { this.pgPool = pgPool; } + //@ts-ignore async flushResults(requestID: string, blockchain: string, functionName: string, results: ProfileResult[]): Promise<void> { /* const bulkData: any[] = []; @@ -52,4 +53,4 @@ export class RelayProfiler extends BaseProfiler { } */ } -} \ No newline at end of file +} diff --git a/stacks/local.yml b/stacks/local.yml new file mode 100644 index 00000000..af4fbb38 --- /dev/null +++ b/stacks/local.yml @@ -0,0 +1,62 @@ +version: "3.5" + +services: + gateway: + image: pocket-network/gateway + container_name: gateway + build: + context: .. + dockerfile: ./Dockerfile + command: npm run start:watch + env_file: + - ../.env + ports: + - 3000:3000 + volumes: + - "../src:/usr/src/gateway/src" + - "../dist:/usr/src/gateway/dist" + depends_on: + - db + - cache + - metricsdb + networks: + - pocket + + db: + image: mongo:4.2.14 + container_name: db + env_file: + - ../.tasks.env + volumes: + - ~/.pocket/mongodb:/data/db + ports: + - "27017:27017" + networks: + - pocket + + cache: + image: "redis:alpine" + container_name: cache + command: redis-server + ports: + - "6379:6379" + environment: + - REDIS_REPLICATION_MODE=master + networks: + - pocket + + metricsdb: + container_name: metricsdb + image: timescale/timescaledb:2.0.2-pg12 + environment: + - POSTGRES_USER=pguser + - POSTGRES_PASSWORD=pgpassword + - POSTGRES_DB=gatewaydb + ports: + - 5432:5432 + networks: + - pocket + +networks: + pocket: + driver: bridge diff --git a/stacks/tasks.yml b/stacks/tasks.yml new file mode 100644 index 00000000..9dff157e --- /dev/null +++ b/stacks/tasks.yml @@ -0,0 +1,30 @@ +version: "3.5" + +services: + + download-production-data: + image: mongo:4.2.14 + command: /scripts/export-production-data.sh + volumes: + - ~/.pocket/production_data:/data/ + - "../scripts:/scripts" + env_file: + - ../.tasks.env + networks: + - portalnet + + import-production-data: + image: mongo:4.2.14 + command: /scripts/import-production-data.sh + volumes: + - ~/.pocket/production_data:/data/ + - "../scripts:/scripts" + - ~/.pocket/mongodb:/data/db + env_file: + - ../.tasks.env + networks: + - portalnet + +networks: + portalnet: + driver: bridge diff --git a/tsconfig.tsbuildinfo b/tsconfig.tsbuildinfo deleted file mode 100644 index efbcefab..00000000 --- a/tsconfig.tsbuildinfo +++ /dev/null @@ -1,7285 +0,0 @@ -{ - "program": { - "fileInfos": { - "./node_modules/typescript/lib/lib.es5.d.ts": { - "version": "b42eddba1a53c9d27279cfe7fc0416c10a81489826ad47e39013b9d340fc0cc7", - "signature": "b42eddba1a53c9d27279cfe7fc0416c10a81489826ad47e39013b9d340fc0cc7" - }, - "./node_modules/typescript/lib/lib.es2015.d.ts": { - "version": "7994d44005046d1413ea31d046577cdda33b8b2470f30281fd9c8b3c99fe2d96", - "signature": "7994d44005046d1413ea31d046577cdda33b8b2470f30281fd9c8b3c99fe2d96" - }, - "./node_modules/typescript/lib/lib.es2016.d.ts": { - "version": "5f217838d25704474d9ef93774f04164889169ca31475fe423a9de6758f058d1", - "signature": "5f217838d25704474d9ef93774f04164889169ca31475fe423a9de6758f058d1" - }, - "./node_modules/typescript/lib/lib.es2017.d.ts": { - "version": "459097c7bdd88fc5731367e56591e4f465f2c9de81a35427a7bd473165c34743", - "signature": "459097c7bdd88fc5731367e56591e4f465f2c9de81a35427a7bd473165c34743" - }, - "./node_modules/typescript/lib/lib.es2018.d.ts": { - "version": "9c67dcc7ca897b61f58d57d487bc9f07950546e5ac8701cbc41a8a4fec48b091", - "signature": "9c67dcc7ca897b61f58d57d487bc9f07950546e5ac8701cbc41a8a4fec48b091" - }, - "./node_modules/typescript/lib/lib.es2019.d.ts": { - "version": "0fc0f68d3f4d94aa65fab955592e4a9f2066e6f8ee2f66fcc45adf4037fc167b", - "signature": "0fc0f68d3f4d94aa65fab955592e4a9f2066e6f8ee2f66fcc45adf4037fc167b" - }, - "./node_modules/typescript/lib/lib.es2020.d.ts": { - "version": "585694acba05fe18d6ad9c9f662f3de3766779933efb9f2d8c482c1a92bf073c", - "signature": "585694acba05fe18d6ad9c9f662f3de3766779933efb9f2d8c482c1a92bf073c" - }, - "./node_modules/typescript/lib/lib.dom.d.ts": { - "version": "f2039e0dbc31f69183f6377b368c033802dfdcf77e5fd214def06c1fd7b225ed", - "signature": "f2039e0dbc31f69183f6377b368c033802dfdcf77e5fd214def06c1fd7b225ed" - }, - "./node_modules/typescript/lib/lib.es2015.core.d.ts": { - "version": "734ddc145e147fbcd55f07d034f50ccff1086f5a880107665ec326fb368876f6", - "signature": "734ddc145e147fbcd55f07d034f50ccff1086f5a880107665ec326fb368876f6" - }, - "./node_modules/typescript/lib/lib.es2015.collection.d.ts": { - "version": "4a0862a21f4700de873db3b916f70e41570e2f558da77d2087c9490f5a0615d8", - "signature": "4a0862a21f4700de873db3b916f70e41570e2f558da77d2087c9490f5a0615d8" - }, - "./node_modules/typescript/lib/lib.es2015.generator.d.ts": { - "version": "765e0e9c9d74cf4d031ca8b0bdb269a853e7d81eda6354c8510218d03db12122", - "signature": "765e0e9c9d74cf4d031ca8b0bdb269a853e7d81eda6354c8510218d03db12122" - }, - "./node_modules/typescript/lib/lib.es2015.iterable.d.ts": { - "version": "285958e7699f1babd76d595830207f18d719662a0c30fac7baca7df7162a9210", - "signature": "285958e7699f1babd76d595830207f18d719662a0c30fac7baca7df7162a9210" - }, - "./node_modules/typescript/lib/lib.es2015.promise.d.ts": { - "version": "d4deaafbb18680e3143e8b471acd650ed6f72a408a33137f0a0dd104fbe7f8ca", - "signature": "d4deaafbb18680e3143e8b471acd650ed6f72a408a33137f0a0dd104fbe7f8ca" - }, - "./node_modules/typescript/lib/lib.es2015.proxy.d.ts": { - "version": "5e72f949a89717db444e3bd9433468890068bb21a5638d8ab15a1359e05e54fe", - "signature": "5e72f949a89717db444e3bd9433468890068bb21a5638d8ab15a1359e05e54fe" - }, - "./node_modules/typescript/lib/lib.es2015.reflect.d.ts": { - "version": "f5b242136ae9bfb1cc99a5971cccc44e99947ae6b5ef6fd8aa54b5ade553b976", - "signature": "f5b242136ae9bfb1cc99a5971cccc44e99947ae6b5ef6fd8aa54b5ade553b976" - }, - "./node_modules/typescript/lib/lib.es2015.symbol.d.ts": { - "version": "9ae2860252d6b5f16e2026d8a2c2069db7b2a3295e98b6031d01337b96437230", - "signature": "9ae2860252d6b5f16e2026d8a2c2069db7b2a3295e98b6031d01337b96437230" - }, - "./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts": { - "version": "3e0a459888f32b42138d5a39f706ff2d55d500ab1031e0988b5568b0f67c2303", - "signature": "3e0a459888f32b42138d5a39f706ff2d55d500ab1031e0988b5568b0f67c2303" - }, - "./node_modules/typescript/lib/lib.es2016.array.include.d.ts": { - "version": "3f96f1e570aedbd97bf818c246727151e873125d0512e4ae904330286c721bc0", - "signature": "3f96f1e570aedbd97bf818c246727151e873125d0512e4ae904330286c721bc0" - }, - "./node_modules/typescript/lib/lib.es2017.object.d.ts": { - "version": "c2d60b2e558d44384e4704b00e6b3d154334721a911f094d3133c35f0917b408", - "signature": "c2d60b2e558d44384e4704b00e6b3d154334721a911f094d3133c35f0917b408" - }, - "./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts": { - "version": "b8667586a618c5cf64523d4e500ae39e781428abfb28f3de441fc66b56144b6f", - "signature": "b8667586a618c5cf64523d4e500ae39e781428abfb28f3de441fc66b56144b6f" - }, - "./node_modules/typescript/lib/lib.es2017.string.d.ts": { - "version": "21df2e0059f14dcb4c3a0e125859f6b6ff01332ee24b0065a741d121250bc71c", - "signature": "21df2e0059f14dcb4c3a0e125859f6b6ff01332ee24b0065a741d121250bc71c" - }, - "./node_modules/typescript/lib/lib.es2017.intl.d.ts": { - "version": "c1759cb171c7619af0d2234f2f8fb2a871ee88e956e2ed91bb61778e41f272c6", - "signature": "c1759cb171c7619af0d2234f2f8fb2a871ee88e956e2ed91bb61778e41f272c6" - }, - "./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts": { - "version": "28569d59e07d4378cb3d54979c4c60f9f06305c9bb6999ffe6cab758957adc46", - "signature": "28569d59e07d4378cb3d54979c4c60f9f06305c9bb6999ffe6cab758957adc46" - }, - "./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts": { - "version": "2958de3d25bfb0b5cdace0244e11c9637e5988920b99024db705a720ce6348e7", - "signature": "2958de3d25bfb0b5cdace0244e11c9637e5988920b99024db705a720ce6348e7" - }, - "./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts": { - "version": "85085a0783532dc04b66894748dc4a49983b2fbccb0679b81356947021d7a215", - "signature": "85085a0783532dc04b66894748dc4a49983b2fbccb0679b81356947021d7a215" - }, - "./node_modules/typescript/lib/lib.es2018.intl.d.ts": { - "version": "5494f46d3a8a0329d13ddc37f8759d5288760febb51c92336608d1c06bb18d29", - "signature": "5494f46d3a8a0329d13ddc37f8759d5288760febb51c92336608d1c06bb18d29" - }, - "./node_modules/typescript/lib/lib.es2018.promise.d.ts": { - "version": "efe049114bad1035b0aa9a4a0359f50ab776e3897c411521e51d3013079cbd62", - "signature": "efe049114bad1035b0aa9a4a0359f50ab776e3897c411521e51d3013079cbd62" - }, - "./node_modules/typescript/lib/lib.es2018.regexp.d.ts": { - "version": "e7780d04cd4120ee554c665829db2bbdd6b947cbaa3c150b7d9ea74df3beb2e8", - "signature": "e7780d04cd4120ee554c665829db2bbdd6b947cbaa3c150b7d9ea74df3beb2e8" - }, - "./node_modules/typescript/lib/lib.es2019.array.d.ts": { - "version": "7054111c49ea06f0f2e623eab292a9c1ae9b7d04854bd546b78f2b8b57e13d13", - "signature": "7054111c49ea06f0f2e623eab292a9c1ae9b7d04854bd546b78f2b8b57e13d13" - }, - "./node_modules/typescript/lib/lib.es2019.object.d.ts": { - "version": "989b95205f1189943fab0ce12a39c80570edf8f200aca60e0fdc500afc4d5859", - "signature": "989b95205f1189943fab0ce12a39c80570edf8f200aca60e0fdc500afc4d5859" - }, - "./node_modules/typescript/lib/lib.es2019.string.d.ts": { - "version": "e9bfd234b801c955459cde7109bebf6fd1b4814fd8b394942f5ba746828a6486", - "signature": "e9bfd234b801c955459cde7109bebf6fd1b4814fd8b394942f5ba746828a6486" - }, - "./node_modules/typescript/lib/lib.es2019.symbol.d.ts": { - "version": "5f2a476cdb4990b249077b46a6242979876e9bba5152e066d68fad77510ee328", - "signature": "5f2a476cdb4990b249077b46a6242979876e9bba5152e066d68fad77510ee328" - }, - "./node_modules/typescript/lib/lib.es2020.bigint.d.ts": { - "version": "0c9ea8c2028047f39a3f66752682604f543c08be8806258c3d95c93e75a43255", - "signature": "0c9ea8c2028047f39a3f66752682604f543c08be8806258c3d95c93e75a43255" - }, - "./node_modules/typescript/lib/lib.es2020.promise.d.ts": { - "version": "4a44be5b17ae6385fcc9a486361f50231992d556c9298373ae0d38cfae9f4056", - "signature": "4a44be5b17ae6385fcc9a486361f50231992d556c9298373ae0d38cfae9f4056" - }, - "./node_modules/typescript/lib/lib.es2020.string.d.ts": { - "version": "01f1170ac78a31964a8a05cc46df7dc63d6911f683cb49586b27c49f54187a86", - "signature": "01f1170ac78a31964a8a05cc46df7dc63d6911f683cb49586b27c49f54187a86" - }, - "./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts": { - "version": "1debec13dc47b66e7e5a5ceb3872ea7f141613148f6083ef6dc38626ee8c9a93", - "signature": "1debec13dc47b66e7e5a5ceb3872ea7f141613148f6083ef6dc38626ee8c9a93" - }, - "./node_modules/typescript/lib/lib.esnext.intl.d.ts": { - "version": "1377923021927244ea19433873b997ad8585533b0a56d5de29cda497f7842756", - "signature": "1377923021927244ea19433873b997ad8585533b0a56d5de29cda497f7842756" - }, - "./node_modules/tslib/tslib.d.ts": { - "version": "4576b4e61049f5ffd7c9e935cf88832e089265bdb15ffc35077310042cbbbeea", - "signature": "4576b4e61049f5ffd7c9e935cf88832e089265bdb15ffc35077310042cbbbeea" - }, - "./node_modules/@loopback/metadata/dist/types.d.ts": { - "version": "796871d58d2d477ecb2cc1a9dda7a67773fec26ecfa8277470ce60d18a6c0edd", - "signature": "796871d58d2d477ecb2cc1a9dda7a67773fec26ecfa8277470ce60d18a6c0edd" - }, - "./node_modules/@loopback/metadata/dist/decorator-factory.d.ts": { - "version": "0449799fbb04e5c04a19debe6919c821a374a4f8de2c0e1c2969696818d66e34", - "signature": "0449799fbb04e5c04a19debe6919c821a374a4f8de2c0e1c2969696818d66e34" - }, - "./node_modules/reflect-metadata/index.d.ts": { - "version": "8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90", - "signature": "8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90" - }, - "./node_modules/@loopback/metadata/dist/reflect.d.ts": { - "version": "913dba4eedcd1ce248e40804a4b769ccfa21dee5add9ba5fa8635e2d97912d4f", - "signature": "913dba4eedcd1ce248e40804a4b769ccfa21dee5add9ba5fa8635e2d97912d4f" - }, - "./node_modules/@loopback/metadata/dist/inspector.d.ts": { - "version": "d80a494920a582eb5d4237d4406afd0f5671b2ef132d402c09c78d0eda5da7d4", - "signature": "d80a494920a582eb5d4237d4406afd0f5671b2ef132d402c09c78d0eda5da7d4" - }, - "./node_modules/@loopback/metadata/dist/index.d.ts": { - "version": "16bd2b5e8ef81da4b6ab7a15095d567f6106b038d0fbf921d47da2dde85bfb71", - "signature": "16bd2b5e8ef81da4b6ab7a15095d567f6106b038d0fbf921d47da2dde85bfb71" - }, - "./node_modules/@types/node/globals.d.ts": { - "version": "fb928b21f5a16a1d64a8e2e74a3f389ace89da74820f070f893221213c50aa3c", - "signature": "fb928b21f5a16a1d64a8e2e74a3f389ace89da74820f070f893221213c50aa3c" - }, - "./node_modules/@types/node/async_hooks.d.ts": { - "version": "28693f9faf04685464c86683696587e65798fea6c12d9131eae4eaf49a0e5ac7", - "signature": "28693f9faf04685464c86683696587e65798fea6c12d9131eae4eaf49a0e5ac7" - }, - "./node_modules/@types/node/buffer.d.ts": { - "version": "fe892fea1e75a442fffb4a604d7eeb451e858787a9f2f01c4e83bf12a3b5048d", - "signature": "fe892fea1e75a442fffb4a604d7eeb451e858787a9f2f01c4e83bf12a3b5048d" - }, - "./node_modules/@types/node/child_process.d.ts": { - "version": "d5c80b931928fbd06f967ce4bdca24fbb37523773ac2c7c87458a689154351fb", - "signature": "d5c80b931928fbd06f967ce4bdca24fbb37523773ac2c7c87458a689154351fb" - }, - "./node_modules/@types/node/cluster.d.ts": { - "version": "fcd718b2feb2820a9844536a1a2fbc77a3da90820e02894d40f879a789f46560", - "signature": "fcd718b2feb2820a9844536a1a2fbc77a3da90820e02894d40f879a789f46560" - }, - "./node_modules/@types/node/console.d.ts": { - "version": "525c8fc510d9632d2a0a9de2d41c3ac1cdd79ff44d3b45c6d81cacabb683528d", - "signature": "525c8fc510d9632d2a0a9de2d41c3ac1cdd79ff44d3b45c6d81cacabb683528d" - }, - "./node_modules/@types/node/constants.d.ts": { - "version": "ece75b9bfc916f9ccc4e8a9ddee1dda5c987804fbe3b60a01fc120fae731c2ce", - "signature": "ece75b9bfc916f9ccc4e8a9ddee1dda5c987804fbe3b60a01fc120fae731c2ce" - }, - "./node_modules/@types/node/crypto.d.ts": { - "version": "4e146a0b69c893ae1538aff8b76f4e8796755bdd45050a83099348d59863437e", - "signature": "4e146a0b69c893ae1538aff8b76f4e8796755bdd45050a83099348d59863437e" - }, - "./node_modules/@types/node/dgram.d.ts": { - "version": "a1dc9cfe8be39cbcef62692510b450ab35553ef39382715c88763d0c477704a9", - "signature": "a1dc9cfe8be39cbcef62692510b450ab35553ef39382715c88763d0c477704a9" - }, - "./node_modules/@types/node/dns.d.ts": { - "version": "05e732266b5a36789fd9eb846b1f45fec1b6e318b740e3f20fc22fd95f9ebf31", - "signature": "05e732266b5a36789fd9eb846b1f45fec1b6e318b740e3f20fc22fd95f9ebf31" - }, - "./node_modules/@types/node/domain.d.ts": { - "version": "985c3d1b62a4a4f563e3ca3e3a47717cff7d82c81883d62ecf08d8417eb477c4", - "signature": "985c3d1b62a4a4f563e3ca3e3a47717cff7d82c81883d62ecf08d8417eb477c4" - }, - "./node_modules/@types/node/events.d.ts": { - "version": "8059976d7f408e08be353de1833172139bbaa70fc33d01b98249f7226c122119", - "signature": "8059976d7f408e08be353de1833172139bbaa70fc33d01b98249f7226c122119" - }, - "./node_modules/@types/node/fs.d.ts": { - "version": "1733741cf2adc5926ac58c66004268cdc3d34b2ff6250f5114db14253ea02ce1", - "signature": "1733741cf2adc5926ac58c66004268cdc3d34b2ff6250f5114db14253ea02ce1" - }, - "./node_modules/@types/node/http.d.ts": { - "version": "df18df925483862e8ff216d7b17e50b7311a3add2fb7feb128d321ec099352ca", - "signature": "df18df925483862e8ff216d7b17e50b7311a3add2fb7feb128d321ec099352ca" - }, - "./node_modules/@types/node/http2.d.ts": { - "version": "b6b09f944889a23f19eba6e0f112030e55160c5e1a225012ab2349c582ba5595", - "signature": "b6b09f944889a23f19eba6e0f112030e55160c5e1a225012ab2349c582ba5595" - }, - "./node_modules/@types/node/https.d.ts": { - "version": "152af7c23ec219f632afa2d861abc65993f56cd39a4f3a4018515dbc05950a74", - "signature": "152af7c23ec219f632afa2d861abc65993f56cd39a4f3a4018515dbc05950a74" - }, - "./node_modules/@types/node/inspector.d.ts": { - "version": "3a0bdc4c5b6f84a1abb5356d7a7fa1f96ac6c5b5646eec3ef2b33c1ed095e155", - "signature": "3a0bdc4c5b6f84a1abb5356d7a7fa1f96ac6c5b5646eec3ef2b33c1ed095e155" - }, - "./node_modules/@types/node/module.d.ts": { - "version": "03394bf8deb8781b490ae9266a843fbdf00647947d79e25fcbf1d89a9e9c8a66", - "signature": "03394bf8deb8781b490ae9266a843fbdf00647947d79e25fcbf1d89a9e9c8a66" - }, - "./node_modules/@types/node/net.d.ts": { - "version": "56a15cc211894d79aa44cbb46c276bfd3f10458a61bff2dec99114db8a7e71e3", - "signature": "56a15cc211894d79aa44cbb46c276bfd3f10458a61bff2dec99114db8a7e71e3" - }, - "./node_modules/@types/node/os.d.ts": { - "version": "1a5366b0d4d0153955fd85777c72d35979dabc0537649da6eade09007c0d080a", - "signature": "1a5366b0d4d0153955fd85777c72d35979dabc0537649da6eade09007c0d080a" - }, - "./node_modules/@types/node/path.d.ts": { - "version": "61c84c3b0eb6e60196d15ae5e21793a1d4241c547f0bdd0529ffae838d1a073c", - "signature": "61c84c3b0eb6e60196d15ae5e21793a1d4241c547f0bdd0529ffae838d1a073c" - }, - "./node_modules/@types/node/perf_hooks.d.ts": { - "version": "272522db288a7e03f14ff930407b776357082efce20369ea42239a57af9c7f81", - "signature": "272522db288a7e03f14ff930407b776357082efce20369ea42239a57af9c7f81" - }, - "./node_modules/@types/node/process.d.ts": { - "version": "3a8848a9c307429b861402cc69bc472ffe0c05b86474fc158723169161e16389", - "signature": "3a8848a9c307429b861402cc69bc472ffe0c05b86474fc158723169161e16389" - }, - "./node_modules/@types/node/punycode.d.ts": { - "version": "3f6a1fd73c9dc3bd7f4b79bc075297ca6527904df69b0f2c2c94e4c4c7d9a32c", - "signature": "3f6a1fd73c9dc3bd7f4b79bc075297ca6527904df69b0f2c2c94e4c4c7d9a32c" - }, - "./node_modules/@types/node/querystring.d.ts": { - "version": "8969e0b4d22ca77ad011c8fc4a25ec5d515bdfae4ecbd22608ed0d5c38829c1e", - "signature": "8969e0b4d22ca77ad011c8fc4a25ec5d515bdfae4ecbd22608ed0d5c38829c1e" - }, - "./node_modules/@types/node/readline.d.ts": { - "version": "b2fe368abdc803b82d27bd27f168d106804422ade198c3c085e2519b195ebd26", - "signature": "b2fe368abdc803b82d27bd27f168d106804422ade198c3c085e2519b195ebd26" - }, - "./node_modules/@types/node/repl.d.ts": { - "version": "0811662f95fabfc05b8f1cefcc46b351092cfc7d2a3e849475c51e2578c5c485", - "signature": "0811662f95fabfc05b8f1cefcc46b351092cfc7d2a3e849475c51e2578c5c485" - }, - "./node_modules/@types/node/stream.d.ts": { - "version": "8e2f9031210a8fc27af8844bf69f964307d6013c90336bea9fb5d6ba43248c78", - "signature": "8e2f9031210a8fc27af8844bf69f964307d6013c90336bea9fb5d6ba43248c78" - }, - "./node_modules/@types/node/string_decoder.d.ts": { - "version": "17e157df6125098a1a34eb4d201ee4ac03bbe97e471ab5627bb2c40fce555948", - "signature": "17e157df6125098a1a34eb4d201ee4ac03bbe97e471ab5627bb2c40fce555948" - }, - "./node_modules/@types/node/timers.d.ts": { - "version": "b40652bf8ce4a18133b31349086523b219724dca8df3448c1a0742528e7ad5b9", - "signature": "b40652bf8ce4a18133b31349086523b219724dca8df3448c1a0742528e7ad5b9" - }, - "./node_modules/@types/node/tls.d.ts": { - "version": "4bdb7b15b3f9a3ee0b856c7b991d0e522f8ce92f7b66ae8ac00e61d1269dd10a", - "signature": "4bdb7b15b3f9a3ee0b856c7b991d0e522f8ce92f7b66ae8ac00e61d1269dd10a" - }, - "./node_modules/@types/node/trace_events.d.ts": { - "version": "978aecd2e6bc2ac094e9a35eda98ff8586713857b3655e7c98ca5ed8f7d50662", - "signature": "978aecd2e6bc2ac094e9a35eda98ff8586713857b3655e7c98ca5ed8f7d50662" - }, - "./node_modules/@types/node/tty.d.ts": { - "version": "a185b8e0d7a4ae078a79339d63e98177813aac39256f69f788eaf5c360aa756f", - "signature": "a185b8e0d7a4ae078a79339d63e98177813aac39256f69f788eaf5c360aa756f" - }, - "./node_modules/@types/node/url.d.ts": { - "version": "c6b71a0585467900820167370738cfc256e9635471725a7ba1d24a3a262984e5", - "signature": "c6b71a0585467900820167370738cfc256e9635471725a7ba1d24a3a262984e5" - }, - "./node_modules/@types/node/util.d.ts": { - "version": "8bf10278b5c28698a73f800fde911bcc33d405a15f7bddab1c4ade637b69a822", - "signature": "8bf10278b5c28698a73f800fde911bcc33d405a15f7bddab1c4ade637b69a822" - }, - "./node_modules/@types/node/v8.d.ts": { - "version": "e880a08fbb0d9ee2f733f9183f4d1bdb75bc9e0e64060a8a1fc30540791fcded", - "signature": "e880a08fbb0d9ee2f733f9183f4d1bdb75bc9e0e64060a8a1fc30540791fcded" - }, - "./node_modules/@types/node/vm.d.ts": { - "version": "3cb4cbade80dde6e045b01d34582625ea45fc2f1080085ef671cefbc9c75625d", - "signature": "3cb4cbade80dde6e045b01d34582625ea45fc2f1080085ef671cefbc9c75625d" - }, - "./node_modules/@types/node/worker_threads.d.ts": { - "version": "69fc4a10650eff3416ba5c2f7ce71744734928a7135ebe5a63c61d2d03ca3ec3", - "signature": "69fc4a10650eff3416ba5c2f7ce71744734928a7135ebe5a63c61d2d03ca3ec3" - }, - "./node_modules/@types/node/zlib.d.ts": { - "version": "13918848c4e07d1094164112bd7fd151d61cbb949ceef340a2a4595cd609afb6", - "signature": "13918848c4e07d1094164112bd7fd151d61cbb949ceef340a2a4595cd609afb6" - }, - "./node_modules/@types/node/ts3.6/base.d.ts": { - "version": "9af6a9de7bd818e68c4236f20027ff4b19387c2269a6952945d1a716c177cc4d", - "signature": "9af6a9de7bd818e68c4236f20027ff4b19387c2269a6952945d1a716c177cc4d" - }, - "./node_modules/@types/node/assert.d.ts": { - "version": "3497438242251378cf232f36a7fabac70e7bd8229d68dac8955534e63ffc8ff4", - "signature": "3497438242251378cf232f36a7fabac70e7bd8229d68dac8955534e63ffc8ff4" - }, - "./node_modules/@types/node/base.d.ts": { - "version": "e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b", - "signature": "e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b" - }, - "./node_modules/@types/node/index.d.ts": { - "version": "e033253e77794e1595f01372623b631d986e04dcb47d08948301fd2652886a83", - "signature": "e033253e77794e1595f01372623b631d986e04dcb47d08948301fd2652886a83" - }, - "./node_modules/@loopback/context/dist/binding-key.d.ts": { - "version": "2cdd8767cb7da4b62b608ad5db3a92966dd243fbf5c4ff261f65765dfb63342e", - "signature": "2cdd8767cb7da4b62b608ad5db3a92966dd243fbf5c4ff261f65765dfb63342e" - }, - "./node_modules/@types/debug/index.d.ts": { - "version": "3cf5f191d75bbe7c92f921e5ae12004ac672266e2be2ece69f40b1d6b1b678f9", - "signature": "3cf5f191d75bbe7c92f921e5ae12004ac672266e2be2ece69f40b1d6b1b678f9" - }, - "./node_modules/@loopback/context/dist/value-promise.d.ts": { - "version": "38c2ab7c45a3323221a064c95dba3bb0b2ad1a9264de356d8125e482cb7e1490", - "signature": "38c2ab7c45a3323221a064c95dba3bb0b2ad1a9264de356d8125e482cb7e1490" - }, - "./node_modules/@loopback/context/dist/binding-filter.d.ts": { - "version": "d20e447f0d157575127718d7b0e3be7b26237e782736b05950f7507274ee3c77", - "signature": "d20e447f0d157575127718d7b0e3be7b26237e782736b05950f7507274ee3c77" - }, - "./node_modules/@loopback/context/dist/binding-sorter.d.ts": { - "version": "9bfcab0ec65c815b8a94810511cba1cebb17827e7da21345baf1ee3ab6f64b88", - "signature": "9bfcab0ec65c815b8a94810511cba1cebb17827e7da21345baf1ee3ab6f64b88" - }, - "./node_modules/@loopback/context/dist/json-types.d.ts": { - "version": "b2a4b38f665e85ead49386ec386ddd61c15f1a0bac4fd56e2f6b00e2a586fbde", - "signature": "b2a4b38f665e85ead49386ec386ddd61c15f1a0bac4fd56e2f6b00e2a586fbde" - }, - "./node_modules/@loopback/context/dist/inject.d.ts": { - "version": "3bdd225121b0c595c3b2869a407bae204d69e6073cc1bb02a272ba09e23f739b", - "signature": "3bdd225121b0c595c3b2869a407bae204d69e6073cc1bb02a272ba09e23f739b" - }, - "./node_modules/@loopback/context/dist/resolution-session.d.ts": { - "version": "0d6ca6103e54da86beae46f92232fbfdd2aaf71f448ec70a9dfe57020f2f4698", - "signature": "0d6ca6103e54da86beae46f92232fbfdd2aaf71f448ec70a9dfe57020f2f4698" - }, - "./node_modules/@loopback/context/dist/binding-config.d.ts": { - "version": "bab66d53a6740ceb64f736b1f7fe8f3b6bebc35226da79b057f0d2634b44422d", - "signature": "bab66d53a6740ceb64f736b1f7fe8f3b6bebc35226da79b057f0d2634b44422d" - }, - "./node_modules/@loopback/context/dist/context-event.d.ts": { - "version": "c5585372ebc8327964a7eb4b397ad45d06c26a12386976f7eb3bdbeae7721ad9", - "signature": "c5585372ebc8327964a7eb4b397ad45d06c26a12386976f7eb3bdbeae7721ad9" - }, - "./node_modules/@loopback/context/dist/context-observer.d.ts": { - "version": "ffd36069db6aedf1b99239714e69dec4355bcf95a6b34efe47e8ebe3567bf3fe", - "signature": "ffd36069db6aedf1b99239714e69dec4355bcf95a6b34efe47e8ebe3567bf3fe" - }, - "./node_modules/@loopback/context/dist/context-subscription.d.ts": { - "version": "66df2e0ca83a64c8cb776fb38e04fbbe69aec9430bd73797152d8092fc70cffa", - "signature": "66df2e0ca83a64c8cb776fb38e04fbbe69aec9430bd73797152d8092fc70cffa" - }, - "./node_modules/@loopback/context/dist/context-tag-indexer.d.ts": { - "version": "6eecd085adb47e82920a6639910b6ed251fecb87766b2680dce4b2f0d8b565e8", - "signature": "6eecd085adb47e82920a6639910b6ed251fecb87766b2680dce4b2f0d8b565e8" - }, - "./node_modules/@loopback/context/dist/context-view.d.ts": { - "version": "3181f22023be990b03c19f79ab3439ac6dd09807d893b379eb3e78da1454e78a", - "signature": "3181f22023be990b03c19f79ab3439ac6dd09807d893b379eb3e78da1454e78a" - }, - "./node_modules/@loopback/context/dist/context.d.ts": { - "version": "e9d811f0f99fa6e091a37ed917f6ed5270d740c098b08ccb7a60e01389ba4eca", - "signature": "e9d811f0f99fa6e091a37ed917f6ed5270d740c098b08ccb7a60e01389ba4eca" - }, - "./node_modules/@loopback/context/dist/provider.d.ts": { - "version": "a969127a1cbfdf769c5c8963388a8cf50433d9128e4df5e0c39cb6b67d53f13f", - "signature": "a969127a1cbfdf769c5c8963388a8cf50433d9128e4df5e0c39cb6b67d53f13f" - }, - "./node_modules/@loopback/context/dist/binding.d.ts": { - "version": "b50bc2d2a5f716fb8dbb4c61a829b043906866609c26edd6835a665ab69147a6", - "signature": "b50bc2d2a5f716fb8dbb4c61a829b043906866609c26edd6835a665ab69147a6" - }, - "./node_modules/@loopback/context/dist/binding-inspector.d.ts": { - "version": "14cf86989c54a31a62fe29ade886f6333c22c11ec6dee65041bdb42dc3bc1afe", - "signature": "14cf86989c54a31a62fe29ade886f6333c22c11ec6dee65041bdb42dc3bc1afe" - }, - "./node_modules/@loopback/context/dist/binding-decorator.d.ts": { - "version": "e688f047b7c251f316840536f5f8f251d39451a604291e3b49c9fd764d9242bc", - "signature": "e688f047b7c251f316840536f5f8f251d39451a604291e3b49c9fd764d9242bc" - }, - "./node_modules/@loopback/context/dist/inject-config.d.ts": { - "version": "18b5b28c2da1b1cfa31f15b24162f186eee81539aafbd57e260b7d633b307ed0", - "signature": "18b5b28c2da1b1cfa31f15b24162f186eee81539aafbd57e260b7d633b307ed0" - }, - "./node_modules/@loopback/context/dist/invocation.d.ts": { - "version": "a18ace638551c62a955aa36cc0fa29e2b30fae560f16ca9800ae735799e6f5f1", - "signature": "a18ace638551c62a955aa36cc0fa29e2b30fae560f16ca9800ae735799e6f5f1" - }, - "./node_modules/@loopback/context/dist/interception-proxy.d.ts": { - "version": "6f21e52680feacb8a31f5c579f5990da5dd9e40af737c8e5d129bbe5ffc6f633", - "signature": "6f21e52680feacb8a31f5c579f5990da5dd9e40af737c8e5d129bbe5ffc6f633" - }, - "./node_modules/@loopback/context/dist/interceptor-chain.d.ts": { - "version": "d02c788cb1f374a34f7f5a88d3090658e001df079f644cac8a0111ae9ecdb228", - "signature": "d02c788cb1f374a34f7f5a88d3090658e001df079f644cac8a0111ae9ecdb228" - }, - "./node_modules/@loopback/context/dist/interceptor.d.ts": { - "version": "4494e2a1849cdfa022ef0037f2728ce0a53d0ea9b3bde17a1251c5c0aad6d1b4", - "signature": "4494e2a1849cdfa022ef0037f2728ce0a53d0ea9b3bde17a1251c5c0aad6d1b4" - }, - "./node_modules/@loopback/context/dist/keys.d.ts": { - "version": "6d5dbd4e92f05c38eba3d60eb7806175ec4d0f645855d55f27dceff8d6165c22", - "signature": "6d5dbd4e92f05c38eba3d60eb7806175ec4d0f645855d55f27dceff8d6165c22" - }, - "./node_modules/@loopback/context/dist/resolver.d.ts": { - "version": "df25ce355ea5207ea528e454ef1d53a649ffae6fcf0dd1d70e4e3188383a080d", - "signature": "df25ce355ea5207ea528e454ef1d53a649ffae6fcf0dd1d70e4e3188383a080d" - }, - "./node_modules/hyperid/index.d.ts": { - "version": "54cffd51511f4abe0a34c3eecf40059df4fe0716d51f30561c8ff2a06c7c8308", - "signature": "54cffd51511f4abe0a34c3eecf40059df4fe0716d51f30561c8ff2a06c7c8308" - }, - "./node_modules/@loopback/context/dist/unique-id.d.ts": { - "version": "6465d857aee892bdd7e95fd8bab907ba29b830819346c033e42f7c70731aeaa0", - "signature": "6465d857aee892bdd7e95fd8bab907ba29b830819346c033e42f7c70731aeaa0" - }, - "./node_modules/@loopback/context/dist/index.d.ts": { - "version": "2b62eb1488abd2d34a1fc492ace6f97ae102658246d289574d7e64c344f63c4a", - "signature": "2b62eb1488abd2d34a1fc492ace6f97ae102658246d289574d7e64c344f63c4a" - }, - "./node_modules/@loopback/core/dist/lifecycle.d.ts": { - "version": "a36a6bdc1eed703f4b095839ea028eb87b49c860f45fc30a0a070bad0972f56d", - "signature": "a36a6bdc1eed703f4b095839ea028eb87b49c860f45fc30a0a070bad0972f56d" - }, - "./node_modules/@loopback/core/dist/server.d.ts": { - "version": "60b225c508e9a3014de670077ee9e6b5b0e7aece91fdb15f27823b5313de1326", - "signature": "60b225c508e9a3014de670077ee9e6b5b0e7aece91fdb15f27823b5313de1326" - }, - "./node_modules/@loopback/core/dist/component.d.ts": { - "version": "68ef9846f5faedffe2491b06c5d0138d94d7d6b603694cbe0d1487d1e5f2498d", - "signature": "68ef9846f5faedffe2491b06c5d0138d94d7d6b603694cbe0d1487d1e5f2498d" - }, - "./node_modules/@loopback/core/dist/service.d.ts": { - "version": "da7e4fcd4292841c864edf96b95d9f4f2062f8693cb7f3a6507f633c8ede4f6b", - "signature": "da7e4fcd4292841c864edf96b95d9f4f2062f8693cb7f3a6507f633c8ede4f6b" - }, - "./node_modules/@loopback/core/dist/application.d.ts": { - "version": "e031f4b69a28465bae39a698d93aeaaf956e760e450cdf6f1cb5277168297c6a", - "signature": "e031f4b69a28465bae39a698d93aeaaf956e760e450cdf6f1cb5277168297c6a" - }, - "./node_modules/@loopback/core/dist/extension-point.d.ts": { - "version": "af02c2124da8975390ac3f325a316a973e8b0c8091297b0696d78c66ef7e2dd1", - "signature": "af02c2124da8975390ac3f325a316a973e8b0c8091297b0696d78c66ef7e2dd1" - }, - "./node_modules/@loopback/core/dist/lifecycle-registry.d.ts": { - "version": "e5f017ded6060328c92680b93cc5df0b1733ce0029e42c7f52165fee00f27d5c", - "signature": "e5f017ded6060328c92680b93cc5df0b1733ce0029e42c7f52165fee00f27d5c" - }, - "./node_modules/@loopback/core/dist/keys.d.ts": { - "version": "3a41cccdcbb7bf9ea6a98decc29438f857e362f0b83c84c091414221e20542ba", - "signature": "3a41cccdcbb7bf9ea6a98decc29438f857e362f0b83c84c091414221e20542ba" - }, - "./node_modules/@loopback/core/dist/mixin-target.d.ts": { - "version": "8f9d1fe49618e199f19bcc9e7a807e4fb735413027709f49284e3a1ddad36b3e", - "signature": "8f9d1fe49618e199f19bcc9e7a807e4fb735413027709f49284e3a1ddad36b3e" - }, - "./node_modules/@loopback/core/dist/index.d.ts": { - "version": "df99a4d3930a061299dfb2a36a772dbe4798d22c61fcc9f1c72974ff54b11cfd", - "signature": "df99a4d3930a061299dfb2a36a772dbe4798d22c61fcc9f1c72974ff54b11cfd" - }, - "./node_modules/@loopback/boot/dist/types.d.ts": { - "version": "c1ce6af6178dc384dbff46851cfea9e9a861aee006c559c1ecb12b59da5b95d2", - "signature": "c1ce6af6178dc384dbff46851cfea9e9a861aee006c559c1ecb12b59da5b95d2" - }, - "./node_modules/@loopback/boot/dist/booters/application-metadata.booter.d.ts": { - "version": "eb8fefedf7e1cd1ccbfe04978db9ea3c8c2e81ea1036dc9a6072c8b56acd2273", - "signature": "eb8fefedf7e1cd1ccbfe04978db9ea3c8c2e81ea1036dc9a6072c8b56acd2273" - }, - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts": { - "version": "f085ac9e60d01a9a9be9ca818e1c8356b48b1423bd8f294595a8f5eed566195f", - "signature": "f085ac9e60d01a9a9be9ca818e1c8356b48b1423bd8f294595a8f5eed566195f" - }, - "./node_modules/@loopback/boot/dist/booters/booter-utils.d.ts": { - "version": "0566783da6d645147266f41981430d6cd1b9de3f0c6fdbc22527bdb88cb3ddd8", - "signature": "0566783da6d645147266f41981430d6cd1b9de3f0c6fdbc22527bdb88cb3ddd8" - }, - "./node_modules/@loopback/boot/dist/booters/component-application.booter.d.ts": { - "version": "1d953ca8258677ec6b0f7ebefde2971241b7178aa0131fdd71959a8ce1c7cbef", - "signature": "1d953ca8258677ec6b0f7ebefde2971241b7178aa0131fdd71959a8ce1c7cbef" - }, - "./node_modules/@loopback/boot/dist/booters/controller.booter.d.ts": { - "version": "5971478c2deb928de1677bf7aacf888293573df9ee9c99c1c70da990a206c831", - "signature": "5971478c2deb928de1677bf7aacf888293573df9ee9c99c1c70da990a206c831" - }, - "./node_modules/@types/json-schema/index.d.ts": { - "version": "3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27", - "signature": "3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27" - }, - "./node_modules/@loopback/repository/dist/common-types.d.ts": { - "version": "d4ce6d8af7ff7e379a310b9c79333c91b955c42fe2b1e5778a858b54a6229a57", - "signature": "d4ce6d8af7ff7e379a310b9c79333c91b955c42fe2b1e5778a858b54a6229a57" - }, - "./node_modules/@loopback/repository/dist/type-resolver.d.ts": { - "version": "c09b70da2d92921aaf77c3225914d4a57d7cea09f99d50f88434b373da2d6d7f", - "signature": "c09b70da2d92921aaf77c3225914d4a57d7cea09f99d50f88434b373da2d6d7f" - }, - "./node_modules/@loopback/repository/dist/types/type.d.ts": { - "version": "169cad272c3e1d8ef5fd38368fb84e5686f1e14ab28144d697bd80d1e12b2961", - "signature": "169cad272c3e1d8ef5fd38368fb84e5686f1e14ab28144d697bd80d1e12b2961" - }, - "./node_modules/@loopback/repository/dist/types/any.d.ts": { - "version": "3a53038528b04f1e43da2e010f7e3282aa54c04b8b0346a24d151568a215f142", - "signature": "3a53038528b04f1e43da2e010f7e3282aa54c04b8b0346a24d151568a215f142" - }, - "./node_modules/@loopback/repository/dist/types/array.d.ts": { - "version": "9b4da6370253129c8796777c2ef8c216d9991bf83a0c191404d0f489f4a2a333", - "signature": "9b4da6370253129c8796777c2ef8c216d9991bf83a0c191404d0f489f4a2a333" - }, - "./node_modules/@loopback/repository/dist/types/boolean.d.ts": { - "version": "068077646daf5a6486901cfcb2c9d3a0a501bb007e64988e312de54d75cc834e", - "signature": "068077646daf5a6486901cfcb2c9d3a0a501bb007e64988e312de54d75cc834e" - }, - "./node_modules/@loopback/repository/dist/types/buffer.d.ts": { - "version": "1db943085fd216b197296c31ebf88a5241da3bcbc2f64014a8476671e69efe73", - "signature": "1db943085fd216b197296c31ebf88a5241da3bcbc2f64014a8476671e69efe73" - }, - "./node_modules/@loopback/repository/dist/types/date.d.ts": { - "version": "723fabb2b827b604f21516715bc348a60b39c700f4effeab9dceaebf812f716b", - "signature": "723fabb2b827b604f21516715bc348a60b39c700f4effeab9dceaebf812f716b" - }, - "./node_modules/@loopback/repository/dist/types/object.d.ts": { - "version": "810bc66686948bcb4694f1ff0f82bbd8e9c9ce8803b46ef3d25976e1c928cbbd", - "signature": "810bc66686948bcb4694f1ff0f82bbd8e9c9ce8803b46ef3d25976e1c928cbbd" - }, - "./node_modules/@loopback/repository/dist/types/model.d.ts": { - "version": "468cb0090e17146543a010b0fbc0e649e898ca583d6c7ae798c4c10c1693ce01", - "signature": "468cb0090e17146543a010b0fbc0e649e898ca583d6c7ae798c4c10c1693ce01" - }, - "./node_modules/@loopback/repository/dist/types/null.d.ts": { - "version": "9871aec86fc24c40c2f3c0f5f11bae0f6de45dfafe4de2b1f4c39c1efbddd031", - "signature": "9871aec86fc24c40c2f3c0f5f11bae0f6de45dfafe4de2b1f4c39c1efbddd031" - }, - "./node_modules/@loopback/repository/dist/types/number.d.ts": { - "version": "ff623fd9c7a7da618052c7719401a14d173462400cc70b0430daaa8975401ef1", - "signature": "ff623fd9c7a7da618052c7719401a14d173462400cc70b0430daaa8975401ef1" - }, - "./node_modules/@loopback/repository/dist/types/string.d.ts": { - "version": "29971b14440eaed291a161697081d42f14f61634c8144797f2493a636377ba29", - "signature": "29971b14440eaed291a161697081d42f14f61634c8144797f2493a636377ba29" - }, - "./node_modules/@loopback/repository/dist/types/union.d.ts": { - "version": "b8655761533aeae1a476197087350441352cf6658ffcb7f00fe6b663cacfc576", - "signature": "b8655761533aeae1a476197087350441352cf6658ffcb7f00fe6b663cacfc576" - }, - "./node_modules/@loopback/repository/dist/types/index.d.ts": { - "version": "8aae0a6c071f358f267ab785b5982f06cf27236d6a53f868b29223824b11f4dc", - "signature": "8aae0a6c071f358f267ab785b5982f06cf27236d6a53f868b29223824b11f4dc" - }, - "./node_modules/@loopback/repository/dist/model.d.ts": { - "version": "8aa7c32d5ee4bf1a39cae4881570f37060a0f5d958bb2dcf99830c5b628240dd", - "signature": "8aa7c32d5ee4bf1a39cae4881570f37060a0f5d958bb2dcf99830c5b628240dd" - }, - "./node_modules/@loopback/repository/dist/connectors/connector.d.ts": { - "version": "30250c910bedba94486ce095fafd31d156ba597281e0403fda08402ea6f952d1", - "signature": "30250c910bedba94486ce095fafd31d156ba597281e0403fda08402ea6f952d1" - }, - "./node_modules/@loopback/repository/dist/query.d.ts": { - "version": "3145fd8786745862ebdc18c8a82041681709d2328528baf0c4804f3d1cd2461c", - "signature": "3145fd8786745862ebdc18c8a82041681709d2328528baf0c4804f3d1cd2461c" - }, - "./node_modules/@loopback/repository/dist/connectors/crud.connector.d.ts": { - "version": "c8295f257f12baceebb018a1ef0354606daa2846162c239b9084f00a87953d1b", - "signature": "c8295f257f12baceebb018a1ef0354606daa2846162c239b9084f00a87953d1b" - }, - "./node_modules/@loopback/repository/dist/connectors/kv.connector.d.ts": { - "version": "3574557319db33ffa4eda11d0e5c5e55c8dd357ea72dd465a4a03f7794ddecc7", - "signature": "3574557319db33ffa4eda11d0e5c5e55c8dd357ea72dd465a4a03f7794ddecc7" - }, - "./node_modules/@loopback/repository/dist/connectors/index.d.ts": { - "version": "a6c52a303cc0bd2793bebede655f1d80c724cfe646313c4de423b3c8ea75c0fe", - "signature": "a6c52a303cc0bd2793bebede655f1d80c724cfe646313c4de423b3c8ea75c0fe" - }, - "./node_modules/@loopback/repository/dist/datasource.d.ts": { - "version": "b413dcad2e940b54d6f7eaaefb11a31b97039f8595e49ec01e222f041f159ca9", - "signature": "b413dcad2e940b54d6f7eaaefb11a31b97039f8595e49ec01e222f041f159ca9" - }, - "./node_modules/@loopback/repository/dist/decorators/metadata.d.ts": { - "version": "fbe4bac5a4c7ff805f22fd4a86bc1ca21e392ee964ed3473009a389e214c85e0", - "signature": "fbe4bac5a4c7ff805f22fd4a86bc1ca21e392ee964ed3473009a389e214c85e0" - }, - "./node_modules/@loopback/repository/dist/decorators/model.decorator.d.ts": { - "version": "27b483104e190e059d77e81a8ef9caf04e2d01e4c777f7513106f1cb6f2570c3", - "signature": "27b483104e190e059d77e81a8ef9caf04e2d01e4c777f7513106f1cb6f2570c3" - }, - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts": { - "version": "666732aa7d2ff395866d0ef08757554e4f0775254a874638e6b79e71801cf37d", - "signature": "666732aa7d2ff395866d0ef08757554e4f0775254a874638e6b79e71801cf37d" - }, - "./node_modules/@loopback/repository/dist/transaction.d.ts": { - "version": "3b9d46ae58e22bbdf61d7262812c43dfaa28c58c048b1084d57cddf00a060303", - "signature": "3b9d46ae58e22bbdf61d7262812c43dfaa28c58c048b1084d57cddf00a060303" - }, - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts": { - "version": "3cbd30a4d0c94155fa65b4684f5d8ecd828d327a2dce1acb005f80eca0cc2aa2", - "signature": "3cbd30a4d0c94155fa65b4684f5d8ecd828d327a2dce1acb005f80eca0cc2aa2" - }, - "./node_modules/@loopback/repository/dist/repositories/kv.repository.d.ts": { - "version": "7452a0f5c987200e4a305bd46ce9fff70a496ca061b37de5e1f1b0df8d5ffec8", - "signature": "7452a0f5c987200e4a305bd46ce9fff70a496ca061b37de5e1f1b0df8d5ffec8" - }, - "./node_modules/loopback-datasource-juggler/types/common.d.ts": { - "version": "abd151ba4fd07f03c747b8d938f6940969380ba0bfdfa6231929279b8808afd6", - "signature": "abd151ba4fd07f03c747b8d938f6940969380ba0bfdfa6231929279b8808afd6" - }, - "./node_modules/loopback-datasource-juggler/types/connector.d.ts": { - "version": "48885b97437ae6d643050da9e585fd0aa68ef839c6112eb112becd0307873d5e", - "signature": "48885b97437ae6d643050da9e585fd0aa68ef839c6112eb112becd0307873d5e" - }, - "./node_modules/loopback-datasource-juggler/types/transaction-mixin.d.ts": { - "version": "4e507449171a9c33c281bab99a4ccd400740a94301f53a502a3d69c774ce1eba", - "signature": "4e507449171a9c33c281bab99a4ccd400740a94301f53a502a3d69c774ce1eba" - }, - "./node_modules/loopback-datasource-juggler/types/datasource.d.ts": { - "version": "5923d1de7b2b3d6d47baef3d03108d419b25f4740de00a9410596c816520442e", - "signature": "5923d1de7b2b3d6d47baef3d03108d419b25f4740de00a9410596c816520442e" - }, - "./node_modules/loopback-datasource-juggler/types/observer-mixin.d.ts": { - "version": "ade0176242cce0023084e366604def3c8fea45b429704dfb7405714b27f12337", - "signature": "ade0176242cce0023084e366604def3c8fea45b429704dfb7405714b27f12337" - }, - "./node_modules/loopback-datasource-juggler/types/model.d.ts": { - "version": "ed0903cd1986440659a0d5ff140fb477384fb717eecf917c01572a4c25aa00cc", - "signature": "ed0903cd1986440659a0d5ff140fb477384fb717eecf917c01572a4c25aa00cc" - }, - "./node_modules/loopback-datasource-juggler/types/query.d.ts": { - "version": "654d60c1166c724dc0a0ed833b8ef4c0652d6eafd29aabfd8dc7128faa239179", - "signature": "654d60c1166c724dc0a0ed833b8ef4c0652d6eafd29aabfd8dc7128faa239179" - }, - "./node_modules/loopback-datasource-juggler/types/persisted-model.d.ts": { - "version": "44fd25c6f7ea40e5d51785a270428d5d48c1678085cfa110ff6e73ef4e51edf0", - "signature": "44fd25c6f7ea40e5d51785a270428d5d48c1678085cfa110ff6e73ef4e51edf0" - }, - "./node_modules/loopback-datasource-juggler/types/relation.d.ts": { - "version": "b9930cf52c9395839d5a1c9bac2450229913d20fc1b8c9b6fc7ad723209e97a2", - "signature": "b9930cf52c9395839d5a1c9bac2450229913d20fc1b8c9b6fc7ad723209e97a2" - }, - "./node_modules/loopback-datasource-juggler/types/kv-model.d.ts": { - "version": "ccaf5593bb1fabb7fa155e77f181b08ceaa68fac36145962ac80b6eb5341a734", - "signature": "ccaf5593bb1fabb7fa155e77f181b08ceaa68fac36145962ac80b6eb5341a734" - }, - "./node_modules/loopback-datasource-juggler/types/scope.d.ts": { - "version": "f855491e4d96d8d555e7de757e7205550594f2e874fd3520d6abb104a5009c67", - "signature": "f855491e4d96d8d555e7de757e7205550594f2e874fd3520d6abb104a5009c67" - }, - "./node_modules/loopback-datasource-juggler/types/relation-mixin.d.ts": { - "version": "655cc5cb031bed168c0b4f2133220792c4e7fecd53f19878b79dd3809d9f60f8", - "signature": "655cc5cb031bed168c0b4f2133220792c4e7fecd53f19878b79dd3809d9f60f8" - }, - "./node_modules/loopback-datasource-juggler/types/validation-mixin.d.ts": { - "version": "214bb077f096d70bd606bac65f8da14c31845d4e60b0c4ede43fc1a7eb40ef34", - "signature": "214bb077f096d70bd606bac65f8da14c31845d4e60b0c4ede43fc1a7eb40ef34" - }, - "./node_modules/loopback-datasource-juggler/types/inclusion-mixin.d.ts": { - "version": "e4194a9a3622dd16bb81dc95d111ebdbeecf0cb77825fcf633ee0ee7dcf4c80b", - "signature": "e4194a9a3622dd16bb81dc95d111ebdbeecf0cb77825fcf633ee0ee7dcf4c80b" - }, - "./node_modules/loopback-datasource-juggler/index.d.ts": { - "version": "d3ca3b539d4ab017c4f898029ef983fa9059eebdc7e09aa49d58c423e3544ccd", - "signature": "d3ca3b539d4ab017c4f898029ef983fa9059eebdc7e09aa49d58c423e3544ccd" - }, - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.decorator.d.ts": { - "version": "abe19578bf9971d170356bd501234dfd67471e90243354a5d5ed8d99be400c50", - "signature": "abe19578bf9971d170356bd501234dfd67471e90243354a5d5ed8d99be400c50" - }, - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.repository.d.ts": { - "version": "1bf0235fa77e1f8d676c61f3ef5f1a24e181ef2a60f1986cb9b50c9e9edf3949", - "signature": "1bf0235fa77e1f8d676c61f3ef5f1a24e181ef2a60f1986cb9b50c9e9edf3949" - }, - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to-accessor.d.ts": { - "version": "afff0663ddd0a561d37efa0158ac71f001e69b53b007797f6e2fae7c9eafa86f", - "signature": "afff0663ddd0a561d37efa0158ac71f001e69b53b007797f6e2fae7c9eafa86f" - }, - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.inclusion-resolver.d.ts": { - "version": "e1acebdcb12583125488e9174d1ddeca6742217796f4fadda1295ef03c648fa3", - "signature": "e1acebdcb12583125488e9174d1ddeca6742217796f4fadda1295ef03c648fa3" - }, - "./node_modules/@loopback/repository/dist/relations/belongs-to/index.d.ts": { - "version": "e29859bdf59e74834fe11af0b4d9cf22166d2d62c7e198ed7ca3846901929ac0", - "signature": "e29859bdf59e74834fe11af0b4d9cf22166d2d62c7e198ed7ca3846901929ac0" - }, - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.repository.d.ts": { - "version": "ad4aad2a2257ad64e84525935536a3901811e4d8fd4fa5acd13876ce04d80d92", - "signature": "ad4aad2a2257ad64e84525935536a3901811e4d8fd4fa5acd13876ce04d80d92" - }, - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-repository.factory.d.ts": { - "version": "d6820fb623367ac6465c765f9c628b32a116cc06a5562e05713b6cca50751ea0", - "signature": "d6820fb623367ac6465c765f9c628b32a116cc06a5562e05713b6cca50751ea0" - }, - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-through.repository.d.ts": { - "version": "d7973a53a78fab2ef474aa569906519ae90354abb87cc3a1367a4de341bcbac8", - "signature": "d7973a53a78fab2ef474aa569906519ae90354abb87cc3a1367a4de341bcbac8" - }, - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-through-repository.factory.d.ts": { - "version": "1fa09a44890cc387cebfb93c8f3bff5e5e26b0c4a7e77e6b0e58ec5d49ec4f46", - "signature": "1fa09a44890cc387cebfb93c8f3bff5e5e26b0c4a7e77e6b0e58ec5d49ec4f46" - }, - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.decorator.d.ts": { - "version": "dc9a0af0ec2ad48dd711073e58e28e141c205846a98279b0514cc61ff18365d9", - "signature": "dc9a0af0ec2ad48dd711073e58e28e141c205846a98279b0514cc61ff18365d9" - }, - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.inclusion-resolver.d.ts": { - "version": "3a184f1603aeb89e189ede7570af2831efb05a8bd062487f029e011352bd0e69", - "signature": "3a184f1603aeb89e189ede7570af2831efb05a8bd062487f029e011352bd0e69" - }, - "./node_modules/@loopback/repository/dist/relations/has-many/index.d.ts": { - "version": "cc518c57fcb643dd7fdd3a1851c36c383e2d6c286efe5db720aee9ed997516c7", - "signature": "cc518c57fcb643dd7fdd3a1851c36c383e2d6c286efe5db720aee9ed997516c7" - }, - "./node_modules/@loopback/repository/dist/relations/has-one/has-one.decorator.d.ts": { - "version": "a751294aeb15a16bd359163f85f4c0d124b78039ce9c14148006638b4c8d2169", - "signature": "a751294aeb15a16bd359163f85f4c0d124b78039ce9c14148006638b4c8d2169" - }, - "./node_modules/@loopback/repository/dist/relations/has-one/has-one.repository.d.ts": { - "version": "fee2dd64771a290e029e01502d026a3e4216dff17db2858c83b2d0d9189cb8df", - "signature": "fee2dd64771a290e029e01502d026a3e4216dff17db2858c83b2d0d9189cb8df" - }, - "./node_modules/@loopback/repository/dist/relations/has-one/has-one-repository.factory.d.ts": { - "version": "4aff7dc882f6953a9a7ec9f3df23085bafb3b7f03bf32f54cfa0f7c227a70cfd", - "signature": "4aff7dc882f6953a9a7ec9f3df23085bafb3b7f03bf32f54cfa0f7c227a70cfd" - }, - "./node_modules/@loopback/repository/dist/relations/has-one/index.d.ts": { - "version": "814fb6ff54a7387b12bcb469c9286faaa8b99917efb6d242b97401961a8869be", - "signature": "814fb6ff54a7387b12bcb469c9286faaa8b99917efb6d242b97401961a8869be" - }, - "./node_modules/@loopback/repository/dist/relations/relation.decorator.d.ts": { - "version": "57ac7961752d158357ac68fc2a967adbc19e770d9c597fc28cba33fcab34fa3f", - "signature": "57ac7961752d158357ac68fc2a967adbc19e770d9c597fc28cba33fcab34fa3f" - }, - "./node_modules/@loopback/repository/dist/relations/relation.helpers.d.ts": { - "version": "27cae6c7939015c805e344f69e68d5ab349793f8c1d6478141b1c0d0a361a345", - "signature": "27cae6c7939015c805e344f69e68d5ab349793f8c1d6478141b1c0d0a361a345" - }, - "./node_modules/@loopback/repository/dist/relations/index.d.ts": { - "version": "8d2f637314adc03c9e690f389c4a2d55fa3da6a9fb6048cee48d9ded86eea6e9", - "signature": "8d2f637314adc03c9e690f389c4a2d55fa3da6a9fb6048cee48d9ded86eea6e9" - }, - "./node_modules/@loopback/repository/dist/repositories/legacy-juggler-bridge.d.ts": { - "version": "c857b39cf5a44917a28c180c589bf4cd8840770b95b072f6031700f69dd03783", - "signature": "c857b39cf5a44917a28c180c589bf4cd8840770b95b072f6031700f69dd03783" - }, - "./node_modules/@loopback/repository/dist/repositories/kv.repository.bridge.d.ts": { - "version": "79d7918aa9a848397c60688df19a5a9912ed54fd56a9ecd9e20e03a8461385fd", - "signature": "79d7918aa9a848397c60688df19a5a9912ed54fd56a9ecd9e20e03a8461385fd" - }, - "./node_modules/@loopback/repository/dist/repositories/constraint-utils.d.ts": { - "version": "6c569dd3aba6e8e9e758295e445c83f2bc463f32042e7c769b881827a04c5430", - "signature": "6c569dd3aba6e8e9e758295e445c83f2bc463f32042e7c769b881827a04c5430" - }, - "./node_modules/@loopback/repository/dist/repositories/index.d.ts": { - "version": "689b770829e8e6b04aef4c48c3bcc5fbf8303f15629831a50d918cc6dd8fde05", - "signature": "689b770829e8e6b04aef4c48c3bcc5fbf8303f15629831a50d918cc6dd8fde05" - }, - "./node_modules/@loopback/repository/dist/decorators/repository.decorator.d.ts": { - "version": "4b342a0f07017e98d4b3e552f24c84d8ad148b92d6ed5a1f8c6b4eb0a6aadc64", - "signature": "4b342a0f07017e98d4b3e552f24c84d8ad148b92d6ed5a1f8c6b4eb0a6aadc64" - }, - "./node_modules/@loopback/repository/dist/decorators/index.d.ts": { - "version": "2929e89a53a04a1144f026d92abe46b7fad5bbb8a61d10e8fd322a05bb2f0c8b", - "signature": "2929e89a53a04a1144f026d92abe46b7fad5bbb8a61d10e8fd322a05bb2f0c8b" - }, - "./node_modules/@loopback/repository/dist/define-model-class.d.ts": { - "version": "a926e80631b55e0e760c0f4f6092088311159fbeb4cc9ea3fd6f19bde00a01a4", - "signature": "a926e80631b55e0e760c0f4f6092088311159fbeb4cc9ea3fd6f19bde00a01a4" - }, - "./node_modules/@loopback/repository/dist/define-repository-class.d.ts": { - "version": "a098efcaf2fd54d949fd5b2cd9c5974b0b1b342e554453efe52a94c2e30f833a", - "signature": "a098efcaf2fd54d949fd5b2cd9c5974b0b1b342e554453efe52a94c2e30f833a" - }, - "./node_modules/@loopback/repository/dist/errors/entity-not-found.error.d.ts": { - "version": "4d8b6f4bc85f5795e04881e2eadf4af9413dc1fcea6661915a03c7dde929ff36", - "signature": "4d8b6f4bc85f5795e04881e2eadf4af9413dc1fcea6661915a03c7dde929ff36" - }, - "./node_modules/@loopback/repository/dist/errors/invalid-relation.error.d.ts": { - "version": "d3490d041d8b30de7a5d719ff54a74037e2449fbc753f8e7690d08858834061c", - "signature": "d3490d041d8b30de7a5d719ff54a74037e2449fbc753f8e7690d08858834061c" - }, - "./node_modules/@loopback/repository/dist/errors/index.d.ts": { - "version": "4c61ca1a931f18cd2d728ac82277a0f33f3f2e4d17a6e036773324350ab292eb", - "signature": "4c61ca1a931f18cd2d728ac82277a0f33f3f2e4d17a6e036773324350ab292eb" - }, - "./node_modules/@loopback/repository/dist/keys.d.ts": { - "version": "0de4ded237b3f2df44d2cba31a3b2d244d60190a86d76261372f30ca24dca159", - "signature": "0de4ded237b3f2df44d2cba31a3b2d244d60190a86d76261372f30ca24dca159" - }, - "./node_modules/@loopback/repository/dist/mixins/repository.mixin.d.ts": { - "version": "92794da75472f5eba74a05bbf55ecc807a4606600675c61b4b31474f579c3d0f", - "signature": "92794da75472f5eba74a05bbf55ecc807a4606600675c61b4b31474f579c3d0f" - }, - "./node_modules/@loopback/repository/dist/mixins/index.d.ts": { - "version": "825ce81429f76c8b4c0741fc2c63fcb724479857e2c73ded59e9ae6b5ad31561", - "signature": "825ce81429f76c8b4c0741fc2c63fcb724479857e2c73ded59e9ae6b5ad31561" - }, - "./node_modules/@loopback/repository/dist/index.d.ts": { - "version": "364a4daa2c6881232508718613e4b3cf06aa1b218c0762a5becba2f39a24df16", - "signature": "364a4daa2c6881232508718613e4b3cf06aa1b218c0762a5becba2f39a24df16" - }, - "./node_modules/@loopback/boot/dist/booters/datasource.booter.d.ts": { - "version": "b4bc1ecef2413d17ff76e8216b8deb318319aee4c84b45a93b71a6deac7d4e32", - "signature": "b4bc1ecef2413d17ff76e8216b8deb318319aee4c84b45a93b71a6deac7d4e32" - }, - "./node_modules/@loopback/boot/dist/booters/interceptor.booter.d.ts": { - "version": "200ff5fa51709c9516a275c24d907c51f6f3afd7f69badc4d2f8439aa67f16c5", - "signature": "200ff5fa51709c9516a275c24d907c51f6f3afd7f69badc4d2f8439aa67f16c5" - }, - "./node_modules/@loopback/boot/dist/booters/lifecyle-observer.booter.d.ts": { - "version": "9eb1e67e6d84cb08a42298332d61f13e977d7c899b612711a8a28d7a33e32ec5", - "signature": "9eb1e67e6d84cb08a42298332d61f13e977d7c899b612711a8a28d7a33e32ec5" - }, - "./node_modules/@loopback/model-api-builder/dist/model-api-config.d.ts": { - "version": "dc879ebeabf8b5ac048b1bbe1eec516f73d109b82a26f00fa594080f0b6d9c4b", - "signature": "dc879ebeabf8b5ac048b1bbe1eec516f73d109b82a26f00fa594080f0b6d9c4b" - }, - "./node_modules/@loopback/model-api-builder/dist/model-api-builder.d.ts": { - "version": "7967ab2022da3b1d7d470c813c3dfe5b3428af9975f10fbbcfefab964f865147", - "signature": "7967ab2022da3b1d7d470c813c3dfe5b3428af9975f10fbbcfefab964f865147" - }, - "./node_modules/@loopback/model-api-builder/dist/index.d.ts": { - "version": "7fdb6a127ecd7330abea926932d72746a339bcd0e0066de43e7a8b3f2140eb6b", - "signature": "7fdb6a127ecd7330abea926932d72746a339bcd0e0066de43e7a8b3f2140eb6b" - }, - "./node_modules/@loopback/boot/dist/booters/model-api.booter.d.ts": { - "version": "3d2facd39b719580380f0fe1983b59bbc168cf9ced5fcb6fdc91e1b36837bf54", - "signature": "3d2facd39b719580380f0fe1983b59bbc168cf9ced5fcb6fdc91e1b36837bf54" - }, - "./node_modules/@loopback/boot/dist/booters/model.booter.d.ts": { - "version": "0f44d3097a4c41a5b3b84f14fd2fc848baab969dcd345e192a245382856353cb", - "signature": "0f44d3097a4c41a5b3b84f14fd2fc848baab969dcd345e192a245382856353cb" - }, - "./node_modules/@loopback/boot/dist/booters/repository.booter.d.ts": { - "version": "f50e14d5905e982420dfce0aa6c033c6a508f8d1642ecc7262642590caf61ae4", - "signature": "f50e14d5905e982420dfce0aa6c033c6a508f8d1642ecc7262642590caf61ae4" - }, - "./node_modules/@loopback/service-proxy/dist/decorators/service.decorator.d.ts": { - "version": "3f70549b094a30d0f9d96ddb55da183c19850f21646646a52c7223e194d94e67", - "signature": "3f70549b094a30d0f9d96ddb55da183c19850f21646646a52c7223e194d94e67" - }, - "./node_modules/@loopback/service-proxy/dist/legacy-juggler-bridge.d.ts": { - "version": "c3ae022488d8e8dc414925a5c731ac2c755f0488018c36c7e55bcd7c0c3d8866", - "signature": "c3ae022488d8e8dc414925a5c731ac2c755f0488018c36c7e55bcd7c0c3d8866" - }, - "./node_modules/@loopback/service-proxy/dist/mixins/service.mixin.d.ts": { - "version": "1f67fe47e1fcdb1359f11c2653e541edb427a56f323226cdb5a39759b714ae05", - "signature": "1f67fe47e1fcdb1359f11c2653e541edb427a56f323226cdb5a39759b714ae05" - }, - "./node_modules/@loopback/service-proxy/dist/mixins/index.d.ts": { - "version": "ce83de640596c946ea046f6290e9c76452df7604c33873c99f93a9f3294974c9", - "signature": "ce83de640596c946ea046f6290e9c76452df7604c33873c99f93a9f3294974c9" - }, - "./node_modules/@loopback/service-proxy/dist/index.d.ts": { - "version": "ea75c765be974204fee21e4a9ef5fa1b4cc4f4854fbf22aa0fb3a22567ee35fb", - "signature": "ea75c765be974204fee21e4a9ef5fa1b4cc4f4854fbf22aa0fb3a22567ee35fb" - }, - "./node_modules/@loopback/boot/dist/booters/service.booter.d.ts": { - "version": "f21789e630b620348da209498900660ae0e73366d510a9e93c80dae3498aa79f", - "signature": "f21789e630b620348da209498900660ae0e73366d510a9e93c80dae3498aa79f" - }, - "./node_modules/@loopback/boot/dist/booters/index.d.ts": { - "version": "e047ff565c45b875674d02fb20e2a753358f8ac97f6126796f757a097e25d7a1", - "signature": "e047ff565c45b875674d02fb20e2a753358f8ac97f6126796f757a097e25d7a1" - }, - "./node_modules/@loopback/boot/dist/boot.component.d.ts": { - "version": "2b0faeca692569bd2d36cdb52e3155bedbe9dda6c91abcdc585431181a5d30f6", - "signature": "2b0faeca692569bd2d36cdb52e3155bedbe9dda6c91abcdc585431181a5d30f6" - }, - "./node_modules/@loopback/boot/dist/bootstrapper.d.ts": { - "version": "e4f78f7da7483f60371a350564824526b8ab78ce52e28162d02f02db12edbdf0", - "signature": "e4f78f7da7483f60371a350564824526b8ab78ce52e28162d02f02db12edbdf0" - }, - "./node_modules/@loopback/boot/dist/keys.d.ts": { - "version": "da7258e592528eade138c0459fc7d47904a864fe964a340dac4a83f8e364b052", - "signature": "da7258e592528eade138c0459fc7d47904a864fe964a340dac4a83f8e364b052" - }, - "./node_modules/@loopback/boot/dist/mixins/boot.mixin.d.ts": { - "version": "b3c1d7f70872ea86a05784aca5ae11aea25eed1f94238ab6e43ea4fa850cfaf4", - "signature": "b3c1d7f70872ea86a05784aca5ae11aea25eed1f94238ab6e43ea4fa850cfaf4" - }, - "./node_modules/@loopback/boot/dist/mixins/index.d.ts": { - "version": "4e3fac06511b62b58d9c835e9d7d7c45e2a4e002f63d93ca3d83c89c4071a054", - "signature": "4e3fac06511b62b58d9c835e9d7d7c45e2a4e002f63d93ca3d83c89c4071a054" - }, - "./node_modules/@loopback/boot/dist/index.d.ts": { - "version": "5a70edee273369556aaa889ccbc15754792c5bf819fc668ad2c958ada875fca7", - "signature": "5a70edee273369556aaa889ccbc15754792c5bf819fc668ad2c958ada875fca7" - }, - "./node_modules/@loopback/repository-json-schema/dist/build-schema.d.ts": { - "version": "2029316e1f667473f14cbe69fe8e202235f56ec00dfd90478b9e4dce1e9f206b", - "signature": "2029316e1f667473f14cbe69fe8e202235f56ec00dfd90478b9e4dce1e9f206b" - }, - "./node_modules/@loopback/repository-json-schema/dist/filter-json-schema.d.ts": { - "version": "5633ebea0bcb713613ef0848da746d96839a95c0663ecf2df86adb937de8d2c8", - "signature": "5633ebea0bcb713613ef0848da746d96839a95c0663ecf2df86adb937de8d2c8" - }, - "./node_modules/@loopback/repository-json-schema/dist/keys.d.ts": { - "version": "8bb07008990356dfa2824e420517ea343b6c0ca6d3ce8840ad37d963fdb2c022", - "signature": "8bb07008990356dfa2824e420517ea343b6c0ca6d3ce8840ad37d963fdb2c022" - }, - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts": { - "version": "5eff4d1cd1afa8e2b79de736f8509a0d0c663ca0cba26713db636142b1ca2580", - "signature": "5eff4d1cd1afa8e2b79de736f8509a0d0c663ca0cba26713db636142b1ca2580" - }, - "./node_modules/openapi3-ts/dist/model/SpecificationExtension.d.ts": { - "version": "9508fcc6616ea31bf848463f161571bcb0c8726b267a43e231f21fca775007e7", - "signature": "9508fcc6616ea31bf848463f161571bcb0c8726b267a43e231f21fca775007e7" - }, - "./node_modules/openapi3-ts/dist/model/OpenApi.d.ts": { - "version": "0aaac1eca2cda0e09152730f943814ff55bdfd9eead7630b8eeeda3a4de64d5d", - "signature": "0aaac1eca2cda0e09152730f943814ff55bdfd9eead7630b8eeeda3a4de64d5d" - }, - "./node_modules/openapi3-ts/dist/model/Server.d.ts": { - "version": "737286d5a8cddd8afc923c70d68c23ebd01700a0b53cad4949b633ffd304c777", - "signature": "737286d5a8cddd8afc923c70d68c23ebd01700a0b53cad4949b633ffd304c777" - }, - "./node_modules/openapi3-ts/dist/model/index.d.ts": { - "version": "6a967509640ff83b343c01c6dc5ef6330c929ce0e838b217768b46414e28e85c", - "signature": "6a967509640ff83b343c01c6dc5ef6330c929ce0e838b217768b46414e28e85c" - }, - "./node_modules/openapi3-ts/dist/dsl/OpenApiBuilder.d.ts": { - "version": "b5fb985d427871256ce82a572af57648e48a8372e1165936968ca5181d578da6", - "signature": "b5fb985d427871256ce82a572af57648e48a8372e1165936968ca5181d578da6" - }, - "./node_modules/openapi3-ts/dist/dsl/index.d.ts": { - "version": "72374cee3b4e1451d064a29c38ccf11e49293bac535ef2a29e963a1833118a84", - "signature": "72374cee3b4e1451d064a29c38ccf11e49293bac535ef2a29e963a1833118a84" - }, - "./node_modules/openapi3-ts/dist/index.d.ts": { - "version": "55b0987723fe57b0a8756299005ff218eefe1772d1215c68c20894aad5074453", - "signature": "55b0987723fe57b0a8756299005ff218eefe1772d1215c68c20894aad5074453" - }, - "./node_modules/@loopback/openapi-v3/dist/types.d.ts": { - "version": "eab5aa49344fbda71792aaf5bc8713ab34ebfd04c4c55a4df91ec408e1adb594", - "signature": "eab5aa49344fbda71792aaf5bc8713ab34ebfd04c4c55a4df91ec408e1adb594" - }, - "./node_modules/@loopback/openapi-v3/dist/json-to-schema.d.ts": { - "version": "e273c16680b8296b6d0b68a12461cb58d65ee4e3114e652b463b0afd88756783", - "signature": "e273c16680b8296b6d0b68a12461cb58d65ee4e3114e652b463b0afd88756783" - }, - "./node_modules/@loopback/openapi-v3/dist/controller-spec.d.ts": { - "version": "c448be29d6853ccc6dddd348100cca9c2d052098cfae02a20b25e2120983795a", - "signature": "c448be29d6853ccc6dddd348100cca9c2d052098cfae02a20b25e2120983795a" - }, - "./node_modules/@loopback/openapi-v3/dist/decorators/api.decorator.d.ts": { - "version": "d8471a094827afa6a80a3ad08fd4252f47fd8e9db8210647f316c6484b60249c", - "signature": "d8471a094827afa6a80a3ad08fd4252f47fd8e9db8210647f316c6484b60249c" - }, - "./node_modules/@loopback/openapi-v3/dist/decorators/deprecated.decorator.d.ts": { - "version": "151ed640b4623c02eb3bee6eb331ba9e72f3367c9775f7ca24704a849f26b3f7", - "signature": "151ed640b4623c02eb3bee6eb331ba9e72f3367c9775f7ca24704a849f26b3f7" - }, - "./node_modules/@loopback/openapi-v3/dist/decorators/operation.decorator.d.ts": { - "version": "8f4a756abdf2a1476ab371227b87309fb8a0b4aee707bbdbd89ce56f103a8b41", - "signature": "8f4a756abdf2a1476ab371227b87309fb8a0b4aee707bbdbd89ce56f103a8b41" - }, - "./node_modules/@loopback/openapi-v3/dist/decorators/parameter.decorator.d.ts": { - "version": "b86b9d04d53ab499e2b7e774ea1a97ca0c64ee957a45ae05a703de4c6740bd3d", - "signature": "b86b9d04d53ab499e2b7e774ea1a97ca0c64ee957a45ae05a703de4c6740bd3d" - }, - "./node_modules/@loopback/openapi-v3/dist/decorators/request-body.decorator.d.ts": { - "version": "38d0ec05f1a05800179ebf146ed465f53a565baed58bd339c3e5e9248ef45e44", - "signature": "38d0ec05f1a05800179ebf146ed465f53a565baed58bd339c3e5e9248ef45e44" - }, - "./node_modules/@loopback/openapi-v3/dist/decorators/response.decorator.d.ts": { - "version": "ac778911421b7798d77850b0142c266bde9d5b0bdd6e3e4a3898b679d0bb5b0f", - "signature": "ac778911421b7798d77850b0142c266bde9d5b0bdd6e3e4a3898b679d0bb5b0f" - }, - "./node_modules/@loopback/openapi-v3/dist/decorators/tags.decorator.d.ts": { - "version": "fcc7a72175fd8a6bf4a7a0d80be072c66b93e1c26fd135f04b05601408ee17a2", - "signature": "fcc7a72175fd8a6bf4a7a0d80be072c66b93e1c26fd135f04b05601408ee17a2" - }, - "./node_modules/@loopback/openapi-v3/dist/decorators/index.d.ts": { - "version": "e10524afdae3d9468483a59649a02f0d036dc3cea16793066db40a377a8ad6d3", - "signature": "e10524afdae3d9468483a59649a02f0d036dc3cea16793066db40a377a8ad6d3" - }, - "./node_modules/@loopback/openapi-v3/dist/enhancers/types.d.ts": { - "version": "c715057e2c720dfde62bf622a7e2784e405650a9c4f2f970ba87c7d94224ca96", - "signature": "c715057e2c720dfde62bf622a7e2784e405650a9c4f2f970ba87c7d94224ca96" - }, - "./node_modules/@loopback/openapi-v3/dist/enhancers/spec-enhancer.service.d.ts": { - "version": "9b10c6ff9867a7b2ae62826819b62be6e1961e0e8051b5300d8cb08ccb5f9c03", - "signature": "9b10c6ff9867a7b2ae62826819b62be6e1961e0e8051b5300d8cb08ccb5f9c03" - }, - "./node_modules/@loopback/openapi-v3/dist/enhancers/keys.d.ts": { - "version": "448013518b0acc6094ec3b980d88b4bb5e75e10a761ab90a3e3ea68309aecb04", - "signature": "448013518b0acc6094ec3b980d88b4bb5e75e10a761ab90a3e3ea68309aecb04" - }, - "./node_modules/@loopback/openapi-v3/dist/enhancers/index.d.ts": { - "version": "f5240242db7e79d1972df2c6085cf91cb93a4da7bfdb3b804db47b7671324d82", - "signature": "f5240242db7e79d1972df2c6085cf91cb93a4da7bfdb3b804db47b7671324d82" - }, - "./node_modules/@loopback/openapi-v3/dist/filter-schema.d.ts": { - "version": "10b8a7023529d0de689c1eee747e4a5a3970ee628de92c1d44a1db2f9d97bb0c", - "signature": "10b8a7023529d0de689c1eee747e4a5a3970ee628de92c1d44a1db2f9d97bb0c" - }, - "./node_modules/@loopback/openapi-v3/dist/index.d.ts": { - "version": "3e11c9a1d1a58ab2fab15a3a17813d3e32f7edd086a75c6b9f235a84b6b4e78f", - "signature": "3e11c9a1d1a58ab2fab15a3a17813d3e32f7edd086a75c6b9f235a84b6b4e78f" - }, - "./node_modules/@types/range-parser/index.d.ts": { - "version": "4e88b833be14c7f384e0dcd57bb30acd799e8e34d212635d693e41a75a71164b", - "signature": "4e88b833be14c7f384e0dcd57bb30acd799e8e34d212635d693e41a75a71164b" - }, - "./node_modules/@types/qs/index.d.ts": { - "version": "98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e", - "signature": "98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e" - }, - "./node_modules/@types/express-serve-static-core/index.d.ts": { - "version": "e41a1ce538d71d5a3389b7fc2e39c15a4972f0d4cb14bf2fe8cda8c361150028", - "signature": "e41a1ce538d71d5a3389b7fc2e39c15a4972f0d4cb14bf2fe8cda8c361150028" - }, - "./node_modules/@types/mime/index.d.ts": { - "version": "84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86", - "signature": "84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86" - }, - "./node_modules/@types/serve-static/index.d.ts": { - "version": "3b02517f9be71f255eadab9892406055d069167891f1e1ea16c96c4ff1ddda01", - "signature": "3b02517f9be71f255eadab9892406055d069167891f1e1ea16c96c4ff1ddda01" - }, - "./node_modules/@types/connect/index.d.ts": { - "version": "81c14b89fa607b86dd726e2e3e91360cf8155ce97468404324d404a5bd65b2eb", - "signature": "81c14b89fa607b86dd726e2e3e91360cf8155ce97468404324d404a5bd65b2eb" - }, - "./node_modules/@types/body-parser/index.d.ts": { - "version": "ebddbd167c2fabd0151f50e5df94ca6d845149c47521280d8867afe3429dd078", - "signature": "ebddbd167c2fabd0151f50e5df94ca6d845149c47521280d8867afe3429dd078" - }, - "./node_modules/@types/express/index.d.ts": { - "version": "3b05c396564e51753e921e1cc4aae1cf7cd9be53c891cf2e81fa29f11c0bd373", - "signature": "3b05c396564e51753e921e1cc4aae1cf7cd9be53c891cf2e81fa29f11c0bd373" - }, - "./node_modules/ajv/lib/ajv.d.ts": { - "version": "67f129ed8b372622ff36b8b10e39d03e09e363a5ff7821105f92f085b8d1ccba", - "signature": "67f129ed8b372622ff36b8b10e39d03e09e363a5ff7821105f92f085b8d1ccba" - }, - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts": { - "version": "9a596606368fa6a60d9e5b829f43bbb8b788677d1da3933152fd5fc591f8f35f", - "signature": "9a596606368fa6a60d9e5b829f43bbb8b788677d1da3933152fd5fc591f8f35f" - }, - "./node_modules/@loopback/rest/dist/router/base-route.d.ts": { - "version": "690080263f23c79df2f956af5f7663d754d9a654e0ff1c4833d24b120b587652", - "signature": "690080263f23c79df2f956af5f7663d754d9a654e0ff1c4833d24b120b587652" - }, - "./node_modules/@loopback/rest/dist/router/controller-route.d.ts": { - "version": "0d82b33a2de62bf87e9c11047415f2006fda358da29e355bb54c69d264062d4f", - "signature": "0d82b33a2de62bf87e9c11047415f2006fda358da29e355bb54c69d264062d4f" - }, - "./node_modules/@loopback/rest/dist/router/handler-route.d.ts": { - "version": "ec339e72020f698d34f919697d84ecf0215c810f471d84fb7e3ff30154a84e5a", - "signature": "ec339e72020f698d34f919697d84ecf0215c810f471d84fb7e3ff30154a84e5a" - }, - "./node_modules/@loopback/rest/node_modules/@types/serve-static/index.d.ts": { - "version": "cdbae5083ef8f786069519405ca1f1e2ce72b9efebdf5e1931584fba747f3bc0", - "signature": "cdbae5083ef8f786069519405ca1f1e2ce72b9efebdf5e1931584fba747f3bc0" - }, - "./node_modules/@loopback/rest/dist/router/router-spec.d.ts": { - "version": "35fe3b683af14d3a28f91ddb985a5eb0b1aba18b7a424091d7ef163bdf8fd297", - "signature": "35fe3b683af14d3a28f91ddb985a5eb0b1aba18b7a424091d7ef163bdf8fd297" - }, - "./node_modules/@loopback/rest/dist/router/external-express-routes.d.ts": { - "version": "569db7f4e42b7eb23031a26509aaea40dc8aa50d6150011e3e6113066a778345", - "signature": "569db7f4e42b7eb23031a26509aaea40dc8aa50d6150011e3e6113066a778345" - }, - "./node_modules/@loopback/http-server/dist/http-server.d.ts": { - "version": "b64cf32536853090aad8d2fe88aea044eab4c6095ca421e225242cb832e00d6f", - "signature": "b64cf32536853090aad8d2fe88aea044eab4c6095ca421e225242cb832e00d6f" - }, - "./node_modules/@loopback/http-server/dist/index.d.ts": { - "version": "9b02c5fc7ee15fbb88b9a767f810aa82251dc29eb331c66e4f82c67c8ee31b9b", - "signature": "9b02c5fc7ee15fbb88b9a767f810aa82251dc29eb331c66e4f82c67c8ee31b9b" - }, - "./node_modules/@types/cors/index.d.ts": { - "version": "a68969f643e0cb091046a9437b64cb1880a081fc07c70a4717b0edef2a38bc85", - "signature": "a68969f643e0cb091046a9437b64cb1880a081fc07c70a4717b0edef2a38bc85" - }, - "./node_modules/@loopback/rest/dist/http-handler.d.ts": { - "version": "2ff1b6f01734ac6142499c47b342666b0bf5418c4ae5b160002a75824e7f936c", - "signature": "2ff1b6f01734ac6142499c47b342666b0bf5418c4ae5b160002a75824e7f936c" - }, - "./node_modules/@loopback/rest/dist/sequence.d.ts": { - "version": "c46613166a97d1cd5beaa05891cce127c9e81efe6ee5054085acd4d4488c5941", - "signature": "c46613166a97d1cd5beaa05891cce127c9e81efe6ee5054085acd4d4488c5941" - }, - "./node_modules/@loopback/rest/dist/rest.server.d.ts": { - "version": "614c486e8b9bd542711afe0b9a17ba2e19f7272af706ee7e5665d121f79980cd", - "signature": "614c486e8b9bd542711afe0b9a17ba2e19f7272af706ee7e5665d121f79980cd" - }, - "./node_modules/@loopback/rest/dist/request-context.d.ts": { - "version": "50e62dc4be36b49aab902c2589aec6b76719f88e5aaacd5dc1978617c71a9ea1", - "signature": "50e62dc4be36b49aab902c2589aec6b76719f88e5aaacd5dc1978617c71a9ea1" - }, - "./node_modules/@loopback/rest/dist/router/redirect-route.d.ts": { - "version": "efbb37093ba5f320b9d6e246f10e0805b55396e99fc5c620cd88a3efdf50ae4e", - "signature": "efbb37093ba5f320b9d6e246f10e0805b55396e99fc5c620cd88a3efdf50ae4e" - }, - "./node_modules/@loopback/rest/dist/router/rest-router.d.ts": { - "version": "ba1304cc8d15a86d2320fedac704824b71fa11eac2ff4544758f821ef0cc4c86", - "signature": "ba1304cc8d15a86d2320fedac704824b71fa11eac2ff4544758f821ef0cc4c86" - }, - "./node_modules/@loopback/rest/dist/router/router-base.d.ts": { - "version": "56858e27f485914951c89c6d9c26103f5dbdd51b5e5ec4d6d381fd8499ba68e0", - "signature": "56858e27f485914951c89c6d9c26103f5dbdd51b5e5ec4d6d381fd8499ba68e0" - }, - "./node_modules/@loopback/rest/dist/router/trie-router.d.ts": { - "version": "48a7cfd42c88d8a65866ef79f76b51b339faeedbe2a4a2790b1291d09d0f0f62", - "signature": "48a7cfd42c88d8a65866ef79f76b51b339faeedbe2a4a2790b1291d09d0f0f62" - }, - "./node_modules/path-to-regexp/dist/index.d.ts": { - "version": "6e7936b20cd2022c2a71f9d780e7f87216c19fde5c18448aaff60059a46ae2e7", - "signature": "6e7936b20cd2022c2a71f9d780e7f87216c19fde5c18448aaff60059a46ae2e7" - }, - "./node_modules/@loopback/rest/dist/router/regexp-router.d.ts": { - "version": "452aa7e3da59a5841fc5c773094ef7981209063d9657df442c3a77e56cdbf596", - "signature": "452aa7e3da59a5841fc5c773094ef7981209063d9657df442c3a77e56cdbf596" - }, - "./node_modules/@loopback/rest/dist/router/routing-table.d.ts": { - "version": "b75926092dc37602de2b4c702c835185adc9025a6d6c830b0604b75f8348b6de", - "signature": "b75926092dc37602de2b4c702c835185adc9025a6d6c830b0604b75f8348b6de" - }, - "./node_modules/@loopback/rest/dist/router/route-sort.d.ts": { - "version": "eeda33d6368be6990dac830564a7670122d4b30559c16562ed322dc3f7abfdb1", - "signature": "eeda33d6368be6990dac830564a7670122d4b30559c16562ed322dc3f7abfdb1" - }, - "./node_modules/@loopback/rest/dist/router/openapi-path.d.ts": { - "version": "8db1eb2502553a7b2a02c0277048702be4e20e6714b1b975cfdd27729d5eb9f5", - "signature": "8db1eb2502553a7b2a02c0277048702be4e20e6714b1b975cfdd27729d5eb9f5" - }, - "./node_modules/@loopback/rest/dist/router/trie.d.ts": { - "version": "2ca642c2ad1dcd0bb3b530a01cc84777f42325b850d0f8a79cc0c2f0ec6a784b", - "signature": "2ca642c2ad1dcd0bb3b530a01cc84777f42325b850d0f8a79cc0c2f0ec6a784b" - }, - "./node_modules/@loopback/rest/dist/router/index.d.ts": { - "version": "9d44b8b7aa9daf16f2a836bbd207eb9d9ba4ff4899acad27e3f4d2010a3dfdff", - "signature": "9d44b8b7aa9daf16f2a836bbd207eb9d9ba4ff4899acad27e3f4d2010a3dfdff" - }, - "./node_modules/@loopback/rest/dist/types.d.ts": { - "version": "487093e87da7f9177bb2d65c16b0a4775b8fcd8166e33140f98177f1b58573d4", - "signature": "487093e87da7f9177bb2d65c16b0a4775b8fcd8166e33140f98177f1b58573d4" - }, - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts": { - "version": "71b967157f07c931434cf32a4bb4628c6e8886a8e54d391870e2fb3bd6222ffe", - "signature": "71b967157f07c931434cf32a4bb4628c6e8886a8e54d391870e2fb3bd6222ffe" - }, - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.d.ts": { - "version": "7c25cbbfb9f24679112a0913c28bc23546e18272d70ab0ecf5864447d2844309", - "signature": "7c25cbbfb9f24679112a0913c28bc23546e18272d70ab0ecf5864447d2844309" - }, - "./node_modules/@types/http-errors/index.d.ts": { - "version": "85e7ed2eea56d4ecaf94420c82f541dd30ed657f4b82efc34f6377c774db7fc8", - "signature": "85e7ed2eea56d4ecaf94420c82f541dd30ed657f4b82efc34f6377c774db7fc8" - }, - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.helpers.d.ts": { - "version": "6c29fe53fa5accd53c63de55b7866cdb1487eeb1ac9d83d082074b54b32bdd29", - "signature": "6c29fe53fa5accd53c63de55b7866cdb1487eeb1ac9d83d082074b54b32bdd29" - }, - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.json.d.ts": { - "version": "9cb707e7d617d67a5a8d7aa94fcc8356d8d0d31167c292e45ef8071e28797aa7", - "signature": "9cb707e7d617d67a5a8d7aa94fcc8356d8d0d31167c292e45ef8071e28797aa7" - }, - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.raw.d.ts": { - "version": "af4e47e120bb7a683e5a1b753b7c08f4a7026796d49858c7945a6fd9f67edf57", - "signature": "af4e47e120bb7a683e5a1b753b7c08f4a7026796d49858c7945a6fd9f67edf57" - }, - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.stream.d.ts": { - "version": "e17bdab5a1c2b4f9944105aeaa98f4bdca6a89dc1ccf29d201983170cce68a30", - "signature": "e17bdab5a1c2b4f9944105aeaa98f4bdca6a89dc1ccf29d201983170cce68a30" - }, - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.text.d.ts": { - "version": "74e9f5dfb53546d6f687f7caeffad8a108a3b5b110257ae5f63aadb0b7af68b6", - "signature": "74e9f5dfb53546d6f687f7caeffad8a108a3b5b110257ae5f63aadb0b7af68b6" - }, - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.urlencoded.d.ts": { - "version": "3a3764df8d412fca7ea4867439dee48ea0fb0158cad857ff779d34fdfa2dceaf", - "signature": "3a3764df8d412fca7ea4867439dee48ea0fb0158cad857ff779d34fdfa2dceaf" - }, - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts": { - "version": "76b3c9826707000380d2b78a37a4a38c229cbe5b14e54b7b7803db6724ae0e1c", - "signature": "76b3c9826707000380d2b78a37a4a38c229cbe5b14e54b7b7803db6724ae0e1c" - }, - "./node_modules/strong-error-handler/index.d.ts": { - "version": "22324891dda506faf39ace94780ee32d4e0d7bf732e148974655deb116b6e83c", - "signature": "22324891dda506faf39ace94780ee32d4e0d7bf732e148974655deb116b6e83c" - }, - "./node_modules/@loopback/rest/dist/keys.d.ts": { - "version": "d55c022951576d0ef2c48bf4430b75802274f5494a25c553d6c68e276b42a6ea", - "signature": "d55c022951576d0ef2c48bf4430b75802274f5494a25c553d6c68e276b42a6ea" - }, - "./node_modules/@loopback/rest/dist/parse-json.d.ts": { - "version": "1baf6f4649ff40b94725d519eef9701ed55d984241451e81435d8e8be39f391a", - "signature": "1baf6f4649ff40b94725d519eef9701ed55d984241451e81435d8e8be39f391a" - }, - "./node_modules/@loopback/rest/dist/parser.d.ts": { - "version": "3f99c016097f49ee63f01b34e6843b557c3adec2cf1a122d4d3e553880589b1a", - "signature": "3f99c016097f49ee63f01b34e6843b557c3adec2cf1a122d4d3e553880589b1a" - }, - "./node_modules/@loopback/rest/dist/providers/bind-element.provider.d.ts": { - "version": "f20426248755807312bb3919fd68160e20a36f7353536381fc65c39d5eefeaa3", - "signature": "f20426248755807312bb3919fd68160e20a36f7353536381fc65c39d5eefeaa3" - }, - "./node_modules/@loopback/rest/dist/providers/find-route.provider.d.ts": { - "version": "3eb2f700c3ad6d0f20bfcc8a9c2572e26c1ca0ddb44b4aaa0083521e5b3d6cb7", - "signature": "3eb2f700c3ad6d0f20bfcc8a9c2572e26c1ca0ddb44b4aaa0083521e5b3d6cb7" - }, - "./node_modules/@loopback/rest/dist/providers/get-from-context.provider.d.ts": { - "version": "36513d653ce0af6f18bef4ace4b4d661d171e00699fab1558d19ee43390b0232", - "signature": "36513d653ce0af6f18bef4ace4b4d661d171e00699fab1558d19ee43390b0232" - }, - "./node_modules/@loopback/rest/dist/providers/invoke-method.provider.d.ts": { - "version": "8be1ec81b412c6f0ccf44e0cd3fe90c1d6926e6eb541b6550879e3597e99c3c7", - "signature": "8be1ec81b412c6f0ccf44e0cd3fe90c1d6926e6eb541b6550879e3597e99c3c7" - }, - "./node_modules/@loopback/rest/dist/providers/log-error.provider.d.ts": { - "version": "f8dde0073e5f6ec20f92a7f4299700a3f607a74b465bfcc89736fad8d83a013a", - "signature": "f8dde0073e5f6ec20f92a7f4299700a3f607a74b465bfcc89736fad8d83a013a" - }, - "./node_modules/@loopback/rest/dist/providers/reject.provider.d.ts": { - "version": "58cbe4a945eaf388b6ff33aa396dbcef20dde6fee20d197817ef0d3d9fce2b0c", - "signature": "58cbe4a945eaf388b6ff33aa396dbcef20dde6fee20d197817ef0d3d9fce2b0c" - }, - "./node_modules/@loopback/rest/dist/providers/parse-params.provider.d.ts": { - "version": "8f57a117602dbddd28cf86c6384367dde0b5924d89ad5be7b9d61ab6a50b3de3", - "signature": "8f57a117602dbddd28cf86c6384367dde0b5924d89ad5be7b9d61ab6a50b3de3" - }, - "./node_modules/@loopback/rest/dist/writer.d.ts": { - "version": "f562ed8d82db188ca6cc22f0ff516bbcb8e5d395172d935b6ddd7e898f4afaa9", - "signature": "f562ed8d82db188ca6cc22f0ff516bbcb8e5d395172d935b6ddd7e898f4afaa9" - }, - "./node_modules/@loopback/rest/dist/providers/send.provider.d.ts": { - "version": "37835bc9284a3c440d23cf3477de024bed34a1a640f01359271132d7e4d35af6", - "signature": "37835bc9284a3c440d23cf3477de024bed34a1a640f01359271132d7e4d35af6" - }, - "./node_modules/@loopback/rest/dist/providers/index.d.ts": { - "version": "1dcd994cabcf066e478515c75dcbe8091bcf0810707cc7ddcc966c5cab07f36e", - "signature": "1dcd994cabcf066e478515c75dcbe8091bcf0810707cc7ddcc966c5cab07f36e" - }, - "./node_modules/@loopback/rest/dist/rest-http-error.d.ts": { - "version": "82b252d3809711631631b9c38fb87324fd335b8601a07456596a8c9699536fc4", - "signature": "82b252d3809711631631b9c38fb87324fd335b8601a07456596a8c9699536fc4" - }, - "./node_modules/@loopback/rest/dist/rest.application.d.ts": { - "version": "6382ea9830fb5a6bc5fe68167e3ca057d5ab697bf5a5d97187aa2045cfc46f6b", - "signature": "6382ea9830fb5a6bc5fe68167e3ca057d5ab697bf5a5d97187aa2045cfc46f6b" - }, - "./node_modules/@loopback/rest/dist/spec-enhancers/consolidate.spec-enhancer.d.ts": { - "version": "1f34cd333e8ef4d7e0b63870058372b64c3801fbcf2b02ed8da8497c41245c90", - "signature": "1f34cd333e8ef4d7e0b63870058372b64c3801fbcf2b02ed8da8497c41245c90" - }, - "./node_modules/@loopback/rest/dist/spec-enhancers/info.spec-enhancer.d.ts": { - "version": "6cfb367aaa686f1b33ac37a9c26458344a2f228fa1f7624f0de50c308a18920a", - "signature": "6cfb367aaa686f1b33ac37a9c26458344a2f228fa1f7624f0de50c308a18920a" - }, - "./node_modules/@loopback/rest/dist/rest.component.d.ts": { - "version": "c9e48467824ae65ad411a39fd3aa3f8fede5e5590b8b58a14b3c24e737455f69", - "signature": "c9e48467824ae65ad411a39fd3aa3f8fede5e5590b8b58a14b3c24e737455f69" - }, - "./node_modules/@loopback/rest/dist/validation/request-body.validator.d.ts": { - "version": "7e791185e68a341f5caab0b3974eda68c23746e6c89d986813055cab2ed75916", - "signature": "7e791185e68a341f5caab0b3974eda68c23746e6c89d986813055cab2ed75916" - }, - "./node_modules/@loopback/rest/dist/index.d.ts": { - "version": "86116523020ed1376942d0de19b7ab437470bff0f285d0b1ba0fe3c7412bbe4a", - "signature": "86116523020ed1376942d0de19b7ab437470bff0f285d0b1ba0fe3c7412bbe4a" - }, - "./node_modules/@loopback/rest/index.d.ts": { - "version": "a15b48b01a590689bbbf03aac6a5291a8dddf77477a46d9e0037adfcc07942b8", - "signature": "a15b48b01a590689bbbf03aac6a5291a8dddf77477a46d9e0037adfcc07942b8" - }, - "./src/sequence.ts": { - "version": "3ca657bd7d02de2c508fdd5f6abf6551e07281a5af60e458932175e6a251627d", - "signature": "8721cf11eb4936ffee74356179ce18d3cc7ff99cbc861af322c1a9cfb31c4609" - }, - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/account.d.ts": { - "version": "e0209f76544838f42150bccec0103aee3bc26edd64feb1c2dce0176018012ef4", - "signature": "e0209f76544838f42150bccec0103aee3bc26edd64feb1c2dce0176018012ef4" - }, - "./node_modules/@pokt-network/pocket-js/dist/config/configuration.d.ts": { - "version": "43db7740e08820daad696569807bf4cde7c15a5a3df2966df08e876911df2984", - "signature": "43db7740e08820daad696569807bf4cde7c15a5a3df2966df08e876911df2984" - }, - "./node_modules/@pokt-network/pocket-js/dist/config/index.d.ts": { - "version": "025e2375aaab81efabbb887ecd360078e74c38c2eacd640fb6c5d1a2248b12aa", - "signature": "025e2375aaab81efabbb887ecd360078e74c38c2eacd640fb6c5d1a2248b12aa" - }, - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/unlocked-account.d.ts": { - "version": "ba99064150d2e704a404ecd8fa40690053c79923bd4a6401644f259276867cd7", - "signature": "ba99064150d2e704a404ecd8fa40690053c79923bd4a6401644f259276867cd7" - }, - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/index.d.ts": { - "version": "4bf783e0ddf0cb0a1b48594e941635ab342a0bfabc48c4a6267126e599629ba2", - "signature": "4bf783e0ddf0cb0a1b48594e941635ab342a0bfabc48c4a6267126e599629ba2" - }, - "./node_modules/@pokt-network/pocket-js/dist/keybase/keybase.d.ts": { - "version": "be446be539c0d7b106639d6bc4bd376ac51060a8d1dc97fe6319cf1bd73bb720", - "signature": "be446be539c0d7b106639d6bc4bd376ac51060a8d1dc97fe6319cf1bd73bb720" - }, - "./node_modules/@pokt-network/pocket-js/dist/keybase/index.d.ts": { - "version": "3dadf272254d849a773e309f4ca4b32c51f0ba584c8e4d9f84b30fceb7411064", - "signature": "3dadf272254d849a773e309f4ca4b32c51f0ba584c8e4d9f84b30fceb7411064" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/staking-status.d.ts": { - "version": "9f8dea960ca049cd08027e5e22314d4ff8ee435101da6daeaecd2022e9eea23a", - "signature": "9f8dea960ca049cd08027e5e22314d4ff8ee435101da6daeaecd2022e9eea23a" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node.d.ts": { - "version": "4594ab33e990d05b0347c86b6c5b8cdb6fed4b77e08d88d13a43584175a5f298", - "signature": "4594ab33e990d05b0347c86b6c5b8cdb6fed4b77e08d88d13a43584175a5f298" - }, - "./node_modules/@pokt-network/pocket-js/dist/storage/kv-store.d.ts": { - "version": "330c19934c5b19728657b6ae37f782e66fb8be7f1b93dfa689b414d13f166b43", - "signature": "330c19934c5b19728657b6ae37f782e66fb8be7f1b93dfa689b414d13f166b43" - }, - "./node_modules/@pokt-network/pocket-js/dist/routing-table/routing-table.d.ts": { - "version": "f3820b258eee7fa1728ef902b7641520373a06516c3408954032fa9c2dfb7100", - "signature": "f3820b258eee7fa1728ef902b7641520373a06516c3408954032fa9c2dfb7100" - }, - "./node_modules/@pokt-network/pocket-js/dist/routing-table/index.d.ts": { - "version": "8e73f673ba824dc35158b0fa96f70f6f2243c6d2fbb768d18b33e6f063883040", - "signature": "8e73f673ba824dc35158b0fa96f70f6f2243c6d2fbb768d18b33e6f063883040" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/challenge-response.d.ts": { - "version": "c9359cc8abf097da882ff60c1dab42fe1909096edb65ead7b79f627a6f535001", - "signature": "c9359cc8abf097da882ff60c1dab42fe1909096edb65ead7b79f627a6f535001" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/consensus-node.d.ts": { - "version": "8cdbc6b48b6d4ad18b8abc7a93dcd30c4e2c9b3ca323accf56cb8054eaabceeb", - "signature": "8cdbc6b48b6d4ad18b8abc7a93dcd30c4e2c9b3ca323accf56cb8054eaabceeb" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/minority-response.d.ts": { - "version": "448310ec05bbdacbd858f90d20c85f17866fa7197c921ebf08476570ea3651ca", - "signature": "448310ec05bbdacbd858f90d20c85f17866fa7197c921ebf08476570ea3651ca" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/consensus-relay-response.d.ts": { - "version": "5d3bd5d6d10be7d61b9715353dfd3a6604c7c86ec8946b68420032287a76661f", - "signature": "5d3bd5d6d10be7d61b9715353dfd3a6604c7c86ec8946b68420032287a76661f" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/dispatch-response.d.ts": { - "version": "0fc18e00553c5543817461dcb36d7942a29c23edea54275c71b06bd9b3538d99", - "signature": "0fc18e00553c5543817461dcb36d7942a29c23edea54275c71b06bd9b3538d99" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/evidence-type.d.ts": { - "version": "eab56338809e266f1ab887f2ea98ffebe1ac87c8507549cb75783135f6d6c471", - "signature": "eab56338809e266f1ab887f2ea98ffebe1ac87c8507549cb75783135f6d6c471" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/msg-claim.d.ts": { - "version": "9aa9c43862c841d7689b4edf40f320f460c7bd9c6b26d3bc726fa3c4fb0d20a9", - "signature": "9aa9c43862c841d7689b4edf40f320f460c7bd9c6b26d3bc726fa3c4fb0d20a9" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-account-response.d.ts": { - "version": "c0249512d28870fb44ea3a309531edd3eaf3386bf05f9f78b0d8b4b44dbbf030", - "signature": "c0249512d28870fb44ea3a309531edd3eaf3386bf05f9f78b0d8b4b44dbbf030" - }, - "./node_modules/@pokt-network/pocket-js/dist/utils/hex.d.ts": { - "version": "a51e9cb05ca033940eefe02dc4339c64c23b91983620e82ff5033951ccf60468", - "signature": "a51e9cb05ca033940eefe02dc4339c64c23b91983620e82ff5033951ccf60468" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/simple-proof.d.ts": { - "version": "44b376224e04cfbc6aacfe521500b2c805553f9c7d38b558797f621a6a0bb5fc", - "signature": "44b376224e04cfbc6aacfe521500b2c805553f9c7d38b558797f621a6a0bb5fc" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/tx-proof.d.ts": { - "version": "0c59cac12f1a4fd6c1b8508e942bc1d4dce00a559d93e4c5e261a4126b1b3472", - "signature": "0c59cac12f1a4fd6c1b8508e942bc1d4dce00a559d93e4c5e261a4126b1b3472" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/response-deliver-tx.d.ts": { - "version": "665322b9d382144b4a8ae51f5edd8898511a1e683a9e53b6a924db4c2ae39808", - "signature": "665322b9d382144b4a8ae51f5edd8898511a1e683a9e53b6a924db4c2ae39808" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stdtx.d.ts": { - "version": "63f320c587796b038f95f0151444c2c4af474f452804ff8c3d8e56717886763b", - "signature": "63f320c587796b038f95f0151444c2c4af474f452804ff8c3d8e56717886763b" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/transaction.d.ts": { - "version": "aff1a2d305403ac51bd3dfceee6122cbfbf9dabc33af9242dd8e84e22e6a8967", - "signature": "aff1a2d305403ac51bd3dfceee6122cbfbf9dabc33af9242dd8e84e22e6a8967" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-account-txs-response.d.ts": { - "version": "d2a27202a6c8f3e6f213714480caebab318746f454e7fdf5d3a607a322414987", - "signature": "d2a27202a6c8f3e6f213714480caebab318746f454e7fdf5d3a607a322414987" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-all-params-response.d.ts": { - "version": "cc2438fce64894d4d5e3992eae0bd3f1cf616d961c4f2d1c3a75f083b329bae2", - "signature": "cc2438fce64894d4d5e3992eae0bd3f1cf616d961c4f2d1c3a75f083b329bae2" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application-params.d.ts": { - "version": "c9b3e5a645de0a66da3d3b8b4759cdbdd52f59e52667b51ddd88dc30961aa3ee", - "signature": "c9b3e5a645de0a66da3d3b8b4759cdbdd52f59e52667b51ddd88dc30961aa3ee" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-app-params-response.d.ts": { - "version": "b456ab29b7ac463e2c70f7862e2b3650e079ddfce22a67ce69fc9dcb0a132800", - "signature": "b456ab29b7ac463e2c70f7862e2b3650e079ddfce22a67ce69fc9dcb0a132800" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application.d.ts": { - "version": "3e685aa026ecfd0046e66ed6c846085b27820c6c973f3814d3a6ec06370230a8", - "signature": "3e685aa026ecfd0046e66ed6c846085b27820c6c973f3814d3a6ec06370230a8" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-app-response.d.ts": { - "version": "d41d8bbae764c224ec10b11ec38677b1f657851d61d69953cd91d334db4ce273", - "signature": "d41d8bbae764c224ec10b11ec38677b1f657851d61d69953cd91d334db4ce273" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-apps-response.d.ts": { - "version": "c6b19b719f370c537d6a08cd6e04458a1e286e6aa565187abcab04235f5a031c", - "signature": "c6b19b719f370c537d6a08cd6e04458a1e286e6aa565187abcab04235f5a031c" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-balance-response.d.ts": { - "version": "a6c71654826ce60490e2316605c30720ca1070012fcf19c858ee47fc0e154ca5", - "signature": "a6c71654826ce60490e2316605c30720ca1070012fcf19c858ee47fc0e154ca5" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/part-set-header.d.ts": { - "version": "eaf31ae2e777433923ce7b73b3b50baa3c4056e904318f1ca1aa8a79ee28f18b", - "signature": "eaf31ae2e777433923ce7b73b3b50baa3c4056e904318f1ca1aa8a79ee28f18b" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-id.d.ts": { - "version": "0a94851c355919c1f541893e2df37b70ad8d74d2f009e33a118f3321431f2bcf", - "signature": "0a94851c355919c1f541893e2df37b70ad8d74d2f009e33a118f3321431f2bcf" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-header.d.ts": { - "version": "4fd9f715b1ec463f1518e79d90dca986d2c63215231ea5350ac8102f39f2294c", - "signature": "4fd9f715b1ec463f1518e79d90dca986d2c63215231ea5350ac8102f39f2294c" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-meta.d.ts": { - "version": "7787a4670bfc08438067f7ded3906d6944c6d4d1ecff4ef9a97960e5017482bf", - "signature": "7787a4670bfc08438067f7ded3906d6944c6d4d1ecff4ef9a97960e5017482bf" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit-signature.d.ts": { - "version": "b6c5cd194dabb05dd84d8b75eb3c5e356b51bbf26fc6891d2f3e113a86fde9eb", - "signature": "b6c5cd194dabb05dd84d8b75eb3c5e356b51bbf26fc6891d2f3e113a86fde9eb" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit.d.ts": { - "version": "960b7171cd48a42703306fd62efbd078e42e280d2173e8cb8d933272e306480a", - "signature": "960b7171cd48a42703306fd62efbd078e42e280d2173e8cb8d933272e306480a" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block.d.ts": { - "version": "398845676c7f4501d1865d063585b5301830f7878ee1f7ad544ad09362a46ade", - "signature": "398845676c7f4501d1865d063585b5301830f7878ee1f7ad544ad09362a46ade" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-block-response.d.ts": { - "version": "2aafb75c7a5cd0579c9942f163818b3fec7e29fb75dd2054a5be8240fe3d858f", - "signature": "2aafb75c7a5cd0579c9942f163818b3fec7e29fb75dd2054a5be8240fe3d858f" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-block-txs-response.d.ts": { - "version": "bd264fef1d2e2eff8b2c7d8654badfe1f70178b8d7fe2d545c99070b9cf7b32e", - "signature": "bd264fef1d2e2eff8b2c7d8654badfe1f70178b8d7fe2d545c99070b9cf7b32e" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-height-response.d.ts": { - "version": "e162443a92d093055b760a9e9bb6bc5d9fa9c39edb45987861e109bd0168a045", - "signature": "e162443a92d093055b760a9e9bb6bc5d9fa9c39edb45987861e109bd0168a045" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claim-response.d.ts": { - "version": "7f04fe08fe71fc0476c3fdb43fab675aefb0d3ce12c43c56d7e0299179599f8e", - "signature": "7f04fe08fe71fc0476c3fdb43fab675aefb0d3ce12c43c56d7e0299179599f8e" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claims-response.d.ts": { - "version": "2c2a75d045a0caca1beb53506829e91aee5d355f60e2149bd0704630113fbdc9", - "signature": "2c2a75d045a0caca1beb53506829e91aee5d355f60e2149bd0704630113fbdc9" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node-params.d.ts": { - "version": "5826d5739e507a30a0a2331c81d1d3915914c456e5b37c19c727bcdce87700f4", - "signature": "5826d5739e507a30a0a2331c81d1d3915914c456e5b37c19c727bcdce87700f4" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-params-response.d.ts": { - "version": "4fb032cad900e7f1b3cc84b3d1b184f1f9927e028953d1fc54876eb675985c2e", - "signature": "4fb032cad900e7f1b3cc84b3d1b184f1f9927e028953d1fc54876eb675985c2e" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/session-header.d.ts": { - "version": "110f9596df51769dd12c82f5b8d80ae903df39b3aac3f078fcc421ccdbbcafd9", - "signature": "110f9596df51769dd12c82f5b8d80ae903df39b3aac3f078fcc421ccdbbcafd9" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stored-receipt.d.ts": { - "version": "d2bbe945734c43933cf423d15ec1b8cbb9f6bb3a2b6c39487c84822bb26429a7", - "signature": "d2bbe945734c43933cf423d15ec1b8cbb9f6bb3a2b6c39487c84822bb26429a7" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-receipt-response.d.ts": { - "version": "33b757fedc87a5520f14b0f6f5e590d6e62fbd055126160fde6a038908cedc0f", - "signature": "33b757fedc87a5520f14b0f6f5e590d6e62fbd055126160fde6a038908cedc0f" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-receipts-response.d.ts": { - "version": "ab682ed12fdd283674d9d0e4e27aa1a84164a8e845ca77d7036de91324e2bb7c", - "signature": "ab682ed12fdd283674d9d0e4e27aa1a84164a8e845ca77d7036de91324e2bb7c" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-response.d.ts": { - "version": "8625c78950f203dc03e11a85f2bbd33eb81365432701f144f95d57f688892a39", - "signature": "8625c78950f203dc03e11a85f2bbd33eb81365432701f144f95d57f688892a39" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-nodes-response.d.ts": { - "version": "c789d0ecbbd3039fb897de3f4281f46a81f56dc5d164e145842613ff180a268f", - "signature": "c789d0ecbbd3039fb897de3f4281f46a81f56dc5d164e145842613ff180a268f" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/pocket-params.d.ts": { - "version": "f17c95202cfa7ea3375762594059a816ed2b5407506c669b12bd9ed5c9a3e3d9", - "signature": "f17c95202cfa7ea3375762594059a816ed2b5407506c669b12bd9ed5c9a3e3d9" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-pocket-params-response.d.ts": { - "version": "46d845221d3863f2e96478a7540145174aa69bf52f7d6a0faf41e95105efa0d6", - "signature": "46d845221d3863f2e96478a7540145174aa69bf52f7d6a0faf41e95105efa0d6" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-supply-response.d.ts": { - "version": "1636f72fd140cc983534a03da569bb81f59619f66ac49d5cd44fa8704cd25b50", - "signature": "1636f72fd140cc983534a03da569bb81f59619f66ac49d5cd44fa8704cd25b50" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-supported-chains-response.d.ts": { - "version": "182a1f016cf32f2aa30dd6f7e97dac60d372a20558e0fdba28020502bdffcf5b", - "signature": "182a1f016cf32f2aa30dd6f7e97dac60d372a20558e0fdba28020502bdffcf5b" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-tx-response.d.ts": { - "version": "609d2a8745238b02d6504529413d672c82dd213da96a96d970df8ec062441bcf", - "signature": "609d2a8745238b02d6504529413d672c82dd213da96a96d970df8ec062441bcf" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-upgrade-response.d.ts": { - "version": "edb0cc057409f2434567bd1e40bf49494988b96296d5762648af74317b3978dd", - "signature": "edb0cc057409f2434567bd1e40bf49494988b96296d5762648af74317b3978dd" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/tx-log.d.ts": { - "version": "a983e621bf3d8056a1e73564502b1cee3d43c1129741e6588ecb0c9e1a954e35", - "signature": "a983e621bf3d8056a1e73564502b1cee3d43c1129741e6588ecb0c9e1a954e35" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/raw-tx-response.d.ts": { - "version": "d1444b49f391cbe485f55a7f7c46d21610411818af9fe3d1d2df999a248dbc02", - "signature": "d1444b49f391cbe485f55a7f7c46d21610411818af9fe3d1d2df999a248dbc02" - }, - "./node_modules/@pokt-network/aat-js/lib/src/utils/enums.d.ts": { - "version": "e7eb382336ca84bbd944476f789a1425bed2a080d4af1ab812d3a1f47f9fbc77", - "signature": "e7eb382336ca84bbd944476f789a1425bed2a080d4af1ab812d3a1f47f9fbc77" - }, - "./node_modules/@pokt-network/aat-js/lib/src/utils/helper.d.ts": { - "version": "d7845cbcae0c10d9ded85b165bf1002b93b577bb8507f7ad3427363d39fe3509", - "signature": "d7845cbcae0c10d9ded85b165bf1002b93b577bb8507f7ad3427363d39fe3509" - }, - "./node_modules/@pokt-network/aat-js/lib/src/utils/index.d.ts": { - "version": "ca5dca0e470a633aeda00d92ab7748c5f6c5b3bf86f5029074ee2e62e7e52df6", - "signature": "ca5dca0e470a633aeda00d92ab7748c5f6c5b3bf86f5029074ee2e62e7e52df6" - }, - "./node_modules/@pokt-network/aat-js/lib/src/pocket-aat.d.ts": { - "version": "20dd740513f6d567c83481bd083ad545bb05b3512f1e66c07e062a2f7f6f60a1", - "signature": "20dd740513f6d567c83481bd083ad545bb05b3512f1e66c07e062a2f7f6f60a1" - }, - "./node_modules/@pokt-network/aat-js/lib/src/index.d.ts": { - "version": "53b8c979e7ade14602821b6984a0610a9429dc0b1d822b5fd6ef6f569b1b1a9c", - "signature": "53b8c979e7ade14602821b6984a0610a9429dc0b1d822b5fd6ef6f569b1b1a9c" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/relay-proof-response.d.ts": { - "version": "94df5bfa8352693d85b18ecf5265961942c07b61d8f1bc04c4460a9738d0f38e", - "signature": "94df5bfa8352693d85b18ecf5265961942c07b61d8f1bc04c4460a9738d0f38e" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/relay-response.d.ts": { - "version": "4c3489ff7bb09e12b74be08b878a191896ef81c8cbc51d47987c3007a74a8b73", - "signature": "4c3489ff7bb09e12b74be08b878a191896ef81c8cbc51d47987c3007a74a8b73" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/session.d.ts": { - "version": "a918af7b74e614f0e26f9d16d9dda3e842ae5d827f05f389049c04e75e95e2f6", - "signature": "a918af7b74e614f0e26f9d16d9dda3e842ae5d827f05f389049c04e75e95e2f6" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/index.d.ts": { - "version": "a125d69dfba1539d6147e4937a362d20808fc8536ee1f7344e9ed0fc9c45bdc9", - "signature": "a125d69dfba1539d6147e4937a362d20808fc8536ee1f7344e9ed0fc9c45bdc9" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/majority-response.d.ts": { - "version": "3f84b895cbc9fbb7c79600bccdde2f1be3d95486aa922430f236626d7deed1e3", - "signature": "3f84b895cbc9fbb7c79600bccdde2f1be3d95486aa922430f236626d7deed1e3" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/challenge-request.d.ts": { - "version": "2da8bebf026ab4b2e4e4d95a71167519bdd4d9551213afd708c3c70769bba86d", - "signature": "2da8bebf026ab4b2e4e4d95a71167519bdd4d9551213afd708c3c70769bba86d" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/dispatch-request.d.ts": { - "version": "63a0c2262f8b7f32f8caf2760bbfb59b650b6df6e95193953d29fcdacc14c6dc", - "signature": "63a0c2262f8b7f32f8caf2760bbfb59b650b6df6e95193953d29fcdacc14c6dc" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/node-receipt.d.ts": { - "version": "f6c4f2005cf99327aaaa25d364ad9dbb1a4af5e2657b2fc43a6545e24dc223ba", - "signature": "f6c4f2005cf99327aaaa25d364ad9dbb1a4af5e2657b2fc43a6545e24dc223ba" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/raw-tx-request.d.ts": { - "version": "3d85c55617f46ac92e9e67054c871a0ac8536cbfb89eb057d2493d5f8f10790e", - "signature": "3d85c55617f46ac92e9e67054c871a0ac8536cbfb89eb057d2493d5f8f10790e" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-meta.d.ts": { - "version": "9b0b79e6989ce5a3d57cba8b64699f5b989a7d760b79228f06dd81ae2ad9aba1", - "signature": "9b0b79e6989ce5a3d57cba8b64699f5b989a7d760b79228f06dd81ae2ad9aba1" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-payload.d.ts": { - "version": "a31e7d348cf69a3a6adaf7aacb22cc024a6aba2b4d05bc6be46423fe63f8119f", - "signature": "a31e7d348cf69a3a6adaf7aacb22cc024a6aba2b4d05bc6be46423fe63f8119f" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/request-hash.d.ts": { - "version": "76f8c54eb32bdbd30191107107d5a02a8c0ed1ceba47eff1b57a2177917bb0d0", - "signature": "76f8c54eb32bdbd30191107107d5a02a8c0ed1ceba47eff1b57a2177917bb0d0" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/relay-proof.d.ts": { - "version": "00af1eff1654cb45d010631a30a35b8be7185119247413ee3598f23da2eac118", - "signature": "00af1eff1654cb45d010631a30a35b8be7185119247413ee3598f23da2eac118" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-request.d.ts": { - "version": "9365ed40320e899f85d80475ff1f6ecf5b2cb5fcf51d7719d94c29ace989b609", - "signature": "9365ed40320e899f85d80475ff1f6ecf5b2cb5fcf51d7719d94c29ace989b609" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/index.d.ts": { - "version": "d9cfbaee0dd02bc186b6215eb36a3808027ee02ba96202fef511d68ca785a934", - "signature": "d9cfbaee0dd02bc186b6215eb36a3808027ee02ba96202fef511d68ca785a934" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/consensus.d.ts": { - "version": "7c3f0c7a5b1db50282b663710b77b4c852d7bcc5e2a966b1cc87488a6041382e", - "signature": "7c3f0c7a5b1db50282b663710b77b4c852d7bcc5e2a966b1cc87488a6041382e" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/event.d.ts": { - "version": "33d9ca0722f01ae0a65becef5da778cce52169f23c4ae935a7366912ed40c951", - "signature": "33d9ca0722f01ae0a65becef5da778cce52169f23c4ae935a7366912ed40c951" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/jailed-status.d.ts": { - "version": "f4d2bb58d6dfe39ab5519d63ee80a17d2b8fe2bca4055a01698f9d8f8be11659", - "signature": "f4d2bb58d6dfe39ab5519d63ee80a17d2b8fe2bca4055a01698f9d8f8be11659" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/result-tx.d.ts": { - "version": "948fc41e845f22430e0ebe4c7b8928d1cd9ccca9c4365e00aadd7485b8508534", - "signature": "948fc41e845f22430e0ebe4c7b8928d1cd9ccca9c4365e00aadd7485b8508534" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/routes.d.ts": { - "version": "34ead86540d6028cafb4e32acac72639b4776164006b3e28b4c36bcb07c2bc1e", - "signature": "34ead86540d6028cafb4e32acac72639b4776164006b3e28b4c36bcb07c2bc1e" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts": { - "version": "6b1bb2c080f60a3a8dde8362df96c905a7c2765ecc0638c00ed1637e392c336c", - "signature": "6b1bb2c080f60a3a8dde8362df96c905a7c2765ecc0638c00ed1637e392c336c" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/rpc-error.d.ts": { - "version": "ce480c23ebbdaf389ad71dcb606d23b357641fa8cf2690f0184550e5edd56b30", - "signature": "ce480c23ebbdaf389ad71dcb606d23b357641fa8cf2690f0184550e5edd56b30" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/index.d.ts": { - "version": "a849a26876d08e1de0d8b9208f2941607e066c8607a2c02d7de6f2fb77d341c6", - "signature": "a849a26876d08e1de0d8b9208f2941607e066c8607a2c02d7de6f2fb77d341c6" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/i-rpc-provider.d.ts": { - "version": "90ef22fb88f206dc8dcfd75d1a0c4e3a227d4df396d81b21a22a64d79ba8976d", - "signature": "90ef22fb88f206dc8dcfd75d1a0c4e3a227d4df396d81b21a22a64d79ba8976d" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/http-rpc-provider.d.ts": { - "version": "35c1c725d3cd12e220ec0db369b1d8831914f442c0fac6cd2645dc127a142fa2", - "signature": "35c1c725d3cd12e220ec0db369b1d8831914f442c0fac6cd2645dc127a142fa2" - }, - "./node_modules/@pokt-network/pocket-js/dist/session/session-manager.d.ts": { - "version": "3dffdc601b8b0f8e8f5f034c73fb1ed36cb850a0a7d02b74fb0f502073c9d690", - "signature": "3dffdc601b8b0f8e8f5f034c73fb1ed36cb850a0a7d02b74fb0f502073c9d690" - }, - "./node_modules/@pokt-network/pocket-js/dist/utils/models/profile-result.d.ts": { - "version": "2c79a4f53b84ee8fe3fd2cce134f93c882dda71bf6e31df5821f144531c5faad", - "signature": "2c79a4f53b84ee8fe3fd2cce134f93c882dda71bf6e31df5821f144531c5faad" - }, - "./node_modules/@pokt-network/pocket-js/dist/utils/base-profiler.d.ts": { - "version": "7cfb6da9e890756ddf5d58f2533deddfe5829646ecdb3b26ad62a572c3502f1a", - "signature": "7cfb6da9e890756ddf5d58f2533deddfe5829646ecdb3b26ad62a572c3502f1a" - }, - "./node_modules/@pokt-network/pocket-js/dist/pocket.d.ts": { - "version": "9e38c0018b54319bcd4c2196d89893052d0c96207eee1ff54b01791179e8b065", - "signature": "9e38c0018b54319bcd4c2196d89893052d0c96207eee1ff54b01791179e8b065" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/pocket-rpc-provider.d.ts": { - "version": "1e6a7ac548677a5f0ea744d3c2397df7b1aacfc4cf7ca11fe35b282e40fc45dc", - "signature": "1e6a7ac548677a5f0ea744d3c2397df7b1aacfc4cf7ca11fe35b282e40fc45dc" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/index.d.ts": { - "version": "6e308552026d19684d223b50ca3f7fcebb5856efcc95b5c07bbb800e098dbfde", - "signature": "6e308552026d19684d223b50ca3f7fcebb5856efcc95b5c07bbb800e098dbfde" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/client.d.ts": { - "version": "66777e82e1261b23fb38c34af03bb5540b472ceb4f6f2c38abeb0992fd992483", - "signature": "66777e82e1261b23fb38c34af03bb5540b472ceb4f6f2c38abeb0992fd992483" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/query.d.ts": { - "version": "21feba617d16958a7ba1114ac5556c46cb7df142a79da8d3d82e8338da7497fc", - "signature": "21feba617d16958a7ba1114ac5556c46cb7df142a79da8d3d82e8338da7497fc" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/index.d.ts": { - "version": "8eadca0f7422acb3244d747f597cd15b8f4c681ec7f21d5e0b22d6530669325a", - "signature": "8eadca0f7422acb3244d747f597cd15b8f4c681ec7f21d5e0b22d6530669325a" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/rpc.d.ts": { - "version": "e624a53a99244d156bf0fb2f9724abad2f1e479c9431052afbfb852cf0a41b1e", - "signature": "e624a53a99244d156bf0fb2f9724abad2f1e479c9431052afbfb852cf0a41b1e" - }, - "./node_modules/@pokt-network/pocket-js/dist/rpc/index.d.ts": { - "version": "e90e9dc7ea91f895ba723154f6a2fc615596fa780983e5bc6062d93a9bd2adb1", - "signature": "e90e9dc7ea91f895ba723154f6a2fc615596fa780983e5bc6062d93a9bd2adb1" - }, - "./node_modules/@pokt-network/pocket-js/dist/session/queue.d.ts": { - "version": "58a169e217265e7fa4a9b5f02a20c6d2458cf346dcbef81cd31102be0966a55d", - "signature": "58a169e217265e7fa4a9b5f02a20c6d2458cf346dcbef81cd31102be0966a55d" - }, - "./node_modules/@pokt-network/pocket-js/dist/session/index.d.ts": { - "version": "738ca9d1d06702028939296618c6c89e1c396cf55e709fa3c1034afb8108aeb7", - "signature": "738ca9d1d06702028939296618c6c89e1c396cf55e709fa3c1034afb8108aeb7" - }, - "./node_modules/@pokt-network/pocket-js/dist/storage/in-memory-kv-store.d.ts": { - "version": "43d24260701f788c502d1e7add45a32f0873826a0efd8aa505d87932cbc41520", - "signature": "43d24260701f788c502d1e7add45a32f0873826a0efd8aa505d87932cbc41520" - }, - "./node_modules/@pokt-network/pocket-js/dist/storage/index.d.ts": { - "version": "196e68db5d8792f94438bb7fee29be4478b8ae7f5ba82a964abb63f3e95f57b0", - "signature": "196e68db5d8792f94438bb7fee29be4478b8ae7f5ba82a964abb63f3e95f57b0" - }, - "./node_modules/@pokt-network/amino-js/types/src/types/pocket.d.ts": { - "version": "e6d544ca0d1a54d21b8e0ee1057eaaed9083b2977ceafb1855cef877620c1346", - "signature": "e6d544ca0d1a54d21b8e0ee1057eaaed9083b2977ceafb1855cef877620c1346" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/tx-signature.d.ts": { - "version": "1408e26705c963c4ef49246c5f4374b137be52ffe47e7e93b059b9250576ee16", - "signature": "1408e26705c963c4ef49246c5f4374b137be52ffe47e7e93b059b9250576ee16" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts": { - "version": "cc4a61e97efbe53eb90cbebcda3c1b5fa81fdae52fe0ecddc0c5bba955e90756", - "signature": "cc4a61e97efbe53eb90cbebcda3c1b5fa81fdae52fe0ecddc0c5bba955e90756" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-stake.d.ts": { - "version": "3d1e75cf87f24342d6fad5731a6b26e3bb9222957194785e756c1aa61acf331f", - "signature": "3d1e75cf87f24342d6fad5731a6b26e3bb9222957194785e756c1aa61acf331f" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-unjail.d.ts": { - "version": "a885d71a5ff29df53ad6a2fd73712021828eed0b01ed5c358c866b6cda108237", - "signature": "a885d71a5ff29df53ad6a2fd73712021828eed0b01ed5c358c866b6cda108237" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-unstake.d.ts": { - "version": "94007bca2a0c574c480290e69a78d23dda8d19efde07cbb2184ee43f7ec57128", - "signature": "94007bca2a0c574c480290e69a78d23dda8d19efde07cbb2184ee43f7ec57128" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-stake.d.ts": { - "version": "ebb53fa29a7d485e414f642c9dcdd6304f632322b8376adb1decf1ab520459f9", - "signature": "ebb53fa29a7d485e414f642c9dcdd6304f632322b8376adb1decf1ab520459f9" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-unjail.d.ts": { - "version": "a9de750ad17d16399660f23c01e2ce94fff852e3b9dc8358eba202831bf9ed56", - "signature": "a9de750ad17d16399660f23c01e2ce94fff852e3b9dc8358eba202831bf9ed56" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-unstake.d.ts": { - "version": "62c039f4c368574295f886d5dfbe40107eff91ccbef70bced819fe00f072bd02", - "signature": "62c039f4c368574295f886d5dfbe40107eff91ccbef70bced819fe00f072bd02" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-stake.d.ts": { - "version": "578dfd56f8b5c2805e90310750cdd6e70eb9d226a6705dfe7cf96d5191667fb2", - "signature": "578dfd56f8b5c2805e90310750cdd6e70eb9d226a6705dfe7cf96d5191667fb2" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-unjail.d.ts": { - "version": "dffd2ee09b5e1e2dd257d817466e789660558183d4a37add404d2f17740c7544", - "signature": "dffd2ee09b5e1e2dd257d817466e789660558183d4a37add404d2f17740c7544" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-unstake.d.ts": { - "version": "bb6639abcb30e9a08f52cae1c9dbe1db6e26d612b44966e0e97a890353d39f13", - "signature": "bb6639abcb30e9a08f52cae1c9dbe1db6e26d612b44966e0e97a890353d39f13" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-stake.d.ts": { - "version": "6d41d93dbf720059541271e307df4e02b898df2cce38925a042f53f7e72c150c", - "signature": "6d41d93dbf720059541271e307df4e02b898df2cce38925a042f53f7e72c150c" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-unjail.d.ts": { - "version": "2a9da494c8dc4c0ce7e4a2a11f8e7a0c6602a6f32d1872e4ba7b2cfec08150a2", - "signature": "2a9da494c8dc4c0ce7e4a2a11f8e7a0c6602a6f32d1872e4ba7b2cfec08150a2" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-unstake.d.ts": { - "version": "daec826989bf537f4f52a1f82c443d2cb4fa71db689bfde322958f0f9b5cf71b", - "signature": "daec826989bf537f4f52a1f82c443d2cb4fa71db689bfde322958f0f9b5cf71b" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-send.d.ts": { - "version": "41cfaf82e778c3b85dfb6ebe3e573ed67e602e00238a2934634eecf05dcfbb9b", - "signature": "41cfaf82e778c3b85dfb6ebe3e573ed67e602e00238a2934634eecf05dcfbb9b" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-send.d.ts": { - "version": "dde8e83dc7ee5c730fba1c15e8727e99c4bd2d2343d254ac1d64ec9e371697e9", - "signature": "dde8e83dc7ee5c730fba1c15e8727e99c4bd2d2343d254ac1d64ec9e371697e9" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/index.d.ts": { - "version": "15b1057937a0627377c0da0841ad8e6827b70d2ba09b78c1d49527c15788c749", - "signature": "15b1057937a0627377c0da0841ad8e6827b70d2ba09b78c1d49527c15788c749" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/amino-encodable.d.ts": { - "version": "c3c2c02090d6452dcee233d032359f4419280bdb50c4ac0b32d8164a2105395e", - "signature": "c3c2c02090d6452dcee233d032359f4419280bdb50c4ac0b32d8164a2105395e" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/coin-denom.d.ts": { - "version": "332208b2d5c7a56d2783a26f8ec4730a8e82abfd98ad2da9fb7fe95bdf1c8c68", - "signature": "332208b2d5c7a56d2783a26f8ec4730a8e82abfd98ad2da9fb7fe95bdf1c8c68" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/std-sign-doc.d.ts": { - "version": "bc78d822342c2862b3f88b10ebc060ac945b002cc5e6eee10e3a356a597154e5", - "signature": "bc78d822342c2862b3f88b10ebc060ac945b002cc5e6eee10e3a356a597154e5" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/std-tx.d.ts": { - "version": "fa7d3e15a644e89bf7df034f1824e3cb4c95744a172de3354ee5e2c937007994", - "signature": "fa7d3e15a644e89bf7df034f1824e3cb4c95744a172de3354ee5e2c937007994" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/transaction-signature.d.ts": { - "version": "597cb36db72c2e146b151e496cdc8577fc0b6c2fc97d21311f5233ad977f6d2f", - "signature": "597cb36db72c2e146b151e496cdc8577fc0b6c2fc97d21311f5233ad977f6d2f" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/index.d.ts": { - "version": "f52a9833dc9c272e2fd5c0e9affea147290721e167873645a9c44aa2b94ed6e4", - "signature": "f52a9833dc9c272e2fd5c0e9affea147290721e167873645a9c44aa2b94ed6e4" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/base-tx-encoder.d.ts": { - "version": "32fa4300af85ec464b9df072f316ca242569ce7b302fa2ffe13d7cc6973b28e3", - "signature": "32fa4300af85ec464b9df072f316ca242569ce7b302fa2ffe13d7cc6973b28e3" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/amino-tx-encoder.d.ts": { - "version": "69920ba430673b0ad332d10f38233229d9b50514cabddc3e6a3001edae1b8702", - "signature": "69920ba430673b0ad332d10f38233229d9b50514cabddc3e6a3001edae1b8702" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/proto-tx-encoder.d.ts": { - "version": "3b67fa9dd79ff389a4bb78e7095ac2f83d53dd777956b1f7340666c5d322681f", - "signature": "3b67fa9dd79ff389a4bb78e7095ac2f83d53dd777956b1f7340666c5d322681f" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/tx-encoder-factory.d.ts": { - "version": "359f794b0345d93d19097400980f0e9e344429db96bb0dac0af5269204e12c65", - "signature": "359f794b0345d93d19097400980f0e9e344429db96bb0dac0af5269204e12c65" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/index.d.ts": { - "version": "e7ad22c09b888912dc7a7f5b4814ccdebe43f5f78f1cff58ba2971b346c180f2", - "signature": "e7ad22c09b888912dc7a7f5b4814ccdebe43f5f78f1cff58ba2971b346c180f2" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/i-transaction-sender.d.ts": { - "version": "adf5a74650f18b460a27579302ed949e30b003cf9eefbedecae37ff40e59986b", - "signature": "adf5a74650f18b460a27579302ed949e30b003cf9eefbedecae37ff40e59986b" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/transaction-sender.d.ts": { - "version": "dd0971c5b290190532895d277e533dabe1118841f503e00932b809656634cd59", - "signature": "dd0971c5b290190532895d277e533dabe1118841f503e00932b809656634cd59" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/transaction-signer.d.ts": { - "version": "95bd370db669f63cd1c852dbf60a11aa243c04cf864f9a1a96fd4b31c5618392", - "signature": "95bd370db669f63cd1c852dbf60a11aa243c04cf864f9a1a96fd4b31c5618392" - }, - "./node_modules/@pokt-network/pocket-js/dist/transactions/index.d.ts": { - "version": "63f9553426f4e47998a904e51893973f3537730a8d5211e2c1140567ec427d65", - "signature": "63f9553426f4e47998a904e51893973f3537730a8d5211e2c1140567ec427d65" - }, - "./node_modules/@pokt-network/pocket-js/dist/utils/models/index.d.ts": { - "version": "5a5cb8194c213e042ae559e6bf624938f32c17122fe90ce5634edd67f477ac17", - "signature": "5a5cb8194c213e042ae559e6bf624938f32c17122fe90ce5634edd67f477ac17" - }, - "./node_modules/@pokt-network/pocket-js/dist/utils/key-pair.d.ts": { - "version": "d416bca7efa797d11d0b5d165f4a5e122b8724c073a5a592fe9a3a02381c8891", - "signature": "d416bca7efa797d11d0b5d165f4a5e122b8724c073a5a592fe9a3a02381c8891" - }, - "./node_modules/@pokt-network/pocket-js/dist/utils/no-op-profiler.d.ts": { - "version": "5b4d885f98088840dd901d4be1a54693aadc4a4a809f2d8035799d0679800d22", - "signature": "5b4d885f98088840dd901d4be1a54693aadc4a4a809f2d8035799d0679800d22" - }, - "./node_modules/@pokt-network/pocket-js/dist/utils/type-guard.d.ts": { - "version": "1ecc6d639b8943315d964e4926ed36343a9bc8c937af929593a3c8730a1f32f0", - "signature": "1ecc6d639b8943315d964e4926ed36343a9bc8c937af929593a3c8730a1f32f0" - }, - "./node_modules/@pokt-network/pocket-js/dist/utils/url.d.ts": { - "version": "398b3cb844eefe928246ea89aacc1d1bda5f120689d6919128e3d207b0175021", - "signature": "398b3cb844eefe928246ea89aacc1d1bda5f120689d6919128e3d207b0175021" - }, - "./node_modules/@pokt-network/pocket-js/dist/utils/validator.d.ts": { - "version": "f589be64322583364a40609314e49ac0a9b6b5f76bead10b67c455d9dd20e895", - "signature": "f589be64322583364a40609314e49ac0a9b6b5f76bead10b67c455d9dd20e895" - }, - "./node_modules/@pokt-network/pocket-js/dist/utils/index.d.ts": { - "version": "47b75348f8903829076f875e0158dbad0823679c5f81ab7f5439954debd53503", - "signature": "47b75348f8903829076f875e0158dbad0823679c5f81ab7f5439954debd53503" - }, - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts": { - "version": "47470ea3c908d371659cf2e3273b2e39a5fde524a1bcd633bf5ad192d806f86d", - "signature": "47470ea3c908d371659cf2e3273b2e39a5fde524a1bcd633bf5ad192d806f86d" - }, - "./node_modules/pg-types/index.d.ts": { - "version": "f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2", - "signature": "f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2" - }, - "./node_modules/@types/pg/index.d.ts": { - "version": "ce3c16bd239d4345a1ffabff3dcbb5025d281292742f4cfa5a29398b815bbb60", - "signature": "ce3c16bd239d4345a1ffabff3dcbb5025d281292742f4cfa5a29398b815bbb60" - }, - "./src/services/relay-profiler.ts": { - "version": "6d8d4173c7fa9d08655e8ccf350b3eb30877cf4b6fa4df09ef923552f3219217", - "signature": "ff8e9b000db6b9db543b5c807908b2de8a24d1616379e7419d949d6b4e8a33bd" - }, - "./src/application.ts": { - "version": "660e97aaa6cc0a72af6ae731db5aa4f2a548a16b6b599ea5366c3336827f1f59", - "signature": "c2691ebf44256a356633c3fb9bfc9de4bd429fe80a8c2a70ac76a37493ca7257" - }, - "./src/index.ts": { - "version": "e00e68920bdc16e2b77b5f3d5b575d98864f2220414d3a61dfa4189f76552082", - "signature": "2c1e64b6cdfbeb152eb10a597e4d5a1b27e04726fb02f95b0699101fedddf3ed" - }, - "./src/migrate.ts": { - "version": "e66e374a6eed205c62cf538c1fc98ed4be9d3457ea97e7fc16295daa60b7eb91", - "signature": "d289609b56df6411204c89f5197dc2d4d19910336a10c86cd9b3af21b22e344d" - }, - "./node_modules/@types/cookiejar/index.d.ts": { - "version": "8d48b8f8a377ade8dd1f000625bc276eea067f2529cc9cafdf082d17142107d6", - "signature": "8d48b8f8a377ade8dd1f000625bc276eea067f2529cc9cafdf082d17142107d6" - }, - "./node_modules/@types/superagent/index.d.ts": { - "version": "5ea07f5b82ba98f3d53bef789553b6a87294097caf758de104ea7d476d6a8385", - "signature": "5ea07f5b82ba98f3d53bef789553b6a87294097caf758de104ea7d476d6a8385" - }, - "./node_modules/@types/supertest/index.d.ts": { - "version": "e57360b3f53ec41ed30cfb0eaed6e689be92bf311d7c25175a4e127f46158079", - "signature": "e57360b3f53ec41ed30cfb0eaed6e689be92bf311d7c25175a4e127f46158079" - }, - "./node_modules/@loopback/testlab/dist/client.d.ts": { - "version": "d33fe7df13cb34fa58fcd9fc11c052dd905c05172185a3a5a31b736501c2a629", - "signature": "d33fe7df13cb34fa58fcd9fc11c052dd905c05172185a3a5a31b736501c2a629" - }, - "./node_modules/@loopback/testlab/should-as-function.d.ts": { - "version": "e0bcc7ecaf53e76bf21f3660a85db7eedeb36ceeb58969801858095658d1428d", - "signature": "e0bcc7ecaf53e76bf21f3660a85db7eedeb36ceeb58969801858095658d1428d" - }, - "./node_modules/@loopback/testlab/dist/expect.d.ts": { - "version": "5791b63ac312a792f888401243acd5084f27c2c76792d436fa68e9581a74bd6d", - "signature": "5791b63ac312a792f888401243acd5084f27c2c76792d436fa68e9581a74bd6d" - }, - "./node_modules/@loopback/testlab/dist/http-error-logger.d.ts": { - "version": "1d965675096492c8b8634e95d2ba80df0937100c1ca1a4be0aa521f2fcf4e679", - "signature": "1d965675096492c8b8634e95d2ba80df0937100c1ca1a4be0aa521f2fcf4e679" - }, - "./node_modules/@loopback/testlab/dist/http-server-config.d.ts": { - "version": "915ad988fcef8653bc578f63739303346d761aa6d462d4bc4ef8579ad7df6766", - "signature": "915ad988fcef8653bc578f63739303346d761aa6d462d4bc4ef8579ad7df6766" - }, - "./node_modules/@loopback/testlab/dist/request.d.ts": { - "version": "87c409fe1f923e4449a75e4c07dd939436e9c8f76b834fb44a6937147867813d", - "signature": "87c409fe1f923e4449a75e4c07dd939436e9c8f76b834fb44a6937147867813d" - }, - "./node_modules/@types/shot/index.d.ts": { - "version": "1858582b6b5b66476d2885696bd490e58d7a2eb0d48f505e214967ca00acd0ea", - "signature": "1858582b6b5b66476d2885696bd490e58d7a2eb0d48f505e214967ca00acd0ea" - }, - "./node_modules/@loopback/testlab/dist/shot.d.ts": { - "version": "c35b3b6ef644c4144c767d0ef2573b32b79cd989d84e266a73f0c8966dc0ef97", - "signature": "c35b3b6ef644c4144c767d0ef2573b32b79cd989d84e266a73f0c8966dc0ef97" - }, - "./node_modules/@sinonjs/fake-timers/types/fake-timers-src.d.ts": { - "version": "b79a450a5233f10fa43da81c35a17f8eec71fea394d0ff91620819e0af513fe9", - "signature": "b79a450a5233f10fa43da81c35a17f8eec71fea394d0ff91620819e0af513fe9" - }, - "./node_modules/@types/sinon/index.d.ts": { - "version": "fc8a86547dc1da127bad3a5c71137b9e8bb9de3c91df12869dd52e3ff2346e61", - "signature": "fc8a86547dc1da127bad3a5c71137b9e8bb9de3c91df12869dd52e3ff2346e61" - }, - "./node_modules/@loopback/testlab/dist/sinon.d.ts": { - "version": "451d3238632a48b1d487785be7ad51904238a63a593884d1b9cb4cefd51c31d0", - "signature": "451d3238632a48b1d487785be7ad51904238a63a593884d1b9cb4cefd51c31d0" - }, - "./node_modules/@loopback/testlab/dist/skip.d.ts": { - "version": "049893f64a1b25accec1fdb7d40dc8d8d8c08d6db07d321092c4124373c9e381", - "signature": "049893f64a1b25accec1fdb7d40dc8d8d8c08d6db07d321092c4124373c9e381" - }, - "./node_modules/@loopback/testlab/dist/test-sandbox.d.ts": { - "version": "c09d3d8964ff66481d085b2702fb5295a94756dce4739beda789b11b89c3aaca", - "signature": "c09d3d8964ff66481d085b2702fb5295a94756dce4739beda789b11b89c3aaca" - }, - "./node_modules/@loopback/testlab/dist/to-json.d.ts": { - "version": "d22280c29a0d4d6acba8968091ed9b772946c78e36d4b0cb7eca1803b8b8c2f0", - "signature": "d22280c29a0d4d6acba8968091ed9b772946c78e36d4b0cb7eca1803b8b8c2f0" - }, - "./node_modules/@loopback/testlab/dist/validate-api-spec.d.ts": { - "version": "8730131999f563de6b559e35f6253007cd311e676e9d17999c9287dd3e11e618", - "signature": "8730131999f563de6b559e35f6253007cd311e676e9d17999c9287dd3e11e618" - }, - "./node_modules/@loopback/testlab/dist/index.d.ts": { - "version": "38992be86825669bca9d84dfa17319e89c30969e05ba85d9c7f99dbc9c2eb83f", - "signature": "38992be86825669bca9d84dfa17319e89c30969e05ba85d9c7f99dbc9c2eb83f" - }, - "./src/__tests__/acceptance/test-helper.ts": { - "version": "39c10614f4a38c537cb31e28d753c1acf30b7746e47367cbe03422cb48d0ff5c", - "signature": "c8dfa8356ac17614a075ea3c69342a236544c47e2cb98581f7a15be64fc1ba83" - }, - "./src/__tests__/acceptance/home-page.acceptance.ts": { - "version": "a819ec42b8bde79f4e7a1a30a4737f50a19046b2220b462d281f69ab2be3b24d", - "signature": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881" - }, - "./src/__tests__/acceptance/ping.controller.acceptance.ts": { - "version": "219bde9d1db15cea0abb6df76189db3e2ac48395cf37c132aecab8faa46ae291", - "signature": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881" - }, - "./src/models/blockchains.model.ts": { - "version": "9ab021f8ccbfa182a354d662aa2e363ea398caa13fcf1fef7d5c51e9b79de3d4", - "signature": "a793129cf3a29c2f2c4e920cd9a4dfd98fef8ff0c5e4bdb2a14bb8397e9cbc33" - }, - "./src/models/applications.model.ts": { - "version": "98b18c555b3e2725bf9535405688f0e980f888026c87cdb7d015f1c02fbdb3ad", - "signature": "90363c3cd94f92e59335e0b417c5b076459e60cf6b82018019144229dff174ca" - }, - "./src/models/load-balancers.model.ts": { - "version": "34a2ec0df689513a9c0da75998fbf202b985133ed6245af2ed07647adb2a3099", - "signature": "189a3d8561e8e7a7d4e7d2fee3c806014304916daef88219af9759a3c4850938" - }, - "./src/models/index.ts": { - "version": "8909c266b77c849e7e2e301f040db97c94dd318c51e088948f51e2c94fbb5bbb", - "signature": "8909c266b77c849e7e2e301f040db97c94dd318c51e088948f51e2c94fbb5bbb" - }, - "./src/datasources/gateway.datasource.ts": { - "version": "cd1a466df78094f34036be8ef842dd6fc917bf4e7c2522e53a8ea09dffe2a2b7", - "signature": "882e92e6dfb6b1a3a70784e86c6bd8cbe243b830f938fef2a00568c71e08ca00" - }, - "./src/datasources/index.ts": { - "version": "c3c7f74b332c3817aba95cabb9f62f36af691e13d9c6f8d92974607924242919", - "signature": "c3c7f74b332c3817aba95cabb9f62f36af691e13d9c6f8d92974607924242919" - }, - "./src/repositories/blockchains.repository.ts": { - "version": "7798d189e59654d84d9015f4679bcf388ce48eb66b16f916aafd1f76149206a3", - "signature": "3bca2a5251f65752e3a623ece542271502ee1b029cc00cf8d0cda32f7ab153a6" - }, - "./src/repositories/applications.repository.ts": { - "version": "e97935421d5e3aee066dcca59e95e046b96c59398a90188a12f63afff0334d81", - "signature": "1ce0a430b6a96a61e2c9ade7e10aff905447a76feeb7c2ad0608ebc4dafefcd2" - }, - "./src/repositories/load-balancers.repository.ts": { - "version": "d0dbe23ea46a76eabc76276430735cdf99390570a46d87290eaba6435865cb2c", - "signature": "5d43f55098f511dd85c449bbad77e5d23e39d99cf43a2b0901c9d19a1a32aa3f" - }, - "./src/repositories/index.ts": { - "version": "2b96d3bc206857eebcddc961a4a3da8f3f1af0eb2d5593b2f27bea109f718ee3", - "signature": "2b96d3bc206857eebcddc961a4a3da8f3f1af0eb2d5593b2f27bea109f718ee3" - }, - "./src/controllers/blockchains.controller.ts": { - "version": "4aada272511d1a2def3d464a805ace8d6368a39585d07a8a7e83c2566982e9ff", - "signature": "976543577429681f8edd3c39e1ea422806c2cdeb5201ca186b69c4b33007ad6e" - }, - "./src/controllers/ping.controller.ts": { - "version": "345e766a5a8233c79f1c11b09cfcd1b635bc462ace7ae1ce6b84b3fd8078384d", - "signature": "80e3e158fbbb22cab068c3f91ec262086822f90ca629e02984060b8caf571993" - }, - "./node_modules/@types/ioredis/index.d.ts": { - "version": "da0d877bc22bd961aa9aec36bc0d02524f21abb08b645eb9335ce0079426c24a", - "signature": "da0d877bc22bd961aa9aec36bc0d02524f21abb08b645eb9335ce0079426c24a" - }, - "./src/services/cherry-picker.ts": { - "version": "d7d98bb1098c80475b344605239f86e0c8b5fa028bcaf9b7d0c36e8bb70316ea", - "signature": "959d3f2caa2da492155ce4ae96ca106171b0101dca7bd654fb8b41d8afc50bda" - }, - "./src/services/metrics-recorder.ts": { - "version": "003370c1d684e14e029547269dad6d74a1956a537c6552249d002a1a7d92538f", - "signature": "b9c3fb3feb8af8c219d54e8910625440fe0e38c4f71ad3036d5c148f65158318" - }, - "./src/services/sync-checker.ts": { - "version": "08001c7853af9ca166d9d5a6858dd9af1a3b904bea1c2f310cace4768b166e9d", - "signature": "ce2b6b58fc40f38365fd88f61a8fdac1ba912c997b05f7d0e0dab3e74396e9b7" - }, - "./node_modules/strong-cryptor/dist/typings/interface/index.d.ts": { - "version": "26c75550bc4cbb1bd5663346ce36097ba9ac7b7a5f8e78c4f3997df6ce664d05", - "signature": "26c75550bc4cbb1bd5663346ce36097ba9ac7b7a5f8e78c4f3997df6ce664d05" - }, - "./node_modules/strong-cryptor/dist/typings/index.d.ts": { - "version": "acbd050594b8cb10556a6b7a4863858ad4ddfb4aacf6d44ba8f6d4ed2a4facd1", - "signature": "acbd050594b8cb10556a6b7a4863858ad4ddfb4aacf6d44ba8f6d4ed2a4facd1" - }, - "./node_modules/strong-cryptor/dist/v2/decryptor.d.ts": { - "version": "7112509eb1d27277adfaae6cc4fac5354b7df39ebb89a6e22f3622de50a58d19", - "signature": "7112509eb1d27277adfaae6cc4fac5354b7df39ebb89a6e22f3622de50a58d19" - }, - "./node_modules/strong-cryptor/dist/v2/encryptor.d.ts": { - "version": "7b662f2a66458ea470d35e48f9b50cc643068aa52b9e14cd855b0ddcd65f5a34", - "signature": "7b662f2a66458ea470d35e48f9b50cc643068aa52b9e14cd855b0ddcd65f5a34" - }, - "./node_modules/strong-cryptor/dist/deprecated.d.ts": { - "version": "b5223e1e3b017c9ea608b075518c376d0548bdf64c9c8984935ddaf0fcec18b9", - "signature": "b5223e1e3b017c9ea608b075518c376d0548bdf64c9c8984935ddaf0fcec18b9" - }, - "./node_modules/strong-cryptor/dist/utils.d.ts": { - "version": "aaee1e26ec91968d792bf293f1c4ef46ff6ec642de50ac53484acd94e115d091", - "signature": "aaee1e26ec91968d792bf293f1c4ef46ff6ec642de50ac53484acd94e115d091" - }, - "./node_modules/strong-cryptor/dist/encryptor.d.ts": { - "version": "050a4840aaf5b187d1f65dbfde5c2b7a757f3faa9d523c881e7bd4b0608c1bb6", - "signature": "050a4840aaf5b187d1f65dbfde5c2b7a757f3faa9d523c881e7bd4b0608c1bb6" - }, - "./node_modules/strong-cryptor/dist/decryptor.d.ts": { - "version": "873f15b084dc03805bec370bf204ebfe1b4b29b52c955615337e3b910b8eb564", - "signature": "873f15b084dc03805bec370bf204ebfe1b4b29b52c955615337e3b910b8eb564" - }, - "./node_modules/strong-cryptor/dist/index.d.ts": { - "version": "75b8b059a00b6b8f090be39f69fbf84018c53ef865cd8146173a6f5eeec058f0", - "signature": "75b8b059a00b6b8f090be39f69fbf84018c53ef865cd8146173a6f5eeec058f0" - }, - "./src/errors/relay-error.ts": { - "version": "254d378be372d09f656549daca80ef8c2946e1464d31631e29fdd512ae32f38c", - "signature": "4268ae77fea3dfd44b681677cb8ba998d21463a10d37e5286651c07e8659d183" - }, - "./src/services/pocket-relayer.ts": { - "version": "7eff72e4b928a20494e2f3238d1094d868432d6b2996a87c5c5ecd76a8c835fd", - "signature": "ad65d9326d5067bf7ab46068d21ec91864a00f671837c961050af3928f6d1035" - }, - "./src/controllers/v1.controller.ts": { - "version": "1a6936c11f89fdfaf6a64585476c4fad60346f8ece55110fe64b4aa5c815a956", - "signature": "b979a064d33dfbc129080d75e96878069a06e655117951631af770f57d67ed4d" - }, - "./src/controllers/index.ts": { - "version": "c27d67de5b5b7aecde13ca899c3197d3c1538b964251fa91a055cb19fb0b6ce7", - "signature": "c27d67de5b5b7aecde13ca899c3197d3c1538b964251fa91a055cb19fb0b6ce7" - }, - "./src/controllers/web3index.controller.ts": { - "version": "be59e2f19afb47eb4ff0e7ee047bcdeed21084e51264787c0b3775cdd95f114d", - "signature": "04f8ec859ee6b42d1145a0c7288224bdff45d1bd6a0e873593b4cf392ddfcaed" - }, - "./node_modules/logzio-nodejs/lib/logzio-nodejs.d.ts": { - "version": "8b1404d626c6c4d3ca84157a75c0a3364411bd91006323ccb20ddf8fc78aab16", - "signature": "8b1404d626c6c4d3ca84157a75c0a3364411bd91006323ccb20ddf8fc78aab16" - }, - "./node_modules/logform/index.d.ts": { - "version": "89c631193ed616083e1ee16611dae34d719029b77274680d0f00dbf3bb8ba998", - "signature": "89c631193ed616083e1ee16611dae34d719029b77274680d0f00dbf3bb8ba998" - }, - "./node_modules/winston-transport/index.d.ts": { - "version": "d667ec244bc8f65d0ac176f7ea91ef9e2904e7aa10923fbbe843d19f1270593b", - "signature": "d667ec244bc8f65d0ac176f7ea91ef9e2904e7aa10923fbbe843d19f1270593b" - }, - "./node_modules/winston-logzio/lib/winston-logzio.d.ts": { - "version": "22c94d01a276ae597e56132a1c88936b95ef3f9a7fca8807e42963d8ceade501", - "signature": "22c94d01a276ae597e56132a1c88936b95ef3f9a7fca8807e42963d8ceade501" - }, - "./src/services/logger.ts": { - "version": "d4a22658a3360525e54e18f2b14bd2a0bb60e70af63f5f86061d49625c36898f", - "signature": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881" - }, - "./node_modules/@types/aes-js/index.d.ts": { - "version": "50d9aefed172801431b1d5ef3d87fe1eec9c0f1ec1b4b13911cb797e83848230", - "signature": "50d9aefed172801431b1d5ef3d87fe1eec9c0f1ec1b4b13911cb797e83848230" - }, - "./node_modules/@types/keyv/index.d.ts": { - "version": "9e7f7ac4d964992cf1b77612ca07e5695821881aa1a9acb0ef0509f192a5ea23", - "signature": "9e7f7ac4d964992cf1b77612ca07e5695821881aa1a9acb0ef0509f192a5ea23" - }, - "./node_modules/@types/http-cache-semantics/index.d.ts": { - "version": "0bf440ab914e79e890cb15e5ffacb5e18bec678338b3eab069a5829d3d5c96e3", - "signature": "0bf440ab914e79e890cb15e5ffacb5e18bec678338b3eab069a5829d3d5c96e3" - }, - "./node_modules/@types/responselike/index.d.ts": { - "version": "3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971", - "signature": "3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971" - }, - "./node_modules/@types/cacheable-request/index.d.ts": { - "version": "73c05cca1bb5aa8e93efd089af51643b7ff005e47064a0e624a74ee20480a2eb", - "signature": "73c05cca1bb5aa8e93efd089af51643b7ff005e47064a0e624a74ee20480a2eb" - }, - "./node_modules/@types/eslint-visitor-keys/index.d.ts": { - "version": "725d9be2fd48440256f4deb00649adffdbc5ecd282b09e89d4e200663792c34c", - "signature": "725d9be2fd48440256f4deb00649adffdbc5ecd282b09e89d4e200663792c34c" - }, - "./node_modules/@types/fs-extra/index.d.ts": { - "version": "8d01c38ccb9af3a4035a68818799e5ef32ccc8cf70bdb83e181e1921d7ad32f6", - "signature": "8d01c38ccb9af3a4035a68818799e5ef32ccc8cf70bdb83e181e1921d7ad32f6" - }, - "./node_modules/@types/minimatch/index.d.ts": { - "version": "95c22bc19835e28e2e524a4bb8898eb5f2107b640d7279a6d3aade261916bbf2", - "signature": "95c22bc19835e28e2e524a4bb8898eb5f2107b640d7279a6d3aade261916bbf2" - }, - "./node_modules/@types/glob/index.d.ts": { - "version": "393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0", - "signature": "393137c76bd922ba70a2f8bf1ade4f59a16171a02fb25918c168d48875b0cfb0" - }, - "./node_modules/@types/libsodium-wrappers/index.d.ts": { - "version": "13d24e4c08e70dbd95b83cd664c4e7e207208e79d62169a80e202b1d6f5de1ad", - "signature": "13d24e4c08e70dbd95b83cd664c4e7e207208e79d62169a80e202b1d6f5de1ad" - }, - "./node_modules/@types/long/index.d.ts": { - "version": "e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b", - "signature": "e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b" - }, - "./node_modules/@types/mocha/index.d.ts": { - "version": "f24768499dab9a34c0aff9c9e3fbfe5117001bfabba4a1db01a17df086d6a606", - "signature": "f24768499dab9a34c0aff9c9e3fbfe5117001bfabba4a1db01a17df086d6a606" - }, - "./node_modules/@types/object-hash/index.d.ts": { - "version": "a84c95e04a7387764e5c9f03a1bb1083ffa1166254a517398524630e918f8627", - "signature": "a84c95e04a7387764e5c9f03a1bb1083ffa1166254a517398524630e918f8627" - }, - "./node_modules/@types/on-finished/index.d.ts": { - "version": "c69767317aec528b574762b18727db85eef7cf66f33617cc0ee905cbe5a43d97", - "signature": "c69767317aec528b574762b18727db85eef7cf66f33617cc0ee905cbe5a43d97" - }, - "./node_modules/@types/pg-types/index.d.ts": { - "version": "060937b9e71c39c855e3572260800c74f248947c5781ddd8db1f3e0a08696c13", - "signature": "060937b9e71c39c855e3572260800c74f248947c5781ddd8db1f3e0a08696c13" - }, - "./node_modules/@types/prettier/index.d.ts": { - "version": "29651525db5579157e617c77e869af8bfdc1130f5d811c1f759ad35b7bafc8ef", - "signature": "29651525db5579157e617c77e869af8bfdc1130f5d811c1f759ad35b7bafc8ef" - }, - "./node_modules/@types/scrypt-js/index.d.ts": { - "version": "e772961267ab8e53ae53d6925120571d0af508251db3513f3a3ec41fc3e0eb7c", - "signature": "e772961267ab8e53ae53d6925120571d0af508251db3513f3a3ec41fc3e0eb7c" - }, - "./node_modules/@types/type-is/index.d.ts": { - "version": "37e4c904fc4eede08a541021c074c160cf27f6a756e4459197c2711fb8b2a648", - "signature": "37e4c904fc4eede08a541021c074c160cf27f6a756e4459197c2711fb8b2a648" - }, - "./node_modules/@types/varint/index.d.ts": { - "version": "a35c3c9a957697fd70aef0bed183fcf1258264c877bf2a12dcd80d6b0c2a6fe4", - "signature": "a35c3c9a957697fd70aef0bed183fcf1258264c877bf2a12dcd80d6b0c2a6fe4" - } - }, - "options": { - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "resolveJsonModule": true, - "skipLibCheck": true, - "strict": true, - "strictPropertyInitialization": false, - "incremental": true, - "lib": [ - "lib.es2020.d.ts" - ], - "module": 1, - "esModuleInterop": true, - "moduleResolution": 2, - "target": 5, - "sourceMap": true, - "declaration": true, - "importHelpers": true, - "outDir": "./dist", - "rootDir": "./src", - "project": "./tsconfig.json", - "configFilePath": "./tsconfig.json" - }, - "referencedMap": { - "./node_modules/@loopback/metadata/dist/decorator-factory.d.ts": [ - "./node_modules/@loopback/metadata/dist/types.d.ts" - ], - "./node_modules/@loopback/metadata/dist/reflect.d.ts": [ - "./node_modules/reflect-metadata/index.d.ts" - ], - "./node_modules/@loopback/metadata/dist/inspector.d.ts": [ - "./node_modules/@loopback/metadata/dist/reflect.d.ts", - "./node_modules/@loopback/metadata/dist/types.d.ts" - ], - "./node_modules/@loopback/metadata/dist/index.d.ts": [ - "./node_modules/@loopback/metadata/dist/decorator-factory.d.ts", - "./node_modules/@loopback/metadata/dist/inspector.d.ts", - "./node_modules/@loopback/metadata/dist/reflect.d.ts", - "./node_modules/@loopback/metadata/dist/types.d.ts" - ], - "./node_modules/@types/node/child_process.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/net.d.ts" - ], - "./node_modules/@types/node/cluster.d.ts": [ - "./node_modules/@types/node/child_process.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/net.d.ts" - ], - "./node_modules/@types/node/crypto.d.ts": [ - "./node_modules/@types/node/stream.d.ts" - ], - "./node_modules/@types/node/dgram.d.ts": [ - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/dns.d.ts", - "./node_modules/@types/node/events.d.ts" - ], - "./node_modules/@types/node/domain.d.ts": [ - "./node_modules/@types/node/events.d.ts" - ], - "./node_modules/@types/node/events.d.ts": [ - "./node_modules/@types/node/events.d.ts" - ], - "./node_modules/@types/node/fs.d.ts": [ - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/url.d.ts" - ], - "./node_modules/@types/node/http.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/url.d.ts" - ], - "./node_modules/@types/node/http2.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/fs.d.ts", - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/tls.d.ts", - "./node_modules/@types/node/url.d.ts", - "./node_modules/@types/node/http.d.ts" - ], - "./node_modules/@types/node/https.d.ts": [ - "./node_modules/@types/node/tls.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/url.d.ts" - ], - "./node_modules/@types/node/inspector.d.ts": [ - "./node_modules/@types/node/events.d.ts" - ], - "./node_modules/@types/node/net.d.ts": [ - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/dns.d.ts" - ], - "./node_modules/@types/node/perf_hooks.d.ts": [ - "./node_modules/@types/node/async_hooks.d.ts" - ], - "./node_modules/@types/node/readline.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/stream.d.ts" - ], - "./node_modules/@types/node/repl.d.ts": [ - "./node_modules/@types/node/readline.d.ts", - "./node_modules/@types/node/vm.d.ts", - "./node_modules/@types/node/util.d.ts" - ], - "./node_modules/@types/node/stream.d.ts": [ - "./node_modules/@types/node/events.d.ts" - ], - "./node_modules/@types/node/tls.d.ts": [ - "./node_modules/@types/node/crypto.d.ts", - "./node_modules/@types/node/dns.d.ts", - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/stream.d.ts" - ], - "./node_modules/@types/node/tty.d.ts": [ - "./node_modules/@types/node/net.d.ts" - ], - "./node_modules/@types/node/url.d.ts": [ - "./node_modules/@types/node/querystring.d.ts" - ], - "./node_modules/@types/node/worker_threads.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/stream.d.ts" - ], - "./node_modules/@types/node/zlib.d.ts": [ - "./node_modules/@types/node/stream.d.ts" - ], - "./node_modules/@types/node/ts3.6/base.d.ts": [ - "./node_modules/@types/node/globals.d.ts", - "./node_modules/@types/node/async_hooks.d.ts", - "./node_modules/@types/node/buffer.d.ts", - "./node_modules/@types/node/child_process.d.ts", - "./node_modules/@types/node/cluster.d.ts", - "./node_modules/@types/node/console.d.ts", - "./node_modules/@types/node/constants.d.ts", - "./node_modules/@types/node/crypto.d.ts", - "./node_modules/@types/node/dgram.d.ts", - "./node_modules/@types/node/dns.d.ts", - "./node_modules/@types/node/domain.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/fs.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/http2.d.ts", - "./node_modules/@types/node/https.d.ts", - "./node_modules/@types/node/inspector.d.ts", - "./node_modules/@types/node/module.d.ts", - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/os.d.ts", - "./node_modules/@types/node/path.d.ts", - "./node_modules/@types/node/perf_hooks.d.ts", - "./node_modules/@types/node/process.d.ts", - "./node_modules/@types/node/punycode.d.ts", - "./node_modules/@types/node/querystring.d.ts", - "./node_modules/@types/node/readline.d.ts", - "./node_modules/@types/node/repl.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/string_decoder.d.ts", - "./node_modules/@types/node/timers.d.ts", - "./node_modules/@types/node/tls.d.ts", - "./node_modules/@types/node/trace_events.d.ts", - "./node_modules/@types/node/tty.d.ts", - "./node_modules/@types/node/url.d.ts", - "./node_modules/@types/node/util.d.ts", - "./node_modules/@types/node/v8.d.ts", - "./node_modules/@types/node/vm.d.ts", - "./node_modules/@types/node/worker_threads.d.ts", - "./node_modules/@types/node/zlib.d.ts" - ], - "./node_modules/@types/node/base.d.ts": [ - "./node_modules/@types/node/ts3.6/base.d.ts", - "./node_modules/@types/node/assert.d.ts" - ], - "./node_modules/@types/node/index.d.ts": [ - "./node_modules/@types/node/base.d.ts", - "./node_modules/@types/node/ts3.6/base.d.ts" - ], - "./node_modules/@loopback/context/dist/binding-filter.d.ts": [ - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/binding-sorter.d.ts": [ - "./node_modules/@loopback/context/dist/binding.d.ts" - ], - "./node_modules/@loopback/context/dist/inject.d.ts": [ - "./node_modules/@loopback/metadata/dist/index.d.ts", - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/binding-sorter.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/json-types.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/resolution-session.d.ts": [ - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/inject.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/binding-config.d.ts": [ - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/context-event.d.ts": [ - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts" - ], - "./node_modules/@loopback/context/dist/context-observer.d.ts": [ - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/context-subscription.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/context-event.d.ts", - "./node_modules/@loopback/context/dist/context-observer.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/context/dist/context-tag-indexer.d.ts": [ - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/context-view.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/binding-sorter.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/context-event.d.ts", - "./node_modules/@loopback/context/dist/context-observer.d.ts", - "./node_modules/@loopback/context/dist/context-subscription.d.ts", - "./node_modules/@loopback/context/dist/inject.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/context/dist/context.d.ts": [ - "./node_modules/@types/debug/index.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-config.d.ts", - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/binding-sorter.d.ts", - "./node_modules/@loopback/context/dist/context-event.d.ts", - "./node_modules/@loopback/context/dist/context-observer.d.ts", - "./node_modules/@loopback/context/dist/context-subscription.d.ts", - "./node_modules/@loopback/context/dist/context-tag-indexer.d.ts", - "./node_modules/@loopback/context/dist/context-view.d.ts", - "./node_modules/@loopback/context/dist/json-types.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/context/dist/provider.d.ts": [ - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/binding.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/json-types.d.ts", - "./node_modules/@loopback/context/dist/provider.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/context/dist/binding-inspector.d.ts": [ - "./node_modules/@loopback/metadata/dist/index.d.ts", - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/provider.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/binding-decorator.d.ts": [ - "./node_modules/@loopback/context/dist/binding-inspector.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/inject-config.d.ts": [ - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/inject.d.ts" - ], - "./node_modules/@loopback/context/dist/invocation.d.ts": [ - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/interception-proxy.d.ts": [ - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/invocation.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/interceptor-chain.d.ts": [ - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/binding-sorter.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/invocation.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/interceptor.d.ts": [ - "./node_modules/@loopback/metadata/dist/index.d.ts", - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-inspector.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/interceptor-chain.d.ts", - "./node_modules/@loopback/context/dist/invocation.d.ts", - "./node_modules/@loopback/context/dist/provider.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/keys.d.ts": [ - "./node_modules/@loopback/context/dist/binding-config.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts" - ], - "./node_modules/@loopback/context/dist/resolver.d.ts": [ - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/unique-id.d.ts": [ - "./node_modules/hyperid/index.d.ts" - ], - "./node_modules/@loopback/context/dist/index.d.ts": [ - "./node_modules/@loopback/metadata/dist/index.d.ts", - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-config.d.ts", - "./node_modules/@loopback/context/dist/binding-decorator.d.ts", - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/binding-inspector.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/binding-sorter.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/context-event.d.ts", - "./node_modules/@loopback/context/dist/context-observer.d.ts", - "./node_modules/@loopback/context/dist/context-subscription.d.ts", - "./node_modules/@loopback/context/dist/context-view.d.ts", - "./node_modules/@loopback/context/dist/inject.d.ts", - "./node_modules/@loopback/context/dist/inject-config.d.ts", - "./node_modules/@loopback/context/dist/interception-proxy.d.ts", - "./node_modules/@loopback/context/dist/interceptor.d.ts", - "./node_modules/@loopback/context/dist/interceptor-chain.d.ts", - "./node_modules/@loopback/context/dist/invocation.d.ts", - "./node_modules/@loopback/context/dist/json-types.d.ts", - "./node_modules/@loopback/context/dist/keys.d.ts", - "./node_modules/@loopback/context/dist/provider.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/resolver.d.ts", - "./node_modules/@loopback/context/dist/unique-id.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/core/dist/lifecycle.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts" - ], - "./node_modules/@loopback/core/dist/server.d.ts": [ - "./node_modules/@loopback/core/dist/lifecycle.d.ts" - ], - "./node_modules/@loopback/core/dist/component.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/application.d.ts", - "./node_modules/@loopback/core/dist/lifecycle.d.ts", - "./node_modules/@loopback/core/dist/server.d.ts" - ], - "./node_modules/@loopback/core/dist/service.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/application.d.ts" - ], - "./node_modules/@loopback/core/dist/application.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/component.d.ts", - "./node_modules/@loopback/core/dist/lifecycle.d.ts", - "./node_modules/@loopback/core/dist/server.d.ts", - "./node_modules/@loopback/core/dist/service.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/core/dist/extension-point.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts" - ], - "./node_modules/@loopback/core/dist/lifecycle-registry.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/lifecycle.d.ts" - ], - "./node_modules/@loopback/core/dist/keys.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/application.d.ts", - "./node_modules/@loopback/core/dist/lifecycle-registry.d.ts" - ], - "./node_modules/@loopback/core/dist/mixin-target.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts" - ], - "./node_modules/@loopback/core/dist/index.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/application.d.ts", - "./node_modules/@loopback/core/dist/component.d.ts", - "./node_modules/@loopback/core/dist/extension-point.d.ts", - "./node_modules/@loopback/core/dist/keys.d.ts", - "./node_modules/@loopback/core/dist/lifecycle.d.ts", - "./node_modules/@loopback/core/dist/lifecycle-registry.d.ts", - "./node_modules/@loopback/core/dist/mixin-target.d.ts", - "./node_modules/@loopback/core/dist/server.d.ts", - "./node_modules/@loopback/core/dist/service.d.ts" - ], - "./node_modules/@loopback/boot/dist/types.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/application-metadata.booter.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/booter-utils.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/component-application.booter.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/controller.booter.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/repository/dist/type-resolver.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/type.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/any.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/array.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/boolean.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/buffer.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/types/type.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/date.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/object.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/model.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/types/object.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/null.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/number.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/string.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/union.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/index.d.ts": [ - "./node_modules/@loopback/repository/dist/types/any.d.ts", - "./node_modules/@loopback/repository/dist/types/array.d.ts", - "./node_modules/@loopback/repository/dist/types/boolean.d.ts", - "./node_modules/@loopback/repository/dist/types/buffer.d.ts", - "./node_modules/@loopback/repository/dist/types/date.d.ts", - "./node_modules/@loopback/repository/dist/types/model.d.ts", - "./node_modules/@loopback/repository/dist/types/null.d.ts", - "./node_modules/@loopback/repository/dist/types/number.d.ts", - "./node_modules/@loopback/repository/dist/types/object.d.ts", - "./node_modules/@loopback/repository/dist/types/string.d.ts", - "./node_modules/@loopback/repository/dist/types/type.d.ts", - "./node_modules/@loopback/repository/dist/types/union.d.ts" - ], - "./node_modules/@loopback/repository/dist/model.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/type-resolver.d.ts", - "./node_modules/@loopback/repository/dist/types/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/connectors/connector.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts" - ], - "./node_modules/@loopback/repository/dist/query.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts" - ], - "./node_modules/@loopback/repository/dist/connectors/crud.connector.d.ts": [ - "./node_modules/@loopback/repository/dist/connectors/connector.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts" - ], - "./node_modules/@loopback/repository/dist/connectors/kv.connector.d.ts": [ - "./node_modules/@loopback/repository/dist/connectors/connector.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts" - ], - "./node_modules/@loopback/repository/dist/connectors/index.d.ts": [ - "./node_modules/@loopback/repository/dist/connectors/connector.d.ts", - "./node_modules/@loopback/repository/dist/connectors/crud.connector.d.ts", - "./node_modules/@loopback/repository/dist/connectors/kv.connector.d.ts" - ], - "./node_modules/@loopback/repository/dist/datasource.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/connectors/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/decorators/metadata.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts" - ], - "./node_modules/@loopback/repository/dist/decorators/model.decorator.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/type-resolver.d.ts", - "./node_modules/@loopback/core/dist/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/datasource.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts", - "./node_modules/@loopback/repository/dist/transaction.d.ts" - ], - "./node_modules/@loopback/repository/dist/repositories/kv.repository.d.ts": [ - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/connector.d.ts": [ - "./node_modules/loopback-datasource-juggler/index.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/transaction-mixin.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/datasource.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/connector.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/loopback-datasource-juggler/types/transaction-mixin.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/observer-mixin.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/model.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/datasource.d.ts", - "./node_modules/loopback-datasource-juggler/types/observer-mixin.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/persisted-model.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts", - "./node_modules/loopback-datasource-juggler/types/query.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/relation.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts", - "./node_modules/loopback-datasource-juggler/types/persisted-model.d.ts", - "./node_modules/loopback-datasource-juggler/types/query.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/kv-model.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/scope.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts", - "./node_modules/loopback-datasource-juggler/types/persisted-model.d.ts", - "./node_modules/loopback-datasource-juggler/types/query.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/relation-mixin.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/relation.d.ts", - "./node_modules/loopback-datasource-juggler/types/persisted-model.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/validation-mixin.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/inclusion-mixin.d.ts": [ - "./node_modules/loopback-datasource-juggler/index.d.ts", - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/query.d.ts" - ], - "./node_modules/loopback-datasource-juggler/index.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts", - "./node_modules/loopback-datasource-juggler/types/relation.d.ts", - "./node_modules/loopback-datasource-juggler/types/query.d.ts", - "./node_modules/loopback-datasource-juggler/types/datasource.d.ts", - "./node_modules/loopback-datasource-juggler/types/kv-model.d.ts", - "./node_modules/loopback-datasource-juggler/types/persisted-model.d.ts", - "./node_modules/loopback-datasource-juggler/types/scope.d.ts", - "./node_modules/loopback-datasource-juggler/types/transaction-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/types/relation-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/types/observer-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/types/validation-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/types/inclusion-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/types/connector.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.decorator.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.repository.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to-accessor.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.inclusion-resolver.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/belongs-to/index.d.ts": [ - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.decorator.d.ts", - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to-accessor.d.ts", - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.inclusion-resolver.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.repository.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-repository.factory.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.repository.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-through.repository.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-through-repository.factory.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-through.repository.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.decorator.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.inclusion-resolver.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-many/index.d.ts": [ - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-repository.factory.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-through-repository.factory.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-through.repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.decorator.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.inclusion-resolver.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.repository.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-one/has-one.decorator.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-one/has-one.repository.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/repositories/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-one/has-one-repository.factory.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-one/has-one.repository.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-one/index.d.ts": [ - "./node_modules/@loopback/repository/dist/relations/has-one/has-one.decorator.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-one/has-one.repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-one/has-one-repository.factory.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/relation.decorator.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/relation.helpers.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/index.d.ts": [ - "./node_modules/@loopback/repository/dist/relations/belongs-to/index.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/index.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-one/index.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.decorator.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.helpers.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts" - ], - "./node_modules/@loopback/repository/dist/repositories/legacy-juggler-bridge.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/loopback-datasource-juggler/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/relations/index.d.ts", - "./node_modules/@loopback/repository/dist/transaction.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts" - ], - "./node_modules/@loopback/repository/dist/repositories/kv.repository.bridge.d.ts": [ - "./node_modules/loopback-datasource-juggler/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/kv.repository.d.ts", - "./node_modules/@loopback/repository/dist/repositories/legacy-juggler-bridge.d.ts" - ], - "./node_modules/@loopback/repository/dist/repositories/constraint-utils.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts" - ], - "./node_modules/@loopback/repository/dist/repositories/index.d.ts": [ - "./node_modules/@loopback/repository/dist/repositories/kv.repository.d.ts", - "./node_modules/@loopback/repository/dist/repositories/legacy-juggler-bridge.d.ts", - "./node_modules/@loopback/repository/dist/repositories/kv.repository.bridge.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/repositories/constraint-utils.d.ts" - ], - "./node_modules/@loopback/repository/dist/decorators/repository.decorator.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/datasource.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/index.d.ts", - "./node_modules/@loopback/repository/dist/repositories/legacy-juggler-bridge.d.ts" - ], - "./node_modules/@loopback/repository/dist/decorators/index.d.ts": [ - "./node_modules/@loopback/repository/dist/decorators/metadata.d.ts", - "./node_modules/@loopback/repository/dist/decorators/model.decorator.d.ts", - "./node_modules/@loopback/repository/dist/decorators/repository.decorator.d.ts" - ], - "./node_modules/@loopback/repository/dist/define-model-class.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts" - ], - "./node_modules/@loopback/repository/dist/define-repository-class.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/errors/entity-not-found.error.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts" - ], - "./node_modules/@loopback/repository/dist/errors/invalid-relation.error.d.ts": [ - "./node_modules/@loopback/repository/dist/relations/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/errors/index.d.ts": [ - "./node_modules/@loopback/repository/dist/errors/entity-not-found.error.d.ts", - "./node_modules/@loopback/repository/dist/errors/invalid-relation.error.d.ts" - ], - "./node_modules/@loopback/repository/dist/mixins/repository.mixin.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/datasource.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/mixins/index.d.ts": [ - "./node_modules/@loopback/repository/dist/mixins/repository.mixin.d.ts" - ], - "./node_modules/@loopback/repository/dist/index.d.ts": [ - "./node_modules/@types/json-schema/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/connectors/index.d.ts", - "./node_modules/@loopback/repository/dist/datasource.d.ts", - "./node_modules/@loopback/repository/dist/decorators/index.d.ts", - "./node_modules/@loopback/repository/dist/define-model-class.d.ts", - "./node_modules/@loopback/repository/dist/define-repository-class.d.ts", - "./node_modules/@loopback/repository/dist/errors/index.d.ts", - "./node_modules/@loopback/repository/dist/keys.d.ts", - "./node_modules/@loopback/repository/dist/mixins/index.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/relations/index.d.ts", - "./node_modules/@loopback/repository/dist/repositories/index.d.ts", - "./node_modules/@loopback/repository/dist/transaction.d.ts", - "./node_modules/@loopback/repository/dist/type-resolver.d.ts", - "./node_modules/@loopback/repository/dist/types/index.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/datasource.booter.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/interceptor.booter.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/lifecyle-observer.booter.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/model-api-builder/dist/model-api-config.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts" - ], - "./node_modules/@loopback/model-api-builder/dist/model-api-builder.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/model-api-builder/dist/model-api-config.d.ts" - ], - "./node_modules/@loopback/model-api-builder/dist/index.d.ts": [ - "./node_modules/@loopback/model-api-builder/dist/model-api-builder.d.ts", - "./node_modules/@loopback/model-api-builder/dist/model-api-config.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/model-api.booter.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/model-api-builder/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/model.booter.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/repository.booter.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/service-proxy/dist/decorators/service.decorator.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/service-proxy/dist/index.d.ts" - ], - "./node_modules/@loopback/service-proxy/dist/legacy-juggler-bridge.d.ts": [ - "./node_modules/loopback-datasource-juggler/index.d.ts" - ], - "./node_modules/@loopback/service-proxy/dist/mixins/service.mixin.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts" - ], - "./node_modules/@loopback/service-proxy/dist/mixins/index.d.ts": [ - "./node_modules/@loopback/service-proxy/dist/mixins/service.mixin.d.ts" - ], - "./node_modules/@loopback/service-proxy/dist/index.d.ts": [ - "./node_modules/@loopback/service-proxy/dist/decorators/service.decorator.d.ts", - "./node_modules/@loopback/service-proxy/dist/legacy-juggler-bridge.d.ts", - "./node_modules/@loopback/service-proxy/dist/mixins/index.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/service.booter.d.ts": [ - "./node_modules/@loopback/service-proxy/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/index.d.ts": [ - "./node_modules/@loopback/boot/dist/booters/application-metadata.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/booter-utils.d.ts", - "./node_modules/@loopback/boot/dist/booters/component-application.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/controller.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/datasource.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/interceptor.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/lifecyle-observer.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/model-api.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/model.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/repository.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/service.booter.d.ts" - ], - "./node_modules/@loopback/boot/dist/boot.component.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/booters/index.d.ts" - ], - "./node_modules/@loopback/boot/dist/bootstrapper.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts" - ], - "./node_modules/@loopback/boot/dist/keys.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/bootstrapper.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts" - ], - "./node_modules/@loopback/boot/dist/mixins/boot.mixin.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts" - ], - "./node_modules/@loopback/boot/dist/mixins/index.d.ts": [ - "./node_modules/@loopback/boot/dist/mixins/boot.mixin.d.ts" - ], - "./node_modules/@loopback/boot/dist/index.d.ts": [ - "./node_modules/@loopback/boot/dist/boot.component.d.ts", - "./node_modules/@loopback/boot/dist/booters/index.d.ts", - "./node_modules/@loopback/boot/dist/bootstrapper.d.ts", - "./node_modules/@loopback/boot/dist/keys.d.ts", - "./node_modules/@loopback/boot/dist/mixins/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts" - ], - "./node_modules/@loopback/repository-json-schema/dist/build-schema.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts" - ], - "./node_modules/@loopback/repository-json-schema/dist/filter-json-schema.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@types/json-schema/index.d.ts" - ], - "./node_modules/@loopback/repository-json-schema/dist/keys.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts" - ], - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/repository-json-schema/dist/build-schema.d.ts", - "./node_modules/@loopback/repository-json-schema/dist/filter-json-schema.d.ts", - "./node_modules/@loopback/repository-json-schema/dist/keys.d.ts" - ], - "./node_modules/openapi3-ts/dist/model/OpenApi.d.ts": [ - "./node_modules/openapi3-ts/dist/model/SpecificationExtension.d.ts" - ], - "./node_modules/openapi3-ts/dist/model/Server.d.ts": [ - "./node_modules/openapi3-ts/dist/model/OpenApi.d.ts" - ], - "./node_modules/openapi3-ts/dist/model/index.d.ts": [ - "./node_modules/openapi3-ts/dist/model/SpecificationExtension.d.ts", - "./node_modules/openapi3-ts/dist/model/OpenApi.d.ts", - "./node_modules/openapi3-ts/dist/model/Server.d.ts" - ], - "./node_modules/openapi3-ts/dist/dsl/OpenApiBuilder.d.ts": [ - "./node_modules/openapi3-ts/dist/model/index.d.ts" - ], - "./node_modules/openapi3-ts/dist/dsl/index.d.ts": [ - "./node_modules/openapi3-ts/dist/dsl/OpenApiBuilder.d.ts" - ], - "./node_modules/openapi3-ts/dist/index.d.ts": [ - "./node_modules/openapi3-ts/dist/model/index.d.ts", - "./node_modules/openapi3-ts/dist/dsl/index.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/types.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/openapi3-ts/dist/index.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/json-to-schema.d.ts": [ - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/controller-spec.d.ts": [ - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/json-to-schema.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/decorators/api.decorator.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/controller-spec.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/decorators/operation.decorator.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/decorators/parameter.decorator.d.ts": [ - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/decorators/request-body.decorator.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/decorators/response.decorator.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/decorators/index.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/decorators/api.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/deprecated.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/operation.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/parameter.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/request-body.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/response.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/tags.decorator.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/enhancers/types.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/enhancers/spec-enhancer.service.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts", - "./node_modules/@loopback/openapi-v3/dist/enhancers/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/enhancers/keys.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/enhancers/spec-enhancer.service.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/enhancers/index.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/enhancers/keys.d.ts", - "./node_modules/@loopback/openapi-v3/dist/enhancers/spec-enhancer.service.d.ts", - "./node_modules/@loopback/openapi-v3/dist/enhancers/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/filter-schema.d.ts": [ - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/index.d.ts": [ - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/controller-spec.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/enhancers/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/filter-schema.d.ts", - "./node_modules/@loopback/openapi-v3/dist/json-to-schema.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@types/express-serve-static-core/index.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/range-parser/index.d.ts", - "./node_modules/@types/qs/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/serve-static/index.d.ts": [ - "./node_modules/@types/mime/index.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/connect/index.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/body-parser/index.d.ts": [ - "./node_modules/@types/connect/index.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/express/index.d.ts": [ - "./node_modules/@types/body-parser/index.d.ts", - "./node_modules/@types/serve-static/index.d.ts", - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@types/qs/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/base-route.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/controller-route.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/base-route.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/handler-route.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/base-route.d.ts" - ], - "./node_modules/@loopback/rest/node_modules/@types/serve-static/index.d.ts": [ - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@types/mime/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/router-spec.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/external-express-routes.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@types/express/index.d.ts", - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@loopback/rest/node_modules/@types/serve-static/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@loopback/rest/dist/router/router-spec.d.ts" - ], - "./node_modules/@loopback/http-server/dist/http-server.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/https.d.ts", - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/http-server/dist/index.d.ts": [ - "./node_modules/@loopback/http-server/dist/http-server.d.ts" - ], - "./node_modules/@types/cors/index.d.ts": [ - "./node_modules/@types/node/http.d.ts" - ], - "./node_modules/@loopback/rest/dist/http-handler.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/rest.server.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/sequence.d.ts": [ - "./node_modules/@loopback/rest/dist/request-context.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts" - ], - "./node_modules/@loopback/rest/dist/rest.server.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/http-server/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@types/cors/index.d.ts", - "./node_modules/@types/express/index.d.ts", - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@loopback/rest/node_modules/@types/serve-static/index.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/@loopback/rest/dist/http-handler.d.ts", - "./node_modules/@loopback/rest/dist/request-context.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/sequence.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/request-context.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/rest.server.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/redirect-route.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/request-context.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/rest-router.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/router-base.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@loopback/rest/dist/router/rest-router.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/trie-router.d.ts": [ - "./node_modules/@loopback/rest/dist/router/rest-router.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@loopback/rest/dist/router/router-base.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/regexp-router.d.ts": [ - "./node_modules/@loopback/rest/dist/router/rest-router.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@loopback/rest/dist/router/router-base.d.ts", - "./node_modules/path-to-regexp/dist/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/routing-table.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/controller-route.d.ts", - "./node_modules/@loopback/rest/dist/router/external-express-routes.d.ts", - "./node_modules/@loopback/rest/dist/router/rest-router.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/route-sort.d.ts": [ - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/trie.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/index.d.ts": [ - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@loopback/rest/dist/router/base-route.d.ts", - "./node_modules/@loopback/rest/dist/router/controller-route.d.ts", - "./node_modules/@loopback/rest/dist/router/handler-route.d.ts", - "./node_modules/@loopback/rest/dist/router/external-express-routes.d.ts", - "./node_modules/@loopback/rest/dist/router/redirect-route.d.ts", - "./node_modules/@loopback/rest/dist/router/rest-router.d.ts", - "./node_modules/@loopback/rest/dist/router/trie-router.d.ts", - "./node_modules/@loopback/rest/dist/router/regexp-router.d.ts", - "./node_modules/@loopback/rest/dist/router/routing-table.d.ts", - "./node_modules/@loopback/rest/dist/router/route-sort.d.ts", - "./node_modules/@loopback/rest/dist/router/openapi-path.d.ts", - "./node_modules/@loopback/rest/dist/router/trie.d.ts", - "./node_modules/@loopback/rest/dist/router/router-spec.d.ts" - ], - "./node_modules/@loopback/rest/dist/types.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/ajv/lib/ajv.d.ts", - "./node_modules/@types/body-parser/index.d.ts", - "./node_modules/@types/express/index.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.helpers.d.ts": [ - "./node_modules/@types/body-parser/index.d.ts", - "./node_modules/@types/http-errors/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.json.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.raw.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.stream.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.text.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.urlencoded.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts": [ - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.helpers.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.json.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.raw.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.stream.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.text.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.urlencoded.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts" - ], - "./node_modules/strong-error-handler/index.d.ts": [ - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/keys.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/http-server/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@types/node/https.d.ts", - "./node_modules/strong-error-handler/index.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/@loopback/rest/dist/http-handler.d.ts", - "./node_modules/@loopback/rest/dist/rest.server.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/sequence.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@types/node/index.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/parser.d.ts": [ - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/bind-element.provider.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/find-route.provider.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/http-handler.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/get-from-context.provider.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/invoke-method.provider.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/log-error.provider.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/reject.provider.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/strong-error-handler/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/parse-params.provider.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/writer.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/send.provider.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/writer.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/index.d.ts": [ - "./node_modules/@loopback/rest/dist/providers/bind-element.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/find-route.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/get-from-context.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/invoke-method.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/log-error.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/reject.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/parse-params.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/send.provider.d.ts" - ], - "./node_modules/@loopback/rest/dist/rest-http-error.d.ts": [ - "./node_modules/@types/http-errors/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/rest.application.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@loopback/rest/node_modules/@types/serve-static/index.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/@loopback/rest/dist/keys.d.ts", - "./node_modules/@loopback/rest/dist/rest.server.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/router/router-spec.d.ts", - "./node_modules/@loopback/rest/dist/sequence.d.ts" - ], - "./node_modules/@loopback/rest/dist/spec-enhancers/consolidate.spec-enhancer.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/spec-enhancers/info.spec-enhancer.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/rest.component.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/@loopback/rest/dist/rest.server.d.ts", - "./node_modules/@loopback/rest/dist/spec-enhancers/consolidate.spec-enhancer.d.ts", - "./node_modules/@loopback/rest/dist/spec-enhancers/info.spec-enhancer.d.ts" - ], - "./node_modules/@loopback/rest/dist/validation/request-body.validator.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts" - ], - "./node_modules/@loopback/rest/dist/index.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/@loopback/rest/dist/http-handler.d.ts", - "./node_modules/@loopback/rest/dist/keys.d.ts", - "./node_modules/@loopback/rest/dist/parse-json.d.ts", - "./node_modules/@loopback/rest/dist/parser.d.ts", - "./node_modules/@loopback/rest/dist/providers/index.d.ts", - "./node_modules/@loopback/rest/dist/request-context.d.ts", - "./node_modules/@loopback/rest/dist/rest-http-error.d.ts", - "./node_modules/@loopback/rest/dist/rest.application.d.ts", - "./node_modules/@loopback/rest/dist/rest.component.d.ts", - "./node_modules/@loopback/rest/dist/rest.server.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/sequence.d.ts", - "./node_modules/@loopback/rest/dist/spec-enhancers/info.spec-enhancer.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/validation/request-body.validator.d.ts", - "./node_modules/@loopback/rest/dist/writer.d.ts", - "./node_modules/@types/http-errors/index.d.ts" - ], - "./node_modules/@loopback/rest/index.d.ts": [ - "./node_modules/@loopback/rest/dist/index.d.ts" - ], - "./src/sequence.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/account.d.ts": [ - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/config/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/config/configuration.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/unlocked-account.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/account.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/account.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/unlocked-account.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/keybase/keybase.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/account.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/unlocked-account.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/keybase/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/keybase.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/staking-status.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/routing-table/routing-table.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/config/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/storage/kv-store.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/routing-table/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/routing-table/routing-table.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/consensus-node.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/minority-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/consensus-relay-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/consensus-node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/majority-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/minority-response.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/dispatch-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/msg-claim.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/evidence-type.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/simple-proof.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/utils/hex.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/tx-proof.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/utils/hex.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/simple-proof.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/response-deliver-tx.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/transaction.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/utils/hex.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/tx-proof.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/response-deliver-tx.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stdtx.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-account-txs-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/transaction.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-app-params-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application-params.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/staking-status.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-app-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-apps-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-id.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/part-set-header.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-header.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-id.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-meta.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-id.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-header.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit-signature.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-id.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-id.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit-signature.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-header.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-block-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-meta.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-block-txs-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/transaction.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claim-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/msg-claim.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claims-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/msg-claim.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-params-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node-params.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stored-receipt.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/session-header.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-receipt-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stored-receipt.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-receipts-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stored-receipt.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-nodes-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-pocket-params-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/pocket-params.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-tx-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/transaction.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/raw-tx-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/tx-log.d.ts" - ], - "./node_modules/@pokt-network/aat-js/lib/src/utils/index.d.ts": [ - "./node_modules/@pokt-network/aat-js/lib/src/utils/enums.d.ts", - "./node_modules/@pokt-network/aat-js/lib/src/utils/helper.d.ts" - ], - "./node_modules/@pokt-network/aat-js/lib/src/index.d.ts": [ - "./node_modules/@pokt-network/aat-js/lib/src/utils/index.d.ts", - "./node_modules/@pokt-network/aat-js/lib/src/pocket-aat.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/relay-proof-response.d.ts": [ - "./node_modules/@pokt-network/aat-js/lib/src/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/relay-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/relay-proof-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/session.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/session-header.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/challenge-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/consensus-relay-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/dispatch-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/msg-claim.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-account-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-account-txs-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-all-params-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-app-params-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-app-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-apps-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-balance-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-block-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-block-txs-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-height-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claim-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claims-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-params-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-receipt-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-receipts-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-nodes-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-pocket-params-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-supply-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-supported-chains-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-tx-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-upgrade-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/raw-tx-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/relay-proof-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/relay-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/session.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/tx-log.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/majority-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/challenge-request.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/majority-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/minority-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/dispatch-request.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/session-header.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/raw-tx-request.d.ts": [ - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/request-hash.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-payload.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-meta.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/relay-proof.d.ts": [ - "./node_modules/@pokt-network/aat-js/lib/src/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/request-hash.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-request.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/relay-proof.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-payload.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-meta.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/challenge-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/dispatch-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/majority-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/minority-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/node-receipt.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/raw-tx-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-meta.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-payload.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/request-hash.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/session-header.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/result-tx.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/response-deliver-tx.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application-params.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-header.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-id.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-meta.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit-signature.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/consensus-node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/consensus.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/event.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/evidence-type.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/jailed-status.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node-params.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/part-set-header.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/pocket-params.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/relay-proof.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/response-deliver-tx.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/result-tx.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/routes.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/simple-proof.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/staking-status.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stdtx.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stored-receipt.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/transaction.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/tx-proof.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/rpc-error.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/rpc-error.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/i-rpc-provider.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/rpc-error.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/http-rpc-provider.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/i-rpc-provider.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/session/session-manager.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/session.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/storage/kv-store.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/config/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/rpc-error.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts", - "./node_modules/@pokt-network/aat-js/lib/src/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/utils/base-profiler.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/utils/models/profile-result.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/pocket.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/config/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/session/session-manager.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/keybase.d.ts", - "./node_modules/@pokt-network/aat-js/lib/src/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/consensus-relay-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/consensus-node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/challenge-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/base-profiler.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/pocket-rpc-provider.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/i-rpc-provider.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/pocket.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/http-rpc-provider.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/i-rpc-provider.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/pocket-rpc-provider.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/client.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/query.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/challenge-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/challenge-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-account-txs-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/jailed-status.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-block-txs-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claim-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claims-response.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/client.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/query.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/rpc.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/client.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/query.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/rpc.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/session/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/session/queue.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/session/session-manager.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/storage/in-memory-kv-store.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/storage/kv-store.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/storage/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/storage/in-memory-kv-store.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/storage/kv-store.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/tx-signature.d.ts": [ - "./node_modules/@pokt-network/amino-js/types/src/types/pocket.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-stake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-unjail.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-unstake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-stake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-unjail.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-unstake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-stake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-unjail.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-unstake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-stake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-unjail.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-unstake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-send.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-send.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-stake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-unjail.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-unstake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-stake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-unjail.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-unstake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-stake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-unjail.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-unstake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-stake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-unjail.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-unstake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-send.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-send.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/amino-encodable.d.ts": [ - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/std-sign-doc.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/amino-encodable.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/coin-denom.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/std-tx.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/amino-encodable.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/std-sign-doc.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/tx-signature.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/transaction-signature.d.ts": [ - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/amino-encodable.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/coin-denom.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/std-sign-doc.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/std-tx.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/transaction-signature.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/tx-signature.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/base-tx-encoder.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/tx-signature.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/amino-tx-encoder.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/tx-signature.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/base-tx-encoder.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/proto-tx-encoder.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/tx-signature.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/base-tx-encoder.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/tx-encoder-factory.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/base-tx-encoder.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/coin-denom.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/amino-tx-encoder.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/base-tx-encoder.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/proto-tx-encoder.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/tx-encoder-factory.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/i-transaction-sender.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/coin-denom.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/transaction-sender.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/transaction-signer.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/transaction-signature.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/i-transaction-sender.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/transaction-sender.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/transaction-signer.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/utils/models/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/utils/models/profile-result.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/utils/key-pair.d.ts": [ - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/utils/no-op-profiler.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/utils/models/profile-result.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/base-profiler.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/utils/validator.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/challenge-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/majority-response.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/utils/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/utils/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/base-profiler.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/hex.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/key-pair.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/no-op-profiler.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/type-guard.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/url.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/validator.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/config/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/routing-table/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/session/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/storage/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/pocket.d.ts" - ], - "./node_modules/@types/pg/index.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/pg-types/index.d.ts", - "./node_modules/@types/node/tls.d.ts", - "./node_modules/@types/pg/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./src/services/relay-profiler.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@types/pg/index.d.ts" - ], - "./src/application.ts": [ - "./node_modules/@loopback/boot/dist/index.d.ts", - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/rest/index.d.ts", - "./node_modules/@loopback/service-proxy/dist/index.d.ts", - "./src/sequence.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/account.d.ts", - "./src/services/relay-profiler.ts", - "./node_modules/@types/node/path.d.ts" - ], - "./src/index.ts": [ - "./src/application.ts", - "./node_modules/@loopback/core/dist/index.d.ts" - ], - "./src/migrate.ts": [ - "./src/application.ts" - ], - "./node_modules/@types/superagent/index.d.ts": [ - "./node_modules/@types/node/fs.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/cookiejar/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/supertest/index.d.ts": [ - "./node_modules/@types/superagent/index.d.ts" - ], - "./node_modules/@loopback/testlab/dist/client.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/supertest/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/testlab/dist/expect.d.ts": [ - "./node_modules/@loopback/testlab/should-as-function.d.ts" - ], - "./node_modules/@loopback/testlab/dist/http-error-logger.d.ts": [ - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/testlab/dist/http-server-config.d.ts": [ - "./node_modules/@types/node/https.d.ts", - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/testlab/dist/request.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/https.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/shot/index.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/testlab/dist/shot.d.ts": [ - "./node_modules/@types/express/index.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/shot/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/sinon/index.d.ts": [ - "./node_modules/@sinonjs/fake-timers/types/fake-timers-src.d.ts" - ], - "./node_modules/@loopback/testlab/dist/sinon.d.ts": [ - "./node_modules/@types/sinon/index.d.ts" - ], - "./node_modules/@loopback/testlab/dist/index.d.ts": [ - "./node_modules/@loopback/testlab/dist/client.d.ts", - "./node_modules/@loopback/testlab/dist/expect.d.ts", - "./node_modules/@loopback/testlab/dist/http-error-logger.d.ts", - "./node_modules/@loopback/testlab/dist/http-server-config.d.ts", - "./node_modules/@loopback/testlab/dist/request.d.ts", - "./node_modules/@loopback/testlab/dist/shot.d.ts", - "./node_modules/@loopback/testlab/dist/sinon.d.ts", - "./node_modules/@loopback/testlab/dist/skip.d.ts", - "./node_modules/@loopback/testlab/dist/test-sandbox.d.ts", - "./node_modules/@loopback/testlab/dist/to-json.d.ts", - "./node_modules/@loopback/testlab/dist/validate-api-spec.d.ts" - ], - "./src/__tests__/acceptance/test-helper.ts": [ - "./src/index.ts", - "./node_modules/@loopback/testlab/dist/index.d.ts" - ], - "./src/__tests__/acceptance/home-page.acceptance.ts": [ - "./node_modules/@loopback/testlab/dist/index.d.ts", - "./src/index.ts", - "./src/__tests__/acceptance/test-helper.ts" - ], - "./src/__tests__/acceptance/ping.controller.acceptance.ts": [ - "./node_modules/@loopback/testlab/dist/index.d.ts", - "./src/index.ts", - "./src/__tests__/acceptance/test-helper.ts" - ], - "./src/models/blockchains.model.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts" - ], - "./src/models/applications.model.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts" - ], - "./src/models/load-balancers.model.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts" - ], - "./src/models/index.ts": [ - "./src/models/blockchains.model.ts", - "./src/models/applications.model.ts", - "./src/models/load-balancers.model.ts" - ], - "./src/datasources/gateway.datasource.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/rest/index.d.ts" - ], - "./src/datasources/index.ts": [ - "./src/datasources/gateway.datasource.ts" - ], - "./src/repositories/blockchains.repository.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./src/models/index.ts", - "./src/datasources/index.ts", - "./node_modules/@loopback/core/dist/index.d.ts" - ], - "./src/repositories/applications.repository.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./src/models/index.ts", - "./src/datasources/index.ts", - "./node_modules/@loopback/core/dist/index.d.ts" - ], - "./src/repositories/load-balancers.repository.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./src/models/index.ts", - "./src/datasources/index.ts", - "./node_modules/@loopback/core/dist/index.d.ts" - ], - "./src/repositories/index.ts": [ - "./src/repositories/blockchains.repository.ts", - "./src/repositories/applications.repository.ts", - "./src/repositories/load-balancers.repository.ts" - ], - "./src/controllers/blockchains.controller.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/rest/index.d.ts", - "./src/models/index.ts", - "./src/repositories/index.ts" - ], - "./src/controllers/ping.controller.ts": [ - "./node_modules/@loopback/rest/index.d.ts", - "./node_modules/@loopback/context/dist/index.d.ts" - ], - "./node_modules/@types/ioredis/index.d.ts": [ - "./node_modules/@types/node/tls.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./src/services/cherry-picker.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@types/ioredis/index.d.ts", - "./src/models/index.ts" - ], - "./src/services/metrics-recorder.ts": [ - "./node_modules/@types/ioredis/index.d.ts", - "./node_modules/@types/pg/index.d.ts", - "./src/services/cherry-picker.ts" - ], - "./src/services/sync-checker.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./src/services/metrics-recorder.ts", - "./node_modules/@types/ioredis/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/typings/interface/index.d.ts": [ - "./node_modules/strong-cryptor/dist/typings/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/typings/index.d.ts": [ - "./node_modules/strong-cryptor/dist/typings/interface/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/v2/decryptor.d.ts": [ - "./node_modules/strong-cryptor/dist/typings/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/v2/encryptor.d.ts": [ - "./node_modules/strong-cryptor/dist/typings/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/deprecated.d.ts": [ - "./node_modules/strong-cryptor/dist/v2/decryptor.d.ts", - "./node_modules/strong-cryptor/dist/v2/encryptor.d.ts" - ], - "./node_modules/strong-cryptor/dist/utils.d.ts": [ - "./node_modules/strong-cryptor/dist/typings/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/encryptor.d.ts": [ - "./node_modules/strong-cryptor/dist/typings/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/decryptor.d.ts": [ - "./node_modules/strong-cryptor/dist/typings/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/index.d.ts": [ - "./node_modules/strong-cryptor/dist/deprecated.d.ts", - "./node_modules/strong-cryptor/dist/utils.d.ts", - "./node_modules/strong-cryptor/dist/encryptor.d.ts", - "./node_modules/strong-cryptor/dist/decryptor.d.ts" - ], - "./src/services/pocket-relayer.ts": [ - "./src/services/cherry-picker.ts", - "./src/services/metrics-recorder.ts", - "./src/services/sync-checker.ts", - "./node_modules/strong-cryptor/dist/index.d.ts", - "./node_modules/@loopback/rest/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@types/ioredis/index.d.ts", - "./src/repositories/index.ts", - "./src/models/index.ts", - "./src/errors/relay-error.ts" - ], - "./src/controllers/v1.controller.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/rest/index.d.ts", - "./src/models/index.ts", - "./src/repositories/index.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@types/ioredis/index.d.ts", - "./node_modules/@types/pg/index.d.ts", - "./src/services/cherry-picker.ts", - "./src/services/metrics-recorder.ts", - "./src/services/pocket-relayer.ts", - "./src/services/sync-checker.ts" - ], - "./src/controllers/index.ts": [ - "./src/controllers/ping.controller.ts", - "./src/controllers/v1.controller.ts", - "./src/controllers/blockchains.controller.ts" - ], - "./src/controllers/web3index.controller.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/index.d.ts", - "./node_modules/@types/pg/index.d.ts" - ], - "./node_modules/winston-transport/index.d.ts": [ - "./node_modules/@types/node/stream.d.ts", - "./node_modules/logform/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/winston-logzio/lib/winston-logzio.d.ts": [ - "./node_modules/logzio-nodejs/lib/logzio-nodejs.d.ts", - "./node_modules/winston-transport/index.d.ts" - ], - "./src/services/logger.ts": [ - "./node_modules/@loopback/rest/index.d.ts", - "./node_modules/winston-logzio/lib/winston-logzio.d.ts" - ], - "./node_modules/@types/keyv/index.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/responselike/index.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/cacheable-request/index.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/url.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/keyv/index.d.ts", - "./node_modules/@types/http-cache-semantics/index.d.ts", - "./node_modules/@types/responselike/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/fs-extra/index.d.ts": [ - "./node_modules/@types/node/fs.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/glob/index.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/minimatch/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/on-finished/index.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/scrypt-js/index.d.ts": [ - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/type-is/index.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/varint/index.d.ts": [ - "./node_modules/@types/node/index.d.ts" - ] - }, - "exportedModulesMap": { - "./node_modules/@loopback/metadata/dist/decorator-factory.d.ts": [ - "./node_modules/@loopback/metadata/dist/types.d.ts" - ], - "./node_modules/@loopback/metadata/dist/reflect.d.ts": [ - "./node_modules/reflect-metadata/index.d.ts" - ], - "./node_modules/@loopback/metadata/dist/inspector.d.ts": [ - "./node_modules/@loopback/metadata/dist/reflect.d.ts", - "./node_modules/@loopback/metadata/dist/types.d.ts" - ], - "./node_modules/@loopback/metadata/dist/index.d.ts": [ - "./node_modules/@loopback/metadata/dist/decorator-factory.d.ts", - "./node_modules/@loopback/metadata/dist/inspector.d.ts", - "./node_modules/@loopback/metadata/dist/reflect.d.ts", - "./node_modules/@loopback/metadata/dist/types.d.ts" - ], - "./node_modules/@types/node/child_process.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/net.d.ts" - ], - "./node_modules/@types/node/cluster.d.ts": [ - "./node_modules/@types/node/child_process.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/net.d.ts" - ], - "./node_modules/@types/node/crypto.d.ts": [ - "./node_modules/@types/node/stream.d.ts" - ], - "./node_modules/@types/node/dgram.d.ts": [ - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/dns.d.ts", - "./node_modules/@types/node/events.d.ts" - ], - "./node_modules/@types/node/domain.d.ts": [ - "./node_modules/@types/node/events.d.ts" - ], - "./node_modules/@types/node/events.d.ts": [ - "./node_modules/@types/node/events.d.ts" - ], - "./node_modules/@types/node/fs.d.ts": [ - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/url.d.ts" - ], - "./node_modules/@types/node/http.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/url.d.ts" - ], - "./node_modules/@types/node/http2.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/fs.d.ts", - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/tls.d.ts", - "./node_modules/@types/node/url.d.ts", - "./node_modules/@types/node/http.d.ts" - ], - "./node_modules/@types/node/https.d.ts": [ - "./node_modules/@types/node/tls.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/url.d.ts" - ], - "./node_modules/@types/node/inspector.d.ts": [ - "./node_modules/@types/node/events.d.ts" - ], - "./node_modules/@types/node/net.d.ts": [ - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/dns.d.ts" - ], - "./node_modules/@types/node/perf_hooks.d.ts": [ - "./node_modules/@types/node/async_hooks.d.ts" - ], - "./node_modules/@types/node/readline.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/stream.d.ts" - ], - "./node_modules/@types/node/repl.d.ts": [ - "./node_modules/@types/node/readline.d.ts", - "./node_modules/@types/node/vm.d.ts", - "./node_modules/@types/node/util.d.ts" - ], - "./node_modules/@types/node/stream.d.ts": [ - "./node_modules/@types/node/events.d.ts" - ], - "./node_modules/@types/node/tls.d.ts": [ - "./node_modules/@types/node/crypto.d.ts", - "./node_modules/@types/node/dns.d.ts", - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/stream.d.ts" - ], - "./node_modules/@types/node/tty.d.ts": [ - "./node_modules/@types/node/net.d.ts" - ], - "./node_modules/@types/node/url.d.ts": [ - "./node_modules/@types/node/querystring.d.ts" - ], - "./node_modules/@types/node/worker_threads.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/stream.d.ts" - ], - "./node_modules/@types/node/zlib.d.ts": [ - "./node_modules/@types/node/stream.d.ts" - ], - "./node_modules/@types/node/ts3.6/base.d.ts": [ - "./node_modules/@types/node/globals.d.ts", - "./node_modules/@types/node/async_hooks.d.ts", - "./node_modules/@types/node/buffer.d.ts", - "./node_modules/@types/node/child_process.d.ts", - "./node_modules/@types/node/cluster.d.ts", - "./node_modules/@types/node/console.d.ts", - "./node_modules/@types/node/constants.d.ts", - "./node_modules/@types/node/crypto.d.ts", - "./node_modules/@types/node/dgram.d.ts", - "./node_modules/@types/node/dns.d.ts", - "./node_modules/@types/node/domain.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/fs.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/http2.d.ts", - "./node_modules/@types/node/https.d.ts", - "./node_modules/@types/node/inspector.d.ts", - "./node_modules/@types/node/module.d.ts", - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/os.d.ts", - "./node_modules/@types/node/path.d.ts", - "./node_modules/@types/node/perf_hooks.d.ts", - "./node_modules/@types/node/process.d.ts", - "./node_modules/@types/node/punycode.d.ts", - "./node_modules/@types/node/querystring.d.ts", - "./node_modules/@types/node/readline.d.ts", - "./node_modules/@types/node/repl.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/string_decoder.d.ts", - "./node_modules/@types/node/timers.d.ts", - "./node_modules/@types/node/tls.d.ts", - "./node_modules/@types/node/trace_events.d.ts", - "./node_modules/@types/node/tty.d.ts", - "./node_modules/@types/node/url.d.ts", - "./node_modules/@types/node/util.d.ts", - "./node_modules/@types/node/v8.d.ts", - "./node_modules/@types/node/vm.d.ts", - "./node_modules/@types/node/worker_threads.d.ts", - "./node_modules/@types/node/zlib.d.ts" - ], - "./node_modules/@types/node/base.d.ts": [ - "./node_modules/@types/node/ts3.6/base.d.ts", - "./node_modules/@types/node/assert.d.ts" - ], - "./node_modules/@types/node/index.d.ts": [ - "./node_modules/@types/node/base.d.ts", - "./node_modules/@types/node/ts3.6/base.d.ts" - ], - "./node_modules/@loopback/context/dist/binding-filter.d.ts": [ - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/binding-sorter.d.ts": [ - "./node_modules/@loopback/context/dist/binding.d.ts" - ], - "./node_modules/@loopback/context/dist/inject.d.ts": [ - "./node_modules/@loopback/metadata/dist/index.d.ts", - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/binding-sorter.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/json-types.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/resolution-session.d.ts": [ - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/inject.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/binding-config.d.ts": [ - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/context-event.d.ts": [ - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts" - ], - "./node_modules/@loopback/context/dist/context-observer.d.ts": [ - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/context-subscription.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/context-event.d.ts", - "./node_modules/@loopback/context/dist/context-observer.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/context/dist/context-tag-indexer.d.ts": [ - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/context-view.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/binding-sorter.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/context-event.d.ts", - "./node_modules/@loopback/context/dist/context-observer.d.ts", - "./node_modules/@loopback/context/dist/context-subscription.d.ts", - "./node_modules/@loopback/context/dist/inject.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/context/dist/context.d.ts": [ - "./node_modules/@types/debug/index.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-config.d.ts", - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/binding-sorter.d.ts", - "./node_modules/@loopback/context/dist/context-event.d.ts", - "./node_modules/@loopback/context/dist/context-observer.d.ts", - "./node_modules/@loopback/context/dist/context-subscription.d.ts", - "./node_modules/@loopback/context/dist/context-tag-indexer.d.ts", - "./node_modules/@loopback/context/dist/context-view.d.ts", - "./node_modules/@loopback/context/dist/json-types.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/context/dist/provider.d.ts": [ - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/binding.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/json-types.d.ts", - "./node_modules/@loopback/context/dist/provider.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/context/dist/binding-inspector.d.ts": [ - "./node_modules/@loopback/metadata/dist/index.d.ts", - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/provider.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/binding-decorator.d.ts": [ - "./node_modules/@loopback/context/dist/binding-inspector.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/inject-config.d.ts": [ - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/inject.d.ts" - ], - "./node_modules/@loopback/context/dist/invocation.d.ts": [ - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/interception-proxy.d.ts": [ - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/invocation.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/interceptor-chain.d.ts": [ - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/binding-sorter.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/invocation.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/interceptor.d.ts": [ - "./node_modules/@loopback/metadata/dist/index.d.ts", - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-inspector.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/interceptor-chain.d.ts", - "./node_modules/@loopback/context/dist/invocation.d.ts", - "./node_modules/@loopback/context/dist/provider.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/keys.d.ts": [ - "./node_modules/@loopback/context/dist/binding-config.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts" - ], - "./node_modules/@loopback/context/dist/resolver.d.ts": [ - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/context/dist/unique-id.d.ts": [ - "./node_modules/hyperid/index.d.ts" - ], - "./node_modules/@loopback/context/dist/index.d.ts": [ - "./node_modules/@loopback/metadata/dist/index.d.ts", - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-config.d.ts", - "./node_modules/@loopback/context/dist/binding-decorator.d.ts", - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/binding-inspector.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@loopback/context/dist/binding-sorter.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/context-event.d.ts", - "./node_modules/@loopback/context/dist/context-observer.d.ts", - "./node_modules/@loopback/context/dist/context-subscription.d.ts", - "./node_modules/@loopback/context/dist/context-view.d.ts", - "./node_modules/@loopback/context/dist/inject.d.ts", - "./node_modules/@loopback/context/dist/inject-config.d.ts", - "./node_modules/@loopback/context/dist/interception-proxy.d.ts", - "./node_modules/@loopback/context/dist/interceptor.d.ts", - "./node_modules/@loopback/context/dist/interceptor-chain.d.ts", - "./node_modules/@loopback/context/dist/invocation.d.ts", - "./node_modules/@loopback/context/dist/json-types.d.ts", - "./node_modules/@loopback/context/dist/keys.d.ts", - "./node_modules/@loopback/context/dist/provider.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/resolver.d.ts", - "./node_modules/@loopback/context/dist/unique-id.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts" - ], - "./node_modules/@loopback/core/dist/lifecycle.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts" - ], - "./node_modules/@loopback/core/dist/server.d.ts": [ - "./node_modules/@loopback/core/dist/lifecycle.d.ts" - ], - "./node_modules/@loopback/core/dist/component.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/application.d.ts", - "./node_modules/@loopback/core/dist/lifecycle.d.ts", - "./node_modules/@loopback/core/dist/server.d.ts" - ], - "./node_modules/@loopback/core/dist/service.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/application.d.ts" - ], - "./node_modules/@loopback/core/dist/application.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/component.d.ts", - "./node_modules/@loopback/core/dist/lifecycle.d.ts", - "./node_modules/@loopback/core/dist/server.d.ts", - "./node_modules/@loopback/core/dist/service.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/core/dist/extension-point.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts" - ], - "./node_modules/@loopback/core/dist/lifecycle-registry.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/lifecycle.d.ts" - ], - "./node_modules/@loopback/core/dist/keys.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/application.d.ts", - "./node_modules/@loopback/core/dist/lifecycle-registry.d.ts" - ], - "./node_modules/@loopback/core/dist/mixin-target.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts" - ], - "./node_modules/@loopback/core/dist/index.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/application.d.ts", - "./node_modules/@loopback/core/dist/component.d.ts", - "./node_modules/@loopback/core/dist/extension-point.d.ts", - "./node_modules/@loopback/core/dist/keys.d.ts", - "./node_modules/@loopback/core/dist/lifecycle.d.ts", - "./node_modules/@loopback/core/dist/lifecycle-registry.d.ts", - "./node_modules/@loopback/core/dist/mixin-target.d.ts", - "./node_modules/@loopback/core/dist/server.d.ts", - "./node_modules/@loopback/core/dist/service.d.ts" - ], - "./node_modules/@loopback/boot/dist/types.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/application-metadata.booter.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/booter-utils.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/component-application.booter.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/controller.booter.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/repository/dist/type-resolver.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/type.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/any.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/array.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/boolean.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/buffer.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/types/type.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/date.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/object.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/model.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/types/object.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/null.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/number.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/string.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/union.d.ts": [ - "./node_modules/@loopback/repository/dist/types/type.d.ts" - ], - "./node_modules/@loopback/repository/dist/types/index.d.ts": [ - "./node_modules/@loopback/repository/dist/types/any.d.ts", - "./node_modules/@loopback/repository/dist/types/array.d.ts", - "./node_modules/@loopback/repository/dist/types/boolean.d.ts", - "./node_modules/@loopback/repository/dist/types/buffer.d.ts", - "./node_modules/@loopback/repository/dist/types/date.d.ts", - "./node_modules/@loopback/repository/dist/types/model.d.ts", - "./node_modules/@loopback/repository/dist/types/null.d.ts", - "./node_modules/@loopback/repository/dist/types/number.d.ts", - "./node_modules/@loopback/repository/dist/types/object.d.ts", - "./node_modules/@loopback/repository/dist/types/string.d.ts", - "./node_modules/@loopback/repository/dist/types/type.d.ts", - "./node_modules/@loopback/repository/dist/types/union.d.ts" - ], - "./node_modules/@loopback/repository/dist/model.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/type-resolver.d.ts", - "./node_modules/@loopback/repository/dist/types/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/connectors/connector.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts" - ], - "./node_modules/@loopback/repository/dist/query.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts" - ], - "./node_modules/@loopback/repository/dist/connectors/crud.connector.d.ts": [ - "./node_modules/@loopback/repository/dist/connectors/connector.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts" - ], - "./node_modules/@loopback/repository/dist/connectors/kv.connector.d.ts": [ - "./node_modules/@loopback/repository/dist/connectors/connector.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts" - ], - "./node_modules/@loopback/repository/dist/connectors/index.d.ts": [ - "./node_modules/@loopback/repository/dist/connectors/connector.d.ts", - "./node_modules/@loopback/repository/dist/connectors/crud.connector.d.ts", - "./node_modules/@loopback/repository/dist/connectors/kv.connector.d.ts" - ], - "./node_modules/@loopback/repository/dist/datasource.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/connectors/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/decorators/metadata.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts" - ], - "./node_modules/@loopback/repository/dist/decorators/model.decorator.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/type-resolver.d.ts", - "./node_modules/@loopback/core/dist/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/datasource.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts", - "./node_modules/@loopback/repository/dist/transaction.d.ts" - ], - "./node_modules/@loopback/repository/dist/repositories/kv.repository.d.ts": [ - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/connector.d.ts": [ - "./node_modules/loopback-datasource-juggler/index.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/transaction-mixin.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/datasource.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/connector.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/loopback-datasource-juggler/types/transaction-mixin.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/observer-mixin.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/model.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/datasource.d.ts", - "./node_modules/loopback-datasource-juggler/types/observer-mixin.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/persisted-model.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts", - "./node_modules/loopback-datasource-juggler/types/query.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/relation.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts", - "./node_modules/loopback-datasource-juggler/types/persisted-model.d.ts", - "./node_modules/loopback-datasource-juggler/types/query.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/kv-model.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/scope.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts", - "./node_modules/loopback-datasource-juggler/types/persisted-model.d.ts", - "./node_modules/loopback-datasource-juggler/types/query.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/relation-mixin.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/relation.d.ts", - "./node_modules/loopback-datasource-juggler/types/persisted-model.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/validation-mixin.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts" - ], - "./node_modules/loopback-datasource-juggler/types/inclusion-mixin.d.ts": [ - "./node_modules/loopback-datasource-juggler/index.d.ts", - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/query.d.ts" - ], - "./node_modules/loopback-datasource-juggler/index.d.ts": [ - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts", - "./node_modules/loopback-datasource-juggler/types/relation.d.ts", - "./node_modules/loopback-datasource-juggler/types/query.d.ts", - "./node_modules/loopback-datasource-juggler/types/datasource.d.ts", - "./node_modules/loopback-datasource-juggler/types/kv-model.d.ts", - "./node_modules/loopback-datasource-juggler/types/persisted-model.d.ts", - "./node_modules/loopback-datasource-juggler/types/scope.d.ts", - "./node_modules/loopback-datasource-juggler/types/transaction-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/types/relation-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/types/observer-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/types/validation-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/types/inclusion-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/types/connector.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.decorator.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.repository.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to-accessor.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.inclusion-resolver.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/belongs-to/index.d.ts": [ - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.decorator.d.ts", - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to-accessor.d.ts", - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.inclusion-resolver.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.repository.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-repository.factory.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.repository.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-through.repository.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-through-repository.factory.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-through.repository.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.decorator.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.inclusion-resolver.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-many/index.d.ts": [ - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-repository.factory.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-through-repository.factory.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-through.repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.decorator.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.inclusion-resolver.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.repository.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-one/has-one.decorator.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-one/has-one.repository.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/repositories/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-one/has-one-repository.factory.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-one/has-one.repository.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/has-one/index.d.ts": [ - "./node_modules/@loopback/repository/dist/relations/has-one/has-one.decorator.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-one/has-one.repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-one/has-one-repository.factory.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/relation.decorator.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/relation.helpers.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/relations/index.d.ts": [ - "./node_modules/@loopback/repository/dist/relations/belongs-to/index.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/index.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-one/index.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.decorator.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.helpers.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts" - ], - "./node_modules/@loopback/repository/dist/repositories/legacy-juggler-bridge.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/loopback-datasource-juggler/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/relations/index.d.ts", - "./node_modules/@loopback/repository/dist/transaction.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts" - ], - "./node_modules/@loopback/repository/dist/repositories/kv.repository.bridge.d.ts": [ - "./node_modules/loopback-datasource-juggler/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/kv.repository.d.ts", - "./node_modules/@loopback/repository/dist/repositories/legacy-juggler-bridge.d.ts" - ], - "./node_modules/@loopback/repository/dist/repositories/constraint-utils.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts" - ], - "./node_modules/@loopback/repository/dist/repositories/index.d.ts": [ - "./node_modules/@loopback/repository/dist/repositories/kv.repository.d.ts", - "./node_modules/@loopback/repository/dist/repositories/legacy-juggler-bridge.d.ts", - "./node_modules/@loopback/repository/dist/repositories/kv.repository.bridge.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/repositories/constraint-utils.d.ts" - ], - "./node_modules/@loopback/repository/dist/decorators/repository.decorator.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/datasource.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/index.d.ts", - "./node_modules/@loopback/repository/dist/repositories/legacy-juggler-bridge.d.ts" - ], - "./node_modules/@loopback/repository/dist/decorators/index.d.ts": [ - "./node_modules/@loopback/repository/dist/decorators/metadata.d.ts", - "./node_modules/@loopback/repository/dist/decorators/model.decorator.d.ts", - "./node_modules/@loopback/repository/dist/decorators/repository.decorator.d.ts" - ], - "./node_modules/@loopback/repository/dist/define-model-class.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts" - ], - "./node_modules/@loopback/repository/dist/define-repository-class.d.ts": [ - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/errors/entity-not-found.error.d.ts": [ - "./node_modules/@loopback/repository/dist/model.d.ts" - ], - "./node_modules/@loopback/repository/dist/errors/invalid-relation.error.d.ts": [ - "./node_modules/@loopback/repository/dist/relations/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/errors/index.d.ts": [ - "./node_modules/@loopback/repository/dist/errors/entity-not-found.error.d.ts", - "./node_modules/@loopback/repository/dist/errors/invalid-relation.error.d.ts" - ], - "./node_modules/@loopback/repository/dist/mixins/repository.mixin.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/datasource.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/repositories/index.d.ts" - ], - "./node_modules/@loopback/repository/dist/mixins/index.d.ts": [ - "./node_modules/@loopback/repository/dist/mixins/repository.mixin.d.ts" - ], - "./node_modules/@loopback/repository/dist/index.d.ts": [ - "./node_modules/@types/json-schema/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/connectors/index.d.ts", - "./node_modules/@loopback/repository/dist/datasource.d.ts", - "./node_modules/@loopback/repository/dist/decorators/index.d.ts", - "./node_modules/@loopback/repository/dist/define-model-class.d.ts", - "./node_modules/@loopback/repository/dist/define-repository-class.d.ts", - "./node_modules/@loopback/repository/dist/errors/index.d.ts", - "./node_modules/@loopback/repository/dist/keys.d.ts", - "./node_modules/@loopback/repository/dist/mixins/index.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/relations/index.d.ts", - "./node_modules/@loopback/repository/dist/repositories/index.d.ts", - "./node_modules/@loopback/repository/dist/transaction.d.ts", - "./node_modules/@loopback/repository/dist/type-resolver.d.ts", - "./node_modules/@loopback/repository/dist/types/index.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/datasource.booter.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/interceptor.booter.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/lifecyle-observer.booter.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/model-api-builder/dist/model-api-config.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts" - ], - "./node_modules/@loopback/model-api-builder/dist/model-api-builder.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/model-api-builder/dist/model-api-config.d.ts" - ], - "./node_modules/@loopback/model-api-builder/dist/index.d.ts": [ - "./node_modules/@loopback/model-api-builder/dist/model-api-builder.d.ts", - "./node_modules/@loopback/model-api-builder/dist/model-api-config.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/model-api.booter.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/model-api-builder/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/model.booter.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/repository.booter.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/service-proxy/dist/decorators/service.decorator.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/service-proxy/dist/index.d.ts" - ], - "./node_modules/@loopback/service-proxy/dist/legacy-juggler-bridge.d.ts": [ - "./node_modules/loopback-datasource-juggler/index.d.ts" - ], - "./node_modules/@loopback/service-proxy/dist/mixins/service.mixin.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts" - ], - "./node_modules/@loopback/service-proxy/dist/mixins/index.d.ts": [ - "./node_modules/@loopback/service-proxy/dist/mixins/service.mixin.d.ts" - ], - "./node_modules/@loopback/service-proxy/dist/index.d.ts": [ - "./node_modules/@loopback/service-proxy/dist/decorators/service.decorator.d.ts", - "./node_modules/@loopback/service-proxy/dist/legacy-juggler-bridge.d.ts", - "./node_modules/@loopback/service-proxy/dist/mixins/index.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/service.booter.d.ts": [ - "./node_modules/@loopback/service-proxy/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts" - ], - "./node_modules/@loopback/boot/dist/booters/index.d.ts": [ - "./node_modules/@loopback/boot/dist/booters/application-metadata.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/booter-utils.d.ts", - "./node_modules/@loopback/boot/dist/booters/component-application.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/controller.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/datasource.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/interceptor.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/lifecyle-observer.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/model-api.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/model.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/repository.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/service.booter.d.ts" - ], - "./node_modules/@loopback/boot/dist/boot.component.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/booters/index.d.ts" - ], - "./node_modules/@loopback/boot/dist/bootstrapper.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts" - ], - "./node_modules/@loopback/boot/dist/keys.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/bootstrapper.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts" - ], - "./node_modules/@loopback/boot/dist/mixins/boot.mixin.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts" - ], - "./node_modules/@loopback/boot/dist/mixins/index.d.ts": [ - "./node_modules/@loopback/boot/dist/mixins/boot.mixin.d.ts" - ], - "./node_modules/@loopback/boot/dist/index.d.ts": [ - "./node_modules/@loopback/boot/dist/boot.component.d.ts", - "./node_modules/@loopback/boot/dist/booters/index.d.ts", - "./node_modules/@loopback/boot/dist/bootstrapper.d.ts", - "./node_modules/@loopback/boot/dist/keys.d.ts", - "./node_modules/@loopback/boot/dist/mixins/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts" - ], - "./node_modules/@loopback/repository-json-schema/dist/build-schema.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts" - ], - "./node_modules/@loopback/repository-json-schema/dist/filter-json-schema.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@types/json-schema/index.d.ts" - ], - "./node_modules/@loopback/repository-json-schema/dist/keys.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts" - ], - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/repository-json-schema/dist/build-schema.d.ts", - "./node_modules/@loopback/repository-json-schema/dist/filter-json-schema.d.ts", - "./node_modules/@loopback/repository-json-schema/dist/keys.d.ts" - ], - "./node_modules/openapi3-ts/dist/model/OpenApi.d.ts": [ - "./node_modules/openapi3-ts/dist/model/SpecificationExtension.d.ts" - ], - "./node_modules/openapi3-ts/dist/model/Server.d.ts": [ - "./node_modules/openapi3-ts/dist/model/OpenApi.d.ts" - ], - "./node_modules/openapi3-ts/dist/model/index.d.ts": [ - "./node_modules/openapi3-ts/dist/model/SpecificationExtension.d.ts", - "./node_modules/openapi3-ts/dist/model/OpenApi.d.ts", - "./node_modules/openapi3-ts/dist/model/Server.d.ts" - ], - "./node_modules/openapi3-ts/dist/dsl/OpenApiBuilder.d.ts": [ - "./node_modules/openapi3-ts/dist/model/index.d.ts" - ], - "./node_modules/openapi3-ts/dist/dsl/index.d.ts": [ - "./node_modules/openapi3-ts/dist/dsl/OpenApiBuilder.d.ts" - ], - "./node_modules/openapi3-ts/dist/index.d.ts": [ - "./node_modules/openapi3-ts/dist/model/index.d.ts", - "./node_modules/openapi3-ts/dist/dsl/index.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/types.d.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/openapi3-ts/dist/index.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/json-to-schema.d.ts": [ - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/controller-spec.d.ts": [ - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/json-to-schema.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/decorators/api.decorator.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/controller-spec.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/decorators/operation.decorator.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/decorators/parameter.decorator.d.ts": [ - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/decorators/request-body.decorator.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/decorators/response.decorator.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/decorators/index.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/decorators/api.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/deprecated.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/operation.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/parameter.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/request-body.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/response.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/tags.decorator.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/enhancers/types.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/enhancers/spec-enhancer.service.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts", - "./node_modules/@loopback/openapi-v3/dist/enhancers/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/enhancers/keys.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/enhancers/spec-enhancer.service.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/enhancers/index.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/enhancers/keys.d.ts", - "./node_modules/@loopback/openapi-v3/dist/enhancers/spec-enhancer.service.d.ts", - "./node_modules/@loopback/openapi-v3/dist/enhancers/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/filter-schema.d.ts": [ - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@loopback/openapi-v3/dist/index.d.ts": [ - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/controller-spec.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/enhancers/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/filter-schema.d.ts", - "./node_modules/@loopback/openapi-v3/dist/json-to-schema.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts" - ], - "./node_modules/@types/express-serve-static-core/index.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/range-parser/index.d.ts", - "./node_modules/@types/qs/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/serve-static/index.d.ts": [ - "./node_modules/@types/mime/index.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/connect/index.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/body-parser/index.d.ts": [ - "./node_modules/@types/connect/index.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/express/index.d.ts": [ - "./node_modules/@types/body-parser/index.d.ts", - "./node_modules/@types/serve-static/index.d.ts", - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@types/qs/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/base-route.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/controller-route.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/base-route.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/handler-route.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/base-route.d.ts" - ], - "./node_modules/@loopback/rest/node_modules/@types/serve-static/index.d.ts": [ - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@types/mime/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/router-spec.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/external-express-routes.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@types/express/index.d.ts", - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@loopback/rest/node_modules/@types/serve-static/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@loopback/rest/dist/router/router-spec.d.ts" - ], - "./node_modules/@loopback/http-server/dist/http-server.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/https.d.ts", - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/http-server/dist/index.d.ts": [ - "./node_modules/@loopback/http-server/dist/http-server.d.ts" - ], - "./node_modules/@types/cors/index.d.ts": [ - "./node_modules/@types/node/http.d.ts" - ], - "./node_modules/@loopback/rest/dist/http-handler.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/rest.server.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/sequence.d.ts": [ - "./node_modules/@loopback/rest/dist/request-context.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts" - ], - "./node_modules/@loopback/rest/dist/rest.server.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/http-server/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@types/cors/index.d.ts", - "./node_modules/@types/express/index.d.ts", - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@loopback/rest/node_modules/@types/serve-static/index.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/@loopback/rest/dist/http-handler.d.ts", - "./node_modules/@loopback/rest/dist/request-context.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/sequence.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/request-context.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/rest.server.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/redirect-route.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/request-context.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/rest-router.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/router-base.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@loopback/rest/dist/router/rest-router.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/trie-router.d.ts": [ - "./node_modules/@loopback/rest/dist/router/rest-router.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@loopback/rest/dist/router/router-base.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/regexp-router.d.ts": [ - "./node_modules/@loopback/rest/dist/router/rest-router.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@loopback/rest/dist/router/router-base.d.ts", - "./node_modules/path-to-regexp/dist/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/routing-table.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/controller-route.d.ts", - "./node_modules/@loopback/rest/dist/router/external-express-routes.d.ts", - "./node_modules/@loopback/rest/dist/router/rest-router.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/route-sort.d.ts": [ - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/trie.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts" - ], - "./node_modules/@loopback/rest/dist/router/index.d.ts": [ - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@loopback/rest/dist/router/base-route.d.ts", - "./node_modules/@loopback/rest/dist/router/controller-route.d.ts", - "./node_modules/@loopback/rest/dist/router/handler-route.d.ts", - "./node_modules/@loopback/rest/dist/router/external-express-routes.d.ts", - "./node_modules/@loopback/rest/dist/router/redirect-route.d.ts", - "./node_modules/@loopback/rest/dist/router/rest-router.d.ts", - "./node_modules/@loopback/rest/dist/router/trie-router.d.ts", - "./node_modules/@loopback/rest/dist/router/regexp-router.d.ts", - "./node_modules/@loopback/rest/dist/router/routing-table.d.ts", - "./node_modules/@loopback/rest/dist/router/route-sort.d.ts", - "./node_modules/@loopback/rest/dist/router/openapi-path.d.ts", - "./node_modules/@loopback/rest/dist/router/trie.d.ts", - "./node_modules/@loopback/rest/dist/router/router-spec.d.ts" - ], - "./node_modules/@loopback/rest/dist/types.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/ajv/lib/ajv.d.ts", - "./node_modules/@types/body-parser/index.d.ts", - "./node_modules/@types/express/index.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.helpers.d.ts": [ - "./node_modules/@types/body-parser/index.d.ts", - "./node_modules/@types/http-errors/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.json.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.raw.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.stream.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.text.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.urlencoded.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts": [ - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.helpers.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.json.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.raw.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.stream.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.text.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.urlencoded.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts" - ], - "./node_modules/strong-error-handler/index.d.ts": [ - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/keys.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/http-server/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@types/node/https.d.ts", - "./node_modules/strong-error-handler/index.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/@loopback/rest/dist/http-handler.d.ts", - "./node_modules/@loopback/rest/dist/rest.server.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/sequence.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@types/node/index.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/parser.d.ts": [ - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/bind-element.provider.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/find-route.provider.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/http-handler.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/get-from-context.provider.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/invoke-method.provider.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/log-error.provider.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/reject.provider.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/strong-error-handler/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/parse-params.provider.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/writer.d.ts": [ - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/send.provider.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/writer.d.ts" - ], - "./node_modules/@loopback/rest/dist/providers/index.d.ts": [ - "./node_modules/@loopback/rest/dist/providers/bind-element.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/find-route.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/get-from-context.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/invoke-method.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/log-error.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/reject.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/parse-params.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/send.provider.d.ts" - ], - "./node_modules/@loopback/rest/dist/rest-http-error.d.ts": [ - "./node_modules/@types/http-errors/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/rest.application.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@loopback/rest/node_modules/@types/serve-static/index.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/@loopback/rest/dist/keys.d.ts", - "./node_modules/@loopback/rest/dist/rest.server.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/router/router-spec.d.ts", - "./node_modules/@loopback/rest/dist/sequence.d.ts" - ], - "./node_modules/@loopback/rest/dist/spec-enhancers/consolidate.spec-enhancer.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/spec-enhancers/info.spec-enhancer.d.ts": [ - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts" - ], - "./node_modules/@loopback/rest/dist/rest.component.d.ts": [ - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/@loopback/rest/dist/rest.server.d.ts", - "./node_modules/@loopback/rest/dist/spec-enhancers/consolidate.spec-enhancer.d.ts", - "./node_modules/@loopback/rest/dist/spec-enhancers/info.spec-enhancer.d.ts" - ], - "./node_modules/@loopback/rest/dist/validation/request-body.validator.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts" - ], - "./node_modules/@loopback/rest/dist/index.d.ts": [ - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/@loopback/rest/dist/http-handler.d.ts", - "./node_modules/@loopback/rest/dist/keys.d.ts", - "./node_modules/@loopback/rest/dist/parse-json.d.ts", - "./node_modules/@loopback/rest/dist/parser.d.ts", - "./node_modules/@loopback/rest/dist/providers/index.d.ts", - "./node_modules/@loopback/rest/dist/request-context.d.ts", - "./node_modules/@loopback/rest/dist/rest-http-error.d.ts", - "./node_modules/@loopback/rest/dist/rest.application.d.ts", - "./node_modules/@loopback/rest/dist/rest.component.d.ts", - "./node_modules/@loopback/rest/dist/rest.server.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/sequence.d.ts", - "./node_modules/@loopback/rest/dist/spec-enhancers/info.spec-enhancer.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/validation/request-body.validator.d.ts", - "./node_modules/@loopback/rest/dist/writer.d.ts", - "./node_modules/@types/http-errors/index.d.ts" - ], - "./node_modules/@loopback/rest/index.d.ts": [ - "./node_modules/@loopback/rest/dist/index.d.ts" - ], - "./src/sequence.ts": [ - "./node_modules/@loopback/rest/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/account.d.ts": [ - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/config/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/config/configuration.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/unlocked-account.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/account.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/account.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/unlocked-account.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/keybase/keybase.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/account.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/unlocked-account.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/keybase/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/keybase.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/staking-status.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/routing-table/routing-table.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/config/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/storage/kv-store.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/routing-table/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/routing-table/routing-table.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/consensus-node.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/minority-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/consensus-relay-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/consensus-node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/majority-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/minority-response.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/dispatch-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/msg-claim.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/evidence-type.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/simple-proof.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/utils/hex.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/tx-proof.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/utils/hex.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/simple-proof.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/response-deliver-tx.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/transaction.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/utils/hex.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/tx-proof.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/response-deliver-tx.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stdtx.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-account-txs-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/transaction.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-app-params-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application-params.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/staking-status.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-app-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-apps-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-id.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/part-set-header.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-header.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-id.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-meta.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-id.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-header.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit-signature.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-id.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-id.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit-signature.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-header.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-block-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-meta.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-block-txs-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/transaction.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claim-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/msg-claim.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claims-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/msg-claim.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-params-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node-params.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stored-receipt.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/session-header.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-receipt-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stored-receipt.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-receipts-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stored-receipt.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-nodes-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-pocket-params-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/pocket-params.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-tx-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/transaction.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/raw-tx-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/tx-log.d.ts" - ], - "./node_modules/@pokt-network/aat-js/lib/src/utils/index.d.ts": [ - "./node_modules/@pokt-network/aat-js/lib/src/utils/enums.d.ts", - "./node_modules/@pokt-network/aat-js/lib/src/utils/helper.d.ts" - ], - "./node_modules/@pokt-network/aat-js/lib/src/index.d.ts": [ - "./node_modules/@pokt-network/aat-js/lib/src/utils/index.d.ts", - "./node_modules/@pokt-network/aat-js/lib/src/pocket-aat.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/relay-proof-response.d.ts": [ - "./node_modules/@pokt-network/aat-js/lib/src/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/relay-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/relay-proof-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/session.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/session-header.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/challenge-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/consensus-relay-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/dispatch-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/msg-claim.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-account-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-account-txs-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-all-params-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-app-params-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-app-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-apps-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-balance-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-block-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-block-txs-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-height-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claim-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claims-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-params-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-receipt-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-receipts-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-nodes-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-pocket-params-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-supply-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-supported-chains-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-tx-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-upgrade-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/raw-tx-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/relay-proof-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/relay-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/session.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/tx-log.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/majority-response.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/challenge-request.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/majority-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/minority-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/dispatch-request.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/session-header.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/raw-tx-request.d.ts": [ - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/request-hash.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-payload.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-meta.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/relay-proof.d.ts": [ - "./node_modules/@pokt-network/aat-js/lib/src/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/request-hash.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-request.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/relay-proof.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-payload.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-meta.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/challenge-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/dispatch-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/majority-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/minority-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/node-receipt.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/raw-tx-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-meta.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-payload.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/request-hash.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/session-header.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/result-tx.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/response-deliver-tx.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application-params.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-header.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-id.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-meta.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit-signature.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/consensus-node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/consensus.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/event.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/evidence-type.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/jailed-status.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node-params.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/part-set-header.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/pocket-params.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/relay-proof.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/response-deliver-tx.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/result-tx.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/routes.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/simple-proof.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/staking-status.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stdtx.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stored-receipt.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/transaction.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/tx-proof.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/rpc-error.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/rpc-error.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/i-rpc-provider.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/rpc-error.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/http-rpc-provider.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/i-rpc-provider.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/session/session-manager.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/session.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/storage/kv-store.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/config/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/rpc-error.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts", - "./node_modules/@pokt-network/aat-js/lib/src/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/utils/base-profiler.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/utils/models/profile-result.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/pocket.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/config/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/session/session-manager.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/keybase.d.ts", - "./node_modules/@pokt-network/aat-js/lib/src/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/consensus-relay-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/consensus-node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/challenge-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/base-profiler.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/pocket-rpc-provider.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/i-rpc-provider.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/pocket.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/http-rpc-provider.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/i-rpc-provider.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/pocket-rpc-provider.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/client.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/query.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/challenge-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/challenge-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-account-txs-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/jailed-status.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-block-txs-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claim-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claims-response.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/client.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/query.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/rpc.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/client.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/query.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/rpc/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/rpc.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/session/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/session/queue.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/session/session-manager.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/storage/in-memory-kv-store.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/storage/kv-store.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/storage/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/storage/in-memory-kv-store.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/storage/kv-store.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/tx-signature.d.ts": [ - "./node_modules/@pokt-network/amino-js/types/src/types/pocket.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-stake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-unjail.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-unstake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-stake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-unjail.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-unstake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-stake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-unjail.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-unstake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-stake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-unjail.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-unstake.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-send.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-send.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-stake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-unjail.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-unstake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-stake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-unjail.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-unstake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-stake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-unjail.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-unstake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-stake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-unjail.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-unstake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-send.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-send.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/amino-encodable.d.ts": [ - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/std-sign-doc.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/amino-encodable.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/coin-denom.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/std-tx.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/amino-encodable.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/std-sign-doc.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/tx-signature.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/transaction-signature.d.ts": [ - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/amino-encodable.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/coin-denom.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/std-sign-doc.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/std-tx.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/transaction-signature.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/tx-signature.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/base-tx-encoder.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/tx-signature.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/amino-tx-encoder.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/tx-signature.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/base-tx-encoder.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/proto-tx-encoder.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/tx-signature.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/base-tx-encoder.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/tx-encoder-factory.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/base-tx-encoder.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/coin-denom.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/amino-tx-encoder.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/base-tx-encoder.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/proto-tx-encoder.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/tx-encoder-factory.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/i-transaction-sender.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/coin-denom.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/transaction-sender.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/transaction-signer.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/transaction-signature.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/transactions/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/i-transaction-sender.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/transaction-sender.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/transaction-signer.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/utils/models/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/utils/models/profile-result.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/utils/key-pair.d.ts": [ - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/utils/no-op-profiler.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/utils/models/profile-result.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/base-profiler.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/utils/validator.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/challenge-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/majority-response.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/utils/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/utils/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/base-profiler.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/hex.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/key-pair.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/no-op-profiler.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/type-guard.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/url.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/validator.d.ts" - ], - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/config/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/routing-table/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/session/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/storage/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/pocket.d.ts" - ], - "./node_modules/@types/pg/index.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/pg-types/index.d.ts", - "./node_modules/@types/node/tls.d.ts", - "./node_modules/@types/pg/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./src/services/relay-profiler.ts": [ - "./node_modules/@types/pg/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts" - ], - "./src/application.ts": [ - "./node_modules/@loopback/boot/dist/index.d.ts", - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/loopback-datasource-juggler/index.d.ts", - "./node_modules/@loopback/rest/index.d.ts" - ], - "./src/index.ts": [ - "./src/application.ts", - "./node_modules/@loopback/core/dist/index.d.ts" - ], - "./node_modules/@types/superagent/index.d.ts": [ - "./node_modules/@types/node/fs.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/cookiejar/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/supertest/index.d.ts": [ - "./node_modules/@types/superagent/index.d.ts" - ], - "./node_modules/@loopback/testlab/dist/client.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/supertest/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/testlab/dist/expect.d.ts": [ - "./node_modules/@loopback/testlab/should-as-function.d.ts" - ], - "./node_modules/@loopback/testlab/dist/http-error-logger.d.ts": [ - "./node_modules/@types/express/index.d.ts" - ], - "./node_modules/@loopback/testlab/dist/http-server-config.d.ts": [ - "./node_modules/@types/node/https.d.ts", - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/testlab/dist/request.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/https.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/shot/index.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@loopback/testlab/dist/shot.d.ts": [ - "./node_modules/@types/express/index.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/shot/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/sinon/index.d.ts": [ - "./node_modules/@sinonjs/fake-timers/types/fake-timers-src.d.ts" - ], - "./node_modules/@loopback/testlab/dist/sinon.d.ts": [ - "./node_modules/@types/sinon/index.d.ts" - ], - "./node_modules/@loopback/testlab/dist/index.d.ts": [ - "./node_modules/@loopback/testlab/dist/client.d.ts", - "./node_modules/@loopback/testlab/dist/expect.d.ts", - "./node_modules/@loopback/testlab/dist/http-error-logger.d.ts", - "./node_modules/@loopback/testlab/dist/http-server-config.d.ts", - "./node_modules/@loopback/testlab/dist/request.d.ts", - "./node_modules/@loopback/testlab/dist/shot.d.ts", - "./node_modules/@loopback/testlab/dist/sinon.d.ts", - "./node_modules/@loopback/testlab/dist/skip.d.ts", - "./node_modules/@loopback/testlab/dist/test-sandbox.d.ts", - "./node_modules/@loopback/testlab/dist/to-json.d.ts", - "./node_modules/@loopback/testlab/dist/validate-api-spec.d.ts" - ], - "./src/__tests__/acceptance/test-helper.ts": [ - "./src/index.ts", - "./node_modules/@loopback/testlab/dist/index.d.ts" - ], - "./src/models/blockchains.model.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts" - ], - "./src/models/applications.model.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts" - ], - "./src/models/load-balancers.model.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts" - ], - "./src/models/index.ts": [ - "./src/models/blockchains.model.ts", - "./src/models/applications.model.ts", - "./src/models/load-balancers.model.ts" - ], - "./src/datasources/gateway.datasource.ts": [ - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/core/dist/index.d.ts" - ], - "./src/datasources/index.ts": [ - "./src/datasources/gateway.datasource.ts" - ], - "./src/repositories/blockchains.repository.ts": [ - "./src/datasources/index.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./src/models/index.ts" - ], - "./src/repositories/applications.repository.ts": [ - "./src/datasources/index.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./src/models/index.ts" - ], - "./src/repositories/load-balancers.repository.ts": [ - "./src/datasources/index.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./src/models/index.ts" - ], - "./src/repositories/index.ts": [ - "./src/repositories/blockchains.repository.ts", - "./src/repositories/applications.repository.ts", - "./src/repositories/load-balancers.repository.ts" - ], - "./src/controllers/blockchains.controller.ts": [ - "./src/repositories/index.ts", - "./src/models/index.ts", - "./node_modules/@loopback/repository/dist/index.d.ts" - ], - "./src/controllers/ping.controller.ts": [ - "./node_modules/@loopback/rest/index.d.ts" - ], - "./node_modules/@types/ioredis/index.d.ts": [ - "./node_modules/@types/node/tls.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./src/services/cherry-picker.ts": [ - "./node_modules/@types/ioredis/index.d.ts", - "./src/models/index.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts" - ], - "./src/services/metrics-recorder.ts": [ - "./node_modules/@types/ioredis/index.d.ts", - "./node_modules/@types/pg/index.d.ts", - "./src/services/cherry-picker.ts" - ], - "./src/services/sync-checker.ts": [ - "./node_modules/@types/ioredis/index.d.ts", - "./src/services/metrics-recorder.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/typings/interface/index.d.ts": [ - "./node_modules/strong-cryptor/dist/typings/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/typings/index.d.ts": [ - "./node_modules/strong-cryptor/dist/typings/interface/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/v2/decryptor.d.ts": [ - "./node_modules/strong-cryptor/dist/typings/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/v2/encryptor.d.ts": [ - "./node_modules/strong-cryptor/dist/typings/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/deprecated.d.ts": [ - "./node_modules/strong-cryptor/dist/v2/decryptor.d.ts", - "./node_modules/strong-cryptor/dist/v2/encryptor.d.ts" - ], - "./node_modules/strong-cryptor/dist/utils.d.ts": [ - "./node_modules/strong-cryptor/dist/typings/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/encryptor.d.ts": [ - "./node_modules/strong-cryptor/dist/typings/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/decryptor.d.ts": [ - "./node_modules/strong-cryptor/dist/typings/index.d.ts" - ], - "./node_modules/strong-cryptor/dist/index.d.ts": [ - "./node_modules/strong-cryptor/dist/deprecated.d.ts", - "./node_modules/strong-cryptor/dist/utils.d.ts", - "./node_modules/strong-cryptor/dist/encryptor.d.ts", - "./node_modules/strong-cryptor/dist/decryptor.d.ts" - ], - "./src/services/pocket-relayer.ts": [ - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./src/services/cherry-picker.ts", - "./src/services/metrics-recorder.ts", - "./src/services/sync-checker.ts", - "./node_modules/@types/ioredis/index.d.ts", - "./src/repositories/index.ts", - "./src/models/index.ts" - ], - "./src/controllers/v1.controller.ts": [ - "./src/repositories/index.ts", - "./src/services/cherry-picker.ts", - "./src/services/metrics-recorder.ts", - "./src/services/pocket-relayer.ts", - "./src/services/sync-checker.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/@types/ioredis/index.d.ts", - "./node_modules/@types/pg/index.d.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./src/models/index.ts" - ], - "./src/controllers/index.ts": [ - "./src/controllers/ping.controller.ts", - "./src/controllers/v1.controller.ts", - "./src/controllers/blockchains.controller.ts" - ], - "./src/controllers/web3index.controller.ts": [ - "./node_modules/@types/pg/index.d.ts" - ], - "./node_modules/winston-transport/index.d.ts": [ - "./node_modules/@types/node/stream.d.ts", - "./node_modules/logform/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/winston-logzio/lib/winston-logzio.d.ts": [ - "./node_modules/logzio-nodejs/lib/logzio-nodejs.d.ts", - "./node_modules/winston-transport/index.d.ts" - ], - "./node_modules/@types/keyv/index.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/responselike/index.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/cacheable-request/index.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/url.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/keyv/index.d.ts", - "./node_modules/@types/http-cache-semantics/index.d.ts", - "./node_modules/@types/responselike/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/fs-extra/index.d.ts": [ - "./node_modules/@types/node/fs.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/glob/index.d.ts": [ - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/minimatch/index.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/on-finished/index.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/scrypt-js/index.d.ts": [ - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/type-is/index.d.ts": [ - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/index.d.ts" - ], - "./node_modules/@types/varint/index.d.ts": [ - "./node_modules/@types/node/index.d.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "./node_modules/typescript/lib/lib.es5.d.ts", - "./node_modules/typescript/lib/lib.es2015.d.ts", - "./node_modules/typescript/lib/lib.es2016.d.ts", - "./node_modules/typescript/lib/lib.es2017.d.ts", - "./node_modules/typescript/lib/lib.es2018.d.ts", - "./node_modules/typescript/lib/lib.es2019.d.ts", - "./node_modules/typescript/lib/lib.es2020.d.ts", - "./node_modules/typescript/lib/lib.dom.d.ts", - "./node_modules/typescript/lib/lib.es2015.core.d.ts", - "./node_modules/typescript/lib/lib.es2015.collection.d.ts", - "./node_modules/typescript/lib/lib.es2015.generator.d.ts", - "./node_modules/typescript/lib/lib.es2015.iterable.d.ts", - "./node_modules/typescript/lib/lib.es2015.promise.d.ts", - "./node_modules/typescript/lib/lib.es2015.proxy.d.ts", - "./node_modules/typescript/lib/lib.es2015.reflect.d.ts", - "./node_modules/typescript/lib/lib.es2015.symbol.d.ts", - "./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts", - "./node_modules/typescript/lib/lib.es2016.array.include.d.ts", - "./node_modules/typescript/lib/lib.es2017.object.d.ts", - "./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts", - "./node_modules/typescript/lib/lib.es2017.string.d.ts", - "./node_modules/typescript/lib/lib.es2017.intl.d.ts", - "./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts", - "./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts", - "./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts", - "./node_modules/typescript/lib/lib.es2018.intl.d.ts", - "./node_modules/typescript/lib/lib.es2018.promise.d.ts", - "./node_modules/typescript/lib/lib.es2018.regexp.d.ts", - "./node_modules/typescript/lib/lib.es2019.array.d.ts", - "./node_modules/typescript/lib/lib.es2019.object.d.ts", - "./node_modules/typescript/lib/lib.es2019.string.d.ts", - "./node_modules/typescript/lib/lib.es2019.symbol.d.ts", - "./node_modules/typescript/lib/lib.es2020.bigint.d.ts", - "./node_modules/typescript/lib/lib.es2020.promise.d.ts", - "./node_modules/typescript/lib/lib.es2020.string.d.ts", - "./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts", - "./node_modules/typescript/lib/lib.esnext.intl.d.ts", - "./node_modules/tslib/tslib.d.ts", - "./node_modules/@loopback/metadata/dist/types.d.ts", - "./node_modules/@loopback/metadata/dist/decorator-factory.d.ts", - "./node_modules/reflect-metadata/index.d.ts", - "./node_modules/@loopback/metadata/dist/reflect.d.ts", - "./node_modules/@loopback/metadata/dist/inspector.d.ts", - "./node_modules/@loopback/metadata/dist/index.d.ts", - "./node_modules/@types/node/globals.d.ts", - "./node_modules/@types/node/async_hooks.d.ts", - "./node_modules/@types/node/buffer.d.ts", - "./node_modules/@types/node/child_process.d.ts", - "./node_modules/@types/node/cluster.d.ts", - "./node_modules/@types/node/console.d.ts", - "./node_modules/@types/node/constants.d.ts", - "./node_modules/@types/node/crypto.d.ts", - "./node_modules/@types/node/dgram.d.ts", - "./node_modules/@types/node/dns.d.ts", - "./node_modules/@types/node/domain.d.ts", - "./node_modules/@types/node/events.d.ts", - "./node_modules/@types/node/fs.d.ts", - "./node_modules/@types/node/http.d.ts", - "./node_modules/@types/node/http2.d.ts", - "./node_modules/@types/node/https.d.ts", - "./node_modules/@types/node/inspector.d.ts", - "./node_modules/@types/node/module.d.ts", - "./node_modules/@types/node/net.d.ts", - "./node_modules/@types/node/os.d.ts", - "./node_modules/@types/node/path.d.ts", - "./node_modules/@types/node/perf_hooks.d.ts", - "./node_modules/@types/node/process.d.ts", - "./node_modules/@types/node/punycode.d.ts", - "./node_modules/@types/node/querystring.d.ts", - "./node_modules/@types/node/readline.d.ts", - "./node_modules/@types/node/repl.d.ts", - "./node_modules/@types/node/stream.d.ts", - "./node_modules/@types/node/string_decoder.d.ts", - "./node_modules/@types/node/timers.d.ts", - "./node_modules/@types/node/tls.d.ts", - "./node_modules/@types/node/trace_events.d.ts", - "./node_modules/@types/node/tty.d.ts", - "./node_modules/@types/node/url.d.ts", - "./node_modules/@types/node/util.d.ts", - "./node_modules/@types/node/v8.d.ts", - "./node_modules/@types/node/vm.d.ts", - "./node_modules/@types/node/worker_threads.d.ts", - "./node_modules/@types/node/zlib.d.ts", - "./node_modules/@types/node/ts3.6/base.d.ts", - "./node_modules/@types/node/assert.d.ts", - "./node_modules/@types/node/base.d.ts", - "./node_modules/@types/node/index.d.ts", - "./node_modules/@loopback/context/dist/binding-key.d.ts", - "./node_modules/@types/debug/index.d.ts", - "./node_modules/@loopback/context/dist/value-promise.d.ts", - "./node_modules/@loopback/context/dist/binding-filter.d.ts", - "./node_modules/@loopback/context/dist/binding-sorter.d.ts", - "./node_modules/@loopback/context/dist/json-types.d.ts", - "./node_modules/@loopback/context/dist/inject.d.ts", - "./node_modules/@loopback/context/dist/resolution-session.d.ts", - "./node_modules/@loopback/context/dist/binding-config.d.ts", - "./node_modules/@loopback/context/dist/context-event.d.ts", - "./node_modules/@loopback/context/dist/context-observer.d.ts", - "./node_modules/@loopback/context/dist/context-subscription.d.ts", - "./node_modules/@loopback/context/dist/context-tag-indexer.d.ts", - "./node_modules/@loopback/context/dist/context-view.d.ts", - "./node_modules/@loopback/context/dist/context.d.ts", - "./node_modules/@loopback/context/dist/provider.d.ts", - "./node_modules/@loopback/context/dist/binding.d.ts", - "./node_modules/@loopback/context/dist/binding-inspector.d.ts", - "./node_modules/@loopback/context/dist/binding-decorator.d.ts", - "./node_modules/@loopback/context/dist/inject-config.d.ts", - "./node_modules/@loopback/context/dist/invocation.d.ts", - "./node_modules/@loopback/context/dist/interception-proxy.d.ts", - "./node_modules/@loopback/context/dist/interceptor-chain.d.ts", - "./node_modules/@loopback/context/dist/interceptor.d.ts", - "./node_modules/@loopback/context/dist/keys.d.ts", - "./node_modules/@loopback/context/dist/resolver.d.ts", - "./node_modules/hyperid/index.d.ts", - "./node_modules/@loopback/context/dist/unique-id.d.ts", - "./node_modules/@loopback/context/dist/index.d.ts", - "./node_modules/@loopback/core/dist/lifecycle.d.ts", - "./node_modules/@loopback/core/dist/server.d.ts", - "./node_modules/@loopback/core/dist/component.d.ts", - "./node_modules/@loopback/core/dist/service.d.ts", - "./node_modules/@loopback/core/dist/application.d.ts", - "./node_modules/@loopback/core/dist/extension-point.d.ts", - "./node_modules/@loopback/core/dist/lifecycle-registry.d.ts", - "./node_modules/@loopback/core/dist/keys.d.ts", - "./node_modules/@loopback/core/dist/mixin-target.d.ts", - "./node_modules/@loopback/core/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/types.d.ts", - "./node_modules/@loopback/boot/dist/booters/application-metadata.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/base-artifact.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/booter-utils.d.ts", - "./node_modules/@loopback/boot/dist/booters/component-application.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/controller.booter.d.ts", - "./node_modules/@types/json-schema/index.d.ts", - "./node_modules/@loopback/repository/dist/common-types.d.ts", - "./node_modules/@loopback/repository/dist/type-resolver.d.ts", - "./node_modules/@loopback/repository/dist/types/type.d.ts", - "./node_modules/@loopback/repository/dist/types/any.d.ts", - "./node_modules/@loopback/repository/dist/types/array.d.ts", - "./node_modules/@loopback/repository/dist/types/boolean.d.ts", - "./node_modules/@loopback/repository/dist/types/buffer.d.ts", - "./node_modules/@loopback/repository/dist/types/date.d.ts", - "./node_modules/@loopback/repository/dist/types/object.d.ts", - "./node_modules/@loopback/repository/dist/types/model.d.ts", - "./node_modules/@loopback/repository/dist/types/null.d.ts", - "./node_modules/@loopback/repository/dist/types/number.d.ts", - "./node_modules/@loopback/repository/dist/types/string.d.ts", - "./node_modules/@loopback/repository/dist/types/union.d.ts", - "./node_modules/@loopback/repository/dist/types/index.d.ts", - "./node_modules/@loopback/repository/dist/model.d.ts", - "./node_modules/@loopback/repository/dist/connectors/connector.d.ts", - "./node_modules/@loopback/repository/dist/query.d.ts", - "./node_modules/@loopback/repository/dist/connectors/crud.connector.d.ts", - "./node_modules/@loopback/repository/dist/connectors/kv.connector.d.ts", - "./node_modules/@loopback/repository/dist/connectors/index.d.ts", - "./node_modules/@loopback/repository/dist/datasource.d.ts", - "./node_modules/@loopback/repository/dist/decorators/metadata.d.ts", - "./node_modules/@loopback/repository/dist/decorators/model.decorator.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.types.d.ts", - "./node_modules/@loopback/repository/dist/transaction.d.ts", - "./node_modules/@loopback/repository/dist/repositories/repository.d.ts", - "./node_modules/@loopback/repository/dist/repositories/kv.repository.d.ts", - "./node_modules/loopback-datasource-juggler/types/common.d.ts", - "./node_modules/loopback-datasource-juggler/types/connector.d.ts", - "./node_modules/loopback-datasource-juggler/types/transaction-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/types/datasource.d.ts", - "./node_modules/loopback-datasource-juggler/types/observer-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/types/model.d.ts", - "./node_modules/loopback-datasource-juggler/types/query.d.ts", - "./node_modules/loopback-datasource-juggler/types/persisted-model.d.ts", - "./node_modules/loopback-datasource-juggler/types/relation.d.ts", - "./node_modules/loopback-datasource-juggler/types/kv-model.d.ts", - "./node_modules/loopback-datasource-juggler/types/scope.d.ts", - "./node_modules/loopback-datasource-juggler/types/relation-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/types/validation-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/types/inclusion-mixin.d.ts", - "./node_modules/loopback-datasource-juggler/index.d.ts", - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.decorator.d.ts", - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to-accessor.d.ts", - "./node_modules/@loopback/repository/dist/relations/belongs-to/belongs-to.inclusion-resolver.d.ts", - "./node_modules/@loopback/repository/dist/relations/belongs-to/index.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-repository.factory.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-through.repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many-through-repository.factory.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.decorator.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/has-many.inclusion-resolver.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-many/index.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-one/has-one.decorator.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-one/has-one.repository.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-one/has-one-repository.factory.d.ts", - "./node_modules/@loopback/repository/dist/relations/has-one/index.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.decorator.d.ts", - "./node_modules/@loopback/repository/dist/relations/relation.helpers.d.ts", - "./node_modules/@loopback/repository/dist/relations/index.d.ts", - "./node_modules/@loopback/repository/dist/repositories/legacy-juggler-bridge.d.ts", - "./node_modules/@loopback/repository/dist/repositories/kv.repository.bridge.d.ts", - "./node_modules/@loopback/repository/dist/repositories/constraint-utils.d.ts", - "./node_modules/@loopback/repository/dist/repositories/index.d.ts", - "./node_modules/@loopback/repository/dist/decorators/repository.decorator.d.ts", - "./node_modules/@loopback/repository/dist/decorators/index.d.ts", - "./node_modules/@loopback/repository/dist/define-model-class.d.ts", - "./node_modules/@loopback/repository/dist/define-repository-class.d.ts", - "./node_modules/@loopback/repository/dist/errors/entity-not-found.error.d.ts", - "./node_modules/@loopback/repository/dist/errors/invalid-relation.error.d.ts", - "./node_modules/@loopback/repository/dist/errors/index.d.ts", - "./node_modules/@loopback/repository/dist/keys.d.ts", - "./node_modules/@loopback/repository/dist/mixins/repository.mixin.d.ts", - "./node_modules/@loopback/repository/dist/mixins/index.d.ts", - "./node_modules/@loopback/repository/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/booters/datasource.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/interceptor.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/lifecyle-observer.booter.d.ts", - "./node_modules/@loopback/model-api-builder/dist/model-api-config.d.ts", - "./node_modules/@loopback/model-api-builder/dist/model-api-builder.d.ts", - "./node_modules/@loopback/model-api-builder/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/booters/model-api.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/model.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/repository.booter.d.ts", - "./node_modules/@loopback/service-proxy/dist/decorators/service.decorator.d.ts", - "./node_modules/@loopback/service-proxy/dist/legacy-juggler-bridge.d.ts", - "./node_modules/@loopback/service-proxy/dist/mixins/service.mixin.d.ts", - "./node_modules/@loopback/service-proxy/dist/mixins/index.d.ts", - "./node_modules/@loopback/service-proxy/dist/index.d.ts", - "./node_modules/@loopback/boot/dist/booters/service.booter.d.ts", - "./node_modules/@loopback/boot/dist/booters/index.d.ts", - "./node_modules/@loopback/boot/dist/boot.component.d.ts", - "./node_modules/@loopback/boot/dist/bootstrapper.d.ts", - "./node_modules/@loopback/boot/dist/keys.d.ts", - "./node_modules/@loopback/boot/dist/mixins/boot.mixin.d.ts", - "./node_modules/@loopback/boot/dist/mixins/index.d.ts", - "./node_modules/@loopback/boot/dist/index.d.ts", - "./node_modules/@loopback/repository-json-schema/dist/build-schema.d.ts", - "./node_modules/@loopback/repository-json-schema/dist/filter-json-schema.d.ts", - "./node_modules/@loopback/repository-json-schema/dist/keys.d.ts", - "./node_modules/@loopback/repository-json-schema/dist/index.d.ts", - "./node_modules/openapi3-ts/dist/model/SpecificationExtension.d.ts", - "./node_modules/openapi3-ts/dist/model/OpenApi.d.ts", - "./node_modules/openapi3-ts/dist/model/Server.d.ts", - "./node_modules/openapi3-ts/dist/model/index.d.ts", - "./node_modules/openapi3-ts/dist/dsl/OpenApiBuilder.d.ts", - "./node_modules/openapi3-ts/dist/dsl/index.d.ts", - "./node_modules/openapi3-ts/dist/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/types.d.ts", - "./node_modules/@loopback/openapi-v3/dist/json-to-schema.d.ts", - "./node_modules/@loopback/openapi-v3/dist/controller-spec.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/api.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/deprecated.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/operation.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/parameter.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/request-body.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/response.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/tags.decorator.d.ts", - "./node_modules/@loopback/openapi-v3/dist/decorators/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/enhancers/types.d.ts", - "./node_modules/@loopback/openapi-v3/dist/enhancers/spec-enhancer.service.d.ts", - "./node_modules/@loopback/openapi-v3/dist/enhancers/keys.d.ts", - "./node_modules/@loopback/openapi-v3/dist/enhancers/index.d.ts", - "./node_modules/@loopback/openapi-v3/dist/filter-schema.d.ts", - "./node_modules/@loopback/openapi-v3/dist/index.d.ts", - "./node_modules/@types/range-parser/index.d.ts", - "./node_modules/@types/qs/index.d.ts", - "./node_modules/@types/express-serve-static-core/index.d.ts", - "./node_modules/@types/mime/index.d.ts", - "./node_modules/@types/serve-static/index.d.ts", - "./node_modules/@types/connect/index.d.ts", - "./node_modules/@types/body-parser/index.d.ts", - "./node_modules/@types/express/index.d.ts", - "./node_modules/ajv/lib/ajv.d.ts", - "./node_modules/@loopback/rest/dist/router/route-entry.d.ts", - "./node_modules/@loopback/rest/dist/router/base-route.d.ts", - "./node_modules/@loopback/rest/dist/router/controller-route.d.ts", - "./node_modules/@loopback/rest/dist/router/handler-route.d.ts", - "./node_modules/@loopback/rest/node_modules/@types/serve-static/index.d.ts", - "./node_modules/@loopback/rest/dist/router/router-spec.d.ts", - "./node_modules/@loopback/rest/dist/router/external-express-routes.d.ts", - "./node_modules/@loopback/http-server/dist/http-server.d.ts", - "./node_modules/@loopback/http-server/dist/index.d.ts", - "./node_modules/@types/cors/index.d.ts", - "./node_modules/@loopback/rest/dist/http-handler.d.ts", - "./node_modules/@loopback/rest/dist/sequence.d.ts", - "./node_modules/@loopback/rest/dist/rest.server.d.ts", - "./node_modules/@loopback/rest/dist/request-context.d.ts", - "./node_modules/@loopback/rest/dist/router/redirect-route.d.ts", - "./node_modules/@loopback/rest/dist/router/rest-router.d.ts", - "./node_modules/@loopback/rest/dist/router/router-base.d.ts", - "./node_modules/@loopback/rest/dist/router/trie-router.d.ts", - "./node_modules/path-to-regexp/dist/index.d.ts", - "./node_modules/@loopback/rest/dist/router/regexp-router.d.ts", - "./node_modules/@loopback/rest/dist/router/routing-table.d.ts", - "./node_modules/@loopback/rest/dist/router/route-sort.d.ts", - "./node_modules/@loopback/rest/dist/router/openapi-path.d.ts", - "./node_modules/@loopback/rest/dist/router/trie.d.ts", - "./node_modules/@loopback/rest/dist/router/index.d.ts", - "./node_modules/@loopback/rest/dist/types.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/types.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.d.ts", - "./node_modules/@types/http-errors/index.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.helpers.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.json.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.raw.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.stream.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.text.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/body-parser.urlencoded.d.ts", - "./node_modules/@loopback/rest/dist/body-parsers/index.d.ts", - "./node_modules/strong-error-handler/index.d.ts", - "./node_modules/@loopback/rest/dist/keys.d.ts", - "./node_modules/@loopback/rest/dist/parse-json.d.ts", - "./node_modules/@loopback/rest/dist/parser.d.ts", - "./node_modules/@loopback/rest/dist/providers/bind-element.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/find-route.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/get-from-context.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/invoke-method.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/log-error.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/reject.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/parse-params.provider.d.ts", - "./node_modules/@loopback/rest/dist/writer.d.ts", - "./node_modules/@loopback/rest/dist/providers/send.provider.d.ts", - "./node_modules/@loopback/rest/dist/providers/index.d.ts", - "./node_modules/@loopback/rest/dist/rest-http-error.d.ts", - "./node_modules/@loopback/rest/dist/rest.application.d.ts", - "./node_modules/@loopback/rest/dist/spec-enhancers/consolidate.spec-enhancer.d.ts", - "./node_modules/@loopback/rest/dist/spec-enhancers/info.spec-enhancer.d.ts", - "./node_modules/@loopback/rest/dist/rest.component.d.ts", - "./node_modules/@loopback/rest/dist/validation/request-body.validator.d.ts", - "./node_modules/@loopback/rest/dist/index.d.ts", - "./node_modules/@loopback/rest/index.d.ts", - "./src/sequence.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/account.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/config/configuration.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/config/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/unlocked-account.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/keybase.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/keybase/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/staking-status.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/storage/kv-store.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/routing-table/routing-table.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/routing-table/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/challenge-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/consensus-node.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/minority-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/consensus-relay-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/dispatch-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/evidence-type.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/msg-claim.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-account-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/hex.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/simple-proof.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/tx-proof.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/response-deliver-tx.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stdtx.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/transaction.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-account-txs-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-all-params-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application-params.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-app-params-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/application.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-app-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-apps-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-balance-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/part-set-header.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-id.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-header.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block-meta.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit-signature.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/commit.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/block.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-block-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-block-txs-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-height-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claim-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-claims-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/node-params.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-params-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/session-header.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/stored-receipt.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-receipt-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-receipts-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-node-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-nodes-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/pocket-params.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-pocket-params-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-supply-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-supported-chains-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-tx-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/query-upgrade-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/tx-log.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/raw-tx-response.d.ts", - "./node_modules/@pokt-network/aat-js/lib/src/utils/enums.d.ts", - "./node_modules/@pokt-network/aat-js/lib/src/utils/helper.d.ts", - "./node_modules/@pokt-network/aat-js/lib/src/utils/index.d.ts", - "./node_modules/@pokt-network/aat-js/lib/src/pocket-aat.d.ts", - "./node_modules/@pokt-network/aat-js/lib/src/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/relay-proof-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/relay-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/session.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/output/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/majority-response.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/challenge-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/dispatch-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/node-receipt.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/raw-tx-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-meta.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-payload.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/request-hash.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/relay-proof.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/relay-request.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/input/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/consensus.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/event.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/jailed-status.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/result-tx.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/routes.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/rpc-error.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/errors/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/i-rpc-provider.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/http-rpc-provider.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/session/session-manager.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/models/profile-result.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/base-profiler.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/pocket.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/pocket-rpc-provider.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/providers/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/client.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/query.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/namespaces/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/rpc.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/rpc/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/session/queue.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/session/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/storage/in-memory-kv-store.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/storage/index.d.ts", - "./node_modules/@pokt-network/amino-js/types/src/types/pocket.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/tx-signature.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/tx-msg.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-stake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-unjail.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-app-unstake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-stake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-unjail.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-node-unstake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-stake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-unjail.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-app-unstake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-stake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-unjail.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-node-unstake.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-proto-send.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/msg-send.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/msgs/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/amino-encodable.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/coin-denom.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/std-sign-doc.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/std-tx.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/transaction-signature.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/base-tx-encoder.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/amino-tx-encoder.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/proto-tx-encoder.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/tx-encoder-factory.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/factory/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/i-transaction-sender.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/transaction-sender.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/transaction-signer.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/transactions/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/models/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/key-pair.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/no-op-profiler.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/type-guard.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/url.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/validator.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/utils/index.d.ts", - "./node_modules/@pokt-network/pocket-js/dist/index.d.ts", - "./node_modules/pg-types/index.d.ts", - "./node_modules/@types/pg/index.d.ts", - "./src/services/relay-profiler.ts", - "./src/application.ts", - "./src/index.ts", - "./src/migrate.ts", - "./node_modules/@types/cookiejar/index.d.ts", - "./node_modules/@types/superagent/index.d.ts", - "./node_modules/@types/supertest/index.d.ts", - "./node_modules/@loopback/testlab/dist/client.d.ts", - "./node_modules/@loopback/testlab/should-as-function.d.ts", - "./node_modules/@loopback/testlab/dist/expect.d.ts", - "./node_modules/@loopback/testlab/dist/http-error-logger.d.ts", - "./node_modules/@loopback/testlab/dist/http-server-config.d.ts", - "./node_modules/@loopback/testlab/dist/request.d.ts", - "./node_modules/@types/shot/index.d.ts", - "./node_modules/@loopback/testlab/dist/shot.d.ts", - "./node_modules/@sinonjs/fake-timers/types/fake-timers-src.d.ts", - "./node_modules/@types/sinon/index.d.ts", - "./node_modules/@loopback/testlab/dist/sinon.d.ts", - "./node_modules/@loopback/testlab/dist/skip.d.ts", - "./node_modules/@loopback/testlab/dist/test-sandbox.d.ts", - "./node_modules/@loopback/testlab/dist/to-json.d.ts", - "./node_modules/@loopback/testlab/dist/validate-api-spec.d.ts", - "./node_modules/@loopback/testlab/dist/index.d.ts", - "./src/__tests__/acceptance/test-helper.ts", - "./src/__tests__/acceptance/home-page.acceptance.ts", - "./src/__tests__/acceptance/ping.controller.acceptance.ts", - "./src/models/blockchains.model.ts", - "./src/models/applications.model.ts", - "./src/models/load-balancers.model.ts", - "./src/models/index.ts", - "./src/datasources/gateway.datasource.ts", - "./src/datasources/index.ts", - "./src/repositories/blockchains.repository.ts", - "./src/repositories/applications.repository.ts", - "./src/repositories/load-balancers.repository.ts", - "./src/repositories/index.ts", - "./src/controllers/blockchains.controller.ts", - "./src/controllers/ping.controller.ts", - "./node_modules/@types/ioredis/index.d.ts", - "./src/services/metrics-recorder.ts", - "./src/services/sync-checker.ts", - "./node_modules/strong-cryptor/dist/typings/interface/index.d.ts", - "./node_modules/strong-cryptor/dist/typings/index.d.ts", - "./node_modules/strong-cryptor/dist/v2/decryptor.d.ts", - "./node_modules/strong-cryptor/dist/v2/encryptor.d.ts", - "./node_modules/strong-cryptor/dist/deprecated.d.ts", - "./node_modules/strong-cryptor/dist/utils.d.ts", - "./node_modules/strong-cryptor/dist/encryptor.d.ts", - "./node_modules/strong-cryptor/dist/decryptor.d.ts", - "./node_modules/strong-cryptor/dist/index.d.ts", - "./src/errors/relay-error.ts", - "./src/services/pocket-relayer.ts", - "./src/controllers/v1.controller.ts", - "./src/controllers/index.ts", - "./src/controllers/web3index.controller.ts", - "./node_modules/logzio-nodejs/lib/logzio-nodejs.d.ts", - "./node_modules/logform/index.d.ts", - "./node_modules/winston-transport/index.d.ts", - "./node_modules/winston-logzio/lib/winston-logzio.d.ts", - "./src/services/logger.ts", - "./node_modules/@types/aes-js/index.d.ts", - "./node_modules/@types/keyv/index.d.ts", - "./node_modules/@types/http-cache-semantics/index.d.ts", - "./node_modules/@types/responselike/index.d.ts", - "./node_modules/@types/cacheable-request/index.d.ts", - "./node_modules/@types/eslint-visitor-keys/index.d.ts", - "./node_modules/@types/fs-extra/index.d.ts", - "./node_modules/@types/minimatch/index.d.ts", - "./node_modules/@types/glob/index.d.ts", - "./node_modules/@types/libsodium-wrappers/index.d.ts", - "./node_modules/@types/long/index.d.ts", - "./node_modules/@types/mocha/index.d.ts", - "./node_modules/@types/object-hash/index.d.ts", - "./node_modules/@types/on-finished/index.d.ts", - "./node_modules/@types/pg-types/index.d.ts", - "./node_modules/@types/prettier/index.d.ts", - "./node_modules/@types/scrypt-js/index.d.ts", - "./node_modules/@types/type-is/index.d.ts", - "./node_modules/@types/varint/index.d.ts", - "./src/services/cherry-picker.ts" - ] - }, - "version": "3.8.3" -} \ No newline at end of file