├── test ├── black_box │ ├── .yarnrc │ ├── jest.config.js │ ├── package.json │ ├── test │ │ └── chainlink_plugin.test.ts │ └── yarn.lock ├── .eslintrc.js ├── tsconfig.json ├── unit │ ├── jest.config.js │ └── chainlink_plugin.test.ts ├── config │ ├── setup.js │ └── jest.config.js └── e2e │ └── chainlink_plugin.test.ts ├── .eslintrc.js ├── src ├── index.ts ├── aggregator_v3_interface_abi.ts ├── chainlink_plugin.ts └── types.ts ├── cypress ├── tsconfig.json ├── webpack.config.js ├── plugins │ └── index.js └── support │ └── e2e.js ├── .eslintignore ├── .prettierrc.json ├── .editorconfig ├── .github ├── .dependabot.yml └── workflows │ ├── pr.yaml │ ├── release.yml │ └── test.yml ├── SECURITY.md ├── cypress.config.js ├── .gitignore ├── webpack.config.js ├── .prettierignore ├── tsconfig.json ├── LICENSE ├── CHANGELOG.md ├── tsdoc.json ├── scripts └── black_box_test_helpers.sh ├── package.json └── README.md /test/black_box/.yarnrc: -------------------------------------------------------------------------------- 1 | registry "http://localhost:4873" -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: "@chainsafe" 3 | }; 4 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './types'; 2 | export * from './chainlink_plugin'; 3 | -------------------------------------------------------------------------------- /cypress/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "types": ["cypress"] 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | lib 2 | dist 3 | jest.config.js 4 | webpack.config.js 5 | .eslintrc.js 6 | cypress 7 | cypress.config.js 8 | test/black_box -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 100, 3 | "singleQuote": true, 4 | "trailingComma": "all", 5 | "useTabs": true, 6 | "arrowParens": "avoid" 7 | } 8 | -------------------------------------------------------------------------------- /test/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: '../.eslintrc.js', 3 | parserOptions: { 4 | project: './tsconfig.json', 5 | tsconfigRootDir: __dirname, 6 | }, 7 | }; 8 | -------------------------------------------------------------------------------- /test/black_box/jest.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ 2 | module.exports = { 3 | preset: 'ts-jest', 4 | testEnvironment: 'node', 5 | }; 6 | -------------------------------------------------------------------------------- /test/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig", 3 | "compilerOptions": { 4 | "declaration": false, 5 | "declarationMap": false 6 | }, 7 | "include": ["./**/*", "../node_modules/jest-extended/types/**/*.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 4 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false -------------------------------------------------------------------------------- /test/unit/jest.config.js: -------------------------------------------------------------------------------- 1 | const base = require('../config/jest.config'); 2 | 3 | module.exports = { 4 | ...base, 5 | testMatch: ['/test/unit/**/*.(spec|test).(js|ts)'], 6 | 7 | coverageDirectory: '.coverage/unit', 8 | collectCoverageFrom: ['src/**'], 9 | }; 10 | -------------------------------------------------------------------------------- /.github/.dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "yarn" 4 | schedule: 5 | interval: weekly 6 | requiredLabels: 7 | - dependencies 8 | commit-message: 9 | prefix: fix 10 | prefix-development: chore 11 | include: scope -------------------------------------------------------------------------------- /test/config/setup.js: -------------------------------------------------------------------------------- 1 | // Have to use `require` because of Jest issue https://jestjs.io/docs/ecmascript-modules 2 | // eslint-disable-next-line @typescript-eslint/no-require-imports 3 | require('jest-extended'); 4 | 5 | // @todo extend jest to have "toHaveBeenCalledOnceWith" matcher. 6 | 7 | process.env.NODE_ENV = 'test'; 8 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Reporting a Vulnerability 4 | 5 | - :rotating_light: Please, send vulnerability reports to `security@chainsafe.io`. 6 | - :warning: **Please do not file a public ticket** mentioning the vulnerability, as doing so could increase the likelihood of the vulnerability being exploited before a fix has been created, released and installed on the network. 7 | -------------------------------------------------------------------------------- /test/black_box/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "web3.js_chainlink_plugin_black_box_tests", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "author": "ChainSafe Systems", 6 | "license": "LGPL-3.0", 7 | "scripts": { 8 | "test": "jest" 9 | }, 10 | "dependencies": { 11 | "@chainsafe/web3-plugin-chainlink": "^9.9.9" 12 | }, 13 | "devDependencies": { 14 | "jest": "^28.1.3", 15 | "ts-jest": "^28.0.7", 16 | "web3": "^4.0.3" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /cypress.config.js: -------------------------------------------------------------------------------- 1 | const config = { 2 | screenshotOnRunFailure: false, 3 | video: false, 4 | e2e: { 5 | // We've imported your old cypress plugins here. 6 | // You may want to clean this up later by importing these. 7 | setupNodeEvents(on, config) { 8 | return require('./cypress/plugins/index.js')(on, config); 9 | }, 10 | specPattern: 'test/e2e/**/**/*.test.ts', 11 | excludeSpecPattern: ['test/black_box/**'], 12 | }, 13 | }; 14 | 15 | module.exports = config; 16 | -------------------------------------------------------------------------------- /cypress/webpack.config.js: -------------------------------------------------------------------------------- 1 | const webpack = require('webpack'); 2 | 3 | module.exports = { 4 | mode: 'development', 5 | resolve: { 6 | extensions: ['.ts', '.js'], 7 | }, 8 | module: { 9 | rules: [ 10 | { 11 | test: /\.ts$/, 12 | exclude: [/node_modules/], 13 | use: [ 14 | { 15 | loader: 'ts-loader', 16 | }, 17 | ], 18 | }, 19 | ], 20 | }, 21 | plugins: [ 22 | new webpack.ProvidePlugin({ 23 | process: 'process/browser', 24 | }), 25 | ], 26 | }; 27 | -------------------------------------------------------------------------------- /.github/workflows/pr.yaml: -------------------------------------------------------------------------------- 1 | name: "Semantic PR" 2 | 3 | on: 4 | pull_request_target: 5 | types: 6 | - opened 7 | - edited 8 | - synchronize 9 | 10 | jobs: 11 | main: 12 | name: Validate PR title 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: amannn/action-semantic-pull-request@v5 16 | env: 17 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 18 | with: 19 | types: | 20 | fix 21 | feat 22 | chore 23 | revert 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # General 2 | .DS_Store 3 | *.swp 4 | *.orig 5 | 6 | # Logs 7 | logs 8 | *.log 9 | npm-debug.log* 10 | 11 | # Directory for instrumented libs generated by jscoverage/JSCover 12 | lib-cov 13 | 14 | # nyc test coverage 15 | .nyc_output 16 | 17 | # Dependency directories 18 | node_modules 19 | 20 | # Optional npm cache directory 21 | .npm 22 | .coverage 23 | .tool-versions 24 | 25 | # IDE directories 26 | .idea 27 | tmp 28 | 29 | # Distribution directory 30 | .vscode 31 | lib/ 32 | dist/ 33 | tsconfig.tsbuildinfo 34 | 35 | # Unsupported lock files 36 | package-lock.json 37 | 38 | tmp/ 39 | .npmrc -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | const webpack = require('webpack'); 2 | 3 | module.exports = { 4 | mode: 'production', 5 | resolve: { 6 | extensions: ['.ts', '.js'], 7 | }, 8 | output: { 9 | path: __dirname + '/dist', 10 | filename: 'chainlink_plugin.min.js', 11 | library: 'ChainlinkPlugin', 12 | libraryExport: 'default', 13 | libraryTarget: 'umd', 14 | globalObject: 'this', 15 | }, 16 | module: { 17 | rules: [ 18 | { 19 | test: /\.ts$/, 20 | exclude: [/node_modules/, '/test/'], 21 | use: [ 22 | { 23 | loader: 'ts-loader', 24 | }, 25 | ], 26 | }, 27 | ], 28 | }, 29 | }; 30 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Files 2 | LICENSE 3 | .gitkeep 4 | mocha.opts 5 | .DS_Store 6 | REVISION 7 | 8 | # rc files 9 | .*rc 10 | ## ignore files 11 | .*ignore 12 | 13 | # Ignore extensions 14 | *.png 15 | *.jpg 16 | *.svg 17 | *.ai 18 | *.sql 19 | *.sh 20 | *.html 21 | *.info 22 | *.xml 23 | *.log 24 | *.proto 25 | *.csv 26 | *.cmd 27 | *.tsbuildinfo 28 | 29 | ## jest snapshot 30 | *.snap 31 | 32 | # project specific paths 33 | coverage/ 34 | lib/ 35 | dist/ 36 | tmp/ 37 | browsertest.build/ 38 | .coverage 39 | .coverage-unit 40 | # Eth2 specs 41 | *.yaml 42 | *.yml 43 | .tool-versions 44 | .husky/ 45 | .editorconfig 46 | yarn.lock 47 | 48 | !.github/workflows/*.yml 49 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "./", 4 | "resolveJsonModule": true, 5 | "forceConsistentCasingInFileNames": true, 6 | "target": "es2020", 7 | "module": "commonjs", 8 | "declaration": true, 9 | "moduleResolution": "node", 10 | "newLine": "lf", 11 | "noFallthroughCasesInSwitch": true, 12 | "noImplicitReturns": true, 13 | "noUnusedLocals": true, 14 | "noUnusedParameters": true, 15 | "pretty": true, 16 | "removeComments": true, 17 | "sourceMap": true, 18 | "declarationMap": true, 19 | "strict": true, 20 | "strictNullChecks": true, 21 | "outDir": "lib", 22 | "esModuleInterop": true 23 | }, 24 | "include": ["src/**/*"] 25 | } 26 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This file is part of web3.js. 2 | 3 | web3.js is free software: you can redistribute it and/or modify 4 | it under the terms of the GNU Lesser General Public License as published by 5 | the Free Software Foundation, either version 3 of the License, or 6 | (at your option) any later version. 7 | 8 | web3.js is distributed in the hope that it will be useful, 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | GNU Lesser General Public License for more details. 12 | 13 | You should have received a copy of the GNU Lesser General Public License 14 | along with web3.js. If not, see . 15 | -------------------------------------------------------------------------------- /cypress/plugins/index.js: -------------------------------------------------------------------------------- 1 | /// 2 | // *********************************************************** 3 | // This example plugins/index.js can be used to load plugins 4 | // 5 | // You can change the location of this file or turn off loading 6 | // the plugins file with the 'pluginsFile' configuration option. 7 | // 8 | // You can read more here: 9 | // https://on.cypress.io/plugins-guide 10 | // *********************************************************** 11 | 12 | // This function is called when a project is opened or re-opened (e.g. due to 13 | // the project's config changing) 14 | 15 | const webpackPreprocessor = require('@cypress/webpack-preprocessor'); 16 | const webpackOptions = require('../webpack.config.js'); 17 | 18 | /** 19 | * @type {Cypress.PluginConfig} 20 | */ 21 | // eslint-disable-next-line no-unused-vars 22 | module.exports = (on, config) => { 23 | on('file:preprocessor', webpackPreprocessor({ webpackOptions })); 24 | return config; 25 | }; 26 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## [1.0.0](https://github.com/ChainSafe/web3.js-plugin-chainlink/compare/v1.0.0...v1.0.0) (2023-08-07) 4 | 5 | 6 | ### ⚠ BREAKING CHANGES 7 | 8 | * rename npm project 9 | 10 | ### Features 11 | 12 | * rename, update dependencies and configs. ([d29710b](https://github.com/ChainSafe/web3.js-plugin-chainlink/commit/d29710b5722de44d50cdd425808ac0631a355cfa)) 13 | 14 | 15 | ### Bug Fixes 16 | 17 | * ci ([0c50eea](https://github.com/ChainSafe/web3.js-plugin-chainlink/commit/0c50eea7249adfcd3c4a81a80291aa1a71937515)) 18 | * update blackbox tests ([ae4a18b](https://github.com/ChainSafe/web3.js-plugin-chainlink/commit/ae4a18b3f8c0f9297d90b6bcb26207f57b69dca6)) 19 | 20 | 21 | ### Miscellaneous 22 | 23 | * release 1.0.0 ([5848325](https://github.com/ChainSafe/web3.js-plugin-chainlink/commit/5848325c7763507620d0beb3ce86cc235a9694bd)) 24 | * release 1.0.0 ([c1e0378](https://github.com/ChainSafe/web3.js-plugin-chainlink/commit/c1e03787ff79ed2d7522cddb7ff3b99391ea3893)) 25 | * rename npm project ([312f75d](https://github.com/ChainSafe/web3.js-plugin-chainlink/commit/312f75d64e16faead85ac5a990678b8aefae19a9)) 26 | -------------------------------------------------------------------------------- /cypress/support/e2e.js: -------------------------------------------------------------------------------- 1 | // *********************************************************** 2 | // This example support/index.js is processed and 3 | // loaded automatically before your test files. 4 | // 5 | // This is a great place to put global configuration and 6 | // behavior that modifies Cypress. 7 | // 8 | // You can change the location of this file or turn off 9 | // automatically serving support files with the 10 | // 'supportFile' configuration option. 11 | // 12 | // You can read more here: 13 | // https://on.cypress.io/configuration 14 | // *********************************************************** 15 | 16 | // Alternatively you can use CommonJS syntax: 17 | // require('./commands') 18 | 19 | import 'cypress-jest-adapter'; 20 | 21 | // Enable the hook to match Jest 22 | global.beforeAll = global.before; 23 | global.afterAll = global.after; 24 | 25 | // In e2e tests we just need to use jest mocking API 26 | global.jest = { 27 | fn: global.cy.stub, 28 | spyOn: global.cy.spy, 29 | }; 30 | 31 | global.it = it; 32 | global.test = it; 33 | global.it.each = data => (describe, test) => { 34 | const prs = []; 35 | for (const d of data) { 36 | if (Array.isArray(d)) { 37 | prs.push(global.it(describe, test.bind(undefined, ...d))); 38 | } else { 39 | prs.push(global.it(describe, test.bind(undefined, d))); 40 | } 41 | } 42 | return Promise.all(prs); 43 | }; 44 | -------------------------------------------------------------------------------- /test/config/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: 'ts-jest', 3 | testEnvironment: 'node', 4 | globals: { 5 | 'ts-jest': { 6 | tsconfig: './test/tsconfig.json', 7 | }, 8 | }, 9 | rootDir: '../..', 10 | testMatch: ['/test/**/?(*.)+(spec|test).+(ts|tsx|js)'], 11 | testPathIgnorePatterns: ['/test/black_box'], 12 | setupFilesAfterEnv: ['/test/config/setup.js'], 13 | transform: { 14 | '^.+\\.(ts|tsx)$': 'ts-jest', 15 | }, 16 | verbose: false, 17 | collectCoverage: false, 18 | coverageReporters: ['json'], 19 | coverageDirectory: '.coverage', 20 | /** 21 | * restoreMocks [boolean] 22 | * 23 | * Default: false 24 | * 25 | * Automatically restore mock state between every test. 26 | * Equivalent to calling jest.restoreAllMocks() between each test. 27 | * This will lead to any mocks having their fake implementations removed 28 | * and restores their initial implementation. 29 | */ 30 | restoreMocks: true, 31 | 32 | /** 33 | * resetModules [boolean] 34 | * 35 | * Default: false 36 | * 37 | * By default, each test file gets its own independent module registry. 38 | * Enabling resetModules goes a step further and resets the module registry before running each individual test. 39 | * This is useful to isolate modules for every test so that local module state doesn't conflict between tests. 40 | * This can be done programmatically using jest.resetModules(). 41 | */ 42 | resetModules: true, 43 | }; 44 | -------------------------------------------------------------------------------- /test/unit/chainlink_plugin.test.ts: -------------------------------------------------------------------------------- 1 | import { Web3, Web3Eth, Web3Context } from 'web3'; 2 | 3 | import { ChainlinkPlugin } from '../../src/chainlink_plugin'; 4 | import { MainnetPriceFeeds } from '../../src/types'; 5 | 6 | describe('ChainlinkPlugin Tests', () => { 7 | it('should register ChainlinkPlugin plugin on Web3Context instance', () => { 8 | const web3Context = new Web3Context('http://127.0.0.1:8545'); 9 | web3Context.registerPlugin(new ChainlinkPlugin()); 10 | expect(web3Context.chainlink).toBeDefined(); 11 | }); 12 | 13 | it('should register ChainlinkPlugin plugin on Web3Eth instance', () => { 14 | const web3Eth = new Web3Eth('http://127.0.0.1:8545'); 15 | web3Eth.registerPlugin(new ChainlinkPlugin()); 16 | expect(web3Eth.chainlink).toBeDefined(); 17 | }); 18 | 19 | describe('ChainlinkPlugin method tests', () => { 20 | const requestManagerSendSpy = jest.fn(); 21 | 22 | let web3Context: Web3; 23 | 24 | beforeAll(() => { 25 | web3Context = new Web3('http://127.0.0.1:8545'); 26 | web3Context.registerPlugin(new ChainlinkPlugin()); 27 | web3Context.chainlink.requestManager.send = requestManagerSendSpy; 28 | }); 29 | 30 | it('should call ChainlinkPlugin.getPrice with expected RPC object', async () => { 31 | await web3Context.chainlink.getPrice(MainnetPriceFeeds.LinkEth); 32 | expect(requestManagerSendSpy).toHaveBeenCalledWith({ 33 | method: 'eth_call', 34 | params: [ 35 | { 36 | data: '0xfeaf968c', 37 | input: '0xfeaf968c', 38 | to: MainnetPriceFeeds.LinkEth, 39 | }, 40 | 'latest', 41 | ], 42 | }); 43 | }); 44 | }); 45 | }); 46 | -------------------------------------------------------------------------------- /src/aggregator_v3_interface_abi.ts: -------------------------------------------------------------------------------- 1 | export const AggregatorV3InterfaceABI = [ 2 | { 3 | inputs: [], 4 | name: 'decimals', 5 | outputs: [{ internalType: 'uint8', name: '', type: 'uint8' }], 6 | stateMutability: 'view', 7 | type: 'function', 8 | }, 9 | { 10 | inputs: [], 11 | name: 'description', 12 | outputs: [{ internalType: 'string', name: '', type: 'string' }], 13 | stateMutability: 'view', 14 | type: 'function', 15 | }, 16 | { 17 | inputs: [{ internalType: 'uint80', name: '_roundId', type: 'uint80' }], 18 | name: 'getRoundData', 19 | outputs: [ 20 | { internalType: 'uint80', name: 'roundId', type: 'uint80' }, 21 | { internalType: 'int256', name: 'answer', type: 'int256' }, 22 | { internalType: 'uint256', name: 'startedAt', type: 'uint256' }, 23 | { internalType: 'uint256', name: 'updatedAt', type: 'uint256' }, 24 | { internalType: 'uint80', name: 'answeredInRound', type: 'uint80' }, 25 | ], 26 | stateMutability: 'view', 27 | type: 'function', 28 | }, 29 | { 30 | inputs: [], 31 | name: 'latestRoundData', 32 | outputs: [ 33 | { internalType: 'uint80', name: 'roundId', type: 'uint80' }, 34 | { internalType: 'int256', name: 'answer', type: 'int256' }, 35 | { internalType: 'uint256', name: 'startedAt', type: 'uint256' }, 36 | { internalType: 'uint256', name: 'updatedAt', type: 'uint256' }, 37 | { internalType: 'uint80', name: 'answeredInRound', type: 'uint80' }, 38 | ], 39 | stateMutability: 'view', 40 | type: 'function', 41 | }, 42 | { 43 | inputs: [], 44 | name: 'version', 45 | outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], 46 | stateMutability: 'view', 47 | type: 'function', 48 | }, 49 | ] as const; 50 | -------------------------------------------------------------------------------- /tsdoc.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", 3 | "tagDefinitions": [ 4 | { 5 | "tagName": "@alias", 6 | "syntaxKind": "block", 7 | "allowMultiple": true 8 | }, 9 | { 10 | "tagName": "@function", 11 | "syntaxKind": "inline", 12 | "allowMultiple": false 13 | }, 14 | { 15 | "tagName": "@doclink", 16 | "syntaxKind": "inline", 17 | "allowMultiple": true 18 | }, 19 | { 20 | "tagName": "@module", 21 | "syntaxKind": "block" 22 | }, 23 | { 24 | "tagName": "@typedef", 25 | "syntaxKind": "block" 26 | }, 27 | { 28 | "tagName": "@callback", 29 | "syntaxKind": "block" 30 | }, 31 | { 32 | "tagName": "@prop", 33 | "syntaxKind": "block", 34 | "allowMultiple": true 35 | }, 36 | { 37 | "tagName": "@property", 38 | "syntaxKind": "block", 39 | "allowMultiple": true 40 | }, 41 | { 42 | "tagName": "@group", 43 | "syntaxKind": "block", 44 | "allowMultiple": true 45 | }, 46 | { 47 | "tagName": "@category", 48 | "syntaxKind": "block", 49 | "allowMultiple": true 50 | }, 51 | { 52 | "tagName": "@hidden", 53 | "syntaxKind": "modifier" 54 | }, 55 | { 56 | "tagName": "@ignore", 57 | "syntaxKind": "modifier" 58 | }, 59 | { 60 | "tagName": "@enum", 61 | "syntaxKind": "modifier" 62 | }, 63 | { 64 | "tagName": "@event", 65 | "syntaxKind": "modifier" 66 | }, 67 | { 68 | "tagName": "@template", 69 | "syntaxKind": "block", 70 | "allowMultiple": true 71 | }, 72 | { 73 | "tagName": "@linkcode", 74 | "syntaxKind": "inline", 75 | "allowMultiple": true 76 | }, 77 | { 78 | "tagName": "@linkplain", 79 | "syntaxKind": "block", 80 | "allowMultiple": true 81 | } 82 | ] 83 | } 84 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | on: 3 | push: 4 | branches: 5 | - master 6 | jobs: 7 | maybe-release: 8 | name: release 9 | runs-on: ubuntu-latest 10 | if: github.event_name == 'push' && github.ref == 'refs/heads/master' 11 | steps: 12 | 13 | - uses: google-github-actions/release-please-action@v3 14 | id: release 15 | with: 16 | release-type: node 17 | package-name: release-please-action 18 | changelog-types: '[{"type":"feat","section":"Features","hidden":false},{"type":"fix","section":"Bug Fixes","hidden":false},{"type":"chore","section":"Miscellaneous","hidden":true},{"type":"revert","hidden":true}]' 19 | 20 | - uses: actions/checkout@v3 21 | if: ${{ steps.release.outputs.releases_created }} 22 | 23 | - uses: actions/setup-node@v3 24 | with: 25 | cache: 'yarn' 26 | node-version: 18 27 | registry-url: 'https://registry.npmjs.org' 28 | if: ${{ steps.release.outputs.releases_created }} 29 | 30 | - run: corepack enable 31 | if: ${{ steps.release.outputs.releases_created }} 32 | 33 | - run: yarn install --immutable 34 | if: ${{ steps.release.outputs.releases_created }} 35 | 36 | - run: yarn build 37 | if: ${{ steps.release.outputs.releases_created }} 38 | 39 | - run: yarn build:web 40 | if: ${{ steps.release.outputs.releases_created }} 41 | 42 | - env: 43 | NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} 44 | if: ${{ steps.release.outputs.releases_created }} 45 | run: | 46 | echo npmAuthToken: "$NODE_AUTH_TOKEN" >> ./.yarnrc.yml 47 | 48 | - run: yarn publish --access public 49 | env: 50 | NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} 51 | if: ${{ steps.release.outputs.releases_created }} -------------------------------------------------------------------------------- /scripts/black_box_test_helpers.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ORIGARGS=("$@") 4 | 5 | helpFunction() { 6 | echo "Usage: $0 [start|stop|startBackgroundAndPublish|runTests] [background]" 7 | exit 1 # Exit script after printing help 8 | } 9 | 10 | start() { 11 | . scripts/env.sh 12 | if [[ ${ORIGARGS[1]} == "background" ]]; then 13 | startBackground 14 | else 15 | echo "Starting verdaccio..." 16 | docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio 17 | fi 18 | } 19 | 20 | startBackground() { 21 | echo "Starting verdaccio in background..." 22 | docker run -d --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio 23 | } 24 | 25 | stop() { 26 | echo "Stopping verdaccio ..." 27 | docker ps -q --filter ancestor="verdaccio/verdaccio" | xargs -r docker stop 28 | } 29 | 30 | createVerdaccioNPMUser() { 31 | curl -XPUT \ 32 | -H "Content-type: application/json" \ 33 | -d '{ "name": "test", "password": "test" }' \ 34 | 'http://localhost:4873/-/user/org.couchdb.user:test' 35 | } 36 | 37 | loginNPMUser() { 38 | npx npm-auth-to-token \ 39 | -u test \ 40 | -p test \ 41 | -e test@test.com \ 42 | -r http://localhost:4873 43 | } 44 | 45 | yarnPublish() { 46 | yarn publish \ 47 | --new-version 9.9.9 \ 48 | --no-git-tag-version \ 49 | --tag blackbox \ 50 | --registry http://localhost:4873 51 | } 52 | 53 | publish() { 54 | echo "Publishing to verdaccio ..." 55 | 56 | npx wait-port -t 60000 4873 57 | 58 | createVerdaccioNPMUser 59 | loginNPMUser 60 | yarn build 61 | yarnPublish 62 | } 63 | 64 | startBackgroundAndPublish() { 65 | startBackground && publish 66 | } 67 | 68 | runTests() { 69 | cd test/black_box 70 | yarn --update-checksums 71 | yarn install 72 | yarn test 73 | } 74 | 75 | case $1 in 76 | start) start ;; 77 | stop) stop ;; 78 | startBackgroundAndPublish) startBackgroundAndPublish ;; 79 | runTests) runTests ;; 80 | *) helpFunction ;; # Print helpFunction in case parameter is non-existent 81 | esac 82 | -------------------------------------------------------------------------------- /src/chainlink_plugin.ts: -------------------------------------------------------------------------------- 1 | import { Address, Contract, ContractAbi, Web3PluginBase, validator } from 'web3'; 2 | import { AggregatorV3InterfaceABI } from './aggregator_v3_interface_abi'; 3 | import { GoerliPriceFeeds, MainnetPriceFeeds, Price } from './types'; 4 | 5 | export class ChainlinkPlugin extends Web3PluginBase { 6 | public pluginNamespace: string; 7 | public defaultAggregatorInterfaceAbi: ContractAbi; 8 | 9 | public constructor(options?: { 10 | pluginNamespace?: string; 11 | defaultAggregatorInterfaceAbi?: ContractAbi; 12 | }) { 13 | super(); 14 | this.pluginNamespace = options?.pluginNamespace ?? 'chainlink'; 15 | this.defaultAggregatorInterfaceAbi = 16 | options?.defaultAggregatorInterfaceAbi ?? AggregatorV3InterfaceABI; 17 | } 18 | 19 | /** 20 | * Calls the `latestRoundData` method on a deployed `aggregatorInterfaceAbi` contract. 21 | * More information about `latestRoundData` could be found at https://docs.chain.link/docs/data-feeds/price-feeds/api-reference/#latestrounddata 22 | * 23 | * @returns A `Price` object from deployed `aggregatorInterfaceAbi` contract. 24 | */ 25 | public async getPrice( 26 | priceFeedAddress: MainnetPriceFeeds | GoerliPriceFeeds | Address, 27 | aggregatorInterfaceAbi: ContractAbi = this.defaultAggregatorInterfaceAbi, 28 | ): Promise { 29 | if (!validator.isAddress(priceFeedAddress)) { 30 | throw new Error( 31 | `Provided priceFeedAddress is not a valid address: ${priceFeedAddress}`, 32 | ); 33 | } 34 | 35 | const _contract: Contract = new Contract( 36 | aggregatorInterfaceAbi, 37 | priceFeedAddress, 38 | ); 39 | 40 | // Adds Web3Context to Contract instance 41 | _contract.link(this); 42 | 43 | if (_contract.methods.latestRoundData !== undefined) { 44 | return _contract.methods.latestRoundData().call(); 45 | } 46 | 47 | throw new Error( 48 | 'Unable to get price, provided aggregatorInterfaceAbi is missing latestRoundData method', 49 | ); 50 | } 51 | } 52 | 53 | // Module Augmentation 54 | declare module 'web3' { 55 | interface Web3Context { 56 | chainlink: ChainlinkPlugin; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@chainsafe/web3-plugin-chainlink", 3 | "version": "1.0.0", 4 | "description": "A Web3.js 4.x Plugin for Interacting With Chainlink Smart Contracts", 5 | "main": "lib/index.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git+https://github.com/ChainSafe/web3.js-chainlink-plugin.git" 9 | }, 10 | "author": "ChainSafe Systems", 11 | "license": "LGPL-3.0", 12 | "private": false, 13 | "files": [ 14 | "lib/**/*", 15 | "dist/**/*" 16 | ], 17 | "scripts": { 18 | "build": "tsc --build", 19 | "build:web": "webpack", 20 | "clean": "rimraf lib && rimraf dist", 21 | "lint": "eslint --ext .js,.ts .", 22 | "lint:fix": "eslint --fix --ext .js,.ts .", 23 | "post-black-box": "./scripts/black_box_test_helpers.sh stop", 24 | "pre-black-box": "./scripts/black_box_test_helpers.sh startBackgroundAndPublish", 25 | "prebuild": "yarn clean", 26 | "test": "jest --config=./test/unit/jest.config.js", 27 | "test:black-box": "yarn pre-black-box && ./scripts/black_box_test_helpers.sh runTests", 28 | "test:coverage": "jest --config=./test/unit/jest.config.js --coverage=true --coverage-reporters=text", 29 | "test:e2e:chrome": "cypress run --headless --browser chrome", 30 | "test:e2e:firefox": "cypress run --headless --browser firefox", 31 | "test:e2e:electron": "cypress run --headless --browser electron", 32 | "test:unit": "jest --config=./test/unit/jest.config.js", 33 | "test:all": "yarn && yarn build && yarn test && yarn run test:e2e:firefox && yarn run test:black-box" 34 | }, 35 | "devDependencies": { 36 | "@chainsafe/eslint-config": "^2.0.0", 37 | "@cypress/webpack-preprocessor": "^5.15.5", 38 | "@types/jest": "^28.1.6", 39 | "@types/node": "^18.7.23", 40 | "@types/ws": "^8.5.4", 41 | "cypress": "^12.3.0", 42 | "cypress-jest-adapter": "^0.1.1", 43 | "eslint": "^8", 44 | "jest": "^28.1.3", 45 | "jest-extended": "^3.0.1", 46 | "npm-auth-to-token": "^1.0.0", 47 | "process": "^0.11.10", 48 | "ts-jest": "^28.0.7", 49 | "ts-loader": "^9.4.1", 50 | "typescript": "^4.7.4", 51 | "web3": "^4.0.3", 52 | "webpack": "^5.75.0", 53 | "webpack-cli": "^5.0.1" 54 | }, 55 | "peerDependencies": { 56 | "web3": ">= 4.0.3" 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /test/e2e/chainlink_plugin.test.ts: -------------------------------------------------------------------------------- 1 | import { Web3, Web3Eth, Web3Context } from 'web3'; 2 | 3 | import { ChainlinkPlugin } from '../../src/chainlink_plugin'; 4 | import { MainnetPriceFeeds } from '../../src/types'; 5 | 6 | describe('ChainlinkPlugin Tests', () => { 7 | it('should register ChainlinkPlugin plugin on Web3Context instance', () => { 8 | const web3Context = new Web3Context('http://127.0.0.1:8545'); 9 | web3Context.registerPlugin(new ChainlinkPlugin()); 10 | expect(web3Context.chainlink).toBeDefined(); 11 | }); 12 | 13 | it('should register ChainlinkPlugin plugin on Web3Eth instance', () => { 14 | const web3Eth = new Web3Eth('http://127.0.0.1:8545'); 15 | web3Eth.registerPlugin(new ChainlinkPlugin()); 16 | expect(web3Eth.chainlink).toBeDefined(); 17 | }); 18 | 19 | describe('ChainlinkPlugin method tests', () => { 20 | let web3Context: Web3; 21 | let requestManagerSendSpy: jest.SpyInstance; 22 | 23 | beforeAll(() => { 24 | web3Context = new Web3(); 25 | web3Context.registerPlugin(new ChainlinkPlugin()); 26 | requestManagerSendSpy = jest.spyOn(web3Context.chainlink.requestManager, 'send'); 27 | }); 28 | 29 | it('should call ChainlinkPlugin.getPrice with expected RPC object', async () => { 30 | const providers = [ 31 | 'https://eth.public-rpc.com', 32 | 'https://nodes.mewapi.io/rpc/eth', 33 | 'https://ethereum.publicnode.com', 34 | 'https://rpc.ankr.com/eth', 35 | 'https://rpc.flashbots.net/', 36 | ]; 37 | let result: unknown; 38 | let counter = 0; 39 | do { 40 | try { 41 | web3Context.setProvider(providers[counter]); 42 | // eslint-disable-next-line no-await-in-loop 43 | result = await web3Context.chainlink.getPrice(MainnetPriceFeeds.LinkEth); 44 | } catch (error) { 45 | counter += 1; 46 | } 47 | } while (!result && counter < providers.length); 48 | 49 | if (!result) { 50 | throw new Error('It seems all Providers endpoints, used for the test, had issues'); 51 | } 52 | expect(Object.keys(result as object)).toEqual( 53 | expect.arrayContaining([ 54 | 'roundId', 55 | 'answer', 56 | 'startedAt', 57 | 'updatedAt', 58 | 'answeredInRound', 59 | ]), 60 | ); 61 | expect(requestManagerSendSpy).toHaveBeenCalledWith({ 62 | method: 'eth_call', 63 | params: [ 64 | { 65 | data: '0xfeaf968c', 66 | input: '0xfeaf968c', 67 | to: MainnetPriceFeeds.LinkEth, 68 | }, 69 | 'latest', 70 | ], 71 | }); 72 | }); 73 | }); 74 | }); 75 | -------------------------------------------------------------------------------- /test/black_box/test/chainlink_plugin.test.ts: -------------------------------------------------------------------------------- 1 | import { Web3, Web3Context, Web3Eth } from 'web3'; 2 | 3 | // https://github.com/ChainSafe/web3.js-plugin-chainlink/issues/15 4 | // @ts-ignore 5 | import { ChainlinkPlugin, MainnetPriceFeeds } from '@chainsafe/web3-plugin-chainlink'; 6 | 7 | describe('ChainlinkPlugin Tests', () => { 8 | it('should register ChainlinkPlugin plugin on Web3Context instance', () => { 9 | const web3Context = new Web3Context('http://127.0.0.1:8545'); 10 | web3Context.registerPlugin(new ChainlinkPlugin()); 11 | expect(web3Context.chainlink).toBeDefined(); 12 | }); 13 | 14 | it('should register ChainlinkPlugin plugin on Web3Context instance', () => { 15 | const web3Context = new Web3Context('http://127.0.0.1:8545'); 16 | web3Context.registerPlugin(new ChainlinkPlugin()); 17 | expect(web3Context.chainlink).toBeDefined(); 18 | }); 19 | 20 | it('should register ChainlinkPlugin plugin on Web3Eth instance', () => { 21 | const web3Eth = new Web3Eth('http://127.0.0.1:8545'); 22 | web3Eth.registerPlugin(new ChainlinkPlugin()); 23 | expect(web3Eth.chainlink).toBeDefined(); 24 | }); 25 | 26 | describe('ChainlinkPlugin method tests', () => { 27 | let web3Context: Web3; 28 | let requestManagerSendSpy: jest.SpyInstance; 29 | 30 | beforeAll(() => { 31 | web3Context = new Web3(); 32 | web3Context.registerPlugin(new ChainlinkPlugin()); 33 | requestManagerSendSpy = jest.spyOn(web3Context.chainlink.requestManager, 'send'); 34 | }); 35 | 36 | it('should call ChainlinkPlugin.getPrice with expected RPC object', async () => { 37 | const providers = [ 38 | 'https://eth.public-rpc.com', 39 | 'https://nodes.mewapi.io/rpc/eth', 40 | 'https://ethereum.publicnode.com', 41 | 'https://rpc.ankr.com/eth', 42 | 'https://rpc.flashbots.net/', 43 | ]; 44 | let result: unknown; 45 | let counter = 0; 46 | do { 47 | try { 48 | web3Context.setProvider(providers[counter]); 49 | // eslint-disable-next-line no-await-in-loop 50 | result = await web3Context.chainlink.getPrice(MainnetPriceFeeds.LinkEth); 51 | } catch (error) { 52 | counter += 1; 53 | } 54 | } while (!result && counter < providers.length); 55 | 56 | if (!result) { 57 | throw new Error('It seems all Providers endpoints, used for the test, had issues'); 58 | } 59 | expect(Object.keys(result as object)).toEqual( 60 | expect.arrayContaining([ 61 | 'roundId', 62 | 'answer', 63 | 'startedAt', 64 | 'updatedAt', 65 | 'answeredInRound', 66 | ]), 67 | ); 68 | expect(requestManagerSendSpy).toHaveBeenCalledWith({ 69 | method: 'eth_call', 70 | params: [ 71 | { 72 | data: '0xfeaf968c', 73 | input: '0xfeaf968c', 74 | to: MainnetPriceFeeds.LinkEth, 75 | }, 76 | 'latest', 77 | ], 78 | }); 79 | }); 80 | }); 81 | }); 82 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: Test 2 | on: 3 | push: 4 | branches: 5 | - master 6 | pull_request: 7 | 8 | jobs: 9 | build: 10 | name: Build TSC 11 | strategy: 12 | matrix: 13 | node: 14 | - 16 15 | - 18 16 | runs-on: ubuntu-latest 17 | steps: 18 | - uses: actions/checkout@v3 19 | - uses: actions/setup-node@v3 20 | with: 21 | node-version: '${{ matrix.node }}' 22 | cache: yarn 23 | - run: corepack enable 24 | - run: yarn install 25 | - run: >- 26 | tar -czf /tmp/chainlink-plugin-${{ matrix.node }}.js.tar.gz 27 | --exclude="./.git" ./ 28 | - uses: actions/upload-artifact@v3 29 | with: 30 | name: 'chainlink-plugin-${{ matrix.node }}.js.tar.gz' 31 | path: '/tmp/chainlink-plugin-${{ matrix.node }}.js.tar.gz' 32 | - uses: actions/cache/save@v3 33 | with: 34 | path: | 35 | ~/.cache/Cypress 36 | key: cypress-${{ runner.os }}-${{ hashFiles('yarn.lock') }} 37 | build-web: 38 | name: Build Webpack 39 | needs: build 40 | runs-on: ubuntu-latest 41 | steps: 42 | - uses: actions/download-artifact@v3 43 | with: 44 | name: 'chainlink-plugin-18.js.tar.gz' 45 | path: /tmp 46 | - run: corepack enable 47 | - run: 'tar -xf /tmp/chainlink-plugin-18.js.tar.gz -C ./' 48 | - run: 'yarn build:web' 49 | lint: 50 | name: lint 51 | needs: build 52 | runs-on: ubuntu-latest 53 | steps: 54 | - uses: actions/download-artifact@v3 55 | with: 56 | name: chainlink-plugin-18.js.tar.gz 57 | path: /tmp 58 | - run: corepack enable 59 | - run: tar -xf /tmp/chainlink-plugin-18.js.tar.gz -C ./ 60 | - run: yarn lint 61 | unit: 62 | name: Unit Tests 63 | needs: build 64 | runs-on: ubuntu-latest 65 | strategy: 66 | matrix: 67 | node: 68 | - 16 69 | - 18 70 | steps: 71 | - uses: actions/download-artifact@v3 72 | with: 73 | name: 'chainlink-plugin-${{ matrix.node }}.js.tar.gz' 74 | path: /tmp 75 | - run: 'tar -xf /tmp/chainlink-plugin-${{ matrix.node }}.js.tar.gz -C ./' 76 | - run: corepack enable 77 | - run: 'yarn test:unit' 78 | browser-tests: 79 | name: Browser Tests 80 | needs: build 81 | runs-on: ubuntu-latest 82 | strategy: 83 | matrix: 84 | browser: ['electron', 'chrome', 'firefox'] 85 | steps: 86 | - uses: browser-actions/setup-firefox@latest 87 | if: matrix.browser == 'firefox' 88 | - uses: actions/download-artifact@v3 89 | with: 90 | name: chainlink-plugin-16.js.tar.gz 91 | path: /tmp 92 | - run: tar -xf /tmp/chainlink-plugin-16.js.tar.gz -C ./ 93 | - uses: actions/cache@v3 94 | with: 95 | path: | 96 | ~/.cache/Cypress 97 | key: cypress-${{ runner.os }}-${{ hashFiles('yarn.lock') }} 98 | - run: corepack enable 99 | - run: yarn add --no-package-lock --no-save --force cypress 100 | - name: Cypress run 101 | uses: cypress-io/github-action@v5 102 | with: 103 | install: false 104 | command: 'yarn run test:e2e:${{ matrix.browser }}' 105 | cache-key: node-v16-on-${{ matrix.browser }}-hash-${{ hashFiles('yarn.lock') }} 106 | black-box: 107 | name: Black Box Tests 108 | needs: build 109 | runs-on: ubuntu-latest 110 | strategy: 111 | matrix: 112 | node: 113 | - 16 114 | - 18 115 | steps: 116 | - uses: actions/download-artifact@v3 117 | with: 118 | name: chainlink-plugin-${{ matrix.node }}.js.tar.gz 119 | path: /tmp 120 | - run: tar -xf /tmp/chainlink-plugin-${{ matrix.node }}.js.tar.gz -C ./ 121 | - run: | 122 | yarn test:black-box 123 | shell: bash 124 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Web3.js Chainlink Plugin 2 | 3 | #### Web3.js libraries are being sunset on March 4th, 2025. For migration guides and more details please refer to [Chainsafe blog](https://blog.chainsafe.io/web3-js-sunset/) 4 | 5 | 6 | ![ES Version](https://img.shields.io/badge/ES-2020-yellow) 7 | ![Node Version](https://img.shields.io/badge/node-18.x-green) 8 | [![NPM Package][npm-image]][npm-url] 9 | 10 | This is a [web3.js](https://github.com/web3/web3.js) `4.x` plugin for interacting with Chainlink Ethereum contracts. 11 | 12 | ## Prerequisites 13 | 14 | - :gear: [NodeJS](https://nodejs.org/) (LTS/Fermium) 15 | - :toolbox: [Yarn](https://yarnpkg.com/) 16 | 17 | ## Installation 18 | 19 | ```bash 20 | yarn add @chainsafe/web3.js-chainlink-plugin 21 | ``` 22 | 23 | ## Using this plugin 24 | 25 | ### Installing Version `4.x` of `web3` 26 | 27 | When adding the `web3` package to your project, make sure to use version `4.x`: 28 | 29 | - `npm i -S web3@4.0.3` 30 | - `yarn add web3@4.0.3` 31 | 32 | > **_NOTE_** 33 | > If 4.x was already released, you are good to just use `web3` without appending anything to it. 34 | 35 | To verify you have the correct `web3` version installed, after adding the package to your project (the above commands), look at the versions listed in your project's `package.json` under the `dependencies` section, it should contain version 4.x similar to: 36 | 37 | ```json 38 | "dependencies": { 39 | "web3": "4.0.3" 40 | } 41 | ``` 42 | 43 | ### Registering the Plugin with a web3.js Instance 44 | 45 | After importing `ChainlinkPlugin` from `@chainsafe/web3-plugin-chainlink` and `Web3` from `web3`, register an instance of `ChainlinkPlugin` with an instance of `Web3` like so: 46 | 47 | ```typescript 48 | import { ChainlinkPlugin } from '@chainsafe/web3-plugin-chainlink'; 49 | import { Web3 } from 'web3'; 50 | 51 | const web3 = new Web3('YOUR_PROVIDER_URL'); 52 | const chainlinkPlugin = new ChainlinkPlugin(); 53 | 54 | web3.registerPlugin(chainlinkPlugin); 55 | ``` 56 | 57 | More information about registering web3.js plugins can be found [here](https://docs.web3js.org/docs/guides/web3_plugin_guide/plugin_users#registering-the-plugin). 58 | 59 | ### Plugin Methods 60 | 61 | #### Price Feed Addresses 62 | 63 | Included in this plugin are two enums that contain the Ethereum contract addresses for specific token pairs: [MainnetPriceFeeds](https://github.com/ChainSafe/web3.js-plugin-chainlink/blob/b688d4aede593e4faf2668e565caf4882c88abc9/src/types.ts#L11) and [GoerliPriceFeeds](https://github.com/ChainSafe/web3.js-plugin-chainlink/blob/b688d4aede593e4faf2668e565caf4882c88abc9/src/types.ts#L250). If you cannot find your desired price feed within these enums, please check [here](https://docs.chain.link/docs/data-feeds/price-feeds/addresses) to make sure it's supported, and if it is, please open an issue or a pull request for the missing price feed so that it can be added to the appropriate enum. 64 | 65 | #### `getPrice` 66 | 67 | ```typescript 68 | async getPrice( 69 | priceFeedAddress: MainnetPriceFeeds | GoerliPriceFeeds | Address, 70 | aggregatorInterfaceAbi: ContractAbi = defaultAggregatorInterfaceAbi, 71 | ): { 72 | roundId: bigint, 73 | answer: bigint, 74 | startedAt: bigint, 75 | updatedAt: bigint, 76 | answeredInRound: bigint 77 | } 78 | ``` 79 | 80 | `defaultAggregatorInterfaceAbi` can be found [here](https://github.com/ChainSafe/web3.js-plugin-chainlink/blob/master/src/aggregator_v3_interface_abi.ts). 81 | 82 | The `getPrice` method, accepts `MainnetPriceFeeds | GoerliPriceFeeds | Address` for it's first parameter, and an optional second parameter for specifying the Chainlink Aggregator Interface ABI of the Ethereum smart contract you'd like to interact with (the parameter is defaulted to [defaultAggregatorInterfaceAbi](https://github.com/ChainSafe/web3.js-plugin-chainlink/blob/master/src/aggregator_v3_interface_abi.ts)). 83 | 84 | Under the hood, this method is calling the `latestRoundData` for the specified price feed, more information about it can be found [here](https://docs.chain.link/data-feeds/price-feeds/api-reference#latestrounddata). 85 | 86 | ```typescript 87 | import { ChainlinkPlugin, MainnetPriceFeeds } from '@chainsafe/web3-plugin-chainlink'; 88 | import { Web3 } from 'web3'; 89 | 90 | const web3 = new Web3('YOUR_PROVIDER_URL'); 91 | const chainlinkPlugin = new ChainlinkPlugin(); 92 | 93 | web3.registerPlugin(chainlinkPlugin); 94 | 95 | web3.chainlink.getPrice(MainnetPriceFeeds.LinkEth).then(console.log); 96 | // { 97 | // roundId: 73786976294838212867n, 98 | // answer: 4185000000000000n, 99 | // startedAt: 1674178043n, 100 | // updatedAt: 1674178043n, 101 | // answeredInRound: 73786976294838212867n 102 | // } 103 | ``` 104 | 105 | ## Found an issue or have a question or suggestion 106 | 107 | - :writing_hand: If you found an issue or have a question or suggestion [submit an issue](https://github.com/ChainSafe/web3.js-plugin-chainlink/issues/new) or join us on [Discord](https://discord.gg/yjyvFRP) 108 | ![Discord](https://img.shields.io/discord/593655374469660673.svg?label=Discord&logo=discord) 109 | 110 | ## Run the tests 111 | 112 | 1. Clone the repo 113 | 2. Run `yarn` to install dependencies 114 | - If you receive the following warning, please remove the file `package-lock.json` and make sure to run `yarn` to install dependencies instead of `npm i`: 115 | 116 | ```console 117 | warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json. 118 | ``` 119 | 120 | 3. Run the tests: 121 | - `yarn test:unit`: Runs the mocked tests that do not make a network request using the [Jest](https://jestjs.io/) framework 122 | - End-to-end tests: Runs Webpack bundled tests that make a network request to the RPC provider `https://rpc.ankr.com/eth` and returns an actual response from `MainnetPriceFeeds.LinkEth` smart contract using the [Cypress](https://www.cypress.io/) framework 123 | - `yarn test:e2e:chrome`: Runs the tests using Chrome 124 | - `yarn test:e2e:electron`: Runs the tests using Electron 125 | - `yarn test:e2e:firefox`: Runs the tests using Firefox 126 | - Black box tests: Uses a published version of the plugin from [Verdaccio](https://verdaccio.org/) to run tests that make a network request to the RPC provider `https://rpc.ankr.com/eth` and returns an actual response from `MainnetPriceFeeds.LinkEth` smart contract using the [Jest](https://jestjs.io/) framework 127 | - NOTE The black box tests are setup to run within Github actions environment, but can be ran locally. The [black_box_test_helpers.sh](https://github.com/ChainSafe/web3.js-plugin-chainlink/blob/master/scripts/black_box_test_helpers.sh) script can be used to: 128 | - `start`: Start Verdaccio using a Docker container 129 | - `stop`: Kill the Docker container 130 | - `startBackgroundAndPublish`: Starts a headless Docker container and publishes the plugin package 131 | - `runTests`: `cd`s into the `test/black_box` directory, installs the black box package dependencies, and runs `yarn test` which will use Jest to run the tests 132 | - In addition to the `black_box_test_helpers.sh` script, the black box tests can be ran using the following `package.json` scripts: 133 | 1. `yarn pre-black-box`: Calls `startBackgroundAndPublish` from the `black_box_test_helpers.sh` script 134 | 2. `yarn test:black-box`: Calls `yarn pre-black-box` and `runTests` from the from the `black_box_test_helpers.sh` script 135 | 3. `yarn post-black-box`: Calls `stop` from the `black_box_test_helpers.sh` script 136 | 137 | ## Useful links 138 | 139 | - [web3.js Documentation](https://docs.web3js.org/) 140 | - [Chainlink Documentation](https://docs.chain.link/docs) 141 | 142 | ## Package.json Scripts 143 | 144 | | Script | Description | 145 | | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | 146 | | build | Uses `tsc` to build package and dependent packages | 147 | | build:web | Uses `webpack` to build a browser ready build of the plugin in `dist` directory | 148 | | clean | Uses `rimraf` to remove `lib/` and `dist/` | 149 | | format | Uses `prettier` to format the code | 150 | | lint | Uses `eslint` to lint package | 151 | | lint:fix | Uses `eslint` to check and fix any warnings | 152 | | post-black-box | Uses `stop` from `black_box_test_helpers.sh` to kill running Verdaccio Docker container | 153 | | pre-black-box | Uses `startBackgroundAndPublish` from `black_box_test_helpers.sh` to start a Verdaccio Docker container and publish the plugin package to it | 154 | | prebuild | Calls `yarn clean` | 155 | | prepare | Installs [husky](https://github.com/typicode/husky) | 156 | | test | Uses `jest` to run unit tests | 157 | | test:black-box | Calls `yarn pre-black-box` and `runTests` from `black_box_test_helpers.sh` to run black box tests | 158 | | test:coverage | Uses `jest` to report test coverage | 159 | | test:e2e:chrome | Users `cypress` to run `e2e` test in a Chrome environment | 160 | | test:e2e:firefox | Users `cypress` to run `e2e` test in a Firefox environment | 161 | | test:e2e:electron | Users `cypress` to run `e2e` test in a Electron environment | 162 | | test:unit | Uses `jest` to run tests under `/test/unit` | 163 | 164 | [npm-image]: https://img.shields.io/npm/v/web3-core-method.svg 165 | [npm-url]: https://npmjs.org/packages/web3 166 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | // The returned object when calling `latestRoundData` (https://docs.chain.link/docs/data-feeds/price-feeds/api-reference/#latestrounddata) 2 | export type Price = { 3 | roundId: string; 4 | answer: string; 5 | startedAt: string; 6 | updatedAt: string; 7 | answeredInRound: string; 8 | }; 9 | 10 | // Sourced from https://docs.chain.link/docs/data-feeds/price-feeds/addresses/?network=ethereum#Ethereum%20Mainnet 11 | export enum MainnetPriceFeeds { 12 | '1inchEth' = '0x72AFAECF99C9d9C8215fF44C77B94B99C28741e8', 13 | '1inchUsd' = '0xc929ad75B72593967DE83E7F7Cda0493458261D9', 14 | AaplUsd = '0x139C8512Cde1778e9b9a8e721ce1aEbd4dD43587', 15 | AaveEth = '0x6Df09E975c830ECae5bd4eD9d90f3A95a4f88012', 16 | AaveUsd = '0x547a514d5e3769680Ce22B2361c10Ea13619e8a9', 17 | AdaUsd = '0xAE48c91dF1fE419994FFDa27da09D5aC69c30f55', 18 | AdxUsd = '0x231e764B44b2C1b7Ca171fa8021A24ed520Cde10', 19 | AlbtUsd = '0x057e52Fb830318E096CD96F369f0DB4B196fBfa7', 20 | AlcxEth = '0x194a9AaF2e0b67c35915cD01101585A33Fe25CAa', 21 | AlcxUsd = '0xc355e4C0B3ff4Ed0B49EaACD55FE29B311f42976', 22 | AlgoUsd = '0xC33c0400dBD8043c5bE09512501Ce59253D499cE', 23 | AlphaEth = '0x89c7926c7c15fD5BFDB1edcFf7E7fC8283B578F6', 24 | AmpUsd = '0x8797ABc4641dE76342b8acE9C63e3301DC35e3d8', 25 | AmplEth = '0x492575FDD11a0fCf2C6C719867890a7648d526eB', 26 | AmplUsd = '0xe20CA8D7546932360e37E9D72c1a47334af57706', 27 | AmznUsd = '0x8994115d287207144236c13Be5E2bDbf6357D9Fd', 28 | AnkrUsd = '0x7eed379bf00005CfeD29feD4009669dE9Bcc21ce', 29 | AntEth = '0x8f83670260F8f7708143b836a2a6F11eF0aBac01', 30 | ApeEth = '0xc7de7f4d4C9c991fF62a07D18b3E31e349833A18', 31 | ApeUsd = '0xD10aBbC76679a20055E167BB80A24ac851b37056', 32 | ArpaUsd = '0xc40ec815A2f8eb9912BD688d3bdE6B6D50A37ff2', 33 | AtomEth = '0x15c8eA24Ba2d36671Fa22aD4Cff0a8eafe144352', 34 | AtomUsd = '0xDC4BDB458C6361093069Ca2aD30D74cc152EdC75', 35 | AudUsd = '0x77F9710E7d0A19669A13c055F62cd80d313dF022', 36 | AvaxUsd = '0xFF3EEb22B5E3dE6e705b44749C2559d704923FD7', 37 | AxsEth = '0x8B4fC5b68cD50eAc1dD33f695901624a4a1A0A8b', 38 | BadgerEth = '0x58921Ac140522867bf50b9E009599Da0CA4A2379', 39 | BadgerUsd = '0x66a47b7206130e6FF64854EF0E1EDfa237E65339', 40 | BalEth = '0xC1438AA3823A6Ba0C159CfA8D98dF5A994bA120b', 41 | BalUsd = '0xdF2917806E30300537aEB49A7663062F4d1F2b5F', 42 | BandEth = '0x0BDb051e10c9718d1C29efbad442E88D38958274', 43 | BandUsd = '0x919C77ACc7373D000b329c1276C76586ed2Dd19F', 44 | BatEth = '0x0d16d4528239e9ee52fa531af613AcdB23D88c94', 45 | BatUsd = '0x9441D7556e7820B5ca42082cfa99487D56AcA958', 46 | BchUsd = '0x9F0F69428F923D6c95B781F89E165C9b2df9789D', 47 | BetaEth = '0x8eb7bAe1eCd3dcf87159Eb5BACe78209722F795B', 48 | BitUsd = '0x7b33EbfA52F215a30FaD5a71b3FeE57a4831f1F0', 49 | BnbEth = '0xc546d2d06144F9DD42815b8bA46Ee7B8FcAFa4a2', 50 | BnbUsd = '0x14e613AC84a31f709eadbdF89C6CC390fDc9540A', 51 | BntEth = '0xCf61d1841B178fe82C8895fe60c2EDDa08314416', 52 | BntUsd = '0x1E6cF0D433de4FE882A437ABC654F58E1e78548c', 53 | BondEth = '0xdd22A54e05410D8d1007c38b5c7A3eD74b855281', 54 | BrlUsd = '0x971E8F1B779A5F1C36e1cd7ef44Ba1Cc2F5EeE0f', 55 | BtcEth = '0xdeb288F737066589598e9214E782fa5A8eD689e8', 56 | BtcUsd = '0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c', 57 | BtcHeight = '0x4D2574c790d836b8C886615d927e9BA585B10EbA', 58 | BtcDifficulty = '0xA792Ebd0E4465DB2657c7971519Cfa0f0275F428', 59 | BusdEth = '0x614715d2Af89E6EC99A233818275142cE88d1Cfd', 60 | BusdUsd = '0x833D8Eb16D306ed1FbB5D7A2E019e106B960965A', 61 | C98Usd = '0xE95CDc33E1F5BfE7eB26f45E29C6C9032B97db7F', 62 | CadUsd = '0xa34317DB73e77d453b1B8d04550c44D10e981C8e', 63 | CakeUsd = '0xEb0adf5C06861d6c07174288ce4D0a8128164003', 64 | CelEth = '0x75FbD83b4bd51dEe765b2a01e8D3aa1B020F9d33', 65 | CeloEth = '0x9ae96129ed8FE0C707D6eeBa7b90bB1e139e543e', 66 | ChfUsd = '0x449d117117838fFA61263B61dA6301AA2a88B13A', 67 | CnyUsd = '0xeF8A4aF35cd47424672E3C590aBD37FBB7A7759a', 68 | CompEth = '0x1B39Ee86Ec5979ba5C322b826B3ECb8C79991699', 69 | CompUsd = '0xdbd020CAeF83eFd542f4De03e3cF0C28A4428bd5', 70 | CreamEth = '0x82597CFE6af8baad7c0d441AA82cbC3b51759607', 71 | CroEth = '0xcA696a9Eb93b81ADFE6435759A29aB4cf2991A96', 72 | CroUsd = '0x00Cb80Cf097D9aA9A3779ad8EE7cF98437eaE050', 73 | CrvEth = '0x8a12Be339B0cD1829b91Adc01977caa5E9ac121e', 74 | CrvUsd = '0xCd627aA160A6fA45Eb793D19Ef54f5062F20f33f', 75 | CsprUsd = '0x9e37a8Ee3bFa8eD6783Db031Dc458d200b226074', 76 | CtsiEth = '0x0a1d1b9847d602e789be38B802246161FFA24930', 77 | CvIndex = '0x1B58B67B2b2Df71b4b0fb6691271E83A0fa36aC5', 78 | CvxEth = '0xC9CbF687f43176B302F03f5e58470b77D07c61c6', 79 | CvxUsd = '0xd962fC30A72A84cE50161031391756Bf2876Af5D', 80 | CalculatedxSushiEth = '0xF05D9B6C08757EAcb1fbec18e36A1B7566a13DEB', 81 | CalculatedxSushiUsd = '0xCC1f5d9e6956447630d703C8e93b2345c2DE3D13', 82 | DaiEth = '0x773616E4d11A78F511299002da57A0a94577F1f4', 83 | DaiUsd = '0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9', 84 | DashUsd = '0xFb0cADFEa136E9E343cfb55B863a6Df8348ab912', 85 | DataEth = '0xD48B96131F3de05B7C3500891C8c4c1E2dbc6E3d', 86 | DiaUsd = '0xeE636E1f7A0A846EEc2385E729CeA7D1b339D40D', 87 | DodoUsd = '0x9613A51Ad59EE375e6D8fa12eeef0281f1448739', 88 | DogeUsd = '0x2465CefD3b488BE410b941b1d4b2767088e2A028', 89 | DotUsd = '0x1C07AFb8E2B827c5A4739C6d59Ae3A5035f28734', 90 | DpiEth = '0x029849bbc0b1d93b85a8b6190e979fd38F5760E2', 91 | DpiUsd = '0xD2A593BF7594aCE1faD597adb697b5645d5edDB2', 92 | DydxUsd = '0x478909D4D798f3a1F11fFB25E4920C959B4aDe0b', 93 | EnjEth = '0x24D9aB51950F3d62E9144fdC2f3135DAA6Ce8D1B', 94 | EnjUsd = '0x23905C55dC11D609D5d11Dc604905779545De9a7', 95 | EnsUsd = '0x5C00128d4d1c2F4f652C267d7bcdD7aC99C16E16', 96 | EosUsd = '0x10a43289895eAff840E8d45995BBa89f9115ECEe', 97 | ErnUsd = '0x0a87e12689374A4EF49729582B474a1013cceBf8', 98 | EtcUsd = '0xaEA2808407B7319A31A383B6F8B60f04BCa23cE2', 99 | EthBtc = '0xAc559F25B1619171CbC396a50854A3240b6A4e99', 100 | EthUsd = '0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419', 101 | EurUsd = '0xb49f677943BC038e9857d61E7d053CaA2C1734C1', 102 | EurtUsd = '0x01D391A48f4F7339aC64CA2c83a07C22F95F587a', 103 | FarmEth = '0x611E0d2709416E002A3f38085e4e1cf77c015921', 104 | FbUsd = '0xCe1051646393087e706288C1B57Fd26446657A7f', 105 | FeiEth = '0x7F0D2c2838c6AC24443d13e23d99490017bDe370', 106 | FeiUsd = '0x31e0a88fecB6eC0a411DBe0e9E76391498296EE9', 107 | FilEth = '0x0606Be69451B1C9861Ac6b3626b99093b713E801', 108 | FlowUsd = '0xD9BdD9f5ffa7d89c846A5E3231a093AE4b3469D2', 109 | ForUsd = '0x456834f736094Fb0AAD40a9BBc9D4a0f37818A54', 110 | ForthUsd = '0x7D77Fd73E468baECe26852776BeaF073CDc55fA0', 111 | FoxUsd = '0xccA02FFEFAcE21325befD6616cB4Ba5fCB047480', 112 | FraxEth = '0x14d04Fff8D21bd62987a5cE9ce543d2F1edF5D3E', 113 | FraxUsd = '0xB9E1E3A9feFf48998E45Fa90847ed4D467E8BcfD', 114 | FtmEth = '0x2DE7E4a9488488e0058B95854CC2f7955B35dC9b', 115 | FttEth = '0xF0985f7E2CaBFf22CecC5a71282a89582c382EFE', 116 | FttUsd = '0x84e3946C6df27b453315a1B38e4dECEF23d9F16F', 117 | FxsUsd = '0x6Ebc52C8C1089be9eB3945C4350B68B8E4C2233f', 118 | FastgasGwei = '0x169E633A2D1E6c10dD91238Ba11c4A708dfEF37C', 119 | GbpUsd = '0x5c0Ab2d9b5a7ed9f470386e82BB36A3613cDd4b5', 120 | GhstEth = '0x5877385f9F51B46Bbd93F24AD278D681E1Fd2A93', 121 | GlmUsd = '0x83441C3A10F4D05de6e0f2E849A850Ccf27E6fa7', 122 | GnoEth = '0xA614953dF476577E90dcf4e3428960e221EA4727', 123 | GooglUsd = '0x36D39936BeA501755921beB5A382a88179070219', 124 | GrtEth = '0x17D054eCac33D91F7340645341eFB5DE9009F1C1', 125 | GrtUsd = '0x86cF33a451dE9dc61a2862FD94FF4ad4Bd65A5d2', 126 | GtcEth = '0x0e773A17a01E2c92F5d4c53435397E2bd48e215F', 127 | GusdEth = '0x96d15851CBac05aEe4EFD9eA3a3DD9BDEeC9fC28', 128 | GusdUsd = '0xa89f5d2365ce98B3cD68012b6f503ab1416245Fc', 129 | HbarUsd = '0x38C5ae3ee324ee027D88c5117ee58d07c9b4699b', 130 | HighUsd = '0xe2F95bC12FE8a3C35684Be7586C39fD7c0E5b403', 131 | HtUsd = '0xE1329B3f6513912CAf589659777b66011AEE5880', 132 | HusdEth = '0x1B61BAD1495161bCb6C03DDB0E41622c0270bB1A', 133 | IlvEth = '0xf600984CCa37cd562E74E3EE514289e3613ce8E4', 134 | ImxUsd = '0xBAEbEFc1D023c0feCcc047Bff42E75F15Ff213E6', 135 | InjUsd = '0xaE2EbE3c4D20cE13cE47cbb49b6d7ee631Cd816e', 136 | InrUsd = '0x605D5c2fBCeDb217D7987FC0951B5753069bC360', 137 | IostUsd = '0xd0935838935349401c73a06FCde9d63f719e84E5', 138 | IotxUsd = '0x96c45535d235148Dc3ABA1E48A6E3cFB3510f4E2', 139 | JpyUsd = '0xBcE206caE7f0ec07b545EddE332A47C2F75bbeb3', 140 | KncEth = '0x656c0544eF4C98A6a98491833A89204Abb045d6b', 141 | KncUsd = '0xf8fF43E991A81e6eC886a3D281A2C6cC19aE70Fc', 142 | Kp3rEth = '0xe7015CCb7E5F788B8c1010FC22343473EaaC3741', 143 | KrwUsd = '0x01435677FB11763550905594A16B645847C1d0F3', 144 | KsmUsd = '0x06E4164E24E72B879D93360D1B9fA05838A62EB5', 145 | LdoEth = '0x4e844125952D32AcdF339BE976c98E22F6F318dB', 146 | LinkEth = '0xDC530D9457755926550b59e8ECcdaE7624181557', 147 | LinkUsd = '0x2c1d072e956AFFC0D435Cb7AC38EF18d24d9127c', 148 | LonEth = '0x13A8F2cC27ccC2761ca1b21d2F3E762445f201CE', 149 | LrcEth = '0x160AC928A16C93eD4895C2De6f81ECcE9a7eB7b4', 150 | LtcUsd = '0x6AF09DF7563C363B5763b9102712EbeD3b9e859B', 151 | LusdUsd = '0x3D7aE7E594f2f2091Ad8798313450130d0Aba3a0', 152 | ManaEth = '0x82A44D92D6c329826dc557c5E1Be6ebeC5D5FeB9', 153 | ManaUsd = '0x56a4857acbcfe3a66965c251628B1c9f1c408C19', 154 | MaticUsd = '0x7bAC85A8a13A4BcD8abb3eB7d6b4d632c5a57676', 155 | MimUsd = '0x7A364e8770418566e3eb2001A96116E6138Eb32F', 156 | MkrEth = '0x24551a8Fb2A7211A25a17B1481f043A8a8adC7f2', 157 | MkrUsd = '0xec1D1B3b0443256cc3860e24a46F108e699484Aa', 158 | MlnEth = '0xDaeA8386611A157B08829ED4997A8A62B557014C', 159 | MsftUsd = '0x021Fb44bfeafA0999C7b07C4791cf4B859C3b431', 160 | NearUsd = '0xC12A6d1D827e23318266Ef16Ba6F397F2F91dA9b', 161 | NflxUsd = '0x67C2e69c5272B94AF3C90683a9947C39Dc605ddE', 162 | NmrEth = '0x9cB2A01A7E64992d32A34db7cEea4c919C391f6A', 163 | NmrUsd = '0xcC445B35b3636bC7cC7051f4769D8982ED0d449A', 164 | NzdUsd = '0x3977CFc9e4f29C184D4675f4EB8e0013236e5f3e', 165 | NexusWethReserves = '0xCc72039A141c6e34a779eF93AEF5eB4C82A893c7', 166 | OceanEth = '0x9b0FC4bb9981e5333689d69BdBF66351B9861E62', 167 | OgnEth = '0x2c881B6f3f6B5ff6C975813F87A4dad0b241C15b', 168 | Ohmv2Eth = '0x9a72298ae3886221820B1c878d12D872087D3a23', 169 | OkbUsd = '0x22134617Ae0f6CA8D89451e5Ae091c94f7D743DC', 170 | OmUsd = '0xb9583cfBdEeacd2705546F392E43F8E03eB92216', 171 | OmgEth = '0x57C9aB3e56EE4a83752c181f241120a3DBba06a1', 172 | OmgUsd = '0x7D476f061F8212A8C9317D5784e72B4212436E93', 173 | OntUsd = '0xcDa3708C5c2907FCca52BB3f9d3e4c2028b89319', 174 | OrnEth = '0xbA9B2a360eb8aBdb677d6d7f27E12De11AA052ef', 175 | OxtUsd = '0xd75AAaE4AF0c398ca13e2667Be57AF2ccA8B5de6', 176 | OrchidBandwidth = '0xa175FA75795c6Fb2aFA48B72d22054ee0DeDa4aC', 177 | PaxEth = '0x3a08ebBaB125224b7b6474384Ee39fBb247D2200', 178 | PaxgEth = '0x9B97304EA12EFed0FAd976FBeCAad46016bf269e', 179 | PerpEth = '0x3b41D5571468904D4e53b6a8d93A6BaC43f02dC9', 180 | PerpUsd = '0x01cE1210Fe8153500F60f7131d63239373D7E26C', 181 | PhaUsd = '0x2B1248028fe48864c4f1c305E524e2e6702eAFDF', 182 | PhpUsd = '0x9481e7ad8BE6BbB22A8B9F7B9fB7588d1df65DF6', 183 | PlaUsd = '0xbc535B134DdF81fc83254a3D0Ed2C0C60144405E', 184 | QqqUsd = '0x6b54e83f44047d2168a195ABA5e9b768762167b5', 185 | RaiEth = '0x4ad7B025127e89263242aB68F0f9c4E5C033B489', 186 | RaiUsd = '0x483d36F6a1d063d580c7a24F9A42B346f3a69fbb', 187 | RariEth = '0x2a784368b1D492f458Bf919389F42c18315765F5', 188 | RenEth = '0x3147D7203354Dc06D9fd350c7a2437bcA92387a4', 189 | RenUsd = '0x0f59666EDE214281e956cb3b2D0d69415AfF4A01', 190 | RepEth = '0xD4CE430C3b67b3E2F7026D86E7128588629e2455', 191 | ReqUsd = '0x2F05888D185970f178f40610306a0Cc305e52bBF', 192 | RlcEth = '0x4cba1e1fdc738D0fe8DB3ee07728E2Bc4DA676c6', 193 | RuneEth = '0x875D60C44cfbC38BaA4Eb2dDB76A767dEB91b97e', 194 | SandUsd = '0x35E3f7E558C04cE7eEE1629258EcbbA03B36Ec56', 195 | SgdUsd = '0xe25277fF4bbF9081C75Ab0EB13B4A13a721f3E13', 196 | ShibEth = '0x8dD1CD88F43aF196ae478e91b9F5E4Ac69A97C61', 197 | SnxEth = '0x79291A9d692Df95334B1a0B3B4AE6bC606782f8c', 198 | SnxUsd = '0xDC3EA94CD0AC27d9A86C180091e7f78C683d3699', 199 | SolUsd = '0x4ffC43a60e009B551865A93d232E33Fce9f01507', 200 | SpellUsd = '0x8c110B94C5f1d347fAcF5E1E938AB2db60E3c9a8', 201 | SpyUsd = '0x065B8808087C2d7A3C104E276C80Fe6Fc1B47f1c', 202 | SrmEth = '0x050c048c9a0CD0e76f166E2539F87ef2acCEC58f', 203 | StethEth = '0x86392dC19c0b719886221c78AB11eb8Cf5c52812', 204 | SusdEth = '0x8e0b7e6062272B5eF4524250bFFF8e5Bd3497757', 205 | SushiEth = '0xe572CeF69f43c2E488b33924AF04BDacE19079cf', 206 | SushiUsd = '0xCc70F09A6CC17553b2E31954cD36E4A2d89501f7', 207 | SxpUsd = '0xFb0CfD6c19e25DB4a08D8a204a387cEa48Cc138f', 208 | SynthetixAggregatorDebtRatio = '0x0981af0C002345c9C5AD5efd26242D0cBe5aCA99', 209 | SynthetixAggregatorIssuedSynths = '0xbCF5792575bA3A875D8C406F4E7270f51a902539', 210 | TokeUsd = '0x104cD02b2f22972E8d8542867a36bDeDA4f104d8', 211 | TomoUsd = '0x3d44925a8E9F9DFd90390E58e92Ec16c996A331b', 212 | TribeEth = '0x84a24deCA415Acc0c395872a9e6a63E27D6225c8', 213 | TruUsd = '0x26929b85fE284EeAB939831002e1928183a10fb1', 214 | TryUsd = '0xB09fC5fD3f11Cf9eb5E1C5Dba43114e3C9f477b5', 215 | TslaUsd = '0x1ceDaaB50936881B3e449e47e40A2cDAF5576A4a', 216 | TusdEth = '0x3886BA987236181D98F2401c507Fb8BeA7871dF2', 217 | TusdUsd = '0xec746eCF986E2927Abd291a2A1716c940100f8Ba', 218 | TotalMarketcapUsd = '0xEC8761a0A73c34329CA5B1D3Dc7eD07F30e836e2', 219 | UmaEth = '0xf817B69EA583CAFF291E287CaE00Ea329d22765C', 220 | UmeeEth = '0xa554F3a8D05f22aC7e105311211AAbAf727e1CcB', 221 | UniEth = '0xD6aA3D25116d8dA79Ea0246c4826EB951872e02e', 222 | UniUsd = '0x553303d460EE0afB37EdFf9bE42922D8FF63220e', 223 | UsdcEth = '0x986b5E1e1755e3C2440e960477f25201B0a8bbD4', 224 | UsdcUsd = '0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6', 225 | UsdkUsd = '0xfAC81Ea9Dd29D8E9b212acd6edBEb6dE38Cb43Af', 226 | UsdnUsd = '0x7a8544894F7FD0C69cFcBE2b4b2E277B0b9a4355', 227 | UsdpUsd = '0x09023c0DA49Aaf8fc3fA3ADF34C6A7016D38D5e3', 228 | UsdtEth = '0xEe9F2375b4bdF6387aa8265dD4FB8F16512A1d46', 229 | UsdtUsd = '0x3E7d1eAB13ad0104d2750B8863b489D65364e32D', 230 | WbtcBtc = '0xfdFD9C85aD200c506Cf9e21F1FD8dd01932FBB23', 231 | WingUsd = '0x134fE0a225Fb8e6683617C13cEB6B3319fB4fb82', 232 | WnxmEth = '0xe5Dc0A609Ab8bCF15d3f35cFaa1Ff40f521173Ea', 233 | WtiUsd = '0xf3584F4dd3b467e73C2339EfD008665a70A4185c', 234 | XagUsd = '0x379589227b15F1a12195D3f2d90bBc9F31f95235', 235 | XauUsd = '0x214eD9Da11D2fbe465a6fc601a91E62EbEc1a0D6', 236 | XcnUsd = '0xeb988B77b94C186053282BfcD8B7ED55142D3cAB', 237 | XlmUsd = '0x64168007BAcbB5fF3f52639db22C6300827f5036', 238 | XmrUsd = '0xFA66458Cce7Dd15D8650015c4fce4D278271618F', 239 | XrpUsd = '0xCed2660c6Dd1Ffd856A5A82C67f3482d88C50b12', 240 | XsushiEth = '0x7f59A29507282703B4A796D02cAcf23388FfF00D', 241 | YfiEth = '0x7c5d4F8345e66f68099581Db340cd65B078C41f4', 242 | YfiUsd = '0xA027702dbb89fbd58938e4324ac03B58d812b0E1', 243 | YfiiEth = '0xaaB2f6b45B28E962B3aCd1ee4fC88aEdDf557756', 244 | ZrxEth = '0x2Da4983a622a8498bb1a21FaE9D8F6C664939962', 245 | ZrxUsd = '0x2885d15b8Af22648b98B122b22FDF4D2a56c6023', 246 | SusdUsd = '0xad35Bd71b9aFE6e4bDc266B345c198eaDEf9Ad94', 247 | } 248 | 249 | // Sourced from https://docs.chain.link/docs/data-feeds/price-feeds/addresses/?network=ethereum#Goerli%20Testnet 250 | export enum GoerliPriceFeeds { 251 | BtcEth = '0x779877A7B0D9E8603169DdbD7836e478b4624789', 252 | BtcUsd = '0xA39434A63A52E749F02807ae27335515BA4b07F7', 253 | DaiUsd = '0x0d79df66BE487753B02D015Fb622DED7f0E9798d', 254 | EthUsd = '0xD4a33860578De61DBAbDc8BFdb98FD742fA7028e', 255 | ForthUsd = '0x7A65Cf6C2ACE993f09231EC1Ea7363fb29C13f2F', 256 | LinkEth = '0xb4c4a493AB6356497713A78FFA6c60FB53517c63', 257 | LinkUsd = '0x48731cF7e84dc94C5f84577882c14Be11a5B7456', 258 | UsdcUsd = '0xAb5c49580294Aff77670F839ea425f5b78ab3Ae7', 259 | } 260 | -------------------------------------------------------------------------------- /test/black_box/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@adraffy/ens-normalize@^1.8.8": 6 | version "1.9.2" 7 | resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.2.tgz#60111a5d9db45b2e5cbb6231b0bb8d97e8659316" 8 | integrity sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg== 9 | 10 | "@ampproject/remapping@^2.1.0": 11 | version "2.2.0" 12 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" 13 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== 14 | dependencies: 15 | "@jridgewell/gen-mapping" "^0.1.0" 16 | "@jridgewell/trace-mapping" "^0.3.9" 17 | 18 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": 19 | version "7.18.6" 20 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" 21 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 22 | dependencies: 23 | "@babel/highlight" "^7.18.6" 24 | 25 | "@babel/compat-data@^7.20.5": 26 | version "7.20.10" 27 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec" 28 | integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== 29 | 30 | "@babel/core@^7.11.6", "@babel/core@^7.12.3": 31 | version "7.20.12" 32 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d" 33 | integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== 34 | dependencies: 35 | "@ampproject/remapping" "^2.1.0" 36 | "@babel/code-frame" "^7.18.6" 37 | "@babel/generator" "^7.20.7" 38 | "@babel/helper-compilation-targets" "^7.20.7" 39 | "@babel/helper-module-transforms" "^7.20.11" 40 | "@babel/helpers" "^7.20.7" 41 | "@babel/parser" "^7.20.7" 42 | "@babel/template" "^7.20.7" 43 | "@babel/traverse" "^7.20.12" 44 | "@babel/types" "^7.20.7" 45 | convert-source-map "^1.7.0" 46 | debug "^4.1.0" 47 | gensync "^1.0.0-beta.2" 48 | json5 "^2.2.2" 49 | semver "^6.3.0" 50 | 51 | "@babel/generator@^7.20.7", "@babel/generator@^7.7.2": 52 | version "7.20.7" 53 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" 54 | integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== 55 | dependencies: 56 | "@babel/types" "^7.20.7" 57 | "@jridgewell/gen-mapping" "^0.3.2" 58 | jsesc "^2.5.1" 59 | 60 | "@babel/helper-compilation-targets@^7.20.7": 61 | version "7.20.7" 62 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" 63 | integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== 64 | dependencies: 65 | "@babel/compat-data" "^7.20.5" 66 | "@babel/helper-validator-option" "^7.18.6" 67 | browserslist "^4.21.3" 68 | lru-cache "^5.1.1" 69 | semver "^6.3.0" 70 | 71 | "@babel/helper-environment-visitor@^7.18.9": 72 | version "7.18.9" 73 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" 74 | integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== 75 | 76 | "@babel/helper-function-name@^7.19.0": 77 | version "7.19.0" 78 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" 79 | integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== 80 | dependencies: 81 | "@babel/template" "^7.18.10" 82 | "@babel/types" "^7.19.0" 83 | 84 | "@babel/helper-hoist-variables@^7.18.6": 85 | version "7.18.6" 86 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" 87 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== 88 | dependencies: 89 | "@babel/types" "^7.18.6" 90 | 91 | "@babel/helper-module-imports@^7.18.6": 92 | version "7.18.6" 93 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" 94 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== 95 | dependencies: 96 | "@babel/types" "^7.18.6" 97 | 98 | "@babel/helper-module-transforms@^7.20.11": 99 | version "7.20.11" 100 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" 101 | integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== 102 | dependencies: 103 | "@babel/helper-environment-visitor" "^7.18.9" 104 | "@babel/helper-module-imports" "^7.18.6" 105 | "@babel/helper-simple-access" "^7.20.2" 106 | "@babel/helper-split-export-declaration" "^7.18.6" 107 | "@babel/helper-validator-identifier" "^7.19.1" 108 | "@babel/template" "^7.20.7" 109 | "@babel/traverse" "^7.20.10" 110 | "@babel/types" "^7.20.7" 111 | 112 | "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0": 113 | version "7.20.2" 114 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" 115 | integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== 116 | 117 | "@babel/helper-simple-access@^7.20.2": 118 | version "7.20.2" 119 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" 120 | integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== 121 | dependencies: 122 | "@babel/types" "^7.20.2" 123 | 124 | "@babel/helper-split-export-declaration@^7.18.6": 125 | version "7.18.6" 126 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" 127 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== 128 | dependencies: 129 | "@babel/types" "^7.18.6" 130 | 131 | "@babel/helper-string-parser@^7.19.4": 132 | version "7.19.4" 133 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" 134 | integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== 135 | 136 | "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": 137 | version "7.19.1" 138 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" 139 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== 140 | 141 | "@babel/helper-validator-option@^7.18.6": 142 | version "7.18.6" 143 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" 144 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== 145 | 146 | "@babel/helpers@^7.20.7": 147 | version "7.20.7" 148 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce" 149 | integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== 150 | dependencies: 151 | "@babel/template" "^7.20.7" 152 | "@babel/traverse" "^7.20.7" 153 | "@babel/types" "^7.20.7" 154 | 155 | "@babel/highlight@^7.18.6": 156 | version "7.18.6" 157 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 158 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 159 | dependencies: 160 | "@babel/helper-validator-identifier" "^7.18.6" 161 | chalk "^2.0.0" 162 | js-tokens "^4.0.0" 163 | 164 | "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7": 165 | version "7.20.7" 166 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" 167 | integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== 168 | 169 | "@babel/plugin-syntax-async-generators@^7.8.4": 170 | version "7.8.4" 171 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" 172 | integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== 173 | dependencies: 174 | "@babel/helper-plugin-utils" "^7.8.0" 175 | 176 | "@babel/plugin-syntax-bigint@^7.8.3": 177 | version "7.8.3" 178 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" 179 | integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== 180 | dependencies: 181 | "@babel/helper-plugin-utils" "^7.8.0" 182 | 183 | "@babel/plugin-syntax-class-properties@^7.8.3": 184 | version "7.12.13" 185 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" 186 | integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== 187 | dependencies: 188 | "@babel/helper-plugin-utils" "^7.12.13" 189 | 190 | "@babel/plugin-syntax-import-meta@^7.8.3": 191 | version "7.10.4" 192 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" 193 | integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== 194 | dependencies: 195 | "@babel/helper-plugin-utils" "^7.10.4" 196 | 197 | "@babel/plugin-syntax-json-strings@^7.8.3": 198 | version "7.8.3" 199 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" 200 | integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== 201 | dependencies: 202 | "@babel/helper-plugin-utils" "^7.8.0" 203 | 204 | "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": 205 | version "7.10.4" 206 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" 207 | integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== 208 | dependencies: 209 | "@babel/helper-plugin-utils" "^7.10.4" 210 | 211 | "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": 212 | version "7.8.3" 213 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" 214 | integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== 215 | dependencies: 216 | "@babel/helper-plugin-utils" "^7.8.0" 217 | 218 | "@babel/plugin-syntax-numeric-separator@^7.8.3": 219 | version "7.10.4" 220 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" 221 | integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== 222 | dependencies: 223 | "@babel/helper-plugin-utils" "^7.10.4" 224 | 225 | "@babel/plugin-syntax-object-rest-spread@^7.8.3": 226 | version "7.8.3" 227 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" 228 | integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== 229 | dependencies: 230 | "@babel/helper-plugin-utils" "^7.8.0" 231 | 232 | "@babel/plugin-syntax-optional-catch-binding@^7.8.3": 233 | version "7.8.3" 234 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" 235 | integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== 236 | dependencies: 237 | "@babel/helper-plugin-utils" "^7.8.0" 238 | 239 | "@babel/plugin-syntax-optional-chaining@^7.8.3": 240 | version "7.8.3" 241 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" 242 | integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== 243 | dependencies: 244 | "@babel/helper-plugin-utils" "^7.8.0" 245 | 246 | "@babel/plugin-syntax-top-level-await@^7.8.3": 247 | version "7.14.5" 248 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" 249 | integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== 250 | dependencies: 251 | "@babel/helper-plugin-utils" "^7.14.5" 252 | 253 | "@babel/plugin-syntax-typescript@^7.7.2": 254 | version "7.20.0" 255 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" 256 | integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== 257 | dependencies: 258 | "@babel/helper-plugin-utils" "^7.19.0" 259 | 260 | "@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": 261 | version "7.20.7" 262 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" 263 | integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== 264 | dependencies: 265 | "@babel/code-frame" "^7.18.6" 266 | "@babel/parser" "^7.20.7" 267 | "@babel/types" "^7.20.7" 268 | 269 | "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.2": 270 | version "7.20.12" 271 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.12.tgz#7f0f787b3a67ca4475adef1f56cb94f6abd4a4b5" 272 | integrity sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ== 273 | dependencies: 274 | "@babel/code-frame" "^7.18.6" 275 | "@babel/generator" "^7.20.7" 276 | "@babel/helper-environment-visitor" "^7.18.9" 277 | "@babel/helper-function-name" "^7.19.0" 278 | "@babel/helper-hoist-variables" "^7.18.6" 279 | "@babel/helper-split-export-declaration" "^7.18.6" 280 | "@babel/parser" "^7.20.7" 281 | "@babel/types" "^7.20.7" 282 | debug "^4.1.0" 283 | globals "^11.1.0" 284 | 285 | "@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3": 286 | version "7.20.7" 287 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" 288 | integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== 289 | dependencies: 290 | "@babel/helper-string-parser" "^7.19.4" 291 | "@babel/helper-validator-identifier" "^7.19.1" 292 | to-fast-properties "^2.0.0" 293 | 294 | "@bcoe/v8-coverage@^0.2.3": 295 | version "0.2.3" 296 | resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" 297 | integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== 298 | 299 | "@chainsafe/web3-plugin-chainlink@^9.9.9": 300 | version "9.9.9" 301 | resolved "http://localhost:4873/@chainsafe/web3-plugin-chainlink/-/web3-plugin-chainlink-9.9.9.tgz#f2bdb615843ec7fdc918f6b1f20f146674df3c1f" 302 | integrity sha512-Y6FVtpzXy7I+UabJVU5KQjDWtzG9Wckzzk51Bt6TdUh5q8lME+bDPQQy0LrsYCLZNculSmqMXIwCXYX7vMModA== 303 | 304 | "@ethereumjs/rlp@^4.0.1": 305 | version "4.0.1" 306 | resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" 307 | integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== 308 | 309 | "@ethersproject/abi@^5.7.0": 310 | version "5.7.0" 311 | resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" 312 | integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== 313 | dependencies: 314 | "@ethersproject/address" "^5.7.0" 315 | "@ethersproject/bignumber" "^5.7.0" 316 | "@ethersproject/bytes" "^5.7.0" 317 | "@ethersproject/constants" "^5.7.0" 318 | "@ethersproject/hash" "^5.7.0" 319 | "@ethersproject/keccak256" "^5.7.0" 320 | "@ethersproject/logger" "^5.7.0" 321 | "@ethersproject/properties" "^5.7.0" 322 | "@ethersproject/strings" "^5.7.0" 323 | 324 | "@ethersproject/abstract-provider@^5.7.0": 325 | version "5.7.0" 326 | resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" 327 | integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== 328 | dependencies: 329 | "@ethersproject/bignumber" "^5.7.0" 330 | "@ethersproject/bytes" "^5.7.0" 331 | "@ethersproject/logger" "^5.7.0" 332 | "@ethersproject/networks" "^5.7.0" 333 | "@ethersproject/properties" "^5.7.0" 334 | "@ethersproject/transactions" "^5.7.0" 335 | "@ethersproject/web" "^5.7.0" 336 | 337 | "@ethersproject/abstract-signer@^5.7.0": 338 | version "5.7.0" 339 | resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" 340 | integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== 341 | dependencies: 342 | "@ethersproject/abstract-provider" "^5.7.0" 343 | "@ethersproject/bignumber" "^5.7.0" 344 | "@ethersproject/bytes" "^5.7.0" 345 | "@ethersproject/logger" "^5.7.0" 346 | "@ethersproject/properties" "^5.7.0" 347 | 348 | "@ethersproject/address@^5.7.0": 349 | version "5.7.0" 350 | resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" 351 | integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== 352 | dependencies: 353 | "@ethersproject/bignumber" "^5.7.0" 354 | "@ethersproject/bytes" "^5.7.0" 355 | "@ethersproject/keccak256" "^5.7.0" 356 | "@ethersproject/logger" "^5.7.0" 357 | "@ethersproject/rlp" "^5.7.0" 358 | 359 | "@ethersproject/base64@^5.7.0": 360 | version "5.7.0" 361 | resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" 362 | integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== 363 | dependencies: 364 | "@ethersproject/bytes" "^5.7.0" 365 | 366 | "@ethersproject/bignumber@^5.7.0": 367 | version "5.7.0" 368 | resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" 369 | integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== 370 | dependencies: 371 | "@ethersproject/bytes" "^5.7.0" 372 | "@ethersproject/logger" "^5.7.0" 373 | bn.js "^5.2.1" 374 | 375 | "@ethersproject/bytes@^5.7.0": 376 | version "5.7.0" 377 | resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" 378 | integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== 379 | dependencies: 380 | "@ethersproject/logger" "^5.7.0" 381 | 382 | "@ethersproject/constants@^5.7.0": 383 | version "5.7.0" 384 | resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" 385 | integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== 386 | dependencies: 387 | "@ethersproject/bignumber" "^5.7.0" 388 | 389 | "@ethersproject/hash@^5.7.0": 390 | version "5.7.0" 391 | resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" 392 | integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== 393 | dependencies: 394 | "@ethersproject/abstract-signer" "^5.7.0" 395 | "@ethersproject/address" "^5.7.0" 396 | "@ethersproject/base64" "^5.7.0" 397 | "@ethersproject/bignumber" "^5.7.0" 398 | "@ethersproject/bytes" "^5.7.0" 399 | "@ethersproject/keccak256" "^5.7.0" 400 | "@ethersproject/logger" "^5.7.0" 401 | "@ethersproject/properties" "^5.7.0" 402 | "@ethersproject/strings" "^5.7.0" 403 | 404 | "@ethersproject/keccak256@^5.7.0": 405 | version "5.7.0" 406 | resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" 407 | integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== 408 | dependencies: 409 | "@ethersproject/bytes" "^5.7.0" 410 | js-sha3 "0.8.0" 411 | 412 | "@ethersproject/logger@^5.7.0": 413 | version "5.7.0" 414 | resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" 415 | integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== 416 | 417 | "@ethersproject/networks@^5.7.0": 418 | version "5.7.1" 419 | resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" 420 | integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== 421 | dependencies: 422 | "@ethersproject/logger" "^5.7.0" 423 | 424 | "@ethersproject/properties@^5.7.0": 425 | version "5.7.0" 426 | resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" 427 | integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== 428 | dependencies: 429 | "@ethersproject/logger" "^5.7.0" 430 | 431 | "@ethersproject/rlp@^5.7.0": 432 | version "5.7.0" 433 | resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" 434 | integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== 435 | dependencies: 436 | "@ethersproject/bytes" "^5.7.0" 437 | "@ethersproject/logger" "^5.7.0" 438 | 439 | "@ethersproject/signing-key@^5.7.0": 440 | version "5.7.0" 441 | resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" 442 | integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== 443 | dependencies: 444 | "@ethersproject/bytes" "^5.7.0" 445 | "@ethersproject/logger" "^5.7.0" 446 | "@ethersproject/properties" "^5.7.0" 447 | bn.js "^5.2.1" 448 | elliptic "6.5.4" 449 | hash.js "1.1.7" 450 | 451 | "@ethersproject/strings@^5.7.0": 452 | version "5.7.0" 453 | resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" 454 | integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== 455 | dependencies: 456 | "@ethersproject/bytes" "^5.7.0" 457 | "@ethersproject/constants" "^5.7.0" 458 | "@ethersproject/logger" "^5.7.0" 459 | 460 | "@ethersproject/transactions@^5.7.0": 461 | version "5.7.0" 462 | resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" 463 | integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== 464 | dependencies: 465 | "@ethersproject/address" "^5.7.0" 466 | "@ethersproject/bignumber" "^5.7.0" 467 | "@ethersproject/bytes" "^5.7.0" 468 | "@ethersproject/constants" "^5.7.0" 469 | "@ethersproject/keccak256" "^5.7.0" 470 | "@ethersproject/logger" "^5.7.0" 471 | "@ethersproject/properties" "^5.7.0" 472 | "@ethersproject/rlp" "^5.7.0" 473 | "@ethersproject/signing-key" "^5.7.0" 474 | 475 | "@ethersproject/web@^5.7.0": 476 | version "5.7.1" 477 | resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" 478 | integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== 479 | dependencies: 480 | "@ethersproject/base64" "^5.7.0" 481 | "@ethersproject/bytes" "^5.7.0" 482 | "@ethersproject/logger" "^5.7.0" 483 | "@ethersproject/properties" "^5.7.0" 484 | "@ethersproject/strings" "^5.7.0" 485 | 486 | "@istanbuljs/load-nyc-config@^1.0.0": 487 | version "1.1.0" 488 | resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" 489 | integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== 490 | dependencies: 491 | camelcase "^5.3.1" 492 | find-up "^4.1.0" 493 | get-package-type "^0.1.0" 494 | js-yaml "^3.13.1" 495 | resolve-from "^5.0.0" 496 | 497 | "@istanbuljs/schema@^0.1.2": 498 | version "0.1.3" 499 | resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" 500 | integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== 501 | 502 | "@jest/console@^28.1.3": 503 | version "28.1.3" 504 | resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" 505 | integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== 506 | dependencies: 507 | "@jest/types" "^28.1.3" 508 | "@types/node" "*" 509 | chalk "^4.0.0" 510 | jest-message-util "^28.1.3" 511 | jest-util "^28.1.3" 512 | slash "^3.0.0" 513 | 514 | "@jest/core@^28.1.3": 515 | version "28.1.3" 516 | resolved "https://registry.yarnpkg.com/@jest/core/-/core-28.1.3.tgz#0ebf2bd39840f1233cd5f2d1e6fc8b71bd5a1ac7" 517 | integrity sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA== 518 | dependencies: 519 | "@jest/console" "^28.1.3" 520 | "@jest/reporters" "^28.1.3" 521 | "@jest/test-result" "^28.1.3" 522 | "@jest/transform" "^28.1.3" 523 | "@jest/types" "^28.1.3" 524 | "@types/node" "*" 525 | ansi-escapes "^4.2.1" 526 | chalk "^4.0.0" 527 | ci-info "^3.2.0" 528 | exit "^0.1.2" 529 | graceful-fs "^4.2.9" 530 | jest-changed-files "^28.1.3" 531 | jest-config "^28.1.3" 532 | jest-haste-map "^28.1.3" 533 | jest-message-util "^28.1.3" 534 | jest-regex-util "^28.0.2" 535 | jest-resolve "^28.1.3" 536 | jest-resolve-dependencies "^28.1.3" 537 | jest-runner "^28.1.3" 538 | jest-runtime "^28.1.3" 539 | jest-snapshot "^28.1.3" 540 | jest-util "^28.1.3" 541 | jest-validate "^28.1.3" 542 | jest-watcher "^28.1.3" 543 | micromatch "^4.0.4" 544 | pretty-format "^28.1.3" 545 | rimraf "^3.0.0" 546 | slash "^3.0.0" 547 | strip-ansi "^6.0.0" 548 | 549 | "@jest/environment@^28.1.3": 550 | version "28.1.3" 551 | resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.3.tgz#abed43a6b040a4c24fdcb69eab1f97589b2d663e" 552 | integrity sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA== 553 | dependencies: 554 | "@jest/fake-timers" "^28.1.3" 555 | "@jest/types" "^28.1.3" 556 | "@types/node" "*" 557 | jest-mock "^28.1.3" 558 | 559 | "@jest/expect-utils@^28.1.3": 560 | version "28.1.3" 561 | resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.3.tgz#58561ce5db7cd253a7edddbc051fb39dda50f525" 562 | integrity sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA== 563 | dependencies: 564 | jest-get-type "^28.0.2" 565 | 566 | "@jest/expect@^28.1.3": 567 | version "28.1.3" 568 | resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-28.1.3.tgz#9ac57e1d4491baca550f6bdbd232487177ad6a72" 569 | integrity sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw== 570 | dependencies: 571 | expect "^28.1.3" 572 | jest-snapshot "^28.1.3" 573 | 574 | "@jest/fake-timers@^28.1.3": 575 | version "28.1.3" 576 | resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.3.tgz#230255b3ad0a3d4978f1d06f70685baea91c640e" 577 | integrity sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw== 578 | dependencies: 579 | "@jest/types" "^28.1.3" 580 | "@sinonjs/fake-timers" "^9.1.2" 581 | "@types/node" "*" 582 | jest-message-util "^28.1.3" 583 | jest-mock "^28.1.3" 584 | jest-util "^28.1.3" 585 | 586 | "@jest/globals@^28.1.3": 587 | version "28.1.3" 588 | resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.3.tgz#a601d78ddc5fdef542728309894895b4a42dc333" 589 | integrity sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA== 590 | dependencies: 591 | "@jest/environment" "^28.1.3" 592 | "@jest/expect" "^28.1.3" 593 | "@jest/types" "^28.1.3" 594 | 595 | "@jest/reporters@^28.1.3": 596 | version "28.1.3" 597 | resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-28.1.3.tgz#9adf6d265edafc5fc4a434cfb31e2df5a67a369a" 598 | integrity sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg== 599 | dependencies: 600 | "@bcoe/v8-coverage" "^0.2.3" 601 | "@jest/console" "^28.1.3" 602 | "@jest/test-result" "^28.1.3" 603 | "@jest/transform" "^28.1.3" 604 | "@jest/types" "^28.1.3" 605 | "@jridgewell/trace-mapping" "^0.3.13" 606 | "@types/node" "*" 607 | chalk "^4.0.0" 608 | collect-v8-coverage "^1.0.0" 609 | exit "^0.1.2" 610 | glob "^7.1.3" 611 | graceful-fs "^4.2.9" 612 | istanbul-lib-coverage "^3.0.0" 613 | istanbul-lib-instrument "^5.1.0" 614 | istanbul-lib-report "^3.0.0" 615 | istanbul-lib-source-maps "^4.0.0" 616 | istanbul-reports "^3.1.3" 617 | jest-message-util "^28.1.3" 618 | jest-util "^28.1.3" 619 | jest-worker "^28.1.3" 620 | slash "^3.0.0" 621 | string-length "^4.0.1" 622 | strip-ansi "^6.0.0" 623 | terminal-link "^2.0.0" 624 | v8-to-istanbul "^9.0.1" 625 | 626 | "@jest/schemas@^28.1.3": 627 | version "28.1.3" 628 | resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" 629 | integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== 630 | dependencies: 631 | "@sinclair/typebox" "^0.24.1" 632 | 633 | "@jest/source-map@^28.1.2": 634 | version "28.1.2" 635 | resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.1.2.tgz#7fe832b172b497d6663cdff6c13b0a920e139e24" 636 | integrity sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww== 637 | dependencies: 638 | "@jridgewell/trace-mapping" "^0.3.13" 639 | callsites "^3.0.0" 640 | graceful-fs "^4.2.9" 641 | 642 | "@jest/test-result@^28.1.3": 643 | version "28.1.3" 644 | resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" 645 | integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== 646 | dependencies: 647 | "@jest/console" "^28.1.3" 648 | "@jest/types" "^28.1.3" 649 | "@types/istanbul-lib-coverage" "^2.0.0" 650 | collect-v8-coverage "^1.0.0" 651 | 652 | "@jest/test-sequencer@^28.1.3": 653 | version "28.1.3" 654 | resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz#9d0c283d906ac599c74bde464bc0d7e6a82886c3" 655 | integrity sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw== 656 | dependencies: 657 | "@jest/test-result" "^28.1.3" 658 | graceful-fs "^4.2.9" 659 | jest-haste-map "^28.1.3" 660 | slash "^3.0.0" 661 | 662 | "@jest/transform@^28.1.3": 663 | version "28.1.3" 664 | resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.3.tgz#59d8098e50ab07950e0f2fc0fc7ec462371281b0" 665 | integrity sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA== 666 | dependencies: 667 | "@babel/core" "^7.11.6" 668 | "@jest/types" "^28.1.3" 669 | "@jridgewell/trace-mapping" "^0.3.13" 670 | babel-plugin-istanbul "^6.1.1" 671 | chalk "^4.0.0" 672 | convert-source-map "^1.4.0" 673 | fast-json-stable-stringify "^2.0.0" 674 | graceful-fs "^4.2.9" 675 | jest-haste-map "^28.1.3" 676 | jest-regex-util "^28.0.2" 677 | jest-util "^28.1.3" 678 | micromatch "^4.0.4" 679 | pirates "^4.0.4" 680 | slash "^3.0.0" 681 | write-file-atomic "^4.0.1" 682 | 683 | "@jest/types@^28.1.3": 684 | version "28.1.3" 685 | resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" 686 | integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== 687 | dependencies: 688 | "@jest/schemas" "^28.1.3" 689 | "@types/istanbul-lib-coverage" "^2.0.0" 690 | "@types/istanbul-reports" "^3.0.0" 691 | "@types/node" "*" 692 | "@types/yargs" "^17.0.8" 693 | chalk "^4.0.0" 694 | 695 | "@jridgewell/gen-mapping@^0.1.0": 696 | version "0.1.1" 697 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" 698 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== 699 | dependencies: 700 | "@jridgewell/set-array" "^1.0.0" 701 | "@jridgewell/sourcemap-codec" "^1.4.10" 702 | 703 | "@jridgewell/gen-mapping@^0.3.2": 704 | version "0.3.2" 705 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 706 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 707 | dependencies: 708 | "@jridgewell/set-array" "^1.0.1" 709 | "@jridgewell/sourcemap-codec" "^1.4.10" 710 | "@jridgewell/trace-mapping" "^0.3.9" 711 | 712 | "@jridgewell/resolve-uri@3.1.0": 713 | version "3.1.0" 714 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 715 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 716 | 717 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 718 | version "1.1.2" 719 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 720 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 721 | 722 | "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": 723 | version "1.4.14" 724 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 725 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 726 | 727 | "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.13", "@jridgewell/trace-mapping@^0.3.9": 728 | version "0.3.17" 729 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" 730 | integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== 731 | dependencies: 732 | "@jridgewell/resolve-uri" "3.1.0" 733 | "@jridgewell/sourcemap-codec" "1.4.14" 734 | 735 | "@noble/curves@1.0.0", "@noble/curves@~1.0.0": 736 | version "1.0.0" 737 | resolved "https://registry.yarnpkg.com/@noble%2fcurves/-/curves-1.0.0.tgz#e40be8c7daf088aaf291887cbc73f43464a92932" 738 | integrity sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw== 739 | dependencies: 740 | "@noble/hashes" "1.3.0" 741 | 742 | "@noble/hashes@1.3.0": 743 | version "1.3.0" 744 | resolved "https://registry.yarnpkg.com/@noble%2fhashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" 745 | integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== 746 | 747 | "@noble/hashes@~1.3.0": 748 | version "1.3.1" 749 | resolved "https://registry.yarnpkg.com/@noble%2fhashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" 750 | integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== 751 | 752 | "@scure/base@~1.1.0": 753 | version "1.1.1" 754 | resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" 755 | integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== 756 | 757 | "@scure/bip32@1.3.0": 758 | version "1.3.0" 759 | resolved "https://registry.yarnpkg.com/@scure%2fbip32/-/bip32-1.3.0.tgz#6c8d980ef3f290987736acd0ee2e0f0d50068d87" 760 | integrity sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q== 761 | dependencies: 762 | "@noble/curves" "~1.0.0" 763 | "@noble/hashes" "~1.3.0" 764 | "@scure/base" "~1.1.0" 765 | 766 | "@scure/bip39@1.2.0": 767 | version "1.2.0" 768 | resolved "https://registry.yarnpkg.com/@scure%2fbip39/-/bip39-1.2.0.tgz#a207e2ef96de354de7d0002292ba1503538fc77b" 769 | integrity sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg== 770 | dependencies: 771 | "@noble/hashes" "~1.3.0" 772 | "@scure/base" "~1.1.0" 773 | 774 | "@sinclair/typebox@^0.24.1": 775 | version "0.24.51" 776 | resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" 777 | integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== 778 | 779 | "@sinonjs/commons@^1.7.0": 780 | version "1.8.6" 781 | resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" 782 | integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== 783 | dependencies: 784 | type-detect "4.0.8" 785 | 786 | "@sinonjs/fake-timers@^9.1.2": 787 | version "9.1.2" 788 | resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" 789 | integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== 790 | dependencies: 791 | "@sinonjs/commons" "^1.7.0" 792 | 793 | "@types/babel__core@^7.1.14": 794 | version "7.20.0" 795 | resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.0.tgz#61bc5a4cae505ce98e1e36c5445e4bee060d8891" 796 | integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ== 797 | dependencies: 798 | "@babel/parser" "^7.20.7" 799 | "@babel/types" "^7.20.7" 800 | "@types/babel__generator" "*" 801 | "@types/babel__template" "*" 802 | "@types/babel__traverse" "*" 803 | 804 | "@types/babel__generator@*": 805 | version "7.6.4" 806 | resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" 807 | integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== 808 | dependencies: 809 | "@babel/types" "^7.0.0" 810 | 811 | "@types/babel__template@*": 812 | version "7.4.1" 813 | resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" 814 | integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== 815 | dependencies: 816 | "@babel/parser" "^7.1.0" 817 | "@babel/types" "^7.0.0" 818 | 819 | "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": 820 | version "7.18.3" 821 | resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" 822 | integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== 823 | dependencies: 824 | "@babel/types" "^7.3.0" 825 | 826 | "@types/graceful-fs@^4.1.3": 827 | version "4.1.6" 828 | resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" 829 | integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== 830 | dependencies: 831 | "@types/node" "*" 832 | 833 | "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": 834 | version "2.0.4" 835 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" 836 | integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== 837 | 838 | "@types/istanbul-lib-report@*": 839 | version "3.0.0" 840 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" 841 | integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== 842 | dependencies: 843 | "@types/istanbul-lib-coverage" "*" 844 | 845 | "@types/istanbul-reports@^3.0.0": 846 | version "3.0.1" 847 | resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" 848 | integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== 849 | dependencies: 850 | "@types/istanbul-lib-report" "*" 851 | 852 | "@types/node@*": 853 | version "18.11.18" 854 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" 855 | integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== 856 | 857 | "@types/prettier@^2.1.5": 858 | version "2.7.2" 859 | resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" 860 | integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== 861 | 862 | "@types/stack-utils@^2.0.0": 863 | version "2.0.1" 864 | resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" 865 | integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== 866 | 867 | "@types/ws@^8.5.3": 868 | version "8.5.5" 869 | resolved "http://localhost:4873/@types/ws/-/ws-8.5.5.tgz#af587964aa06682702ee6dcbc7be41a80e4b28eb" 870 | integrity sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg== 871 | dependencies: 872 | "@types/node" "*" 873 | 874 | "@types/yargs-parser@*": 875 | version "21.0.0" 876 | resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" 877 | integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== 878 | 879 | "@types/yargs@^17.0.8": 880 | version "17.0.20" 881 | resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.20.tgz#107f0fcc13bd4a524e352b41c49fe88aab5c54d5" 882 | integrity sha512-eknWrTHofQuPk2iuqDm1waA7V6xPlbgBoaaXEgYkClhLOnB0TtbW+srJaOToAgawPxPlHQzwypFA2bhZaUGP5A== 883 | dependencies: 884 | "@types/yargs-parser" "*" 885 | 886 | ansi-escapes@^4.2.1: 887 | version "4.3.2" 888 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" 889 | integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== 890 | dependencies: 891 | type-fest "^0.21.3" 892 | 893 | ansi-regex@^5.0.1: 894 | version "5.0.1" 895 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 896 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 897 | 898 | ansi-styles@^3.2.1: 899 | version "3.2.1" 900 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 901 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 902 | dependencies: 903 | color-convert "^1.9.0" 904 | 905 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 906 | version "4.3.0" 907 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 908 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 909 | dependencies: 910 | color-convert "^2.0.1" 911 | 912 | ansi-styles@^5.0.0: 913 | version "5.2.0" 914 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" 915 | integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== 916 | 917 | anymatch@^3.0.3: 918 | version "3.1.3" 919 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" 920 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== 921 | dependencies: 922 | normalize-path "^3.0.0" 923 | picomatch "^2.0.4" 924 | 925 | argparse@^1.0.7: 926 | version "1.0.10" 927 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 928 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 929 | dependencies: 930 | sprintf-js "~1.0.2" 931 | 932 | available-typed-arrays@^1.0.5: 933 | version "1.0.5" 934 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" 935 | integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== 936 | 937 | babel-jest@^28.1.3: 938 | version "28.1.3" 939 | resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.3.tgz#c1187258197c099072156a0a121c11ee1e3917d5" 940 | integrity sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q== 941 | dependencies: 942 | "@jest/transform" "^28.1.3" 943 | "@types/babel__core" "^7.1.14" 944 | babel-plugin-istanbul "^6.1.1" 945 | babel-preset-jest "^28.1.3" 946 | chalk "^4.0.0" 947 | graceful-fs "^4.2.9" 948 | slash "^3.0.0" 949 | 950 | babel-plugin-istanbul@^6.1.1: 951 | version "6.1.1" 952 | resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" 953 | integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== 954 | dependencies: 955 | "@babel/helper-plugin-utils" "^7.0.0" 956 | "@istanbuljs/load-nyc-config" "^1.0.0" 957 | "@istanbuljs/schema" "^0.1.2" 958 | istanbul-lib-instrument "^5.0.4" 959 | test-exclude "^6.0.0" 960 | 961 | babel-plugin-jest-hoist@^28.1.3: 962 | version "28.1.3" 963 | resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz#1952c4d0ea50f2d6d794353762278d1d8cca3fbe" 964 | integrity sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q== 965 | dependencies: 966 | "@babel/template" "^7.3.3" 967 | "@babel/types" "^7.3.3" 968 | "@types/babel__core" "^7.1.14" 969 | "@types/babel__traverse" "^7.0.6" 970 | 971 | babel-preset-current-node-syntax@^1.0.0: 972 | version "1.0.1" 973 | resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" 974 | integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== 975 | dependencies: 976 | "@babel/plugin-syntax-async-generators" "^7.8.4" 977 | "@babel/plugin-syntax-bigint" "^7.8.3" 978 | "@babel/plugin-syntax-class-properties" "^7.8.3" 979 | "@babel/plugin-syntax-import-meta" "^7.8.3" 980 | "@babel/plugin-syntax-json-strings" "^7.8.3" 981 | "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" 982 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" 983 | "@babel/plugin-syntax-numeric-separator" "^7.8.3" 984 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 985 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 986 | "@babel/plugin-syntax-optional-chaining" "^7.8.3" 987 | "@babel/plugin-syntax-top-level-await" "^7.8.3" 988 | 989 | babel-preset-jest@^28.1.3: 990 | version "28.1.3" 991 | resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz#5dfc20b99abed5db994406c2b9ab94c73aaa419d" 992 | integrity sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A== 993 | dependencies: 994 | babel-plugin-jest-hoist "^28.1.3" 995 | babel-preset-current-node-syntax "^1.0.0" 996 | 997 | balanced-match@^1.0.0: 998 | version "1.0.2" 999 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 1000 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 1001 | 1002 | bn.js@^4.11.9: 1003 | version "4.12.0" 1004 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" 1005 | integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== 1006 | 1007 | bn.js@^5.2.1: 1008 | version "5.2.1" 1009 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" 1010 | integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== 1011 | 1012 | brace-expansion@^1.1.7: 1013 | version "1.1.11" 1014 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 1015 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 1016 | dependencies: 1017 | balanced-match "^1.0.0" 1018 | concat-map "0.0.1" 1019 | 1020 | braces@^3.0.2: 1021 | version "3.0.2" 1022 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 1023 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 1024 | dependencies: 1025 | fill-range "^7.0.1" 1026 | 1027 | brorand@^1.1.0: 1028 | version "1.1.0" 1029 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" 1030 | integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== 1031 | 1032 | browserslist@^4.21.3: 1033 | version "4.21.4" 1034 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" 1035 | integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== 1036 | dependencies: 1037 | caniuse-lite "^1.0.30001400" 1038 | electron-to-chromium "^1.4.251" 1039 | node-releases "^2.0.6" 1040 | update-browserslist-db "^1.0.9" 1041 | 1042 | bs-logger@0.x: 1043 | version "0.2.6" 1044 | resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" 1045 | integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== 1046 | dependencies: 1047 | fast-json-stable-stringify "2.x" 1048 | 1049 | bser@2.1.1: 1050 | version "2.1.1" 1051 | resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" 1052 | integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== 1053 | dependencies: 1054 | node-int64 "^0.4.0" 1055 | 1056 | buffer-from@^1.0.0: 1057 | version "1.1.2" 1058 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" 1059 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 1060 | 1061 | call-bind@^1.0.2: 1062 | version "1.0.2" 1063 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 1064 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 1065 | dependencies: 1066 | function-bind "^1.1.1" 1067 | get-intrinsic "^1.0.2" 1068 | 1069 | callsites@^3.0.0: 1070 | version "3.1.0" 1071 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 1072 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 1073 | 1074 | camelcase@^5.3.1: 1075 | version "5.3.1" 1076 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 1077 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 1078 | 1079 | camelcase@^6.2.0: 1080 | version "6.3.0" 1081 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" 1082 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 1083 | 1084 | caniuse-lite@^1.0.30001400: 1085 | version "1.0.30001446" 1086 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz#6d4ba828ab19f49f9bcd14a8430d30feebf1e0c5" 1087 | integrity "sha1-bUuoKKsZ9J+bzRSoQw0w/uvx4MU= sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw==" 1088 | 1089 | chalk@^2.0.0: 1090 | version "2.4.2" 1091 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 1092 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 1093 | dependencies: 1094 | ansi-styles "^3.2.1" 1095 | escape-string-regexp "^1.0.5" 1096 | supports-color "^5.3.0" 1097 | 1098 | chalk@^4.0.0: 1099 | version "4.1.2" 1100 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 1101 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 1102 | dependencies: 1103 | ansi-styles "^4.1.0" 1104 | supports-color "^7.1.0" 1105 | 1106 | char-regex@^1.0.2: 1107 | version "1.0.2" 1108 | resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" 1109 | integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== 1110 | 1111 | ci-info@^3.2.0: 1112 | version "3.7.1" 1113 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.1.tgz#708a6cdae38915d597afdf3b145f2f8e1ff55f3f" 1114 | integrity sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w== 1115 | 1116 | cjs-module-lexer@^1.0.0: 1117 | version "1.2.2" 1118 | resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" 1119 | integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== 1120 | 1121 | cliui@^8.0.1: 1122 | version "8.0.1" 1123 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" 1124 | integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== 1125 | dependencies: 1126 | string-width "^4.2.0" 1127 | strip-ansi "^6.0.1" 1128 | wrap-ansi "^7.0.0" 1129 | 1130 | co@^4.6.0: 1131 | version "4.6.0" 1132 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 1133 | integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== 1134 | 1135 | collect-v8-coverage@^1.0.0: 1136 | version "1.0.1" 1137 | resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" 1138 | integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== 1139 | 1140 | color-convert@^1.9.0: 1141 | version "1.9.3" 1142 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 1143 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 1144 | dependencies: 1145 | color-name "1.1.3" 1146 | 1147 | color-convert@^2.0.1: 1148 | version "2.0.1" 1149 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 1150 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 1151 | dependencies: 1152 | color-name "~1.1.4" 1153 | 1154 | color-name@1.1.3: 1155 | version "1.1.3" 1156 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 1157 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 1158 | 1159 | color-name@~1.1.4: 1160 | version "1.1.4" 1161 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 1162 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 1163 | 1164 | concat-map@0.0.1: 1165 | version "0.0.1" 1166 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1167 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 1168 | 1169 | convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: 1170 | version "1.9.0" 1171 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" 1172 | integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== 1173 | 1174 | crc-32@^1.2.2: 1175 | version "1.2.2" 1176 | resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" 1177 | integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== 1178 | 1179 | cross-fetch@^3.1.5: 1180 | version "3.1.5" 1181 | resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" 1182 | integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== 1183 | dependencies: 1184 | node-fetch "2.6.7" 1185 | 1186 | cross-spawn@^7.0.3: 1187 | version "7.0.3" 1188 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 1189 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 1190 | dependencies: 1191 | path-key "^3.1.0" 1192 | shebang-command "^2.0.0" 1193 | which "^2.0.1" 1194 | 1195 | debug@^4.1.0, debug@^4.1.1: 1196 | version "4.3.4" 1197 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 1198 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 1199 | dependencies: 1200 | ms "2.1.2" 1201 | 1202 | dedent@^0.7.0: 1203 | version "0.7.0" 1204 | resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" 1205 | integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== 1206 | 1207 | deepmerge@^4.2.2: 1208 | version "4.2.2" 1209 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 1210 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 1211 | 1212 | detect-newline@^3.0.0: 1213 | version "3.1.0" 1214 | resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" 1215 | integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== 1216 | 1217 | diff-sequences@^28.1.1: 1218 | version "28.1.1" 1219 | resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6" 1220 | integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== 1221 | 1222 | electron-to-chromium@^1.4.251: 1223 | version "1.4.284" 1224 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" 1225 | integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== 1226 | 1227 | elliptic@6.5.4: 1228 | version "6.5.4" 1229 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" 1230 | integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== 1231 | dependencies: 1232 | bn.js "^4.11.9" 1233 | brorand "^1.1.0" 1234 | hash.js "^1.0.0" 1235 | hmac-drbg "^1.0.1" 1236 | inherits "^2.0.4" 1237 | minimalistic-assert "^1.0.1" 1238 | minimalistic-crypto-utils "^1.0.1" 1239 | 1240 | emittery@^0.10.2: 1241 | version "0.10.2" 1242 | resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" 1243 | integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== 1244 | 1245 | emoji-regex@^8.0.0: 1246 | version "8.0.0" 1247 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1248 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1249 | 1250 | error-ex@^1.3.1: 1251 | version "1.3.2" 1252 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 1253 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 1254 | dependencies: 1255 | is-arrayish "^0.2.1" 1256 | 1257 | escalade@^3.1.1: 1258 | version "3.1.1" 1259 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1260 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1261 | 1262 | escape-string-regexp@^1.0.5: 1263 | version "1.0.5" 1264 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1265 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 1266 | 1267 | escape-string-regexp@^2.0.0: 1268 | version "2.0.0" 1269 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" 1270 | integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== 1271 | 1272 | esprima@^4.0.0: 1273 | version "4.0.1" 1274 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1275 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1276 | 1277 | ethereum-cryptography@^2.0.0: 1278 | version "2.0.0" 1279 | resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.0.0.tgz#e052b49fa81affae29402e977b8d3a31f88612b6" 1280 | integrity sha512-g25m4EtfQGjstWgVE1aIz7XYYjf3kH5kG17ULWVB5dH6uLahsoltOhACzSxyDV+fhn4gbR4xRrOXGe6r2uh4Bg== 1281 | dependencies: 1282 | "@noble/curves" "1.0.0" 1283 | "@noble/hashes" "1.3.0" 1284 | "@scure/bip32" "1.3.0" 1285 | "@scure/bip39" "1.2.0" 1286 | 1287 | execa@^5.0.0: 1288 | version "5.1.1" 1289 | resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" 1290 | integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== 1291 | dependencies: 1292 | cross-spawn "^7.0.3" 1293 | get-stream "^6.0.0" 1294 | human-signals "^2.1.0" 1295 | is-stream "^2.0.0" 1296 | merge-stream "^2.0.0" 1297 | npm-run-path "^4.0.1" 1298 | onetime "^5.1.2" 1299 | signal-exit "^3.0.3" 1300 | strip-final-newline "^2.0.0" 1301 | 1302 | exit@^0.1.2: 1303 | version "0.1.2" 1304 | resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" 1305 | integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== 1306 | 1307 | expect@^28.1.3: 1308 | version "28.1.3" 1309 | resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.3.tgz#90a7c1a124f1824133dd4533cce2d2bdcb6603ec" 1310 | integrity sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g== 1311 | dependencies: 1312 | "@jest/expect-utils" "^28.1.3" 1313 | jest-get-type "^28.0.2" 1314 | jest-matcher-utils "^28.1.3" 1315 | jest-message-util "^28.1.3" 1316 | jest-util "^28.1.3" 1317 | 1318 | fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: 1319 | version "2.1.0" 1320 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1321 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1322 | 1323 | fb-watchman@^2.0.0: 1324 | version "2.0.2" 1325 | resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" 1326 | integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== 1327 | dependencies: 1328 | bser "2.1.1" 1329 | 1330 | fill-range@^7.0.1: 1331 | version "7.0.1" 1332 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1333 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1334 | dependencies: 1335 | to-regex-range "^5.0.1" 1336 | 1337 | find-up@^4.0.0, find-up@^4.1.0: 1338 | version "4.1.0" 1339 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 1340 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 1341 | dependencies: 1342 | locate-path "^5.0.0" 1343 | path-exists "^4.0.0" 1344 | 1345 | for-each@^0.3.3: 1346 | version "0.3.3" 1347 | resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" 1348 | integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== 1349 | dependencies: 1350 | is-callable "^1.1.3" 1351 | 1352 | fs.realpath@^1.0.0: 1353 | version "1.0.0" 1354 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1355 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1356 | 1357 | fsevents@^2.3.2: 1358 | version "2.3.2" 1359 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1360 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1361 | 1362 | function-bind@^1.1.1: 1363 | version "1.1.1" 1364 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1365 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1366 | 1367 | generate-function@^2.0.0: 1368 | version "2.3.1" 1369 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f" 1370 | integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ== 1371 | dependencies: 1372 | is-property "^1.0.2" 1373 | 1374 | generate-object-property@^1.1.0: 1375 | version "1.2.0" 1376 | resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" 1377 | integrity sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ== 1378 | dependencies: 1379 | is-property "^1.0.0" 1380 | 1381 | gensync@^1.0.0-beta.2: 1382 | version "1.0.0-beta.2" 1383 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1384 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1385 | 1386 | get-caller-file@^2.0.5: 1387 | version "2.0.5" 1388 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1389 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1390 | 1391 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.3: 1392 | version "1.2.1" 1393 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" 1394 | integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== 1395 | dependencies: 1396 | function-bind "^1.1.1" 1397 | has "^1.0.3" 1398 | has-proto "^1.0.1" 1399 | has-symbols "^1.0.3" 1400 | 1401 | get-package-type@^0.1.0: 1402 | version "0.1.0" 1403 | resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" 1404 | integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== 1405 | 1406 | get-stream@^6.0.0: 1407 | version "6.0.1" 1408 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" 1409 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 1410 | 1411 | glob@^7.1.3, glob@^7.1.4: 1412 | version "7.2.3" 1413 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 1414 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 1415 | dependencies: 1416 | fs.realpath "^1.0.0" 1417 | inflight "^1.0.4" 1418 | inherits "2" 1419 | minimatch "^3.1.1" 1420 | once "^1.3.0" 1421 | path-is-absolute "^1.0.0" 1422 | 1423 | globals@^11.1.0: 1424 | version "11.12.0" 1425 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1426 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1427 | 1428 | gopd@^1.0.1: 1429 | version "1.0.1" 1430 | resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" 1431 | integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== 1432 | dependencies: 1433 | get-intrinsic "^1.1.3" 1434 | 1435 | graceful-fs@^4.2.9: 1436 | version "4.2.10" 1437 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" 1438 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== 1439 | 1440 | has-flag@^3.0.0: 1441 | version "3.0.0" 1442 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1443 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 1444 | 1445 | has-flag@^4.0.0: 1446 | version "4.0.0" 1447 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1448 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1449 | 1450 | has-proto@^1.0.1: 1451 | version "1.0.1" 1452 | resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" 1453 | integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== 1454 | 1455 | has-symbols@^1.0.2, has-symbols@^1.0.3: 1456 | version "1.0.3" 1457 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 1458 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 1459 | 1460 | has-tostringtag@^1.0.0: 1461 | version "1.0.0" 1462 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" 1463 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== 1464 | dependencies: 1465 | has-symbols "^1.0.2" 1466 | 1467 | has@^1.0.3: 1468 | version "1.0.3" 1469 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1470 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1471 | dependencies: 1472 | function-bind "^1.1.1" 1473 | 1474 | hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: 1475 | version "1.1.7" 1476 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" 1477 | integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== 1478 | dependencies: 1479 | inherits "^2.0.3" 1480 | minimalistic-assert "^1.0.1" 1481 | 1482 | hmac-drbg@^1.0.1: 1483 | version "1.0.1" 1484 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" 1485 | integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== 1486 | dependencies: 1487 | hash.js "^1.0.3" 1488 | minimalistic-assert "^1.0.0" 1489 | minimalistic-crypto-utils "^1.0.1" 1490 | 1491 | html-escaper@^2.0.0: 1492 | version "2.0.2" 1493 | resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" 1494 | integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== 1495 | 1496 | human-signals@^2.1.0: 1497 | version "2.1.0" 1498 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" 1499 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 1500 | 1501 | import-local@^3.0.2: 1502 | version "3.1.0" 1503 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" 1504 | integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== 1505 | dependencies: 1506 | pkg-dir "^4.2.0" 1507 | resolve-cwd "^3.0.0" 1508 | 1509 | imurmurhash@^0.1.4: 1510 | version "0.1.4" 1511 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1512 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 1513 | 1514 | inflight@^1.0.4: 1515 | version "1.0.6" 1516 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1517 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 1518 | dependencies: 1519 | once "^1.3.0" 1520 | wrappy "1" 1521 | 1522 | inherits@2, inherits@^2.0.3, inherits@^2.0.4: 1523 | version "2.0.4" 1524 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1525 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1526 | 1527 | is-arguments@^1.0.4: 1528 | version "1.1.1" 1529 | resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" 1530 | integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== 1531 | dependencies: 1532 | call-bind "^1.0.2" 1533 | has-tostringtag "^1.0.0" 1534 | 1535 | is-arrayish@^0.2.1: 1536 | version "0.2.1" 1537 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1538 | integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== 1539 | 1540 | is-callable@^1.1.3: 1541 | version "1.2.7" 1542 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" 1543 | integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== 1544 | 1545 | is-core-module@^2.9.0: 1546 | version "2.11.0" 1547 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" 1548 | integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== 1549 | dependencies: 1550 | has "^1.0.3" 1551 | 1552 | is-fullwidth-code-point@^3.0.0: 1553 | version "3.0.0" 1554 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1555 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1556 | 1557 | is-generator-fn@^2.0.0: 1558 | version "2.1.0" 1559 | resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" 1560 | integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== 1561 | 1562 | is-generator-function@^1.0.7: 1563 | version "1.0.10" 1564 | resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" 1565 | integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== 1566 | dependencies: 1567 | has-tostringtag "^1.0.0" 1568 | 1569 | is-my-ip-valid@^1.0.0: 1570 | version "1.0.1" 1571 | resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz#f7220d1146257c98672e6fba097a9f3f2d348442" 1572 | integrity sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg== 1573 | 1574 | is-my-json-valid@^2.20.6: 1575 | version "2.20.6" 1576 | resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz#a9d89e56a36493c77bda1440d69ae0dc46a08387" 1577 | integrity sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw== 1578 | dependencies: 1579 | generate-function "^2.0.0" 1580 | generate-object-property "^1.1.0" 1581 | is-my-ip-valid "^1.0.0" 1582 | jsonpointer "^5.0.0" 1583 | xtend "^4.0.0" 1584 | 1585 | is-number@^7.0.0: 1586 | version "7.0.0" 1587 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1588 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1589 | 1590 | is-property@^1.0.0, is-property@^1.0.2: 1591 | version "1.0.2" 1592 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" 1593 | integrity sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g== 1594 | 1595 | is-stream@^2.0.0: 1596 | version "2.0.1" 1597 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" 1598 | integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== 1599 | 1600 | is-typed-array@^1.1.10, is-typed-array@^1.1.3: 1601 | version "1.1.10" 1602 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" 1603 | integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== 1604 | dependencies: 1605 | available-typed-arrays "^1.0.5" 1606 | call-bind "^1.0.2" 1607 | for-each "^0.3.3" 1608 | gopd "^1.0.1" 1609 | has-tostringtag "^1.0.0" 1610 | 1611 | isexe@^2.0.0: 1612 | version "2.0.0" 1613 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1614 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 1615 | 1616 | isomorphic-ws@^5.0.0: 1617 | version "5.0.0" 1618 | resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf" 1619 | integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== 1620 | 1621 | istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: 1622 | version "3.2.0" 1623 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" 1624 | integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== 1625 | 1626 | istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: 1627 | version "5.2.1" 1628 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" 1629 | integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== 1630 | dependencies: 1631 | "@babel/core" "^7.12.3" 1632 | "@babel/parser" "^7.14.7" 1633 | "@istanbuljs/schema" "^0.1.2" 1634 | istanbul-lib-coverage "^3.2.0" 1635 | semver "^6.3.0" 1636 | 1637 | istanbul-lib-report@^3.0.0: 1638 | version "3.0.0" 1639 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" 1640 | integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== 1641 | dependencies: 1642 | istanbul-lib-coverage "^3.0.0" 1643 | make-dir "^3.0.0" 1644 | supports-color "^7.1.0" 1645 | 1646 | istanbul-lib-source-maps@^4.0.0: 1647 | version "4.0.1" 1648 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" 1649 | integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== 1650 | dependencies: 1651 | debug "^4.1.1" 1652 | istanbul-lib-coverage "^3.0.0" 1653 | source-map "^0.6.1" 1654 | 1655 | istanbul-reports@^3.1.3: 1656 | version "3.1.5" 1657 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" 1658 | integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== 1659 | dependencies: 1660 | html-escaper "^2.0.0" 1661 | istanbul-lib-report "^3.0.0" 1662 | 1663 | jest-changed-files@^28.1.3: 1664 | version "28.1.3" 1665 | resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-28.1.3.tgz#d9aeee6792be3686c47cb988a8eaf82ff4238831" 1666 | integrity sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA== 1667 | dependencies: 1668 | execa "^5.0.0" 1669 | p-limit "^3.1.0" 1670 | 1671 | jest-circus@^28.1.3: 1672 | version "28.1.3" 1673 | resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-28.1.3.tgz#d14bd11cf8ee1a03d69902dc47b6bd4634ee00e4" 1674 | integrity sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow== 1675 | dependencies: 1676 | "@jest/environment" "^28.1.3" 1677 | "@jest/expect" "^28.1.3" 1678 | "@jest/test-result" "^28.1.3" 1679 | "@jest/types" "^28.1.3" 1680 | "@types/node" "*" 1681 | chalk "^4.0.0" 1682 | co "^4.6.0" 1683 | dedent "^0.7.0" 1684 | is-generator-fn "^2.0.0" 1685 | jest-each "^28.1.3" 1686 | jest-matcher-utils "^28.1.3" 1687 | jest-message-util "^28.1.3" 1688 | jest-runtime "^28.1.3" 1689 | jest-snapshot "^28.1.3" 1690 | jest-util "^28.1.3" 1691 | p-limit "^3.1.0" 1692 | pretty-format "^28.1.3" 1693 | slash "^3.0.0" 1694 | stack-utils "^2.0.3" 1695 | 1696 | jest-cli@^28.1.3: 1697 | version "28.1.3" 1698 | resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-28.1.3.tgz#558b33c577d06de55087b8448d373b9f654e46b2" 1699 | integrity sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ== 1700 | dependencies: 1701 | "@jest/core" "^28.1.3" 1702 | "@jest/test-result" "^28.1.3" 1703 | "@jest/types" "^28.1.3" 1704 | chalk "^4.0.0" 1705 | exit "^0.1.2" 1706 | graceful-fs "^4.2.9" 1707 | import-local "^3.0.2" 1708 | jest-config "^28.1.3" 1709 | jest-util "^28.1.3" 1710 | jest-validate "^28.1.3" 1711 | prompts "^2.0.1" 1712 | yargs "^17.3.1" 1713 | 1714 | jest-config@^28.1.3: 1715 | version "28.1.3" 1716 | resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-28.1.3.tgz#e315e1f73df3cac31447eed8b8740a477392ec60" 1717 | integrity sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ== 1718 | dependencies: 1719 | "@babel/core" "^7.11.6" 1720 | "@jest/test-sequencer" "^28.1.3" 1721 | "@jest/types" "^28.1.3" 1722 | babel-jest "^28.1.3" 1723 | chalk "^4.0.0" 1724 | ci-info "^3.2.0" 1725 | deepmerge "^4.2.2" 1726 | glob "^7.1.3" 1727 | graceful-fs "^4.2.9" 1728 | jest-circus "^28.1.3" 1729 | jest-environment-node "^28.1.3" 1730 | jest-get-type "^28.0.2" 1731 | jest-regex-util "^28.0.2" 1732 | jest-resolve "^28.1.3" 1733 | jest-runner "^28.1.3" 1734 | jest-util "^28.1.3" 1735 | jest-validate "^28.1.3" 1736 | micromatch "^4.0.4" 1737 | parse-json "^5.2.0" 1738 | pretty-format "^28.1.3" 1739 | slash "^3.0.0" 1740 | strip-json-comments "^3.1.1" 1741 | 1742 | jest-diff@^28.1.3: 1743 | version "28.1.3" 1744 | resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.3.tgz#948a192d86f4e7a64c5264ad4da4877133d8792f" 1745 | integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== 1746 | dependencies: 1747 | chalk "^4.0.0" 1748 | diff-sequences "^28.1.1" 1749 | jest-get-type "^28.0.2" 1750 | pretty-format "^28.1.3" 1751 | 1752 | jest-docblock@^28.1.1: 1753 | version "28.1.1" 1754 | resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-28.1.1.tgz#6f515c3bf841516d82ecd57a62eed9204c2f42a8" 1755 | integrity sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA== 1756 | dependencies: 1757 | detect-newline "^3.0.0" 1758 | 1759 | jest-each@^28.1.3: 1760 | version "28.1.3" 1761 | resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-28.1.3.tgz#bdd1516edbe2b1f3569cfdad9acd543040028f81" 1762 | integrity sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g== 1763 | dependencies: 1764 | "@jest/types" "^28.1.3" 1765 | chalk "^4.0.0" 1766 | jest-get-type "^28.0.2" 1767 | jest-util "^28.1.3" 1768 | pretty-format "^28.1.3" 1769 | 1770 | jest-environment-node@^28.1.3: 1771 | version "28.1.3" 1772 | resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.3.tgz#7e74fe40eb645b9d56c0c4b70ca4357faa349be5" 1773 | integrity sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A== 1774 | dependencies: 1775 | "@jest/environment" "^28.1.3" 1776 | "@jest/fake-timers" "^28.1.3" 1777 | "@jest/types" "^28.1.3" 1778 | "@types/node" "*" 1779 | jest-mock "^28.1.3" 1780 | jest-util "^28.1.3" 1781 | 1782 | jest-get-type@^28.0.2: 1783 | version "28.0.2" 1784 | resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" 1785 | integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== 1786 | 1787 | jest-haste-map@^28.1.3: 1788 | version "28.1.3" 1789 | resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.3.tgz#abd5451129a38d9841049644f34b034308944e2b" 1790 | integrity sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA== 1791 | dependencies: 1792 | "@jest/types" "^28.1.3" 1793 | "@types/graceful-fs" "^4.1.3" 1794 | "@types/node" "*" 1795 | anymatch "^3.0.3" 1796 | fb-watchman "^2.0.0" 1797 | graceful-fs "^4.2.9" 1798 | jest-regex-util "^28.0.2" 1799 | jest-util "^28.1.3" 1800 | jest-worker "^28.1.3" 1801 | micromatch "^4.0.4" 1802 | walker "^1.0.8" 1803 | optionalDependencies: 1804 | fsevents "^2.3.2" 1805 | 1806 | jest-leak-detector@^28.1.3: 1807 | version "28.1.3" 1808 | resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz#a6685d9b074be99e3adee816ce84fd30795e654d" 1809 | integrity sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA== 1810 | dependencies: 1811 | jest-get-type "^28.0.2" 1812 | pretty-format "^28.1.3" 1813 | 1814 | jest-matcher-utils@^28.1.3: 1815 | version "28.1.3" 1816 | resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz#5a77f1c129dd5ba3b4d7fc20728806c78893146e" 1817 | integrity sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw== 1818 | dependencies: 1819 | chalk "^4.0.0" 1820 | jest-diff "^28.1.3" 1821 | jest-get-type "^28.0.2" 1822 | pretty-format "^28.1.3" 1823 | 1824 | jest-message-util@^28.1.3: 1825 | version "28.1.3" 1826 | resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" 1827 | integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== 1828 | dependencies: 1829 | "@babel/code-frame" "^7.12.13" 1830 | "@jest/types" "^28.1.3" 1831 | "@types/stack-utils" "^2.0.0" 1832 | chalk "^4.0.0" 1833 | graceful-fs "^4.2.9" 1834 | micromatch "^4.0.4" 1835 | pretty-format "^28.1.3" 1836 | slash "^3.0.0" 1837 | stack-utils "^2.0.3" 1838 | 1839 | jest-mock@^28.1.3: 1840 | version "28.1.3" 1841 | resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.3.tgz#d4e9b1fc838bea595c77ab73672ebf513ab249da" 1842 | integrity sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA== 1843 | dependencies: 1844 | "@jest/types" "^28.1.3" 1845 | "@types/node" "*" 1846 | 1847 | jest-pnp-resolver@^1.2.2: 1848 | version "1.2.3" 1849 | resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" 1850 | integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== 1851 | 1852 | jest-regex-util@^28.0.2: 1853 | version "28.0.2" 1854 | resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" 1855 | integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== 1856 | 1857 | jest-resolve-dependencies@^28.1.3: 1858 | version "28.1.3" 1859 | resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz#8c65d7583460df7275c6ea2791901fa975c1fe66" 1860 | integrity sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA== 1861 | dependencies: 1862 | jest-regex-util "^28.0.2" 1863 | jest-snapshot "^28.1.3" 1864 | 1865 | jest-resolve@^28.1.3: 1866 | version "28.1.3" 1867 | resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-28.1.3.tgz#cfb36100341ddbb061ec781426b3c31eb51aa0a8" 1868 | integrity sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ== 1869 | dependencies: 1870 | chalk "^4.0.0" 1871 | graceful-fs "^4.2.9" 1872 | jest-haste-map "^28.1.3" 1873 | jest-pnp-resolver "^1.2.2" 1874 | jest-util "^28.1.3" 1875 | jest-validate "^28.1.3" 1876 | resolve "^1.20.0" 1877 | resolve.exports "^1.1.0" 1878 | slash "^3.0.0" 1879 | 1880 | jest-runner@^28.1.3: 1881 | version "28.1.3" 1882 | resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.3.tgz#5eee25febd730b4713a2cdfd76bdd5557840f9a1" 1883 | integrity sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA== 1884 | dependencies: 1885 | "@jest/console" "^28.1.3" 1886 | "@jest/environment" "^28.1.3" 1887 | "@jest/test-result" "^28.1.3" 1888 | "@jest/transform" "^28.1.3" 1889 | "@jest/types" "^28.1.3" 1890 | "@types/node" "*" 1891 | chalk "^4.0.0" 1892 | emittery "^0.10.2" 1893 | graceful-fs "^4.2.9" 1894 | jest-docblock "^28.1.1" 1895 | jest-environment-node "^28.1.3" 1896 | jest-haste-map "^28.1.3" 1897 | jest-leak-detector "^28.1.3" 1898 | jest-message-util "^28.1.3" 1899 | jest-resolve "^28.1.3" 1900 | jest-runtime "^28.1.3" 1901 | jest-util "^28.1.3" 1902 | jest-watcher "^28.1.3" 1903 | jest-worker "^28.1.3" 1904 | p-limit "^3.1.0" 1905 | source-map-support "0.5.13" 1906 | 1907 | jest-runtime@^28.1.3: 1908 | version "28.1.3" 1909 | resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.3.tgz#a57643458235aa53e8ec7821949e728960d0605f" 1910 | integrity sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw== 1911 | dependencies: 1912 | "@jest/environment" "^28.1.3" 1913 | "@jest/fake-timers" "^28.1.3" 1914 | "@jest/globals" "^28.1.3" 1915 | "@jest/source-map" "^28.1.2" 1916 | "@jest/test-result" "^28.1.3" 1917 | "@jest/transform" "^28.1.3" 1918 | "@jest/types" "^28.1.3" 1919 | chalk "^4.0.0" 1920 | cjs-module-lexer "^1.0.0" 1921 | collect-v8-coverage "^1.0.0" 1922 | execa "^5.0.0" 1923 | glob "^7.1.3" 1924 | graceful-fs "^4.2.9" 1925 | jest-haste-map "^28.1.3" 1926 | jest-message-util "^28.1.3" 1927 | jest-mock "^28.1.3" 1928 | jest-regex-util "^28.0.2" 1929 | jest-resolve "^28.1.3" 1930 | jest-snapshot "^28.1.3" 1931 | jest-util "^28.1.3" 1932 | slash "^3.0.0" 1933 | strip-bom "^4.0.0" 1934 | 1935 | jest-snapshot@^28.1.3: 1936 | version "28.1.3" 1937 | resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-28.1.3.tgz#17467b3ab8ddb81e2f605db05583d69388fc0668" 1938 | integrity sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg== 1939 | dependencies: 1940 | "@babel/core" "^7.11.6" 1941 | "@babel/generator" "^7.7.2" 1942 | "@babel/plugin-syntax-typescript" "^7.7.2" 1943 | "@babel/traverse" "^7.7.2" 1944 | "@babel/types" "^7.3.3" 1945 | "@jest/expect-utils" "^28.1.3" 1946 | "@jest/transform" "^28.1.3" 1947 | "@jest/types" "^28.1.3" 1948 | "@types/babel__traverse" "^7.0.6" 1949 | "@types/prettier" "^2.1.5" 1950 | babel-preset-current-node-syntax "^1.0.0" 1951 | chalk "^4.0.0" 1952 | expect "^28.1.3" 1953 | graceful-fs "^4.2.9" 1954 | jest-diff "^28.1.3" 1955 | jest-get-type "^28.0.2" 1956 | jest-haste-map "^28.1.3" 1957 | jest-matcher-utils "^28.1.3" 1958 | jest-message-util "^28.1.3" 1959 | jest-util "^28.1.3" 1960 | natural-compare "^1.4.0" 1961 | pretty-format "^28.1.3" 1962 | semver "^7.3.5" 1963 | 1964 | jest-util@^28.0.0, jest-util@^28.1.3: 1965 | version "28.1.3" 1966 | resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" 1967 | integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== 1968 | dependencies: 1969 | "@jest/types" "^28.1.3" 1970 | "@types/node" "*" 1971 | chalk "^4.0.0" 1972 | ci-info "^3.2.0" 1973 | graceful-fs "^4.2.9" 1974 | picomatch "^2.2.3" 1975 | 1976 | jest-validate@^28.1.3: 1977 | version "28.1.3" 1978 | resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.3.tgz#e322267fd5e7c64cea4629612c357bbda96229df" 1979 | integrity sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA== 1980 | dependencies: 1981 | "@jest/types" "^28.1.3" 1982 | camelcase "^6.2.0" 1983 | chalk "^4.0.0" 1984 | jest-get-type "^28.0.2" 1985 | leven "^3.1.0" 1986 | pretty-format "^28.1.3" 1987 | 1988 | jest-watcher@^28.1.3: 1989 | version "28.1.3" 1990 | resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" 1991 | integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== 1992 | dependencies: 1993 | "@jest/test-result" "^28.1.3" 1994 | "@jest/types" "^28.1.3" 1995 | "@types/node" "*" 1996 | ansi-escapes "^4.2.1" 1997 | chalk "^4.0.0" 1998 | emittery "^0.10.2" 1999 | jest-util "^28.1.3" 2000 | string-length "^4.0.1" 2001 | 2002 | jest-worker@^28.1.3: 2003 | version "28.1.3" 2004 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" 2005 | integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== 2006 | dependencies: 2007 | "@types/node" "*" 2008 | merge-stream "^2.0.0" 2009 | supports-color "^8.0.0" 2010 | 2011 | jest@^28.1.3: 2012 | version "28.1.3" 2013 | resolved "https://registry.yarnpkg.com/jest/-/jest-28.1.3.tgz#e9c6a7eecdebe3548ca2b18894a50f45b36dfc6b" 2014 | integrity sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA== 2015 | dependencies: 2016 | "@jest/core" "^28.1.3" 2017 | "@jest/types" "^28.1.3" 2018 | import-local "^3.0.2" 2019 | jest-cli "^28.1.3" 2020 | 2021 | js-sha3@0.8.0: 2022 | version "0.8.0" 2023 | resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" 2024 | integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== 2025 | 2026 | js-tokens@^4.0.0: 2027 | version "4.0.0" 2028 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 2029 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 2030 | 2031 | js-yaml@^3.13.1: 2032 | version "3.14.1" 2033 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 2034 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 2035 | dependencies: 2036 | argparse "^1.0.7" 2037 | esprima "^4.0.0" 2038 | 2039 | jsesc@^2.5.1: 2040 | version "2.5.2" 2041 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 2042 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 2043 | 2044 | json-parse-even-better-errors@^2.3.0: 2045 | version "2.3.1" 2046 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 2047 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 2048 | 2049 | json5@^2.2.1, json5@^2.2.2: 2050 | version "2.2.3" 2051 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" 2052 | integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== 2053 | 2054 | jsonpointer@^5.0.0: 2055 | version "5.0.1" 2056 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559" 2057 | integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== 2058 | 2059 | kleur@^3.0.3: 2060 | version "3.0.3" 2061 | resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" 2062 | integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== 2063 | 2064 | leven@^3.1.0: 2065 | version "3.1.0" 2066 | resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" 2067 | integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== 2068 | 2069 | lines-and-columns@^1.1.6: 2070 | version "1.2.4" 2071 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 2072 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 2073 | 2074 | locate-path@^5.0.0: 2075 | version "5.0.0" 2076 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 2077 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 2078 | dependencies: 2079 | p-locate "^4.1.0" 2080 | 2081 | lodash.memoize@4.x: 2082 | version "4.1.2" 2083 | resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" 2084 | integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== 2085 | 2086 | lru-cache@^5.1.1: 2087 | version "5.1.1" 2088 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 2089 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== 2090 | dependencies: 2091 | yallist "^3.0.2" 2092 | 2093 | lru-cache@^6.0.0: 2094 | version "6.0.0" 2095 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 2096 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 2097 | dependencies: 2098 | yallist "^4.0.0" 2099 | 2100 | make-dir@^3.0.0: 2101 | version "3.1.0" 2102 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 2103 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 2104 | dependencies: 2105 | semver "^6.0.0" 2106 | 2107 | make-error@1.x: 2108 | version "1.3.6" 2109 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 2110 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 2111 | 2112 | makeerror@1.0.12: 2113 | version "1.0.12" 2114 | resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" 2115 | integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== 2116 | dependencies: 2117 | tmpl "1.0.5" 2118 | 2119 | merge-stream@^2.0.0: 2120 | version "2.0.0" 2121 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 2122 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 2123 | 2124 | micromatch@^4.0.4: 2125 | version "4.0.5" 2126 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 2127 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 2128 | dependencies: 2129 | braces "^3.0.2" 2130 | picomatch "^2.3.1" 2131 | 2132 | mimic-fn@^2.1.0: 2133 | version "2.1.0" 2134 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 2135 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 2136 | 2137 | minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: 2138 | version "1.0.1" 2139 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" 2140 | integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== 2141 | 2142 | minimalistic-crypto-utils@^1.0.1: 2143 | version "1.0.1" 2144 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 2145 | integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== 2146 | 2147 | minimatch@^3.0.4, minimatch@^3.1.1: 2148 | version "3.1.2" 2149 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 2150 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 2151 | dependencies: 2152 | brace-expansion "^1.1.7" 2153 | 2154 | ms@2.1.2: 2155 | version "2.1.2" 2156 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2157 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 2158 | 2159 | natural-compare@^1.4.0: 2160 | version "1.4.0" 2161 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2162 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 2163 | 2164 | node-fetch@2.6.7: 2165 | version "2.6.7" 2166 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" 2167 | integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== 2168 | dependencies: 2169 | whatwg-url "^5.0.0" 2170 | 2171 | node-int64@^0.4.0: 2172 | version "0.4.0" 2173 | resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" 2174 | integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== 2175 | 2176 | node-releases@^2.0.6: 2177 | version "2.0.8" 2178 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" 2179 | integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== 2180 | 2181 | normalize-path@^3.0.0: 2182 | version "3.0.0" 2183 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 2184 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 2185 | 2186 | npm-run-path@^4.0.1: 2187 | version "4.0.1" 2188 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 2189 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 2190 | dependencies: 2191 | path-key "^3.0.0" 2192 | 2193 | once@^1.3.0: 2194 | version "1.4.0" 2195 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2196 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 2197 | dependencies: 2198 | wrappy "1" 2199 | 2200 | onetime@^5.1.2: 2201 | version "5.1.2" 2202 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 2203 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 2204 | dependencies: 2205 | mimic-fn "^2.1.0" 2206 | 2207 | p-limit@^2.2.0: 2208 | version "2.3.0" 2209 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 2210 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 2211 | dependencies: 2212 | p-try "^2.0.0" 2213 | 2214 | p-limit@^3.1.0: 2215 | version "3.1.0" 2216 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 2217 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 2218 | dependencies: 2219 | yocto-queue "^0.1.0" 2220 | 2221 | p-locate@^4.1.0: 2222 | version "4.1.0" 2223 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 2224 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 2225 | dependencies: 2226 | p-limit "^2.2.0" 2227 | 2228 | p-try@^2.0.0: 2229 | version "2.2.0" 2230 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 2231 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 2232 | 2233 | parse-json@^5.2.0: 2234 | version "5.2.0" 2235 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 2236 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 2237 | dependencies: 2238 | "@babel/code-frame" "^7.0.0" 2239 | error-ex "^1.3.1" 2240 | json-parse-even-better-errors "^2.3.0" 2241 | lines-and-columns "^1.1.6" 2242 | 2243 | path-exists@^4.0.0: 2244 | version "4.0.0" 2245 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 2246 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 2247 | 2248 | path-is-absolute@^1.0.0: 2249 | version "1.0.1" 2250 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2251 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 2252 | 2253 | path-key@^3.0.0, path-key@^3.1.0: 2254 | version "3.1.1" 2255 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2256 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2257 | 2258 | path-parse@^1.0.7: 2259 | version "1.0.7" 2260 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 2261 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 2262 | 2263 | picocolors@^1.0.0: 2264 | version "1.0.0" 2265 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 2266 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 2267 | 2268 | picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: 2269 | version "2.3.1" 2270 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 2271 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 2272 | 2273 | pirates@^4.0.4: 2274 | version "4.0.5" 2275 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" 2276 | integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== 2277 | 2278 | pkg-dir@^4.2.0: 2279 | version "4.2.0" 2280 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 2281 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 2282 | dependencies: 2283 | find-up "^4.0.0" 2284 | 2285 | pretty-format@^28.1.3: 2286 | version "28.1.3" 2287 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" 2288 | integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== 2289 | dependencies: 2290 | "@jest/schemas" "^28.1.3" 2291 | ansi-regex "^5.0.1" 2292 | ansi-styles "^5.0.0" 2293 | react-is "^18.0.0" 2294 | 2295 | prompts@^2.0.1: 2296 | version "2.4.2" 2297 | resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" 2298 | integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== 2299 | dependencies: 2300 | kleur "^3.0.3" 2301 | sisteransi "^1.0.5" 2302 | 2303 | react-is@^18.0.0: 2304 | version "18.2.0" 2305 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" 2306 | integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== 2307 | 2308 | require-directory@^2.1.1: 2309 | version "2.1.1" 2310 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2311 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== 2312 | 2313 | resolve-cwd@^3.0.0: 2314 | version "3.0.0" 2315 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" 2316 | integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== 2317 | dependencies: 2318 | resolve-from "^5.0.0" 2319 | 2320 | resolve-from@^5.0.0: 2321 | version "5.0.0" 2322 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 2323 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 2324 | 2325 | resolve.exports@^1.1.0: 2326 | version "1.1.1" 2327 | resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" 2328 | integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== 2329 | 2330 | resolve@^1.20.0: 2331 | version "1.22.1" 2332 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 2333 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 2334 | dependencies: 2335 | is-core-module "^2.9.0" 2336 | path-parse "^1.0.7" 2337 | supports-preserve-symlinks-flag "^1.0.0" 2338 | 2339 | rimraf@^3.0.0: 2340 | version "3.0.2" 2341 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 2342 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 2343 | dependencies: 2344 | glob "^7.1.3" 2345 | 2346 | semver@7.x, semver@^7.3.5: 2347 | version "7.3.8" 2348 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" 2349 | integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== 2350 | dependencies: 2351 | lru-cache "^6.0.0" 2352 | 2353 | semver@^6.0.0, semver@^6.3.0: 2354 | version "6.3.0" 2355 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 2356 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 2357 | 2358 | setimmediate@^1.0.5: 2359 | version "1.0.5" 2360 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 2361 | integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== 2362 | 2363 | shebang-command@^2.0.0: 2364 | version "2.0.0" 2365 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 2366 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2367 | dependencies: 2368 | shebang-regex "^3.0.0" 2369 | 2370 | shebang-regex@^3.0.0: 2371 | version "3.0.0" 2372 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 2373 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2374 | 2375 | signal-exit@^3.0.3, signal-exit@^3.0.7: 2376 | version "3.0.7" 2377 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" 2378 | integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== 2379 | 2380 | sisteransi@^1.0.5: 2381 | version "1.0.5" 2382 | resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" 2383 | integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== 2384 | 2385 | slash@^3.0.0: 2386 | version "3.0.0" 2387 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 2388 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 2389 | 2390 | source-map-support@0.5.13: 2391 | version "0.5.13" 2392 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" 2393 | integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== 2394 | dependencies: 2395 | buffer-from "^1.0.0" 2396 | source-map "^0.6.0" 2397 | 2398 | source-map@^0.6.0, source-map@^0.6.1: 2399 | version "0.6.1" 2400 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 2401 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 2402 | 2403 | sprintf-js@~1.0.2: 2404 | version "1.0.3" 2405 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2406 | integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== 2407 | 2408 | stack-utils@^2.0.3: 2409 | version "2.0.6" 2410 | resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" 2411 | integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== 2412 | dependencies: 2413 | escape-string-regexp "^2.0.0" 2414 | 2415 | string-length@^4.0.1: 2416 | version "4.0.2" 2417 | resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" 2418 | integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== 2419 | dependencies: 2420 | char-regex "^1.0.2" 2421 | strip-ansi "^6.0.0" 2422 | 2423 | string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: 2424 | version "4.2.3" 2425 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 2426 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 2427 | dependencies: 2428 | emoji-regex "^8.0.0" 2429 | is-fullwidth-code-point "^3.0.0" 2430 | strip-ansi "^6.0.1" 2431 | 2432 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 2433 | version "6.0.1" 2434 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 2435 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2436 | dependencies: 2437 | ansi-regex "^5.0.1" 2438 | 2439 | strip-bom@^4.0.0: 2440 | version "4.0.0" 2441 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" 2442 | integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== 2443 | 2444 | strip-final-newline@^2.0.0: 2445 | version "2.0.0" 2446 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 2447 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 2448 | 2449 | strip-json-comments@^3.1.1: 2450 | version "3.1.1" 2451 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 2452 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 2453 | 2454 | supports-color@^5.3.0: 2455 | version "5.5.0" 2456 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2457 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2458 | dependencies: 2459 | has-flag "^3.0.0" 2460 | 2461 | supports-color@^7.0.0, supports-color@^7.1.0: 2462 | version "7.2.0" 2463 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 2464 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2465 | dependencies: 2466 | has-flag "^4.0.0" 2467 | 2468 | supports-color@^8.0.0: 2469 | version "8.1.1" 2470 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 2471 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 2472 | dependencies: 2473 | has-flag "^4.0.0" 2474 | 2475 | supports-hyperlinks@^2.0.0: 2476 | version "2.3.0" 2477 | resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" 2478 | integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== 2479 | dependencies: 2480 | has-flag "^4.0.0" 2481 | supports-color "^7.0.0" 2482 | 2483 | supports-preserve-symlinks-flag@^1.0.0: 2484 | version "1.0.0" 2485 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 2486 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2487 | 2488 | terminal-link@^2.0.0: 2489 | version "2.1.1" 2490 | resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" 2491 | integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== 2492 | dependencies: 2493 | ansi-escapes "^4.2.1" 2494 | supports-hyperlinks "^2.0.0" 2495 | 2496 | test-exclude@^6.0.0: 2497 | version "6.0.0" 2498 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" 2499 | integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== 2500 | dependencies: 2501 | "@istanbuljs/schema" "^0.1.2" 2502 | glob "^7.1.4" 2503 | minimatch "^3.0.4" 2504 | 2505 | tmpl@1.0.5: 2506 | version "1.0.5" 2507 | resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" 2508 | integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== 2509 | 2510 | to-fast-properties@^2.0.0: 2511 | version "2.0.0" 2512 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 2513 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 2514 | 2515 | to-regex-range@^5.0.1: 2516 | version "5.0.1" 2517 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2518 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2519 | dependencies: 2520 | is-number "^7.0.0" 2521 | 2522 | tr46@~0.0.3: 2523 | version "0.0.3" 2524 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 2525 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== 2526 | 2527 | ts-jest@^28.0.7: 2528 | version "28.0.8" 2529 | resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-28.0.8.tgz#cd204b8e7a2f78da32cf6c95c9a6165c5b99cc73" 2530 | integrity sha512-5FaG0lXmRPzApix8oFG8RKjAz4ehtm8yMKOTy5HX3fY6W8kmvOrmcY0hKDElW52FJov+clhUbrKAqofnj4mXTg== 2531 | dependencies: 2532 | bs-logger "0.x" 2533 | fast-json-stable-stringify "2.x" 2534 | jest-util "^28.0.0" 2535 | json5 "^2.2.1" 2536 | lodash.memoize "4.x" 2537 | make-error "1.x" 2538 | semver "7.x" 2539 | yargs-parser "^21.0.1" 2540 | 2541 | type-detect@4.0.8: 2542 | version "4.0.8" 2543 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 2544 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 2545 | 2546 | type-fest@^0.21.3: 2547 | version "0.21.3" 2548 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" 2549 | integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== 2550 | 2551 | update-browserslist-db@^1.0.9: 2552 | version "1.0.10" 2553 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" 2554 | integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== 2555 | dependencies: 2556 | escalade "^3.1.1" 2557 | picocolors "^1.0.0" 2558 | 2559 | util@^0.12.5: 2560 | version "0.12.5" 2561 | resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" 2562 | integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== 2563 | dependencies: 2564 | inherits "^2.0.3" 2565 | is-arguments "^1.0.4" 2566 | is-generator-function "^1.0.7" 2567 | is-typed-array "^1.1.3" 2568 | which-typed-array "^1.1.2" 2569 | 2570 | v8-to-istanbul@^9.0.1: 2571 | version "9.0.1" 2572 | resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" 2573 | integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== 2574 | dependencies: 2575 | "@jridgewell/trace-mapping" "^0.3.12" 2576 | "@types/istanbul-lib-coverage" "^2.0.1" 2577 | convert-source-map "^1.6.0" 2578 | 2579 | walker@^1.0.8: 2580 | version "1.0.8" 2581 | resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" 2582 | integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== 2583 | dependencies: 2584 | makeerror "1.0.12" 2585 | 2586 | web3-core@^4.0.3: 2587 | version "4.0.3" 2588 | resolved "http://localhost:4873/web3-core/-/web3-core-4.0.3.tgz#eab6cc23a43ff202d8f38bbd9801a7a2ec750cc2" 2589 | integrity sha512-KJaH1+ajm/gelvhImkXZx8HrBaGZDERqhOCRpikuwReVDTf4X3TlXqF+oKt153qf5HUXWR4CUL6NkNKNQWjhbA== 2590 | dependencies: 2591 | web3-errors "^1.0.2" 2592 | web3-eth-iban "^4.0.3" 2593 | web3-providers-http "^4.0.3" 2594 | web3-providers-ws "^4.0.3" 2595 | web3-types "^1.0.2" 2596 | web3-utils "^4.0.3" 2597 | web3-validator "^1.0.2" 2598 | optionalDependencies: 2599 | web3-providers-ipc "^4.0.3" 2600 | 2601 | web3-errors@^1.0.2: 2602 | version "1.0.2" 2603 | resolved "http://localhost:4873/web3-errors/-/web3-errors-1.0.2.tgz#e8ce6e22dfdfd9aeaf8d7535653e55b094b5accd" 2604 | integrity sha512-LtRUASAQKeCKyxHRhfyU5xiE9asUmo7KJ9bEzzaPlkVYLl5lzhUXzd6lvnQfSaSXJnlzoUXvhI5I0Hpzc8Lohg== 2605 | dependencies: 2606 | web3-types "^1.0.2" 2607 | 2608 | web3-eth-abi@^4.0.3: 2609 | version "4.0.3" 2610 | resolved "http://localhost:4873/web3-eth-abi/-/web3-eth-abi-4.0.3.tgz#cc06cc39868d8bcc181528aa46ae9d5c80ed93b6" 2611 | integrity sha512-is1sKkTna5LQri25iRbxJ43kQ6qlFR/Syi6dnpwsFua0qAyKuDTxLZDoMaBfdH8NvxvjuGWFUWALwuSk8gk5Xg== 2612 | dependencies: 2613 | "@ethersproject/abi" "^5.7.0" 2614 | "@ethersproject/bignumber" "^5.7.0" 2615 | web3-errors "^1.0.2" 2616 | web3-types "^1.0.2" 2617 | web3-utils "^4.0.3" 2618 | 2619 | web3-eth-accounts@^4.0.3: 2620 | version "4.0.3" 2621 | resolved "http://localhost:4873/web3-eth-accounts/-/web3-eth-accounts-4.0.3.tgz#7e570b3170aca052b358975235637a94b5313826" 2622 | integrity sha512-qS4r25weJYlKzHPIneL3g33LG+I6QkRCs25ZtooK6elurlZY4HyRE04BIWv12xZswtsvdmMt4HysMUNKgLrgPg== 2623 | dependencies: 2624 | "@ethereumjs/rlp" "^4.0.1" 2625 | crc-32 "^1.2.2" 2626 | ethereum-cryptography "^2.0.0" 2627 | web3-errors "^1.0.2" 2628 | web3-types "^1.0.2" 2629 | web3-utils "^4.0.3" 2630 | web3-validator "^1.0.2" 2631 | 2632 | web3-eth-contract@^4.0.3: 2633 | version "4.0.3" 2634 | resolved "http://localhost:4873/web3-eth-contract/-/web3-eth-contract-4.0.3.tgz#667e8f8052034f49a9130e0f286976bcf43c5d77" 2635 | integrity sha512-x8YsIVVUeONwLCnUmswk5KD3luYxaKuN/xnSzxpb8fE4/KBA6eJswYcIGPrK9QILrVR26yDV/QQpgLU1IJS14g== 2636 | dependencies: 2637 | web3-core "^4.0.3" 2638 | web3-errors "^1.0.2" 2639 | web3-eth "^4.0.3" 2640 | web3-eth-abi "^4.0.3" 2641 | web3-types "^1.0.2" 2642 | web3-utils "^4.0.3" 2643 | web3-validator "^1.0.2" 2644 | 2645 | web3-eth-ens@^4.0.3: 2646 | version "4.0.3" 2647 | resolved "http://localhost:4873/web3-eth-ens/-/web3-eth-ens-4.0.3.tgz#9b17bdcdc262ddcb5b9fd0b4893c0a9a56bf07ca" 2648 | integrity sha512-1tk1WWJB6lsViRFxHR9kt8qgfMV0cySeNBa8H/bZ9/HZ1G8L/c2cboVrG4D0QsPO1im1jQl4Cf3ceKH0PW1KZg== 2649 | dependencies: 2650 | "@adraffy/ens-normalize" "^1.8.8" 2651 | web3-core "^4.0.3" 2652 | web3-errors "^1.0.2" 2653 | web3-eth "^4.0.3" 2654 | web3-eth-contract "^4.0.3" 2655 | web3-net "^4.0.3" 2656 | web3-types "^1.0.2" 2657 | web3-utils "^4.0.3" 2658 | web3-validator "^1.0.2" 2659 | 2660 | web3-eth-iban@^4.0.3: 2661 | version "4.0.3" 2662 | resolved "http://localhost:4873/web3-eth-iban/-/web3-eth-iban-4.0.3.tgz#3fca87323c00a29f1b3870d397153803eb0bcf4e" 2663 | integrity sha512-9gn6fb034fh3DvQeutuhaG3J9+ZSriPC/O/H7K+lgUWJZh/lpaZy5A06nhHzNcleCWC07Q6J7d7VZlNjaBPtOA== 2664 | dependencies: 2665 | web3-errors "^1.0.2" 2666 | web3-types "^1.0.2" 2667 | web3-utils "^4.0.3" 2668 | web3-validator "^1.0.2" 2669 | 2670 | web3-eth-personal@^4.0.3: 2671 | version "4.0.3" 2672 | resolved "http://localhost:4873/web3-eth-personal/-/web3-eth-personal-4.0.3.tgz#df4c59bf2a0e07cd6966259d1312be6b5b61846e" 2673 | integrity sha512-Gugz45w/D4wlUNbUth8iHWkv0c5fFZGWZqFvpACJul0z9h0Ou8HzuJMUv3U0xFOQJF5fniVegfp6l0FJQ3hGrQ== 2674 | dependencies: 2675 | web3-core "^4.0.3" 2676 | web3-eth "^4.0.3" 2677 | web3-rpc-methods "^1.0.2" 2678 | web3-types "^1.0.2" 2679 | web3-utils "^4.0.3" 2680 | web3-validator "^1.0.2" 2681 | 2682 | web3-eth@^4.0.3: 2683 | version "4.0.3" 2684 | resolved "http://localhost:4873/web3-eth/-/web3-eth-4.0.3.tgz#b7f311eba95151f547ccce285893af9917da9e35" 2685 | integrity sha512-4t1+lpqzk3ljubr0CKE9Ila82p2Pim6Bn7ZIruVfMt9AOA5wL6M0OeMTy0fWBODLJiZJ7R77Ugm0kvEVWD3lqg== 2686 | dependencies: 2687 | setimmediate "^1.0.5" 2688 | web3-core "^4.0.3" 2689 | web3-errors "^1.0.2" 2690 | web3-eth-abi "^4.0.3" 2691 | web3-eth-accounts "^4.0.3" 2692 | web3-net "^4.0.3" 2693 | web3-providers-ws "^4.0.3" 2694 | web3-rpc-methods "^1.0.2" 2695 | web3-types "^1.0.2" 2696 | web3-utils "^4.0.3" 2697 | web3-validator "^1.0.2" 2698 | 2699 | web3-net@^4.0.3: 2700 | version "4.0.3" 2701 | resolved "http://localhost:4873/web3-net/-/web3-net-4.0.3.tgz#9aeed6fa3d48adcf63d8377900acbe3e64020154" 2702 | integrity sha512-qe+stvVgYhO8AiPgDykZW5gS4mZ3GRWdQ8xn3eTvderresIMvdZYSAoUla2jWl1CgpcqzaoOSO9Pf8t43fr8SA== 2703 | dependencies: 2704 | web3-core "^4.0.3" 2705 | web3-rpc-methods "^1.0.2" 2706 | web3-types "^1.0.2" 2707 | web3-utils "^4.0.3" 2708 | 2709 | web3-providers-http@^4.0.3: 2710 | version "4.0.3" 2711 | resolved "http://localhost:4873/web3-providers-http/-/web3-providers-http-4.0.3.tgz#c6c8364ed56c4183e6bed58de20c1972f513c7ae" 2712 | integrity sha512-5E6nKjWrwlJdhGImOxyTnFDT6UcZu4waO6AJrENBRh2vdoCfP/Piiv3PLywHs71gwTMsAjy6CNPL5lZdGf+JQA== 2713 | dependencies: 2714 | cross-fetch "^3.1.5" 2715 | web3-errors "^1.0.2" 2716 | web3-types "^1.0.2" 2717 | web3-utils "^4.0.3" 2718 | 2719 | web3-providers-ipc@^4.0.3: 2720 | version "4.0.3" 2721 | resolved "http://localhost:4873/web3-providers-ipc/-/web3-providers-ipc-4.0.3.tgz#d7af699a2afae0f7396d08ef8cc82b5ab4374398" 2722 | integrity sha512-v+Ugp5XXUVcAQju/u4ThdjI3FM9lq674F6cJ7yz3R6uTel+wNPDiT47Se8hvm5grgHid7z3MbVYCQpDCiiAFHw== 2723 | dependencies: 2724 | web3-errors "^1.0.2" 2725 | web3-types "^1.0.2" 2726 | web3-utils "^4.0.3" 2727 | 2728 | web3-providers-ws@^4.0.3: 2729 | version "4.0.3" 2730 | resolved "http://localhost:4873/web3-providers-ws/-/web3-providers-ws-4.0.3.tgz#c611a0ae81ac022d8ccb01f71da761f7b4decd85" 2731 | integrity sha512-V2bYiMvhv+xBYxFdf8V1zGTwhJoAkBQNMECVGNjQIz1qBKuqu6hXHasmkYSJV780LD6qoL58KlfTggjf4SUSaA== 2732 | dependencies: 2733 | "@types/ws" "^8.5.3" 2734 | isomorphic-ws "^5.0.0" 2735 | web3-errors "^1.0.2" 2736 | web3-types "^1.0.2" 2737 | web3-utils "^4.0.3" 2738 | ws "^8.8.1" 2739 | 2740 | web3-rpc-methods@^1.0.2: 2741 | version "1.0.2" 2742 | resolved "http://localhost:4873/web3-rpc-methods/-/web3-rpc-methods-1.0.2.tgz#3ff35c5d4e38ad31ef3cf77eb3fe2fd08e2a3f4a" 2743 | integrity sha512-VhLHvgR62JUNgo0op8hP4LcRkvdF0WaHD9xhcEKGLcri9VfYvR1yTZ3CVh6NTgRCmfDePObbp5blHfbla1cC5Q== 2744 | dependencies: 2745 | web3-core "^4.0.3" 2746 | web3-types "^1.0.2" 2747 | web3-validator "^1.0.2" 2748 | 2749 | web3-types@^1.0.2: 2750 | version "1.0.2" 2751 | resolved "http://localhost:4873/web3-types/-/web3-types-1.0.2.tgz#1655a400d31984153fc26ca1f8960f547ca1f2df" 2752 | integrity sha512-tLzA9vevGGWdHlxXvPRJjEIIR0UnZBI5Kq9qiENRS/vSekTHAHp7u+WGDxt+6kP105gKlbep50TogQIvJqLfnA== 2753 | 2754 | web3-utils@^4.0.3: 2755 | version "4.0.3" 2756 | resolved "http://localhost:4873/web3-utils/-/web3-utils-4.0.3.tgz#80c077e56c0841528ea4513c67d83e460217b379" 2757 | integrity sha512-clBvm/vWR2mAc9nPnsPYBZMikIhVG9RAsXdrxvXI4e2jAQ3DTtHKMhqy+Cl214dQaAdAEYyVb5ILW5lKKqk2vA== 2758 | dependencies: 2759 | ethereum-cryptography "^2.0.0" 2760 | web3-errors "^1.0.2" 2761 | web3-types "^1.0.2" 2762 | web3-validator "^1.0.2" 2763 | 2764 | web3-validator@^1.0.2: 2765 | version "1.0.2" 2766 | resolved "http://localhost:4873/web3-validator/-/web3-validator-1.0.2.tgz#ca7d247b49f4f690db86e5b953272a627dc5950a" 2767 | integrity sha512-orx1CQAEnwJUnl/8iF2II2zSA4wiooNJvFmVE0Dbmt/kE370SugIDViQP76snhxtouG2AXzz4GyKbPCMlLGh/A== 2768 | dependencies: 2769 | ethereum-cryptography "^2.0.0" 2770 | is-my-json-valid "^2.20.6" 2771 | util "^0.12.5" 2772 | web3-errors "^1.0.2" 2773 | web3-types "^1.0.2" 2774 | 2775 | web3@^4.0.3: 2776 | version "4.0.3" 2777 | resolved "http://localhost:4873/web3/-/web3-4.0.3.tgz#afeb977c9f883ff683d630ab9f5937eb56bc7cf4" 2778 | integrity sha512-rUMxui5f52yPWjiMRQV6xqIrTQSovYM2CNhl57y+xj/fGXNLbI1D5FsLPnUMZjMaFHJBTteaBxq/sTEaw/1jNA== 2779 | dependencies: 2780 | web3-core "^4.0.3" 2781 | web3-errors "^1.0.2" 2782 | web3-eth "^4.0.3" 2783 | web3-eth-abi "^4.0.3" 2784 | web3-eth-accounts "^4.0.3" 2785 | web3-eth-contract "^4.0.3" 2786 | web3-eth-ens "^4.0.3" 2787 | web3-eth-iban "^4.0.3" 2788 | web3-eth-personal "^4.0.3" 2789 | web3-net "^4.0.3" 2790 | web3-providers-http "^4.0.3" 2791 | web3-providers-ws "^4.0.3" 2792 | web3-rpc-methods "^1.0.2" 2793 | web3-types "^1.0.2" 2794 | web3-utils "^4.0.3" 2795 | web3-validator "^1.0.2" 2796 | 2797 | webidl-conversions@^3.0.0: 2798 | version "3.0.1" 2799 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 2800 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== 2801 | 2802 | whatwg-url@^5.0.0: 2803 | version "5.0.0" 2804 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" 2805 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== 2806 | dependencies: 2807 | tr46 "~0.0.3" 2808 | webidl-conversions "^3.0.0" 2809 | 2810 | which-typed-array@^1.1.2: 2811 | version "1.1.9" 2812 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" 2813 | integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== 2814 | dependencies: 2815 | available-typed-arrays "^1.0.5" 2816 | call-bind "^1.0.2" 2817 | for-each "^0.3.3" 2818 | gopd "^1.0.1" 2819 | has-tostringtag "^1.0.0" 2820 | is-typed-array "^1.1.10" 2821 | 2822 | which@^2.0.1: 2823 | version "2.0.2" 2824 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2825 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2826 | dependencies: 2827 | isexe "^2.0.0" 2828 | 2829 | wrap-ansi@^7.0.0: 2830 | version "7.0.0" 2831 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 2832 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2833 | dependencies: 2834 | ansi-styles "^4.0.0" 2835 | string-width "^4.1.0" 2836 | strip-ansi "^6.0.0" 2837 | 2838 | wrappy@1: 2839 | version "1.0.2" 2840 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2841 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 2842 | 2843 | write-file-atomic@^4.0.1: 2844 | version "4.0.2" 2845 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" 2846 | integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== 2847 | dependencies: 2848 | imurmurhash "^0.1.4" 2849 | signal-exit "^3.0.7" 2850 | 2851 | ws@^8.8.1: 2852 | version "8.12.0" 2853 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" 2854 | integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== 2855 | 2856 | xtend@^4.0.0: 2857 | version "4.0.2" 2858 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 2859 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 2860 | 2861 | y18n@^5.0.5: 2862 | version "5.0.8" 2863 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 2864 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 2865 | 2866 | yallist@^3.0.2: 2867 | version "3.1.1" 2868 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 2869 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== 2870 | 2871 | yallist@^4.0.0: 2872 | version "4.0.0" 2873 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2874 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2875 | 2876 | yargs-parser@^21.0.1, yargs-parser@^21.1.1: 2877 | version "21.1.1" 2878 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" 2879 | integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== 2880 | 2881 | yargs@^17.3.1: 2882 | version "17.6.2" 2883 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" 2884 | integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== 2885 | dependencies: 2886 | cliui "^8.0.1" 2887 | escalade "^3.1.1" 2888 | get-caller-file "^2.0.5" 2889 | require-directory "^2.1.1" 2890 | string-width "^4.2.3" 2891 | y18n "^5.0.5" 2892 | yargs-parser "^21.1.1" 2893 | 2894 | yocto-queue@^0.1.0: 2895 | version "0.1.0" 2896 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 2897 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 2898 | --------------------------------------------------------------------------------