diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 84c2e57..0000000 --- a/.babelrc +++ /dev/null @@ -1,16 +0,0 @@ -{ - "env": { - "test": { - "presets": [ - [ - "@babel/preset-env", - { - "targets": { - "node": "current" - } - } - ] - ] - } - } -} diff --git a/.env.example b/.env.example deleted file mode 100644 index 434d682..0000000 --- a/.env.example +++ /dev/null @@ -1,15 +0,0 @@ -PINATA_API_KEY= -PINATA_SECRET_API_KEY= - -INFURA_KEY= - -ALCHEMY_MAINNET_KEY= -ALCHEMY_POLYGON_KEY= -ALCHEMY_OPTIMISM_KEY= -ALCHEMY_ARBITRUM_KEY= -ALCHEMY_GOERLI_KEY= - -WC_BRIDGE= - -STORE_NAME= -APP_ENS_NAME= diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 3b63a4a..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,20 +0,0 @@ -module.exports = { - root: true, - env: { - browser: true, - node: true, - es2020: true - }, - parserOptions: { - parser: 'babel-eslint' - }, - extends: ['@nuxtjs', 'plugin:nuxt/recommended', 'plugin:prettier/recommended', 'prettier', 'prettier/vue'], - plugins: ['prettier'], - // add your custom rules here - rules: { - 'prettier/prettier': ['error', { printWidth: 110 }], - 'no-async-promise-executor': 'off', - 'vue/comment-directive': 'off', - 'no-console': 'off' - } -} diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md deleted file mode 100644 index 1f34fca..0000000 --- a/.github/CONTRIBUTING.md +++ /dev/null @@ -1,12 +0,0 @@ -# Welcome to TornadoCash! - -If you're submitting code to TornadoCash, there are some simple things we'd appreciate you doing to help us stay organized! - -### Finding the right project - -Before taking the time to code and implement something, feel free to open an issue and discuss it! There may even be an issue already open, and together we may come up with a specific strategy before you take your precious time to write code. - -### Submitting a pull request -Please try not to include multiple features in a single PR, and don't make extraneous changes outside the scope of your contribution. All those touched files make things harder to review. - -And that's it! Thanks for helping out. diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml deleted file mode 100644 index a04eba7..0000000 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ /dev/null @@ -1,103 +0,0 @@ -name: Bug Report -description: Using TornadoCash, but it's not working as you expect? -title: "[Bug]: " -labels: ["bug"] -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to fill out this bug report! - - ## **Before Submitting:** - - * Save your note, clear your cache, use a different connection or VPN, and try again. - * If the error persists reach out to [customer support](https://discord.com/invite/TFDrM8K42j). - * Please search to make sure this issue has not been opened already. - - type: textarea - id: what-happened - attributes: - label: Describe the bug - description: What happened? What did you expect to happen? Please include screenshots if applicable! - placeholder: Tell us what you see! - validations: - required: true - - type: textarea - id: reproduce - attributes: - label: Steps to reproduce - description: List all steps needed to reproduce the problem - value: | - 1. - validations: - required: true - - type: textarea - id: error - attributes: - label: Error messages or log output - description: Please copy and paste any relevant error messages or log output. This will be automatically formatted, so there is no need for backticks. - render: shell - - type: input - id: source - attributes: - label: Source - description: What gateway are you using? - - type: input - id: wallet - attributes: - label: Wallet - description: What wallet and which version are you running? - validations: - required: true - - type: input - id: version - attributes: - label: TornadoCash version - description: Which version of TornadoCash are you running ? - validations: - required: true - - type: dropdown - id: browsers - attributes: - label: Browser - description: Which browsers have you seen the problem on? - multiple: true - options: - - Chrome - - Firefox - - Microsoft Edge - - Brave - - TOR - - Other (please elaborate in the "Additional Context" section) - validations: - required: true - - type: dropdown - id: os - attributes: - label: Operating system - description: Which operating systems have you seen the problem on? - multiple: true - options: - - Windows - - MacOS - - Linux - - Other (please elaborate in the "Additional Context" section) - validations: - required: true - - type: dropdown - id: hardware-wallet - attributes: - label: Hardware wallet - description: Are you using any of these hardware wallets? Please include the firmware version in the "Additional context" section below for any that you select here. - multiple: true - options: - - Ledger - - Trezor - - Keystone - - GridPlus Lattice1 - - AirGap Vault - - Other (please elaborate in the "Additional Context" section) - - type: textarea - id: additional - attributes: - label: Additional context - description: Add any other context about the problem here, e.g. related issues, additional error messages or logs, or any potentially relevant details about the environment or situation the bug occurred in. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 770941b..0000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,8 +0,0 @@ -blank_issues_enabled: false -contact_links: - - name: Request a new feature - url: https://torn.community/ - about: Request new features and vote on the ones that are important to you. - - name: Get support or ask a question - url: https://discord.com/invite/TFDrM8K42j - about: Join Discord community server to get help and ask questions diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 9be3f8e..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,40 +0,0 @@ -## Explanation - - - -## More information - - - -## Screenshots/Screencaps - - - -### Before - - - -### After - - - -## Manual testing steps - - diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml deleted file mode 100644 index 8b02d5d..0000000 --- a/.github/workflows/nodejs.yml +++ /dev/null @@ -1,142 +0,0 @@ -# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions - -name: Node.js CI - -on: - push: - branches: [master] - -jobs: - cleanup: - runs-on: ubuntu-latest - timeout-minutes: 10 - steps: - - name: Remove old artifacts - uses: c-hive/gha-remove-artifacts@v1 - with: - age: 0 days - skip-tags: true - skip-recent: 2 - - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - with: - node-version: 14 - - run: yarn install - - name: Linting JS - run: yarn lint - - name: Build - run: yarn generate - env: - INFURA_KEY: ${{ secrets.INFURA_KEY }} - ALCHEMY_MAINNET_KEY: ${{ secrets.ALCHEMY_MAINNET_KEY }} - ALCHEMY_POLYGON_KEY: ${{ secrets.ALCHEMY_POLYGON_KEY }} - ALCHEMY_OPTIMISM_KEY: ${{ secrets.ALCHEMY_OPTIMISM_KEY }} - ALCHEMY_ARBITRUM_KEY: ${{ secrets.ALCHEMY_ARBITRUM_KEY }} - ALCHEMY_GOERLI_KEY: ${{ secrets.ALCHEMY_GOERLI_KEY }} - WC_BRIDGE: ${{ secrets.WC_BRIDGE }} - OLD_STORE_NAME: ${{ secrets.OLD_STORE_NAME }} - STORE_NAME: ${{ secrets.STORE_NAME }} - APP_ENS_NAME: ${{ secrets.APP_ENS_NAME }} - - name: Upload artefact - uses: actions/upload-artifact@v1.0.0 - with: - name: dist - path: dist - - deploy-minified: - runs-on: ubuntu-latest - needs: build - steps: - - name: Download artifact `dist` - uses: actions/download-artifact@v1 - with: - name: dist - - name: Add SSH key - uses: webfactory/ssh-agent@v0.2.0 - env: - ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' - with: - ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - - name: Add git remote - run: | - git init - git config --local user.email "actions@github.com" - git config --local user.name "GitHub" - echo dist > .gitignore && git add .gitignore && git commit -m push-dir - git remote add ui git@github.com:tornadocash/ui-minified.git - - name: Deploying... - run: npx push-dir --dir=dist --branch=master --cleanup --remote=ui - - deploy-docker: - runs-on: ubuntu-latest - needs: build - steps: - - uses: actions/checkout@v2 - - name: Download artifact `dist` - uses: actions/download-artifact@v1 - with: - name: dist - - name: Build and push Docker image - uses: docker/build-push-action@v1.1.0 - with: - path: dist - dockerfile: Dockerfile - repository: tornadocash/ui - tags: latest - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_TOKEN }} - - deploy-ipfs: - runs-on: ubuntu-latest - needs: build - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - with: - node-version: 14 - - run: yarn install - - name: Download artifact `dist` - uses: actions/download-artifact@v1 - with: - name: dist - - name: Upload to IPFS - id: upload - run: yarn ipfsUpload dist - env: - PINATA_API_KEY: ${{ secrets.PINATA_API_KEY }} - PINATA_SECRET_API_KEY: ${{ secrets.PINATA_SECRET_API_KEY }} - - notify: - runs-on: ubuntu-latest - if: always() - needs: - - deploy-minified - - deploy-docker - - deploy-ipfs - steps: - # ${{ env.WORKFLOW_CONCLUSION }} # neutral, success, cancelled, timed_out, failure - - uses: technote-space/workflow-conclusion-action@v2 - - name: Set short SHA - id: vars - run: echo "::set-output name=sha_short::$(echo ${GITHUB_SHA:0:7})" - - name: Telegram Message Notify - uses: appleboy/telegram-action@v0.1.1 - if: ${{ env.WORKFLOW_CONCLUSION == 'success' }} - with: - to: ${{ secrets.TELEGRAM_CHAT_ID }} - token: ${{ secrets.TELEGRAM_BOT_TOKEN}} - message: 🚀 Deployed commit [${{ steps.vars.outputs.sha_short }}](https://github.com/tornadocash/tornado-cash-ui/commit/${{ github.sha }}) of tornado.cash UI - format: markdown - - name: Telegram Failure Notification - uses: appleboy/telegram-action@v0.1.1 - if: ${{ env.WORKFLOW_CONCLUSION == 'failure' || env.WORKFLOW_CONCLUSION == 'timed_out' || env.WORKFLOW_CONCLUSION == 'neutral' }} - with: - message: ❗ Build failed for [${{ github.repository }}](https://github.com/${{ github.repository }}/actions) because of ${{ github.actor }} - format: markdown - to: ${{ secrets.TELEGRAM_CHAT_ID }} - token: ${{ secrets.TELEGRAM_BOT_TOKEN }} diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 8d22b19..0000000 --- a/.gitignore +++ /dev/null @@ -1,89 +0,0 @@ -# Created by .ignore support plugin (hsz.mobi) -### Node template -# Logs -.vscode -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# next.js build output -.next - -# nuxt.js build output -.nuxt - -# Nuxt generate -dist - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless - -# IDE / Editor -.idea -.editorconfig - -# Service worker -sw.* - -# Mac OSX -.DS_Store diff --git a/.nvmrc b/.nvmrc deleted file mode 100644 index 8351c19..0000000 --- a/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -14 diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 19d94ee..0000000 --- a/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "semi": false, - "arrowParens": "always", - "singleQuote": true, - "printWidth": 110 -} diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 466058f..0000000 --- a/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM nginx:alpine -RUN rm /usr/share/nginx/html/* -COPY . /usr/share/nginx/html diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 7e5cbe5..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 Tornado Cash - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index f1235b3..0000000 --- a/README.md +++ /dev/null @@ -1,59 +0,0 @@ -# Tornado Cash Classic UI - -> UI for non-custodial Ethereum Privacy solution - -## Building locally - -- Install [Node.js](https://nodejs.org) version 14 - - If you are using [nvm](https://github.com/creationix/nvm#installation) (recommended) running `nvm use` will automatically choose the right node version for you. -- Install [Yarn](https://yarnpkg.com/en/docs/install) -- Install dependencies: `yarn` -- Copy the `.env.example` file to `.env` - - Replace environment variables with your own personal. -- Build the project to the `./dist/` folder with `yarn generate`. - -## Development builds - -To start a development build (e.g. with logging and file watching) run `yarn dev`. - -## Deploy on IPFS - -- Make sure you set `PINATA_API_KEY` and `PINATA_SECRET_API_KEY` environment variables in `.env` -- To deploy a production build run `yarn deploy-ipfs`. - -## Architecture - -For detailed explanation on how things work, checkout [Nuxt.js docs](https://nuxtjs.org). - -## Audit - -[TornadoCash_Classic_dApp_audit_Decurity.pdf](https://ipfs.io/ipfs/QmXzmwfsb4GwzmPD7W9VDNHh7ttyYKgXCY74973QMZqBDA) - -## Update cached files - -- For update deposits and withdrawals events use `yarn update:events {chainId}` -- For update encrypted notes use `yarn update:encrypted {chainId}` -- For update merkle tree use `yarn update:tree {chainId}` - -#### NOTE! - -After update cached files do not forget to use `yarn update:zip` - -### Example for Ethereum Mainnet: - -``` -yarn update:events 1 -yarn update:encrypted 1 -yarn update:tree 1 - -yarn update:zip -``` - -### Example for Binance Smart Chain: - -``` -yarn update:events 56 -yarn update:encrypted 56 - -yarn update:zip -``` diff --git a/abis/Aggregator.abi.json b/abis/Aggregator.abi.json deleted file mode 100644 index 9f5c24c..0000000 --- a/abis/Aggregator.abi.json +++ /dev/null @@ -1,208 +0,0 @@ -[ - { - "inputs": [], - "name": "ensRegistry", - "outputs": [ - { - "internalType": "contract ENSRegistry", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract Governance", - "name": "governance", - "type": "address" - } - ], - "name": "getAllProposals", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "proposer", - "type": "address" - }, - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "startTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "forVotes", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "againstVotes", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "executed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "extended", - "type": "bool" - }, - { - "internalType": "enum Governance.ProposalState", - "name": "state", - "type": "uint8" - } - ], - "internalType": "struct GovernanceAggregator.Proposal[]", - "name": "proposals", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract Governance", - "name": "governance", - "type": "address" - }, - { - "internalType": "address[]", - "name": "accs", - "type": "address[]" - } - ], - "name": "getGovernanceBalances", - "outputs": [ - { - "internalType": "uint256[]", - "name": "amounts", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract Governance", - "name": "governance", - "type": "address" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getUserData", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "latestProposalId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "latestProposalIdState", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "timelock", - "type": "uint256" - }, - { - "internalType": "address", - "name": "delegatee", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "relayerRegistry", - "outputs": [ - { - "internalType": "contract RelayerRegistry", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32[]", - "name": "_relayers", - "type": "bytes32[]" - }, - { - "internalType": "string[]", - "name": "_subdomains", - "type": "string[]" - } - ], - "name": "relayersData", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isRegistered", - "type": "bool" - }, - { - "internalType": "string[20]", - "name": "records", - "type": "string[20]" - } - ], - "internalType": "struct Relayer[]", - "name": "", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - } -] diff --git a/abis/ENS.abi.json b/abis/ENS.abi.json deleted file mode 100644 index aaa475f..0000000 --- a/abis/ENS.abi.json +++ /dev/null @@ -1,681 +0,0 @@ -[ - { - "constant": true, - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceID", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "key", - "type": "string" - }, - { - "internalType": "string", - "name": "value", - "type": "string" - } - ], - "name": "setText", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "internalType": "bytes4", - "name": "interfaceID", - "type": "bytes4" - } - ], - "name": "interfaceImplementer", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "contentTypes", - "type": "uint256" - } - ], - "name": "ABI", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "x", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "y", - "type": "bytes32" - } - ], - "name": "setPubkey", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "hash", - "type": "bytes" - } - ], - "name": "setContenthash", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - } - ], - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "bool", - "name": "isAuthorised", - "type": "bool" - } - ], - "name": "setAuthorisation", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "key", - "type": "string" - } - ], - "name": "text", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "contentType", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "setABI", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - } - ], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "name": "setName", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "coinType", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "a", - "type": "bytes" - } - ], - "name": "setAddr", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - } - ], - "name": "contenthash", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - } - ], - "name": "pubkey", - "outputs": [ - { - "internalType": "bytes32", - "name": "x", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "y", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "a", - "type": "address" - } - ], - "name": "setAddr", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "internalType": "bytes4", - "name": "interfaceID", - "type": "bytes4" - }, - { - "internalType": "address", - "name": "implementer", - "type": "address" - } - ], - "name": "setInterface", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "coinType", - "type": "uint256" - } - ], - "name": "addr", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "authorisations", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract ENS", - "name": "_ens", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isAuthorised", - "type": "bool" - } - ], - "name": "AuthorisationChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "indexedKey", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "key", - "type": "string" - } - ], - "name": "TextChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "x", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "y", - "type": "bytes32" - } - ], - "name": "PubkeyChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "name": "NameChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "bytes4", - "name": "interfaceID", - "type": "bytes4" - }, - { - "indexed": false, - "internalType": "address", - "name": "implementer", - "type": "address" - } - ], - "name": "InterfaceChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "hash", - "type": "bytes" - } - ], - "name": "ContenthashChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "a", - "type": "address" - } - ], - "name": "AddrChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "coinType", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "newAddress", - "type": "bytes" - } - ], - "name": "AddressChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "contentType", - "type": "uint256" - } - ], - "name": "ABIChanged", - "type": "event" - } -] diff --git a/abis/ERC20.abi.json b/abis/ERC20.abi.json deleted file mode 100644 index 0e474b5..0000000 --- a/abis/ERC20.abi.json +++ /dev/null @@ -1,228 +0,0 @@ -[ - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "_totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "who", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" }, - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "internalType": "uint256", "name": "deadline", "type": "uint256" }, - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] diff --git a/abis/Governance.abi.json b/abis/Governance.abi.json deleted file mode 100644 index 2bd3a40..0000000 --- a/abis/Governance.abi.json +++ /dev/null @@ -1,422 +0,0 @@ -[ - { - "inputs": [ - { "internalType": "address", "name": "_gasCompLogic", "type": "address" }, - { "internalType": "address", "name": "_userVault", "type": "address" } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "to", "type": "address" } - ], - "name": "Delegated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, - { "indexed": true, "internalType": "address", "name": "proposer", "type": "address" }, - { "indexed": false, "internalType": "address", "name": "target", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "startTime", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "endTime", "type": "uint256" }, - { "indexed": false, "internalType": "string", "name": "description", "type": "string" } - ], - "name": "ProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": true, "internalType": "uint256", "name": "proposalId", "type": "uint256" }], - "name": "ProposalExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "from", "type": "address" } - ], - "name": "Undelegated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "uint256", "name": "proposalId", "type": "uint256" }, - { "indexed": true, "internalType": "address", "name": "voter", "type": "address" }, - { "indexed": true, "internalType": "bool", "name": "support", "type": "bool" }, - { "indexed": false, "internalType": "uint256", "name": "votes", "type": "uint256" } - ], - "name": "Voted", - "type": "event" - }, - { - "inputs": [], - "name": "CLOSING_PERIOD", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EXECUTION_DELAY", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EXECUTION_EXPIRATION", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PROPOSAL_THRESHOLD", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "QUORUM_VOTES", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "VOTE_EXTEND_TIME", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "VOTING_DELAY", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "VOTING_PERIOD", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "bytes32[]", "name": "domains", "type": "bytes32[]" }], - "name": "bulkResolve", - "outputs": [{ "internalType": "address[]", "name": "result", "type": "address[]" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "canWithdrawAfter", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address[]", "name": "from", "type": "address[]" }, - { "internalType": "uint256", "name": "proposalId", "type": "uint256" }, - { "internalType": "bool", "name": "support", "type": "bool" } - ], - "name": "castDelegatedVote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "proposalId", "type": "uint256" }, - { "internalType": "bool", "name": "support", "type": "bool" } - ], - "name": "castVote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "proposalId", "type": "uint256" }], - "name": "checkIfQuorumReached", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "to", "type": "address" }], - "name": "delegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "delegatedTo", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "proposalId", "type": "uint256" }], - "name": "execute", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "gasCompensationVault", - "outputs": [{ "internalType": "contract IGasCompensationVault", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "proposalId", "type": "uint256" }, - { "internalType": "address", "name": "voter", "type": "address" } - ], - "name": "getReceipt", - "outputs": [ - { - "components": [ - { "internalType": "bool", "name": "hasVoted", "type": "bool" }, - { "internalType": "bool", "name": "support", "type": "bool" }, - { "internalType": "uint256", "name": "votes", "type": "uint256" } - ], - "internalType": "struct Governance.Receipt", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "proposalId", "type": "uint256" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "name": "hasAccountVoted", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "bytes32", "name": "_torn", "type": "bytes32" }], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "latestProposalIds", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "internalType": "uint256", "name": "deadline", "type": "uint256" }, - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" } - ], - "name": "lock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }], - "name": "lockWithApproval", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "lockedBalance", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proposalCount", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "proposals", - "outputs": [ - { "internalType": "address", "name": "proposer", "type": "address" }, - { "internalType": "address", "name": "target", "type": "address" }, - { "internalType": "uint256", "name": "startTime", "type": "uint256" }, - { "internalType": "uint256", "name": "endTime", "type": "uint256" }, - { "internalType": "uint256", "name": "forVotes", "type": "uint256" }, - { "internalType": "uint256", "name": "againstVotes", "type": "uint256" }, - { "internalType": "bool", "name": "executed", "type": "bool" }, - { "internalType": "bool", "name": "extended", "type": "bool" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "target", "type": "address" }, - { "internalType": "string", "name": "description", "type": "string" } - ], - "name": "propose", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "from", "type": "address" }, - { "internalType": "address", "name": "target", "type": "address" }, - { "internalType": "string", "name": "description", "type": "string" } - ], - "name": "proposeByDelegate", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "bytes32", "name": "node", "type": "bytes32" }], - "name": "resolve", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "returnMultisigAddress", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "closingPeriod", "type": "uint256" }], - "name": "setClosingPeriod", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "executionDelay", "type": "uint256" }], - "name": "setExecutionDelay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "executionExpiration", "type": "uint256" }], - "name": "setExecutionExpiration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "gasCompensationsLimit", "type": "uint256" }], - "name": "setGasCompensations", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "proposalThreshold", "type": "uint256" }], - "name": "setProposalThreshold", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "quorumVotes", "type": "uint256" }], - "name": "setQuorumVotes", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "voteExtendTime", "type": "uint256" }], - "name": "setVoteExtendTime", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "votingDelay", "type": "uint256" }], - "name": "setVotingDelay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "votingPeriod", "type": "uint256" }], - "name": "setVotingPeriod", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "proposalId", "type": "uint256" }], - "name": "state", - "outputs": [{ "internalType": "enum Governance.ProposalState", "name": "", "type": "uint8" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "torn", - "outputs": [{ "internalType": "contract TORN", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { "inputs": [], "name": "undelegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }], - "name": "unlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "userVault", - "outputs": [{ "internalType": "contract ITornadoVault", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }], - "name": "withdrawFromHelper", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { "stateMutability": "payable", "type": "receive" } -] diff --git a/abis/Instance.abi.json b/abis/Instance.abi.json deleted file mode 100644 index 0f5a18e..0000000 --- a/abis/Instance.abi.json +++ /dev/null @@ -1,519 +0,0 @@ -[ - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_newOperator", - "type": "address" - } - ], - "name": "changeOperator", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "nullifierHashes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "_proof", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "_root", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "_nullifierHash", - "type": "bytes32" - }, - { - "internalType": "address payable", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_relayer", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_fee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_refund", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "verifier", - "outputs": [ - { - "internalType": "contract IVerifier", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_left", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "_right", - "type": "bytes32" - } - ], - "name": "hashLeftRight", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "FIELD_SIZE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "levels", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "operator", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_root", - "type": "bytes32" - } - ], - "name": "isKnownRoot", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "commitments", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "denomination", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentRootIndex", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_newVerifier", - "type": "address" - } - ], - "name": "updateVerifier", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32[]", - "name": "_nullifierHashes", - "type": "bytes32[]" - } - ], - "name": "isSpentArray", - "outputs": [ - { - "internalType": "bool[]", - "name": "spent", - "type": "bool[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_commitment", - "type": "bytes32" - } - ], - "name": "deposit", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getLastRoot", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "roots", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ROOT_HISTORY_SIZE", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_nullifierHash", - "type": "bytes32" - } - ], - "name": "isSpent", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "zeros", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ZERO_VALUE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "filledSubtrees", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextIndex", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IVerifier", - "name": "_verifier", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_denomination", - "type": "uint256" - }, - { - "internalType": "uint32", - "name": "_merkleTreeHeight", - "type": "uint32" - }, - { - "internalType": "address", - "name": "_operator", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "leafIndex", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "nullifierHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fee", - "type": "uint256" - } - ], - "name": "Withdrawal", - "type": "event" - } -] \ No newline at end of file diff --git a/abis/Multicall.json b/abis/Multicall.json deleted file mode 100644 index b2720f3..0000000 --- a/abis/Multicall.json +++ /dev/null @@ -1,86 +0,0 @@ -[ - { - "constant": true, - "inputs": [], - "name": "getCurrentBlockTimestamp", - "outputs": [{ "name": "timestamp", "type": "uint256" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "components": [ - { "name": "target", "type": "address" }, - { "name": "callData", "type": "bytes" } - ], - "name": "calls", - "type": "tuple[]" - } - ], - "name": "aggregate", - "outputs": [ - { "name": "blockNumber", "type": "uint256" }, - { "name": "returnData", "type": "bytes[]" } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getLastBlockHash", - "outputs": [{ "name": "blockHash", "type": "bytes32" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [{ "name": "addr", "type": "address" }], - "name": "getEthBalance", - "outputs": [{ "name": "balance", "type": "uint256" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getCurrentBlockDifficulty", - "outputs": [{ "name": "difficulty", "type": "uint256" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getCurrentBlockGasLimit", - "outputs": [{ "name": "gaslimit", "type": "uint256" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getCurrentBlockCoinbase", - "outputs": [{ "name": "coinbase", "type": "address" }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [{ "name": "blockNumber", "type": "uint256" }], - "name": "getBlockHash", - "outputs": [{ "name": "blockHash", "type": "bytes32" }], - "payable": false, - "stateMutability": "view", - "type": "function" - } -] diff --git a/abis/OffchainOracle.abi.json b/abis/OffchainOracle.abi.json deleted file mode 100644 index 57b2d2a..0000000 --- a/abis/OffchainOracle.abi.json +++ /dev/null @@ -1,181 +0,0 @@ -[ - { - "inputs": [ - { "internalType": "contract MultiWrapper", "name": "_multiWrapper", "type": "address" }, - { "internalType": "contract IOracle[]", "name": "existingOracles", "type": "address[]" }, - { "internalType": "enum OffchainOracle.OracleType[]", "name": "oracleTypes", "type": "uint8[]" }, - { "internalType": "contract IERC20[]", "name": "existingConnectors", "type": "address[]" }, - { "internalType": "contract IERC20", "name": "wBase", "type": "address" } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "contract IERC20", "name": "connector", "type": "address" } - ], - "name": "ConnectorAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "contract IERC20", "name": "connector", "type": "address" } - ], - "name": "ConnectorRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "contract MultiWrapper", "name": "multiWrapper", "type": "address" } - ], - "name": "MultiWrapperUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "contract IOracle", "name": "oracle", "type": "address" }, - { - "indexed": false, - "internalType": "enum OffchainOracle.OracleType", - "name": "oracleType", - "type": "uint8" - } - ], - "name": "OracleAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "contract IOracle", "name": "oracle", "type": "address" }, - { - "indexed": false, - "internalType": "enum OffchainOracle.OracleType", - "name": "oracleType", - "type": "uint8" - } - ], - "name": "OracleRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [{ "internalType": "contract IERC20", "name": "connector", "type": "address" }], - "name": "addConnector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "contract IOracle", "name": "oracle", "type": "address" }, - { "internalType": "enum OffchainOracle.OracleType", "name": "oracleKind", "type": "uint8" } - ], - "name": "addOracle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "connectors", - "outputs": [{ "internalType": "contract IERC20[]", "name": "allConnectors", "type": "address[]" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "contract IERC20", "name": "srcToken", "type": "address" }, - { "internalType": "contract IERC20", "name": "dstToken", "type": "address" }, - { "internalType": "bool", "name": "useWrappers", "type": "bool" } - ], - "name": "getRate", - "outputs": [{ "internalType": "uint256", "name": "weightedRate", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "contract IERC20", "name": "srcToken", "type": "address" }, - { "internalType": "bool", "name": "useSrcWrappers", "type": "bool" } - ], - "name": "getRateToEth", - "outputs": [{ "internalType": "uint256", "name": "weightedRate", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "multiWrapper", - "outputs": [{ "internalType": "contract MultiWrapper", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "oracles", - "outputs": [ - { "internalType": "contract IOracle[]", "name": "allOracles", "type": "address[]" }, - { "internalType": "enum OffchainOracle.OracleType[]", "name": "oracleTypes", "type": "uint8[]" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "contract IERC20", "name": "connector", "type": "address" }], - "name": "removeConnector", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "contract IOracle", "name": "oracle", "type": "address" }, - { "internalType": "enum OffchainOracle.OracleType", "name": "oracleKind", "type": "uint8" } - ], - "name": "removeOracle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "contract MultiWrapper", "name": "_multiWrapper", "type": "address" }], - "name": "setMultiWrapper", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] diff --git a/abis/OvmGasPriceOracle.abi.json b/abis/OvmGasPriceOracle.abi.json deleted file mode 100644 index 8f239ad..0000000 --- a/abis/OvmGasPriceOracle.abi.json +++ /dev/null @@ -1,151 +0,0 @@ -[ - { - "inputs": [{ "internalType": "address", "name": "_owner", "type": "address" }], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "DecimalsUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "GasPriceUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "L1BaseFeeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "OverheadUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "ScalarUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "gasPrice", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "bytes", "name": "_data", "type": "bytes" }], - "name": "getL1Fee", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "bytes", "name": "_data", "type": "bytes" }], - "name": "getL1GasUsed", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "l1BaseFee", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "overhead", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "scalar", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "_decimals", "type": "uint256" }], - "name": "setDecimals", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "_gasPrice", "type": "uint256" }], - "name": "setGasPrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "_baseFee", "type": "uint256" }], - "name": "setL1BaseFee", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "_overhead", "type": "uint256" }], - "name": "setOverhead", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "_scalar", "type": "uint256" }], - "name": "setScalar", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] diff --git a/abis/RelayerRegistry.abi.json b/abis/RelayerRegistry.abi.json deleted file mode 100644 index 6886afb..0000000 --- a/abis/RelayerRegistry.abi.json +++ /dev/null @@ -1,670 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "address", - "name": "_torn", - "type": "address" - }, - { - "internalType": "address", - "name": "_governance", - "type": "address" - }, - { - "internalType": "address", - "name": "_ens", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_staking", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "_feeManager", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "minStakeAmount", - "type": "uint256" - } - ], - "name": "MinimumStakeAmount", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "relayer", - "type": "address" - } - ], - "name": "RelayerBalanceNullified", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "relayer", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "ensName", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "relayerAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "stakedAmount", - "type": "uint256" - } - ], - "name": "RelayerRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "tornadoRouter", - "type": "address" - } - ], - "name": "RouterRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountStakeAdded", - "type": "uint256" - } - ], - "name": "StakeAddedToRelayer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amountBurned", - "type": "uint256" - } - ], - "name": "StakeBurned", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "worker", - "type": "address" - } - ], - "name": "WorkerRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "worker", - "type": "address" - } - ], - "name": "WorkerUnregistered", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes32[]", - "name": "domains", - "type": "bytes32[]" - } - ], - "name": "bulkResolve", - "outputs": [ - { - "internalType": "address[]", - "name": "result", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "internalType": "contract ITornadoInstance", - "name": "pool", - "type": "address" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "ens", - "outputs": [ - { - "internalType": "contract IENS", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeManager", - "outputs": [ - { - "internalType": "contract FeeManager", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "relayer", - "type": "address" - } - ], - "name": "getRelayerBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "relayer", - "type": "address" - } - ], - "name": "getRelayerEnsHash", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "governance", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_tornadoRouter", - "type": "bytes32" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "toResolve", - "type": "address" - } - ], - "name": "isRelayer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "internalType": "address", - "name": "toResolve", - "type": "address" - } - ], - "name": "isRelayerRegistered", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minStakeAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "relayer", - "type": "address" - } - ], - "name": "nullifyBalance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "ensName", - "type": "string" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "workersToRegister", - "type": "address[]" - } - ], - "name": "register", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "ensName", - "type": "string" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "workersToRegister", - "type": "address[]" - }, - { - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "registerPermit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "internalType": "address", - "name": "worker", - "type": "address" - } - ], - "name": "registerWorker", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "relayers", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "ensHash", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - } - ], - "name": "resolve", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "minAmount", - "type": "uint256" - } - ], - "name": "setMinStakeAmount", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tornadoRouterAddress", - "type": "address" - } - ], - "name": "setTornadoRouter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - } - ], - "name": "stakeToRelayer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "relayer", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stake", - "type": "uint256" - }, - { - "internalType": "address", - "name": "staker", - "type": "address" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "stakeToRelayerPermit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "staking", - "outputs": [ - { - "internalType": "contract ITornadoStakingRewards", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "torn", - "outputs": [ - { - "internalType": "contract TORN", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tornadoRouter", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "worker", - "type": "address" - } - ], - "name": "unregisterWorker", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "workers", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } -] diff --git a/abis/SanctionsList.abi.json b/abis/SanctionsList.abi.json deleted file mode 100644 index d6f009c..0000000 --- a/abis/SanctionsList.abi.json +++ /dev/null @@ -1,92 +0,0 @@ -[ - { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, - { - "anonymous": false, - "inputs": [{ "indexed": true, "internalType": "address", "name": "addr", "type": "address" }], - "name": "NonSanctionedAddress", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": true, "internalType": "address", "name": "addr", "type": "address" }], - "name": "SanctionedAddress", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "address[]", "name": "addrs", "type": "address[]" }], - "name": "SanctionedAddressesAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "address[]", "name": "addrs", "type": "address[]" }], - "name": "SanctionedAddressesRemoved", - "type": "event" - }, - { - "inputs": [{ "internalType": "address[]", "name": "newSanctions", "type": "address[]" }], - "name": "addToSanctionsList", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "addr", "type": "address" }], - "name": "isSanctioned", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "addr", "type": "address" }], - "name": "isSanctionedVerbose", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address[]", "name": "removeSanctions", "type": "address[]" }], - "name": "removeFromSanctionsList", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] diff --git a/abis/TornadoProxy.abi.json b/abis/TornadoProxy.abi.json deleted file mode 100644 index 8e6a9a9..0000000 --- a/abis/TornadoProxy.abi.json +++ /dev/null @@ -1,237 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_tornadoTrees", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "_governance", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "_instances", - "type": "bytes32[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "encryptedNote", - "type": "bytes" - } - ], - "name": "EncryptedNote", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes32[]", - "name": "domains", - "type": "bytes32[]" - } - ], - "name": "bulkResolve", - "outputs": [ - { - "internalType": "address[]", - "name": "result", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "governance", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract ITornadoInstance", - "name": "", - "type": "address" - } - ], - "name": "instances", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - } - ], - "name": "resolve", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tornadoTrees", - "outputs": [ - { - "internalType": "contract ITornadoTrees", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract ITornadoInstance", - "name": "_tornado", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_commitment", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_encryptedNote", - "type": "bytes" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract ITornadoInstance", - "name": "_instance", - "type": "address" - }, - { - "internalType": "bool", - "name": "_update", - "type": "bool" - } - ], - "name": "updateInstance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract ITornadoInstance", - "name": "_tornado", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_proof", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "_root", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "_nullifierHash", - "type": "bytes32" - }, - { - "internalType": "address payable", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_relayer", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_fee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_refund", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IERC20", - "name": "_token", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_balance", - "type": "uint256" - } - ], - "name": "rescueTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] diff --git a/abis/TornadoStakingRewards.abi.json b/abis/TornadoStakingRewards.abi.json deleted file mode 100644 index c28d5bf..0000000 --- a/abis/TornadoStakingRewards.abi.json +++ /dev/null @@ -1,272 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "address", - "name": "governanceAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "tornAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_relayerRegistry", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rewardsClaimed", - "type": "uint256" - } - ], - "name": "RewardsClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rewards", - "type": "uint256" - } - ], - "name": "RewardsUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "Governance", - "outputs": [ - { - "internalType": "contract ITornadoGovernance", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "accumulatedRewardPerTorn", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "accumulatedRewardRateOnLastUpdate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "accumulatedRewards", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "addBurnRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32[]", - "name": "domains", - "type": "bytes32[]" - } - ], - "name": "bulkResolve", - "outputs": [ - { - "internalType": "address[]", - "name": "result", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "checkReward", - "outputs": [ - { - "internalType": "uint256", - "name": "rewards", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "ratioConstant", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "relayerRegistry", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "node", - "type": "bytes32" - } - ], - "name": "resolve", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "torn", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountLockedBeforehand", - "type": "uint256" - } - ], - "name": "updateRewardsOnLockedBalanceChange", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawTorn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] diff --git a/app.html b/app.html deleted file mode 100644 index 89dfad8..0000000 --- a/app.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - {{ HEAD }} - - -{{ APP }} - - diff --git a/app/router.scrollBehavior.js b/app/router.scrollBehavior.js deleted file mode 100644 index 58c8c89..0000000 --- a/app/router.scrollBehavior.js +++ /dev/null @@ -1,9 +0,0 @@ -const routerScrollBehavior = (to, from, savedPosition) => { - if (to.name === 'governance-id') { - return { x: 0, y: 0 } - } - - return savedPosition || { x: 0, y: 0 } -} - -export default routerScrollBehavior diff --git a/assets/README.md b/assets/README.md deleted file mode 100644 index 34766f9..0000000 --- a/assets/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# ASSETS - -**This directory is not required, you can delete it if you don't want to use it.** - -This directory contains your un-compiled assets such as LESS, SASS, or JavaScript. - -More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked). diff --git a/assets/fonts/PTMono-Bold.woff2 b/assets/fonts/PTMono-Bold.woff2 deleted file mode 100644 index ba69997..0000000 Binary files a/assets/fonts/PTMono-Bold.woff2 and /dev/null differ diff --git a/assets/fonts/PTMono-Regular.woff2 b/assets/fonts/PTMono-Regular.woff2 deleted file mode 100644 index f602488..0000000 Binary files a/assets/fonts/PTMono-Regular.woff2 and /dev/null differ diff --git a/assets/img/ethereum.svg b/assets/img/ethereum.svg deleted file mode 100644 index 89593bd..0000000 --- a/assets/img/ethereum.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/assets/img/flags/cn.svg b/assets/img/flags/cn.svg deleted file mode 100644 index d220c3d..0000000 --- a/assets/img/flags/cn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/img/flags/es.svg b/assets/img/flags/es.svg deleted file mode 100644 index 72d4aec..0000000 --- a/assets/img/flags/es.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/img/flags/fr.svg b/assets/img/flags/fr.svg deleted file mode 100644 index 66958f0..0000000 --- a/assets/img/flags/fr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/img/flags/gb.svg b/assets/img/flags/gb.svg deleted file mode 100644 index 8c99653..0000000 --- a/assets/img/flags/gb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/img/flags/ru.svg b/assets/img/flags/ru.svg deleted file mode 100644 index b59ecab..0000000 --- a/assets/img/flags/ru.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/img/flags/tr.svg b/assets/img/flags/tr.svg deleted file mode 100644 index f4c325d..0000000 --- a/assets/img/flags/tr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/img/flags/uk.svg b/assets/img/flags/uk.svg deleted file mode 100644 index ccd0a81..0000000 --- a/assets/img/flags/uk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/img/icons/account.svg b/assets/img/icons/account.svg deleted file mode 100644 index 013125d..0000000 --- a/assets/img/icons/account.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/img/icons/account/balance.svg b/assets/img/icons/account/balance.svg deleted file mode 100644 index 4f8006d..0000000 --- a/assets/img/icons/account/balance.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/assets/img/icons/account/file.svg b/assets/img/icons/account/file.svg deleted file mode 100644 index c4321b8..0000000 --- a/assets/img/icons/account/file.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/assets/img/icons/account/key.svg b/assets/img/icons/account/key.svg deleted file mode 100644 index 2e11770..0000000 --- a/assets/img/icons/account/key.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/img/icons/account/notes.svg b/assets/img/icons/account/notes.svg deleted file mode 100644 index 8893dba..0000000 --- a/assets/img/icons/account/notes.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/assets/img/icons/account/raw.svg b/assets/img/icons/account/raw.svg deleted file mode 100644 index 89bfcc9..0000000 --- a/assets/img/icons/account/raw.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/assets/img/icons/account/recover.svg b/assets/img/icons/account/recover.svg deleted file mode 100644 index 5cad9c7..0000000 --- a/assets/img/icons/account/recover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/img/icons/account/remove.svg b/assets/img/icons/account/remove.svg deleted file mode 100644 index 17926d5..0000000 --- a/assets/img/icons/account/remove.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/assets/img/icons/account/rpc.svg b/assets/img/icons/account/rpc.svg deleted file mode 100644 index 473094f..0000000 --- a/assets/img/icons/account/rpc.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/img/icons/account/setup.svg b/assets/img/icons/account/setup.svg deleted file mode 100644 index 561baee..0000000 --- a/assets/img/icons/account/setup.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/img/icons/account/wallet.svg b/assets/img/icons/account/wallet.svg deleted file mode 100644 index af64015..0000000 --- a/assets/img/icons/account/wallet.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/img/icons/alert.svg b/assets/img/icons/alert.svg deleted file mode 100644 index e2c8f0e..0000000 --- a/assets/img/icons/alert.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/arbitrum.svg b/assets/img/icons/arbitrum.svg deleted file mode 100644 index 0cd76cb..0000000 --- a/assets/img/icons/arbitrum.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/arrow-down.svg b/assets/img/icons/arrow-down.svg deleted file mode 100644 index 86ea66d..0000000 --- a/assets/img/icons/arrow-down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/arrow-left.svg b/assets/img/icons/arrow-left.svg deleted file mode 100644 index 2e67d17..0000000 --- a/assets/img/icons/arrow-left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/arrow-up-down.svg b/assets/img/icons/arrow-up-down.svg deleted file mode 100644 index 73a2892..0000000 --- a/assets/img/icons/arrow-up-down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/arrow-up.svg b/assets/img/icons/arrow-up.svg deleted file mode 100644 index ba9eb81..0000000 --- a/assets/img/icons/arrow-up.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/img/icons/arrow.svg b/assets/img/icons/arrow.svg deleted file mode 100644 index 4e2fb14..0000000 --- a/assets/img/icons/arrow.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/img/icons/astronaut.svg b/assets/img/icons/astronaut.svg deleted file mode 100644 index b835103..0000000 --- a/assets/img/icons/astronaut.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/img/icons/avalanche.svg b/assets/img/icons/avalanche.svg deleted file mode 100644 index 694674b..0000000 --- a/assets/img/icons/avalanche.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/binance.svg b/assets/img/icons/binance.svg deleted file mode 100644 index 1484d30..0000000 --- a/assets/img/icons/binance.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/img/icons/check.svg b/assets/img/icons/check.svg deleted file mode 100644 index 5490ff0..0000000 --- a/assets/img/icons/check.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - diff --git a/assets/img/icons/checkbox.svg b/assets/img/icons/checkbox.svg deleted file mode 100644 index 9edaecb..0000000 --- a/assets/img/icons/checkbox.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/chevron-up.svg b/assets/img/icons/chevron-up.svg deleted file mode 100644 index b4fd179..0000000 --- a/assets/img/icons/chevron-up.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/img/icons/close.svg b/assets/img/icons/close.svg deleted file mode 100644 index f606c27..0000000 --- a/assets/img/icons/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/copy.svg b/assets/img/icons/copy.svg deleted file mode 100644 index 83b37aa..0000000 --- a/assets/img/icons/copy.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/img/icons/decrypt.svg b/assets/img/icons/decrypt.svg deleted file mode 100644 index 4b0d638..0000000 --- a/assets/img/icons/decrypt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/img/icons/ethereum.svg b/assets/img/icons/ethereum.svg deleted file mode 100644 index 46c22c2..0000000 --- a/assets/img/icons/ethereum.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/assets/img/icons/eye.svg b/assets/img/icons/eye.svg deleted file mode 100644 index 0a81814..0000000 --- a/assets/img/icons/eye.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/gnosis.svg b/assets/img/icons/gnosis.svg deleted file mode 100644 index 1ed3e37..0000000 --- a/assets/img/icons/gnosis.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/img/icons/goerli.svg b/assets/img/icons/goerli.svg deleted file mode 100644 index 1fb561a..0000000 --- a/assets/img/icons/goerli.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/info.svg b/assets/img/icons/info.svg deleted file mode 100644 index f62f040..0000000 --- a/assets/img/icons/info.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/link.svg b/assets/img/icons/link.svg deleted file mode 100644 index 43b02ef..0000000 --- a/assets/img/icons/link.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/img/icons/lock.svg b/assets/img/icons/lock.svg deleted file mode 100644 index b5b514d..0000000 --- a/assets/img/icons/lock.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/metamask.svg b/assets/img/icons/metamask.svg deleted file mode 100644 index b5657d2..0000000 --- a/assets/img/icons/metamask.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/more.svg b/assets/img/icons/more.svg deleted file mode 100644 index f61596a..0000000 --- a/assets/img/icons/more.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/notice/close.svg b/assets/img/icons/notice/close.svg deleted file mode 100644 index 0a6eac9..0000000 --- a/assets/img/icons/notice/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/notice/danger.svg b/assets/img/icons/notice/danger.svg deleted file mode 100644 index 1bdf62a..0000000 --- a/assets/img/icons/notice/danger.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/notice/success.svg b/assets/img/icons/notice/success.svg deleted file mode 100644 index 264d8da..0000000 --- a/assets/img/icons/notice/success.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/notice/warning.svg b/assets/img/icons/notice/warning.svg deleted file mode 100644 index 3ced70b..0000000 --- a/assets/img/icons/notice/warning.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/open-book.svg b/assets/img/icons/open-book.svg deleted file mode 100644 index 938c468..0000000 --- a/assets/img/icons/open-book.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/img/icons/optimism.svg b/assets/img/icons/optimism.svg deleted file mode 100644 index 3bdc1bd..0000000 --- a/assets/img/icons/optimism.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - diff --git a/assets/img/icons/plus.svg b/assets/img/icons/plus.svg deleted file mode 100644 index 2a06447..0000000 --- a/assets/img/icons/plus.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/polygon.svg b/assets/img/icons/polygon.svg deleted file mode 100644 index c05814b..0000000 --- a/assets/img/icons/polygon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/img/icons/refresh.svg b/assets/img/icons/refresh.svg deleted file mode 100644 index bc315bb..0000000 --- a/assets/img/icons/refresh.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/img/icons/remove.svg b/assets/img/icons/remove.svg deleted file mode 100644 index 49a72c3..0000000 --- a/assets/img/icons/remove.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/save.svg b/assets/img/icons/save.svg deleted file mode 100644 index 7c6968d..0000000 --- a/assets/img/icons/save.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/img/icons/tool.svg b/assets/img/icons/tool.svg deleted file mode 100644 index e8bb0d2..0000000 --- a/assets/img/icons/tool.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/icons/warning.svg b/assets/img/icons/warning.svg deleted file mode 100644 index d70c508..0000000 --- a/assets/img/icons/warning.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/img/info-line.svg b/assets/img/info-line.svg deleted file mode 100644 index 6202330..0000000 --- a/assets/img/info-line.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/line.svg b/assets/img/line.svg deleted file mode 100644 index fd0145f..0000000 --- a/assets/img/line.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/img/logo.svg b/assets/img/logo.svg deleted file mode 100644 index a15b7b1..0000000 --- a/assets/img/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/img/metamask-fox.svg b/assets/img/metamask-fox.svg deleted file mode 100644 index 583fd24..0000000 --- a/assets/img/metamask-fox.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/img/tornado_black.png b/assets/img/tornado_black.png deleted file mode 100644 index d448456..0000000 Binary files a/assets/img/tornado_black.png and /dev/null differ diff --git a/assets/img/tornado_mark.png b/assets/img/tornado_mark.png deleted file mode 100644 index 22f6766..0000000 Binary files a/assets/img/tornado_mark.png and /dev/null differ diff --git a/assets/img/walletConnect.svg b/assets/img/walletConnect.svg deleted file mode 100644 index 2af274b..0000000 --- a/assets/img/walletConnect.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/styles/app.scss b/assets/styles/app.scss deleted file mode 100644 index 260c9c2..0000000 --- a/assets/styles/app.scss +++ /dev/null @@ -1,193 +0,0 @@ -html { - @media print { - background-color: #fff !important; - } -} - -body { - @media print { - color: #000; - } -} - -.wrapper { - display: flex; - flex-direction: column; - min-height: 100vh; - - @media print { - background: none; - } - - > .main-content { - flex: 1; - - .is-centered-main-content & { - display: flex; - align-items: center; - } - } -} - -@import 'components/fonts'; -@import 'components/base'; - -@import 'components/header'; -@import 'components/button'; -@import 'components/tabs'; -@import 'components/box'; -@import 'components/footer'; -@import 'components/txs'; -@import 'components/checkbox'; -@import 'components/radio'; -@import 'components/loading'; -@import 'components/fieldset'; -@import 'components/video'; -@import 'components/wallets'; -@import 'components/steps'; -@import 'components/dropdown'; -@import 'components/field'; -@import 'components/deposit'; -@import 'components/withdraw-data'; -@import 'components/modal'; -@import 'components/has-eth-purchase'; -@import 'components/notification'; -@import 'components/icon'; -@import 'components/tab-with-corner'; -@import 'components/label'; -@import 'components/notice'; -@import 'components/flag'; -@import 'components/compliance'; -@import 'components/textarea'; -@import 'components/info'; -@import 'components/proposals'; -@import 'components/slider'; -@import 'components/account'; - -.b-tooltip { - align-items: center; - - .tooltip-trigger { - display: inline-flex; - } -} - -.dialog { - .modal-card { - border: 1px solid #393939; - border-radius: 6px; - - &-foot { - .button { - flex: 1 1 50%; - } - } - } -} - -.input { - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; - - &.hide-spinner { - &::-webkit-inner-spin-button, - &::-webkit-outer-spin-button { - -webkit-appearance: none; - margin: 0; - } - - -moz-appearance: textfield; - } -} - -.select:not(.is-multiple):not(.is-loading)::after { - border-width: 1px; - border-radius: 1px; - margin-top: -0.4375rem; -} - -.notices .toast { - @include until(375px) { - font-size: 0.85rem; - } -} - -.geofence { - .footer .footer-address, - .break, - .dropdown-langs { - display: none; - } -} - -.label-with-value { - margin-top: -0.25rem; - margin-bottom: 1rem; - line-height: 1.75; - - span { - color: $primary; - } - - a { - color: $primary; - - &:hover { - text-decoration: underline; - } - } -} - -.label { - font-size: 1rem; -} - -.tag:not(body) { - font-weight: 700; - font-size: 0.857rem; - min-width: 70px; - height: 30px; -} - -.progress { - height: 0.571rem; -} - -.delete { - background-color: transparent; - - &::before, - &::after { - background-color: #6b6b6b; - transition: background-color 0.15s ease-in-out; - } - - &::before { - height: 1px; - width: 18px; - } - - &::after { - height: 18px; - width: 1px; - } - - &:hover, - &:focus { - background-color: transparent; - - &::before, - &::after { - background-color: #fff; - } - } -} - -%arrow { - @include arrow; - width: 0; - height: 0; - border-radius: 0; - border-style: solid; - border-width: 8px 0 0 8px; - border-color: transparent transparent transparent $white; -} diff --git a/assets/styles/components/_account.scss b/assets/styles/components/_account.scss deleted file mode 100644 index 64434e4..0000000 --- a/assets/styles/components/_account.scss +++ /dev/null @@ -1,221 +0,0 @@ -.account { - max-width: 720px; - margin: 0 auto; - - .title { - color: $white; - display: flex; - align-items: center; - justify-content: center; - font-size: 2.5rem; - margin-bottom: 2.857rem; - - > .icon { - margin-right: 1.143rem; - } - } - - &-box { - margin: 1.25rem 0; - background-color: #171717; - border-radius: 6px; - transition: box-shadow 0.5s linear; - - .address { - border-radius: 6px; - background: #1f1f1f; - padding: 1rem 1.429rem; - - &-item { - .label { - font-size: 0.929rem; - } - - .value { - font-size: 1.286rem; - color: $primary; - word-break: break-all; - - &.is-small { - font-size: 0.929rem; - } - } - - + .address-item { - margin-top: 1rem; - } - } - } - - .action { - padding: 0 1.429rem; - - &-item { - display: flex; - align-items: center; - position: relative; - padding: 1.429rem 0; - - .icon { - margin-right: 1.429rem; - } - - .desc { - margin-right: auto; - max-width: 346px; - font-size: 0.929rem; - line-height: 1.714rem; - - span { - color: $primary; - } - } - - .balance { - display: inline-flex; - flex-wrap: wrap; - - &-item { - white-space: nowrap; - - &:not(:last-child) { - margin-right: 0.5em; - } - } - } - - &:not(:last-child) { - border-bottom: 1px solid #353535; - } - - .switch { - margin-left: 1.429rem; - margin-right: 0; - - .control-label { - display: none; - } - - input[type='checkbox'] { - + .check { - background-color: #313131; - box-shadow: none; - } - - &:checked + .check { - &:before { - background-color: $primary; - } - } - } - } - - @include mobile { - flex-wrap: wrap; - align-items: flex-start; - - &.has-switch { - min-height: 136px; - } - - .desc { - flex-grow: 1; - flex-shrink: 1; - flex-basis: 0%; - } - - > .button, - > .b-tooltip { - margin-top: 1.5rem; - width: 100%; - - .button { - width: 100%; - } - } - - .switch { - margin-left: 0; - top: 6.378rem; - position: absolute; - } - } - - @include tablet { - .button { - margin-left: 1.429rem; - } - } - } - } - } - - .note-account { - .title { - padding-top: 1.857rem; - } - - &.is-active { - .account-box { - box-shadow: 0 0 20px $primary; - } - } - } - - &-decrypt-info { - .item { - display: flex; - align-items: center; - justify-content: space-between; - position: relative; - padding: 0.75rem 0; - - .desc { - margin-right: auto; - max-width: 346px; - } - - &:not(:last-child) { - border-bottom: 1px solid #353535; - } - - .switch { - margin-left: 1.429rem; - margin-right: 0; - - .control-label { - display: none; - } - } - - @include mobile { - flex-wrap: wrap; - min-height: 136px; - align-items: flex-start; - - .desc { - flex-grow: 1; - flex-shrink: 1; - flex-basis: 0%; - } - - .button { - margin-top: 1.5rem; - width: 100%; - } - - .switch { - margin-left: 0; - top: 6.378rem; - position: absolute; - } - } - - @include tablet { - .button { - margin-left: 1.429rem; - } - } - } - } -} diff --git a/assets/styles/components/_base.scss b/assets/styles/components/_base.scss deleted file mode 100644 index b78c440..0000000 --- a/assets/styles/components/_base.scss +++ /dev/null @@ -1,251 +0,0 @@ -$control-height: 2.857em; -$control-border-width: 1px; -$control-padding-vertical: calc(0.429em - #{$control-border-width}); -$control-padding-horizontal: calc(1.25em - #{$control-border-width}); - -$white: #eee; -$primary: #94febf; -$primary-invert: #000403; -$warning: #ff8a00; -$black: #2c4538; -$danger: #ff0658; -$danger-invert: #000403; -$dark: #171717; -$dark-invert: $primary; -$info: $primary-invert; -$info-invert: $white; -$violet: #865ff3; -$gray: #6b6b6b; -$grey-lighter: #393939; -$dark-tooltip: #313131; -$custom-colors: ( - 'black': ( - $black, - $primary-invert - ), - 'violet': ( - $violet, - $white - ), - 'gray': ( - $gray, - $white - ), - 'dark-tooltip': ( - $dark-tooltip, - $gray - ) -); - -@import '~bulma/sass/utilities/_all'; - -$body-family: 'PT Mono', monospace; -$body-background-color: $primary-invert; -$body-color: $white; -$body-size: 14px; -$body-min-width: 320px; - -$navbar-background-color: transparent; -$navbar-item-color: $white; -$navbar-item-hover-color: $primary; -$navbar-item-hover-background-color: transparent; -$navbar-item-active-color: $primary; -$navbar-breakpoint: $tablet; - -$label-color: $white; -$label-weight: $weight-normal; - -$button-background-color: #181818; -$button-border-color: #666; -$button-color: $white; -$button-hover-border-color: $primary; -$button-focus-border-color: $primary; -$button-focus-color: $primary; -$button-focus-box-shadow-color: rgba($primary, 0.25); - -$button-active-border-color: darken($primary, 10%); -$button-active-color: darken($primary, 10%); - -$button-text-color: $primary; -$button-text-hover-background-color: $primary; -$button-text-hover-color: $primary-invert; - -$button-disabled-background-color: #000; -$button-disabled-border-color: #393939; - -$input-color: $white; -$input-background-color: transparent; -$input-border-color: #393939; -$input-hover-border-color: $white; -$input-hover-color: $white; -$input-focus-border-color: $primary; -$input-placeholder-color: #393939; -$input-focus-box-shadow-size: 0 0 0; - -$input-disabled-background-color: #181818; -$input-disabled-border-color: #222222; -$input-disabled-color: #5e5e5e; - -$radio-size: 1.5rem; - -$link: $white; -$link-hover: $primary; -$link-invert: $primary; - -$tabs-border-bottom-width: 0; -$tabs-link-color: $link; -$tabs-link-active-color: $primary; -$tabs-link-hover-color: $primary; - -$box-background-color: $primary-invert; -$box-shadow: none; -$box-color: #fefefe; -$box-padding: 1.5rem; - -$title-size: 1.5rem; -$title-line-height: 1; -$title-color: $primary; -$subtitle-color: $white; - -$footer-background-color: transparent; -$footer-padding: 2rem; - -$modal-background-background-color: rgba(#050505, 0.86); -$modal-card-title-color: $primary; -$modal-card-head-background-color: $primary-invert; -$modal-card-head-border-bottom: none; -$modal-card-foot-border-top: none; -$modal-card-body-background-color: $primary-invert; -$modal-card-foot-radius: 0; -$modal-card-head-radius: 0; -$modal-card-body-padding: 0 1.5rem; -$modal-card-head-padding: 1.5rem; - -$input-arrow: #393939; -$radius-small: 4px; - -$steps-default-color: $primary; -$steps-marker-default-border: 0.2em solid $primary; -$steps-maker-default-color: $primary-invert; -$steps-previous-color: $primary-invert; - -$hr-background-color: #1e3629; -$hr-height: 1px; -$hr-margin: 0.5rem 0; - -$dropdown-item-color: $white; -$dropdown-content-shadow: 0 0 0 1px $primary, 0 6px 12px rgba(0, 0, 0, 0.3); -$dropdown-content-background-color: $primary-invert; -$dropdown-item-hover-background-color: #0e1f17; -$dropdown-item-hover-color: $primary; - -$dropdown-item-active-background-color: $primary; -$dropdown-item-active-color: $primary-invert; - -$dropdown-content-padding-bottom: 0; -$dropdown-content-padding-top: 0; - -$dropdown-background-color: $modal-background-background-color; - -$widescreen-enabled: false; -$fullhd-enabled: false; - -$navbar-dropdown-arrow: $primary; -$navbar-dropdown-background-color: $primary-invert; -$navbar-dropdown-border-top: 2px solid $primary; -$navbar-dropdown-item-hover-background-color: $dropdown-item-hover-background-color; -$navbar-dropdown-item-hover-color: $dropdown-item-hover-color; -$navbar-dropdown-item-active-background-color: $dropdown-item-active-background-color; -$navbar-dropdown-item-active-color: $dropdown-item-active-color; -$navbar-dropdown-boxed-shadow: $dropdown-content-shadow; - -$button-static-color: #6b6b6b; -$button-static-background-color: $input-background-color; -$button-static-border-color: $input-border-color; - -$tag-background-color: #1c1c1c; -$tag-color: #6b6b6b; - -$progress-bar-background-color: #393939; - -$strong-color: #6b6b6b; -$strong-weight: 400; - -$notification-background-color: #1f1f1f; -$notification-radius: 6px; - -$button-text-color: #6b6b6b; -$button-text-hover-background-color: transparent; -$button-text-hover-color: #6b6b6b; - -$textarea-padding: 0.75rem; - -$icon-dimensions-large: 3.429rem; - -.column { - @include from(576px) { - &.is-half-small { - flex: none; - width: 50%; - } - - &.is-full-small { - flex: none; - width: 100%; - } - } - - @include mobile { - &.is-order-1-mobile { - order: 1; - } - - &.is-order-2-mobile { - order: 2; - } - - &.is-order-3-mobile { - order: 3; - } - } - - @include tablet { - &.is-none { - flex: none; - } - } -} - -@import '~bulma/sass/base/_all'; -@import '~bulma/sass/helpers/_all'; -@import '~bulma/sass/elements/_all'; -@import '~bulma/sass/components/_all'; -@import '~bulma/sass/form/_all'; -@import '~bulma/sass/grid/_all'; -@import '~bulma/sass/layout/_all'; -@import '~buefy/src/scss/buefy'; - -@mixin noWrap { - white-space: nowrap; - overflow: hidden; - max-width: 100%; - position: relative; - text-overflow: ellipsis; -} - -.columns { - @include from(576px) { - &.is-small { - display: flex; - } - } -} - -.column { - @media screen and (min-width: 576px) and (max-width: $tablet - 1px) { - &.is-half-small-only { - flex: none; - width: 50%; - } - } -} diff --git a/assets/styles/components/_box.scss b/assets/styles/components/_box.scss deleted file mode 100644 index 763e2fc..0000000 --- a/assets/styles/components/_box.scss +++ /dev/null @@ -1,189 +0,0 @@ -.box { - border: 1px solid #393939; - position: relative; - z-index: 2; - - &-stats { - height: 100%; - - @include tablet { - max-width: 440px; - margin-left: auto; - } - - .box { - border-top-left-radius: 0; - margin-bottom: 0; - } - - .tab-with-corner.is-left-top { - display: inline-flex; - align-items: center; - font-weight: 700; - font-size: 1.35rem; - - @include until(375px) { - font-size: 1.135rem; - } - - &:after { - right: -1.8rem; - - @include until(375px) { - right: -1.5rem; - } - } - } - - span.selected { - border-radius: 4px; - font-size: 0.75rem; - background-color: #0d1f16; - border: 1px solid $primary; - color: $primary; - padding: calc(0.375em - 1px) 0.75em; - height: 2.25em; - display: inline-flex; - margin-left: 1rem; - - > span { - padding-right: 0.5em; - } - } - - .deposits { - font-size: 0.82rem; - width: 100%; - display: flex; - flex-direction: column; - - .row { - display: flex; - height: 27px; - - &:nth-child(odd) { - background-color: #171717; - } - } - - .value { - padding-top: 0.375rem; - padding-bottom: 0.375rem; - padding-left: 0.625rem; - padding-right: 0.3125rem; - white-space: nowrap; - padding-right: 0.25rem; - text-align: right; - } - - .data { - width: 100%; - padding-top: 0.375rem; - padding-bottom: 0.375rem; - padding-right: 0.625rem; - color: $primary; - @include noWrap; - } - - .b-skeleton { - &-item { - height: 1.429rem; - } - - + .b-skeleton { - margin-top: 0.625rem; - } - } - } - - @include until(375px) { - .b-tooltip.is-top.is-multiline.is-large:after { - width: 100%; - } - } - - .box-ip { - display: flex; - justify-content: flex-end; - } - } - - &-modal { - max-width: 440px; - overflow-y: auto; - - &.has-delete { - .delete { - position: absolute; - right: 1.5rem; - top: 1.571rem; - } - - .b-tabs.is-modal { - .tabs { - margin-top: -0.5em; - margin-right: 2.143rem; - overflow: hidden; - overflow-x: auto; - - ul { - @include tablet { - flex-wrap: wrap; - flex-shrink: 1; - } - } - } - } - } - - &-header { - display: flex; - align-items: center; - justify-content: space-between; - margin-bottom: 1.5rem; - - &.is-spaced { - margin-bottom: 0.475rem; - } - - .delete { - margin-left: auto; - } - } - - &-title { - font-size: 1.143rem; - font-weight: 700; - } - - .note { - margin-bottom: 1rem; - } - - .znote { - color: $primary; - word-break: break-all; - margin-bottom: 1rem; - } - - .checkbox { - margin-bottom: 1.5rem; - } - - .buttons { - .b-tooltip { - margin-bottom: 0.5rem; - - .button { - margin-bottom: 0; - } - } - } - - .p { - font-size: 0.929rem; - margin-top: 0.25rem; - margin-bottom: 1rem; - } - } -} diff --git a/assets/styles/components/_button.scss b/assets/styles/components/_button.scss deleted file mode 100644 index d5782c4..0000000 --- a/assets/styles/components/_button.scss +++ /dev/null @@ -1,326 +0,0 @@ -.button { - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, - box-shadow 0.15s ease-in-out; - font-weight: $weight-bold; - - .trnd { - background-color: #eee; - } - - svg { - & + span { - margin-left: 0.75em; - } - } - - &.is-text { - text-decoration: none; - - .trnd { - background-color: $button-text-color; - } - - &:focus:not(:active), - &.is-focused:not(:active) { - box-shadow: none; - } - } - - &.max-content { - max-width: max-content; - } - - &.has-icon { - padding: 0; - width: 16px; - height: 16px; - - .icon { - height: 8px; - width: 8px; - - &.icon-info { - background-size: 6px 8px; - } - } - .icon-link { - height: 12px; - width: 12px; - } - } - &.is-icon { - padding: 0; - width: 24px; - height: 24px; - background-color: transparent; - border: none; - - .trnd { - width: 100%; - height: 100%; - background-color: #6b6b6b; - } - - svg { - height: 100%; - width: 100%; - } - - &:hover { - path:not(.no-hover) { - fill: #87feb7; - transition: fill 0.15s ease-out; - } - } - - &:focus:not(:active) { - box-shadow: none; - } - } - &.is-loading { - &::after { - border-radius: 100%; - } - } - &.is-black { - path { - fill: $primary; - } - } - &.is-primary { - path { - fill: $primary-invert; - } - - .trnd { - background-color: $primary-invert; - } - - &:hover { - background-color: #3bf0a1; - } - - &[disabled] { - background-color: $primary; - } - - &.is-outlined { - background-color: #0e1f17; - - .trnd { - background-color: $primary; - } - - &:hover, - &:focus, - &.is-hovered, - &.is-focused { - .trnd { - background-color: $primary-invert; - } - } - - &[disabled] { - .trnd { - background-color: $primary; - } - } - } - } - - &.is-danger { - &.is-outlined { - background-color: #1c080d; - - .trnd { - background-color: $danger; - } - - &:hover, - &:focus { - .trnd { - background-color: $danger-invert; - } - } - - &[disabled] { - .trnd { - background-color: $danger; - } - } - } - } - - &.is-dark { - path { - fill: $primary; - } - - .trnd { - background-color: $primary; - } - } - - &.is-primary-link { - color: $primary; - height: auto; - background-color: transparent; - border: none; - border-radius: 0; - font-size: 0.85rem; - line-height: 1; - - &:hover { - span { - text-decoration: underline; - } - } - - &:focus:not(:active) { - box-shadow: none; - } - - &.is-underlined { - display: block; - margin: 0 auto; - - span { - text-decoration: underline; - } - - &:hover { - span { - text-decoration: none; - } - } - } - } - - .icon { - &:first-child:not(:last-child) { - margin-left: 0; - margin-right: 0.5em; - } - &:last-child:not(:first-child) { - margin-left: 0.5em; - margin-right: 0; - } - &:first-child:last-child { - margin-left: 0; - margin-right: 0; - } - } - - &:not(.is-small):not(.is-primary-text) { - span:not(.icon):not(.b-tooltip):first-child:last-child { - padding: 0 0.5rem; - } - } - - &.is-nav-icon { - width: 2.857rem; - padding: 0; - cursor: default; - background-color: #242424; - border-color: #4f4f4f; - - .trnd { - background-color: #595959; - } - - &:focus:not(:active) { - box-shadow: none; - } - - &.walletConnect { - background-color: #07141e; - border-color: #3b99fc; - - .trnd { - background-color: #3b99fc; - } - } - - &.metamask { - background-color: #2d2419; - border-color: #f89c35; - - .trnd { - background-color: #f89c35; - } - } - - &.tornado { - background-color: #0e1f17; - border-color: $primary; - - .trnd { - background-color: $primary; - } - } - - &.network { - background-color: darken($primary, 80); - border-color: $primary; - - .trnd { - background-color: $primary; - } - } - } - - &.hide-icon-desktop { - @include desktop { - span.icon { - display: none; - } - } - } -} - -.buttons { - &__social { - .button { - background-color: transparent; - border-color: transparent; - color: $primary; - - .icon { - width: 24px; - height: 24px; - } - } - } - - &__halfwidth { - flex-wrap: nowrap; - - .button, - .b-skeleton { - flex: 1 1 calc(50% - 0.5rem); - - &:last-child { - margin-left: 0.5rem; - } - } - - .b-skeleton { - margin-bottom: 0.5rem; - - &:first-child { - margin-right: 0.5rem; - } - - + .b-skeleton { - margin-top: 0; - } - } - } - - .break { - margin: 0 1rem 0.5rem 0.5rem; - width: 1px; - align-self: stretch; - background-color: $primary; - } -} diff --git a/assets/styles/components/_checkbox.scss b/assets/styles/components/_checkbox.scss deleted file mode 100644 index 6a13828..0000000 --- a/assets/styles/components/_checkbox.scss +++ /dev/null @@ -1,39 +0,0 @@ -.b-checkbox { - &.checkbox { - input[type=checkbox] { - + .check { - border-radius: 2px; - border: 1px solid $primary; - position: relative; - width: 1.5rem; - height: 1.5rem; - - &:before { - content: ''; - display: flex; - position: absolute; - left: 50%; - margin-left: calc(-1.5rem/2); - bottom: 50%; - margin-bottom: calc(-1.5rem/2); - width: 1.5rem; - height: 1.5rem; - transition: transform .15s ease-out; - transform: scale(0); - background-color: $primary; - border-radius: 1px; - } - } - &:checked + .check { - background: none; - - &:before { - transform: scale(.4); - } - } - } - .control-label { - padding-left: 0.75rem; - } - } -} diff --git a/assets/styles/components/_compliance.scss b/assets/styles/components/_compliance.scss deleted file mode 100644 index 9f41618..0000000 --- a/assets/styles/components/_compliance.scss +++ /dev/null @@ -1,354 +0,0 @@ -.compliance { - @media print { - margin-top: -2rem; - } - .title { - color: #fff; - text-align: center; - - span { - color: $primary; - } - .print { - display: none; - } - @media print { - .not-print { - display: none; - } - .print { - display: inline-block; - } - font-size: 2.5rem !important; - font-weight: 700; - color: #000; - text-align: left; - - span { - color: #000; - font-weight: 400; - } - } - } - - .label { - @media print { - color: #000; - } - } - - .subtitle { - text-align: center; - } - - .p { - font-size: 0.857rem; - margin-bottom: 2rem; - text-align: center; - - @media print { - display: none; - } - } - - .field { - margin-bottom: 1.5rem; - - .input { - @media print { - display: none; - } - } - - .print-help { - display: none; - - @media print { - display: block; - word-break: break-all; - word-wrap: break-word; - font-weight: 700; - color: #000; - } - } - } - - .columns { - margin-top: 1.5rem; - - &-blocks { - @include touch { - margin: 1rem 0; - } - - @include desktop { - .column { - &.is-5-desktop { - width: calc(50% - 40px); - } - &.is-2-desktop { - width: 80px; - } - } - } - - @media print { - display: flex; - .column { - &.is-5-desktop { - flex: none; - width: 50%; - - &:first-child { - padding-right: 1rem !important; - } - - &:last-child { - margin-left: 1rem !important; - } - } - } - } - } - - &.has-verified { - @include touch { - display: flex; - flex-direction: column-reverse; - } - } - } - - .block { - height: 100%; - display: flex; - flex-direction: column; - - &-withdrawal { - @include mobile { - margin-top: 1rem; - } - } - - &-item { - display: flex; - justify-content: space-between; - - span { - color: $primary; - - @media print { - color: #000; - } - } - - &--title { - font-size: 1.25rem; - line-height: 1.25; - - @media print { - margin-bottom: 0.5rem; - color: #000; - - span { - font-weight: 700; - } - } - } - - &--status { - color: #616161; - margin-bottom: 2rem; - - &.is-success { - color: $primary; - } - - &.is-warning { - color: $warning; - } - - .fee { - color: #616161; - } - - @media print { - color: #000 !important; - font-size: 0.85rem; - - .fee { - color: #000; - } - } - } - - &--data { - font-size: 0.9rem; - - @include mobile { - flex-direction: column; - } - - .label { - font-size: inherit; - width: 106px; - flex: none; - } - - .value { - text-overflow: ellipsis; - overflow: hidden; - color: $primary; - margin-left: 1rem; - flex-grow: 1; - - @include mobile { - margin-left: 0; - text-align: left; - word-break: break-all; - overflow: visible; - margin-bottom: 1rem; - } - - @include touch { - &[data-value] { - font: 0/0 a; - color: transparent; - - &::after { - display: block; - font-size: 0.9rem; - line-height: 1.5; - font-family: 'PT Mono'; - color: $primary; - content: attr(data-value); - } - } - } - - &.copy { - cursor: pointer; - } - } - - @media print { - flex-direction: column; - margin-bottom: 1rem; - - .value { - overflow: visible; - word-break: break-all; - text-align: left; - margin-left: 0; - color: #000; - font-weight: 700; - - &[data-value] { - font: 0/0 a; - color: transparent; - - &::after { - display: block; - font-size: 0.9rem; - line-height: 1.5; - font-weight: 700; - font-family: 'PT Mono', monospace; - color: #000; - content: attr(data-value); - } - } - } - } - } - } - } - - .arrow { - height: 100%; - width: 100%; - background-size: 46px 41px; - background-repeat: no-repeat; - background-position: center; - background-image: url('../img/icons/arrow.svg'); - - @include touch { - background-size: 41px 46px; - width: 41px; - height: 46px; - transform: rotate(90deg); - margin: 0 auto; - } - } - - .verified { - margin: 1rem 0 1rem auto; - height: 100px; - width: 100px; - display: block; - - @include touch { - margin-top: 1rem; - margin-left: auto; - margin-right: auto; - } - - .stroke { - fill: none; - fill-rule: evenodd; - stroke: #94febf; - } - - .fill { - fill: #94febf; - fill-rule: evenodd; - } - - @media print { - .stroke { - stroke: #000; - } - - .fill { - fill: #000; - } - margin-top: -2rem; - } - } - - .generate { - &-container { - position: relative; - text-align: center; - margin: 2rem 0 !important; - - @media print { - display: none; - } - } - - @include desktop { - position: absolute; - left: 50%; - top: 50%; - transform: translate(-50%, -50%); - } - } - - .print { - display: none; - - @media print { - display: block; - color: #000; - } - - &-title { - font-size: 1.25rem; - margin-bottom: 0.5rem; - } - - &-p { - font-size: 0.9rem; - } - } -} diff --git a/assets/styles/components/_deposit.scss b/assets/styles/components/_deposit.scss deleted file mode 100644 index c96ed4e..0000000 --- a/assets/styles/components/_deposit.scss +++ /dev/null @@ -1,33 +0,0 @@ -.deposit { - &-buttons.field { - .button { - width: 90px; - } - - @include until($desktop) { - justify-content: space-between; - - .control { - flex-basis: calc(50% - .75rem); - - &:not(:last-child) { - margin-right: 0; - } - } - - .button { - width: 100%; - } - } - - - + .deposit-buttons.field { - margin-bottom: .25rem; - } - } - - &-p { - margin-bottom: 1rem; - font-size: .85rem; - } -} diff --git a/assets/styles/components/_dropdown.scss b/assets/styles/components/_dropdown.scss deleted file mode 100644 index ecc3ede..0000000 --- a/assets/styles/components/_dropdown.scss +++ /dev/null @@ -1,108 +0,0 @@ - -.dropdown.is-mobile-modal { - .dropdown-trigger { - .control { - .input { - &::after { - border: 2px solid $primary; - border-radius: 2px; - border-right: 0; - border-top: 0; - content: " "; - display: block; - margin-top: -0.5em; - pointer-events: none; - position: absolute; - top: 50%; - transform: rotate(-45deg); - transform-origin: center; - height: .625em; - width: .625em; - right: 1.125em; - transition: border-color .15s ease-in-out; - } - - &:hover { - &::after { - border-color: $white; - } - } - } - - &.is-loading { - .input { - &::after { - opacity: 0; - visibility: hidden; - } - } - - &::after { - height: 1.143rem; - width: 1.143rem; - right: .86rem; - top: .86rem; - border-radius: 1.143rem; - } - } - } - } - - &.is-expanded .dropdown-menu{ - @include touch { - max-width: 460px; - } - } - - .dropdown-menu { - > .dropdown-content { - overflow: hidden; - margin: 1px; - - > .dropdown-item { - font-size: 1rem; - padding: 0.675rem 1.25rem; - transition: color .15s ease-in-out, background-color .15s ease-in-out; - } - } - } - - &.is-active { - .dropdown-trigger { - .control { - .input { - border-color: $primary; - - &::after { - border-color: $primary; - } - } - } - } - } -} - -.dropdown-langs { - margin-bottom: .5rem; - - .dropdown-menu { - min-width: auto; - padding-top: 0; - padding-bottom: 4px; - } - - &.is-mobile-modal { - .dropdown-menu { - max-width: 100px; - } - } - - a.dropdown-item { - padding-right: 1rem; - line-height: 24px; - } - - .button { - margin-bottom: 0; - } -} diff --git a/assets/styles/components/_field.scss b/assets/styles/components/_field.scss deleted file mode 100644 index 81fd165..0000000 --- a/assets/styles/components/_field.scss +++ /dev/null @@ -1,196 +0,0 @@ -.field { - &:not(:last-child) { - margin-bottom: 1.25rem; - } - - .control { - &.has-icons-right { - .input { - padding-right: calc(1.25em - 1px); - - + .icon.is-right { - display: none; - } - } - } - } - - .label-with-buttons { - display: flex; - align-items: center; - - .label { - margin-right: auto; - - .b-tooltip { - .button { - margin-bottom: 0; - } - } - } - - .button { - margin-bottom: 0.5em; - - &.is-icon { - width: 20px; - height: 20px; - } - - @include touch { - .b-tooltip { - &:before, - &:after { - content: none; - } - } - } - - + .button { - margin-left: 0.75rem; - } - - &.is-primary-text { - color: $primary; - padding: 0; - height: auto; - background-color: transparent; - border: none; - border-bottom: 1px dotted $primary; - border-radius: 0; - font-size: 0.85rem; - line-height: 1; - - &:focus:not(:active) { - box-shadow: none; - } - } - } - } - - &.has-custom-field { - margin-top: -0.65rem; - - + .help { - margin-top: -1rem; - } - } - - &-withdraw { - margin-top: -0.6rem; - } - - &.has-addons { - .input { - border-right: 0; - } - - .control { - &.has-text { - border: 1px solid #393939; - transition: border-color 0.15s ease-in-out; - border-left: 0; - display: inline-flex; - align-items: center; - - span { - color: #6b6b6b; - font-size: 0.929rem; - } - - &:not(:last-child) { - border-right: 0; - padding-right: 0.643rem; - } - - &:last-child { - border-bottom-right-radius: 4px; - border-top-right-radius: 4px; - padding-right: 0.643rem; - } - } - - &.has-button { - display: inline-flex; - align-items: center; - transition: border-color 0.15s ease-in-out; - border: 1px solid #393939; - border-left: 0; - padding-right: 0.357rem; - - .button { - padding: 0.25rem 0.5rem; - font-size: 0.929rem; - height: 28px; - border-bottom-right-radius: 2px; - border-top-right-radius: 2px; - } - - &:not(:last-child) { - border-right: 0; - padding-right: 0.643rem; - } - - &:last-child { - border-bottom-right-radius: 4px; - border-top-right-radius: 4px; - - &:not(:only-child) .button { - border-bottom-left-radius: 2px; - border-top-left-radius: 2px; - } - } - - &:not(:first-child):not(:last-child) .button { - border-radius: 2px; - } - } - } - - &:hover { - .input, - .control { - border-color: $input-hover-border-color; - } - } - - &:focus, - &:focus-within { - .input, - .control { - border-color: $input-focus-border-color; - } - } - } - - &.is-warning { - .has-addons { - .input, - .control { - border-color: $warning; - } - } - } - - &.is-grouped { - @include mobile { - flex-wrap: wrap; - - > .field.is-expanded { - &:not(:last-child) { - margin-right: 0; - margin-bottom: 1.25rem; - } - - flex: none; - width: 100%; - } - } - } - - & > .field { - + .help { - margin-top: -1rem; - } - } -} diff --git a/assets/styles/components/_fieldset.scss b/assets/styles/components/_fieldset.scss deleted file mode 100644 index c773bab..0000000 --- a/assets/styles/components/_fieldset.scss +++ /dev/null @@ -1,73 +0,0 @@ -fieldset[disabled] { - cursor: not-allowed; - position: relative; - filter: grayscale(70%); - color: #5e5e5e; - - .tooltip { - &:after { - position: absolute; - opacity: 0; - visibility: hidden; - pointer-events: none; - content: attr(data-label); - padding: 1rem 2rem; - border-radius: $radius-large; - font-size: 0.85rem; - font-weight: $weight-normal; - box-shadow: 0px 1px 2px 1px rgba(0, 1, 0, 0.2); - z-index: 888; - display: flex-block; - text-align: center; - width: 240px; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - background-color: #393939; - color: #eee; - } - - &:not([data-label=""]):after { - transition-delay: inherit; - opacity: 1; - visibility: visible; - } - } - - .notice { - position: relative; - border-color: #5c4d3c; - color: #5e5e5e; - } - - .label { - @include unselectable; - color: #5e5e5e; - - &.is-primary { - color: #558b6b; - } - } - - .b-radio { - &.radio { - &:focus { - input[type=radio] { - + .check { - box-shadow: none; - } - } - } - - input[type=radio] { - + .check { - cursor: not-allowed; - } - } - } - } - - .withdraw-data-item span { - color: #4f5e57; - } -} diff --git a/assets/styles/components/_flag.scss b/assets/styles/components/_flag.scss deleted file mode 100644 index 4bbabab..0000000 --- a/assets/styles/components/_flag.scss +++ /dev/null @@ -1,24 +0,0 @@ -.flag-icon { - background-size: contain; - background-position: 50%; - background-repeat: no-repeat; - position: relative; - display: inline-block; - height: 24px; - width: 24px; - &:before { - content: '\00a0'; - } -} - -// https://github.com/HatScripts/circle-flags/ - -@mixin flag-icon($country) { - .flag-icon-#{$country} { - background-image: url('../img/flags/#{$country}.svg'); - } -} -$countries: es fr gb ru tr uk cn; -@each $country in $countries { - @include flag-icon($country); -} diff --git a/assets/styles/components/_fonts.scss b/assets/styles/components/_fonts.scss deleted file mode 100644 index be419e8..0000000 --- a/assets/styles/components/_fonts.scss +++ /dev/null @@ -1,14 +0,0 @@ -@font-face { - font-family: 'PT Mono'; - src: local('PT Mono'), local('PTMono-Regular'), url('../fonts/PTMono-Regular.woff2') format('woff2'); - font-display: swap; - font-weight: 400; - font-style: normal; -} -@font-face { - font-family: 'PT Mono'; - src: local('PT Mono Bold'), local('PTMono-Bold'), url('../fonts/PTMono-Bold.woff2') format('woff2'); - font-display: swap; - font-weight: 700; - font-style: normal; -} diff --git a/assets/styles/components/_footer.scss b/assets/styles/components/_footer.scss deleted file mode 100644 index b7a348a..0000000 --- a/assets/styles/components/_footer.scss +++ /dev/null @@ -1,144 +0,0 @@ -.footer { - font-size: 0.7rem; - line-height: 2; - - @media print { - display: none; - } - - .level { - &-item { - &.is-column { - flex-direction: column; - } - } - - &-subitem { - display: flex; - - @include mobile { - justify-content: center; - - & + .level-subitem { - margin-top: 5px; - } - } - } - - &-left { - .level-item { - &.is-column { - @include tablet { - align-items: flex-start; - } - } - } - - & + .level-right { - @include mobile { - margin-top: 5px; - } - } - } - - &-right { - .level-item { - &.is-column { - @include tablet { - align-items: flex-end; - } - } - } - } - } - - @include tablet-only { - .level { - &-left { - .footer-address__name { - padding-right: 5px; - } - } - - &-right { - .footer-address { - flex-direction: column; - align-items: flex-end; - } - } - } - } - - &-address { - flex-wrap: wrap; - - &__name { - @include desktop { - padding-right: 5px; - } - } - - &__value { - color: $primary; - - @include mobile { - width: 100%; - @include noWrap; - text-align: center; - } - &:hover { - text-decoration: underline; - } - } - - .b-tooltip { - @include mobile { - flex-direction: column; - } - } - } - - .footer-version__value { - color: $primary; - padding-left: 5px; - - @include mobile { - margin-bottom: 5px; - } - } - - .buttons { - .button.is-icon:not(:last-child):not(.is-fullwidth) { - margin-right: 1.286rem; - } - - .break { - margin-left: 0; - margin-right: 1.286rem; - background-color: #2a2a2a; - } - - .icon, - .trnd { - width: 1.714rem; - height: 1.714rem; - } - - @include until(425px) { - justify-content: center; - max-width: 200px; - - .button.is-icon:not(:last-child):not(.is-fullwidth) { - margin: 0.5rem 0.7145rem; - } - - .break { - margin: 0.5rem 0.7145rem; - } - - .dropdown-langs { - margin: 0.5rem 0.7145rem; - } - } - } -} diff --git a/assets/styles/components/_has-eth-purchase.scss b/assets/styles/components/_has-eth-purchase.scss deleted file mode 100644 index 94ba2d0..0000000 --- a/assets/styles/components/_has-eth-purchase.scss +++ /dev/null @@ -1,145 +0,0 @@ -.field.has-eth-purchase { - border: $button-border-width solid $button-border-color; - border-radius: 4px; - background-color: $button-background-color; - padding: 1.28rem; - position: relative; - overflow: hidden; - transition: border-color 0.15s ease-in-out; - - .columns { - margin-left: -1.28rem; - margin-right: -1.28rem; - margin-top: -1.28rem; - } - - .columns:last-child { - margin-bottom: -1.28rem; - } - - .column { - padding: 1.28rem; - - &:first-child { - padding-right: 0.64rem; - } - - &:last-child { - padding-left: 0.64rem; - } - } - - .input { - border-color: transparent; - background-color: $primary-invert; - text-align: center; - font-size: 2rem; - align-items: center; - justify-content: center; - padding: 0; - height: 3.57rem; - box-shadow: none; - transition: color 0.15s ease-in-out; - - @include until(375px) { - font-size: 1.6rem; - } - } - - .control.has-icons-right { - .input { - padding-right: 0; - } - } - - .currency { - font-size: 1.125rem; - text-align: right; - line-height: 1; - margin-bottom: 0.78rem; - transition: color 0.15s ease-in-out; - } - - .withdraw-data { - margin-top: 0.78rem; - } - - .is-inverted { - background: $primary-invert; - - .currency { - color: $primary; - } - } - - .arrow-container { - padding: 0; - flex: none; - width: 30px; - margin: -1px -2px; - position: relative; - - .arrow { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - width: 100%; - height: 100%; - - .arrow-border { - transition: fill 0.15s ease-in-out; - } - } - } - - &.is-warning { - border-color: $warning; - - .is-light { - .currency { - color: $warning; - } - - .input { - color: $warning; - } - } - - .arrow-container { - .arrow { - .arrow-border { - fill: $warning; - } - } - } - } - - &.is-primary { - border-color: $primary; - - .is-light { - .currency { - color: $primary; - } - - .input { - color: $primary; - } - } - - .arrow-container { - .arrow { - .arrow-border { - fill: $primary; - } - } - } - } - - &.is-disabled { - cursor: not-allowed; - opacity: 0.5; - } -} diff --git a/assets/styles/components/_header.scss b/assets/styles/components/_header.scss deleted file mode 100644 index 9b350b4..0000000 --- a/assets/styles/components/_header.scss +++ /dev/null @@ -1,136 +0,0 @@ -.header { - padding-top: 20px; - padding-left: 0.75rem; - padding-right: 0.75rem; - - @include tablet { - padding-left: 1.5rem; - padding-right: 1.5rem; - } - - @media (min-width: 769px) and (max-width: 900px) { - > .container { - flex-direction: column; - - .navbar-brand { - align-self: center; - } - } - } - - @include desktop { - > .container { - .navbar-brand { - margin-left: 0; - - .navbar-item { - padding-left: 0; - } - } - } - } - - @media print { - padding-top: 0; - } - - .navbar-brand { - align-items: center; - } - - .logo { - height: 40px; - - @media print { - path { - fill: #000; - } - } - } - - .navbar-end { - @include tablet { - display: flex; - align-items: center; - justify-content: center; - } - } - - .navbar-item { - &.has-tag { - display: flex; - align-items: center; - } - - &--tag { - margin-left: 0.05rem; - margin-top: -0.55rem; - width: 4px; - height: 4px; - background-color: $primary; - border-radius: 100%; - box-shadow: 0 0 1px 1px $primary; - } - } - - .navbar-link { - &:not(.is-arrowless) { - padding-right: 2rem; - - &::after { - right: 0.714rem; - } - } - } - - @include mobile { - .navbar-dropdown.is-boxed { - visibility: visible; - } - } - - @include tablet { - .navbar-dropdown { - padding: 0; - overflow: hidden; - - a.navbar-item.is-active:not(:focus):not(:hover) { - background-color: $dropdown-item-active-background-color; - } - } - } - - @include tablet-only { - .buttons > .button:not(.network-button) { - span:first-child:not(:last-child) { - margin-right: 0; - } - - span:not(.icon) { - display: none; - } - } - } - - .buttons { - .b-tooltip { - margin-right: 0.714rem; - - .tooltip-content { - text-align: center; - top: 100%; - display: block !important; - pointer-events: none; - opacity: 0; - transition: opacity $speed-slow $easing; - } - - &:hover { - .tooltip-content { - opacity: 1; - pointer-events: all; - } - } - } - } -} diff --git a/assets/styles/components/_icon.scss b/assets/styles/components/_icon.scss deleted file mode 100644 index 0b1fd29..0000000 --- a/assets/styles/components/_icon.scss +++ /dev/null @@ -1,408 +0,0 @@ -.icon { - background-position: center; - background-repeat: no-repeat; - background-size: contain; - - &-info { - background-image: url('../img/icons/info.svg'); - } - &-update { - background-image: url('../img/icons/refresh.svg'); - } - &-eye { - background-image: url('../img/icons/eye.svg'); - } - &-copy { - background-image: url('../img/icons/copy.svg'); - } - &-save { - background-image: url('../img/icons/save.svg'); - } - &-close { - background-image: url('../img/icons/close.svg'); - } - &-link { - background-image: url('../img/icons/link.svg'); - } - - &.information { - background-image: url('../img/icons/warning.svg'); - } - - &.alert { - background-image: url('../img/icons/alert.svg'); - } - - &-chevron-up { - background-image: url('../img/icons/chevron-up.svg'); - } - - &-arrow-up { - background-image: url('../img/icons/arrow-up.svg'); - } - - &.is-desc { - transform: rotate(180deg); - } -} - -.trnd { - height: 1.286rem; - width: 1.286rem; - background-color: $primary; - mask-position: center; - mask-size: contain; - mask-repeat: no-repeat; - transition: background-color 0.15s ease-in-out; - - .has-text-warning & { - background-color: $warning; - } - - .has-text-danger & { - background-color: $danger; - } - - &.trnd-36px { - height: 2.286rem; - width: 2.286rem; - } - - .trnd-48px { - height: 2.286rem; - width: 2.286rem; - } - - &.trnd-48px { - height: 3.429rem; - width: 3.429rem; - } - - &-settings { - mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 0C5.44769 0 5 0.447716 5 1V3C5 3.55228 5.44769 4 6 4C6.55231 4 7 3.55228 7 3H17C17.5523 3 18 2.55228 18 2C18 1.44772 17.5523 1 17 1H7C7 0.447716 6.55231 0 6 0Z' fill='%230E1633'/%3E%3Cpath d='M0 2C0 1.44772 0.447693 1 1 1H3V3H1C0.447693 3 0 2.55228 0 2Z' fill='%230E1633'/%3E%3Cpath d='M0 9C0 8.44772 0.447693 8 1 8H7V10H1C0.447693 10 0 9.55228 0 9Z' fill='%230E1633'/%3E%3Cpath d='M17 8H11C11 7.44772 10.5523 7 10 7C9.44769 7 9 7.44772 9 8V10C9 10.5523 9.44769 11 10 11C10.5523 11 11 10.5523 11 10H17C17.5523 10 18 9.55228 18 9C18 8.44772 17.5523 8 17 8Z' fill='%230E1633'/%3E%3Cpath d='M1 15C0.447693 15 0 15.4477 0 16C0 16.5523 0.447693 17 1 17H11V15H1Z' fill='%230E1633'/%3E%3Cpath d='M15 15H17C17.5523 15 18 15.4477 18 16C18 16.5523 17.5523 17 17 17H15C15 17.5523 14.5523 18 14 18C13.4477 18 13 17.5523 13 17V15C13 14.4477 13.4477 14 14 14C14.5523 14 15 14.4477 15 15Z' fill='%230E1633'/%3E%3C/svg%3E%0A"); - } - - &-wallet { - mask-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 10C10.4477 10 10 10.4477 10 11C10 11.5523 10.4477 12 11 12H13C13.5523 12 14 11.5523 14 11C14 10.4477 13.5523 10 13 10H11Z' fill='%230E1633'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 0C1.79083 0 0 1.79086 0 4V14C0 16.2091 1.79083 18 4 18H14C16.2092 18 18 16.2091 18 14V8C18 5.79086 16.2092 4 14 4H12C12 1.79086 10.2092 0 8 0H4ZM2 6V14C2 15.1046 2.89545 16 4 16H14C15.1046 16 16 15.1046 16 14V8C16 6.89543 15.1046 6 14 6H2ZM2 4C2 2.89543 2.89545 2 4 2H8C9.10455 2 10 2.89543 10 4H2Z' fill='%230E1633'/%3E%3C/svg%3E"); - } - - &-logout { - mask-image: url("data:image/svg+xml,%3Csvg width='19' height='18' viewBox='0 0 19 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 0C1.79083 0 0 1.79086 0 4V14C0 16.2091 1.79083 18 4 18H10C10.5523 18 11 17.5523 11 17C11 16.4477 10.5523 16 10 16H4C2.89545 16 2 15.1046 2 14V4C2 2.89543 2.89545 2 4 2H10C10.5523 2 11 1.55228 11 1C11 0.447716 10.5523 0 10 0H4Z' fill='%230E1633'/%3E%3Cpath d='M15.1213 5.70708C14.7308 5.31655 14.0976 5.31655 13.7071 5.70708C13.3165 6.0976 13.3165 6.73077 13.7071 7.12129L14.5858 7.99997H6C5.44769 7.99997 5 8.44769 5 8.99997C5 9.55225 5.44769 9.99997 6 9.99997H14.6406L13.707 10.9336C13.3165 11.3241 13.3165 11.9571 13.707 12.3476C14.0975 12.7381 14.7306 12.7381 15.1211 12.3476L17.7148 9.75388C17.9575 9.51125 18.0494 9.17508 17.9905 8.86153C17.9597 8.63882 17.8555 8.43955 17.7031 8.28889L15.1213 5.70708Z' fill='%230E1633'/%3E%3C/svg%3E%0A"); - } - - &-arrow-down { - mask-image: url('../img/icons/arrow-down.svg'); - } - - &-arrow-up { - transform: rotate(180deg); - mask-image: url('../img/icons/arrow-down.svg'); - } - - &-arrow-up-down { - mask-image: url('../img/icons/arrow-up-down.svg'); - } - - &-tool { - mask-image: url('../img/icons/tool.svg'); - } - - &-alert { - mask-image: url('../img/icons/warning.svg'); - } - - &-plus { - mask-image: url('../img/icons/plus.svg'); - } - - &-close { - mask-image: url('../img/icons/close.svg'); - } - - &-check { - mask-image: url('../img/icons/check.svg'); - } - - &-arrow-left { - mask-image: url('../img/icons/arrow-left.svg'); - } - - &-arrow-right { - mask-image: url('../img/icons/arrow-left.svg'); - transform: rotate(-180deg); - } - - &-logo { - mask-image: url('../img/logo.svg'); - } - - &-loading { - &.trnd-48px { - height: 2.286rem; - width: 2.286rem; - } - background: conic-gradient(from 180deg at 50% 50%, $primary 0deg, rgba(255, 255, 255, 0) 360deg); - animation: spin 2s linear infinite; - position: relative; - border-radius: 100%; - - &:after { - content: ''; - position: absolute; - height: 22px; - width: 22px; - background: $notification-background-color; - left: calc(50% - 11px); - top: calc(50% - 11px); - border-radius: 100%; - } - - .is-small & { - height: 1rem; - width: 1rem; - - &:after { - height: 8px; - width: 8px; - left: calc(50% - 4px); - top: calc(50% - 4px); - } - } - } - - &-info { - &.trnd-48px { - height: 2.286rem; - width: 2.286rem; - } - background-image: url('../img/icons/info.svg'); - background-position: center; - background-repeat: no-repeat; - border-radius: 100%; - } - &-success { - &.trnd-48px { - height: 2.286rem; - width: 2.286rem; - } - background-image: url('../img/icons/notice/success.svg'); - background-position: center; - background-repeat: no-repeat; - border-radius: 100%; - } - &-warning { - &.trnd-48px { - height: 2.286rem; - width: 2.286rem; - } - background-image: url('../img/icons/notice/warning.svg'); - background-position: center; - background-repeat: no-repeat; - border-radius: 100%; - background-color: $warning; - } - &-danger { - &.trnd-48px { - height: 2.286rem; - width: 2.286rem; - } - background-image: url('../img/icons/notice/danger.svg'); - background-position: center; - background-repeat: no-repeat; - border-radius: 100%; - background-color: $danger; - } - - &-more { - mask-image: url('../img/icons/more.svg'); - } - - &-copy { - mask-image: url('../img/icons/copy.svg'); - } - - &-decrypt { - mask-image: url('../img/icons/decrypt.svg'); - } - - &-remove { - mask-image: url('../img/icons/remove.svg'); - } - - &-account { - mask-image: url('../img/icons/account.svg'); - } - - &-astronaut { - mask-image: url('../img/icons/astronaut.svg'); - } - - &-account-key { - mask-image: url('../img/icons/account/key.svg'); - } - - &-account-notes { - mask-image: url('../img/icons/account/notes.svg'); - } - - &-account-raw { - mask-image: url('../img/icons/account/raw.svg'); - } - - &-account-recover { - mask-image: url('../img/icons/account/recover.svg'); - } - - &-account-remove { - mask-image: url('../img/icons/account/remove.svg'); - } - - &-account-rpc { - mask-image: url('../img/icons/account/rpc.svg'); - } - - &-account-setup { - mask-image: url('../img/icons/account/setup.svg'); - } - - &-account-wallet { - mask-image: url('../img/icons/account/wallet.svg'); - } - - &-stats { - mask-image: url("data:image/svg+xml,%3Csvg width='22' height='24' viewBox='0 0 22 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 0C12.4477 0 12 0.447693 12 1V19C12 19.5523 12.4477 20 13 20C13.5523 20 14 19.5523 14 19V1C14 0.447693 13.5523 0 13 0Z' fill='%23838BAD'/%3E%3Cpath d='M8 6C8 5.44769 8.44769 5 9 5C9.55231 5 10 5.44769 10 6V19C10 19.5523 9.55231 20 9 20C8.44769 20 8 19.5523 8 19V6Z' fill='%23838BAD'/%3E%3Cpath d='M5 8C4.44769 8 4 8.44769 4 9V19C4 19.5523 4.44769 20 5 20C5.55231 20 6 19.5523 6 19V9C6 8.44769 5.55231 8 5 8Z' fill='%23838BAD'/%3E%3Cpath d='M0 13C0 12.4477 0.447693 12 1 12C1.55231 12 2 12.4477 2 13V19C2 19.5523 1.55231 20 1 20C0.447693 20 0 19.5523 0 19V13Z' fill='%23838BAD'/%3E%3Cpath d='M0 23C0 22.4477 0.447693 22 1 22H21C21.5523 22 22 22.4477 22 23C22 23.5523 21.5523 24 21 24H1C0.447693 24 0 23.5523 0 23Z' fill='%23838BAD'/%3E%3Cpath d='M16 9C16 8.44769 16.4477 8 17 8C17.5523 8 18 8.44769 18 9V19C18 19.5523 17.5523 20 17 20C16.4477 20 16 19.5523 16 19V9Z' fill='%23838BAD'/%3E%3Cpath d='M21 5C20.4477 5 20 5.44769 20 6V19C20 19.5523 20.4477 20 21 20C21.5523 20 22 19.5523 22 19V6C22 5.44769 21.5523 5 21 5Z' fill='%23838BAD'/%3E%3C/svg%3E%0A"); - } - - &-matrix { - mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27.9 32'%3E%3Cg transform='translate(-.095 .005)' fill='%236b6b6b'%3E%3Cpath d='m27.1 31.2v-30.5h-2.19v-0.732h3.04v32h-3.04v-0.732z'/%3E%3Cpath d='m8.23 10.4v1.54h0.044c0.385-0.564 0.893-1.03 1.49-1.37 0.58-0.323 1.25-0.485 1.99-0.485 0.72 0 1.38 0.14 1.97 0.42 0.595 0.279 1.05 0.771 1.36 1.48 0.338-0.5 0.796-0.941 1.38-1.32 0.58-0.383 1.27-0.574 2.06-0.574 0.602 0 1.16 0.074 1.67 0.22 0.514 0.148 0.954 0.383 1.32 0.707 0.366 0.323 0.653 0.746 0.859 1.27 0.205 0.522 0.308 1.15 0.308 1.89v7.63h-3.13v-6.46c0-0.383-0.015-0.743-0.044-1.08-0.0209-0.307-0.103-0.607-0.242-0.882-0.133-0.251-0.336-0.458-0.584-0.596-0.257-0.146-0.606-0.22-1.05-0.22-0.44 0-0.796 0.085-1.07 0.253-0.272 0.17-0.485 0.39-0.639 0.662-0.159 0.287-0.264 0.602-0.308 0.927-0.052 0.347-0.078 0.697-0.078 1.05v6.35h-3.13v-6.4c0-0.338-7e-3 -0.673-0.021-1-0.0114-0.314-0.0749-0.623-0.188-0.916-0.108-0.277-0.3-0.512-0.55-0.673-0.258-0.168-0.636-0.253-1.14-0.253-0.198 0.0083-0.394 0.042-0.584 0.1-0.258 0.0745-0.498 0.202-0.705 0.374-0.228 0.184-0.422 0.449-0.584 0.794-0.161 0.346-0.242 0.798-0.242 1.36v6.62h-3.13v-11.4z'/%3E%3Cpath d='m0.936 0.732v30.5h2.19v0.732h-3.04v-32h3.03v0.732z'/%3E%3C/g%3E%3C/svg%3E"); - } - - &-twitter { - mask-image: url("data:image/svg+xml,%3Csvg width='24' height='20' viewBox='0 0 24 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 2.3037C23.1075 2.69439 22.1565 2.95335 21.165 3.07909C22.185 2.47135 22.9635 1.51634 23.3295 0.365239C22.3785 0.93106 21.3285 1.33073 20.2095 1.55376C19.3065 0.594262 18.0195 0 16.6155 0C13.8915 0 11.6985 2.2064 11.6985 4.91127C11.6985 5.30046 11.7315 5.67468 11.8125 6.03094C7.722 5.83185 4.1025 3.87543 1.671 0.895135C1.2465 1.6301 0.9975 2.47135 0.9975 3.37696C0.9975 5.07742 1.875 6.58478 3.183 7.45746C2.3925 7.44249 1.617 7.21347 0.96 6.85272C0.96 6.86769 0.96 6.88715 0.96 6.90661C0.96 9.29264 2.6655 11.2745 4.902 11.7311C4.5015 11.8403 4.065 11.8927 3.612 11.8927C3.297 11.8927 2.979 11.8748 2.6805 11.8089C3.318 13.7533 5.127 15.1829 7.278 15.2293C5.604 16.536 3.4785 17.3234 1.1775 17.3234C0.774 17.3234 0.387 17.3054 0 17.2561C2.1795 18.6586 4.7625 19.4595 7.548 19.4595C16.602 19.4595 21.552 11.9751 21.552 5.48757C21.552 5.27052 21.5445 5.06096 21.534 4.85289C22.5105 4.16133 23.331 3.29763 24 2.3037Z' fill='%23838BAD'/%3E%3C/svg%3E%0A"); - } - - &-telegram { - mask-image: url("data:image/svg+xml,%3Csvg width='24' height='20' viewBox='0 0 24 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.4174 13.1813L9.0204 18.7653C9.58841 18.7653 9.83441 18.5213 10.1294 18.2283L12.7925 15.6833L18.3106 19.7243C19.3226 20.2883 20.0357 19.9913 20.3087 18.7933L23.9308 1.8214L23.9318 1.8204C24.2528 0.324404 23.3907 -0.260593 22.4047 0.106405L1.1142 8.25736C-0.33883 8.82136 -0.31683 9.63136 0.867199 9.99835L6.31033 11.6913L18.9536 3.78039C19.5486 3.38639 20.0897 3.60439 19.6446 3.99839L9.4174 13.1813Z' fill='%23838BAD'/%3E%3C/svg%3E%0A"); - } - - &-github { - mask-image: url("data:image/svg+xml,%3Csvg width='24' height='23' viewBox='0 0 24 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 0C5.37 0 0 5.28 0 11.792C0 17.003 3.438 21.422 8.205 22.98C8.805 23.091 9.025 22.726 9.025 22.413C9.025 22.133 9.015 21.391 9.01 20.408C5.672 21.119 4.968 18.826 4.968 18.826C4.422 17.465 3.633 17.101 3.633 17.101C2.546 16.37 3.717 16.385 3.717 16.385C4.922 16.467 5.555 17.6 5.555 17.6C6.625 19.403 8.364 18.882 9.05 18.581C9.158 17.818 9.467 17.299 9.81 17.004C7.145 16.709 4.344 15.695 4.344 11.177C4.344 9.89 4.809 8.838 5.579 8.013C5.444 7.715 5.039 6.516 5.684 4.892C5.684 4.892 6.689 4.576 8.984 6.101C9.944 5.839 10.964 5.709 11.984 5.703C13.004 5.709 14.024 5.839 14.984 6.101C17.264 4.576 18.269 4.892 18.269 4.892C18.914 6.516 18.509 7.715 18.389 8.013C19.154 8.838 19.619 9.89 19.619 11.177C19.619 15.707 16.814 16.704 14.144 16.994C14.564 17.348 14.954 18.071 14.954 19.176C14.954 20.754 14.939 22.022 14.939 22.405C14.939 22.714 15.149 23.083 15.764 22.965C20.565 21.417 24 16.995 24 11.792C24 5.28 18.627 0 12 0Z' fill='%23838BAD'/%3E%3C/svg%3E%0A"); - } - - &-discord { - mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M297.216 243.2c0 15.616-11.52 28.416-26.112 28.416-14.336 0-26.112-12.8-26.112-28.416s11.52-28.416 26.112-28.416c14.592 0 26.112 12.8 26.112 28.416zm-119.552-28.416c-14.592 0-26.112 12.8-26.112 28.416s11.776 28.416 26.112 28.416c14.592 0 26.112-12.8 26.112-28.416.256-15.616-11.52-28.416-26.112-28.416zM448 52.736V512c-64.494-56.994-43.868-38.128-118.784-107.776l13.568 47.36H52.48C23.552 451.584 0 428.032 0 398.848V52.736C0 23.552 23.552 0 52.48 0h343.04C424.448 0 448 23.552 448 52.736zm-72.96 242.688c0-82.432-36.864-149.248-36.864-149.248-36.864-27.648-71.936-26.88-71.936-26.88l-3.584 4.096c43.52 13.312 63.744 32.512 63.744 32.512-60.811-33.329-132.244-33.335-191.232-7.424-9.472 4.352-15.104 7.424-15.104 7.424s21.248-20.224 67.328-33.536l-2.56-3.072s-35.072-.768-71.936 26.88c0 0-36.864 66.816-36.864 149.248 0 0 21.504 37.12 78.08 38.912 0 0 9.472-11.52 17.152-21.248-32.512-9.728-44.8-30.208-44.8-30.208 3.766 2.636 9.976 6.053 10.496 6.4 43.21 24.198 104.588 32.126 159.744 8.96 8.96-3.328 18.944-8.192 29.44-15.104 0 0-12.8 20.992-46.336 30.464 7.68 9.728 16.896 20.736 16.896 20.736 56.576-1.792 78.336-38.912 78.336-38.912z'%3E%3C/path%3E%3C/svg%3E"); - } - - &-git { - mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='92pt' height='92pt' viewBox='0 0 92 92'%3E%3Cpath style='stroke:none;fill-rule:nonzero;fill:%6b6b6b;fill-opacity:1' d='M90.156 41.965 50.036 1.848a5.918 5.918 0 0 0-8.372 0l-8.328 8.332 10.566 10.566a7.03 7.03 0 0 1 7.23 1.684 7.034 7.034 0 0 1 1.669 7.277l10.187 10.184a7.028 7.028 0 0 1 7.278 1.672 7.04 7.04 0 0 1 0 9.957 7.05 7.05 0 0 1-9.965 0 7.044 7.044 0 0 1-1.528-7.66l-9.5-9.497V59.36a7.04 7.04 0 0 1 1.86 11.29 7.04 7.04 0 0 1-9.957 0 7.04 7.04 0 0 1 0-9.958 7.06 7.06 0 0 1 2.304-1.539V33.926a7.049 7.049 0 0 1-3.82-9.234L29.242 14.272 1.73 41.777a5.925 5.925 0 0 0 0 8.371L41.852 90.27a5.925 5.925 0 0 0 8.37 0l39.934-39.934a5.925 5.925 0 0 0 0-8.371'/%3E%3C/svg%3E"); - } - - &-discourse { - mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M225.9 32C103.3 32 0 130.5 0 252.1 0 256 .1 480 .1 480l225.8-.2c122.7 0 222.1-102.3 222.1-223.9C448 134.3 348.6 32 225.9 32zM224 384c-19.4 0-37.9-4.3-54.4-12.1L88.5 392l22.9-75c-9.8-18.1-15.4-38.9-15.4-61 0-70.7 57.3-128 128-128s128 57.3 128 128-57.3 128-128 128z'%3E%3C/path%3E%3C/svg%3E"); - } - - &-medium { - mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M71.5 142.3c.6-5.9-1.7-11.8-6.1-15.8L20.3 72.1V64h140.2l108.4 237.7L364.2 64h133.7v8.1l-38.6 37c-3.3 2.5-5 6.7-4.3 10.8v272c-.7 4.1 1 8.3 4.3 10.8l37.7 37v8.1H307.3v-8.1l39.1-37.9c3.8-3.8 3.8-5 3.8-10.8V171.2L241.5 447.1h-14.7L100.4 171.2v184.9c-1.1 7.8 1.5 15.6 7 21.2l50.8 61.6v8.1h-144v-8L65 377.3c5.4-5.6 7.9-13.5 6.5-21.2V142.3z'%3E%3C/path%3E%3C/svg%3E"); - } - - &-account { - mask-image: url('../img/icons/account.svg'); - } - - &-astronaut { - mask-image: url('../img/icons/astronaut.svg'); - } - - &-ethereum-mainnet { - mask-image: url('../img/icons/ethereum.svg'); - } - - &-ethereum-goerli { - mask-image: url('../img/icons/goerli.svg'); - } - - &-optimism { - mask-image: url('../img/icons/optimism.svg'); - } - - &-arbitrum-one { - mask-image: url('../img/icons/arbitrum.svg'); - } - - &-binance-smart-chain { - mask-image: url('../img/icons/binance.svg'); - } - - &-polygon-matic-network { - mask-image: url('../img/icons/polygon.svg'); - } - - &-gnosis-chain { - mask-image: url('../img/icons/gnosis.svg'); - } - - &-avalanche-mainnet { - mask-image: url('../img/icons/avalanche.svg'); - } - - &-account-key { - mask-image: url('../img/icons/account/key.svg'); - } - - &-account-notes { - mask-image: url('../img/icons/account/notes.svg'); - } - - &-account-raw { - mask-image: url('../img/icons/account/raw.svg'); - } - - &-account-recover { - mask-image: url('../img/icons/account/recover.svg'); - } - - &-account-remove { - mask-image: url('../img/icons/account/remove.svg'); - } - - &-account-rpc { - mask-image: url('../img/icons/account/rpc.svg'); - } - - &-account-setup { - mask-image: url('../img/icons/account/setup.svg'); - } - - &-account-wallet { - mask-image: url('../img/icons/account/wallet.svg'); - } - - &-account-file { - mask-image: url('../img/icons/account/file.svg'); - } - - &-account-balance { - mask-image: url('../img/icons/account/balance.svg'); - } - - &-metamask { - mask-image: url('../img/icons/metamask.svg'); - } - - &-walletConnect { - mask-image: url('../img/walletConnect.svg'); - } - - &-open-book { - mask-image: url('../img/icons/open-book.svg'); - } -} - -@keyframes spin { - 0% { - transform: rotate(0deg); - } - to { - transform: rotate(-1turn); - } -} diff --git a/assets/styles/components/_info.scss b/assets/styles/components/_info.scss deleted file mode 100644 index 4169cf0..0000000 --- a/assets/styles/components/_info.scss +++ /dev/null @@ -1,52 +0,0 @@ -.warning { - color: #ff8a00; - border-color: #ff8a00; - border-width: 2px; - font-size: 1.5em; -} - -.info { - &-name { - font-size: 0.929rem; - } - - &-value { - font-size: 1.429rem; - color: $primary; - font-weight: 700; - - &.has-tooltip { - display: flex; - align-items: center; - - .b-tooltip { - margin-left: 0.75rem; - - .tooltip-trigger { - height: 18px; - } - } - - @include mobile { - justify-content: center; - } - } - } - - &-line { - display: none; - - @include desktop { - width: 192px; - height: 42px; - display: inline-block; - position: relative; - background-image: url('../img/info-line.svg'); - margin-top: -0.643rem; - - .column:last-child & { - transform: scaleX(-1); - } - } - } -} diff --git a/assets/styles/components/_label.scss b/assets/styles/components/_label.scss deleted file mode 100644 index af03c08..0000000 --- a/assets/styles/components/_label.scss +++ /dev/null @@ -1,14 +0,0 @@ -.label { - font-size: 1.125rem; - display: flex; - align-items: center; - flex-wrap: wrap; - - .b-tooltip { - margin: 0 .45rem; - } - - &.is-primary { - color: $primary; - } -} diff --git a/assets/styles/components/_loading.scss b/assets/styles/components/_loading.scss deleted file mode 100644 index 71d59cc..0000000 --- a/assets/styles/components/_loading.scss +++ /dev/null @@ -1,55 +0,0 @@ -.loading-overlay { - &.is-full-page { - .loading-background { - background:rgba(0,0,0,0.85); - } - } - .loading-container { - position: relative; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - - .loading-tornado { - &:after { - content: ''; - display: block; - height: 60px; - width: 60px; - background-image: url('../img/logo.svg'); - animation: spinAroundReverse 2000ms infinite linear; - } - } - - .loading-message { - padding-top: .5rem; - color: $primary; - text-align: center; - - + .button { - margin-top: .5rem; - } - } - .loading-alert { - padding-top: 1.5rem; - color: $primary; - font-size: 0.8rem; - text-align: center; - display: flex; - flex-direction: column; - align-items: center; - .button { - margin-top: 1rem; - font-size: 0.8rem; - } - } - } -} - -@keyframes spinAroundReverse { - from { - transform: rotate(359deg); } - to { - transform: rotate(0deg); } -} diff --git a/assets/styles/components/_modal.scss b/assets/styles/components/_modal.scss deleted file mode 100644 index 053f717..0000000 --- a/assets/styles/components/_modal.scss +++ /dev/null @@ -1,62 +0,0 @@ -.modal.is-pinned { - justify-content: flex-start; - - .animation-content { - margin-top: 4rem; - } - - @include desktop { - @media screen and (max-height: 720px - 1px) { - .dropdown { - .background { - display: block; - } - - .dropdown-menu { - position: fixed; - width: calc(100vw - 40px); - max-width: 460px; - max-height: calc(100vh - 120px); - top: 25% !important; - left: 50% !important; - bottom: auto !important; - right: auto !important; - transform: translate3d(-50%, -25%, 0); - white-space: normal; - overflow-y: auto; - z-index: 50; - } - } - } - - @media screen and (min-height: 720px) { - .box-modal { - position: static; - } - - .animation-content { - position: relative; - } - - .b-tabs .tab-content { - position: static; - } - - .dropdown { - position: static; - - .dropdown-menu { - padding: 0px 1.5rem; - margin-top: calc(2.857em + 4px); - top: initial; - - > .dropdown-content { - overflow-y: auto; - max-height: calc(100vh - 20rem); - margin: 2px; - } - } - } - } - } -} diff --git a/assets/styles/components/_notice.scss b/assets/styles/components/_notice.scss deleted file mode 100644 index 5693a6d..0000000 --- a/assets/styles/components/_notice.scss +++ /dev/null @@ -1,42 +0,0 @@ -.notice { - border-radius: 4px; - border: 1px solid $white; - color: $white; - padding: 0.75rem; - - &:not(:last-child) { - margin-bottom: 1.25rem; - } - - &__h { - margin-bottom: 0.75rem; - } - - &.is-primary { - border-color: $primary; - - .notice__h { - color: $primary; - } - } - - &.is-warning { - border-color: $warning; - - .notice__h { - color: $warning; - } - } - - a { - text-decoration: underline; - text-transform: lowercase; - color: $primary; - } - - &.is-recovery-key { - border-color: $input-border-color; - color: $primary; - word-break: break-all; - } -} diff --git a/assets/styles/components/_notification.scss b/assets/styles/components/_notification.scss deleted file mode 100644 index 7603fbc..0000000 --- a/assets/styles/components/_notification.scss +++ /dev/null @@ -1,166 +0,0 @@ -.notification { - &.main-notification { - padding: 0; - border: solid 1px #393939; - overflow: hidden; - - .modal & { - overflow: initial; - } - - &:not(:last-child) { - margin-bottom: 2rem; - } - - @include until(375px) { - font-size: 0.85rem; - } - - .media { - align-items: center; - - .media-left { - position: relative; - align-self: stretch; - display: inline-flex; - align-items: center; - - + .media-content { - padding: 0.5rem 2rem 0.5rem 0.5rem; - } - - &:after { - content: ''; - position: absolute; - transform: skewX(20deg); - background-color: #1d1d1d; - border-right: 1px solid #393939; - top: -1px; - bottom: -1px; - border-top-right-radius: 2px; - left: -50%; - right: -0.2rem; - } - - > .icon { - position: relative; - z-index: 1; - } - - @media print { - display: none; - } - } - - &-content { - text-align: center; - padding: 0.5rem 2rem 0.5rem 1rem; - - span { - @media print { - font-weight: bold; - } - } - } - } - - .delete { - top: 50%; - margin-top: -10px; - - &::before, - &::after { - background-color: #393939; - } - } - - &.is-primary { - background-color: #000403; - color: #eee; - border-color: $primary; - max-width: 500px; - margin: 0 auto; - - .media { - .media-left { - &:after { - background-color: #1a1203; - border-right: 1px solid $primary; - } - } - .media-content { - strong { - color: $primary; - } - } - } - } - - &.is-warning { - background-color: #000403; - color: #eee; - border-color: $warning; - - .media { - .media-left { - &:after { - background-color: #1a1203; - border-right: 1px solid $warning; - } - } - .media-content { - strong { - color: $warning; - } - } - } - } - - @media print { - border-color: #000 !important; - color: #000 !important; - - .media-content { - span { - color: #000 !important; - } - } - } - } -} - -.notices { - .notification { - width: 290px; - pointer-events: auto; - padding: 1.071rem 3.214rem 1.071rem 1.071em; - font-size: 0.929rem; - - a:not(.button):not(.dropdown-item) { - color: $primary; - display: block; - margin-top: 0.15rem; - text-decoration: none; - font-size: 0.857rem; - - &:hover { - text-decoration: underline; - } - } - - .media { - align-items: center; - - &-content { - b { - white-space: nowrap; - } - } - } - - .delete { - right: 1rem; - top: calc(50% - 10px); - } - } -} diff --git a/assets/styles/components/_proposals.scss b/assets/styles/components/_proposals.scss deleted file mode 100644 index c9886ab..0000000 --- a/assets/styles/components/_proposals.scss +++ /dev/null @@ -1,383 +0,0 @@ -.proposals { - &-list { - &--header { - display: flex; - align-items: center; - margin-bottom: 2rem; - - .title { - color: #fff; - font-size: 1.714rem; - margin-bottom: 0; - flex: 1; - } - - .field { - margin-bottom: 0; - - &-btn { - flex: 1; - text-align: right; - } - } - - .b-radio.button { - border-radius: 0; - color: #6b6b6b; - background-color: #000403; - border-left: none; - border-right: none; - border-top: none; - border-bottom: 3px solid #2a2a2a; - padding-left: 1.75rem; - padding-right: 1.75rem; - min-width: 100px; - - &:focus:not(:active), - &.is-focused:not(:active) { - box-shadow: none; - } - - &:hover, - &.is-primary { - color: $primary; - border-bottom-color: $primary; - } - } - - @include mobile { - flex-direction: column; - - .title { - order: 1; - margin-top: 1.5rem; - margin-bottom: 1.5rem; - } - - .field { - &.field-tabs { - order: 3; - } - - &.field-btn { - order: 2; - margin-bottom: 1.5rem; - } - } - } - } - } - - &-box { - margin: 1.25rem 0; - padding: 1.429rem; - background: #1f1f1f; - border-radius: 6px; - - &.is-link { - cursor: pointer; - } - - &--title { - color: #fff; - font-size: 1.143rem; - margin-bottom: 1rem; - line-height: 1.286; - font-weight: 600; - } - - &--info { - display: flex; - - @include until(576px) { - flex-wrap: wrap; - } - - @include from(576px) { - align-items: center; - } - - .b-skeleton { - width: auto; - } - } - - &--id { - @include until(576px) { - margin-bottom: 0.5rem; - } - - margin-right: 0.714rem; - - &.tag, - .tag { - color: #fff; - background: #363636; - min-width: 30px; - } - } - - .date { - @include until(576px) { - margin-top: 0.5rem; - width: 100%; - } - - @include from(576px) { - margin-left: 1.5rem; - } - - span { - color: #6b6b6b; - } - } - - .results { - background-color: #1a1a1a; - border-radius: 6px; - padding: 1.429rem; - - @include mobile { - margin-top: 1rem; - } - - @include tablet { - margin-top: -0.7145rem; - margin-bottom: -0.7145rem; - margin-right: -0.7145rem; - } - - .result { - + .result { - margin-top: 0.7145rem; - } - - display: flex; - justify-content: space-between; - align-items: center; - - span.has-text-primary, - span.has-text-danger { - display: inline-flex; - align-items: center; - font-weight: 700; - } - - span.icon { - margin-right: 0.5rem; - } - - .b-skeleton { - width: auto; - } - } - } - } -} - -.button.is-back { - margin-bottom: 1.5rem; - padding-left: 0; - padding-right: 0; - background-color: transparent; - border-color: transparent; - color: #94febf; - - &:hover, - &:focus { - background-color: transparent; - } - - &:focus:not(:active) { - box-shadow: none; - } - - .trnd { - background-color: $primary; - } -} - -.proposal { - .title { - color: #fff; - font-size: 1.714rem; - margin-bottom: 2.5rem; - line-height: 1.286; - } - - a { - color: $primary; - } - - .description { - p { - line-height: 1.7; - white-space: pre-wrap; - - &:not(:last-child) { - margin-bottom: 2rem; - } - } - } - - &-block { - background-color: #1a1a1a; - border-radius: 6px; - padding: 1.429rem; - - .b-tooltip.fit-content { - width: 100%; - - &:not(:last-child) { - margin-bottom: 1rem; - } - - .buttons__halfwidth { - width: 100%; - } - } - - @include mobile { - margin-top: 1.5rem; - } - - + .proposal-block { - @include tablet { - margin-top: 1.5rem; - } - } - - .title { - font-size: 1.143rem; - - &:not(:last-child) { - margin-bottom: 1.25rem; - } - } - - .label { - .percent { - margin-left: auto; - padding-left: 0.5rem; - } - - .b-skeleton { - width: auto; - } - } - - strong { - display: block; - } - - .columns { - &.has-countdown { - .column { - &:not(:last-child) { - padding-bottom: 0; - } - } - } - - &:not(.has-countdown) { - .column { - @include until(576px) { - &:not(:last-child) { - padding-bottom: 0; - } - } - - @include from(576px) { - &:not(:nth-last-child(-n + 2)) { - padding-bottom: 0; - } - } - } - } - } - - .column { - display: flex; - flex-direction: column; - - .value { - display: flex; - align-items: center; - flex-grow: 1; - font-size: 0.929rem; - margin-top: 0.35rem; - - .address { - font-size: 0.75rem; - line-height: 1.5; - @include noWrap; - } - - .tag { - height: 1.714rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - min-width: auto; - font-size: 0.714rem; - } - } - } - } -} - -.governance-head { - position: relative; - padding: 0 2.143rem 1.786rem; - margin-bottom: 4.85rem; - - border: 1px solid #2a2a2a; - border-top-width: 0; - - border-bottom-left-radius: 25px; - border-bottom-right-radius: 25px; - - .column { - &:first-child { - @include mobile { - padding-top: 0; - } - } - - @include tablet { - padding-top: 0; - - .info-value.without-label { - padding-top: 1.394rem; - } - } - - @include touch { - text-align: center; - - .info-value.has-tooltip { - justify-content: center; - } - } - - button.is-text { - border-width: 0; - padding-left: 0; - padding-right: 0; - color: $primary; - height: 2.143rem; - - .trnd { - background-color: $primary; - } - - &:hover { - text-decoration: underline; - } - - &.is-loading::after { - border-left-color: $primary; - border-bottom-color: $primary; - } - } - } -} diff --git a/assets/styles/components/_radio.scss b/assets/styles/components/_radio.scss deleted file mode 100644 index 15e3ddc..0000000 --- a/assets/styles/components/_radio.scss +++ /dev/null @@ -1,31 +0,0 @@ -.b-radio { - &.radio { - input[type=radio] { - + .check { - border-color: $primary; - } - - &:checked { - + .check { - &:before { - transform: scale(.6); - } - } - } - } - - + .radio { - margin-left: 1rem; - } - - .control-label { - display: flex; - align-items: center; - color: $white; - - .button { - margin-left: .45rem; - } - } - } -} diff --git a/assets/styles/components/_slider.scss b/assets/styles/components/_slider.scss deleted file mode 100644 index 8448ad5..0000000 --- a/assets/styles/components/_slider.scss +++ /dev/null @@ -1,87 +0,0 @@ -.field-slider { - .label { - margin-bottom: 0; - display: flex; - justify-content: space-between; - align-items: center; - } - - .input { - font-size: 0.857rem; - padding-left: 0.643rem; - padding-right: 0.643rem; - text-align: center; - } - - .control.has-text { - font-size: 0.857rem; - } - - .b-slider.is-primary { - margin: 0.429em 0 0; - padding-top: 8px; - - .b-slider-track { - height: 2px; - border-radius: 0; - } - - .b-slider-tick { - height: 2px; - width: 2px; - - .b-slider-tick-label { - margin-top: 5px; - user-select: none; - } - - &.is-tick-hidden { - &[style*='left: 0%'] { - .b-slider-tick-label { - left: 0; - transform: none; - } - } - &[style*='left: 100%'] { - .b-slider-tick-label { - left: auto; - right: 0; - transform: none; - } - } - } - } - - .b-slider-thumb-wrapper { - &[style*='left: 0%'] { - transform: translate(0%, -50%); - } - &[style*='left: 100%'] { - transform: translate(-100%, -50%); - } - } - - .b-slider-fill { - background-color: transparent !important; - } - - .b-slider-thumb { - height: 16px; - width: 16px; - border-color: $primary; - background-color: $primary; - position: relative; - - &::after { - content: ''; - position: absolute; - width: 6px; - height: 6px; - background: #0e1633; - left: calc(50% - 3px); - top: calc(50% - 3px); - border-radius: 6px; - } - } - } -} diff --git a/assets/styles/components/_steps.scss b/assets/styles/components/_steps.scss deleted file mode 100644 index f841118..0000000 --- a/assets/styles/components/_steps.scss +++ /dev/null @@ -1,146 +0,0 @@ -.b-steps { - margin-bottom: 1.25rem; - - .steps { - + .step-content { - display: none; - } - - .step-items { - .step-item { - .step-details { - margin-top: 1rem; - - @include until(375px) { - word-spacing: 100px; - } - } - - .step-link { - transition: color .15s ease-in-out; - - &:not(.is-clickable) { - color: #393939; - - .step-marker { - border-color: #393939; - - &:before { - background-color: #393939; - } - } - } - } - - .step-marker { - position: relative; - - &:before { - content: ""; - display: flex; - position: absolute; - left: 50%; - margin-left: calc(-1.5rem/2); - bottom: 50%; - margin-bottom: calc(-1.5rem/2); - width: 1.5rem; - height: 1.5rem; - transition: transform 150ms ease-out; - border-radius: 50%; - transform: scale(0); - background-color: $primary; - } - } - - &:not(:first-child) { - &::before { - content: none; - } - - .step-link { - &::before { - content: ''; - display: block; - position: absolute; - background-color: $primary; - height: .2em; - width: 100%; - left: -50%; - bottom: 0; - top: .7rem; - } - - &:not(.is-clickable) { - &::before { - background-color: #393939; - } - } - } - } - - &:first-child, &:last-child { - .step-link { - &::after { - content: ''; - display: block; - position: absolute; - background: $primary; - height: .2em; - width: 50%; - bottom: 0; - top: .7rem; - } - - &:not(.is-clickable) { - &::after { - background: #393939; - } - } - } - } - - &:first-child { - .step-link { - &::after { - left: 0; - } - } - } - - &:last-child { - .step-link { - &::after { - right: 0; - } - } - } - - &.is-active { - .step-link { - color: $primary; - - &:not(.is-clickable) { - color: #393939; - } - - .step-marker { - background-color: $primary-invert; - - &:before { - transform: scale(0.6); - } - } - } - } - - &:not(.is-active) { - display: block; - } - - &::before, &::after { - content: none; - } - } - } - } -} diff --git a/assets/styles/components/_tab-with-corner.scss b/assets/styles/components/_tab-with-corner.scss deleted file mode 100644 index 642d673..0000000 --- a/assets/styles/components/_tab-with-corner.scss +++ /dev/null @@ -1,114 +0,0 @@ -.tab-with-corner { - border: 1px solid #393939; - display: inline-flex; - padding: 0.68rem .625rem; - position: relative; - z-index: 1; - background-color: $primary-invert; - - &:before, &:after { - position: absolute; - border: 1px solid #393939; - transform-origin: bottom left; - width: 2.5em; - top: 0; - bottom: 0; - background-color: $primary-invert; - z-index: -1; - } - - span.is-small { - font-size: .7rem; - line-height: 2.9; - - @include until(375px) { - font-size: .6rem; - line-height: 2.8; - } - } - - &.is-left-bottom { - padding-left: 1.75rem; - border-top-width: 0; - border-right-width: 0; - margin-right: 1.75rem; - border-bottom-left-radius: 4px; - - @include until(375px) { - padding-left: 1.5rem; - padding-right: .75rem; - } - - &:after { - content: ''; - right: -1rem; - transform: skewX(-20deg); - border-bottom-right-radius: 4px; - border-top-width: 0; - border-left-width: 0; - bottom: -1px; - } - } - - &.is-right-bottom { - margin-left: auto; - padding-right: 1.75rem; - border-top-width: 0; - border-left-width: 0; - border-bottom-right-radius: 4px; - - @include until(375px) { - padding-right: 1.5rem; - padding-left: .75rem; - } - - &:before { - content: ''; - left: -1rem; - transform: skewX(20deg); - border-bottom-left-radius: 4px; - border-right-width: 0; - border-top-width: 0; - bottom: -1px; - - @include until(375px) { - left: -.5rem; - } - } - } - - &.is-left-top { - padding-left: 1.75rem; - border-bottom-width: 0; - border-right-width: 0; - margin-right: 1.75rem; - border-top-left-radius: 4px; - - @include until(375px) { - padding-left: 1.5rem; - padding-right: .75rem; - } - - &:after { - content: ''; - right: -1rem; - transform: skewX(20deg); - border-top-right-radius: 4px; - border-left-width: 0; - border-bottom-width: 0; - top: -1px; - - @include until(375px) { - right: -.5rem; - } - } - } - - &.is-primary { - border-color: $primary; - - &:before, &:after { - border-color: $primary; - } - } -} diff --git a/assets/styles/components/_tabs.scss b/assets/styles/components/_tabs.scss deleted file mode 100644 index 886786b..0000000 --- a/assets/styles/components/_tabs.scss +++ /dev/null @@ -1,251 +0,0 @@ -.b-tabs.is-tornado { - display: flex; - flex-direction: column; - margin-bottom: 0; - - @include tablet { - max-width: 440px; - } - - .tabs { - font-size: 1.35rem; - min-height: 3.3483rem; - - @include until(375px) { - font-size: 1.135rem; - min-height: 3.074rem; - } - - ul { - justify-content: space-between; - - li { - a { - color: $primary; - font-weight: $weight-bold; - position: relative; - z-index: 1; - border: 1px solid $primary; - border-bottom-width: 0; - background-color: #0e1f17; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out; - padding: 0.68rem 1.25rem; - - &:after, - &:before { - position: absolute; - background-color: #0e1f17; - transform-origin: bottom left; - width: 1.5rem; - border: 1px solid $primary; - border-bottom-width: 0; - top: -1px; - bottom: 0; - transition: background-color 0.15s ease-in-out; - } - - &:hover { - background-color: lighten(#0e1f17, 10%); - - &:after, - &:before { - background-color: lighten(#0e1f17, 10%); - } - } - } - - &:first-child { - a { - margin-right: 1.75rem; - border-top-left-radius: 4px; - border-right-width: 0; - padding-left: 1.75rem; - - @include until(375px) { - padding-left: 1.5rem; - padding-right: 0.75rem; - } - - &:after { - content: ''; - right: -1.5rem; - transform: skewX(20deg); - border-left: none; - border-top-right-radius: 4px; - } - } - } - - &:last-child { - a { - margin-left: 1.75rem; - border-top-right-radius: 4px; - border-left-width: 0; - padding-right: 1.75rem; - - @include until(375px) { - padding-right: 1.5rem; - padding-left: 0.75rem; - } - - &:before { - content: ''; - left: -1.5rem; - transform: skewX(-20deg); - border-right: none; - border-top-left-radius: 4px; - } - } - } - - &.is-active { - a { - color: $primary-invert; - background-color: $primary; - - &:after, - &:before { - background-color: $primary; - } - } - } - } - } - } - - .tab-content { - background-color: $primary-invert; - padding: 1.5rem 1.5rem 2rem; - border: 1px solid $primary; - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - min-height: 19.536rem; - - .help { - a { - color: $primary; - white-space: nowrap; - } - } - - .relayer-network { - margin: 1.5rem 0; - } - - .withdraw-radio { - @include mobile { - .b-tooltip { - &:after { - width: 200px; - } - } - - .radio-relayer { - .b-tooltip { - &:before, - &:after { - top: auto; - right: auto; - bottom: calc(100% + #{$tooltip-arrow-size} + #{$tooltip-arrow-margin}); - left: 50%; - transform: translateX(-50%); - margin-left: 0.25rem; - } - &:before { - border-top: 5px solid $primary; - border-right: 5px solid transparent; - border-left: 5px solid transparent; - border-bottom: 0; - bottom: calc(100% + 2px); - } - } - } - - .radio-metamask { - .b-tooltip { - &:before, - &:after { - top: 50%; - right: calc(100% + #{$tooltip-arrow-size} + #{$tooltip-arrow-margin}); - bottom: auto; - left: auto; - transform: translateY(-50%); - } - &:before { - border-top: 5px solid transparent; - border-bottom: 5px solid transparent; - border-left: 5px solid $primary; - border-right: 0; - right: calc(100% + 2px); - } - } - } - } - } - - .withdraw-address { - margin-bottom: 1.95rem; - - + .field { - margin-top: -0.1rem; - margin-bottom: 1.35rem; - } - - .label { - .fee { - margin-left: auto; - color: #7b7b7b; - } - } - } - fieldset[disabled] { - .withdraw-address { - .fee { - color: darken(#7b7b7b, 20%); - } - } - } - } -} - -.b-tabs.is-modal { - &:not(:last-child) { - margin-bottom: 1.25rem; - } - - .tabs { - overflow: initial; - - ul { - li { - flex: 1 1 auto; - - a { - transition: border-color 0.15s ease-in-out; - border-bottom: 2px solid #767676; - - &:hover { - border-bottom-color: $primary; - } - - .b-tooltip { - margin: 0 0.45rem; - } - - .is-manage-box & { - padding: 0.5em; - } - } - - &.is-active { - a { - border-bottom: 2px solid $primary; - } - } - } - } - } - .tab-content { - padding: 1rem 0 0; - } -} diff --git a/assets/styles/components/_textarea.scss b/assets/styles/components/_textarea.scss deleted file mode 100644 index 5950f0b..0000000 --- a/assets/styles/components/_textarea.scss +++ /dev/null @@ -1,6 +0,0 @@ -.is-disabled-resize { - .textarea { - height: 4.393rem; - resize: none; - } -} diff --git a/assets/styles/components/_txs.scss b/assets/styles/components/_txs.scss deleted file mode 100644 index b48bb94..0000000 --- a/assets/styles/components/_txs.scss +++ /dev/null @@ -1,382 +0,0 @@ -.txs { - padding-top: 0.75rem; - font-size: 0.85rem; - - .tx-filters { - @include tablet { - margin-bottom: 0; - } - - @include mobile { - justify-content: center; - - .break { - width: 100%; - } - } - - .button { - &.is-primary.is-outlined { - &:not(.is-hovered):focus { - background-color: #0e1f17; - border-color: $primary; - color: $primary; - } - } - } - - &-title { - font-size: 0.75rem; - margin-bottom: 0.5rem; - margin-right: 1rem; - - @include mobile { - width: 100%; - text-align: center; - margin-right: 0; - } - } - - .field { - &:not(:last-child) { - margin-bottom: 0; - margin-right: 0.5rem; - } - } - } - - .tx-head { - padding: 1.5rem 1.429rem 1.5rem 2.143rem; - - @include mobile { - display: none; - } - - .columns { - .column { - display: flex; - align-items: center; - - &.is-sortable { - cursor: pointer; - - > .icon { - height: 0.786rem; - width: 0.786rem; - margin-left: 0.5rem; - flex: none; - } - - .b-tooltip { - margin-left: 0.45rem; - } - } - } - } - - &-mobile { - @include tablet { - display: none; - } - } - } - - .columns { - .column { - flex: none; - - &.is-time { - width: 15%; - } - - &.is-amount { - width: 14%; - } - - &.is-deposit { - width: 14.5%; - } - - &.is-status { - width: 12%; - } - - &.is-hash { - width: 10%; - @include desktop { - width: 12.5%; - } - - flex-basis: 0; - flex-grow: 1; - flex-shrink: 1; - } - - &-buttons { - width: 145px; - display: inline-flex; - - @include tablet-only { - width: 102px; - - .button { - span { - &:not(.icon) { - display: none; - } - - &.icon { - margin-right: 0; - } - } - } - } - - > .button:last-child { - margin-left: 0.65rem; - } - } - } - } - - .box-tx { - background-color: #1f1f1f; - border: none; - padding: 1.571rem 1.429rem 1.571rem 2.143rem; - - .columns { - min-height: 3.642rem; - } - - &:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: 0; - width: 10px; - background-color: $primary; - border-radius: 6px 0px 0px 6px; - } - - &:not(:last-child) { - margin-bottom: 0; - } - - + .box-tx { - margin-top: 0.825rem; - } - - &.is-spent { - background-color: #111312; - color: #878887; - - &:before { - background-color: #538968; - } - } - - &.is-violet { - &:before { - background-color: $violet; - } - } - - &.is-waiting { - &:before { - background-color: #6b6b6b; - } - } - - &.is-danger { - &:before { - background-color: $danger; - } - - button.is-dark { - path { - fill: $danger; - } - } - } - - &.is-white { - color: $white; - text-align: center; - - &:before { - content: none; - } - } - - .details { - .detail { - display: flex; - - &-label { - flex: 1 0 128px; - } - - &-description { - @include noWrap; - } - - .button { - margin-left: 0.45rem; - } - - + .detail { - padding-top: 0.5rem; - } - } - } - - a { - color: $primary; - - &:hover { - text-decoration: underline; - } - } - - @include mobile { - .columns { - display: flex; - flex-wrap: wrap; - align-items: stretch; - - .column { - width: 50%; - flex: none; - - &:before { - content: attr(data-label); - display: block; - color: $white; - } - - &.is-time { - order: 1; - } - - &.is-amount { - order: 2; - } - - &.is-deposit { - order: 3; - } - - &.is-status { - order: 4; - } - - &.is-hash { - order: 5; - width: 100%; - } - - &-buttons { - order: 7; - width: 100%; - display: inline-flex; - - .b-tooltip { - flex-grow: 1; - - .button { - width: 100%; - } - } - } - } - } - } - - .status-with-loading { - display: flex; - align-items: center; - - .icon { - margin-left: 0.5rem; - } - } - - &.is-encrypted { - border: 1px solid $primary; - - .lock { - height: 30px; - width: 30px; - border-radius: 4px; - background-color: #182922; - border: 1px solid $primary; - - &:after { - content: ''; - position: absolute; - top: 50%; - left: 50%; - margin-left: -7px; - margin-top: -7px; - background-color: $primary; - height: 14px; - width: 14px; - mask-image: url(../img/icons/lock.svg); - mask-position: center; - mask-repeat: no-repeat; - } - - &-tooltip { - position: absolute; - left: 0; - top: 50%; - transform: translate(-50%, -50%); - } - } - - &:before { - content: none; - } - - &.is-danger { - border-color: $danger; - - .lock { - background-color: #2a0c12; - border-color: $danger; - - &:after { - background-color: $danger; - } - } - } - - &.is-waiting { - border-color: #4c4c4c; - - .lock { - background-color: #1a1a1a; - border-color: #4c4c4c; - - &:after { - background-color: #4c4c4c; - } - } - } - - &.is-spent { - border-color: #538968; - - .lock { - background-color: #060a08; - border-color: #538968; - - &:after { - background-color: #538968; - } - } - } - } - } -} diff --git a/assets/styles/components/_video.scss b/assets/styles/components/_video.scss deleted file mode 100644 index 4e6ddc1..0000000 --- a/assets/styles/components/_video.scss +++ /dev/null @@ -1,32 +0,0 @@ -.video { - margin-left: auto; - margin-right: auto; - max-width: 640px; - position: relative; - - &.is-loading { - &:after { - @include loader; - position: absolute; - z-index: 0; - top: calc(50% - .5em); - left: calc(50% - .5em); - } - } - - &--iframe { - padding-top: 56.25%; - position: relative; - background-color: #1B3147; - display: block; - - iframe { - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; - z-index: 1; - } - } -} diff --git a/assets/styles/components/_wallets.scss b/assets/styles/components/_wallets.scss deleted file mode 100644 index 504e5af..0000000 --- a/assets/styles/components/_wallets.scss +++ /dev/null @@ -1,138 +0,0 @@ -.wallets { - &.field.is-grouped.is-grouped-multiline { - margin: -0.5rem; - - > .control { - margin: 0; - - &.control-with-select { - margin: 0.5rem; - } - - &:not(.control-with-select) { - .button { - margin: 0.5rem; - } - } - } - } - - .button { - width: 120px; - flex-direction: column; - height: auto; - - &.is-black { - background-color: #559774; - - &:hover { - background-color: #94febf; - } - } - - &.is-background { - color: black; - background-color: #7ddaa9; - - &:hover { - background-color: #94febf; - } - } - - &:before { - content: ''; - height: 64px; - width: 64px; - background-repeat: no-repeat; - background-position: center; - background-size: contain; - margin: 0.25rem 0; - } - - &.is-metamask:before { - background-image: url('../img/metamask-fox.svg'); - } - - &.is-walletConnect:before { - background-image: url('../img/walletConnect.svg'); - } - - &.is-generic:before { - background-image: url('../img/ethereum.svg'); - } - } - - .control-with-select { - display: flex; - flex-direction: column; - - .button { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border-bottom-width: 0; - - &:before { - height: 38px; - } - } - - .select { - &.is-empty { - select { - color: rgba(255, 255, 255, 0.7); - } - } - - select { - border-top-left-radius: 0; - border-top-right-radius: 0; - border-top-width: 0; - border-color: #559774; - background-color: #559774; - height: 1.929rem; - color: $primary-invert; - - &:hover { - background-color: $primary; - border-color: $primary; - } - - &:focus { - border-color: #559774; - box-shadow: none; - } - } - - &:not(.is-multiple) { - height: 1.929rem; - - &:not(.is-loading) { - &::after { - border-color: $primary-invert; - } - } - } - } - } - - .network-select { - width: 120px; - overflow: hidden; - } - - /*> .control:hover { - .button { - border-color: #cdcdcd; - } - - &.control-with-select { - .button { - border-bottom-color: $black; - } - - .select select { - border-color: #cdcdcd; - } - }* - }*/ -} diff --git a/assets/styles/components/_withdraw-data.scss b/assets/styles/components/_withdraw-data.scss deleted file mode 100644 index f553300..0000000 --- a/assets/styles/components/_withdraw-data.scss +++ /dev/null @@ -1,77 +0,0 @@ -.withdraw-data { - font-size: .85rem; - width: 100%; - line-height: 1; - - .b-tooltip { - .tooltip-content { - line-height: 1.5; - } - } - - &.is-spaced { - margin-top: -.75rem; - - &:not(:last-child) { - margin-bottom: 1.25rem; - } - - + .help { - margin-top: -1rem; - } - } - - &-item { - display: flex; - justify-content: space-between; - - span { - color: $primary; - margin-left: .5rem; - text-align: right; - - > span { - margin-left: 0; - } - - &.has-low-anonymity { - margin-left: 0.5rem; - - > span { - margin-left: 1.1rem; - position: relative; - border-bottom: 1px dotted $warning; - margin-bottom: -1px; - color: $warning; - - &:before { - content: ''; - position: absolute; - background-image: url("data:image/svg+xml,%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ff8a00' d='m13 14h-2v-4h2m0 8h-2v-2h2m-12 5h22l-11-19z'/%3E%3C/svg%3E"); - background-size: contain; - height: 14px; - width: 14px; - left: -18px; - top: -1px; - } - } - } - - &.is-alone { - margin-left: auto; - } - } - - .b-tooltip { - flex-shrink: 0; - - &:after { - line-height: 1.5; - } - } - - + .withdraw-data-item { - margin-top: .6rem; - } - } -} diff --git a/components/ApproveModalBox.vue b/components/ApproveModalBox.vue deleted file mode 100644 index 1f11c00..0000000 --- a/components/ApproveModalBox.vue +++ /dev/null @@ -1,94 +0,0 @@ - - diff --git a/components/BalanceModalBox.vue b/components/BalanceModalBox.vue deleted file mode 100644 index 2b83996..0000000 --- a/components/BalanceModalBox.vue +++ /dev/null @@ -1,41 +0,0 @@ - - diff --git a/components/Deposit.vue b/components/Deposit.vue deleted file mode 100644 index e2865e2..0000000 --- a/components/Deposit.vue +++ /dev/null @@ -1,200 +0,0 @@ - - diff --git a/components/DepositModalBox.vue b/components/DepositModalBox.vue deleted file mode 100644 index 1b15fb0..0000000 --- a/components/DepositModalBox.vue +++ /dev/null @@ -1,140 +0,0 @@ - - diff --git a/components/EncryptedTx.vue b/components/EncryptedTx.vue deleted file mode 100644 index 46e181d..0000000 --- a/components/EncryptedTx.vue +++ /dev/null @@ -1,269 +0,0 @@ - - diff --git a/components/Footer.vue b/components/Footer.vue deleted file mode 100644 index 6e93820..0000000 --- a/components/Footer.vue +++ /dev/null @@ -1,138 +0,0 @@ - - - diff --git a/components/Job.vue b/components/Job.vue deleted file mode 100644 index 052ed97..0000000 --- a/components/Job.vue +++ /dev/null @@ -1,119 +0,0 @@ - - diff --git a/components/Loaders/ApproveLoader.vue b/components/Loaders/ApproveLoader.vue deleted file mode 100644 index d61a4d0..0000000 --- a/components/Loaders/ApproveLoader.vue +++ /dev/null @@ -1,48 +0,0 @@ - - diff --git a/components/Loaders/Loader.vue b/components/Loaders/Loader.vue index 895cc55..545dd7a 100644 --- a/components/Loaders/Loader.vue +++ b/components/Loaders/Loader.vue @@ -10,7 +10,9 @@ diff --git a/components/Navbar.vue b/components/Navbar.vue deleted file mode 100644 index 665ae72..0000000 --- a/components/Navbar.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - diff --git a/components/NetworkModal.vue b/components/NetworkModal.vue deleted file mode 100644 index dabb1be..0000000 --- a/components/NetworkModal.vue +++ /dev/null @@ -1,144 +0,0 @@ - - - diff --git a/components/NetworkNavbarIcon.vue b/components/NetworkNavbarIcon.vue deleted file mode 100644 index f10d5f0..0000000 --- a/components/NetworkNavbarIcon.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - - - diff --git a/components/NetworkSelect.vue b/components/NetworkSelect.vue deleted file mode 100644 index 8792905..0000000 --- a/components/NetworkSelect.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - diff --git a/components/Notices.vue b/components/Notices.vue deleted file mode 100644 index 5f1e247..0000000 --- a/components/Notices.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - diff --git a/components/NumberFormat.vue b/components/NumberFormat.vue deleted file mode 100644 index dc782ff..0000000 --- a/components/NumberFormat.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - diff --git a/components/ProposalCommentFormModal.vue b/components/ProposalCommentFormModal.vue deleted file mode 100644 index d4255c4..0000000 --- a/components/ProposalCommentFormModal.vue +++ /dev/null @@ -1,139 +0,0 @@ - - - - - diff --git a/components/Settings.vue b/components/Settings.vue deleted file mode 100644 index f39ecbd..0000000 --- a/components/Settings.vue +++ /dev/null @@ -1,166 +0,0 @@ - - diff --git a/components/Statistics.vue b/components/Statistics.vue deleted file mode 100644 index c12eb3f..0000000 --- a/components/Statistics.vue +++ /dev/null @@ -1,107 +0,0 @@ - - diff --git a/components/Tx.vue b/components/Tx.vue deleted file mode 100644 index c50248f..0000000 --- a/components/Tx.vue +++ /dev/null @@ -1,197 +0,0 @@ - - diff --git a/components/Txs.vue b/components/Txs.vue deleted file mode 100644 index c1d9787..0000000 --- a/components/Txs.vue +++ /dev/null @@ -1,299 +0,0 @@ - - - diff --git a/components/governance/CreateProposal.vue b/components/governance/CreateProposal.vue deleted file mode 100644 index c2b289f..0000000 --- a/components/governance/CreateProposal.vue +++ /dev/null @@ -1,195 +0,0 @@ - - diff --git a/components/governance/Metrics.vue b/components/governance/Metrics.vue deleted file mode 100644 index 649c366..0000000 --- a/components/governance/Metrics.vue +++ /dev/null @@ -1,109 +0,0 @@ - - - diff --git a/components/governance/Proposal.vue b/components/governance/Proposal.vue deleted file mode 100644 index c7690e3..0000000 --- a/components/governance/Proposal.vue +++ /dev/null @@ -1,402 +0,0 @@ - - - - - diff --git a/components/governance/ProposalComment.vue b/components/governance/ProposalComment.vue deleted file mode 100644 index a57eab2..0000000 --- a/components/governance/ProposalComment.vue +++ /dev/null @@ -1,203 +0,0 @@ - - - - - diff --git a/components/governance/ProposalComments.vue b/components/governance/ProposalComments.vue deleted file mode 100644 index 8a81ea8..0000000 --- a/components/governance/ProposalComments.vue +++ /dev/null @@ -1,91 +0,0 @@ - - - - - diff --git a/components/governance/ProposalCommentsSkeleton.vue b/components/governance/ProposalCommentsSkeleton.vue deleted file mode 100644 index 0605df8..0000000 --- a/components/governance/ProposalCommentsSkeleton.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - - - diff --git a/components/governance/ProposalSkeleton.vue b/components/governance/ProposalSkeleton.vue deleted file mode 100644 index c1fcbdc..0000000 --- a/components/governance/ProposalSkeleton.vue +++ /dev/null @@ -1,90 +0,0 @@ - - - diff --git a/components/governance/ProposalsList.vue b/components/governance/ProposalsList.vue deleted file mode 100644 index 1cadbbb..0000000 --- a/components/governance/ProposalsList.vue +++ /dev/null @@ -1,89 +0,0 @@ - - - diff --git a/components/governance/ProposalsListItem.vue b/components/governance/ProposalsListItem.vue deleted file mode 100644 index 3144a11..0000000 --- a/components/governance/ProposalsListItem.vue +++ /dev/null @@ -1,89 +0,0 @@ - - - diff --git a/components/governance/ProposalsListSkeleton.vue b/components/governance/ProposalsListSkeleton.vue deleted file mode 100644 index f4621c8..0000000 --- a/components/governance/ProposalsListSkeleton.vue +++ /dev/null @@ -1,49 +0,0 @@ - - - diff --git a/components/governance/manage/ManageBox.vue b/components/governance/manage/ManageBox.vue deleted file mode 100644 index 096eb8b..0000000 --- a/components/governance/manage/ManageBox.vue +++ /dev/null @@ -1,60 +0,0 @@ - - diff --git a/components/governance/manage/tabs/DelegateTab.vue b/components/governance/manage/tabs/DelegateTab.vue deleted file mode 100644 index f2d3a79..0000000 --- a/components/governance/manage/tabs/DelegateTab.vue +++ /dev/null @@ -1,84 +0,0 @@ - - - diff --git a/components/governance/manage/tabs/LockTab.vue b/components/governance/manage/tabs/LockTab.vue deleted file mode 100644 index 989891a..0000000 --- a/components/governance/manage/tabs/LockTab.vue +++ /dev/null @@ -1,162 +0,0 @@ - - - diff --git a/components/governance/manage/tabs/RewardTab.vue b/components/governance/manage/tabs/RewardTab.vue deleted file mode 100644 index 33fcb4b..0000000 --- a/components/governance/manage/tabs/RewardTab.vue +++ /dev/null @@ -1,43 +0,0 @@ - - - diff --git a/components/governance/manage/tabs/UndelegateTab.vue b/components/governance/manage/tabs/UndelegateTab.vue deleted file mode 100644 index 663d04b..0000000 --- a/components/governance/manage/tabs/UndelegateTab.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - diff --git a/components/governance/manage/tabs/UnlockTab.vue b/components/governance/manage/tabs/UnlockTab.vue deleted file mode 100644 index cfc846e..0000000 --- a/components/governance/manage/tabs/UnlockTab.vue +++ /dev/null @@ -1,146 +0,0 @@ - - - diff --git a/components/governance/manage/tabs/index.js b/components/governance/manage/tabs/index.js deleted file mode 100644 index aea082c..0000000 --- a/components/governance/manage/tabs/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import LockTab from './LockTab' -import RewardTab from './RewardTab' -import UnlockTab from './UnlockTab' -import DelegateTab from './DelegateTab' -import UndelegateTab from './UndelegateTab' - -export { LockTab, RewardTab, UndelegateTab, UnlockTab, DelegateTab } diff --git a/components/governance/mixins/quorum.js b/components/governance/mixins/quorum.js deleted file mode 100644 index 338b418..0000000 --- a/components/governance/mixins/quorum.js +++ /dev/null @@ -1,30 +0,0 @@ -import { mapGetters } from 'vuex' -const { toBN, fromWei, toWei } = require('web3-utils') - -export default { - computed: { - ...mapGetters('governance/gov', ['quorumVotes']), - results() { - const resultFor = toBN(toWei(this.data.results.for)) - const resultAgainst = toBN(toWei(this.data.results.against)) - return resultFor.add(resultAgainst) - }, - quorumResult() { - return fromWei(this.results) - }, - quorumVotesToWei() { - return toBN(toWei(this.quorumVotes)) - }, - isQuorumCompleted() { - return this.results.gte(this.quorumVotesToWei) - }, - quorumPercent() { - return this.isQuorumCompleted - ? 100 - : toBN('100') - .mul(this.results) - .div(this.quorumVotesToWei) - .toNumber() - } - } -} diff --git a/components/icons/ErrorIcon.vue b/components/icons/ErrorIcon.vue deleted file mode 100644 index 45c48ca..0000000 --- a/components/icons/ErrorIcon.vue +++ /dev/null @@ -1,110 +0,0 @@ - - - - - diff --git a/components/icons/EthPurchaseArrow.vue b/components/icons/EthPurchaseArrow.vue deleted file mode 100644 index 879ba16..0000000 --- a/components/icons/EthPurchaseArrow.vue +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/components/icons/FlagIcon.vue b/components/icons/FlagIcon.vue deleted file mode 100644 index 6eb8b19..0000000 --- a/components/icons/FlagIcon.vue +++ /dev/null @@ -1,26 +0,0 @@ - - - diff --git a/components/icons/LinkIcon.vue b/components/icons/LinkIcon.vue deleted file mode 100644 index d517291..0000000 --- a/components/icons/LinkIcon.vue +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/components/icons/SettingsIcon.vue b/components/icons/SettingsIcon.vue deleted file mode 100644 index a1ff237..0000000 --- a/components/icons/SettingsIcon.vue +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/components/icons/Verified.vue b/components/icons/Verified.vue deleted file mode 100644 index e9b897d..0000000 --- a/components/icons/Verified.vue +++ /dev/null @@ -1,34 +0,0 @@ - diff --git a/components/icons/index.js b/components/icons/index.js deleted file mode 100644 index 88a0bbd..0000000 --- a/components/icons/index.js +++ /dev/null @@ -1,5 +0,0 @@ -export { default as LinkIcon } from './LinkIcon' -export { default as SettingsIcon } from './SettingsIcon' -export { default as EthPurchaseArrow } from './EthPurchaseArrow' -export { default as FlagIcon } from './FlagIcon' -export { default as ErrorIcon } from './ErrorIcon' diff --git a/components/settings/EthPurchase.vue b/components/settings/EthPurchase.vue deleted file mode 100644 index c9d7b77..0000000 --- a/components/settings/EthPurchase.vue +++ /dev/null @@ -1,148 +0,0 @@ - - diff --git a/components/settings/SettingsModalBox.vue b/components/settings/SettingsModalBox.vue deleted file mode 100644 index f920044..0000000 --- a/components/settings/SettingsModalBox.vue +++ /dev/null @@ -1,66 +0,0 @@ - - diff --git a/components/settings/tabs/RelayerTab.vue b/components/settings/tabs/RelayerTab.vue deleted file mode 100644 index 06c1444..0000000 --- a/components/settings/tabs/RelayerTab.vue +++ /dev/null @@ -1,266 +0,0 @@ - - - diff --git a/components/settings/tabs/WalletTab.vue b/components/settings/tabs/WalletTab.vue deleted file mode 100644 index d8420df..0000000 --- a/components/settings/tabs/WalletTab.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - diff --git a/components/settings/tabs/index.js b/components/settings/tabs/index.js deleted file mode 100644 index 77d84d7..0000000 --- a/components/settings/tabs/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import WalletTab from './WalletTab' -import RelayerTab from './RelayerTab' - -export { WalletTab, RelayerTab } diff --git a/components/web3Connect/Button.vue b/components/web3Connect/Button.vue deleted file mode 100644 index 5c2bddb..0000000 --- a/components/web3Connect/Button.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - diff --git a/components/web3Connect/Modal.vue b/components/web3Connect/Modal.vue deleted file mode 100644 index d504131..0000000 --- a/components/web3Connect/Modal.vue +++ /dev/null @@ -1,75 +0,0 @@ - - diff --git a/components/web3Connect/index.js b/components/web3Connect/index.js deleted file mode 100644 index 36345e0..0000000 --- a/components/web3Connect/index.js +++ /dev/null @@ -1 +0,0 @@ -export { default as ConnectButton } from './Button' diff --git a/components/withdraw/RelayerTotal.vue b/components/withdraw/RelayerTotal.vue deleted file mode 100644 index 80f0b73..0000000 --- a/components/withdraw/RelayerTotal.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - diff --git a/components/withdraw/Withdraw.vue b/components/withdraw/Withdraw.vue index 350022a..c59444c 100644 --- a/components/withdraw/Withdraw.vue +++ b/components/withdraw/Withdraw.vue @@ -51,7 +51,8 @@ data-test="enter_note_field" >
-

{{ hasErrorNote.msg }}

+ +

diff --git a/components/withdraw/WithdrawModalBox.vue b/components/withdraw/WithdrawModalBox.vue deleted file mode 100644 index ab6f87c..0000000 --- a/components/withdraw/WithdrawModalBox.vue +++ /dev/null @@ -1,63 +0,0 @@ - - diff --git a/components/withdraw/WithdrawTotal.vue b/components/withdraw/WithdrawTotal.vue deleted file mode 100644 index 5fb68da..0000000 --- a/components/withdraw/WithdrawTotal.vue +++ /dev/null @@ -1,137 +0,0 @@ - - diff --git a/constants/index.js b/constants/index.js deleted file mode 100644 index 833ec90..0000000 --- a/constants/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from './variables' diff --git a/constants/variables.js b/constants/variables.js deleted file mode 100644 index d3977bc..0000000 --- a/constants/variables.js +++ /dev/null @@ -1,105 +0,0 @@ -import networkConfig from '@/networkConfig' - -export const CHAIN_IDS = Object.keys(networkConfig) - -export const NETWORKS = CHAIN_IDS.map((i) => i.replace('netId', '')) - -export const LOCALES_NAMES = { - en: 'en-US', - es: 'es-ES', - 'zh-cn': 'zh-CN', - ru: 'ru-RU', - tr: 'tr-TR', - uk: 'uk-UA', - fr: 'fr-FR' -} -export const SECOND = 1000 -export const ROUNDING_PRECISION = 0.0001 - -const DEPOSIT = 'deposit' -const WITHDRAWAL = 'withdrawal' - -export const eventsType = { - DEPOSIT, - WITHDRAWAL -} - -export const CONTRACT_INSTANCES = ['0.1', '1', '10', '100', '1000'] - -export const INDEX_DB_ERROR = 'A mutation operation was attempted on a database that did not allow mutations.' - -export const ACTION = Object.freeze({ - WITHDRAW: 'WITHDRAW', - WITHDRAW_WITH_EXTRA: 'WITHDRAW_WITH_EXTRA', - ARB_WITHDRAW: 'ARB_WITHDRAW', - OP_WITHDRAW: 'OP_WITHDRAW' -}) - -// TODO unique gas limit for each token -export const ACTION_GAS = Object.freeze({ - [ACTION.WITHDRAW]: 390000, - [ACTION.WITHDRAW_WITH_EXTRA]: 550000, - [ACTION.OP_WITHDRAW]: 440000, - [ACTION.ARB_WITHDRAW]: 1900000 -}) - -export const GAS_PRICES = ['low', 'standard', 'fast'] - -export const addressType = { type: 'string', pattern: '^0x[a-fA-F0-9]{40}$' } - -// TODO auto update in yarn updateCache -export const cachedEventsLength = { - mainnet: { - ENCRYPTED_NOTES: 16898 - }, - goerli: { - ENCRYPTED_NOTES: 1662 - }, - bsc: { - ENCRYPTED_NOTES: 11333 - } -} - -export const httpConfig = { - // buffer for tor connections - timeout: 30000, - keepAlive: true -} - -export const PROVIDERS = { - walletConnect: { - name: 'WalletConnect', - isPartialSupport: true, - storageName: 'walletconnect', - listener: 'walletConnectSocketListener' - }, - metamask: { - name: 'Metamask', - isPartialSupport: false - }, - generic: { - name: 'Web3 Wallet', - isPartialSupport: true - }, - mobileWallet: { - name: 'Wallet', - isPartialSupport: true - } -} - -export const REGISTRY_DEPLOYED_BLOCK = { - 1: 14173129 -} -export const DONATIONS_ADDRESS = '0x08ec3A4e3873505D34450b0F726136E1BF0c9DF7' - -export const trees = { - PARTS_COUNT: 4, - LEVELS: 20 // const from contract -} - -export const DUMMY_NONCE = '0x1111111111111111111111111111111111111111111111111111111111111111' - -export const DUMMY_WITHDRAW_DATA = - '0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' - -export const CHUNK_COUNT_PER_BATCH_REQUEST = 200 diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index 31abcd5..0000000 --- a/jest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - moduleNameMapper: { - '^@/(.*)$': '/$1', - '^~/(.*)$': '/$1', - '^vue$': 'vue/dist/vue.common.js' - }, - moduleFileExtensions: ['js', 'vue', 'json'], - transform: { - '^.+\\.js$': 'babel-jest', - '.*\\.(vue)$': 'vue-jest' - }, - collectCoverage: true, - collectCoverageFrom: ['/components/**/*.vue', '/pages/**/*.vue'] -} diff --git a/langs/en.json b/langs/en.json deleted file mode 100644 index 10d7ed4..0000000 --- a/langs/en.json +++ /dev/null @@ -1,480 +0,0 @@ -{ - "closeNotification": "Close notification", - "indexNotification": "Tornado Cash is now being maintained by the community, for more information visit {link}", - "indexNotificationLinkText": "tornadocash.community", - "binanceInternalTxsNotification": "Please, do not use Binance wallet addresses for withdrawals. Internal transactions (including Tornado.cash withdrawals) are not currently supported on Binance Exchange. If you have an issue receiving your funds, you should contact Binance support.", - "deposit": "Deposit", - "depositButton": "Deposit", - "withdraw": "Withdraw", - "withdrawButton": "Withdraw", - "waitUntilTransactionIsMined": "Wait until transaction is mined", - "enterYourDepositsNote": "Enter the note from your deposit", - "yourWallet": "Your Wallet", - "pleaseSelectYourWeb3Wallet": "Please select your Web3 compatible wallet:", - "otherWallet": "Other Wallet", - "currentNetworkIsNotSupported": "Current network is not supported", - "pleaseChangeNetwork": "App network ({network}) doesn't match the network selected in wallet.", - "docs": "Docs", - "getFreeGETH": "Get Free gETH", - "logout": "Logout", - "connect": "Connect", - "token": "Token", - "amount": "Amount", - "amountTooltip": "Each amount is a standalone Tornado Cash instance with a separate anonymity set. Check the Stats tab for more info.", - "approvalIsRequired": "Approval is required", - "inOrderToUse": "In order to use {currency} you have to enable it for Tornado.cash. Select the amount you would like to approve:", - "unlimited": "Unlimited", - "unlimitedTooltip": "The unlimited approval is more convenient if you are going to make multiple deposits.", - "enable": "Enable", - "transactionWasSuccessfullySent": "The transaction was successfully sent.", - "insufficientBalance": "Insufficient balance", - "youDontHaveEnoughTokens": "You do not have enough {currency} tokens. Your current balance is {balance} {currency}", - "close": "Close", - "yourNote": "Your private note", - "pleaseBackupYourNote": "Please back up your note. You will need it later to withdraw your deposit.", - "treatYourNote": "Treat your note as a private key - never share it with anyone, including tornado.cash developers.", - "saveAsFile": "The browser will ask to save your note as a file:", - "iBackedUpTheNote": "I backed up the note", - "iEncryptedTheNote": "Create an on-chain backup of this note with your Account {address}", - "yourNoteWontBeSaved": "Your note won't be saved in your browser. Please make sure it's backed up!", - "yourDontHaveAccount": "FAILURE TO BACKUP NOTES WILL RESULT IN LOSS OF FUNDS", - "sendDeposit": "Send Deposit", - "clickToCopy": "Click to copy", - "copied": "Copied!", - "preparingTransactionData": "Preparing Transaction Data", - "viewInExplorer": "View in Explorer", - "loading": "Loading", - "pleaseConfirmInWallet": "Please confirm permission to provide public key in metamask", - "pleaseConfirmTransactionInWallet": "Please confirm transaction in {wallet}", - "pleaseSignRequestInWallet": "Please sign request in {wallet}", - "waitingForTransactionConfirmation": "Waiting for transaction confirmation", - "relayerIsNowSendingYourTransaction": "Relayer is now sending your transaction. It will respond with a transaction hash soon", - "note": "Note", - "noteTooltip": "Please enter the note you received after deposit was made", - "depositTransactionOnEtherscan": "Deposit transaction on Etherscan", - "withdrawalSettings": "Withdrawal settings", - "pleaseEnterYourNote": "Please enter your note", - "turnOnWasm": "Error: Please turn on WebAssembly in your browser settings.
If you are using Tor browser, enable javascript.options.wasm in about:config", - "timePassed": "Time passed", - "timePassedTooltip": "Even if multiple deposits were made after yours, they could have been made by the same user. Therefore, we recommend waiting for at least 24 hours before withdrawing funds to ensure that multiple other users transacted via Tornado.сash during that time.", - "subsequentDeposits": "Subsequent deposits", - "subsequentDepositsTooltip": "The most likely source of a withdrawal points to recent deposits. Therefore, we recommend allowing at least 5 deposits after yours for better anonymity.", - "recipientAddress": "Recipient Address", - "donate": "Donate", - "pleasePasteAddressHere": "Please paste address here", - "noteIsInvalid": "Note is invalid", - "noteHasBeenSpent": "Note has been spent", - "gettingTheNoteData": "Getting the note data", - "noteWasAlreadySpent": "Note has already been spent", - "error": "Error", - "downloadError": "Download error", - "validationError": "Validation Error", - "recipientAddressIsInvalid": "Recipient address is invalid", - "total": "Total", - "noteBalance": "Note balance", - "relayerFee": "Relayer fee", - "ethPurchase": "{currency} Purchase", - "ethPurchaseTooltip": "Exchange some of your deposit's {currency} to {networkCurrency} during the withdrawal to pay for gas in future transactions.", - "incorrectAmount": "Incorrect amount. Please input a number.", - "amountIsHigh": "Amount is too high. Max value is {value}.", - "amountIsLow": "Amount is too low. Min value is {value}.", - "tokensToReceive": "Tokens to receive", - "relayer": "Relayer", - "relayerTooltip": "Use the relayer service to send your transaction. This option ensures better privacy since the gas fee is subtracted from the deposited funds.", - "custom": "Custom", - "pasteYourRelayerUrlorEnsRecord": "Paste your relayer URL or ENS record", - "wallet": "Wallet", - "walletTooltip": "Use your own account to initiate a withdrawal (e.g. Metamask or TrustWallet).", - "save": "Save", - "reset": "Reset", - "withdrawWalletWarning": "Make sure that {currency} used to pay for the gas fee is not linkable to ANY of your addresses. Otherwise, the anonymity of the withdrawal will be compromised. We recommend using a Relayer instead.", - "withdrawalConfirmation": "Withdrawal Confirmation", - "confirm": "Confirm", - "yourZkSnarkProofHasBeenSuccesfullyGenerated": "Your zk-Snark proof has been successfully generated! Please click Confirm to initiate the withdrawal", - "generatingProof": "Generating proof", - "statistics": "Statistics", - "anonymitySet": "Anonymity set", - "anonymitySetTooltip": "Number of deposits from which your withdrawal will potentially originate", - "latestDeposits": "Latest deposits", - "yourIP": "Your IP {ip}", - "filterBy": "Filter by", - "spent": "Spent", - "unspent": "Unspent", - "thereAreNoElements": "There are no elements that meet the filters.", - "txHash": "Tx Hash", - "status": "Status", - "copyNote": "Copy Note", - "decryptCopyNote": "Decrypt and copy note", - "v1Deposit": "v1 deposit", - "waitingForReceipt": "Waiting for receipt", - "failed": "Failed", - "withdrawn": "Withdrawn", - "deposited": "Deposited", - "removeFromCache": "Remove from cache", - "pleaseMakeSureYouHaveBackedUpYourNote": "Please make sure you have backed up your note if it has not already been spent. Do you still want to remove this transaction and the note from Browser storage?", - "remove": "Remove", - "noteHasBeenDeleted": "Note information has been deleted", - "accountHasBeenDeleted": "Account information has been deleted", - "cancelButton": "Cancel", - "donationsAddress": "Donations address:", - "rate": "Pool Rate", - "only": "Only", - "equalUserDeposit": "{only} {n} {equalUserDepositText}", - "equalUserDepositPlural": "There are no deposits | One deposit | equal user deposits", - "userDeposit": "no deposits | only 1 deposit | {n} deposits", - "gasPrice": "Gas Price", - "totalFee": "Total fee", - "networkFee": "Network fee", - "connectYourWalletFirst": "Connect your wallet first", - "changeNetwork": "Change network", - "changeNetworkNote": "Your note is from another network, please change network in the app.", - "changingNetwork": "Changing network", - "relayerShouldSupportSSL": "The relayer should support SSL", - "relayerStatusOk": "Relayer status: OK", - "proposalIsActive": "Proposal status must be active", - "canNotFetchStatusFromTheRelayer": "Cannot fetch status from the relayer", - "thisRelayerServesADifferentNetwork": "This relayer serves a different network", - "compliance": "Compliance", - "complianceTool": "compliance tool", - "complianceReport": "Compliance Report", - "complianceSubtitle": "Maintaining financial privacy is essential to preserving our freedom.{newline}However, it should not come at the cost of non-compliance. With Tornado.cash, you can always provide cryptographically verified proof of transactional history using the Ethereum address you used to deposit or withdraw funds. This might be necessary to show the source of assets held in your withdrawal address.{newline}To generate a compliance report, please enter your Tornado.сash Note below.", - "from": "From", - "to": "To", - "withdrawal": "Withdrawal", - "noteHasNotBeenSpent": "The note has not been spent", - "thereIsNoRelatedDeposit": "There is no related deposit. The note is invalid.", - "warning": "Warning", - "doNotShareYouNote": "Do not share your Note with anyone since it WILL be used to withdraw your funds!", - "date": "Date", - "transaction": "Transaction", - "commitment": "Commitment", - "nullifierHash": "Nullifier Hash", - "verified": "Verified", - "generatePdfReport": "Generate PDF report", - "compliancePrintWarning": "This Compliance Report is for informational purposes only. You should confirm the validity of this report by using Tornado’s Compliance Tool (https://tornadocash.eth.link/compliance) or via any other cryptographic software that can compute and verify the information contained herein(the \"Tornado Compliance Tool\"). Any discrepancies between information found in this report and provided by the above tool indicate that the information in this report may be inaccurate and/or fraudulent.{newline}THE COMPLIANCE REPORT IS PROVIDED \"AS IS,\" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OF THE TORNADO.CASH COMPLIANCE TOOL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THIS COMPLIANCE REPORT.", - "relayRequestFailed": "Relayer {relayerName} is down. Please choose a different relayer.", - "selectProvider": "Select provider", - "walletDoesNotSupported": "The wallet is not supported", - "fetchGasPriceFailed": "Fetch gasPrice failed", - "networkIsNotSupported": "Network is not supported", - "failToGenerateNote": "Failed to generate note", - "invalidRoot": "Invalid Root", - "failedToFetchAllDepositEvents": "Failed to fetch all deposit events from contract", - "unknownError": "Unknown error", - "unitInvalidValue": "[ethjs-unit] while converting number {value} to wei, invalid value", - "tooManyDecimalPoints": "[ethjs-unit] while converting number {value} to wei, too many decimal points", - "tooManyDecimalPlaces": "[ethjs-unit] while converting number {value} to wei, too many decimal places", - "settings": "Settings", - "rpcDisclaimer": "After the {linkOne} most RPC endpoints have censored deposits, make sure your wallet is manually configured to a working endpoint. See options on {linkTwo} and how to {linkThree}", - "rpcDisclaimerLinkOneText": "OFAC sanctions", - "rpcDisclaimerLinkTwoText": "chainlist.org", - "rpcDisclaimerLinkThreeText": "how to configure MetaMask", - "rpc": "RPC endpoint", - "rpcStatusOk": "RPC status: OK", - "rpcIsDown": "RPC is down", - "thisRpcIsForDifferentNetwork": "This RPC is for a different network", - "rpcSelectError": "All predefined RPCs are down. It's probably a network error. Please select custom RPC in Settings", - "rpcShouldSupportSSL": "The RPC should support SSL", - "customRpcPlaceholder": "Paste your RPC URL", - "customRpc": "Custom", - "enterRecoveryKey": "Please enter your recovery key", - "copy": "Copy", - "thereAreNoTransactions": "There are no transactions yet.", - "governance": "Voting", - "delegatedBalance": "Delegated balance", - "votingPower": "Voting Power", - "delegated": "Delegated", - "availableBalance": "Available balance", - "manage": "Manage", - "proposals": "Proposals", - "all": "All", - "active": "Active", - "expired": "Expired", - "pending": "Pending", - "passed": "Passed", - "timeLocked": "Time locked", - "createProposal": "Create proposal", - "startDate": "Start Date", - "endDate": "End Date", - "quorum": "Quorum", - "quorumTooltip": "A proposal's voting period lasts {days}. The proposal is passed only if majority vote and quorum of {votes} voters are reached (sum of For + Against votes is greater than {votes}).", - "for": "For", - "against": "Against", - "title": "Title", - "description": "Description", - "proposalAddress": "Proposal Address", - "lock": "Lock", - "unlock": "Unlock", - "proposalThresholdError": "Locked balance should be more or equal to {PROPOSAL_THRESHOLD} TORN", - "castYourVote": "Cast your vote", - "back": "Back", - "yourCurrentVote": "Your current vote: {vote}", - "currentResults": "Current results", - "information": "Info", - "amountToLock": "Amount to lock", - "amountToUnlock": "Amount to unlock", - "lockedBalance": "Locked balance", - "lockedBalanceError": "Your locked balance must be greater than 0", - "lockTabDesc": "In order to participate in Governance, you must lock TORN tokens. Your voting power will be equivalent to how many tokens you lock.", - "unlockTabDesc": "You can unlock your previously locked TORN here. If the proposal in which you participated is not yet completed, you may have to wait until it is in order to unlock all your TORN.", - "delegateTabDesc": "You can delegate your voting power to a delegatee. The delegatee will be able to participate in Governance on your behalf.", - "undelegateTabDesc": "You can revoke the voting power from your delegatee. Their previous proposals and cast votes will remain unchanged.", - "recipient": "Recipient", - "address": "Address", - "delegate": "Delegate", - "undelegate": "Undelegate", - "currentDelegate": "Current delegate", - "approve": "Approve", - "approved": "Approved", - "proposalTitle": "Proposal Title", - "proposalDescription": "Proposal Description", - "defeated": "Defeated", - "accountSaving": "Setting up the Note Account", - "accountSaved": "Note Account saved on chain", - "creatingProposal": "Creating proposal", - "proposalCreated": "Proposal successfully created", - "depositing": "Depositing {value}", - "withdrawing": "Withdrawing {value}", - "claiming": "Claiming {value}", - "withdrawnValue": "Withdrawn {value}", - "claimedValue": "Claimed {value}", - "depositedValue": "Deposited {value}", - "locking": "Locking", - "votingFor": "Voting For", - "votingAgainst": "Voting Against", - "votedFor": "Successfully voted for the proposal", - "votedAgainst": "Successfully voted against the proposal", - "unlocking": "Unlocking", - "unlocked": "Unlocked", - "delegating": "Delegating", - "undelegating": "Undelegating", - "undelegated": "Undelegated", - "viewOnEtherscan": "View on Etherscan", - "awaitingExecution": "Awaiting Execution", - "execute": "Execute", - "executeProposal": "Execute proposal", - "executingProposal": "Executing Proposal", - "locked": "locked", - "lockedNotice": "Locked", - "proposalExecuted": "Proposal successfully executed", - "pleaseLockBalance": "Please lock TORN tokens first in order to delegate", - "pleaseDelegate": "Delegatee has not being set", - "internalError": "Internal Error. Please refresh the page and try again", - "id": "ID", - "timerRemainingForPending": "Time remaining before voting starts", - "timerRemainingForVoting": "Time remaining for voting", - "timerRemainingForAwaitingExecution": "Time remaining before execution", - "timerRemainingForExecution": "Execution time remaining", - "accepted": "Accepted", - "sent": "Sent", - "mined": "Mined", - "confirmed": "Confirmed", - "pleaseLockTornFirst": "Please lock TORN tokens first to proceed", - "tokensLockedUntil": "Your balance is locked until {date}", - "onlyOneProposalErr": "Only one active proposal is allowed per user. Please wait until your current proposal is finished.", - "max": "Max", - "withDisconnectedWallet": "Please, connect a wallet or change the type of withdrawal", - "relayerError": "Selected relayer could not sent your tx. Please try again or choose a different relayer in settings.", - "relayerIsNotResponding": "Relayer is not responding. Please try again or choose a different relayer in settings.", - "transactionFailed": "Transaction failed", - "none": "none", - "queued": "Queued", - "proposal": { - "error": { - "address": "Value must be an address", - "contract": "The address must be a contract", - "title": "Title is required", - "description": "Description is required" - } - }, - "proposalComment": { - "modal-title": "Title: Proposal #{id}", - "modal-subtitle": "Please explain: Why are you for or against this proposal?", - "form-contact": "Contact", - "form-contact-placeholder": "Enter contact (optional)", - "form-contact-tooltip": "Contact (optional) may be a nickname in forum, email, telegram, twitter or other", - "form-message": "Message", - "form-message-placeholder": "Enter message", - "form-message-opt-placeholder": "Enter message (optional)", - "form-message-required": "Message required" - }, - "executed": "Executed", - "proposalDoesNotExist": "The proposal doesn't exist. Please go back to the list.", - "errorPage": { - "title": "Oooops!", - "description": "Page not found.", - "button": "Launch App", - "switchNetwork": { - "pageName": { - "governance": "Tornado Cash Governance" - }, - "description": "There is not {pageName} on the selected network. Please switch to Ethereum Mainnet.", - "button": "Switch network" - } - }, - "rejectedRequest": "You rejected {description} request", - "updateCacheEvents": "Syncing deposit events. Please wait", - "notEnoughTokens": "The total fee is higher than the amount of tokens to be received. This could be due to high relayer's fee or temporary network congestion.", - "gasPriceSlider": { - "low": "Slow", - "standard": "Standard", - "fast": "Fast" - }, - "decrypt": "Decrypt", - "account": { - "title": "Note Account", - "description": "A Note Account allows to store encrypted on-chain backups of private notes. This makes safe storage of funds hassle- and stress-free with the security of the Ethereum blockchain backing each note.", - "button": "Account", - "account": "Note account", - "backedUpWith": "Backed up with", - "modals": { - "recoverAccount": { - "title": "Connect with Note Account key", - "description": "Please enter your Note Account key to import your previously setup account.", - "warning": "Invalid Note Account key.", - "connect": "Connect" - }, - "setupAccount": { - "title": "Account setup", - "label": "Note Account key", - "description": "This key is used to encrypt and store your Tornado.cash private notes on Ethereum blockchain. Please back it up and never share it with anyone.", - "setupAccount": "Setup account", - "setAccount": "Finish", - "backedUp": "I backed up the Note Account key", - "saveOnChain": "Create additional on-chain backup of your Note Account key with your wallet", - "isNotSupportedWithHw": "Please keep in mind, additional on-chain backup of your Note Account is not supported with hardware wallets or mobile wallets", - "successfulNotice": "Congratulations! You have successfully set up a Note Account. Now, you can encrypt your notes and store them on chain.", - "yourRecoveryKeyWontBeSaved": "Your recovery key won't be saved in browser cache, please make sure it's backed up." - }, - "showRecoveryKey": { - "title": "Current Note Account key", - "description": "", - "close": "Close" - }, - "checkRecoveryKey": { - "title": "Session update", - "description": "The Note Account session has been inactive for 5 minutes. Would you like to continue?", - "inactiveDescription": "You have been inactive for a long time. Your Note Account session has been terminated for security reasons.", - "no": "No", - "yes": "Yes" - }, - "decryptInfo": { - "title": "Your notes", - "description": "All notes are successfully downloaded and decrypted using your Note Account key", - "all": "Total events downloaded:", - "warning": "Notes with warning:", - "close": "Close", - "unSpent": "Your unspent notes found:", - "spent": "Your spent notes found:", - "redirect": "Main page" - }, - "removeAccount": { - "title": "Clear account information", - "description": "Remove account information from current browser's session", - "cancel": "Cancel", - "remove": "Remove" - } - }, - "wallet": { - "label": "Connected Web3 wallet", - "desc": "Connect your Web3 wallet", - "disconnect": "Disconnect from your wallet", - "rpcDesc": "Change your Ethereum RPC Provider", - "connectWeb3": "Connect Web3", - "logout": "Logout", - "changeRpc": "Change RPC" - }, - "setup": { - "decrypt": "Please confirm decrypt request in Web3 wallet.", - "setTooltip": "An account is already associated with this Web3 wallet. Please use 'Recover Account' below.", - "recTooltip": "Please set up an account. There is no account for this address.", - "desc": "Set up Note Account for storing encrypted notes on Ethereum blockchain", - "account": "Set up account", - "recoverDesc": "Recover Note Account associated with this Web3 wallet", - "recover": "Recover account", - "enterRawDesc": "Use previously set Note Account key", - "enterRaw": "Enter account key", - "accSetupDescription": "This key is used to encrypt and store your Tornado.cash private notes on Ethereum blockchain. Please back it up and never share it with anyone." - }, - "control": { - "balance": "Note account balance: {value}", - "loadAllDesc": "Load and decrypt all of your private notes with current Note Account key", - "loadAll": "Load all encrypted notes", - "showRecoveryKeyDesc": "Reveal current Note Account key", - "showRecoveryKey": "Reveal", - "removeDesc": "Remove account information from current browser's session", - "remove": "Clear account info", - "fileDesc": "Download raw private notes by default when you make a deposit" - }, - "notification": { - "text": "Tornado.cash added on-chain note backups. Setup your {note} now or {medium} info.", - "link": { - "note": "note account", - "medium": "read more" - } - } - }, - "saveNote": "Save your note", - "pleaseSetUpAccount": "To decrypt your note please provide an account", - "decryptNote": "Please confirm note decryption", - "decryptFailed": "Decryption failed. Please try to log in with a different account", - "recoverFromKeyTitle": "Current Note Account key", - "trezorNotSupported": "Trezor wallet is not currently supported", - "ledgerNotSupported": "Ledger wallet is not currently supported", - "startDecryptingNotes": "Starting note decryption", - "decryptingNotes": "Decrypting notes", - "getAndValidateEvents": "Receiving and validating {name} events", - "notConnected": "Not connected", - "regular": "Regular", - "encrypted": "Encrypted", - "notDecryptedWithBackup": "This note is encrypted by {address} note account, which is linked to {backup} metamask account. Please switch to decrypt.", - "notDecrypted": "This note is encrypted by {address} note account, please switch to it.", - "noteAccountKey": "Decryption failed. Connect to {address} metamask account for decrypting the Note Account key {noteAddress}.", - "yourEncrypted": "This note will be encrypted with {address} account.", - "lockTooltip": "This note stored on-chain is encrypted. It can be recovered by the Note Account {address}.", - "connected": "Connected", - "accountConnected": "Note Account", - "web3connected": "Web3 connected", - "haveAccountSetupWithWallet": "It looks like you already have an Account setup with current Web3 wallet. Please use 'Recover account' option", - "connectAccount": "Connect Note Account", - "fetchFile": "Cannot fetch proving keys, please check your internet connection or try to use VPN.", - "mobileWallet": { - "reconnect": { - "message": "Your current connection will be terminated and you will need to reconnect through WalletConnect. Please make sure {networkName} is selected in your wallet before reconnecting.", - "action": "Reconnect" - }, - "loading": { - "alert": "If you have not received a notification in your wallet, please reconnect your wallet", - "action": "Reconnect" - }, - "actions": { - "disabled": "This feature is currently not supported by mobile wallets." - } - }, - "missingENSSubdomain": "Missing ENS subdomain", - "dayPlural": "0 days | {n} day | {n} days", - "stakingReward": { - "title": "Staking Reward", - "label": { - "tab": "Claim", - "input": "Available staking reward" - }, - "description": "You can claim your staking reward here. Your earned reward is proportionate to your locked TORN in governance.", - "action": "Claim" - }, - "relayerTotal": { - "label": "Current Relayer", - "name": "Name", - "fee": "Fee" - }, - "withdrawalQueueIsOverloaded": "Withdrawal queue is overloaded", - "trustBanner": { - "trustLess": "You are using a public IPFS gateway. Tornado Cash dApp can not use all security features of your browser. Check out {link} for alternatives", - "link": "landing page" - }, - "ethLinkBanner": { - "notification": "Due to the {issue} with eth.link domain, we highly recommend avoiding using this gateway. Consider {alternative} gateways.", - "issue": "issue", - "alternative": "alternative" - } -} diff --git a/langs/es.json b/langs/es.json deleted file mode 100644 index ac3923a..0000000 --- a/langs/es.json +++ /dev/null @@ -1,445 +0,0 @@ -{ - "closeNotification": "Cerrar notificación", - "indexNotification": "Tornado.cash {link}. No obstante, todavía es un software experimental. Por favor, úselo teniendo en cuenta el riesgo y bajo su responsabilidad.", - "indexNotificationLinkText": "ha sido auditado", - "binanceInternalTxsNotification": "Por favor, no use direcciones a monederos Binance para retiros. Las transacciones internas (incluidos los retiros de Tornado.cash) actualmente no son compatibles con el Exchange de Binance. Si tiene problemas en la recepción de sus fondos, debería contactar con el soporte de Binance.", - "deposit": "Depósito", - "depositButton": "Depósito", - "withdraw": "Retiro", - "withdrawButton": "Retiro", - "waitUntilTransactionIsMined": "Espere que la transacción se mine", - "enterYourDepositsNote": "Introduzca su ticket de depósito", - "yourWallet": "Su Monedero", - "pleaseSelectYourWeb3Wallet": "Por favor seleccione su monedero Web3 compatible:", - "otherWallet": "Otro Monedero", - "currentNetworkIsNotSupported": "La red actual no es compatible", - "pleaseChangeNetwork": "La red ({network}) de la App no coincide con la red seleccionada en el monedero.", - "docs": "Docs", - "getFreeGETH": "Obtenga gETH gratuitos", - "logout": "Cerrar sesión", - "connect": "Conectar", - "token": "Token", - "amount": "Cantidad", - "amountTooltip": "Cada cantidad es una instancia independiente de Tornado Cash del conjunto anónimo correspondiente. Consulte el apartado Estadísticas para más información.", - "approvalIsRequired": "Se requiere aprobación", - "inOrderToUse": "Para usar {currency} debe habilitarla para Tornado.cash. Seleccione la cantidad que desee aprobar:", - "unlimited": "Ilimitada", - "unlimitedTooltip": "La aprobación ilimitada resulta más conveniente si usted quiere realizar múltiples depósitos.", - "enable": "Habilitar", - "transactionWasSuccessfullySent": "La transacción se envió correctamente.", - "insufficientBalance": "Balance insuficiente", - "youDontHaveEnoughTokens": "Usted no dispone de suficientes {currency} tokens. Su balance actual es {balance} {currency}", - "close": "cerrar", - "yourNote": "Su ticket privado", - "pleaseBackupYourNote": "Por favor, guarde y asegure su ticket. Lo necesitará más adelante para recuperar su depósito.", - "treatYourNote": "Considere su ticket como una clave privada - nunca lo comparta con nadie, incluyendo desarrolladores de tornado.cash.", - "saveAsFile": "El buscador le preguntara si quiere guardar su ticket como un archivo:", - "iBackedUpTheNote": "He guardado y asegurado el ticket", - "iEncryptedTheNote": "Cree una copia segura on-chain de este ticket con su Cuenta {address}", - "yourNoteWontBeSaved": "Su ticket no quedará guardado en su buscador. Por favor, asegúrese que lo ha guardado y asegurado!", - "yourDontHaveAccount": "Usted también puede guardar tickets encriptados on-chain configurando la Cuenta de Ticket, cree una en la página {account}.", - "sendDeposit": "Enviar Depósito", - "clickToCopy": "Haga clic para copiar", - "copied": "Copiado!", - "preparingTransactionData": "Preparando Datos de Transacción", - "viewInExplorer": "Ver en explorador", - "loading": "Cargando", - "pleaseConfirmInWallet": "Por favor confirme la clave publica en Metamask", - "pleaseConfirmTransactionInWallet": "Por favor confirme la transacción en {wallet}", - "pleaseSignRequestInWallet": "Please sign request in {wallet}", - "waitingForTransactionConfirmation": "Esperando la confirmación de transacción", - "relayerIsNowSendingYourTransaction": "El retransmisor esta enviando su transacción. Responderá con el hash de la transacción pronto", - "note": "Ticket", - "noteTooltip": "Por favor introduzca el ticket que recibió cuando realizó el depósito", - "depositTransactionOnEtherscan": "Transacción de depósito en Etherscan", - "withdrawalSettings": "Configuración de retiro", - "pleaseEnterYourNote": "Por favor introduzca su ticket", - "turnOnWasm": "Error: Por favor active WebAssembly en las opciones de su buscador.
Si usted utiliza el buscador Tor, habilite javascript.options.wasm en about:config", - "timePassed": "Tiempo transcurrido", - "timePassedTooltip": "Incluso si hay múltiples depósitos posteriores al suyo, podrían pertenecer a un mismo usuario. Por tanto, le recomendamos esperar un mínimo de 24 horas antes de retirar fondos para asegurar que varios usuarios hayan utilizado Tornado.cash durante ese periodo.", - "subsequentDeposits": "Depósitos subsiguientes", - "subsequentDepositsTooltip": "La fuente mas probable de un retiro son los depósitos recientes. Por tanto, recomendamos esperar un mínimo de 5 depósitos posteriores al suyo para un mayor anonimato.", - "recipientAddress": "Dirección de Recepción", - "donate": "Donar", - "pleasePasteAddressHere": "Por favor introduzca su dirección aquí", - "noteIsInvalid": "el ticket es inválido", - "noteHasBeenSpent": "El ticket se ha gastado", - "gettingTheNoteData": "Obteniendo los datos del ticket", - "noteWasAlreadySpent": "El ticket ya ha sido gastado", - "error": "Error", - "downloadError": "Error de descarga", - "validationError": "Error de validación", - "recipientAddressIsInvalid": "La dirección de destino es inválida", - "total": "Total", - "noteBalance": "Balance de tickets", - "relayerFee": "Comisión del retransmisor", - "ethPurchase": "Comprar {currency}", - "ethPurchaseTooltip": "Cambie algunos {currency} de su depósito por {networkCurrency} durante el retiro para pagar el gas de futuras transacciones.", - "incorrectAmount": "Cantidad incorrecta. Por favor introduzca un número.", - "amountIsHigh": "Cantidad demasiado elevada. El valor máximo es {value}.", - "amountIsLow": "Cantidad demasiado baja. El valor mínimo es {value}.", - "tokensToReceive": "Tokens a recibir", - "relayer": "Retransmisor", - "relayerTooltip": "Use el servicio retransmisor para enviar su transacción. Es más privado, ya que la comisión de gas se substrae de los fondos depositados.", - "custom": "Personalizado", - "pasteYourRelayerUrlorEnsRecord": "Pegue la URL del retransmisor o el registro ENS", - "wallet": "Monedero", - "walletTooltip": "Use su propia cuenta para iniciar un retiro (p.e. Metamask o TrustWallet).", - "save": "Guardar", - "reset": "Reiniciar", - "withdrawWalletWarning": "Asegúrese que los {currency} utilizados para pagar por la comisión de gas no se pueden asociar a NINGUNA de sus direcciones. Lo contrario implicaría que su anonimato está comprometido. Recomendamos usar un Retransmisor en su lugar.", - "withdrawalConfirmation": "Confirmación de Retiro", - "confirm": "Confirmar", - "yourZkSnarkProofHasBeenSuccesfullyGenerated": "Su prueba zk-SNARK se ha generado con éxito! Por favor confirme para iniciar el retiro", - "generatingProof": "Generando prueba", - "statistics": "Estadísticas", - "anonymitySet": "Anonimato", - "anonymitySetTooltip": "Número de depósitos de los que potencialmente se ha originado su retiro", - "latestDeposits": "Últimos depósitos", - "yourIP": "Su IP {ip}", - "filterBy": "Filtrar por", - "spent": "Gastado", - "unspent": "No gastado", - "thereAreNoElements": "No hay elementos que coincidan con el filtro.", - "txHash": "Tx Hash", - "status": "Estado", - "copyNote": "Copiar Ticket", - "decryptCopyNote": "Des-encriptar y copiar ticket", - "v1Deposit": "v1 depósito", - "waitingForReceipt": "Esperando recepción", - "failed": "Fallo", - "withdrawn": "Retirado", - "deposited": "Depositado", - "removeFromCache": "Quitar de cache", - "pleaseMakeSureYouHaveBackedUpYourNote": "Por favor asegúrese que ha guardado y asegurado su ticket si todavía no ha sido gastado. Esta seguro que quiere eliminar esta transacción y el ticket del archivo del Buscador?", - "remove": "Eliminar", - "noteHasBeenDeleted": "La información del ticket se ha eliminado", - "accountHasBeenDeleted": "La información de cuenta se ha eliminado", - "cancelButton": "Cancelar", - "donationsAddress": "Dirección de donaciones:", - "rate": "Tarifa de la bolsa", - "only": "Solamente", - "equalUserDeposit": "{only} {n} {equalUserDepositText}", - "equalUserDepositPlural": "No hay depósitos | Un depósito | usuarios con depósitos idénticos", - "userDeposit": "sin depósitos | solamente 1 depósito | {n} depósitos", - "gasPrice": "Precio de Gas", - "totalFee": "Comisión total", - "networkFee": "Comisión de red", - "connectYourWalletFirst": "Conecte su monedero primero", - "changeNetwork": "Cambiar red", - "changeNetworkNote": "Su ticket pertenece a otra red, por favor cambie su red en la app.", - "changingNetwork": "Cambiando red", - "relayerShouldSupportSSL": "El retransmisor debería soportar SSL", - "relayerStatusOk": "Estado del retransmisor: OK", - "proposalIsActive": "El estado de la propuesta debe ser activo", - "canNotFetchStatusFromTheRelayer": "No se puede obtener el estado de su retransmisor", - "thisRelayerServesADifferentNetwork": "Este retransmisor sirve a una red distinta", - "compliance": "Cumplimiento", - "complianceTool": "herramienta de cumplimiento legal", - "complianceReport": "Informe de cumplimiento legal", - "complianceSubtitle": "Maintaining financial privacy is essential to preserving our freedom.{newline}However, it should not come at the cost of non-compliance. With Tornado.cash, you can always provide cryptographically verified proof of transactional history using the Ethereum address you used to deposit or withdraw funds. This might be necessary to show the source of assets held in your withdrawal address.{newline}To generate a compliance report, please enter your Tornado.сash Note below.", - "from": "Desde", - "to": "A", - "withdrawal": "Retiro", - "noteHasNotBeenSpent": "El ticket no ha sido gastado", - "thereIsNoRelatedDeposit": "There is no related deposit. The note is invalid.", - "warning": "Atención", - "doNotShareYouNote": "No comparta su Ticket con nadie ya que ésto le PERMITIRÁ retirar sus fondos!", - "date": "Fecha", - "transaction": "Transacción", - "commitment": "Compromiso", - "nullifierHash": "Hash del Nullifier", - "verified": "Verificador", - "generatePdfReport": "Genere informe PDF", - "compliancePrintWarning": "Este Informe de Compromiso es para propósito informativo unicamente. Debería confirmar la validez de este informe utilizando la Herramienta de Cumplimiento de Tornado (https://tornadocash.eth.link/compliance) o cualquier otro software criptográfico que pueda procesar y verificar la información contenida aquí(la \"Tornado Compliance Tool\"). Cualquier discrepancia entre la información recogida en este informe y entregado por la herramienta anterior indica que este informe no es riguroso y/o fraudulento.{newline}EL INFORME DE CUMPLIMIENTO SE PRESENTA \"COMO TAL,\" SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITAMENTE, INCLUYENDO PERO NO LIMITADA A LAS GARANTÍAS MERCANTILES, ADECUADAS PARA UN PROPÓSITO PARTICULAR Y LA NO INFRACCIÓN. EN NINGÚN CASO DEBERÍAN LOS AUTORES DE LA HERRAMIENTA DE CUMPLIMIENTO DE TORNADO.CASH SER RESPONSABLES U OBJETO DE CUALQUIER RECLAMO, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN ACCIÓN CONTRACTUAL, AGRAVIADO O DE CUALQUIER OTRO MODO, DERIVADO DE, PRODUCTO DE O EN CONEXIÓN CON EL MENCIONADO INFORME DE CUMPLIMIENTO.", - "relayRequestFailed": "El retransmisor {relayerName} no responde. Por favor escoja uno diferente.", - "selectProvider": "Seleccione proveedor", - "walletDoesNotSupported": "El monedero no es compatible", - "fetchGasPriceFailed": "Fallo obteniendo gasPrice", - "networkIsNotSupported": "Red no compatible", - "failToGenerateNote": "Fallo generando ticket", - "invalidRoot": "Raíz Inválida", - "failedToFetchAllDepositEvents": "Fallo obteniendo todos los eventos de depósito del contrato", - "unknownError": "Error desconocido", - "unitInvalidValue": "[ethjs-unit] en la conversión del número {value} a wei, valor inválido", - "tooManyDecimalPoints": "[ethjs-unit] en la conversión del número {value} a wei, demasiados puntos decimales", - "tooManyDecimalPlaces": "[ethjs-unit] en la conversión del número {value} a wei, demasiados posiciones decimales", - "settings": "Configuración", - "rpc": "Dispositivo RPC", - "rpcStatusOk": "Estado RPC: OK", - "rpcIsDown": "RPC no responde", - "thisRpcIsForDifferentNetwork": "El RPC es para una red diferente", - "rpcSelectError": "Ninguno de los RPCs predefinidos responden. Probablemente se debe a un fallo de red. Por favor selecciones un RCP personalizado en Configuración", - "rpcShouldSupportSSL": "El RPC debería soportar SSL", - "customRpcPlaceholder": "Pegue la URL del RPC", - "customRpc": "Personalizado", - "enterRecoveryKey": "Por favor introduzca su clave de recuperación", - "copy": "Copiar", - "thereAreNoTransactions": "No hay transacciones todavía.", - "governance": "Voto", - "delegatedBalance": "Balance delegado", - "votingPower": "Poder de votación", - "delegated": "Delegado", - "availableBalance": "Balance disponible", - "manage": "Gestión", - "proposals": "Propuestas", - "all": "Todo", - "active": "Activo", - "expired": "Expirada", - "pending": "Pendiente", - "passed": "Aprobada", - "timeLocked": "Tiempo bloqueado", - "createProposal": "Crear propuesta", - "startDate": "Fecha Inicial", - "endDate": "Fecha Final", - "quorum": "Quórum", - "quorumTooltip": "A proposal's voting period lasts {days}. The proposal is passed only if majority vote and quorum of {votes} voters are reached (sum of For + Against votes is greater than {votes}).", - "for": "Favorable", - "against": "Contrario", - "title": "Título", - "description": "Descripción", - "proposalAddress": "Dirección de la Propuesta", - "lock": "Bloquear", - "unlock": "Desbloquear", - "proposalThresholdError": "Locked balance should be more or equal to {PROPOSAL_THRESHOLD} TORN", - "castYourVote": "Emita su voto", - "back": "Volver", - "yourCurrentVote": "Su voto actual: {vote}", - "currentResults": "Estado actual", - "information": "Info", - "amountToLock": "Cantidad a bloquear", - "amountToUnlock": "Cantidad a desbloquear", - "lockedBalance": "Balance bloqueado", - "lockedBalanceError": "Su balance bloqueado debe ser mayor que 0", - "lockTabDesc": "Para poder participar en la Gobernanza, usted debe bloquear tokens TORN. Su poder de voto será equivalente a la cantidad de tokens que haya bloqueado.", - "unlockTabDesc": "Usted puede desbloquear tokens previamente bloqueados aquí. Si la propuesta en la que participó no se ha completado todavía, es posible que deba esperar a que se complete, para desbloquear todos sus tokens TORN.", - "delegateTabDesc": "Usted puede delegar su poder de voto en un delegado. El delegado podrá participar en la Gobernanza en su lugar.", - "undelegateTabDesc": "Usted puede revocar el poder de voto de su delegado. Las propuestas previas y los votos ya emitidos se mantendran intactos.", - "recipient": "Destinatario", - "address": "Dirección", - "delegate": "Delegar", - "undelegate": "Recuperar", - "currentDelegate": "Delegado actual", - "approve": "Aprobar", - "approved": "Aprobado", - "proposalTitle": "Título de la Propuesta", - "proposalDescription": "Descripción de la Propuesta", - "defeated": "Vencida", - "accountSaving": "Configurando la Cuenta de Tickets", - "accountSaved": "Cuenta de Tickets guardada on-chain", - "creatingProposal": "Creando propuesta", - "proposalCreated": "Propuesta creada con éxito", - "depositing": "Depositando {value}", - "withdrawing": "Retirando {value}", - "claiming": "Reclamando {value}", - "withdrawnValue": "Retirado {value}", - "claimedValue": "Reclamado {value}", - "depositedValue": "Depositado {value}", - "locking": "Bloqueando", - "votingFor": "Votando a favor", - "votingAgainst": "Votando en contra", - "votedFor": "Voto emitido a favor de la propuesta", - "votedAgainst": "Voto emitido en contra de la propuesta", - "unlocking": "Desbloqueando", - "unlocked": "Desbloqueado", - "delegating": "Delegando", - "undelegating": "Recuperando", - "undelegated": "Recuperado", - "viewOnEtherscan": "Ver en Etherscan", - "awaitingExecution": "Esperando Ejecución", - "execute": "Ejecutar", - "executeProposal": "Ejecutar propuesta", - "executingProposal": "Ejecutando propuesta", - "locked": "bloqueado", - "lockedNotice": "Bloqueado", - "proposalExecuted": "Propuesta ejecutada exitosamente", - "pleaseLockBalance": "Por favor primero bloquee tokens TORN para poder delegar", - "pleaseDelegate": "El delegado no ha sido configurado", - "internalError": "Error interno. Por favor refresque la página y pruebe de nuevo", - "id": "ID", - "timerRemainingForPending": "Tiempo restante antes del inicio de votación", - "timerRemainingForVoting": "Tiempo restante para votar", - "timerRemainingForAwaitingExecution": "Tiempo restante antes de la ejecución", - "timerRemainingForExecution": "Tiempo de ejecución restante", - "accepted": "Aceptada", - "sent": "Enviada", - "mined": "Minada", - "confirmed": "Confirmada", - "pleaseLockTornFirst": "Por favor bloquee tokens TORN antes de proceder", - "tokensLockedUntil": "Su balance permanecerá bloqueado hasta {date}", - "onlyOneProposalErr": "Solamente se permite una propuesta activa por usuario. Por favor espere hasta que su propuesta actual haya finalizado.", - "max": "Max", - "withDisconnectedWallet": "Please, connect a wallet or change the type of withdrawal", - "relayerError": "Selected relayer could not sent your tx. Please try again or choose a different relayer in settings.", - "relayerIsNotResponding": "El retransmisor no responde. Por favor pruebe de nuevo o pruebe un retransmisor diferente en configuración.", - "transactionFailed": "Transacción fallida", - "none": "ninguno", - "queued": "En cola", - "proposal": { - "error": { - "address": "El valor debe ser una dirección", - "contract": "La dirección debe ser un contrato", - "title": "Título requerido", - "description": "Descripción requerida" - } - }, - "executed": "Ejecutada", - "proposalDoesNotExist": "La propuesta no existe. Por favor vuelva a la lista.", - "errorPage": { - "title": "Iepaaa!", - "description": "Página no encontrada.", - "button": "Iniciar App" - }, - "rejectedRequest": "Ha rechazado la petición de {description}", - "updateCacheEvents": "Sincronizando eventos de depósito. Por favor espere", - "notEnoughTokens": "La comisión total es mayor que la cantidad de tokens que se recibiran. Puede ser debido a comisiones elevadas de retransmisores o congestión temporal de la red.", - "gasPriceSlider": { - "low": "Lento", - "standard": "Estándar", - "fast": "Rápido" - }, - "decrypt": "Descifrar", - "account": { - "title": "Cuenta de Tickets", - "description": "Una Cuenta de Tickets permite guardar copias seguras encriptadas de tickets privados. Esto hace que el almacenamiento de fondos sea fácil y sin complicaciones con la tecnología blockchain de Ethereum asegurando cada ticket.", - "button": "Cuenta", - "account": "Cuenta de tickets", - "backedUpWith": "Asegurada con", - "modals": { - "recoverAccount": { - "title": "Conecte con la clave de Cuenta de Tickets", - "description": "Por favor introduzca su clave de Cuenta de Tickets para importar su cuenta previamente configurada.", - "warning": "Clave de Cuenta de Tickets inválida.", - "connect": "Conectar" - }, - "setupAccount": { - "title": "Configuración de cuenta", - "label": "Clave de Cuenta de Tickets", - "description": "Esta clave se usa para encriptar y guardar sus tickets privados de Tornado.cash en la blockchain Ethereum. Por favor haga una copia de seguridad y nunca la comparta con nadie.", - "setupAccount": "Configurar cuenta", - "setAccount": "Finalizar", - "backedUp": "He asegurado la clave de Cuenta de Tickets", - "saveOnChain": "Crear una copia segura adicional on-chain de su clave de Cuenta de Tickets con su monedero", - "isNotSupportedWithHw": "Por favor tenga en cuenta que copias seguras adicionales on-chain de su Cuenta de Tickets no es compatible con monederos hardware o monederos móviles", - "successfulNotice": "Congratulations! You have successfully set up a Note Account. Now, you can encrypt your notes and store them on chain.", - "yourRecoveryKeyWontBeSaved": "Your recovery key won't be saved in browser cache, please make sure it's backed up." - }, - "showRecoveryKey": { - "title": "Clave actual de Cuenta de Tickets", - "description": "", - "close": "Cerrar" - }, - "checkRecoveryKey": { - "title": "Actualización de sesión", - "description": "La sesión de Cuentas de Tickets ha estado inactiva por 5 minutos. Le gustaría continuar?", - "inactiveDescription": "Ha estado inactivo por tiempo prolongado. Su sesión de Cuenta de Tickets ha terminado por razones de seguridad.", - "no": "No", - "yes": "Si" - }, - "decryptInfo": { - "title": "Sus tickets", - "description": "Todos los tickets se han descargado exitosamente y descifrado usando su clave de Cuenta de Tickets", - "all": "Eventos totales descargados:", - "warning": "Tickets con advertencias:", - "close": "Cerrar", - "unSpent": "Sus tickets no gastados encontrados:", - "spent": "Sus tickets gastados encontrados:", - "redirect": "Página principal" - }, - "removeAccount": { - "title": "Borrar información de cuenta", - "description": "Elimina la información de cuenta de la sesión actual de buscador", - "cancel": "Cancelar", - "remove": "Eliminar" - } - }, - "wallet": { - "label": "Monedero Wb3 conectado", - "desc": "Conectar su monedero web3", - "disconnect": "Desconectar su monedero", - "rpcDesc": "Cambiar su proveedor RPC Ethereum", - "connectWeb3": "Conectar Web3", - "logout": "Cerrar sesión", - "changeRpc": "Cambiar RPC" - }, - "setup": { - "decrypt": "Por favor, confirme la petición de descifrado en el monedero web3.", - "setTooltip": "Ya existe una cuenta asociada con este monedero web3. Por favor use 'Recuperar Cuenta' a continuación.", - "recTooltip": "Please set up an account. There is no account for this address.", - "desc": "Configurar Cuenta de Tickets para guardar tickets encriptados en la blockchain Ethereum", - "account": "Configurar cuenta", - "recoverDesc": "Recuperar Cuenta de Tickets asociada con este monedero Web3", - "recover": "Recuperar cuenta", - "enterRawDesc": "Usar la clave de Cuenta de Tickets configurada", - "enterRaw": "Introducir clave de cuenta", - "accSetupDescription": "Esta clave se usa para encriptar y guardar sus tickets privados de Tornado.cash en la blockchain Ethereum. Por favor haga una copia de seguridad y nunca la comparta con nadie." - }, - "control": { - "balance": "Balance de cuenta: {value}", - "loadAllDesc": "Cargue y desencripte todos sus tickets privados con su clave actual de Cuenta de Tickets", - "loadAll": "Cargue todos sus tickets encriptados", - "showRecoveryKeyDesc": "Mostrar clave actual de Cuenta de Tickets", - "showRecoveryKey": "Mostrar", - "removeDesc": "Eliminar información de cuenta en la sesión del buscador", - "remove": "Limpiar información de cuenta", - "fileDesc": "Descargar tickets privados en bruto por defecto cuando haga un depósito" - }, - "notification": { - "text": "Tornado.cash añadió un copia segura on-chain. Configure su {note} ahora o {medium} info.", - "link": { - "note": "cuenta de tickets", - "medium": "leer más" - } - } - }, - "saveNote": "Guarde su ticket", - "pleaseSetUpAccount": "Para descifrar su ticket por favor proporcione una cuenta", - "decryptNote": "Por favor confirme descifrado de ticket", - "decryptFailed": "Descifrado fallido. Por favor pruebe conectar con una cuenta diferente", - "recoverFromKeyTitle": "Clave de cuenta de Tickets actual", - "trezorNotSupported": "Monedero Trezor no es compatible actualmente", - "ledgerNotSupported": "Monedero Ledger no es compatible actualmente", - "startDecryptingNotes": "Iniciando descifrado de ticket", - "decryptingNotes": "Desencriptando tickets", - "getAndValidateEvents": "Recibiendo y validando eventos {name}", - "notConnected": "No conectado", - "regular": "Normal", - "encrypted": "Encriptado", - "notDecryptedWithBackup": "Este ticket está encriptado por la cuenta de tickets {address}, asociada a la cuenta de metamask {backup}, cámbiela para poder descifrarlo.", - "notDecrypted": "Este ticket esta encriptado por la cuenta de tickets {address}, por favor selecciónela.", - "noteAccountKey": "Descifrado fallido. Conecte la direccion {address} de la cuenta metamask para descifrar la clave de Cuenta de Tickets {noteAddress}.", - "yourEncrypted": "Este ticket se descifrará con la cuenta {address}.", - "lockTooltip": "Este ticket esta guardado y encriptado on-chain. Se puede recuperar con la Cuenta de Tickets {address}.", - "connected": "Conectado", - "accountConnected": "Cuenta de Tickets", - "web3connected": "Web3 conectado", - "haveAccountSetupWithWallet": "Parece que usted ya tiene una Cuenta configurada con el monedero web3 actual. Por favor use la opción 'Recuperar cuenta' ", - "connectAccount": "Conectar Cuenta de Tickets", - "fetchFile": "No se pueden obtener las claves de prueba, verifique la conexión a Internet o intente usar VPN.", - "mobileWallet": { - "loading": { - "alert": "Si no ha recibido una notificación en su monedero, por favor re-conecte su monedero", - "action": "Re-conectar" - }, - "actions": { - "disabled": "Esta característica actualmente no es compatible con los monederos móviles." - } - }, - "missingENSSubdomain": "Missing ENS subdomain", - "dayPlural": "0 días | {n} día | {n} días", - "stakingReward": { - "title": "Staking Reward", - "label": { - "tab": "Claim", - "input": "Available staking reward" - }, - "description": "You can claim your staking reward here. Your earned reward is proportionate to your locked TORN in governance.", - "action": "Claim" - }, - "relayerTotal": { - "label": "Current Relayer", - "name": "Name", - "fee": "Fee" - }, - "withdrawalQueueIsOverloaded": "Withdrawal queue is overloaded" -} diff --git a/langs/fr.json b/langs/fr.json deleted file mode 100644 index e9a94a2..0000000 --- a/langs/fr.json +++ /dev/null @@ -1,445 +0,0 @@ -{ - "closeNotification": "Fermer notification", - "indexNotification": "Tornado.cash {link}. Cependant, il s'agit d'un logiciel en phase d'expérimentation. Veuillez l'utiliser à vos propres risques.", - "indexNotificationLinkText": "a été audité", - "binanceInternalTxsNotification": "Veuillez ne pas utiliser votre adresse de portefeuille Binance pour retirer vos fonds. Les transactions internes (tout comme celles effectuées par Tornado.Cash) ne sont pas supportées sur la plateforme d'échange Binance. Si vous n'avez pas reçu vos fonds sur Binance, veuillez prendre contact avec le support Binance.", - "deposit": "Déposer", - "depositButton": "Déposer", - "withdraw": "Retirer", - "withdrawButton": "Retirer", - "waitUntilTransactionIsMined": "Attendre le temps que la transaction soit minée", - "enterYourDepositsNote": "Entrer votre note d'enregistrement de dépôt", - "yourWallet": "Votre Portefeuille", - "pleaseSelectYourWeb3Wallet": "Veuillez sélectionner un portefeuille compatible Web3:", - "otherWallet": "Autre Portefeuille", - "currentNetworkIsNotSupported": "Le réseau actuel n'est pas supporté", - "pleaseChangeNetwork": "L'App réseau ({network}) ne correspond pas au réseau sélectionné avec le portefeuille.", - "docs": "Docs", - "getFreeGETH": "Obtenez gratuitement des gETH", - "logout": "Se déconnecter", - "connect": "Connecter", - "token": "Token", - "amount": "Montant", - "amountTooltip": "Chaque montant dispose d'une instance autonome de Tornado Cash avec un seuil d'anonymat distinct. Consultez l'onglet statistiques pour plus d'informations.", - "approvalIsRequired": "Une approbation est requise", - "inOrderToUse": "Afin d'utiliser cette devise: {currency} vous devez l'activer pour Tornado.cash. Sélectionnez le montant que vous souhaitez approuver:", - "unlimited": "Illimité", - "unlimitedTooltip": "L'approbation illimitée est plus pratique dans le cas où vous devez effectuer plusieurs dépôts.", - "enable": "Activer", - "transactionWasSuccessfullySent": "La transaction a été envoyée avec succès.", - "insufficientBalance": "Balance insuffisante", - "youDontHaveEnoughTokens": "Vous n'avez pas assez de ce token: {currency}. Votre balance actuelle est : {balance} {currency}", - "close": "Fermer", - "yourNote": "Votre note d'enregistrement privée", - "pleaseBackupYourNote": "Veuillez sauvegarder votre note d'enregistrement. Vous allez en avoir besoin plus tard pour retirer votre dépôt.", - "treatYourNote": "Traitez votre note d'enregistrement comme une clé privée - ne la partagez jamais avec quiconque, y compris les développeurs de tornado.cash.", - "saveAsFile": "Le navigateur va vous demander de sauvegarder votre note d'enregistrement sous forme de fichier:", - "iBackedUpTheNote": "J'ai sauvegardé ma note d'enregistrement", - "iEncryptedTheNote": "Créer une sauvegarde de cette note d'enregistrement dans la Blockchain avec votre Compte : {address}", - "yourNoteWontBeSaved": "Votre note d'enregistrement ne sera pas sauvegardée dans votre navigateur. Veuillez vous assurer de bien l'avoir sauvegardé!", - "yourDontHaveAccount": "Vous pouvez aussi encrypter vos notes d'enregistrement dans la Blockchain en créant un Compte de Notes, créez en un dans la page {account}.", - "sendDeposit": "Envoyer le dépôt", - "clickToCopy": "Cliquer pour copier", - "copied": "Copié!", - "preparingTransactionData": "Préparation des données de transaction", - "viewInExplorer": "Voir dans l'explorateur", - "loading": "Chargement", - "pleaseConfirmInWallet": "Veuillez confirmer la fourniture de votre clé publique dans metamask", - "pleaseConfirmTransactionInWallet": "Veuillez confirmer la transaction à: {wallet}", - "pleaseSignRequestInWallet": "Please sign request in {wallet}", - "waitingForTransactionConfirmation": "En attente de la confirmation de transaction", - "relayerIsNowSendingYourTransaction": "Le Relais est maintenant en train d'envoyer votre transaction. Il va envoyer le hash de transaction bientôt", - "note": "Note", - "noteTooltip": "Veuillez entrer la note d'enregistrement que vous avez reçue lorsque vous avez effectué un dépôt", - "depositTransactionOnEtherscan": "Dépôt de la transaction dans l'explorateur Etherscan", - "withdrawalSettings": "Réglages de retrait", - "pleaseEnterYourNote": "Veuillez entrer votre note d'enregistrement", - "turnOnWasm": "Erreur: Veuillez activer WebAssembly dans vos réglages de navigateur.
Si vous utilisez le navigateur Tor, activez javascript.options.wasm dans about:config", - "timePassed": "Temps passé", - "timePassedTooltip": "Même s'il y a plusieurs dépôts après le vôtre, ils pourraient avoir été effectués par le même utilisateur. Par conséquent, nous vous recommandons d'attendre au moins 24 heures avant de retirer des fonds pour vous assurer que plusieurs utilisateurs ont utilisé Tornado.cash pendant cette période.", - "subsequentDeposits": "Dépôts postérieurs", - "subsequentDepositsTooltip": "La preuve la plus probable d'un retrait est celle d'un dépôt récent. De ce fait, nous vous recommandons d'attendre au moins 5 dépôts suivants le vôtre afin d'obtenir un meilleur anonymat.", - "recipientAddress": "Adresse de réception", - "donate": "Faire un don", - "pleasePasteAddressHere": "Veuillez coller l'adresse ici", - "noteIsInvalid": "La note d'enregistrement est invalide", - "noteHasBeenSpent": "La note d'enregistrement a été utilisée", - "gettingTheNoteData": "Recevoir les données de la note d'enregistrement", - "noteWasAlreadySpent": "La note d'enregistrement a déjà été utilisée", - "error": "Erreur", - "downloadError": "Erreur de téléchargement", - "validationError": "Erreur de validation", - "recipientAddressIsInvalid": "L'adresse de réception est invalide", - "total": "Total", - "noteBalance": "Balance de la note d'enregistrement", - "relayerFee": "Frais de relais", - "ethPurchase": "Achat d'{currency}", - "ethPurchaseTooltip": "Échangez une partie des {currency} de votre dépôt en {networkCurrency} pendant le retrait afin de payer le gas dans les transactions futures.", - "incorrectAmount": "Montant incorrect. Veuillez saisir un nombre.", - "amountIsHigh": "Montant trop élevé. La valeur maximale est {value}.", - "amountIsLow": "Montant trop faible. La valeur minimale est {value}.", - "tokensToReceive": "Tokens à recevoir", - "relayer": "Relais", - "relayerTooltip": "Utiliser le service de relais pour envoyer votre transaction. Cela permet une transaction plus privée, puisque les frais de gas sont soustraits des fonds déposés.", - "custom": "Personnalisé", - "pasteYourRelayerUrlorEnsRecord": "Collez votre URL de relais ou votre enregistrement ENS", - "wallet": "Portefeuille", - "walletTooltip": "Utilisez votre propre compte pour déclencher un retrait (exemple: Metamask ou TrustWallet).", - "save": "Sauvegarder", - "reset": "Réinitialiser", - "withdrawWalletWarning": "Assurez-vous que les {currency} utilisés pour payer les frais de gas ne peuvent être liés à AUCUNE de vos adresses. Sinon, l'anonymat du retrait sera compromis. Nous vous recommandons d'utiliser un relais à la place.", - "withdrawalConfirmation": "Confirmation de Retrait", - "confirm": "Confirmer", - "yourZkSnarkProofHasBeenSuccesfullyGenerated": "Votre preuve zk-Snark proof a été générée avec succès! Veuillez cliquer sur Confirmer pour lancer la procédure de retrait.", - "generatingProof": "Génération de la preuve", - "statistics": "Statistiques", - "anonymitySet": "Niveau d'anonymat", - "anonymitySetTooltip": "Nombre de dépôts pouvant être associés à votre retrait", - "latestDeposits": "Dernier dépôt", - "yourIP": "Votre IP {ip}", - "filterBy": "Filtrer par", - "spent": "Dépensée", - "unspent": "Non dépensée", - "thereAreNoElements": "Aucun élément ne correspond aux filtres choisis.", - "txHash": "Hash de transaction", - "status": "Statut", - "copyNote": "Copier Note", - "decryptCopyNote": "Décrypter et copier la note", - "v1Deposit": "Dépôt v1", - "waitingForReceipt": "En attente de réception", - "failed": "Échec", - "withdrawn": "Retiré", - "deposited": "Deposé", - "removeFromCache": "Retiré du cache", - "pleaseMakeSureYouHaveBackedUpYourNote": "Veuillez vous assurer d'avoir sauvegardé votre note d'enregistrement si elle n'est pas déjà dépensée. Voulez-vous toujours supprimer cette transaction ainsi que la note d'enregistrement du stockage de votre navigateur ?", - "remove": "Supprimer", - "noteHasBeenDeleted": "Les informations liées à la note d'enregistrement ont été supprimées", - "accountHasBeenDeleted": "Les informations liées au compte ont été supprimées", - "cancelButton": "Annuler", - "donationsAddress": "Adresse de donation:", - "rate": "Ratio de la pool", - "only": "Seulement", - "equalUserDeposit": "{only} {n} {equalUserDepositText}", - "equalUserDepositPlural": "Il n'y a pas de dépôts | Un seul dépôt | dépôts équivalents", - "userDeposit": "aucun dépôt | seulement 1 dépôt | {n} dépôts", - "gasPrice": "Prix du gas", - "totalFee": "Frais total", - "networkFee": "Frais de réseau", - "connectYourWalletFirst": "Connecter d'abord votre portefeuille", - "changeNetwork": "Changer de réseau", - "changeNetworkNote": "Votre note provient d'un autre réseau, veuillez changer de réseau dans l'application.", - "changingNetwork": "Changement du réseau", - "relayerShouldSupportSSL": "Le relais doit supporter SSL", - "relayerStatusOk": "Statut du relais : OK", - "proposalIsActive": "Le statut de la proposition doit être actif", - "canNotFetchStatusFromTheRelayer": "Impossible de récupérer le statut du relais", - "thisRelayerServesADifferentNetwork": "Ce relais sert un autre réseau", - "compliance": "Conformité", - "complianceTool": "outil de conformité", - "complianceReport": "Rapport de Conformité", - "complianceSubtitle": "Maintaining financial privacy is essential to preserving our freedom.{newline}However, it should not come at the cost of non-compliance. With Tornado.cash, you can always provide cryptographically verified proof of transactional history using the Ethereum address you used to deposit or withdraw funds. This might be necessary to show the source of assets held in your withdrawal address.{newline}To generate a compliance report, please enter your Tornado.сash Note below.", - "from": "De", - "to": "À", - "withdrawal": "Retrait", - "noteHasNotBeenSpent": "La note d'enregistrement n'a pas été dépensée", - "thereIsNoRelatedDeposit": "There is no related deposit. The note is invalid.", - "warning": "Avertissement", - "doNotShareYouNote": "Ne partagez pas votre note avec qui que ce soit car elle sera utilisée pour retirer vos fonds !", - "date": "Date", - "transaction": "Transaction", - "commitment": "Engagement", - "nullifierHash": "Hash Nullifié", - "verified": "Verifié", - "generatePdfReport": "Générer un rapport PDF", - "compliancePrintWarning": "Ce rapport de conformité est uniquement destiné à des fins d'information. Vous devez confirmer la validité de ce rapport en utilisant l'outil de conformité de Tornado (https://tornadocash.eth.link/compliance) ou tout autre logiciel cryptographique capable de calculer et de vérifier les informations contenues dans ce document (l' \"Outil de Conformité Tornado\"). Toute divergence entre les informations trouvées dans ce rapport et celles fournies par l'outil susmentionné indique que les informations contenues dans ce rapport sont inexactes et/ou frauduleuses.{newline}LE RAPPORT DE CONFORMITÉ EST FOURNI \"EN L'ÉTAT\", SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON. EN AUCUN CAS, LES AUTEURS DE L'OUTIL DE CONFORMITÉ TORNADO.CASH NE POURRONT ÊTRE TENUS RESPONSABLES DE TOUTE RÉCLAMATION, DE TOUT DOMMAGE OU DE TOUTE AUTRE RESPONSABILITÉ, QUE CE SOIT DANS LE CADRE D'UNE ACTION CONTRACTUELLE, DÉLICTUELLE OU AUTRE, DÉCOULANT DE, EN DEHORS DE OU EN RELATION AVEC CE RAPPORT DE CONFORMITÉ.", - "relayRequestFailed": "Le relais {relayerName} est en panne. Veuillez choisir un autre relais.", - "selectProvider": "Sélectionner le fournisseur", - "walletDoesNotSupported": "Le portefeuille n'est pas supporté", - "fetchGasPriceFailed": "La récupération du prix du Gas a échoué", - "networkIsNotSupported": "Réseau non supporté", - "failToGenerateNote": "Échec de la génération de la note", - "invalidRoot": "Racine invalide", - "failedToFetchAllDepositEvents": "Échec de la génération de l'ensemble des événements de dépôt du contrat", - "unknownError": "Erreur inconnue", - "unitInvalidValue": "[ethjs-unit] lors de la conversion du nombre {value} en wei, valeur invalide", - "tooManyDecimalPoints": "[ethjs-unit] lors de la conversion du nombre {value} en wei, trop de points décimaux", - "tooManyDecimalPlaces": "[ethjs-unit] lors de la conversion du nombre {value} en wei, trop de décimales", - "settings": "Réglages", - "rpc": "Point de terminaison du RPC", - "rpcStatusOk": "Statut RPC: OK", - "rpcIsDown": "RPC en panne", - "thisRpcIsForDifferentNetwork": "Le RPC est pour un réseau différent", - "rpcSelectError": "Tous les RPCs prédéfinis sont en panne. Il s'agit probablement d'une erreur de réseau. Veuillez sélectionner un RPC personnalisé dans les paramètres", - "rpcShouldSupportSSL": "Le RPC doit supporter SSL", - "customRpcPlaceholder": "Coller votre URL RPC", - "customRpc": "Personnalisé", - "enterRecoveryKey": "Veuillez entrer votre clé de récupération", - "copy": "Copier", - "thereAreNoTransactions": "Il n'y a pas encore de transactions.", - "governance": "Voter", - "delegatedBalance": "Solde délégué", - "votingPower": "Solde disponible pour le vote", - "delegated": "Délégué", - "availableBalance": "Solde disponible", - "manage": "Réglages", - "proposals": "Propositions", - "all": "Toutes", - "active": "Active", - "expired": "Expirée", - "pending": "En attente", - "passed": "Adoptée", - "timeLocked": "Verrouillé", - "createProposal": "Créer proposition", - "startDate": "Date de début", - "endDate": "Date de fin", - "quorum": "Quorum", - "quorumTooltip": "A proposal's voting period lasts {days}. The proposal is passed only if majority vote and quorum of {votes} voters are reached (sum of For + Against votes is greater than {votes}).", - "for": "Pour", - "against": "Contre", - "title": "Titre", - "description": "Description", - "proposalAddress": "Adresse de proposition", - "lock": "Verrouiller", - "unlock": "Déverrouiller", - "proposalThresholdError": "Locked balance should be more or equal to {PROPOSAL_THRESHOLD} TORN", - "castYourVote": "Voter", - "back": "Retour en arrière", - "yourCurrentVote": "Votre vote actuel: {vote}", - "currentResults": "Résultats actuels", - "information": "Infos", - "amountToLock": "Montant à verrouiller", - "amountToUnlock": "Montant à déverrouiller", - "lockedBalance": "Solde verrouillé", - "lockedBalanceError": "Votre solde bloqué doit être supérieur à 0", - "lockTabDesc": "Afin de participer à la gouvernance, vous devez verrouiller des jetons TORN. Votre pouvoir de vote sera équivalent au nombre de jetons que vous bloquez.", - "unlockTabDesc": "Vous pouvez déverrouiller vos TORN précédemment verrouillés ici. Si la proposition à laquelle vous avez participé n'est pas encore terminée, vous devrez attendre qu'elle le soit pour débloquer tous vos TORN.", - "delegateTabDesc": "Vous pouvez déléguer votre pouvoir de vote à un délégataire. Le délégataire pourra participer à la gouvernance en votre nom.", - "undelegateTabDesc": "Vous pouvez révoquer le pouvoir de vote de votre délégué. Ses propositions précédentes et les votes déjà émis resteront inchangés.", - "recipient": "Bénéficiaire", - "address": "Adresse", - "delegate": "Déléguer", - "undelegate": "Retirer la délégation", - "currentDelegate": "Délégué actuel", - "approve": "Approuver", - "approved": "Approuvé", - "proposalTitle": "Titre de la proposition", - "proposalDescription": "Description de la proposition", - "defeated": "Échec", - "accountSaving": "Configuration du compte de Notes", - "accountSaved": "Compte de Notes sauvegardé dans la blockchain", - "creatingProposal": "Création de la proposition", - "proposalCreated": "Proposition créée avec succès", - "depositing": "Dépôt de {value}", - "withdrawing": "Retrait de {value}", - "claiming": "Réclamation de {value}", - "withdrawnValue": "Retiré: {value}", - "claimedValue": "Réclamé: {value}", - "depositedValue": "Déposé: {value}", - "locking": "Vérrouillage", - "votingFor": "Votation Pour", - "votingAgainst": "Votation contre", - "votedFor": "Vous avez voté avec succès pour la proposition", - "votedAgainst": "Vous avez voté avec succès contre la proposition", - "unlocking": "Déverrouillage", - "unlocked": "Déverrouillé", - "delegating": "Délégation", - "undelegating": "Retrait de la délégation", - "undelegated": "Délégation retirée", - "viewOnEtherscan": "Voir sur Etherscan", - "awaitingExecution": "Attente d'exécution", - "execute": "Exécuter", - "executeProposal": "Exécuter la proposition", - "executingProposal": "Exécution de la proposition", - "locked": "verrouillé", - "lockedNotice": "Verrouillé", - "proposalExecuted": "Proposition exécutée avec succès", - "pleaseLockBalance": "Veuillez au préalable verrouiller vos tokens TORN afin de déléguer", - "pleaseDelegate": "Le délégué n'a pas été défini", - "internalError": "Erreur interne. Veuillez rafraîchir la page et réessayer", - "id": "ID", - "timerRemainingForPending": "Temps restant avant le début du vote", - "timerRemainingForVoting": "Temps restant pour voter", - "timerRemainingForAwaitingExecution": "Temps restant avant exécution", - "timerRemainingForExecution": "Temps restant pour l'exécution", - "accepted": "Acceptée", - "sent": "Envoyée", - "mined": "Minée", - "confirmed": "Confirmée", - "pleaseLockTornFirst": "Veuillez verrouiller vos tokens TORN avant de procéder", - "tokensLockedUntil": "Votre solde est bloqué jusqu'à cette date: {date}", - "onlyOneProposalErr": "Seulement une proposition active est autorisée par utilisateur. Veuillez patienter jusqu'à ce que votre proposition actuelle soit terminée.", - "max": "Max", - "withDisconnectedWallet": "Please, connect a wallet or change the type of withdrawal", - "relayerError": "Selected relayer could not sent your tx. Please try again or choose a different relayer in settings.", - "relayerIsNotResponding": "Le Relais ne répond pas. Veuillez réessayer ou choisir un relais différent dans les réglages.", - "transactionFailed": "Transaction échouée", - "none": "aucun", - "queued": "En attente", - "proposal": { - "error": { - "address": "La valeur doit être une adresse", - "contract": "L'adresse doit être un contrat", - "title": "Un titre est requis", - "description": "Une description est requise" - } - }, - "executed": "Exécutée", - "proposalDoesNotExist": "La proposition n'existe pas. Veuillez revenir à la liste.", - "errorPage": { - "title": "Oooups!", - "description": "Page non trouvée.", - "button": "Lancer l'app" - }, - "rejectedRequest": "Vous avez rejeté la requête {description}", - "updateCacheEvents": "Synchronisation des événements de dépôt. Veuillez patienter", - "notEnoughTokens": "Le total des frais est plus élevé que le montant des tokens à recevoir. Cela peut être dû à des frais de relais élevés ou à une congestion temporaire du réseau.", - "gasPriceSlider": { - "low": "Lent", - "standard": "Standard", - "fast": "Rapide" - }, - "decrypt": "Décrypter", - "account": { - "title": "Compte de Notes", - "description": "Un Compte de Notes permet de stocker des sauvegardes encryptées de votre note sur la chaîne. Cela permet de stocker des fonds en toute sécurité et sans stress grâce à la sécurité de la blockchain Ethereum qui protège chaque note.", - "button": "Compte", - "account": "Compte de Notes", - "backedUpWith": "Sauvegardé avec", - "modals": { - "recoverAccount": { - "title": "Connection avec la clé du compte de notes", - "description": "Veuillez entrer votre clé de compte de notes pour importer votre compte précédemment configuré.", - "warning": "Clé de compte de notes invalide.", - "connect": "Se connecter" - }, - "setupAccount": { - "title": "Configuration de compte", - "label": "Clé de Compte de Notes", - "description": "Cette clé est utilisée pour encrypter et stocker vos notes privées Tornado.cash sur la blockchain Ethereum. Veuillez la sauvegarder et ne jamais la partager avec qui que ce soit.", - "setupAccount": "Configurer compte", - "setAccount": "Terminé", - "backedUp": "J'ai sauvegardé la clé du compte de notes", - "saveOnChain": "Créer une sauvegarde additionnelle de votre clé de compte de notes dans votre portefeuille, sur la Blockchain.", - "isNotSupportedWithHw": "Veuillez garder à l'esprit que la sauvegarde supplémentaire de votre compte de notes sur la blockchain n'est pas prise en charge par les portefeuilles physiques - ou Hardware wallets ou portefeuilles mobiles.", - "successfulNotice": "Congratulations! You have successfully set up a Note Account. Now, you can encrypt your notes and store them on chain.", - "yourRecoveryKeyWontBeSaved": "Your recovery key won't be saved in browser cache, please make sure it's backed up." - }, - "showRecoveryKey": { - "title": "Clé de compte de notes actuelle", - "description": "", - "close": "Fermer" - }, - "checkRecoveryKey": { - "title": "Mise à jour de la session", - "description": "La session du compte de notes est inactive depuis 5 minutes. Voulez-vous continuer ?", - "inactiveDescription": "Vous avez été inactif pendant une longue période. Votre session de compte de notes a été interrompue pour des raisons de sécurité.", - "no": "Non", - "yes": "Oui" - }, - "decryptInfo": { - "title": "Vos notes", - "description": "Toutes les notes ont été téléchargées avec succès et décryptées à l'aide de la clé de votre compte de notes.", - "all": "Total des événements téléchargés:", - "warning": "Notes avec avertissement:", - "close": "Fermer", - "unSpent": "Vos notes non dépensées trouvées:", - "spent": "Vos notes dépensées trouvées :", - "redirect": "Page d'accueil" - }, - "removeAccount": { - "title": "Effacer les informations du compte", - "description": "Supprimer les informations du compte de la session actuelle du navigateur", - "cancel": "Annuler", - "remove": "Supprimer" - } - }, - "wallet": { - "label": "Connecter portefeuille Web3", - "desc": "Connecter votre portefeuille web3", - "disconnect": "Se déconnecter de votre votre wallet", - "rpcDesc": "Changer votre fournisseur RPC Ethereum", - "connectWeb3": "Connecter Web3", - "logout": "Déconnecter", - "changeRpc": "Changer RPC" - }, - "setup": { - "decrypt": "Veuillez confirmer la demande de décryptage du portefeuille web3.", - "setTooltip": "Un compte est déjà associé à ce portefeuille web3. Veuillez utiliser l'option 'Récupérer le compte' ci-dessous.", - "recTooltip": "Please set up an account. There is no account for this address.", - "desc": "Configurer un compte de notes pour stocker des notes encryptées sur la blockchain Ethereum.", - "account": "Configurer Compte", - "recoverDesc": "Récupérer le compte de notes associé à ce portefeuille Web3", - "recover": "Récupérer le compte", - "enterRawDesc": "Utiliser la clé de compte de notes précédemment définie", - "enterRaw": "Entrez la clé du compte", - "accSetupDescription": "Cette clé est utilisée pour encrypter et stocker vos notes privées Tornado.cash sur la blockchain Ethereum. Veuillez la sauvegarder et ne jamais la partager avec qui que ce soit." - }, - "control": { - "balance": "Solde du compte de notes: {value}", - "loadAllDesc": "Chargez et décryptez toutes vos notes privées avec la clé actuelle du compte de notes.", - "loadAll": "Charger toutes les notes encryptées", - "showRecoveryKeyDesc": "Révéler la clé actuelle du compte de notes", - "showRecoveryKey": "Révéler", - "removeDesc": "Supprimer les informations du compte de la session actuelle du navigateur", - "remove": "Effacer les informations du compte", - "fileDesc": "Télécharger des notes privées brutes par défaut lorsque vous effectuez un dépôt" - }, - "notification": { - "text": "Tornado.cash a ajouté la possibilité d'effectuer des sauvegardes de notes sur la blockchaîn. Configurez votre {note} maintenant et pour plus d'informations : {medium}.", - "link": { - "note": "compte de notes", - "medium": "lire plus" - } - } - }, - "saveNote": "Sauvegarder votre note", - "pleaseSetUpAccount": "Pour décypter votre note d'enregistrement, veuillez configurer un compte", - "decryptNote": "Veuillez confirmer le décryptage de la note d'enregistrement", - "decryptFailed": "Le décryptage a échoué. Veuillez réessayer en vous connectant sur un autre compte", - "recoverFromKeyTitle": "Clé de l'actuel Compte de Notes", - "trezorNotSupported": "Le portefeuille Trezor n'est pas actuellement pris en charge", - "ledgerNotSupported": "Le portefeuille Ledger n'est pas actuellement pris en charge", - "startDecryptingNotes": "Lancement du décryptage de la note", - "decryptingNotes": "Décryptage des notes d'enregistrement", - "getAndValidateEvents": "Recevoir et valider les événements {name}", - "notConnected": "Non connecté", - "regular": "Régulier", - "encrypted": "Encryptée", - "notDecryptedWithBackup": "Cette note d'enregistrement est encryptée par le compte de notes {address}, qui est lié au compte metamask {backup}. Veuillez changer de compte pour le décryptage.", - "notDecrypted": "Cette note d'enregistrement est encryptée par le compte de notes {address}, veuillez basculer sur ce compte.", - "noteAccountKey": "Le décryptage a échoué. Connectez vous au compte metamask {address} pour décryter la clé du Compte de Notes {noteAddress}", - "yourEncrypted": "Cette note d'enregistrement sera encryptée avec le compte {address}.", - "lockTooltip": "Cette note a été inscrite et encryptée sur la blockchain. Elle peut être récupérée par le Compte de Notes {address}.", - "connected": "Connecté", - "accountConnected": "Compte de Notes", - "web3connected": "Web3 connecté", - "haveAccountSetupWithWallet": "Il semblerait que vous ayez déjà un compte installé avec le portefeuille actuel Web3. Veuillez utiliser l'option 'Récupérer son compte'", - "connectAccount": "Connecter Compte de Notes", - "fetchFile": "Impossible de trouver les clés de preuve, veuillez vérifier la connexion Internet ou essayer utiliser un VPN.", - "mobileWallet": { - "loading": { - "alert": "Si vous n'avez pas reçu de notification dans votre portefeuille, veuillez reconnecter votre portefeuille", - "action": "Se reconnecter" - }, - "actions": { - "disabled": "Cette fonctionnalité n'est pas prise en charge par portefeuilles mobiles." - } - }, - "missingENSSubdomain": "Missing ENS subdomain", - "dayPlural": "0 jours | {n} jour | {n} jours", - "stakingReward": { - "title": "Récompense de staking", - "label": { - "tab": "Réclamer", - "input": "Récompense de staking disponible" - }, - "description": "Vous pouvez réclamer votre staking ici. Votre récompense gagnée est proportionnelle à vos TORN bloqués sur le contrat de gouvernance.", - "action": "Réclamer" - }, - "relayerTotal": { - "label": "Current Relayer", - "name": "Name", - "fee": "Fee" - }, - "withdrawalQueueIsOverloaded": "Withdrawal queue is overloaded" -} diff --git a/langs/index.js b/langs/index.js deleted file mode 100644 index 72e731c..0000000 --- a/langs/index.js +++ /dev/null @@ -1,16 +0,0 @@ -import en from './en.json' -import es from './es.json' -import fr from './fr.json' -import ru from './ru.json' -import tr from './tr.json' -import uk from './uk.json' -import zh from './zh.json' -export default { - en, - es, - fr, - ru, - tr, - uk, - zh -} diff --git a/langs/ru.json b/langs/ru.json deleted file mode 100644 index 2ff3f9e..0000000 --- a/langs/ru.json +++ /dev/null @@ -1,449 +0,0 @@ -{ - "closeNotification": "Закрыть", - "indexNotification": "Tornado Cash в настоящее время поддерживается сообществом, для получения дополнительной информации посетите {link}", - "indexNotificationLinkText": "прошел аудит", - "binanceInternalTxsNotification": "Пожалуйста, не используйте адреса кошельков Binance для вывода средств. Внутренние транзакции (включая снятие средств с Tornado.cash) в настоящее время не поддерживаются на бирже Binance. Если у вас возникли проблемы с получением средств, вам следует обратиться в службу поддержки Binance.", - "deposit": "Депозит", - "depositButton": "Внести", - "withdraw": "Вывод", - "withdrawButton": "Снять", - "waitUntilTransactionIsMined": "Подождите, пока транзакция замайнится", - "enterYourDepositsNote": "Введите Note", - "yourWallet": "Подключение кошелька", - "pleaseSelectYourWeb3Wallet": "Пожалуйста, выберите Web3-совместимый кошелек:", - "otherWallet": "Другой кошелек", - "currentNetworkIsNotSupported": "Текущая сеть не поддерживается", - "pleaseChangeNetwork": "Сеть приложения ({network}) не совпадает с сетью, выбранной в кошельке.", - "docs": "Документация", - "getFreeGETH": "Получить gETH", - "logout": "Выйти", - "connect": "Подключить", - "token": "Токен", - "amount": "Сумма", - "amountTooltip": "Каждая сумма представляет собой отдельный экземпляр Tornado.cash с отдельным набором анонимности. Вы можете получить больше информации во вкладке Статистика.", - "approvalIsRequired": "Требуется разрешение", - "inOrderToUse": "Чтобы использовать {currency}, вы должны активировать его для Tornado.cash. Выберите сумму, которую хотите утвердить:", - "unlimited": "Неограниченное", - "unlimitedTooltip": "Неограниченное разрешение удобнее, если вы собираетесь сделать несколько депозитов.", - "enable": "Включить", - "transactionWasSuccessfullySent": "Транзакция была успешно отправлена.", - "insufficientBalance": "Недостаточный баланс", - "youDontHaveEnoughTokens": "Недостаточно {currency} токенов. Ваш текущий баланс {balance} {currency}", - "close": "Закрыть", - "yourNote": "Ваша приватная Note", - "pleaseBackupYourNote": "Пожалуйста, сделайте резервную копию приватной Note, расположенной ниже. Она понадобится вам позже для снятия вашего депозита.", - "treatYourNote": "Относитесь к приватной Note, как к приватному ключу - никогда и ни с кем не делитесь ею, включая разработчиков Tornado.cash.", - "saveAsFile": "Браузер предложит сохранить вашу Note как файл:", - "iBackedUpTheNote": "Я сделал резервную копию", - "iEncryptedTheNote": "Создать резервную копию этой Note в блокчейне с помощью Аккаунта {address}", - "yourNoteWontBeSaved": "Ваша Note не будет сохранена в браузере. Убедитесь, что вы сделали резервную копию!", - "yourDontHaveAccount": "НЕВОЗМОЖНОСТЬ СОЗДАТЬ РЕЗЕРВНУЮ ЗАПИСКУ ПРИВЕДЕТ К ПОТЕРЕ СРЕДСТВ", - "sendDeposit": "Отправить депозит", - "clickToCopy": "Скопировать", - "copied": "Скопировано!", - "preparingTransactionData": "Подготовка данных транзакции", - "viewInExplorer": "Посмотреть транзакцию", - "loading": "Загрузка", - "pleaseConfirmInWallet": "Подтвердите предоставление открытого ключа в metamask", - "pleaseConfirmTransactionInWallet": "Подтвердите транзакцию в {wallet}", - "pleaseSignRequestInWallet": "Please sign request in {wallet}", - "waitingForTransactionConfirmation": "Ожидание подтверждения транзакции", - "relayerIsNowSendingYourTransaction": "Relayer отправляет вашу транзакцию. Ожидаем хэш транзакции", - "note": "Note", - "noteTooltip": "Введите Note, которую вы получили, когда вносили депозит", - "depositTransactionOnEtherscan": "Транзакция депозита на Etherscan", - "withdrawalSettings": "Настройки вывода", - "pleaseEnterYourNote": "Введите Note", - "turnOnWasm": "Ошибка: включите WebAssembly в настройках вашего браузера.
Если вы используете браузер Tor, включите javascript.options.wasm в about:config", - "timePassed": "Время", - "timePassedTooltip": "Даже если после вас сделано несколько депозитов, они могли быть сделаны одним и тем же пользователем. Поэтому мы рекомендуем подождать не менее 24 часов, прежде чем снимать средства, чтобы убедиться, что за это время несколько пользователей использовали Tornado.cash.", - "subsequentDeposits": "Депозитов после", - "subsequentDepositsTooltip": "Наиболее вероятным источником снятия средств являются недавние депозиты. Поэтому, мы рекомендуем подождать как минимум 5 депозитов после вашего, чтобы улучшить анонимность.", - "recipientAddress": "Адрес получателя", - "donate": "Поддержать проект", - "pleasePasteAddressHere": "Вставьте адрес", - "noteIsInvalid": "Некорректная Note", - "noteHasBeenSpent": "Депозит снят", - "gettingTheNoteData": "Получение данных", - "noteWasAlreadySpent": "Note уже была потрачена", - "error": "Ошибка", - "downloadError": "Ошибка загрузки", - "validationError": "Ошибка проверки", - "recipientAddressIsInvalid": "Некорректный адрес получателя", - "total": "Итог", - "noteBalance": "Баланс Note", - "relayerFee": "Комиссия Relayer", - "ethPurchase": "Покупка {currency}", - "ethPurchaseTooltip": "Обменяйте часть {currency} из вашего депозита на {networkCurrency} во время снятия средств для оплаты газа в будущих транзакциях.", - "incorrectAmount": "Неверная сумма. Пожалуйста, введите число.", - "amountIsHigh": "Сумма слишком велика. Максимальное значение - {value}.", - "amountIsLow": "Сумма слишком мала. Минимальное значение - {value}.", - "tokensToReceive": "Получаемые токены", - "relayer": "Relayer", - "relayerTooltip": "Используйте Relayer сервис для отправки транзакции. Это более анонимно, так как плата за газ вычитается из депозита.", - "custom": "Свой Relayer", - "pasteYourRelayerUrlorEnsRecord": "Вставьте Relayer URL или ENS запись", - "wallet": "Кошелек", - "walletTooltip": "Использовать кошелек, например, Metamask или TrustWallet, для снятия депозита.", - "save": "Сохранить", - "reset": "Сбросить", - "withdrawWalletWarning": "Убедитесь, что {currency}, использованный для оплаты комиссии сети, не связан ни с одним из ваших адресов. В противном случае, транзакции депозита и вывода будут связаны. Мы рекомендуем использовать Relayer для обеспечения анонимности.", - "withdrawalConfirmation": "Подтверждение вывода средств", - "confirm": "Подтвердить", - "yourZkSnarkProofHasBeenSuccesfullyGenerated": "Ваше zk-Snark доказательство успешно сгенерировано! Нажмите Подтвердить, чтобы инициировать вывод средств", - "generatingProof": "Создание доказательства", - "statistics": "Статистика", - "anonymitySet": "Количество депозитов", - "anonymitySetTooltip": "Общее количество депозитов этой суммы в Tornado.сash. Чем больше это количество, тем лучше (анонимнее)", - "latestDeposits": "Последние депозиты", - "yourIP": "Ваш IP {ip}", - "filterBy": "Фильтр по", - "spent": "Потрачен", - "unspent": "Непотрачен", - "thereAreNoElements": "Нет элементов, которые соответствуют фильтрам.", - "txHash": "Хеш транзакции", - "status": "Состояние", - "copyNote": "Скопировать", - "decryptCopyNote": "Дешифровать и копировать", - "v1Deposit": "v1 депозит", - "waitingForReceipt": "Ожидание", - "failed": "Неудача", - "withdrawn": "Снят", - "deposited": "Внесен", - "removeFromCache": "Удаление из хранилища", - "pleaseMakeSureYouHaveBackedUpYourNote": "Пожалуйста, убедитесь, что вы сделали резервную копию Note, если она еще не была потрачена. Вы все еще хотите удалить эту транзакцию и Note из хранилища браузера?", - "remove": "Удалить", - "noteHasBeenDeleted": "Информация о Note была удалена", - "accountHasBeenDeleted": "Информация об аккаунте была удалена", - "cancelButton": "Отмена", - "donationsAddress": "Адрес для донатов:", - "rate": "Курс", - "only": " ", - "equalUserDeposit": "{only} {n} {equalUserDepositText}", - "equalUserDepositPlural": "Депозиты отсутствуют | Один депозит | депозита | депозитов", - "userDeposit": "депозиты отсутствуют | 1 депозит | {n} депозита | {n} депозитов", - "gasPrice": "Цена Газа", - "totalFee": "Итоговая комиссия", - "networkFee": "Комиссия сети", - "connectYourWalletFirst": "Подключите свой кошелек", - "changeNetwork": "Сменить сеть", - "changeNetworkNote": "Ваша Note из другой сети. Смените сеть приложения, в которой она была создана.", - "changingNetwork": "Смена сети", - "relayerShouldSupportSSL": "Relayer должен поддерживать SSL", - "relayerStatusOk": "Статус Relayer: OK", - "proposalIsActive": "Предложение должно быть активным", - "canNotFetchStatusFromTheRelayer": "Невозможно получить ответ от Relayer", - "thisRelayerServesADifferentNetwork": "Этот Relayer обслуживает другую сеть", - "compliance": "Соответствие", - "complianceTool": "Проверка соответствия", - "complianceReport": "Отчет о соответствии", - "complianceSubtitle": "Maintaining financial privacy is essential to preserving our freedom.{newline}However, it should not come at the cost of non-compliance. With Tornado.cash, you can always provide cryptographically verified proof of transactional history using the Ethereum address you used to deposit or withdraw funds. This might be necessary to show the source of assets held in your withdrawal address.{newline}To generate a compliance report, please enter your Tornado.сash Note below.", - "from": "Отправитель", - "to": "Получатель", - "withdrawal": "Вывод", - "noteHasNotBeenSpent": "Note не потрачена", - "thereIsNoRelatedDeposit": "Не найдено депозита, соответствующего данной Note.  Введена некорректная Note. ", - "warning": "Предупреждение", - "doNotShareYouNote": "Note является приватной информацией, обладание ею позволяет осуществить вывод депозита!", - "date": "Дата", - "transaction": "Транзакция", - "commitment": "Commitment", - "nullifierHash": "Nullifier Hash", - "verified": "Подтверждено", - "generatePdfReport": "Сгенерировать PDF отчёт", - "compliancePrintWarning": "Настоящий отчет о соответствии носит исключительно информационный характер. Вы должны подтвердить действительность этого отчета с помощью средства проверки соответствия Tornado (https://tornadocash.eth.link/compliance) или с помощью любого другого криптографического программного обеспечения, которое может обработать и проверить информацию, содержащуюся в этом отчете(\"Tornado Compliance Tool\"). Любые расхождения между информацией, приведенной в данном отчете и предоставленной вышеуказанным инструментом, указывают на то, что информация, содержащаяся в этом отчете, является неточной и/или мошеннической.{newline}ОТЧЕТ О СООТВЕТСТВИИ ПРЕДОСТАВЛЯЕТСЯ \"КАК ЕСТЬ,\" БЕЗ ГАРАНТИЙ ЛЮБОГО РОДА, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОГО КАЧЕСТВА, ПРИГОДНОСТЬЮ К КОНКРЕТНОЙ ЦЕЛИ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИНСТРУМЕНТА СООТВЕТСТВИЯ TORNADO.CASH НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, ОТНОСЯЩУЮСЯ К ДЕЙСТВИЮ ДОГОВОРОВ, ГРАЖДАНСКИМ ПРАВОНАРУШЕНИЯМ, А ТАКЖЕ ВЫТЕКАЮЩУЮ ИЗ НАСТОЯЩЕГО ОТЧЕТА О СООТВЕТСТВИИ ИЛИ СВЯЗАННУЮ С НИМ.", - "relayRequestFailed": "Relayer {relayerName} не отвечает. Попробуйте сменить Relayer.", - "selectProvider": "Выберите кошелёк", - "walletDoesNotSupported": "Выбранный кошелёк не поддерживается", - "fetchGasPriceFailed": "Ошибка получения стоимости газа", - "networkIsNotSupported": "Сеть не поддерживается", - "failToGenerateNote": "Ошибка генерации Note", - "invalidRoot": "Invalid Root", - "failedToFetchAllDepositEvents": "Ошибка получения данных о депозитах из контракта", - "unknownError": "Неизвестная ошибка", - "unitInvalidValue": "[ethjs-unit] недопустимое значение при преобразовании числа {value} в wei", - "tooManyDecimalPoints": "[ethjs-unit] слишком много десятичных знаков при преобразовании числа {значения} в wei", - "tooManyDecimalPlaces": "[ethjs-unit] слишком много знаков после запятой при преобразовании числа {value} в wei", - "settings": "Настройки", - "rpcDisclaimer": "После {linkOne} большинство конечных точек RPC подвергают цензуре депозиты, убедитесь, что ваш кошелек вручную настроен на работающую конечную точку. См. {linkTwo}, чтобы узнать о вариантах и ​​о том, {linkThree}", - "rpcDisclaimerLinkOneText": "санкций OFAC", - "rpcDisclaimerLinkTwoText": "chainlist.org", - "rpcDisclaimerLinkThreeText": "как настроить MetaMask", - "rpc": "RPC", - "rpcStatusOk": "Статус RPC: OK", - "rpcIsDown": "RPC не отвечает", - "thisRpcIsForDifferentNetwork": "Этот RPC предназначен для другой сети", - "rpcSelectError": "Все RPC по умолчанию не отвечают. Возможно, это сетевая ошибка. Вы можете выбрать свой RPC в Настройках", - "rpcShouldSupportSSL": "RPC должен поддерживать SSL", - "customRpcPlaceholder": "Вставьте RPC URL", - "customRpc": "Свой RPC", - "enterRecoveryKey": "Введите свой ключ восстановления", - "copy": "Копировать", - "thereAreNoTransactions": "Транзакции пока отсутствуют.", - "governance": "Голосование", - "delegatedBalance": "Делегированный баланс", - "votingPower": "Право голоса", - "delegated": "Делегировано", - "availableBalance": "Доступный баланс", - "manage": "Управление", - "proposals": "Предложения", - "all": "Все", - "active": "Активные", - "expired": "Истек срок", - "pending": "В процессе", - "passed": "Принято", - "timeLocked": "Заблокировано", - "createProposal": "Создание предложения", - "startDate": "Начало", - "endDate": "Окончание", - "quorum": "Кворум", - "quorumTooltip": "A proposal's voting period lasts {days}. The proposal is passed only if majority vote and quorum of {votes} voters are reached (sum of For + Against votes is greater than {votes}).", - "for": "За", - "against": "Против", - "title": "Заголовок", - "description": "Описание", - "proposalAddress": "Адрес предложения", - "lock": "Заблокировать", - "unlock": "Разблокировать", - "proposalThresholdError": "Locked balance should be more or equal to {PROPOSAL_THRESHOLD} TORN", - "castYourVote": "Проголосовать", - "back": "Назад", - "yourCurrentVote": "Ваш голос: {vote}", - "currentResults": "Текущие результаты", - "information": "Инфо", - "amountToLock": "Сумма для блокировки", - "amountToUnlock": "Сумма для разблокировки", - "lockedBalance": "Заблокированный баланс", - "lockedBalanceError": "Ваш заблокированный баланс должен быть больше 0", - "lockTabDesc": "Чтобы принимать участие в управлении, вы должны заблокировать TORN токены. Ваше право голоса будет эквивалентно количеству заблокированных токенов.", - "unlockTabDesc": "Здесь вы можете разблокировать ранее заблокированные TORN. Если предложение в котором вы учавствуете еще не завершено, вам придется подождать, пока оно будет завершено, чтобы разблокировать все TORN.", - "delegateTabDesc": "Вы можете отдать свое право голоса делегату. Делегат сможет учавствовать в управлении от вашего имени.", - "undelegateTabDesc": "Вы можете отозвать право голоса у своего делегата. Их предыдущие предложения и голоса останутся неизменными.", - "recipient": "Получатель", - "address": "Адрес", - "delegate": "Отдать голос", - "undelegate": "Отозвать голос", - "currentDelegate": "Текущий делегат", - "approve": "Разрешить", - "approved": "Разрешено", - "proposalTitle": "Заголовок предложения", - "proposalDescription": "Описание предложения", - "defeated": "Отклонено", - "accountSaving": "Создание Note аккаунта", - "accountSaved": "Note aккаунт сохранен в блокчейне", - "creatingProposal": "Создание предложения", - "proposalCreated": "Предложение успешно создано", - "depositing": "Внесение {value}", - "withdrawing": "Снятие {value}", - "claiming": "Получение {value}", - "withdrawnValue": "Снято {value}", - "claimedValue": "Получено {value}", - "depositedValue": "Внесено {value}", - "locking": "Блокирование", - "votingFor": "Голосование За", - "votingAgainst": "Голосование Против", - "votedFor": "Успешно проголосовали За", - "votedAgainst": "Успешно проголосовали Против", - "unlocking": "Разблокирование", - "unlocked": "Разблокировано", - "delegating": "Передача голоса", - "undelegating": "Отзыв голоса", - "undelegated": "Голос отозван", - "viewOnEtherscan": "Посмотреть на Etherscan", - "awaitingExecution": "Ожидание исполнения", - "execute": "Исполнить", - "executeProposal": "Исполнить предложение", - "executingProposal": "Исполнение предложения", - "locked": "заблокировано", - "lockedNotice": "Заблокировано", - "proposalExecuted": "Предложение успешно исполнено", - "pleaseLockBalance": "Чтобы отдать голос, сперва заблокируйте TORN", - "pleaseDelegate": "Делегат не назначен", - "internalError": "Внутренняя ошибка. Обновите страницу и повторите попытку", - "id": "ID", - "timerRemainingForPending": "Время до начала голосования", - "timerRemainingForVoting": "Оставшееся время для голосования", - "timerRemainingForAwaitingExecution": "Оставшееся время до исполнения", - "timerRemainingForExecution": "Осталось времени на исполнение", - "accepted": "Принято", - "sent": "Отправлено", - "mined": "Замайнено", - "confirmed": "Подтверждено", - "pleaseLockTornFirst": "Чтобы продолжить, сперва заблокируйте TORN токены", - "tokensLockedUntil": "Ваш баланс заблокирован до {date}", - "onlyOneProposalErr": "Каждому пользователю разрешено только одно активное предложение. Подождите, пока ваше текущее предложение не будет завершено.", - "max": "Макс", - "withDisconnectedWallet": "Please, connect a wallet or change the type of withdrawal", - "relayerError": "Selected relayer could not sent your tx. Please try again or choose a different relayer in settings.", - "relayerIsNotResponding": "Relayer не отвечает. Повторите попытку или смените Relayer в настройках.", - "transactionFailed": "Транзакция не выполнилась", - "none": "нет", - "queued": "В очереди", - "proposal": { - "error": { - "address": "Неверный адрес", - "contract": "Адрес должен быть контрактом", - "title": "Укажите заголовок", - "description": "Укажите описание" - } - }, - "executed": "Исполнено", - "proposalDoesNotExist": "Предложение не найдено. Вернитесь к списку.", - "errorPage": { - "title": "Упс!", - "description": "Страница не найдена.", - "button": "На главную" - }, - "rejectedRequest": "Вы отклонили запрос {description}", - "updateCacheEvents": "Обновление кешированых событий", - "notEnoughTokens": "Итоговая комиссия превышает количество получаемых токенов. Это может быть связано с высокой комиссией Relayer или временной перегрузкой сети.", - "gasPriceSlider": { - "low": "Медленно", - "standard": "Стандарт", - "fast": "Быстро" - }, - "decrypt": "Дешифровать", - "account": { - "title": "Note аккаунт", - "description": "Note аккаунт позволяет хранить зашифрованные резервные копии приватных Note в блокчейне. Это делает простым хранение средств, а блокчейн Ethereum обеспечивает безопасность каждой Note.", - "button": "Аккаунт", - "account": "Note аккаунт", - "backedUpWith": "Адрес привязки", - "modals": { - "recoverAccount": { - "title": "Подключение с помощью ключа", - "description": "Введите ключ, чтобы импортировать ранее созданный Note аккаунт.", - "warning": "Неправильный ключ.", - "connect": "Подключить" - }, - "setupAccount": { - "title": "Создание Note аккаунта", - "label": "Ключ Note аккаунта", - "description": "Этот ключ используется для шифрования и хранения ваших приватных Note в блокчейне Ethereum. Пожалуйста, сделайте резервную копию ключа и никогда ни с кем им не делитесь.", - "setupAccount": "Создать аккаунт", - "setAccount": "Завершить", - "backedUp": "Я сделал резервную копию ключа", - "saveOnChain": "Создать дополнительную резервную копию ключа в блокчейне с помощью кошелька", - "isNotSupportedWithHw": "Имейте в виду, что резервное копирование в блокчейн вашего Note аккаунта не поддерживается аппаратными или мобильными кошельками", - "successfulNotice": "Ваш Note аккаунт был успешно создан. Теперь вы можете зашифровывать свои приватные ключи в блокчейне. ", - "yourRecoveryKeyWontBeSaved": "Your recovery key won't be saved in browser cache, please make sure it's backed up." - }, - "showRecoveryKey": { - "title": "Текущий ключ", - "description": "", - "close": "Закрыть" - }, - "checkRecoveryKey": { - "title": "Обновление сессии", - "description": "Сессия Note аккаунта была неактивна в течении 5 минут. Желаете продолжить?", - "inactiveDescription": "Вы долгое время бездействовали. Сессия вашего Note аккаунта была прекращена по соображениям безопасности.", - "no": "Нет", - "yes": "Да" - }, - "decryptInfo": { - "title": "Ваши Note", - "description": "Все Note успешно загружены и дешифрованы с помощью ключа", - "all": "Загружено событий:", - "warning": "Note с предупреждением:", - "close": "Закрыть", - "unSpent": "Непотраченных Note найдено:", - "spent": "Потраченных Note найдено:", - "redirect": "На главную" - }, - "removeAccount": { - "title": "Очистить информацию об аккаунте", - "description": "Удаление данных об аккаунте из текущей сессии браузера", - "cancel": "Отмена", - "remove": "Удалить" - } - }, - "wallet": { - "label": "Подключенный Web3 кошелек", - "desc": "Подключение web3 кошелька", - "disconnect": "Отключение от кошелька", - "rpcDesc": "Смена Ethereum RPC провайдера", - "connectWeb3": "Подключить Web3", - "logout": "Выход", - "changeRpc": "Сменить RPC" - }, - "setup": { - "decrypt": "Пожалуйста, подтвердите запрос на расшифровку в web3 кошельке.", - "setTooltip": "С этим web3 кошельком уже связан аккаунт. Нажмите на кнопку \"Восстановить\".", - "recTooltip": "Please set up an account. There is no account for this address.", - "desc": "Создание аккаунта для хранения зашифрованных Note в блокчейне Ethereum", - "account": "Создать", - "recoverDesc": "Восстановление аккаунта, связанного с этим кошельком", - "recover": "Восстановить", - "enterRawDesc": "Вход с помощью ключа", - "enterRaw": "Ввести ключ аккаунта", - "accSetupDescription": "Этот ключ используется для шифрования и хранения ваших Tornado.cash Note в блокчейне Ethereum. Пожалуйста, сохраните его и никогда никому не передавайте." - }, - "control": { - "balance": "Баланс аккаунта: {value}", - "loadAllDesc": "Загрузка и дешифровка всех ваших приватных Note с помощью текущего ключа", - "loadAll": "Загрузить все зашифрованные Note", - "showRecoveryKeyDesc": "Узнать текущий ключ", - "showRecoveryKey": "Показать", - "removeDesc": "Удаление информации об аккаунте в текущем сеансе браузера", - "remove": "Удалить", - "fileDesc": "Автоматическое скачивание приватных Note по умолчанию при внесении депозита" - }, - "notification": { - "text": "Tornado.cash поддерживает резервное копирование Note в блокчейн. Создайте ваш {note} сейчас или узнать {medium}.", - "link": { - "note": "аккаунт для Note", - "medium": "больше информации" - } - } - }, - "saveNote": "Сохранить Note", - "pleaseSetUpAccount": "Для дешифровки Note необходимо подключить аккаунт", - "decryptNote": "Подтвердите дешифрование Note", - "decryptFailed": "Дешифрование не удалось. Пожалуйста, попробуйте сменить аккаунт", - "recoverFromKeyTitle": "Текущий ключ аккаунта для Note", - "trezorNotSupported": "В данный момент кошелек Trezor не поддерживается", - "ledgerNotSupported": "В данный момент кошелек Ledger не поддерживается", - "startDecryptingNotes": "Начало дешифрования", - "decryptingNotes": "Дешифровка Note", - "getAndValidateEvents": "Получение и проверка {name} событий", - "notConnected": "Не подключен", - "regular": "Обычный", - "encrypted": "Зашифрованный", - "notDecryptedWithBackup": "Эта Note зашифрована учетной записью {address}, которая привязана к {backup} metamask аккаунту. Пожалуйста, переключитесь для дешифровки.", - "notDecrypted": "Эта Note зашифрована учетной записью {address}. Пожалуйста, переключитесь на нее.", - "noteAccountKey": "Дешифровка не удалась. Подключитесь к metamask аккаунту {address} для дешифровки ключа Note аккаунта {noteAddress}.", - "yourEncrypted": "Эта Note будет зашифрована аккаунтом {address}.", - "lockTooltip": "Эта Note хранится в сети в зашифрованном виде. Ее можно восстановить с помощью Note аккаунта {address}.", - "connected": "Подключен", - "accountConnected": "Подключенный аккаунт", - "web3connected": "Web3 подключен", - "haveAccountSetupWithWallet": "Похоже, вы уже создавали аккаунт с помощью текущего web3 кошелька. Пожалуйста, восстановите аккаунт", - "connectAccount": "Подключить Note аккаунт", - "fetchFile": "Не удается получить ключи для доказательства, проверьте интернет поделючение или попробуйте использовать VPN.", - "mobileWallet": { - "loading": { - "alert": "Если вы не получили уведомление в своем кошельке, пожалуйста, повторно подключите свой кошелек", - "action": "Переподключить" - }, - "actions": { - "disabled": "Мобильные кошельки не поддерживают эту функцию в данный момент." - } - }, - "missingENSSubdomain": "Missing ENS subdomain", - "dayPlural": "0 дней | {n} день | {n} дня | {n} дней", - "stakingReward": { - "title": "Stake награда", - "label": { - "tab": "Награда", - "input": "Доступная stake награда" - }, - "description": "Здесь вы можете получить вознаграждение за stake. Ваша заработанная доля прямо пропорциональна балансу TORN токенов, заблокированных для голосования.", - "action": "Получить" - }, - "relayerTotal": { - "label": "Current Relayer", - "name": "Name", - "fee": "Fee" - }, - "withdrawalQueueIsOverloaded": "Withdrawal queue is overloaded" -} diff --git a/langs/tr.json b/langs/tr.json deleted file mode 100644 index eb5ee04..0000000 --- a/langs/tr.json +++ /dev/null @@ -1,445 +0,0 @@ -{ - "closeNotification": "Bildirimi Kapat", - "indexNotification": "Tornado.cash {link} deneysel bir yazılımdır. Lütfen riskin farkında olarak kullanın.", - "indexNotificationLinkText": "denetimden geçmiştir ve", - "binanceInternalTxsNotification": "Lütfen para çekme işlemleri için Binance cüzdanına ait adresleri kullanmayın. Dahili işlemler (Tornado.cash çekimleri dahil) şu anda Binance Exchange’de desteklenmemektedir. Paranızın hesabınıza yansıması ile ilgili sorunlarınız varsa Binance destek ile iletişime geçmelisiniz.", - "deposit": "Yatırma", - "depositButton": "Yatırma", - "withdraw": "Çekme", - "withdrawButton": "Çekme", - "waitUntilTransactionIsMined": "İşleminiz gerçekleşene kadar bekleyin", - "enterYourDepositsNote": "Yatırma notunuzu girin", - "yourWallet": "Cüzdanınız", - "pleaseSelectYourWeb3Wallet": "Lütfen Web3 uyumlu cüzdanı seçin:", - "otherWallet": "Diğer cüzdan", - "currentNetworkIsNotSupported": "Bu ağ desteklenmiyor", - "pleaseChangeNetwork": "Uygulamanın ağı ({network}) cüzdanda seçili ağı desteklemiyor.", - "docs": "Dökümanlar", - "getFreeGETH": "Ücretsiz gETH alın", - "logout": "Çıkış", - "connect": "Bağlan", - "token": "Token", - "amount": "Miktar", - "amountTooltip": "Her değer, ayrı bir anonimlik kümesine sahip bağımsız bir Tornado Cash yansımasıdır. Daha fazla bilgi için istatistikler sekmesini kontrol edin.", - "approvalIsRequired": "Onay gerekmekte", - "inOrderToUse": "{currency} kullanmak için Tornado.cash’i etkinleştirmeniz gerekir. Onaylamak istediğiniz tutarı seçin:", - "unlimited": "Limitsiz", - "unlimitedTooltip": "Birden fazla para yatırma işlemi yapacaksanız sınırsız onay daha uygundur.", - "enable": "Etkinleştir", - "transactionWasSuccessfullySent": "Gönderim başarıyla gerçekleşti.", - "insufficientBalance": "Yetersiz bakiye", - "youDontHaveEnoughTokens": "Hesabınızda yeterli token yoktur.{currency}. Bakiyeniz {balance} {currency}", - "close": "Kapat", - "yourNote": "Özel notunuz", - "pleaseBackupYourNote": "Lütfen notunuzu yedekleyin. Yüklediğiniz tokenları geri çekmek için daha sonra ihtiyacınız olacak.", - "treatYourNote": "Notunuza özel bir anahtar gibi davranın. tornado.cash geliştiricileri dahil hiç kimseyle paylaşmayın.", - "saveAsFile": "Tarayıcınız notunuzu bir dosya olarak kaydetmenizi isteyecektir:", - "iBackedUpTheNote": "Notumu yedekledim.", - "iEncryptedTheNote": "Hesabınıza ait notun zincir üzerinde yedeğini oluşturun {address}", - "yourNoteWontBeSaved": "Notunuz tarayıcınıza kaydedilmeyecek. Lütfen yedeklendiğinden emin olun!", - "yourDontHaveAccount": "Ayrıca, Not Hesabı oluşturarak şifreli notları zincire kaydedebilir, hesabınızda {account} için tane oluşturabilirsiniz.", - "sendDeposit": "Yatırdıklarımı gönder", - "clickToCopy": "Kopyalamak için tıkla", - "copied": "Kopyalandı!", - "preparingTransactionData": "İşlem bilgisi hazırlanıyor", - "viewInExplorer": "Explorer’da görüntüle", - "loading": "Yükleniyor", - "pleaseConfirmInWallet": "Lütfen Metamaskta ortak anahtarı onaylayın", - "pleaseConfirmTransactionInWallet": "Lütfen cüzdanınızda {wallet} işlemi onaylayın", - "pleaseSignRequestInWallet": "Please sign request in {wallet}", - "waitingForTransactionConfirmation": "İşleminizin onaylanması bekleniyor.", - "relayerIsNowSendingYourTransaction": "Relayer işleminizi gönderdi. Yakında bir işlem hash’i ile geri dönüş yapacak.", - "note": "Not", - "noteTooltip": "Lütfen token yatırırken aldığınız notu girin", - "depositTransactionOnEtherscan": "Yükleme işlemini Etherscan’da görüntüle", - "withdrawalSettings": "Çekim ayarları", - "pleaseEnterYourNote": "Lütfen notunuzu girin", - "turnOnWasm": "Hata: Lütfen tarayıcı ayarlarınızda WebAssembly’ı açın. Tor tarayıcı kullanıyorsanız, about:config içinde javascript.options.wasm’ı etkinleştirin.", - "timePassed": "Zaman aşımı", - "timePassedTooltip": "Sizin işleminizden sonra birden fazla para yatırma işlemi olsa bile, bunlar aynı kullanıcı tarafından yapılmış olabilir. Bu nedenle, bu süre içinde Tornado.cash kullanan birden fazla kullanıcı olduğundan emin olmak için para çekmeden önce en az 24 saat beklemenizi öneririz.", - "subsequentDeposits": "Bir sonraki yükleme", - "subsequentDepositsTooltip": "En olası para çekme kaynağı, son yüklemelerdir. Bu nedenle, daha iyi anonimlik sağlamak için sizinkinden sonra en az 5 para yatırmaya izin vermenizi öneririz.", - "recipientAddress": "Alıcı adresi", - "donate": "Bağış", - "pleasePasteAddressHere": "Lütfen adresi buraya yapıştırın", - "noteIsInvalid": "Not geçerli değil", - "noteHasBeenSpent": "Not kullanılmıştır.", - "gettingTheNoteData": "Not verilerini ver", - "noteWasAlreadySpent": "Note daha önce kullanıldı.", - "error": "Hata", - "downloadError": "İndirme hatası", - "validationError": "Doğrulama hatası", - "recipientAddressIsInvalid": "Alıcı adresi geçersiz.", - "total": "Toplam", - "noteBalance": "Note bakiyesi", - "relayerFee": "Relayer ücreti", - "ethPurchase": "{currency} Alım", - "ethPurchaseTooltip": "Yüklediğiniz miktarın {currency} bir kısmını, para çekme sırasında gelecekteki işlemlerde gas ödemesi yapmak için {networkCurrency} ayırın.", - "incorrectAmount": "Geçersiz miktar. Lütfen sayı girin.", - "amountIsHigh": "Çok yüksek değer. En çok {value}.", - "amountIsLow": "Çok düşük değer. En az {value}.", - "tokensToReceive": "Alınacak token", - "relayer": "Relayer", - "relayerTooltip": "İşleminizi göndermek için relayer hizmetini kullanın. Gas ücreti yatırılan fonlardan düşüldüğü için daha özeldir.", - "custom": "Özel", - "pasteYourRelayerUrlorEnsRecord": "Relayer URL ve ENS kaydını yapıştırın.", - "wallet": "Cüzdan", - "walletTooltip": "Para çekme işlemini başlatmak için kendi hesabınızı kullanın (Örneğin Metamask veya TrustWallet).", - "save": "Kaydet", - "reset": "Baştan başlat", - "withdrawWalletWarning": "Gas ücretini ödemek için kullanılan {currency} öğesinin HİÇBİR adresinizle bağlantılı olmadığından emin olun. Aksi takdirde, para çekme işleminin anonimliği tehlikeye atılacaktır. Bunun yerine bir Relayer kullanmanızı öneririz.", - "withdrawalConfirmation": "Çekimi onaylayın", - "confirm": "Onayla", - "yourZkSnarkProofHasBeenSuccesfullyGenerated": "zk-Snark kanıtınız başarıyla oluşturulmuştur! Para çekme işlemini başlatmak için lütfen Onayla’ya tıklayın", - "generatingProof": "Kanıt oluşturma", - "statistics": "İstatistik", - "anonymitySet": "Anonimlik seti", - "anonymitySetTooltip": "Para çekme işleminizin potansiyel olarak ilişkilendirileceği mevduat sayısı", - "latestDeposits": "Son yüklemeler", - "yourIP": "IP’niz {ip}", - "filterBy": "Filtreleyici", - "spent": "Kullanıldı", - "unspent": "Kullanılmadı", - "thereAreNoElements": "Filtreleri karşılayan hiçbir öğe yok.", - "txHash": "İşlem Hash’i", - "status": "Durum", - "copyNote": "Notu Kopyala", - "decryptCopyNote": "Notun şifresini çöz ve kopyala", - "v1Deposit": "v1 yükleme", - "waitingForReceipt": "Alıcı bekleniyor", - "failed": "Başarısız", - "withdrawn": "Çekildi", - "deposited": "Yüklendi", - "removeFromCache": "Cache’leri temizle", - "pleaseMakeSureYouHaveBackedUpYourNote": "Notunuz henüz kullanılmadıysa lütfen yedeklediğinizden emin olun. Yine de bu işlemi ve notu tarayıcı hafızasından kaldırmak istiyor musunuz?", - "remove": "Kaldır", - "noteHasBeenDeleted": "Not bilgisi silindi.", - "accountHasBeenDeleted": "Hesap bilgisi silindi.", - "cancelButton": "İptal", - "donationsAddress": "Bağış hesabı:", - "rate": "Havuz oranı", - "only": "Sadece", - "equalUserDeposit": "{only} {n} {equalUserDepositText}", - "equalUserDepositPlural": "Yükleme yok | Sadece bir yükleme | Eşit kullanıcı yüklemesi", - "userDeposit": "Yükleme yok | Sadece bir yükleme | {n} yüklemeler", - "gasPrice": "Gas Ücreti", - "totalFee": "Toplam ücret", - "networkFee": "Ağ ücreti", - "connectYourWalletFirst": "Önce cüzdanınızı bağlayın", - "changeNetwork": "Ağ değiştir", - "changeNetworkNote": "Notunuz başka bir ağa ait, lütfen uygulamadaki ağı değiştirin.", - "changingNetwork": "Ağ değiştir", - "relayerShouldSupportSSL": "Relayer SSL desteklemeli.", - "relayerStatusOk": "Relayer durumu: Uygun", - "proposalIsActive": "Öneri durumu aktif", - "canNotFetchStatusFromTheRelayer": "Relayer’dan durum bilgisi alınamıyor.", - "thisRelayerServesADifferentNetwork": "Relayer farklı bir ağa hizmet ediyor.", - "compliance": "Uyumluluk", - "complianceTool": "uyumluluk aracı", - "complianceReport": "Uyumluluk Raporu", - "complianceSubtitle": "Finansal gizliliği korumak, özgürlüğümüzü korumak için çok önemlidir.{newline}Ancak, uyumsuzluk pahasına olmamalıdır. Tornado.cash ile,para yatırmak veya para çekmek için kullandığınız Ethereum adresini kullanarak her zaman kriptografik olarak doğrulanmış işlem geçmişi kanıtını sağlayabilirsiniz. Çekim adresinizde tutulan varlıkların kaynağını göstermek için gerekli olabilir.{newline}Bir uygunluk raporu oluşturmak için lütfen aşağıya Tornado.сash Notunuzu girin.", - "from": "Kimden", - "to": "Kime", - "withdrawal": "Çekim", - "noteHasNotBeenSpent": "Note henuz kullanılmadı.", - "thereIsNoRelatedDeposit": "İlgili depozito yok. Not geçersiz.", - "warning": "Uyarı", - "doNotShareYouNote": "Notunuzu kimseyle paylaşmayın çünkü paranızı çekmek için KULLANILACAKTIR!", - "date": "Tarih", - "transaction": "İşlem", - "commitment": "Bağlantı", - "nullifierHash": "Nullifier Hash", - "verified": "Onaylanmış", - "generatePdfReport": "PDF rapora dönüştür.", - "compliancePrintWarning": "Bu Uyumluluk Raporu yalnızca bilgilendirme amaçlıdır. Bu raporun geçerliliğini Tornado’nun Uyumluluk Aracını (https://tornadocash.eth.link/compliance) veya burada yer alan bilgileri hesaplayabilen ve doğrulayabilen diğer herhangi bir şifreleme yazılımıyla (\"Tornado Uyumluluk Aracı\") kullanarak onaylamalısınız.) Bu raporda bulunan ve yukarıdaki araç tarafından sağlanan bilgiler arasındaki herhangi bir tutarsızlık, rapordaki bilgilerin yanlış ve/veya sahte olduğunu gösterir.{newline} UYGUNLUK RAPORU, HERHANGİ BİR GARANTİ OLMADAN tamamen\"OLDUĞU GİBİ\" SUNULMAKTADIR. BELİRLİ BİR AMACA UYGUNLUK VE İHLAL ETMEME GARANTİLERİ DAHİLDİR ANCAK BUNLARLA SINIRLI OLMAMAK ÜZERE ZIMNİ VEYA ZIMNİ OLARAK GEÇERLİDİR. TORNADO.CASH UYUM ARACININ YAZARLARI RAPORDAN KAYNAKLANAN, UYUMLULUKTAN KAYNAKLANAN VEYA BAĞLANTILI OLARAK SÖZLEŞME, HAKSIZ YA DA BAŞKA BİR DURUMDA OLAN HERHANGİ BİR İDDİADAN, ZARAR VEYA BAŞKA SORUMLULUKTAN SORUMLU TUTULAMAZ.", - "relayRequestFailed": "Relayer {relayerName} çöktü. lütfen başka bir relayer seçin.", - "selectProvider": "Sağlayıcı seçin", - "walletDoesNotSupported": "Bu cüzdan desteklenmiyor", - "fetchGasPriceFailed": "Fetch gasPrice getirelemedi.", - "networkIsNotSupported": "Ağ desteklenmiyor", - "failToGenerateNote": "Not dönüştürme hatası", - "invalidRoot": "Geçersiz Root", - "failedToFetchAllDepositEvents": "Sözleşme ile para yatırma gerçekleşmedi.", - "unknownError": "Bilinmeyen hata", - "unitInvalidValue": "[ethjs-unit] sayıyı {value} wei’ye dönüştürürken geçersiz değer oluştu", - "tooManyDecimalPoints": "[ethjs-unit] sayıyı {value} wei’ye dönüştürürken çok fazla ondalık oluştu", - "tooManyDecimalPlaces": "[ethjs-unit] sayıyıy {value} wei’ye dönüştürürken çok fazla ondalık oluştu.", - "settings": "Ayarlar", - "rpc": "RPC endpoint", - "rpcStatusOk": "RPC durumu: Uygun", - "rpcIsDown": "RPC çöktü", - "thisRpcIsForDifferentNetwork": "RPC farklı bir ağa ait.", - "rpcSelectError": "Önceden tanımlanmış RPC’ler çalışmıyor. Muhtemelen bir ağ hatası var. Lütfen Ayarlar’da özel RPC’yi seçin", - "rpcShouldSupportSSL": "RPC, SSL desteklemelidir.", - "customRpcPlaceholder": "RPC URL’ini yapıştırın.", - "customRpc": "Özel", - "enterRecoveryKey": "Lütfen kurtarma anahtarını girin", - "copy": "Kopyala", - "thereAreNoTransactions": "Burada henüz işlem yapılmadı.", - "governance": "Oylama", - "delegatedBalance": "Delege edilen bakiye", - "votingPower": "Oylama gücü", - "delegated": "Delege edilmiş", - "availableBalance": "Uygun bakiye", - "manage": "Yönet", - "proposals": "Öneriler", - "all": "Hepsi", - "active": "Aktif", - "expired": "Süresi geçmiş", - "pending": "Bekleyen", - "passed": "Geçen Öneriler", - "timeLocked": "Zaman kilitle", - "createProposal": "Öneri yarat", - "startDate": "Başlangıç tarihi", - "endDate": "Bitiş tarihi", - "quorum": "Quorum", - "quorumTooltip": "Bir teklifin oylama süresi {gün} sürer. Teklif, yalnızca çoğunluk oyu ve {oy} seçmen yetersayısına ulaşılırsa kabul edilir (Oy + Aleyhte oyların toplamı {oy}'dan büyükse).", - "for": "Öneriye Katıl", - "against": "Karşı", - "title": "Başlık", - "description": "Açıklama", - "proposalAddress": "Öneri adresi", - "lock": "Kilitli", - "unlock": "Kilitsiz", - "proposalThresholdError": "Kilitli bakiye, {PROPOSAL_THRESHOLD} TORN'a eşit veya daha fazla olmalıdır", - "castYourVote": "Oyunuzu kullanın", - "back": "Geri", - "yourCurrentVote": "Mevcut oyunuz: {vote}", - "currentResults": "Mevcut durum", - "information": "Bilgi", - "amountToLock": "Kilitli miktar", - "amountToUnlock": "Kilitsiz miktar", - "lockedBalance": "Kilitli bakiye", - "lockedBalanceError": "Kilitli bakiyeniz 0’dan büyük olmalıdır.", - "lockTabDesc": "Yönetişime katılmak için TORN kilitlemeniz gerekir. Oylama gücünüz, kilitlediğiniz token sayısına eşit olacaktır.", - "unlockTabDesc": "Daha önce kilitli olan TORN’unuzun kilidini buradan açabilirsiniz. Katıldığınız teklif henüz tamamlanmadıysa, tüm TORN’unuzun kilidini açmak için tamamlanmasını beklemeniz gerekebilir.", - "delegateTabDesc": "Oy hakkınızı bir temsilciye devredebilirsiniz. Temsilci sizin adınıza Yönetişime katılabilir.", - "undelegateTabDesc": "Temsilcinizin oy verme yetkisini geri alabilirsiniz. Önceki teklifleri ve halihazırda kullanılan oylar değişmeden kalacak.", - "recipient": "Alıcı", - "address": "Adres", - "delegate": "Delege et", - "undelegate": "Delege etmeyi bırak", - "currentDelegate": "Mevcut delege", - "approve": "Onayla", - "approved": "Onaylandı", - "proposalTitle": "Öneri başlığı", - "proposalDescription": "Öneri açıklaması", - "defeated": "İptal edilmiş", - "accountSaving": "Not hesabını ayarla", - "accountSaved": "Not hesabı zincire kaydedildi", - "creatingProposal": "Öneri yarat", - "proposalCreated": "Öneri başarıyla yaratıldı", - "depositing": "Yükleme aşamasında {value}", - "withdrawing": "Çekim aşamasında {value}", - "claiming": "Talep edilen {value}", - "withdrawnValue": "Çekilen {value}", - "claimedValue": "Talep edilmiş {value}", - "depositedValue": "Yüklendi {value}", - "locking": "Kilitlenen", - "votingFor": "Öneri için oy", - "votingAgainst": "Öneriye karşı oy", - "votedFor": "Öneri için oyunuzu başarıyla kullandınız.", - "votedAgainst": "Öneriye karşı oyunuzu başarıyla kullandınız.", - "unlocking": "Kilit kaldırılıyor", - "unlocked": "Kilit kaldırıldı", - "delegating": "Temsilcili", - "undelegating": "Temsil kaldırılıyor", - "undelegated": "Temsilci kaldırıldı", - "viewOnEtherscan": "Etherscan’de görüntüle", - "awaitingExecution": "Onay bekleniyor", - "execute": "Uygula", - "executeProposal": "Öneriyi uygula", - "executingProposal": "Öneri uygulanıyor", - "locked": "Kilitlendi", - "lockedNotice": "kililendi", - "proposalExecuted": "Öneri başarıyla uygulandı.", - "pleaseLockBalance": "Yetki vermek için lütfen önce TORN kilitleyin", - "pleaseDelegate": "Temsilci belirlenemedi", - "internalError": "İç hata. Lütfen sayfayı yenileyin ve tekrar deneyin", - "id": "ID", - "timerRemainingForPending": "Oylama başlamadan önce kalan süre", - "timerRemainingForVoting": "Oylama için kalan süre", - "timerRemainingForAwaitingExecution": "Öneri uygulamaya geçmeden önce kalan süre", - "timerRemainingForExecution": "Kalan uygulama süresi", - "accepted": "Kabul edildi", - "sent": "Gönderildi", - "mined": "Kazıldı", - "confirmed": "Onaylandı", - "pleaseLockTornFirst": "Devam etmek için lütfen önce TORN kilitleyin", - "tokensLockedUntil": "Bakiyeniz tarihe {date} kadar kilitli.", - "onlyOneProposalErr": "Kullanıcı başına yalnızca bir etkin öneriye izin verilir. Lütfen mevcut öneriniz bitene kadar bekleyin.", - "max": "Maksimum", - "withDisconnectedWallet": "Lütfen bir cüzdan bağlayın veya para çekme türünü değiştirin", - "relayerError": "Seçilen aktarıcı tx'inizi gönderemedi. Lütfen tekrar deneyin veya ayarlarda farklı bir aktarıcı seçin.", - "relayerIsNotResponding": "Relayer yanıt vermiyor. Lütfen tekrar deneyin veya ayarlarda farklı bir relayer seçin.", - "transactionFailed": "İşlem başarısız", - "none": "Yok", - "queued": "Sıraya alındı", - "proposal": { - "error": { - "address": "Değer adreste olmalıdır", - "contract": "Adres mutlaka kontrat olmalıdır", - "title": "Başlık gerekli", - "description": "Açıklama gerekli" - } - }, - "executed": "Uygulandı", - "proposalDoesNotExist": "Öneri mevcut değil. Lütfen listeye geri dönün.", - "errorPage": { - "title": "Oooops!", - "description": "Sayfa bulunamadı.", - "button": "Uygulamayı başlat" - }, - "rejectedRequest": "{description} isteğini reddettiniz", - "updateCacheEvents": "Para yatırma senkronize ediliyor. Lütfen bekleyin", - "notEnoughTokens": "Toplam ücret, alınacak token miktarından daha yüksektir. Bunun nedeni yüksek relayer ücreti veya geçici ağ tıkanıklığı olabilir..", - "gasPriceSlider": { - "low": "Yavaş", - "standard": "Standart", - "fast": "Hızlı" - }, - "decrypt": "Şifreyi çöz", - "account": { - "title": "Not hesabı", - "description": "Not Hesabı, özel notların zincir üzerinde şifrelenmiş yedeklerinin saklanmasına izin verir. Bu, her bir notu destekleyen Ethereum ağının güvenliği ile fonların güvenli bir şekilde saklanmasını sorunsuz ve stressiz hale getirir.", - "button": "Hesap", - "account": "Not hesabı", - "backedUpWith": "ile yedekle", - "modals": { - "recoverAccount": { - "title": "Note hesabı anahtarı ile bağlan", - "description": "Önceden kurduğunuz hesabınızı içe aktarmak için lütfen Not Hesap anahtarınızı girin.", - "warning": "Geçersiz Not hesabı anahtarı.", - "connect": "Bağlan" - }, - "setupAccount": { - "title": "Hesap kurulumu", - "label": "Not hesabı anahtarı", - "description": "Bu anahtar, Tornado.cash özel notlarınızı Ethereum blok zincirinde şifrelemek ve saklamak için kullanılır. Lütfen yedekleyin ve asla kimseyle paylaşmayın.", - "setupAccount": "Hesap kurulumu", - "setAccount": "Tamamla", - "backedUp": "Not hesabı anahtarımı yedekledim", - "saveOnChain": "Cüzdanınızla Not Hesabı anahtarınızın zincir üzerinde ek yedeğini oluşturun", - "isNotSupportedWithHw": "Lütfen unutmayın! Not Hesabınızın zincir üstü yedeklemesi, donanım cüzdanları veya mobil cüzdanlarla desteklenmez.", - "successfulNotice": "Tebrikler! Başarıyla bir Not Hesabı kurdunuz. Artık notlarınızı şifreleyebilir ve zincirde saklayabilirsiniz.", - "yourRecoveryKeyWontBeSaved": "Kurtarma anahtarınız tarayıcı önbelleğine kaydedilmeyecek, lütfen yedeklendiğinden emin olun." - }, - "showRecoveryKey": { - "title": "Mevcut Not hesabı anahtarı", - "description": "", - "close": "Kapat" - }, - "checkRecoveryKey": { - "title": "Oturum güncellemesi", - "description": "Not hesabı oturumu 5 dakikadır etkin değil. Devam etmek ister misin?", - "inactiveDescription": "Uzun süredir aktif değilsiniz. Not hesabı oturumunuz güvenlik nedeniyle sonlandırıldı.", - "no": "Hayır", - "yes": "Evet" - }, - "decryptInfo": { - "title": "Notlarınız", - "description": "Tüm notlar başarıyla indirilir ve Not hesabı anahtarınız kullanılarak şifresi çözülür", - "all": "İndirilen toplam oturumlar: ", - "warning": "Uyarı içeren notlar: ", - "close": "Kapat", - "unSpent": "Kullanılmamış notlarınız bulundu.: ", - "spent": "Kullanılmış notlarınız bulundu: ", - "redirect": "Ana sayfa" - }, - "removeAccount": { - "title": "Hesap bilgilerini temizle", - "description": "Mevcut tarayıcının oturumundan hesap bilgilerini kaldır", - "cancel": "İptal", - "remove": "Kaldır" - } - }, - "wallet": { - "label": "Web3 cüzdana bağlandı", - "desc": "Web3 cüzdana bağlan", - "disconnect": "Cüzdandan bağlantıyı kes", - "rpcDesc": "Ethereum RPC Provider’ı değiştir", - "connectWeb3": "Web3’e bağlan", - "logout": "Hesaptan Çık", - "changeRpc": "RPC değiştir" - }, - "setup": { - "decrypt": "Lütfen web3 cüzdanındaki şifre çözme isteğini onaylayın.", - "setTooltip": "Bu web3 cüzdanıyla zaten bir hesap ilişkilendirilmiş. Lütfen aşağıdaki ‘Hesabı Kurtar’ seçeneğini kullanın.", - "recTooltip": "Lütfen bir hesap oluşturun. Bu adres için hesap yok.", - "desc": "Ethereum blok zincirinde şifrelenmiş notları depolamak için Not Hesabı Kurulumu", - "account": "Hesap kurulumu", - "recoverDesc": "Bu Web3 cüzdanıyla ilişkili Not Hesabını Kurtar", - "recover": "Hesabı kurtar", - "enterRawDesc": "Önceden ayarlanmış Not Hesabı anahtarını kullan", - "enterRaw": "Hesap anahtarını girin", - "accSetupDescription": "Bu anahtar, Tornado.cash özel notlarınızı Ethereum blok zincirinde şifrelemek ve saklamak için kullanılır. Lütfen yedekleyin ve asla kimseyle paylaşmayın." - }, - "control": { - "balance": "Not hesabı bakiyesi: {value}", - "loadAllDesc": "Geçerli Not Hesabı anahtarıyla tüm özel notlarınızı yükleyin ve şifresini çözün", - "loadAll": "Tüm şifreli notları yükle", - "showRecoveryKeyDesc": "Geçerli Not Hesabı anahtarını göster", - "showRecoveryKey": "Geçerli", - "removeDesc": "Mevcut tarayıcının oturumundan hesap bilgilerini kaldır", - "remove": "Hesap bilgilerini temizle", - "fileDesc": "Para yatırırken ham özel notları varsayılan olarak indirin" - }, - "notification": { - "text": "Tornado.cash, zincir üstü not yedeklemeleri ekledi. {note} veya {medium} bilgilerinizi şimdi ayarlayın.", - "link": { - "note": "Not hesabı", - "medium": "Daha fazla bilgi" - } - } - }, - "saveNote": "Notu kaydet", - "pleaseSetUpAccount": "Notunuzun şifresini çözmek için lütfen bir hesap sağlayın", - "decryptNote": "Lütfen not şifre çözme işlemini onaylayın", - "decryptFailed": "Şifre çözme başarısız oldu. Lütfen farklı bir hesapla giriş yapmayı deneyin", - "recoverFromKeyTitle": "Mevcut Not hesabı anahtarı", - "trezorNotSupported": "Trezor cüzdanı desteklenmiyor", - "ledgerNotSupported": "Ledger cüzdanı desteklenmiyor", - "startDecryptingNotes": "Not şifre çözmeyi başlat", - "decryptingNotes": "Notların şifresini çöz", - "getAndValidateEvents": "{name} olaylarını alma ve doğrulama", - "notConnected": "Bağlanmadı", - "regular": "Düzenli", - "encrypted": "Şifreli", - "notDecryptedWithBackup": "Bu not, {backup} metamask hesabına bağlı {address} not hesabı tarafından şifrelenmiştir, lütfen şifreyi çözmek için geçiş yapın.", - "notDecrypted": "Bu not {address} not hesabı tarafından şifrelenmiştir, lütfen ona geçiş yapın.", - "noteAccountKey": "Şifre çözme başarısız oldu. {noteAddress} Not Hesabı anahtarının şifresini çözmek için {address} metamask hesabına bağlanın.", - "yourEncrypted": "Bu not {address} hesabıyla şifrelenecek.", - "lockTooltip": "Bu not zincir üzerinde şifrelenmiş olarak saklanır. {address} Not Hesabı tarafından kurtarılabilir..", - "connected": "Bağlandı", - "accountConnected": "Not hesabı", - "web3connected": "Web3 bağlandı", - "haveAccountSetupWithWallet": "Mevcut web3 cüzdanıyla zaten bir Hesap kurulumunuz var gibi görünüyor. Lütfen ‘Hesabı kurtar’ seçeneğini kullanın", - "connectAccount": "Not hesabına bağlan", - "fetchFile": "Kanıtlama anahtarları alınamıyor, lütfen internet bağlantısını kontrol edin veya VPN kullanmayı deneyin.", - "mobileWallet": { - "loading": { - "alert": "Cüzdanınıza bir bildirim almadıysanız, lütfen cüzdanınızı yeniden bağlayın", - "action": "Tekrar bağlandı" - }, - "actions": { - "disabled": "Bu özellik şu anda mobil cüzdanlar tarafından desteklenmemektedir.." - } - }, - "missingENSSubdomain": "ENS subdomain eksik", - "dayPlural": "0 gün | {n} gün | {n} gün", - "stakingReward": { - "title": "Staking Ödülü", - "label": { - "tab": "Talep et", - "input": "Mevcut Staking Ödülü" - }, - "description": "Stake ödülünüzü buradan talep edebilirsiniz. Kazandığınız ödül, yönetişimdeki kilitli TORN'unuzla orantılıdır.", - "action": "Talep et" - }, - "relayerTotal": { - "label": "Mevcut aktarıcı", - "name": "İsim", - "fee": "Ücret" - }, - "withdrawalQueueIsOverloaded": "Çekim kuyruğu aşırı yoğun" -} diff --git a/langs/uk.json b/langs/uk.json deleted file mode 100644 index 3927dbb..0000000 --- a/langs/uk.json +++ /dev/null @@ -1,428 +0,0 @@ -{ - "closeNotification": "Закрити повідомлення", - "indexNotification": "Tornado.Cash {link}. Однак, це експериментальний проект, використовуйте на свій страх і ризик.", - "indexNotificationLinkText": "пройшов аудит", - "binanceInternalTxsNotification": "Будь ласка, не використовуйте адреси гаманців Binance для виведення коштів. Внутрішні транзакції (включаючи зняття коштів з Tornado.cash) в даний час не підтримуються на біржі Binance. Якщо у вас виникли проблеми з отриманням коштів, вам слід звернутися в службу підтримки Binance.", - "deposit": "Депозит", - "depositButton": "Внести", - "withdraw": "Вивід", - "withdrawButton": "Зняти", - "waitUntilTransactionIsMined": "Зачекайте, поки транзакція буде здобута", - "enterYourDepositsNote": "Введіть Note", - "yourWallet": "Підключення гаманця", - "pleaseSelectYourWeb3Wallet": "Будь ласка, виберіть Web3-сумісний гаманець:", - "otherWallet": "Інший гаманець", - "currentNetworkIsNotSupported": "Поточна мережа не підтримується", - "pleaseChangeNetwork": "Мережа додатку ({network}) не відповідає мережі, обраної в гаманці.", - "docs": "Документація", - "getFreeGETH": "Отримати gETH", - "logout": "Вийти", - "connect": "Підключитися", - "token": "Токен", - "amount": "Кількість", - "amountTooltip": "Кожна сума являє собою окремий екземпляр Tornado Cash з окремим набором анонімності. Ви можете отримати більше інформації у вкладці Статистика.", - "approvalIsRequired": "Потрібен дозвіл", - "inOrderToUse": "Щоб використовувати {currency} ви повинні активувати його для Tornado.cash. Виберіть суму, яку хочете затвердити::", - "unlimited": "Необмежено", - "unlimitedTooltip": "Необмежений дозвіл зручніше, якщо ви збираєтеся зробити кілька депозитів.", - "enable": "Увімкнути", - "transactionWasSuccessfullySent": "Транзакція була успішно відправлена.", - "insufficientBalance": "Недостатній баланс", - "youDontHaveEnoughTokens": "Недостатньо {currency} токенів. Ваш поточний баланс {balance} {currency}", - "close": "Закрити", - "yourNote": "Ваша приватна Note", - "pleaseBackupYourNote": "Будь ласка, зробіть резервну копію приватної Note, розташованої нижче. Вона знадобиться вам пізніше для зняття вашого депозиту.", - "treatYourNote": "Ставтеся до приватної Note так само, як і приватному ключу - ніколи і ні з ким не діліться нею, включаючи розробників tornado.cash.", - "saveAsFile": "Браузер попросить зберегти вашу Note як файл:", - "iBackedUpTheNote": "Я зробив резервну копію", - "iEncryptedTheNote": "Створити мережеву резервну копію цієї Note за допомогою Акаунта {address}", - "yourNoteWontBeSaved": "Ваша Note не буде збережена в сховище браузера. Переконайтеся, що ви зробили резервну копію!", - "yourDontHaveAccount": "Ви також можете зберігати зашифровані Note в мережі, створивши аккаунт для приватних нотаток. Створіть її на сторінці {account}.", - "sendDeposit": "Надіслати депозит", - "clickToCopy": "Скопіювати", - "copied": "Скопійовано!", - "preparingTransactionData": "Підготовка даних транзакції", - "viewInExplorer": "Подивитися транзакцію", - "loading": "Завантаження", - "pleaseConfirmInWallet": "Підтвердіть надання відкритого ключа в metamask", - "pleaseConfirmTransactionInWallet": "Підтвердіть транзакцію в {wallet}", - "waitingForTransactionConfirmation": "Очікування підтвердження транзакції", - "relayerIsNowSendingYourTransaction": "Relayer відправляє вашу транзакцію. Очікуємо хеш транзакції", - "note": "Note", - "noteTooltip": "Введіть Note, яку ви отримали, коли вносили депозит", - "depositTransactionOnEtherscan": "Транзакція депозиту на Etherscan", - "withdrawalSettings": "Налаштування виводу", - "pleaseEnterYourNote": "Введіть Note", - "turnOnWasm": "Помилка: увімкніть WebAssembly в налаштуваннях вашого браузера.
Якщо ви використовуєте браузер Tor, включите javascript.options.wasm в about:config", - "timePassed": "Час", - "timePassedTooltip": "Навіть якщо після вас зроблено кілька депозитів, вони могли бути зроблені одним і тим же користувачем. Тому ми рекомендуємо почекати не менше 24 годин, перш ніж знімати кошти, щоб переконатися, що за цей час кілька користувачів використовували Tornado.cash.", - "subsequentDeposits": "Депозитів після", - "subsequentDepositsTooltip": "Найбільш імовірним джерелом зняття коштів є недавні депозити. Тому, ми рекомендуємо почекати як мінімум 5 депозитів після вашого, щоб поліпшити анонімність.", - "recipientAddress": "Адреса одержувача", - "donate": "Підтримати проект", - "pleasePasteAddressHere": "Вставте адрес", - "noteIsInvalid": "Некоректна Note", - "noteHasBeenSpent": "Депозит знятий", - "GettingTheNoteData": "Отримання даних", - "noteWasAlreadySpent": "Note вже була витрачена", - "error": "Помилка", - "downloadError": "Помилка завантаження", - "validationError": "Помилка перевірки", - "recipientAddressIsInvalid": "Некоректний адрес одержувача", - "total": "Підсумок", - "noteBalance": "Баланс Note", - "relayerFee": "Комісія Relayer", - "ethPurchase": "Купівля {currency}", - "ethPurchaseTooltip": "Поміняйте частину {currency} з вашого депозиту на {networkCurrency} під час зняття коштів для оплати газу в майбутніх транзакціях.", - "incorrectAmount": "Некоректна сума. Будь ласка, введіть число.", - "amountIsHigh": "Сума занадто велика. Максимальне значення: {value}.", - "amountIsLow": "Сума занадто мала. Мінімальне значення: {value}.", - "tokensToReceive": "Токени що отримуються", - "relayer": "Relayer", - "relayerTooltip": "Використовуйте сервіс Relayer для відправки транзакції. Це більш анонімно, так як плата за газ віднімається з депозиту.", - "custom": "Свій Relayer", - "pasteYourRelayerUrlorEnsRecord": "Вставте URL Relayer або ENS запис", - "wallet": "Гаманець", - "walletTooltip": "Використовувати гаманець, наприклад, Metamask або TrustWallet, для зняття депозиту.", - "save": "Зберегти", - "reset": "Скинути", - "withdrawWalletWarning": "Переконайтеся, що {currency}, використаний для плати за газ, не пов'язаний ні з одним з ваших адресів. В іншому випадку, транзакції депозиту і виведення будуть пов'язані. Ми рекомендуємо використовувати Relayer для забезпечення анонімності.", - "withdrawalConfirmation": "Підтвердження зняття", - "confirm": "Відправити", - "yourZkSnarkProofHasBeenSuccesfullyGenerated": "Ваш zk-Snark доказ успішно згенеровано! Натисніть Надіслати щоб ініціювати виведення коштів", - "generatingProof": "Створення доказу", - "statistics": "Статистика", - "anonymitySet": "Кількість депозитів", - "anonymitySetTooltip": "Загальна кількість депозитів цієї суми в Tornado.Cash. Чим більше це кількість, тим краще (анонімніше)", - "latestDeposits": "Останні депозити", - "yourIP": "Ваш IP {ip}", - "filterBy": "Фільтр по", - "spent": "Витрачений", - "unspent": "Невитрачений", - "thereAreNoElements": "Немає елементів, які відповідають фільтрам.", - "txHash": "Хеш", - "status": "Стан", - "copyNote": "Копіювати", - "decryptCopyNote": "Дешифрувати і копіювати", - "v1Deposit": "v1 депозит", - "waitingForReceipt": "Очікування отримання", - "failed": "Невдача", - "withdrawn": "Знятий", - "deposited": "Внесений", - "removeFromCache": "Видалення зі сховища", - "pleaseMakeSureYouHaveBackedUpYourNote": "Будь ласка, переконайтеся, що Ви зробили резервну копію Note, якщо вона ще не була витрачена. Ви все ще хочете видалити цю транзакцію і Note зі сховища браузера?", - "remove": "Видалити", - "noteHasBeenDeleted": "Інформація про записці була видалена", - "accountHasBeenDeleted": "Інформація про акаунт була видалена", - "cancelButton": "Скасування", - "donationsAddress": "Адрес для донатів:", - "rate": "Курс", - "only": "", - "equalUserDeposit": "{only} {n} {equalUserDepositText}", - "equalUserDepositPlural": "Депозити відсутні | Один депозит | депозиту | депозитів", - "userDeposit": "депозити відсутні | тільки 1 депозит | {n} депозиту | {n} депозитів", - "gasPrice": "Ціна Газу", - "totalFee": "Підсумкова комісія", - "networkFee": "Комісія мережі", - "connectYourWalletFirst": "Підключіть свій гаманець", - "changeNetwork": "Змінити мережу", - "changeNetworkNote": "Ваша Note належить іншій мережі. Змініть мережу додатку на ту, в якій вона була створена.", - "changingNetwork": "Зміна мережі", - "relayerShouldSupportSSL": "Relayer повинен підтримувати SSL", - "relayerStatusOk": "Статус Relayer: OK", - "proposalIsActive": "Статус пропозиції повинен бути активним", - "canNotFetchStatusFromTheRelayer": "Неможливо отримати відповідь від Relayer", - "thisRelayerServesADifferentNetwork": "Цей Relayer обслуговує іншу мережу", - "compliance": "Відповідність", - "complianceTool": "Перевірка відповідності", - "complianceReport": "Звіт про відповідність", - "complianceSubtitle": "Конфіденційність фінансів є необхідною умовою збереження наших свобод. {Newline} Однак, вона не повинна досягатися за рахунок недотримання встановлених правил і стандартів. {Newline} З Tornado.cash ви завжди зможете отримати криптографічно достовірне підтвердження історії транзакцій. Для цього вам знадобиться лише адреса Ethereum, яку ви використовували для введення або виведення коштів. Підтвердження може бути необхідно для того, щоб обґрунтувати походження активів, що зберігаються на вашу адресу. {newline} Для створення звіту про відповідність, будь ласка, введіть ідентифікатор вашої Note Tornado.cash нижче. ", - "from": "Відправник", - "to": "Одержувач", - "withdrawal": "Вивід", - "noteHasNotBeenSpent": "Note не витрачена", - "thereIsNoRelatedDeposit": "Такого депозиту не існує. Note некоректна.", - "warning": "Попередження", - "doNotShareYouNote": "Note є приватною інформацією, володіння нею дозволяє здійснити зняття депозиту!", - "date": "Дата", - "transaction": "Транзакція", - "commitment": "Commitment", - "nullifierHash": "Nullifier Hash", - "verified": "Підтверджено", - "generatePdfReport": "Отримати PDF звіт", - "compliancePrintWarning": "Справжній звіт про відповідність носить виключно інформаційний характер. Ви повинні підтвердити дійсність цього звіту за допомогою засобу перевірки відповідності Tornado (https://app.tornado.cash/compliance) чи за допомогою будь-якого іншого криптографічного програмного забезпечення, яке може обробити і перевірити інформацію, що міститься в цьому звіті (\"Tornado Compliance Tool\"). Будь-які розбіжності між інформацією, наведеною в даному звіті та наданої вищевказаним інструментом, вказують на те, що інформація, що міститься в цьому звіті, є неточною і/або шахрайської. {newline} ЗВІТ ПРО ВІДПОВІДНІСТЬ НАДАЄТЬСЯ \"ЯК Є,\" БЕЗ ГАРАНТІЇ, ПРЯМИХ АБО НЕПРЯМИХ, У ТОМУ ЧИСЛІ, АЛЕ НЕ ОБМЕЖУЮЧИСЬ ГАРАНТІЯМИ ТОВАРНОЇ ЯКОСТІ, ПРИДАТНІ ДО КОНКРЕТНОЇ МЕТИ. НІ ЗА ЯКИХ ОБСТАВИН АВТОРИ ІНСТРУМЕНТУ ВІДПОВІДНОСТІ TORNADO.CASH НЕ БУДУТЬ НЕСТИ ВІДПОВІДАЛЬНІСТЬ ЗА БУДЬ-ЯКІ ПРЕТЕНЗІЇ, ЗБИТКИ АБО ІНШУ ВІДПОВІДАЛЬНІСТЬ, ЩО ВІДНОСИТЬСЯ ДО ДІЇ ДОГОВОРІВ, ЦИВІЛЬНИХ ПРАВОПОРУШЕНЬ, А ТАКОЖ ЩО ВИНИКАЄ ВНАСЛІДОК ДО ЦЬОГО ЗВІТУ ПРО ВІДПОВІДНІСТЬ АБО ПОВ'ЯЗАНИХ З НИМ. ", - "relayRequestFailed": "Relayer {relayerName} не відповідає. Спробуйте вибрати інший.", - "selectProvider": "Виберіть гаманець", - "walletDoesNotSupported": "Ваш гаманець не підтримується", - "fetchGasPriceFailed": "Помилка отримання вартості газу", - "networkIsNotSupported": "Мережа не підтримується", - "failToGenerateNote": "Помилка генерації Note", - "invalidRoot": "Invalid Root", - "failedToFetchAllDepositEvents": "Помилка отримання даних про депозити з контракту", - "unknownError": "Невідома помилка", - "unitInvalidValue": "[ethjs-unit] неприпустиме значення при перетворенні числа {value} в wei", - "tooManyDecimalPoints": "[ethjs-unit] занадто багато десяткових знаків при перетворенні числа {значення} в wei", - "tooManyDecimalPlaces": "[ethjs-unit] занадто багато знаків після коми при перетворенні числа {value} в wei", - "settings": "Налаштування", - "rpc": "Кінцева точка RPC", - "rpcStatusOk": "RPC статус: OK", - "rpcIsDown": "RPC не відповідає", - "thisRpcIsForDifferentNetwork": "Цей RPC призначений для іншої мережі", - "rpcSelectError": "Всі RPC за замовчуванням не відповідають. Можливо, це мережева помилка. Ви можете вибрати свій RPC в Настройках", - "rpcShouldSupportSSL": "RPC повинен підтримувати SSL", - "customRpcPlaceholder": "Вставте RPC URL", - "customRpc": "Свій RPC", - "enterRecoveryKey": "Введіть свій ключ відновлення", - "copy": "Копіювати", - "thereAreNoTransactions": "Транзакцій поки немає.", - "governance": "Голосування", - "delegatedBalance": "Делегований баланс", - "votingPower": "Право голосу", - "delegated": "делеговано", - "availableBalance": "Доступний баланс", - "manage": "Управління", - "proposals": "Пропозиції", - "all": "Всі", - "active": "Активні", - "expired": "Вийшов строк", - "pending": "В процесі", - "passed": "Прийнято", - "timeLocked": "Час блокування", - "createProposal": "Створити пропозицію", - "startDate": "Початок", - "endDate": "Закінчення", - "quorum": "Кворум", - "quorumTooltip": "Голосування за пропозицією триває {days} і приймається тільки в разі, коли більшість проголосувала За і наявності кворуму в {votes} голосів (сума голосів За + Проти повинна бути більше {votes}).", - "for": "За", - "against": "Проти", - "title": "Тема", - "description": "Опис", - "proposalAddress": "Адреса пропозиції", - "lock": "Заблокувати", - "unlock": "Розблокувати", - "proposalThresholdError": "Заблокований баланс повинен бути більше або дорівнює {PROPOSAL_THRESHOLD} TORN", - "castYourVote": "Проголосувати", - "back": "Назад", - "yourCurrentVote": "Ваш голос: {vote}", - "currentResults": "Поточні результати", - "information": "Інфо", - "amountToLock": "Сума для блокування", - "amountToUnlock": "Сума для розблокування", - "lockedBalance": "Заблокований баланс", - "lockedBalanceError": "Ваш заблокований баланс повинен бути більше 0", - "lockTabDesc": "Щоб брати участь в Управлінні, ви повинні заблокувати токени TORN. Ваше право голосу буде еквівалентно кількості заблокованих токенов.", - "unlockTabDesc": "Тут ви можете розблокувати раніше заблоковані TORN. Якщо пропозиція, в якому ви берете участь, ще не завершено, вам доведеться почекати поки це не відбудеться щоб розблокувати всі TORN.", - "delegateTabDesc": "Ви можете віддати своє право голосу делегату. Делегат зможе брати участь в Управлінні від вашого імені.", - "undelegateTabDesc": "Ви можете відкликати право голосу у свого делегата. Їх попередні пропозиції і голоси залишаться незмінними.", - "recipient": "Одержувач", - "address": "Адреса", - "delegate": "Віддати голос", - "undelegate": "Забрати голос", - "currentDelegate": "Поточний делегат", - "approve": "Дозволити", - "approved": "Дозволено", - "proposalTitle": "Тема пропозиції", - "proposalDescription": "Опис пропозиції", - "defeated": "Відхилено", - "accountSaving": "Створення аккаунта для нотаток", - "accountSaved": "Note аккаунт збережений в мережі", - "creatingProposal": "Створення пропозиції", - "proposalCreated": "Пропозиція успішно створено", - "depositing": "Внесення {value}", - "withdrawing": "Зняття {value}", - "claiming": "Отримання {value}", - "withdrawnValue": "Знято {value}", - "claimedValue": "Отримано {value}", - "depositedValue": "Внесено {value}", - "locking": "Блокування", - "votingFor": "Голосування за", - "votingAgainst": "Голосування проти", - "votedFor": "Успішно проголосували за", - "votedAgainst": "Успішно проголосували проти", - "unlocking": "Розблокування", - "unlocked": "Розблоковано", - "delegating": "Передача голосу", - "undelegating": "Повернення голосу", - "undelegated": "Голос повернутий", - "viewOnEtherscan": "Подивитися на Etherscan", - "awaitingExecution": "Очікування запуску", - "execute": "Запустити", - "executeProposal": "Запустити пропозицію", - "executingProposal": "Запуск пропозиції", - "locked": "заблоковано", - "lockedNotice": "Заблоковано", - "proposalExecuted": "Пропозицію успішно запущено", - "pleaseLockBalance": "Щоб віддати голос, спершу заблокуйте TORN", - "pleaseDelegate": "Делегата не призначено", - "internalError": "Внутрішня помилка. Оновіть сторінку та повторіть спробу", - "id": "ID", - "timerRemainingForPending": "Час до початку голосування", - "timerRemainingForVoting": "Час, що залишився для голосування", - "timerRemainingForAwaitingExecution": "Час, що залишився перед запуском", - "timerRemainingForExecution": "Залишилося часу до запуску", - "accepted": "Прийнято", - "sent": "Відправлено", - "mined": "Здобуто", - "confirmed": "Підтверджено", - "pleaseLockTornFirst": "Щоб продовжити, спершу заблокуйте токени TORN", - "tokensLockedUntil": "Ваш баланс заблокований до {date}", - "onlyOneProposalErr": "Тільки одна активна пропозиція на користувача. Зачекайте, поки ваша поточна пропозиція не буде завершеною.", - "max": "Макс", - "withDisconnectedWallet": "Будь ласка, змініть гаманець або метод виведення", - "relayerError": "Обраний Relayer не може відправити транзакцію. Спробуйте ще раз або обери інший Relayer в Налаштуваннях.", - "relayerIsNotResponding": "Relayer не відповідає. Спробуйте ще раз або оберить інший Relayer в Налаштуваннях.", - "transactionFailed": "Транзакція не виконана", - "none": "немає", - "queued": "У черзі", - "proposal": { - "error": { - "address": "Значення має бути адресою.", - "contract": "Адреса повинна вказувати на контракт.", - "title": "Заголок обов'язковий", - "description": "Опис обов'язковий" - } - }, - "executed": "Прийнято", - "proposalDoesNotExist": "Ця пропозиція не існує. Повертайтеся назад до списку.", - "errorPage": { - "title": "Упс!", - "description": "Сторінку не знайдено.", - "button": "Запустити" - }, - "rejectedRequest": "Ви відхилили запит {description}", - "updateCacheEvents": "Оновлення кешированих подій", - "notEnoughTokens": "Підсумкова комісія перевищує кількість одержуваних токенов. Це може бути пов'язано з високою комісією Relayer або тимчасової перевантаженням мережі.", - "gasPriceSlider": { - "low": "Повільно", - "standard": "Стандарт", - "fast": "Швидко" - }, - "decrypt": "Дешифрувати", - "account": { - "title": "Note аккаунт", - "description": "Note аккаунт можна зберігати зашифровані резервні копії приватних Note в мережі. Це робить простим безпечне зберігання коштів завдяки безпеки блокчейна Ethereum, що зберігає кожну Note.", - "button": "Аккаунт", - "account": "Note аккаунт", - "backedUpWith": "Адреса прив'язки", - "modals": { - "recoverAccount": { - "title": "Підключення за допомогою ключа", - "description": "Введіть ключ, щоб імпортувати раніше створений Note аккаунт.", - "warning": "Неправильний ключ.", - "connect": "Підключитися" - }, - "setupAccount": { - "title": "Створення аккаунта для Note", - "label": "Ключ Акаунта для Note", - "description": "Цей ключ використовується для шифрування і зберігання ваших приватних Note Tornado.cash в блокчейне ethereum. Будь ласка, зробіть резервну копію ключа і ніколи ні з ким їм не діліться.", - "setupAccount": "Створити обліковий запис", - "setAccount": "Завершити", - "backedUp": "Я зробив резервну копію ключа", - "saveOnChain": "Створити додаткову мережну резервну копію ключа за допомогою гаманця", - "isNotSupportedWithHw": "Майте на увазі, що додаткове мережеве резервне копіювання вашого ключа не підтримується апаратними (холодними) гаманцями або мобільними гаманцями", - "successfulNotice": "Вітаємо! Ви успішно створили обліковий запис для нотаток. Тепер ви можете шифрувати ваші Note і зберігати їх в мережі.", - "yourRecoveryKeyWontBeSaved": "Ваш ключ відновлення не буде збережений в сховище браузера. Переконайтеся, що ви зробили резервну копію ключа." - }, - "showRecoveryKey": { - "title": "Поточний ключ", - "description": "", - "close": "Закрити" - }, - "checkRecoveryKey": { - "title": "Оновлення сеансу", - "description": "Сеанс аккаунта для Note був неактивний протягом 5 хвилин. Чи бажаєте ви продовжити?", - "inactiveDescription": "Ви довгий час не діяли. Сеанс вашого облікового запису було припинено з міркувань безпеки.", - "no": "Ні", - "yes": "Так" - }, - "decryptInfo": { - "title": "Ваші Note", - "description": "Всі Note успішно завантажені і дешифровані за допомогою ключа", - "all": "Завантажено подій:", - "warning": "Note з попередженням:", - "close": "Закрити", - "unSpent": "Невитрачених Note знайдено:", - "spent": "Витрачених Note знайдено:", - "redirect": "На головну" - }, - "removeAccount": { - "title": "Очистити інформацію про акаунт", - "description": "Видалення даних про акаунт з поточної сесії браузера", - "cancel": "Скасування", - "remove": "Видалити" - } - }, - "wallet": { - "label": "Підключений Web3 гаманець", - "desc": "Підключення web3 гаманця", - "disconnect": "Відключення від гаманця", - "rpcDesc": "Зміна Ethereum RPC провайдера", - "connectWeb3": "Підключити Web3", - "logout": "Вихід", - "changeRpc": "Змінити RPC" - }, - "setup": { - "decrypt": "Будь ласка, підтвердіть запит дешифрування в web3 гаманці.", - "setTooltip": "З цим web3 гаманцем уже пов'язаний аккаунт. Натисніть на кнопку 'Відновити' нижче.", - "recTooltip": "Ви повинні створити обліковий запис, оскільки ця адреса не пов'язаний з іншими акаунтами.", - "desc": "Створення аккаунта для зберігання зашифрованих Note в блокчейні Ethereum", - "account": "Створити", - "recoverDesc": "Відновлення облікового запису, пов'язаного з цим гаманцем", - "recover": "Відновити", - "enterRawDesc": "Вхід за допомогою ключа", - "enterRaw": "Ввести ключ аккаунта", - "accSetupDescription": "Цей ключ використовується для шифрування і зберігання ваших Tornado.cash Note на блокчейні ethereum. Будь ласка, зробіть резервну копію ключа і ніколи ні з ким нею не діліться." - }, - "control": { - "balance": "Баланс аккаунта: {value}", - "loadAllDesc": "Завантаження і дешифрування всіх ваших приватних Note за допомогою поточного ключа", - "loadAll": "Завантажити всі Note", - "showRecoveryKeyDesc": "Дізнатися поточний ключ", - "showRecoveryKey": "Показати", - "removeDesc": "Видалення інформації про обліковий запис в поточному сеансі браузера", - "remove": "Видалити", - "fileDesc": "Завантаження необроблених приватних поміток за замовчуванням при внесенні депозиту" - }, - "notification": { - "text": "В Tornado.cash тепер є мережеве резервне копіювання. Створіть ваш {note} зараз або дізнатися {medium}.", - "link": { - "note": "Note аккаунт", - "medium": "більше інформації" - } - } - }, - "saveNote": "Зберегти Note", - "pleaseSetUpAccount": "Для дешифрування Note необхідно створити обліковий запис", - "decryptNote": "Підтвердіть дешифрування Note", - "decryptFailed": "Дешифрування не вдалося. Будь ласка, спробуйте змінити акаунт", - "recoverFromKeyTitle": "Поточний ключ аккаунта для нотаток", - "trezorNotSupported": "В даний момент гаманець Trezor не підтримується", - "ledgerNotSupported": "В даний момент гаманець Ledger не підтримується", - "startDecryptingNotes": "В процесі дешифрування Note", - "decryptingNotes": "Дешифровка Note", - "getAndValidateEvents": "Отримання і перевірка {name} подій", - "notConnected": "Не підключений", - "regular": "Звичайний", - "encrypted": "Зашифрований", - "notDecryptedWithBackup": "Ця Note зашифрована обліковим записом {address}, яка прив'язана до {backup} metamask аккаунту. Будь ласка, перейдіть для дешифрування.", - "notDecrypted": "Ця Note зашифрована обліковим записом {address}. Будь ласка, перейдіть на неї.", - "noteAccountKey": "Дешифровка не вдалася. Підключіться до metamask аккаунту {address} для дешифрування ключа аккаунта для Note {noteAddress}.", - "yourEncrypted": "Ця Note буде зашифрована аккаунтом {address}.", - "lockTooltip": "Ця Note зберігається в мережі в зашифрованому вигляді. Її можна відновити за допомогою облікового запису для Note {address}.", - "connected": "Підключений", - "accountConnected": "Підключений аккаунт", - "web3connected": "Web3 підключений", - "haveAccountSetupWithWallet": "Схоже, ви вже створювали аккаунт за допомогою поточного web3 гаманця. Будь ласка, використовуйте кнопку 'Відновити'", - "connectAccount": "Підключити Note аккаунт ", - "fetchFile": "Не вдається отримати підтверджують ключі, перевірте підключення до Інтернету або спробуйте використовувати VPN.", - "mobileWallet": { - "loading": { - "alert": "Якщо ви не отримали повідомлення в своєму гаманці, будь ласка, повторно підключіть свій гаманець", - "action": "Перепідключити" - }, - "actions": { - "disabled": "Мобільні гаманці не підтримують цю функцію в даний момент." - } - }, - "dayPlural": "0 днів | {n} день | {n} дні | {n} днів" -} diff --git a/langs/zh.json b/langs/zh.json deleted file mode 100644 index 541b472..0000000 --- a/langs/zh.json +++ /dev/null @@ -1,449 +0,0 @@ -{ - "closeNotification": "关闭通知", - "indexNotification": "Tornado Cash 现在由社区维护,有关更多信息,请访问 {link}", - "indexNotificationLinkText": "已通过安全审计", - "binanceInternalTxsNotification": "请不要使用Binance钱包地址进行提款。Binance交易所目前不支持内部交易(包括Tornado.cash提款)。如果您有资金未收到的问题,您应该联系Binance支持。", - "deposit": "存款", - "depositButton": "存款", - "withdraw": "提款", - "withdrawButton": "提款", - "waitUntilTransactionIsMined": "等待该交易被网络确认", - "enterYourDepositsNote": "输入你的存款凭证", - "yourWallet": "你的钱包", - "pleaseSelectYourWeb3Wallet": "请选择你的 Web3 钱包:", - "otherWallet": "其它钱包", - "currentNetworkIsNotSupported": "暂不支持这个网络", - "pleaseChangeNetwork": "应用的网络 ({network}) 与钱包中选择的网络不匹配。", - "docs": "文档", - "getFreeGETH": "获取免费的 gETH", - "logout": "退出", - "connect": "连接", - "token": "代币", - "amount": "数额", - "amountTooltip": "每个数额都具有单独的匿名设置。查看「统计数据」选项卡获取更多信息。", - "approvalIsRequired": "需要授权", - "inOrderToUse": "为了能使用 {currency},你必须进行授权。选择你希望授权的数额:", - "unlimited": "无限", - "unlimitedTooltip": "如果你希望进行多次操作,无限授权会更加方便。", - "enable": "授权", - "transactionWasSuccessfullySent": "交易已成功发送。", - "insufficientBalance": "余额不足", - "youDontHaveEnoughTokens": "没有足够的 {currency} 代币。 目前余额为 {balance} {currency}", - "close": "关闭", - "yourNote": "你的凭证", - "pleaseBackupYourNote": "请备份凭证,这很重要!如果你丢失了该凭证,你将无法找回存款!", - "treatYourNote": "将您的笔记当作私钥-切勿与任何人共享,包括 Tornado.cash 开发人员。", - "saveAsFile": "浏览器将要求将您的笔记另存为文件:", - "iBackedUpTheNote": "我已备份了凭证", - "iEncryptedTheNote": "用您的账户{address}创建此凭证的链上备份", - "yourNoteWontBeSaved": "你的存款凭证不会被存储在浏览器的缓存中,请确认已作好备份。", - "yourDontHaveAccount": "未能备份票据将导致资金损失", - "sendDeposit": "发送存款", - "clickToCopy": "点击复制", - "copied": "已复制!", - "preparingTransactionData": "正在准备交易数据", - "viewInExplorer": "在浏览器中查看", - "loading": "加载中", - "pleaseConfirmInWallet": "请确认允许在MetaMask中提供公钥", - "pleaseConfirmTransactionInWallet": "请在 {wallet} 中确认交易", - "pleaseSignRequestInWallet": "Please sign request in {wallet}", - "waitingForTransactionConfirmation": "正在等待交易确认", - "relayerIsNowSendingYourTransaction": "中继者现在正在发送你的交易,操作应很快完成", - "note": "凭证", - "noteTooltip": "请输入你在存款时所获得的凭证", - "depositTransactionOnEtherscan": "在 Etherscan 查看存款交易", - "withdrawalSettings": "提款设置", - "pleaseEnterYourNote": "请输入存款凭证", - "turnOnWasm": "错误:Error: 请在浏览器设置中打开 WebAssembly。
如果你使用 Tor 浏览器,请启用 about:config 中的 javascript.options.wasm", - "timePassed": "时间", - "timePassedTooltip": "即便在你之后又多笔存款,它们也可能是由同一个用户存入的。因此,我们建议在提款之前至少等待24小时,以确保在此期间有多个用户使用了 Tornado。", - "subsequentDeposits": "后续存款", - "subsequentDepositsTooltip": "最有可能的提款来源是最近的存款,因此我们建议间隔至少 5 笔交易再进行提款操作能够保证更好的匿名性。", - "recipientAddress": "收款地址", - "donate": "捐赠", - "pleasePasteAddressHere": "请在这里粘贴地址", - "noteIsInvalid": "凭证无效", - "noteHasBeenSpent": "该凭证已使用", - "gettingTheNoteData": "正在获取凭证数据", - "noteWasAlreadySpent": "该凭证已使用", - "error": "错误", - "downloadError": "下载错误\n", - "validationError": "验证错误", - "recipientAddressIsInvalid": "收款地址不可用", - "total": "总计", - "noteBalance": "凭证余额", - "relayerFee": "中继者费用", - "ethPurchase": "{currency} 购买", - "ethPurchaseTooltip": "在提款的过程中将部分存款 {currency} 兑换成 {networkCurrency},以便在以后的交易中用于支付矿工费。", - "incorrectAmount": "数量不正确。 请输入一个数字。", - "amountIsHigh": "数量太高。 最大值为 {value}。", - "amountIsLow": "数量太低。 最小值为 {value}。", - "tokensToReceive": "接收代币", - "relayer": "中继者", - "relayerTooltip": "使用中继者服务来发送你的交易。由于矿工费是从存款中扣除的,所以匿名性更好。", - "custom": "自定义", - "pasteYourRelayerUrlorEnsRecord": "粘贴你的中继者的 URL 或者 ENS 记录", - "wallet": "钱包", - "walletTooltip": "使用你自己的账户发起提款(例如:imToken)", - "save": "保存", - "reset": "重启", - "withdrawWalletWarning": "请确保用于支付矿工费的 {currency} 不能链接到你的任何地址。否则提款的匿名性将受到影响。因此我们推荐使用中继者。", - "withdrawalConfirmation": "提款确认", - "confirm": "确认", - "yourZkSnarkProofHasBeenSuccesfullyGenerated": "你的零知识证明已经被成功生成!请点击确认发起提款操作。", - "generatingProof": "生成证明", - "statistics": "统计数据", - "anonymitySet": "合约内存款总数", - "anonymitySetTooltip": "你的提款可能来自的存款数目", - "latestDeposits": "最近存款", - "yourIP": "你的 IP 地址 {ip}", - "filterBy": "过滤至", - "spent": "已使用", - "unspent": "未使用", - "thereAreNoElements": "没有满足过滤的条件。", - "txHash": "交易 Hash", - "status": "状态", - "copyNote": "复制凭证", - "decryptCopyNote": "解密和复制凭证", - "v1Deposit": "v1 存款", - "waitingForReceipt": "等待收款中", - "failed": "失败", - "withdrawn": "已提款", - "deposited": "已存款", - "removeFromCache": "从浏览器中删除", - "pleaseMakeSureYouHaveBackedUpYourNote": "如果你的凭证还没有被使用,请确认已经做好了备份。你是否确实希望从浏览器中删除这个凭证?", - "remove": "删除", - "noteHasBeenDeleted": "凭证已经被删除", - "accountHasBeenDeleted": "账号信息已被删除", - "cancelButton": "取消", - "donationsAddress": "捐赠地址:", - "rate": "Pool Rate", - "only": "只有", - "equalUserDeposit": "{only} {n} {equalUserDepositText}", - "equalUserDepositPlural": "无存款 | 一笔存款 | 笔用户存款", - "userDeposit": "无存款 | 只有 1 笔存款 | {n} 笔存款", - "gasPrice": "Gas 价格", - "totalFee": "总费用", - "networkFee": "网络费", - "connectYourWalletFirst": "首先连接你的钱包", - "changeNetwork": "切换网络", - "changeNetworkNote": "您的凭证来自另一个网络,请在应用程序中更改网络。", - "changingNetwork": "网络切换中", - "relayerShouldSupportSSL": "中继者应该支持 SSL", - "relayerStatusOk": "中继者状态: OK", - "proposalIsActive": "Proposal status must be active", - "canNotFetchStatusFromTheRelayer": "连接中继者失败", - "thisRelayerServesADifferentNetwork": "此中继者不为您现在所处的网络提供服务", - "compliance": "来源证明", - "complianceTool": "来源证明工具", - "complianceReport": "来源证明报告", - "complianceSubtitle": "维护财务隐私对于保全我们的自由至关重要。{newline}但是,它不应该以违规为代价。 借助Tornado.cash,您始终可以使用您存/取款的地址提供经过加密验证的交易历史证明。 这将会显示您的提款地址的资产来源。{newline}要生成资产来源报告,请在下面输入您的 Tornado.сash存款凭证。", - "from": "从", - "to": "到", - "withdrawal": "提款", - "noteHasNotBeenSpent": "该凭证还未被使用", - "thereIsNoRelatedDeposit": "无相关存款记录。凭证无效。", - "warning": "警告", - "doNotShareYouNote": "不要与任何人分享您的凭证,它可以被用于提取您的资金", - "date": "日期", - "transaction": "交易", - "commitment": "义务", - "nullifierHash": "无效符", - "verified": "已验证", - "generatePdfReport": "生成 PDF 报告", - "compliancePrintWarning": "这本来源证明报告仅供参考的。 你应该使用Tornado的来源证明工具来确认报告 (https://tornadocash.eth.link/compliance) 的有效性,或者与可以算出和验证此处包含信息的任何其他密码学软件 (\"Tornado来源证明工具\") 一起使用。 报告中发现的信息与上述工具提供的信息之间存在任何差异,表明报告中的信息是不正确的{newline} 来源证明报告按 \"原样,\" 提供,不提供任何明示或暗示担保,包括但不限于对适销性,用途的适用性和非侵权专利的担保。 无论是出于合同要求、侵权或其他原因,由本来源证明报告引起与相关的任何索赔,损害或其他责任,Tornado.cash的作者概不负责。", - "relayRequestFailed": "中继者 {relayerName} 无法使用,请选择其他中继者。", - "selectProvider": "请选择钱包", - "walletDoesNotSupported": "此钱包不受支持", - "fetchGasPriceFailed": "无法获取 Gas 价格", - "networkIsNotSupported": "此网络不受支持", - "failToGenerateNote": "无法生成凭证", - "invalidRoot": "合约树异常", - "failedToFetchAllDepositEvents": "无法从合约中取得所有存款事件", - "unknownError": "未知错误", - "unitInvalidValue": "[ethjs-unit] 将数字 {value} 转换为 wei 时,出现无效值", - "tooManyDecimalPoints": "[ethjs-unit] 将数字 {value} 转换为 wei 时, 小数点过多", - "tooManyDecimalPlaces": "[ethjs-unit] 将数字 {value} 转换为 wei 时, 小数位数过多", - "settings": "设置", - "rpcDisclaimer": "之后 {linkOne} 大多数 RPC 端点都有审查存款,请确保您的钱包被手动配置为工作端点。查看选项 {linkTwo} 以及如何 {linkThree}", - "rpcDisclaimerLinkOneText": "OFAC 制裁", - "rpcDisclaimerLinkTwoText": "chainlist.org", - "rpcDisclaimerLinkThreeText": "如何配置 MetaMask", - "rpc": "节点地址", - "rpcStatusOk": "节点状态: OK", - "rpcIsDown": "无法连接此节点", - "thisRpcIsForDifferentNetwork": "此节点与您当前所处网络不符", - "rpcSelectError": "所有内置节点均无法连接,可能您的网络存在问题", - "rpcShouldSupportSSL": "节点应支持 SSL", - "customRpcPlaceholder": "粘贴您的节点地址", - "customRpc": "自定义", - "enterRecoveryKey": "请输入您的恢复密钥", - "copy": "复制", - "thereAreNoTransactions": "暂无交易", - "governance": "治理", - "delegatedBalance": "已被代理的余额", - "votingPower": "投票权", - "delegated": "已被代理", - "availableBalance": "可用余额", - "manage": "管理", - "proposals": "提案", - "all": "所有", - "active": "正在进行", - "expired": "已过期", - "pending": "正在等待", - "passed": "已通过", - "timeLocked": "锁入时间", - "createProposal": "创建提案", - "startDate": "开始时间", - "endDate": "结束时间", - "quorum": "法定人数", - "quorumTooltip": "提案的投票期为 {days}。 只有当多数票和 {votes} 票达到法定人数(赞成 + 反对票的总和大于 {votes})时,该提案才会通过。", - "for": "赞成", - "against": "反对", - "title": "标题", - "description": "说明", - "proposalAddress": "提案地址", - "lock": "锁入", - "unlock": "解锁", - "proposalThresholdError": "锁定余额应大于或等于 {PROPOSAL_THRESHOLD} TORN", - "castYourVote": "投票", - "back": "后退", - "yourCurrentVote": "您当前的投票:{vote}", - "currentResults": "当前结果", - "information": "信息", - "amountToLock": "要锁入的余额", - "amountToUnlock": "要解锁的余额", - "lockedBalance": "已锁入余额", - "lockedBalanceError": "已锁入余额必须大于 0", - "lockTabDesc": "要参加治理,您必须先锁入您的 TORN 代币。锁入的代币越多,您的投票权越大", - "unlockTabDesc": "您可以随时解锁您并取出的 TORN。如果您参加的提案尚未结束,您需要等到提案结束才能解锁所有代币。", - "delegateTabDesc": "将您的投票权委托给代表,代表将代理您参加治理。", - "undelegateTabDesc": "收回您交给代表的投票权", - "recipient": "接收者", - "address": "地址", - "delegate": "代理", - "undelegate": "取消代理", - "currentDelegate": "当前代理", - "approve": "批准", - "approved": "被认可", - "proposalTitle": "提案标题", - "proposalDescription": "提案说明", - "defeated": "伤残", - "accountSaving": "正在设立账户", - "accountSaved": "已在链上备份", - "creatingProposal": "创建提案", - "proposalCreated": "成功创建提案", - "depositing": "正在存入 {value}", - "withdrawing": "正在提取 {value}", - "claiming": "正在提取 {value}", - "withdrawnValue": "已提取 {value}", - "claimedValue": "已提取 {value}", - "depositedValue": "已存入 {value}", - "locking": "正在锁入", - "votingFor": "赞成", - "votingAgainst": "反对", - "votedFor": "赞成票", - "votedAgainst": "反对票", - "unlocking": "正在解锁", - "unlocked": "已解锁", - "delegating": "正在委托", - "undelegating": "正在取消委托", - "undelegated": "已取消委托", - "viewOnEtherscan": "在 Etherscan 上查看", - "awaitingExecution": "等待执行", - "execute": "执行", - "executeProposal": "执行提案", - "executingProposal": "提案正在执行", - "locked": "已锁入", - "lockedNotice": "已锁入", - "proposalExecuted": "提案已成功执行", - "pleaseLockBalance": "请先锁入余额以委托您的投票权", - "pleaseDelegate": "您还没有委托", - "internalError": "服务器错误。请刷新重试", - "id": "ID", - "timerRemainingForPending": "剩余等待时间", - "timerRemainingForVoting": "剩余投票时间", - "timerRemainingForAwaitingExecution": "剩余等待执行时间", - "timerRemainingForExecution": "剩余执行时间", - "accepted": "已通过", - "sent": "已发送", - "mined": "已开采", - "confirmed": "已确认", - "pleaseLockTornFirst": "请先存入 TORN 代币", - "tokensLockedUntil": "您的余额将被锁定直至 {date}", - "onlyOneProposalErr": "每个地址一次只能提出一个提案", - "max": "最大", - "withDisconnectedWallet": "请连接钱包或更改提款类型", - "relayerError": "选定的中继器无法发送您的交易。 请重试或在设置中选择其他中继器。", - "relayerIsNotResponding": "此中继者无法处理您的请求,请重试或在设置中更换一个中继者", - "transactionFailed": "交易失败", - "none": "无", - "queued": "正在排队", - "proposal": { - "error": { - "address": "输入必须为一个地址", - "contract": "该地址必须为一个合约地址", - "title": "标题为必填项", - "description": "说明为必填项" - } - }, - "executed": "已执行", - "proposalDoesNotExist": "此提案不存在,请返回首页", - "errorPage": { - "title": "Oooops!", - "description": "此也未找到", - "button": "启动应用" - }, - "rejectedRequest": "您拒绝了请求", - "updateCacheEvents": "同步存款事件中。请稍等", - "notEnoughTokens": "总费用高于要收到的代币数量。 这可能是由于高中继费用或临时网络拥塞。", - "gasPriceSlider": { - "low": "慢", - "standard": "标准", - "fast": "快" - }, - "decrypt": "解密", - "account": { - "title": "凭证账户", - "description": "凭证账户允许在链上存储加密后的私人凭证。这使得资金的安全存储变得轻松无忧,以太坊区块链保障了每个凭证的安全性。", - "button": "账户", - "account": "凭证账户", - "backedUpWith": "备份", - "modals": { - "recoverAccount": { - "title": "使用凭证账户密钥连接", - "description": "请输入您的凭证账户密钥以导入您之前设置的账户。", - "warning": "凭证账户密钥无效。", - "connect": "连接" - }, - "setupAccount": { - "title": "账户设置", - "label": "凭证账户密钥", - "description": "此密钥用于在以太坊区块链上加密和存储您的 Tornado.cash 私人凭证。 请备份它,永远不要与任何人分享。", - "setupAccount": "设置账户", - "setAccount": "完成", - "backedUp": "我已备份了凭证账户密钥", - "saveOnChain": "使用您的钱包为您的凭证账户密钥额外创建链上备份", - "isNotSupportedWithHw": "请注意,硬件钱包或移动钱包不支持您的凭证账户的链上备份", - "successfulNotice": "恭喜! 您已成功设置凭证账户。 现在,您可以加密您的凭证并将其存储在链上。", - "yourRecoveryKeyWontBeSaved": "您的恢复密钥不会保存在浏览器缓存中,请确保您已备份好。" - }, - "showRecoveryKey": { - "title": "当前凭证账户密钥", - "description": "", - "close": "关闭" - }, - "checkRecoveryKey": { - "title": "会话更新", - "description": "凭证账户会话已闲置 5 分钟。 你想继续吗?", - "inactiveDescription": "你已经很久没有活动了。 出于安全原因,您的凭证账户会话已终止。", - "no": "否", - "yes": "是" - }, - "decryptInfo": { - "title": "您的凭证", - "description": "所有凭证均已使用您的凭证账户密钥成功下载和解密", - "all": "下载的事件总数:", - "warning": "带有警告的凭证:", - "close": "关闭", - "unSpent": "发现您未使用的凭证:", - "spent": "发现您已使用的凭证:", - "redirect": "主页" - }, - "removeAccount": { - "title": "清除账户信息", - "description": "从当前浏览器的会话中删除账户信息", - "cancel": "取消", - "remove": "移除" - } - }, - "wallet": { - "label": "连接的 Web3 钱包", - "desc": "连接您的 Web3 钱包", - "disconnect": "与您的钱包断开连接", - "rpcDesc": "更改您的以太坊RPC", - "connectWeb3": "连接 Web3", - "logout": "登出", - "changeRpc": "更改PRC" - }, - "setup": { - "decrypt": "请在 Web3 钱包中确认解密请求。", - "setTooltip": "一个账户已与此 Web3 钱包关联。 请使用下面的“恢复账户”。", - "recTooltip": "请设置一个账户。 该地址没有账户。", - "desc": "设置凭证账户以在以太坊区块链上存储加密凭证", - "account": "设置账户", - "recoverDesc": "恢复与此 Web3 钱包关联的凭证账户", - "recover": "恢复账户", - "enterRawDesc": "使用之前设置的凭证账户密钥", - "enterRaw": "输入账户密钥", - "accSetupDescription": "此密钥用于在以太坊区块链上加密和存储您的 Tornado.cash 私人凭证。 请备份它,永远不要与任何人分享。" - }, - "control": { - "balance": "凭证账户余额:{value}", - "loadAllDesc": "使用当前凭证账户密钥加载和解密您的所有私人凭证", - "loadAll": "加载所有加密凭证", - "showRecoveryKeyDesc": "显示当前凭证账户密钥", - "showRecoveryKey": "显示", - "removeDesc": "从当前浏览器的会话中删除账户信息", - "remove": "清除账户信息", - "fileDesc": "存款时默认下载原始私人凭证" - }, - "notification": { - "text": "Tornado.cash 添加了链上凭证备份。 立即设置您的 {note} 或 查看{medium}信息。", - "link": { - "note": "凭证账户", - "medium": "阅读更多" - } - } - }, - "saveNote": "保存您的凭证", - "pleaseSetUpAccount": "请提供一个账户来解密您的凭证", - "decryptNote": "请确认凭证解密", - "decryptFailed": "解密失败。 请尝试使用其他账户登录", - "recoverFromKeyTitle": "当前凭证账户密钥", - "trezorNotSupported": "目前不支持 Trezor 钱包", - "ledgerNotSupported": "目前不支持 Ledger 钱包", - "startDecryptingNotes": "开始解密凭证", - "decryptingNotes": "解密凭证中", - "getAndValidateEvents": "接收和验证 {name} 事件", - "notConnected": "未连接", - "regular": "通常", - "encrypted": "已加密", - "notDecryptedWithBackup": "此凭证由 {address} 凭证账户加密,该账户已连接到 {backup} MetaMask账户。 请切换并解密。", - "notDecrypted": "此凭证由{address}凭证账户加密,请切换到该账户。", - "noteAccountKey": "解密失败。 连接到 {address} MetaMask账户以解密凭证账户密钥 {noteAddress}。", - "yourEncrypted": "此凭证将使用 {address} 账户加密。", - "lockTooltip": "存储在链上的这个凭证是加密的。 它可以通过凭证账户 {address} 恢复。", - "connected": "已连接", - "accountConnected": "凭证账户", - "web3connected": "Web3 已连接", - "haveAccountSetupWithWallet": "看起来您已经使用当前的 Web3 钱包设置了账户。 请使用“恢复账户”选项", - "connectAccount": "连接凭证账户", - "fetchFile": "无法获取验证密钥,请检查互联网连接或尝试使用 VPN。", - "mobileWallet": { - "loading": { - "alert": "如果您的钱包没有收到通知,请重新连接您的钱包", - "action": "重新连接" - }, - "actions": { - "disabled": "手机钱包不支持此功能" - } - }, - "missingENSSubdomain": "缺少ENS子域", - "dayPlural": "0天 | {n}天 | {n}天", - "stakingReward": { - "title": "质押奖励", - "label": { - "tab": "领取", - "input": "可用的质押奖励" - }, - "description": "您可以在此处领取您的质押奖励。 您获得的奖励与您在治理中锁定的 TORN 成正比。", - "action": "领取" - }, - "relayerTotal": { - "label": "当前中继器", - "name": "名", - "fee": "费用" - }, - "withdrawalQueueIsOverloaded": "提款队列已超载" -} diff --git a/layouts/README.md b/layouts/README.md deleted file mode 100644 index cad1ad5..0000000 --- a/layouts/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# LAYOUTS - -**This directory is not required, you can delete it if you don't want to use it.** - -This directory contains your Application Layouts. - -More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts). diff --git a/layouts/default.vue b/layouts/default.vue deleted file mode 100644 index 0761589..0000000 --- a/layouts/default.vue +++ /dev/null @@ -1,216 +0,0 @@ - - - - - diff --git a/layouts/error.vue b/layouts/error.vue deleted file mode 100644 index a2c29fc..0000000 --- a/layouts/error.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - - diff --git a/layouts/geofence.vue b/layouts/geofence.vue deleted file mode 100644 index ea5ad9d..0000000 --- a/layouts/geofence.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - diff --git a/lib/Permit.js b/lib/Permit.js deleted file mode 100644 index 4859de6..0000000 --- a/lib/Permit.js +++ /dev/null @@ -1,60 +0,0 @@ -import { concatSig } from 'eth-sig-util' - -const PermitType = [ - { name: 'owner', type: 'address' }, - { name: 'spender', type: 'address' }, - { name: 'value', type: 'uint256' }, - { name: 'nonce', type: 'uint256' }, - { name: 'deadline', type: 'uint256' } -] - -const EIP712DomainType = [ - { name: 'name', type: 'string' }, - { name: 'version', type: 'string' }, - { name: 'chainId', type: 'uint256' }, - { name: 'verifyingContract', type: 'address' } -] - -export default class PermitSigner { - constructor(_domain, _permitArgs) { - this.permitArgs = _permitArgs - this.domain = _domain - } - - setPermitInfo(_permitArgs) { - this.permitArgs = _permitArgs - } - - getReqPayload() { - return { - domain: this.domain, - primaryType: 'Permit', - types: { - Permit: PermitType, - EIP712Domain: EIP712DomainType - }, - message: this.permitArgs - } - } - - getSignature(response) { - response = response.substring(2) - - const r = '0x' + response.substring(0, 64) - const s = '0x' + response.substring(64, 128) - - let v = parseInt(response.substring(128, 130), 16) - - // fix ledger sign - if (v === 0 || v === 1) { - v = v + 27 - } - - return { - hex: concatSig(v, r, s), - v, - r, - s - } - } -} diff --git a/middleware/README.md b/middleware/README.md deleted file mode 100644 index 01595de..0000000 --- a/middleware/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# MIDDLEWARE - -**This directory is not required, you can delete it if you don't want to use it.** - -This directory contains your application middleware. -Middleware let you define custom functions that can be run before rendering either a page or a group of pages. - -More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware). diff --git a/middleware/provider.js b/middleware/provider.js deleted file mode 100644 index 32f7dfa..0000000 --- a/middleware/provider.js +++ /dev/null @@ -1,54 +0,0 @@ -import networkConfig from '@/networkConfig' -const { hexToNumber } = require('web3-utils') - -const checkProvider = async ({ store, accounts, chainId, providerName }) => { - if (accounts.length === 0) { - // MetaMask is locked or the user has not connected any accounts - return - } - - if (!networkConfig[`netId${chainId}`]) { - await store.dispatch('metamask/checkMismatchNetwork', chainId) - return - } - - await store.dispatch('metamask/initialize', { providerName }) -} - -const providerMiddleware = async ({ store }) => { - try { - const providerName = window.localStorage.getItem('provider') - - if (providerName === 'walletConnect') { - let providerData = window.localStorage.getItem('walletconnect') - if (!providerData) { - return - } - - const { accounts, chainId } = ({ providerData } = JSON.parse(providerData)) - - await checkProvider({ store, accounts, chainId, providerName }) - return - } - - if (providerName) { - const provider = await store.getters['metamask/getEthereumProvider']() - - const accounts = await provider.request({ method: 'eth_accounts' }) - - const chainId = hexToNumber(await provider.request({ method: 'eth_chainId' })) - - await checkProvider({ store, accounts, chainId, providerName }) - } else { - const storedNetId = window.localStorage.getItem('netId') - - if (networkConfig[`netId${storedNetId}`]) { - await store.dispatch('metamask/onNetworkChanged', { netId: Number(storedNetId) }) - } - } - } catch (err) { - console.error(`Provider container has error: ${err.message}`) - } -} - -export default providerMiddleware diff --git a/modules/account/Page.vue b/modules/account/Page.vue deleted file mode 100644 index 79af837..0000000 --- a/modules/account/Page.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/modules/account/components/Control/Actions.vue b/modules/account/components/Control/Actions.vue deleted file mode 100644 index caf8114..0000000 --- a/modules/account/components/Control/Actions.vue +++ /dev/null @@ -1,105 +0,0 @@ - - - diff --git a/modules/account/components/Control/Control.vue b/modules/account/components/Control/Control.vue deleted file mode 100644 index 2e31fa0..0000000 --- a/modules/account/components/Control/Control.vue +++ /dev/null @@ -1,23 +0,0 @@ - - - diff --git a/modules/account/components/Control/Header.vue b/modules/account/components/Control/Header.vue deleted file mode 100644 index e220346..0000000 --- a/modules/account/components/Control/Header.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - diff --git a/modules/account/components/Control/Statistic.vue b/modules/account/components/Control/Statistic.vue deleted file mode 100644 index 1d39b03..0000000 --- a/modules/account/components/Control/Statistic.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - diff --git a/modules/account/components/Control/index.js b/modules/account/components/Control/index.js deleted file mode 100644 index a9b9178..0000000 --- a/modules/account/components/Control/index.js +++ /dev/null @@ -1 +0,0 @@ -export { default as Control } from './Control' diff --git a/modules/account/components/Indicator/Indicator.vue b/modules/account/components/Indicator/Indicator.vue deleted file mode 100644 index d01c1e0..0000000 --- a/modules/account/components/Indicator/Indicator.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - diff --git a/modules/account/components/Indicator/index.js b/modules/account/components/Indicator/index.js deleted file mode 100644 index 082b275..0000000 --- a/modules/account/components/Indicator/index.js +++ /dev/null @@ -1 +0,0 @@ -export { default as Indicator } from './Indicator' diff --git a/modules/account/components/NoteAccount/NoteAccount.vue b/modules/account/components/NoteAccount/NoteAccount.vue deleted file mode 100644 index 0746b9f..0000000 --- a/modules/account/components/NoteAccount/NoteAccount.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - diff --git a/modules/account/components/NoteAccount/index.js b/modules/account/components/NoteAccount/index.js deleted file mode 100644 index 56e80c6..0000000 --- a/modules/account/components/NoteAccount/index.js +++ /dev/null @@ -1 +0,0 @@ -export { default as NoteAccount } from './NoteAccount' diff --git a/modules/account/components/Settings/Actions.vue b/modules/account/components/Settings/Actions.vue deleted file mode 100644 index 8da946a..0000000 --- a/modules/account/components/Settings/Actions.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - diff --git a/modules/account/components/Settings/Header.vue b/modules/account/components/Settings/Header.vue deleted file mode 100644 index fa6ad17..0000000 --- a/modules/account/components/Settings/Header.vue +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/modules/account/components/Settings/Settings.vue b/modules/account/components/Settings/Settings.vue deleted file mode 100644 index 3134dde..0000000 --- a/modules/account/components/Settings/Settings.vue +++ /dev/null @@ -1,23 +0,0 @@ - - - diff --git a/modules/account/components/Settings/index.js b/modules/account/components/Settings/index.js deleted file mode 100644 index 3f46024..0000000 --- a/modules/account/components/Settings/index.js +++ /dev/null @@ -1 +0,0 @@ -export { default as Settings } from './Settings' diff --git a/modules/account/components/Setup/Actions.vue b/modules/account/components/Setup/Actions.vue deleted file mode 100644 index af5f615..0000000 --- a/modules/account/components/Setup/Actions.vue +++ /dev/null @@ -1,110 +0,0 @@ - - - diff --git a/modules/account/components/Setup/Header.vue b/modules/account/components/Setup/Header.vue deleted file mode 100644 index 6e492c8..0000000 --- a/modules/account/components/Setup/Header.vue +++ /dev/null @@ -1,24 +0,0 @@ - - - diff --git a/modules/account/components/Setup/Setup.vue b/modules/account/components/Setup/Setup.vue deleted file mode 100644 index 7da7cef..0000000 --- a/modules/account/components/Setup/Setup.vue +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/modules/account/components/Setup/index.js b/modules/account/components/Setup/index.js deleted file mode 100644 index bb06ada..0000000 --- a/modules/account/components/Setup/index.js +++ /dev/null @@ -1 +0,0 @@ -export { default as Setup } from './Setup' diff --git a/modules/account/components/index.js b/modules/account/components/index.js deleted file mode 100644 index a283745..0000000 --- a/modules/account/components/index.js +++ /dev/null @@ -1,5 +0,0 @@ -export { Setup } from './Setup' -export { Control } from './Control' -export { Settings } from './Settings' -export { Indicator } from './Indicator' -export { NoteAccount } from './NoteAccount' diff --git a/modules/account/dependencies/index.js b/modules/account/dependencies/index.js deleted file mode 100644 index 8c7782e..0000000 --- a/modules/account/dependencies/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import Settings from '@/components/Settings' -import NumberFormat from '@/components/NumberFormat' - -export { Settings, NumberFormat } diff --git a/modules/account/index.js b/modules/account/index.js deleted file mode 100644 index 03ebbba..0000000 --- a/modules/account/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export * from './shared' -export { default as AccountPage } from './Page' diff --git a/modules/account/injectors/index.js b/modules/account/injectors/index.js deleted file mode 100644 index 5abba7a..0000000 --- a/modules/account/injectors/index.js +++ /dev/null @@ -1,10 +0,0 @@ -// components -export * from './noteInjectors' -export * from './setupInjectors' -export * from './walletInjectors' -export * from './сontrolInjectors' -export * from './indicatorInjectors' -// modals -export * from './setupAccountInjectors' -export * from './recoverAccountInjectors' -export * from './showRecoveryKeyInjectors' diff --git a/modules/account/injectors/indicatorInjectors.js b/modules/account/injectors/indicatorInjectors.js deleted file mode 100644 index 5d9e2bc..0000000 --- a/modules/account/injectors/indicatorInjectors.js +++ /dev/null @@ -1,10 +0,0 @@ -import { mapGetters, mapActions } from 'vuex' - -export const indicatorMethods = { - ...mapActions('encryptedNote', ['highlightNoteAccount', 'redirectToAccount']) -} - -export const indicatorComputed = { - ...mapGetters('metamask', ['currency']), - ...mapGetters('encryptedNote', ['accounts', 'isSetupAccount', 'noteAccountBalance']) -} diff --git a/modules/account/injectors/noteInjectors.js b/modules/account/injectors/noteInjectors.js deleted file mode 100644 index 3e6a50e..0000000 --- a/modules/account/injectors/noteInjectors.js +++ /dev/null @@ -1,11 +0,0 @@ -import { mapActions, mapGetters, mapState } from 'vuex' - -export const noteMethods = { - ...mapActions('encryptedNote', ['checkExistAccount', 'highlightNoteAccount']) -} - -export const noteComputed = { - ...mapGetters('encryptedNote', ['isSetupAccount']), - ...mapState('metamask', ['isInitialized', 'netId']), - ...mapGetters('encryptedNote', ['isHighlightedNoteAccount']) -} diff --git a/modules/account/injectors/recoverAccountInjectors.js b/modules/account/injectors/recoverAccountInjectors.js deleted file mode 100644 index b1c4c4b..0000000 --- a/modules/account/injectors/recoverAccountInjectors.js +++ /dev/null @@ -1,7 +0,0 @@ -import { mapActions, mapGetters } from 'vuex' - -export const recoverAccountMethods = mapActions('encryptedNote', ['clearState', 'recoverAccountFromKey']) - -export const recoverAccountComputed = { - ...mapGetters('encryptedNote', ['recoverAccountFromKeyRequest']) -} diff --git a/modules/account/injectors/setupAccountInjectors.js b/modules/account/injectors/setupAccountInjectors.js deleted file mode 100644 index b5a1d96..0000000 --- a/modules/account/injectors/setupAccountInjectors.js +++ /dev/null @@ -1,10 +0,0 @@ -import { mapActions, mapGetters } from 'vuex' - -export const setupAccountMethods = { - ...mapActions('notice', ['addNoticeWithInterval']), - ...mapActions('encryptedNote', ['clearState', 'setupAccount']) -} - -export const setupAccountComputed = { - ...mapGetters('encryptedNote', ['setupAccountRequest']) -} diff --git a/modules/account/injectors/setupInjectors.js b/modules/account/injectors/setupInjectors.js deleted file mode 100644 index 8784dbc..0000000 --- a/modules/account/injectors/setupInjectors.js +++ /dev/null @@ -1,20 +0,0 @@ -import { mapActions, mapGetters, mapState } from 'vuex' - -export const setupMethods = { - ...mapActions('loading', ['enable', 'disable']), - ...mapActions('notice', ['addNoticeWithInterval']), - ...mapActions('encryptedNote', [ - 'clearState', - 'decryptNotes', - 'setupAccount', - 'recoverAccountFromKey', - 'saveRecoveryKeyOnFile', - 'recoverAccountFromChain' - ]) -} - -export const setupComputed = { - ...mapState('metamask', ['isInitialized', 'providerName']), - ...mapGetters('metamask', ['isLoggedIn', 'isPartialSupport']), - ...mapGetters('encryptedNote', ['isExistAccount', 'setupAccountRequest']) -} diff --git a/modules/account/injectors/showRecoveryKeyInjectors.js b/modules/account/injectors/showRecoveryKeyInjectors.js deleted file mode 100644 index d61941a..0000000 --- a/modules/account/injectors/showRecoveryKeyInjectors.js +++ /dev/null @@ -1,5 +0,0 @@ -import { mapActions } from 'vuex' - -export const showRecoveryKeyMethods = { - ...mapActions('notice', ['addNoticeWithInterval']) -} diff --git a/modules/account/injectors/walletInjectors.js b/modules/account/injectors/walletInjectors.js deleted file mode 100644 index 87fadf4..0000000 --- a/modules/account/injectors/walletInjectors.js +++ /dev/null @@ -1,10 +0,0 @@ -import { mapGetters, mapState, mapActions } from 'vuex' - -export const walletComputed = { - ...mapState('metamask', ['ethAccount']), - ...mapGetters('metamask', ['netId', 'isLoggedIn']) -} - -export const walletActions = { - ...mapActions('metamask', ['onLogOut']) -} diff --git a/modules/account/injectors/сontrolInjectors.js b/modules/account/injectors/сontrolInjectors.js deleted file mode 100644 index 660bbec..0000000 --- a/modules/account/injectors/сontrolInjectors.js +++ /dev/null @@ -1,19 +0,0 @@ -import { mapActions, mapGetters } from 'vuex' - -export const controlMethods = { - ...mapActions('notice', ['addNoticeWithInterval']), - ...mapActions('encryptedNote', ['decryptNotes', 'removeAccount', 'enabledSaveFile', 'getRecoveryKey']) -} - -export const controlComputed = { - ...mapGetters('encryptedNote', ['isEnabledSaveFile', 'isSetupAccount']) -} - -export const statisticComputed = { - ...mapGetters('encryptedNote', ['statistic']), - ...mapGetters('token', ['getSymbol']) -} - -export const headerComputed = { - ...mapGetters('encryptedNote', ['accounts']) -} diff --git a/modules/account/modals/DecryptInfo.vue b/modules/account/modals/DecryptInfo.vue deleted file mode 100644 index 50e7313..0000000 --- a/modules/account/modals/DecryptInfo.vue +++ /dev/null @@ -1,84 +0,0 @@ - - - diff --git a/modules/account/modals/RecoverAccount.vue b/modules/account/modals/RecoverAccount.vue deleted file mode 100644 index 066ea60..0000000 --- a/modules/account/modals/RecoverAccount.vue +++ /dev/null @@ -1,92 +0,0 @@ - - - diff --git a/modules/account/modals/SessionUpdate.vue b/modules/account/modals/SessionUpdate.vue deleted file mode 100644 index b10b131..0000000 --- a/modules/account/modals/SessionUpdate.vue +++ /dev/null @@ -1,71 +0,0 @@ - - - diff --git a/modules/account/modals/SetupAccount.vue b/modules/account/modals/SetupAccount.vue deleted file mode 100644 index de1e52d..0000000 --- a/modules/account/modals/SetupAccount.vue +++ /dev/null @@ -1,135 +0,0 @@ - - - diff --git a/modules/account/modals/ShowRecoverKey.vue b/modules/account/modals/ShowRecoverKey.vue deleted file mode 100644 index c24a0f3..0000000 --- a/modules/account/modals/ShowRecoverKey.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - diff --git a/modules/account/modals/index.js b/modules/account/modals/index.js deleted file mode 100644 index a0b9fdb..0000000 --- a/modules/account/modals/index.js +++ /dev/null @@ -1,66 +0,0 @@ -import { ModalProgrammatic, DialogProgrammatic } from 'buefy' - -import { Settings } from '../dependencies' - -import DecryptInfo from './DecryptInfo.vue' -import SetupAccount from './SetupAccount.vue' -import SessionUpdate from './SessionUpdate.vue' -import RecoverAccount from './RecoverAccount.vue' -import ShowRecoverKey from './ShowRecoverKey.vue' - -const openSettingsModal = ({ parent, ...props }) => { - createModal({ props, parent, component: Settings }) -} - -const openSetupAccountModal = ({ parent, ...props }) => { - createModal({ props, parent, component: SetupAccount, canCancel: false }) -} - -const openDecryptModal = ({ parent, ...props }) => { - createModal({ props, parent, component: DecryptInfo }) -} - -const openRecoverAccountModal = ({ parent, ...props }) => { - createModal({ props, parent, component: RecoverAccount }) -} - -const openShowRecoverKeyModal = ({ parent, ...props }) => { - createModal({ props, parent, component: ShowRecoverKey }) -} - -function createModal({ component, props, parent, ...rest }) { - ModalProgrammatic.open({ - props, - parent, - component, - width: 440, - hasModalCard: true, - customClass: 'is-pinned', - ...rest - }) -} - -const openRemoveAccountModal = ({ i18n, onConfirm }) => { - DialogProgrammatic.confirm({ - onConfirm, - title: i18n.t('account.modals.removeAccount.title'), - type: 'is-primary is-outlined', - message: i18n.t('account.modals.removeAccount.description'), - cancelText: i18n.t('account.modals.removeAccount.cancel'), - confirmText: i18n.t('account.modals.removeAccount.remove') - }) -} - -const openConfirmModal = ({ parent, ...props }) => { - createModal({ props, parent, component: SessionUpdate, customClass: 'dialog' }) -} - -export { - openDecryptModal, - openConfirmModal, - openSettingsModal, - openSetupAccountModal, - openRemoveAccountModal, - openShowRecoverKeyModal, - openRecoverAccountModal -} diff --git a/modules/account/shared/index.js b/modules/account/shared/index.js deleted file mode 100644 index 1ffcfba..0000000 --- a/modules/account/shared/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { Indicator } from '../components' -export { openConfirmModal } from '../modals' diff --git a/modules/account/store/actions/checkExistAccount.js b/modules/account/store/actions/checkExistAccount.js deleted file mode 100644 index 2ae9c1c..0000000 --- a/modules/account/store/actions/checkExistAccount.js +++ /dev/null @@ -1,33 +0,0 @@ -import { getEventsFromBlockPart } from './utils' - -export async function checkExistAccount({ getters, dispatch, rootState, rootGetters }) { - const { ethAccount, netId } = rootState.metamask - - if (!ethAccount) { - return - } - - try { - const rpc = rootGetters['settings/currentRpc'] - const web3 = this.$provider.getWeb3(rpc.url) - const currentBlockNumber = await web3.eth.getBlockNumber() - - const events = await getEventsFromBlockPart({ - netId, - currentBlockNumber, - address: ethAccount, - echoContract: getters.echoContract - }) - - const isExist = Boolean(Array.isArray(events) && Boolean(events.length)) - - console.log('isExist', isExist) - - dispatch('createMutation', { - type: 'CHECK_ACCOUNT', - payload: { isExist } - }) - } catch (err) { - throw new Error(`Method checkExistAccount has error: ${err.message}`) - } -} diff --git a/modules/account/store/actions/checkRecoveryKey.js b/modules/account/store/actions/checkRecoveryKey.js deleted file mode 100644 index ca1210c..0000000 --- a/modules/account/store/actions/checkRecoveryKey.js +++ /dev/null @@ -1,8 +0,0 @@ -export function checkRecoveryKey({ getters, dispatch }) { - const { encrypt: address } = getters.accounts - const recoveryKey = this.$sessionStorage.getItem(address) - - if (!recoveryKey && !getters.encryptedPrivateKey) { - dispatch('removeAccount') - } -} diff --git a/modules/account/store/actions/decryptNote.js b/modules/account/store/actions/decryptNote.js deleted file mode 100644 index 7936850..0000000 --- a/modules/account/store/actions/decryptNote.js +++ /dev/null @@ -1,16 +0,0 @@ -import { decrypt } from 'eth-sig-util' - -import { unpackEncryptedMessage } from '@/utils' - -export async function decryptNote({ dispatch }, encryptedNote) { - try { - const recoveryKey = await dispatch('getRecoveryKey') - - const unpackedMessage = unpackEncryptedMessage(encryptedNote) - const [, note] = decrypt(unpackedMessage, recoveryKey).split('-') - - return note - } catch (err) { - console.warn(`Method decryptNote has error: ${err.message}`) - } -} diff --git a/modules/account/store/actions/decryptNotes/checkCurrentTx.js b/modules/account/store/actions/decryptNotes/checkCurrentTx.js deleted file mode 100644 index f8c118c..0000000 --- a/modules/account/store/actions/decryptNotes/checkCurrentTx.js +++ /dev/null @@ -1,6 +0,0 @@ -export function _checkCurrentTx({ rootGetters }, transactions) { - const currentTransactions = rootGetters['txHashKeeper/allTxsHash'] - const newTransactions = transactions.filter((event) => !currentTransactions.includes(event.txHash)) - - return newTransactions -} diff --git a/modules/account/store/actions/decryptNotes/encryptFormatTx.js b/modules/account/store/actions/decryptNotes/encryptFormatTx.js deleted file mode 100644 index 9050e05..0000000 --- a/modules/account/store/actions/decryptNotes/encryptFormatTx.js +++ /dev/null @@ -1,207 +0,0 @@ -import { decrypt } from 'eth-sig-util' -import { isAddress } from 'web3-utils' - -import { eventsType } from '@/constants' -import { parseHexNote, getInstanceByAddress, unpackEncryptedMessage } from '@/utils' - -export async function _encryptFormatTx({ dispatch, getters, rootGetters }, { events, privateKey }) { - let result = [] - - const netId = rootGetters['metamask/netId'] - const eventsInterface = rootGetters['application/eventsInterface'] - - dispatch('loading/changeText', { message: this.app.i18n.t('decryptingNotes') }, { root: true }) - - const encryptedEvents = decryptEvents({ events, privateKey }) - - dispatch( - 'loading/changeText', - { message: this.app.i18n.t('getAndValidateEvents', { name: this.app.i18n.t('deposit') }) }, - { root: true } - ) - - const instances = encryptedEvents.reduce((acc, curr) => { - const instance = getInstanceByAddress({ netId, address: curr.address }) - if (!instance) { - return acc - } - const name = `${instance.amount}${instance.currency}` - if (!acc[name]) { - const service = eventsInterface.getService({ netId, ...instance }) - acc[name] = { ...instance, service } - } - return acc - }, {}) - - await Promise.all( - [].concat( - Object.values(instances).map((instance) => instance.service.updateEvents(eventsType.DEPOSIT)), - Object.values(instances).map((instance) => instance.service.updateEvents(eventsType.WITHDRAWAL)) - ) - ) - - const eventBatches = getBatches(encryptedEvents) - - for await (const batch of eventBatches) { - try { - const depositPromises = batch.map((event) => { - const instance = getInstanceByAddress({ netId, address: event.address }) - if (!instance) { - return - } - const { service } = instances[`${instance.amount}${instance.currency}`] - return getDeposit({ event, netId, service, instance }) - }) - - const proceedDeposits = await Promise.all(depositPromises) - console.log({ proceedDeposits }) - - dispatch( - 'loading/changeText', - { message: this.app.i18n.t('getAndValidateEvents', { name: this.app.i18n.t('withdrawal') }) }, - { root: true } - ) - - const proceedEvents = await Promise.all( - proceedDeposits.map(([event, deposit]) => proceedEvent({ event, getters, deposit, netId, dispatch })) - ) - - result = result.concat(proceedEvents) - } catch (e) { - console.error('_encryptFormatTx', e) - } - } - - return formattingEvents(result) -} - -function decryptEvents({ privateKey, events }) { - const encryptEvents = [] - - for (const event of events) { - try { - const unpackedMessage = unpackEncryptedMessage(event.encryptedNote) - - const [address, note] = decrypt(unpackedMessage, privateKey).split('-') - encryptEvents.push({ address, note, ...event }) - } catch { - // decryption may fail for foreign notes - continue - } - } - - return encryptEvents -} - -function formattingEvents(proceedEvents) { - const result = [] - const statistic = [] - let unSpent = 0 - - proceedEvents.forEach((transaction) => { - if (transaction) { - if (!transaction.isSpent) { - unSpent += 1 - statistic.push({ - amount: transaction.amount, - currency: transaction.currency - }) - } - - result.push(transaction) - } - }) - - return { - unSpent, - statistic, - transactions: result - } -} - -async function getDeposit({ netId, event, service, instance }) { - const { commitmentHex, nullifierHex } = parseHexNote(event.note) - - const foundEvent = await service.findEvent({ - eventName: 'commitment', - eventToFind: commitmentHex, - type: eventsType.DEPOSIT - }) - - if (!foundEvent) { - return - } - - const isSpent = await service.findEvent({ - eventName: 'nullifierHash', - eventToFind: nullifierHex, - type: eventsType.WITHDRAWAL - }) - - const deposit = { - leafIndex: foundEvent.leafIndex, - timestamp: foundEvent.timestamp, - txHash: foundEvent.transactionHash, - depositBlock: foundEvent.blockNumber - } - - return [ - event, - { - nullifierHex, - commitmentHex, - amount: instance.amount, - isSpent: Boolean(isSpent), - currency: instance.currency, - prefix: `tornado-${instance.currency}-${instance.amount}-${netId}`, - ...deposit - } - ] -} - -async function proceedEvent({ dispatch, getters, deposit, netId, event: { note, address, ...event } }) { - const { encrypt, backup } = getters.accounts - - try { - const { depositBlock, ...rest } = deposit - - const transaction = { - ...rest, - netId, - status: 2, - type: 'Deposit', - txHash: event.txHash, - owner: isAddress(encrypt) ? encrypt : '', - backupAccount: isAddress(backup) ? backup : '', - index: deposit.leafIndex, - storeType: 'encryptedTxs', - blockNumber: event.blockNumber, - note: event.encryptedNote - } - - if (deposit && deposit.isSpent) { - const withdrawEvent = await dispatch( - 'application/loadWithdrawalEvent', - { withdrawNote: `${deposit.prefix}-${note}` }, - { root: true } - ) - if (withdrawEvent) { - transaction.txHash = withdrawEvent.txHash - transaction.depositBlock = depositBlock - transaction.blockNumber = withdrawEvent.blockNumber - } - } - - return transaction - } catch (err) { - console.log('err', err.message) - } -} - -function getBatches(arr, batchSize = 100) { - const batches = [] - while (arr.length) { - batches.push(arr.splice(0, batchSize)) - } - return batches -} diff --git a/modules/account/store/actions/decryptNotes/getDecryptNotes.js b/modules/account/store/actions/decryptNotes/getDecryptNotes.js deleted file mode 100644 index acaa4d4..0000000 --- a/modules/account/store/actions/decryptNotes/getDecryptNotes.js +++ /dev/null @@ -1,36 +0,0 @@ -export async function decryptNotes({ commit, dispatch }) { - try { - dispatch('loading/enable', { message: this.app.i18n.t('startDecryptingNotes') }, { root: true }) - - const privateKey = await dispatch('getRecoveryKey', false) - - if (!privateKey) { - return - } - - const events = await dispatch('application/getEncryptedNotes', {}, { root: true }) - - const { transactions, statistic, unSpent } = await dispatch('_encryptFormatTx', { events, privateKey }) - - const checkedTxs = await dispatch('_checkCurrentTx', transactions) - - checkedTxs.forEach((tx) => { - commit('txHashKeeper/SAVE_TX_HASH', tx, { root: true }) - }) - - dispatch('createMutation', { type: 'SET_STATISTIC', payload: { statistic } }) - - return { - unSpent, - spent: checkedTxs.length ? checkedTxs.length - unSpent : 0, - all: events.length ? events.length - 1 : 0 - } - } catch (err) { - dispatch('createMutation', { - type: 'SET_DOMAIN_FAILED', - payload: { key: 'decryptNotes', errorMessage: err.message } - }) - } finally { - dispatch('loading/disable', {}, { root: true }) - } -} diff --git a/modules/account/store/actions/decryptNotes/index.js b/modules/account/store/actions/decryptNotes/index.js deleted file mode 100644 index f8eadf1..0000000 --- a/modules/account/store/actions/decryptNotes/index.js +++ /dev/null @@ -1,4 +0,0 @@ -export { decryptNotes } from './getDecryptNotes' -// helpers -export { _checkCurrentTx } from './checkCurrentTx' -export { _encryptFormatTx } from './encryptFormatTx' diff --git a/modules/account/store/actions/enabledSaveFile.js b/modules/account/store/actions/enabledSaveFile.js deleted file mode 100644 index d504750..0000000 --- a/modules/account/store/actions/enabledSaveFile.js +++ /dev/null @@ -1,6 +0,0 @@ -export function enabledSaveFile({ dispatch, getters }) { - dispatch('createMutation', { - type: 'ENABLED_SAVE_FILE', - payload: { isEnabled: !getters.isEnabledSaveFile } - }) -} diff --git a/modules/account/store/actions/getEncryptedAccount.js b/modules/account/store/actions/getEncryptedAccount.js deleted file mode 100644 index 23eef9e..0000000 --- a/modules/account/store/actions/getEncryptedAccount.js +++ /dev/null @@ -1,22 +0,0 @@ -import { encrypt, getEncryptionPublicKey } from 'eth-sig-util' - -export function getEncryptedAccount(_, { privateKey, pubKey }) { - try { - const { address } = this.$provider.web3.eth.accounts.privateKeyToAccount(privateKey) - const keyWithOutPrefix = privateKey.slice(0, 2) === '0x' ? privateKey.replace('0x', '') : privateKey - - const publicKey = getEncryptionPublicKey(keyWithOutPrefix) - - const encryptedData = encrypt(pubKey, { data: keyWithOutPrefix }, 'x25519-xsalsa20-poly1305') - const hexPrivateKey = Buffer.from(JSON.stringify(encryptedData)).toString('hex') - - return { - address, - publicKey, - hexPrivateKey, - encryptedData - } - } catch (err) { - throw new Error(`Method getEncryptedAccount has error: ${err.message}`) - } -} diff --git a/modules/account/store/actions/getEncryptedNote.js b/modules/account/store/actions/getEncryptedNote.js deleted file mode 100644 index 4af0b41..0000000 --- a/modules/account/store/actions/getEncryptedNote.js +++ /dev/null @@ -1,19 +0,0 @@ -import { encrypt } from 'eth-sig-util' - -import { packEncryptedMessage } from '@/utils' - -export function getEncryptedNote({ getters }, { data }) { - try { - const encryptedPublicKey = getters.encryptedPublicKey - - if (!encryptedPublicKey) { - return - } - - const encryptedData = encrypt(encryptedPublicKey, { data }, 'x25519-xsalsa20-poly1305') - - return packEncryptedMessage(encryptedData) - } catch (err) { - throw new Error(`Method getEncryptedNote has error: ${err.message}`) - } -} diff --git a/modules/account/store/actions/getRecoveryKey.js b/modules/account/store/actions/getRecoveryKey.js deleted file mode 100644 index 69ba190..0000000 --- a/modules/account/store/actions/getRecoveryKey.js +++ /dev/null @@ -1,71 +0,0 @@ -import { isAddress } from 'web3-utils' -import { sliceAddress } from '@/utils' - -export async function getRecoveryKey({ dispatch, getters, rootState }, enableLoader = true) { - try { - const { encrypt: address } = getters.accounts - const recoverKey = this.$sessionStorage.getItem(address) - - if (recoverKey) { - return recoverKey.data - } - - const hasError = _checkBackupAccount({ rootState, dispatch, getters, i18n: this.app.i18n }) - - if (hasError) { - return - } - - const encryptedPrivateKey = getters.encryptedPrivateKey - dispatch('loading/enable', { message: this.app.i18n.t('decryptNote') }, { root: true }) - const privateKey = await dispatch('metamask/ethDecrypt', encryptedPrivateKey, { root: true }) - - this.$sessionStorage.setItem(address, privateKey) - - return privateKey - } catch (err) { - const isRejected = err.message.includes('MetaMask Decryption: User denied message decryption.') - - const notice = { - title: 'decryptFailed', - type: 'danger' - } - - if (isRejected) { - notice.title = 'rejectedRequest' - notice.description = rootState.metamask.walletName - } - - dispatch('notice/addNoticeWithInterval', { notice, interval: 5000 }, { root: true }) - } finally { - if (enableLoader) { - dispatch('loading/disable', {}, { root: true }) - } - } -} - -function _checkBackupAccount(ctx) { - const { ethAccount } = ctx.rootState.metamask - - if (!ethAccount) { - const { backup, encrypt } = ctx.getters.accounts - - if (isAddress(backup)) { - ctx.dispatch( - 'notice/addNoticeWithInterval', - { - notice: { - untranslatedTitle: ctx.i18n.t('noteAccountKey', { - address: sliceAddress(backup), - noteAddress: sliceAddress(encrypt) - }), - type: 'danger' - }, - interval: 10000 - }, - { root: true } - ) - return 'error' - } - } -} diff --git a/modules/account/store/actions/highlightNoteAccount.js b/modules/account/store/actions/highlightNoteAccount.js deleted file mode 100644 index b5d27b6..0000000 --- a/modules/account/store/actions/highlightNoteAccount.js +++ /dev/null @@ -1,3 +0,0 @@ -export function highlightNoteAccount({ dispatch }, { isHighlighted }) { - dispatch('createMutation', { type: 'SET_HIGHLIGHT_NOTE_ACCOUNT', payload: { isHighlighted } }) -} diff --git a/modules/account/store/actions/index.js b/modules/account/store/actions/index.js deleted file mode 100644 index bbeda46..0000000 --- a/modules/account/store/actions/index.js +++ /dev/null @@ -1,51 +0,0 @@ -import { decryptNote } from './decryptNote' -import { decryptNotes, _encryptFormatTx, _checkCurrentTx } from './decryptNotes' - -import { saveAccount } from './saveAccount' -import { removeAccount } from './removeAccount' -import { getRecoveryKey } from './getRecoveryKey' -import { enabledSaveFile } from './enabledSaveFile' -import { checkRecoveryKey } from './checkRecoveryKey' - -import { setupAccount, saveEncryptedAccount } from './setupAccount' -import { recoverAccountFromChain, decryptAccount, getAccountFromAddress } from './recoverAccountFromChain' - -import { checkExistAccount } from './checkExistAccount' -import { getEncryptedNote } from './getEncryptedNote' -import { getEncryptedAccount } from './getEncryptedAccount' -import { recoverAccountFromKey } from './recoverAccountFromKey' - -import { redirectToAccount } from './redirectToAccount' -import { highlightNoteAccount } from './highlightNoteAccount' -import { saveRecoveryKeyOnFile } from './saveRecoveryKeyOnFile' - -import { createMutation, clearState } from './utils' - -export const actions = { - // utils - clearState, - createMutation, - // actions - saveAccount, - decryptNote, - decryptNotes, - setupAccount, - removeAccount, - decryptAccount, - getRecoveryKey, - enabledSaveFile, - checkRecoveryKey, - getEncryptedNote, - redirectToAccount, - checkExistAccount, - getEncryptedAccount, - highlightNoteAccount, - saveEncryptedAccount, - getAccountFromAddress, - recoverAccountFromKey, - recoverAccountFromChain, - saveRecoveryKeyOnFile, - // private actions - _encryptFormatTx, - _checkCurrentTx -} diff --git a/modules/account/store/actions/recoverAccountFromChain/decryptAccount.js b/modules/account/store/actions/recoverAccountFromChain/decryptAccount.js deleted file mode 100644 index c3acc32..0000000 --- a/modules/account/store/actions/recoverAccountFromChain/decryptAccount.js +++ /dev/null @@ -1,14 +0,0 @@ -import { getEncryptionPublicKey } from 'eth-sig-util' - -export async function decryptAccount({ dispatch }, encryptedAccount) { - try { - const privateKey = await dispatch('metamask/ethDecrypt', encryptedAccount, { root: true }) - const publicKey = getEncryptionPublicKey(privateKey) - - const { address } = await this.$provider.web3.eth.accounts.privateKeyToAccount(privateKey) - - return { address, publicKey, privateKey } - } catch (err) { - throw new Error(`Method decryptAccount has error: ${err.message}`) - } -} diff --git a/modules/account/store/actions/recoverAccountFromChain/getAccountFromAddress.js b/modules/account/store/actions/recoverAccountFromChain/getAccountFromAddress.js deleted file mode 100644 index 089b111..0000000 --- a/modules/account/store/actions/recoverAccountFromChain/getAccountFromAddress.js +++ /dev/null @@ -1,35 +0,0 @@ -import { getEventsFromBlockPart } from '../utils' -import { unpackEncryptedMessage } from '@/utils' - -export async function getAccountFromAddress({ getters, rootGetters }, address) { - try { - const netId = rootGetters['metamask/netId'] - - const rpc = rootGetters['settings/currentRpc'] - const web3 = this.$provider.getWeb3(rpc.url) - const currentBlockNumber = await web3.eth.getBlockNumber() - - const events = await getEventsFromBlockPart({ - netId, - address, - currentBlockNumber, - echoContract: getters.echoContract - }) - - const [lastEvent] = events.slice(-1) - - if (!lastEvent) { - throw new Error(`Please setup account, account doesn't exist for this address`) - } - - const encryptedMessage = unpackEncryptedMessage(lastEvent.encryptedAccount) - const encryptedKey = Buffer.from(JSON.stringify(encryptedMessage)).toString('hex') - - return { - encryptedKey, - backup: lastEvent.address - } - } catch (err) { - throw new Error(`Method getAccountFromAddress has error: ${err.message}`) - } -} diff --git a/modules/account/store/actions/recoverAccountFromChain/index.js b/modules/account/store/actions/recoverAccountFromChain/index.js deleted file mode 100644 index 468eb05..0000000 --- a/modules/account/store/actions/recoverAccountFromChain/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export { decryptAccount } from './decryptAccount' -export { getAccountFromAddress } from './getAccountFromAddress' -export { recoverAccountFromChain } from './recoverAccountFromChain' diff --git a/modules/account/store/actions/recoverAccountFromChain/recoverAccountFromChain.js b/modules/account/store/actions/recoverAccountFromChain/recoverAccountFromChain.js deleted file mode 100644 index 5fd021e..0000000 --- a/modules/account/store/actions/recoverAccountFromChain/recoverAccountFromChain.js +++ /dev/null @@ -1,13 +0,0 @@ -export async function recoverAccountFromChain({ dispatch, rootState }) { - const { ethAccount } = rootState.metamask - try { - const { encryptedKey, backup } = await dispatch('getAccountFromAddress', ethAccount) - const { address, publicKey, privateKey } = await dispatch('decryptAccount', encryptedKey) - - this.$sessionStorage.setItem(address, privateKey) - - dispatch('saveAccount', { account: { publicKey, privateKey: encryptedKey }, address, backup }) - } catch (err) { - throw new Error(`Method recoverAccountFromChain has error: ${err.message}`) - } -} diff --git a/modules/account/store/actions/recoverAccountFromKey.js b/modules/account/store/actions/recoverAccountFromKey.js deleted file mode 100644 index 0e9b7d3..0000000 --- a/modules/account/store/actions/recoverAccountFromKey.js +++ /dev/null @@ -1,23 +0,0 @@ -import { getEncryptionPublicKey } from 'eth-sig-util' - -export function recoverAccountFromKey({ dispatch }, { recoveryKey }) { - try { - dispatch('createMutation', { type: 'SET_DOMAIN_REQUEST', payload: { key: 'recoverAccountFromKey' } }) - - const publicKey = getEncryptionPublicKey(recoveryKey) - - const { address } = this.$provider.web3.eth.accounts.privateKeyToAccount(recoveryKey) - const keyWithOutPrefix = recoveryKey.slice(0, 2) === '0x' ? recoveryKey.replace('0x', '') : recoveryKey - - this.$sessionStorage.setItem(address, keyWithOutPrefix) - - dispatch('saveAccount', { account: { publicKey, privateKey: '' }, address }) - - dispatch('createMutation', { type: 'SET_DOMAIN_SUCCESS', payload: { key: 'recoverAccountFromKey' } }) - } catch (err) { - dispatch('createMutation', { - type: 'SET_DOMAIN_FAILED', - payload: { key: 'recoverAccountFromKey', errorMessage: err.message } - }) - } -} diff --git a/modules/account/store/actions/redirectToAccount.js b/modules/account/store/actions/redirectToAccount.js deleted file mode 100644 index 2f17864..0000000 --- a/modules/account/store/actions/redirectToAccount.js +++ /dev/null @@ -1,4 +0,0 @@ -export function redirectToAccount({ dispatch }) { - dispatch('highlightNoteAccount', { isHighlighted: true }) - this.$router.push({ path: '/account' }) -} diff --git a/modules/account/store/actions/removeAccount.js b/modules/account/store/actions/removeAccount.js deleted file mode 100644 index c24c211..0000000 --- a/modules/account/store/actions/removeAccount.js +++ /dev/null @@ -1,19 +0,0 @@ -export function removeAccount({ dispatch }) { - try { - dispatch('createMutation', { type: 'SET_DOMAIN_REQUEST', payload: { key: 'removeAccount' } }) - - dispatch('createMutation', { type: 'REMOVE_ADDRESSES' }) - dispatch('createMutation', { type: 'REMOVE_KEY' }) - dispatch('createMutation', { type: 'ENABLED_SAVE_FILE', payload: { isEnabled: true } }) - dispatch('createMutation', { type: 'REMOVE_STATISTIC' }) - - this.$sessionStorage.clear() - - dispatch('createMutation', { type: 'SET_DOMAIN_SUCCESS', payload: { key: 'removeAccount' } }) - } catch (err) { - dispatch('createMutation', { - type: 'SET_DOMAIN_FAILED', - payload: { key: 'removeAccount', errorMessage: err.message } - }) - } -} diff --git a/modules/account/store/actions/saveAccount.js b/modules/account/store/actions/saveAccount.js deleted file mode 100644 index d97b774..0000000 --- a/modules/account/store/actions/saveAccount.js +++ /dev/null @@ -1,19 +0,0 @@ -export function saveAccount({ dispatch, rootState }, { account, address, backup }) { - const { ethAccount } = rootState.metamask - - dispatch('createMutation', { - type: 'SET_ENCRYPTED_ACCOUNT', - payload: account - }) - - dispatch('createMutation', { - type: 'SET_ADDRESSES', - payload: { - addresses: { - encrypt: address, - backup: backup || '-', - connect: ethAccount - } - } - }) -} diff --git a/modules/account/store/actions/saveRecoveryKeyOnFile.js b/modules/account/store/actions/saveRecoveryKeyOnFile.js deleted file mode 100644 index 20e1dd4..0000000 --- a/modules/account/store/actions/saveRecoveryKeyOnFile.js +++ /dev/null @@ -1,13 +0,0 @@ -import { saveAsFile } from '@/utils' - -export function saveRecoveryKeyOnFile(_, { recoveryKey }) { - try { - const { address } = this.$provider.web3.eth.accounts.privateKeyToAccount(recoveryKey) - - const data = new Blob([`${recoveryKey}`], { type: 'text/plain;charset=utf-8' }) - - saveAsFile(data, `backup-note-account-key-${address.slice(0, 10)}.txt`) - } catch (err) { - console.error('saveFile', err.message) - } -} diff --git a/modules/account/store/actions/setupAccount/index.js b/modules/account/store/actions/setupAccount/index.js deleted file mode 100644 index 7af069c..0000000 --- a/modules/account/store/actions/setupAccount/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { setupAccount } from './setupAccount' -export { saveEncryptedAccount } from './saveEncryptedAccount' diff --git a/modules/account/store/actions/setupAccount/saveEncryptedAccount.js b/modules/account/store/actions/setupAccount/saveEncryptedAccount.js deleted file mode 100644 index f866779..0000000 --- a/modules/account/store/actions/setupAccount/saveEncryptedAccount.js +++ /dev/null @@ -1,32 +0,0 @@ -import { numberToHex } from 'web3-utils' -import { packEncryptedMessage } from '@/utils' - -export async function saveEncryptedAccount({ getters, dispatch }, { from, encryptedData, callback }) { - try { - const contract = getters.echoContract - - const data = packEncryptedMessage(encryptedData) - - const callData = contract.getCallData(data) - const gas = await contract.estimateGas({ from, data }) - - const callParams = { - method: 'eth_sendTransaction', - params: { - data: callData, - to: contract.address, - gas: numberToHex(gas + 10000) - }, - watcherParams: { - title: 'accountSaving', - successTitle: 'accountSaved', - onSuccess: callback - }, - isSaving: false - } - - await dispatch('metamask/sendTransaction', callParams, { root: true }) - } catch (err) { - throw new Error(err.message) - } -} diff --git a/modules/account/store/actions/setupAccount/setupAccount.js b/modules/account/store/actions/setupAccount/setupAccount.js deleted file mode 100644 index f506695..0000000 --- a/modules/account/store/actions/setupAccount/setupAccount.js +++ /dev/null @@ -1,62 +0,0 @@ -export async function setupAccount({ dispatch, commit, getters, rootState }, { privateKey }) { - try { - dispatch('createMutation', { type: 'SET_DOMAIN_REQUEST', payload: { key: 'setupAccount' } }) - - await dispatch('checkExistAccount') - - if (getters.isExistAccount) { - throw new Error(this.app.i18n.t('haveAccountSetupWithWallet')) - } - - dispatch('loading/enable', { message: this.app.i18n.t('pleaseConfirmInWallet') }, { root: true }) - - const { ethAccount } = rootState.metamask - const pubKey = await dispatch('metamask/getEncryptionPublicKey', {}, { root: true }) - const account = await dispatch('getEncryptedAccount', { privateKey, pubKey }) - - const { address, publicKey, hexPrivateKey, encryptedData } = account - - const callback = () => { - dispatch('createMutation', { - type: 'CHECK_ACCOUNT', - payload: { isExist: true } - }) - - dispatch('saveAccount', { - address, - backup: ethAccount, - account: { publicKey, privateKey: hexPrivateKey } - }) - - dispatch( - 'notice/addNoticeWithInterval', - { - notice: { - title: 'account.modals.setupAccount.successfulNotice', - type: 'info' - }, - interval: 10000 - }, - { root: true } - ) - } - - await dispatch('saveEncryptedAccount', { - encryptedData, - from: ethAccount, - callback - }) - - this.$sessionStorage.setItem(address, privateKey) - - dispatch('createMutation', { type: 'SET_DOMAIN_SUCCESS', payload: { key: 'setupAccount' } }) - } catch (err) { - console.log('createMutation', err) - dispatch('createMutation', { - type: 'SET_DOMAIN_FAILED', - payload: { key: 'setupAccount', errorMessage: err.message } - }) - } finally { - dispatch('loading/disable', {}, { root: true }) - } -} diff --git a/modules/account/store/actions/utils.js b/modules/account/store/actions/utils.js deleted file mode 100644 index 5e6047a..0000000 --- a/modules/account/store/actions/utils.js +++ /dev/null @@ -1,77 +0,0 @@ -import { graph } from '@/services' -import networkConfig from '@/networkConfig' - -function createMutation({ commit, rootState }, { type, payload }) { - const { netId } = rootState.metamask - - commit(type, { ...payload, netId }) -} - -function clearState({ dispatch }, { key }) { - dispatch('createMutation', { - type: 'CLEAR_STATE', - payload: { key } - }) -} - -async function getEventsFromBlockPart({ echoContract, address, currentBlockNumber, netId }) { - try { - const { events: graphEvents, lastSyncBlock } = await graph.getNoteAccounts({ address, netId }) - - if (graphEvents.length) { - return graphEvents - } - - let { NOTE_ACCOUNT_BLOCK: fromBlock } = networkConfig[`netId${netId}`].constants - if (lastSyncBlock) { - fromBlock = lastSyncBlock - } - - const blockDifference = Math.ceil(currentBlockNumber - lastSyncBlock) - - let blockRange = blockDifference - - if (Number(netId) === 56) { - blockRange = 4950 - } - - let numberParts = blockDifference === 0 ? 1 : Math.ceil(blockDifference / blockRange) - const part = Math.ceil(blockDifference / numberParts) - - let events = [] - - let toBlock = lastSyncBlock + part - - if (toBlock >= currentBlockNumber) { - toBlock = 'latest' - numberParts = 1 - } - - for (let i = 0; i < numberParts; i++) { - const partOfEvents = await echoContract.getEvents({ - fromBlock, - toBlock, - address - }) - if (partOfEvents) { - events = events.concat( - partOfEvents.map((event) => ({ - address: event.returnValues.who, - encryptedAccount: event.returnValues.data - })) - ) - } - fromBlock = toBlock - toBlock += part - } - - events = graphEvents.concat(events) - - return events - } catch (err) { - console.log(`getEventsFromBlock has error: ${err.message}`) - return false - } -} - -export { clearState, createMutation, getEventsFromBlockPart } diff --git a/modules/account/store/getters/Contract.js b/modules/account/store/getters/Contract.js deleted file mode 100644 index 2c33af3..0000000 --- a/modules/account/store/getters/Contract.js +++ /dev/null @@ -1,57 +0,0 @@ -import Web3 from 'web3' - -const ABI = [ - { - anonymous: false, - inputs: [ - { indexed: true, internalType: 'address', name: 'who', type: 'address' }, - { indexed: false, internalType: 'bytes', name: 'data', type: 'bytes' } - ], - name: 'Echo', - type: 'event' - }, - { - inputs: [{ internalType: 'bytes', name: '_data', type: 'bytes' }], - name: 'echo', - outputs: [], - stateMutability: 'nonpayable', - type: 'function' - } -] - -export class EchoContract { - constructor({ rpcUrl, address }) { - this.web3 = new Web3(rpcUrl) - - this.contract = new this.web3.eth.Contract(ABI, address) - this.address = this.contract._address - } - - async getEvents({ address, fromBlock = 0, toBlock = 'latest' }) { - try { - return await this.contract.getPastEvents('Echo', { - toBlock, - fromBlock, - filter: { who: address } - }) - } catch (err) { - throw new Error(`Method getEvents has error: ${err.message}`) - } - } - - async estimateGas({ from, data }) { - try { - return await this.contract.methods.echo(data).estimateGas({ from }) - } catch (err) { - throw new Error(`Method estimateGas has error: ${err.message}`) - } - } - - getCallData(data) { - try { - return this.contract.methods.echo(data).encodeABI() - } catch (err) { - throw new Error(`Method getCallData has error: ${err.message}`) - } - } -} diff --git a/modules/account/store/getters/index.js b/modules/account/store/getters/index.js deleted file mode 100644 index eb3200e..0000000 --- a/modules/account/store/getters/index.js +++ /dev/null @@ -1,81 +0,0 @@ -import { EchoContract } from './Contract' - -import networkConfig from '@/networkConfig' - -export const getters = { - echoContract: (state, getters, rootState, rootGetters) => { - const netId = rootState.metamask.netId - const { url } = rootGetters['settings/currentRpc'] - const address = networkConfig[`netId${netId}`].echoContractAccount - - return new EchoContract({ rpcUrl: url, address }) - }, - // selectors - selectUi: (state, getters, rootState) => (key) => { - const { netId } = rootState.metamask - return state.ui[`netId${netId}`][key] - }, - selectDomain: (state, getters, rootState) => (key) => { - const { netId } = rootState.metamask - return state.domain[`netId${netId}`][key] - }, - // ui store - isExistAccount: (state, getters) => { - return getters.selectUi('isExistAccount') - }, - accounts: (state, getters) => { - return getters.selectUi('addresses') - }, - statistic: (state, getters) => { - const data = getters.selectUi('statistic') - - if (Array.isArray(data)) { - return data - } else { - return [] - } - }, - noteAccountBalance: (state, getters, rootState, rootGetters) => { - let balance = 0 - const nativeCurrency = rootGetters['metamask/nativeCurrency'] - - getters.statistic.forEach(({ currency, amount }) => { - if (currency === nativeCurrency) { - balance += Number(amount) - } - }) - - return balance - }, - isSetupAccount: (state, getters) => { - return Boolean(getters.selectUi('encryptedPublicKey')) - }, - encryptedPublicKey: (state, getters) => { - return getters.selectUi('encryptedPublicKey') - }, - encryptedPrivateKey: (state, getters) => { - return getters.selectUi('encryptedPrivateKey') - }, - isEnabledSaveFile: (state, getters) => { - return getters.selectUi('isEnabledSaveFile') - }, - isHighlightedNoteAccount: (state, getters) => { - return getters.selectUi('isHighlightedNoteAccount') - }, - // domain store - setupAccountRequest: (state, getters) => { - return getters.selectDomain('setupAccount') - }, - recoverAccountRequest: (state, getters) => { - return getters.selectDomain('recoverAccountFromChain') - }, - removeAccountRequest: (state, getters) => { - return getters.selectDomain('removeAccount') - }, - decryptNotesRequest: (state, getters) => { - return getters.selectDomain('decryptNotes') - }, - recoverAccountFromKeyRequest: (state, getters) => { - return getters.selectDomain('recoverAccountFromKey') - } -} diff --git a/modules/account/store/index.js b/modules/account/store/index.js deleted file mode 100644 index cd16ee0..0000000 --- a/modules/account/store/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { state } from './state' -import { actions } from './actions' -import { getters } from './getters' -import { mutations } from './mutations' - -export { actions, mutations, getters, state } diff --git a/modules/account/store/mutations/Addresses.js b/modules/account/store/mutations/Addresses.js deleted file mode 100644 index 9f1e42c..0000000 --- a/modules/account/store/mutations/Addresses.js +++ /dev/null @@ -1,10 +0,0 @@ -import { initialUiState } from '../state/ui' - -export const addresses = { - SET_ADDRESSES(state, { netId, addresses }) { - this._vm.$set(state.ui[`netId${netId}`], 'addresses', addresses) - }, - REMOVE_ADDRESSES(state, { netId }) { - this._vm.$set(state.ui[`netId${netId}`], 'addresses', initialUiState.addresses) - } -} diff --git a/modules/account/store/mutations/Domain.js b/modules/account/store/mutations/Domain.js deleted file mode 100644 index 4ed066e..0000000 --- a/modules/account/store/mutations/Domain.js +++ /dev/null @@ -1,34 +0,0 @@ -export const domain = { - CLEAR_STATE(state, { netId, key }) { - this._vm.$set(state.domain[`netId${netId}`], key, { - isError: false, - isSuccess: false, - isFetching: false, - errorMessage: '' - }) - }, - SET_DOMAIN_REQUEST(state, { netId, key }) { - this._vm.$set(state.domain[`netId${netId}`], key, { - isError: false, - isSuccess: false, - isFetching: true, - errorMessage: '' - }) - }, - SET_DOMAIN_FAILED(state, { netId, key, errorMessage }) { - this._vm.$set(state.domain[`netId${netId}`], key, { - errorMessage, - isError: true, - isSuccess: false, - isFetching: false - }) - }, - SET_DOMAIN_SUCCESS(state, { netId, key }) { - this._vm.$set(state.domain[`netId${netId}`], key, { - isError: false, - isSuccess: true, - isFetching: false, - errorMessage: '' - }) - } -} diff --git a/modules/account/store/mutations/EnabledSaveFile.js b/modules/account/store/mutations/EnabledSaveFile.js deleted file mode 100644 index 441601d..0000000 --- a/modules/account/store/mutations/EnabledSaveFile.js +++ /dev/null @@ -1,5 +0,0 @@ -export const enabledSaveFile = { - ENABLED_SAVE_FILE(state, { netId, isEnabled }) { - this._vm.$set(state.ui[`netId${netId}`], 'isEnabledSaveFile', isEnabled) - } -} diff --git a/modules/account/store/mutations/EncryptedAccount.js b/modules/account/store/mutations/EncryptedAccount.js deleted file mode 100644 index 90db1af..0000000 --- a/modules/account/store/mutations/EncryptedAccount.js +++ /dev/null @@ -1,16 +0,0 @@ -export const encryptedAccount = { - SET_ENCRYPTED_ACCOUNT(state, { netId, publicKey, privateKey }) { - this._vm.$set(state.ui[`netId${netId}`], 'encryptedPublicKey', publicKey) - this._vm.$set(state.ui[`netId${netId}`], 'encryptedPrivateKey', privateKey) - }, - CHECK_ACCOUNT(state, { netId, isExist }) { - this._vm.$set(state.ui[`netId${netId}`], 'isExistAccount', isExist) - }, - REMOVE_KEY(state, { netId }) { - this._vm.$set(state.ui[`netId${netId}`], 'encryptedPublicKey', '') - this._vm.$set(state.ui[`netId${netId}`], 'encryptedPrivateKey', '') - }, - SET_HIGHLIGHT_NOTE_ACCOUNT(state, { netId, isHighlighted }) { - this._vm.$set(state.ui[`netId${netId}`], 'isHighlightedNoteAccount', isHighlighted) - } -} diff --git a/modules/account/store/mutations/Statistic.js b/modules/account/store/mutations/Statistic.js deleted file mode 100644 index 93c5744..0000000 --- a/modules/account/store/mutations/Statistic.js +++ /dev/null @@ -1,8 +0,0 @@ -export const statistic = { - SET_STATISTIC(state, { netId, statistic }) { - this._vm.$set(state.ui[`netId${netId}`], 'statistic', statistic) - }, - REMOVE_STATISTIC(state, { netId }) { - this._vm.$set(state.ui[`netId${netId}`], 'statistic', {}) - } -} diff --git a/modules/account/store/mutations/index.js b/modules/account/store/mutations/index.js deleted file mode 100644 index 67b904e..0000000 --- a/modules/account/store/mutations/index.js +++ /dev/null @@ -1,13 +0,0 @@ -import { domain } from './Domain' -import { statistic } from './Statistic' -import { addresses } from './Addresses' -import { enabledSaveFile } from './EnabledSaveFile' -import { encryptedAccount } from './EncryptedAccount' - -export const mutations = { - ...domain, - ...addresses, - ...statistic, - ...enabledSaveFile, - ...encryptedAccount -} diff --git a/modules/account/store/state/domain.js b/modules/account/store/state/domain.js deleted file mode 100644 index 5b041ad..0000000 --- a/modules/account/store/state/domain.js +++ /dev/null @@ -1,18 +0,0 @@ -import { createChainIdState } from '@/utils' - -const requestState = { - isError: false, - isSuccess: false, - isFetching: false, - errorMessage: '' -} - -const initialDomainState = { - setupAccount: Object.assign({}, requestState), - decryptNotes: Object.assign({}, requestState), - removeAccount: Object.assign({}, requestState), - recoverAccountFromKey: Object.assign({}, requestState), - recoverAccountFromChain: Object.assign({}, requestState) -} - -export const domain = createChainIdState(initialDomainState) diff --git a/modules/account/store/state/index.js b/modules/account/store/state/index.js deleted file mode 100644 index 4770ae3..0000000 --- a/modules/account/store/state/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import { ui } from './ui' -import { domain } from './domain' - -export const state = () => { - return { - ui, - domain - } -} - -export * from './ui' diff --git a/modules/account/store/state/ui.js b/modules/account/store/state/ui.js deleted file mode 100644 index df7008c..0000000 --- a/modules/account/store/state/ui.js +++ /dev/null @@ -1,17 +0,0 @@ -import { createChainIdState } from '@/utils' - -export const initialUiState = { - addresses: { - backup: '-', - connect: '-', - encrypt: '-' - }, - isExistAccount: false, - encryptedPublicKey: '', - encryptedPrivateKey: '', - isEnabledSaveFile: true, - statistic: [], - isHighlightedNoteAccount: false -} - -export const ui = createChainIdState(initialUiState) diff --git a/modules/index.js b/modules/index.js deleted file mode 100644 index 79e032c..0000000 --- a/modules/index.js +++ /dev/null @@ -1 +0,0 @@ -export { AccountPage } from './account' diff --git a/netlify.toml b/netlify.toml deleted file mode 100644 index 9f5f574..0000000 --- a/netlify.toml +++ /dev/null @@ -1,6 +0,0 @@ -[[redirects]] - from = "/*" - to = "/451.html" - status = 451 - force = true - conditions = {Country=["BY","CU","IR","IQ","CI","LR","KP","SD","SY","ZW"]} \ No newline at end of file diff --git a/networkConfig.js b/networkConfig.js deleted file mode 100644 index 31973d8..0000000 --- a/networkConfig.js +++ /dev/null @@ -1,510 +0,0 @@ -export default { - netId1: { - rpcCallRetryAttempt: 15, - gasPrices: { - instant: 80, - fast: 50, - standard: 25, - low: 8 - }, - nativeCurrency: 'eth', - currencyName: 'ETH', - explorerUrl: { - tx: 'https://etherscan.io/tx/', - address: 'https://etherscan.io/address/', - block: 'https://etherscan.io/block/' - }, - merkleTreeHeight: 20, - emptyElement: '21663839004416932945382355908790599225266501822907911457504978515578255421292', - networkName: 'Ethereum Mainnet', - deployedBlock: 9116966, - rpcUrls: { - SecureRPC: { - name: 'SecureRPC', - url: 'https://api.securerpc.com/v1' - } - }, - multicall: '0xeefba1e63905ef1d7acba5a8513c70307c1ce441', - registryContract: '0x58E8dCC13BE9780fC42E8723D8EaD4CF46943dF2', - echoContractAccount: '0x9B27DD5Bb15d42DC224FCD0B7caEbBe16161Df42', - aggregatorContract: '0xE8F47A78A6D52D317D0D2FFFac56739fE14D1b49', - tokens: { - eth: { - instanceAddress: { - '0.1': '0x12D66f87A04A9E220743712cE6d9bB1B5616B8Fc', - '1': '0x47CE0C6eD5B0Ce3d3A51fdb1C52DC66a7c3c2936', - '10': '0x910Cbd523D972eb0a6f4cAe4618aD62622b39DbF', - '100': '0xA160cdAB225685dA1d56aa342Ad8841c3b53f291' - }, - symbol: 'ETH', - decimals: 18 - }, - dai: { - instanceAddress: { - '100': '0xD4B88Df4D29F5CedD6857912842cff3b20C8Cfa3', - '1000': '0xFD8610d20aA15b7B2E3Be39B396a1bC3516c7144', - '10000': '0x07687e702b410Fa43f4cB4Af7FA097918ffD2730', - '100000': '0x23773E65ed146A459791799d01336DB287f25334' - }, - tokenAddress: '0x6B175474E89094C44Da98b954EedeAC495271d0F', - symbol: 'DAI', - decimals: 18, - gasLimit: '55000' - }, - cdai: { - instanceAddress: { - '5000': '0x22aaA7720ddd5388A3c0A3333430953C68f1849b', - '50000': '0x03893a7c7463AE47D46bc7f091665f1893656003', - '500000': '0x2717c5e28cf931547B621a5dddb772Ab6A35B701', - '5000000': '0xD21be7248e0197Ee08E0c20D4a96DEBdaC3D20Af' - }, - tokenAddress: '0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643', - symbol: 'cDAI', - decimals: 8, - gasLimit: '425000' - }, - usdc: { - instanceAddress: { - '100': '0xd96f2B1c14Db8458374d9Aca76E26c3D18364307', - '1000': '0x4736dCf1b7A3d580672CcE6E7c65cd5cc9cFBa9D', - '10000': '', - '100000': '' - }, - tokenAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - symbol: 'USDC', - decimals: 6, - gasLimit: '80000' - }, - usdt: { - instanceAddress: { - '100': '0x169AD27A470D064DEDE56a2D3ff727986b15D52B', - '1000': '0x0836222F2B2B24A3F36f98668Ed8F0B38D1a872f', - '10000': '', - '100000': '' - }, - tokenAddress: '0xdAC17F958D2ee523a2206206994597C13D831ec7', - symbol: 'USDT', - decimals: 6, - gasLimit: '100000' - }, - wbtc: { - instanceAddress: { - '0.1': '0x178169B423a011fff22B9e3F3abeA13414dDD0F1', - '1': '0x610B717796ad172B316836AC95a2ffad065CeaB4', - '10': '0xbB93e510BbCD0B7beb5A853875f9eC60275CF498', - '100': '' - }, - tokenAddress: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', - symbol: 'WBTC', - decimals: 8, - gasLimit: '85000' - } - }, - ensSubdomainKey: 'mainnet-tornado', - pollInterval: 15, - constants: { - GOVERNANCE_BLOCK: 11474695, - NOTE_ACCOUNT_BLOCK: 11842486, - ENCRYPTED_NOTES_BLOCK: 14248730, - MINING_BLOCK_TIME: 15 - }, - 'torn.contract.tornadocash.eth': '0x77777FeDdddFfC19Ff86DB637967013e6C6A116C', - 'governance.contract.tornadocash.eth': '0x5efda50f22d34F262c29268506C5Fa42cB56A1Ce', - 'tornado-router.contract.tornadocash.eth': '0xd90e2f925DA726b50C4Ed8D0Fb90Ad053324F31b', - 'staking-rewards.contract.tornadocash.eth': '0x2FC93484614a34f26F7970CBB94615bA109BB4bf' - }, - netId56: { - rpcCallRetryAttempt: 15, - gasPrices: { - instant: 5, - fast: 5, - standard: 5, - low: 5 - }, - nativeCurrency: 'bnb', - currencyName: 'BNB', - explorerUrl: { - tx: 'https://bscscan.com/tx/', - address: 'https://bscscan.com/address/', - block: 'https://bscscan.com/block/' - }, - merkleTreeHeight: 20, - emptyElement: '21663839004416932945382355908790599225266501822907911457504978515578255421292', - networkName: 'Binance Smart Chain', - deployedBlock: 8158799, - multicall: '0x41263cba59eb80dc200f3e2544eda4ed6a90e76c', - echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4', - rpcUrls: { - bscRpc: { - name: 'BSC RPC', - url: 'https://bscrpc.com/' - } - }, - tokens: { - bnb: { - instanceAddress: { - '0.1': '0x84443CFd09A48AF6eF360C6976C5392aC5023a1F', - '1': '0xd47438C816c9E7f2E2888E060936a499Af9582b3', - '10': '0x330bdFADE01eE9bF63C209Ee33102DD334618e0a', - '100': '0x1E34A77868E19A6647b1f2F47B51ed72dEDE95DD' - }, - symbol: 'BNB', - decimals: 18 - } - }, - ensSubdomainKey: 'bsc-tornado', - pollInterval: 10, - constants: { - NOTE_ACCOUNT_BLOCK: 8159269, - ENCRYPTED_NOTES_BLOCK: 8159269 - }, - 'tornado-proxy-light.contract.tornadocash.eth': '0x0D5550d52428E7e3175bfc9550207e4ad3859b17' - }, - netId137: { - rpcCallRetryAttempt: 15, - gasPrices: { - instant: 100, - fast: 75, - standard: 50, - low: 30 - }, - nativeCurrency: 'matic', - currencyName: 'MATIC', - explorerUrl: { - tx: 'https://polygonscan.com/tx/', - address: 'https://polygonscan.com/address/', - block: 'https://polygonscan.com/block/' - }, - merkleTreeHeight: 20, - emptyElement: '21663839004416932945382355908790599225266501822907911457504978515578255421292', - networkName: 'Polygon (Matic) Network', - deployedBlock: 16257962, - multicall: '0x11ce4B23bD875D7F5C6a31084f55fDe1e9A87507', - echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4', - rpcUrls: { - polygonRPC: { - name: 'Polygon RPC', - url: `https://polygon-rpc.com` - } - }, - tokens: { - matic: { - instanceAddress: { - '100': '0x1E34A77868E19A6647b1f2F47B51ed72dEDE95DD', - '1000': '0xdf231d99Ff8b6c6CBF4E9B9a945CBAcEF9339178', - '10000': '0xaf4c0B70B2Ea9FB7487C7CbB37aDa259579fe040', - '100000': '0xa5C2254e4253490C54cef0a4347fddb8f75A4998' - }, - symbol: 'MATIC', - decimals: 18 - } - }, - ensSubdomainKey: 'polygon-tornado', - pollInterval: 10, - constants: { - NOTE_ACCOUNT_BLOCK: 16257996, - ENCRYPTED_NOTES_BLOCK: 16257996 - }, - 'tornado-proxy-light.contract.tornadocash.eth': '0x0D5550d52428E7e3175bfc9550207e4ad3859b17' - }, - netId10: { - rpcCallRetryAttempt: 15, - gasPrices: { - instant: 0.001, - fast: 0.001, - standard: 0.001, - low: 0.001 - }, - nativeCurrency: 'eth', - currencyName: 'ETH', - explorerUrl: { - tx: 'https://optimistic.etherscan.io/tx/', - address: 'https://optimistic.etherscan.io/address/', - block: 'https://optimistic.etherscan.io/block/' - }, - merkleTreeHeight: 20, - emptyElement: '21663839004416932945382355908790599225266501822907911457504978515578255421292', - networkName: 'Optimism', - deployedBlock: 2243689, - multicall: '0x35A6Cdb2C9AD4a45112df4a04147EB07dFA01aB7', - echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4', - ovmGasPriceOracleContract: '0x420000000000000000000000000000000000000F', - rpcUrls: { - Optimism: { - name: 'Optimism', - url: `https://mainnet.optimism.io` - } - }, - tokens: { - eth: { - instanceAddress: { - '0.1': '0x84443CFd09A48AF6eF360C6976C5392aC5023a1F', - '1': '0xd47438C816c9E7f2E2888E060936a499Af9582b3', - '10': '0x330bdFADE01eE9bF63C209Ee33102DD334618e0a', - '100': '0x1E34A77868E19A6647b1f2F47B51ed72dEDE95DD' - }, - symbol: 'ETH', - decimals: 18 - } - }, - ensSubdomainKey: 'optimism-tornado', - pollInterval: 15, - constants: { - NOTE_ACCOUNT_BLOCK: 2243694, - ENCRYPTED_NOTES_BLOCK: 2243694 - }, - 'tornado-proxy-light.contract.tornadocash.eth': '0x0D5550d52428E7e3175bfc9550207e4ad3859b17' - }, - netId42161: { - rpcCallRetryAttempt: 15, - gasPrices: { - instant: 4, - fast: 3, - standard: 2.52, - low: 2.29 - }, - nativeCurrency: 'eth', - currencyName: 'ETH', - explorerUrl: { - tx: 'https://arbiscan.io/tx/', - address: 'https://arbiscan.io/address/', - block: 'https://arbiscan.io/block/' - }, - merkleTreeHeight: 20, - emptyElement: '21663839004416932945382355908790599225266501822907911457504978515578255421292', - networkName: 'Arbitrum One', - deployedBlock: 3430648, - multicall: '0x842eC2c7D803033Edf55E478F461FC547Bc54EB2', - echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4', - rpcUrls: { - Arbitrum: { - name: '1RPC', - url: 'https://1rpc.io/arb' - } - }, - tokens: { - eth: { - instanceAddress: { - '0.1': '0x84443CFd09A48AF6eF360C6976C5392aC5023a1F', - '1': '0xd47438C816c9E7f2E2888E060936a499Af9582b3', - '10': '0x330bdFADE01eE9bF63C209Ee33102DD334618e0a', - '100': '0x1E34A77868E19A6647b1f2F47B51ed72dEDE95DD' - }, - symbol: 'ETH', - decimals: 18 - } - }, - ensSubdomainKey: 'arbitrum-tornado', - pollInterval: 15, - constants: { - NOTE_ACCOUNT_BLOCK: 3430605, - ENCRYPTED_NOTES_BLOCK: 3430605 - }, - 'tornado-proxy-light.contract.tornadocash.eth': '0x0D5550d52428E7e3175bfc9550207e4ad3859b17' - }, - netId100: { - rpcCallRetryAttempt: 15, - gasPrices: { - instant: 6, - fast: 5, - standard: 4, - low: 1 - }, - nativeCurrency: 'xdai', - currencyName: 'xDAI', - explorerUrl: { - tx: 'https://blockscout.com/xdai/mainnet/tx/', - address: 'https://blockscout.com/xdai/mainnet/address/', - block: 'https://blockscout.com/xdai/mainnet/block/' - }, - merkleTreeHeight: 20, - emptyElement: '21663839004416932945382355908790599225266501822907911457504978515578255421292', - networkName: 'Gnosis Chain', - deployedBlock: 17754561, - multicall: '0xb5b692a88bdfc81ca69dcb1d924f59f0413a602a', - echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4', - rpcUrls: { - publicRpc: { - name: 'Community RPC', - url: 'https://development.tornadocash.community/rpc/v1' - } - }, - tokens: { - xdai: { - instanceAddress: { - '100': '0x1E34A77868E19A6647b1f2F47B51ed72dEDE95DD', - '1000': '0xdf231d99Ff8b6c6CBF4E9B9a945CBAcEF9339178', - '10000': '0xaf4c0B70B2Ea9FB7487C7CbB37aDa259579fe040', - '100000': '0xa5C2254e4253490C54cef0a4347fddb8f75A4998' - }, - symbol: 'xDAI', - decimals: 18 - } - }, - ensSubdomainKey: 'gnosis-tornado', - pollInterval: 15, - constants: { - NOTE_ACCOUNT_BLOCK: 17754564, - ENCRYPTED_NOTES_BLOCK: 17754564 - }, - 'tornado-proxy-light.contract.tornadocash.eth': '0x0D5550d52428E7e3175bfc9550207e4ad3859b17' - }, - netId43114: { - rpcCallRetryAttempt: 15, - gasPrices: { - instant: 225, - fast: 35, - standard: 25, - low: 25 - }, - nativeCurrency: 'avax', - currencyName: 'AVAX', - explorerUrl: { - tx: 'https://snowtrace.io/tx/', - address: 'https://snowtrace.io/address/', - block: 'https://snowtrace.io/block/' - }, - merkleTreeHeight: 20, - emptyElement: '21663839004416932945382355908790599225266501822907911457504978515578255421292', - networkName: 'Avalanche Mainnet', - deployedBlock: 4429818, - multicall: '0xe86e3989c74293Acc962156cd3F525c07b6a1B6e', - echoContractAccount: '0xa75BF2815618872f155b7C4B0C81bF990f5245E4', - rpcUrls: { - publicRpc: { - name: 'Avalanche RPC', - url: 'https://api.avax.network/ext/bc/C/rpc' - } - }, - tokens: { - avax: { - instanceAddress: { - '10': '0x330bdFADE01eE9bF63C209Ee33102DD334618e0a', - '100': '0x1E34A77868E19A6647b1f2F47B51ed72dEDE95DD', - '500': '0xaf8d1839c3c67cf571aa74B5c12398d4901147B3' - }, - symbol: 'AVAX', - decimals: 18 - } - }, - ensSubdomainKey: 'avalanche-tornado', - pollInterval: 10, - constants: { - NOTE_ACCOUNT_BLOCK: 4429813, - ENCRYPTED_NOTES_BLOCK: 4429813 - }, - 'tornado-proxy-light.contract.tornadocash.eth': '0x0D5550d52428E7e3175bfc9550207e4ad3859b17' - }, - netId5: { - rpcCallRetryAttempt: 15, - gasPrices: { - instant: 80, - fast: 50, - standard: 25, - low: 8 - }, - nativeCurrency: 'eth', - currencyName: 'gETH', - explorerUrl: { - tx: 'https://goerli.etherscan.io/tx/', - address: 'https://goerli.etherscan.io/address/', - block: 'https://goerli.etherscan.io/block/' - }, - merkleTreeHeight: 20, - emptyElement: '21663839004416932945382355908790599225266501822907911457504978515578255421292', - networkName: 'Ethereum Goerli', - deployedBlock: 3781595, - multicall: '0x77dca2c955b15e9de4dbbcf1246b4b85b651e50e', - echoContractAccount: '0x37e6859804b6499d1e4a86d70a5fdd5de6a0ac65', - aggregatorContract: '0x8cb1436F64a3c33aD17bb42F94e255c4c0E871b2', - rpcUrls: { - Infura: { - name: 'Infura', - url: 'https://goerli.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161' - } - }, - tokens: { - eth: { - instanceAddress: { - '0.1': '0x6Bf694a291DF3FeC1f7e69701E3ab6c592435Ae7', - '1': '0x3aac1cC67c2ec5Db4eA850957b967Ba153aD6279', - '10': '0x723B78e67497E85279CB204544566F4dC5d2acA0', - '100': '0x0E3A09dDA6B20aFbB34aC7cD4A6881493f3E7bf7' - }, - symbol: 'ETH', - decimals: 18 - }, - dai: { - instanceAddress: { - '100': '0x76D85B4C0Fc497EeCc38902397aC608000A06607', - '1000': '0xCC84179FFD19A1627E79F8648d09e095252Bc418', - '10000': '0xD5d6f8D9e784d0e26222ad3834500801a68D027D', - '100000': '0x407CcEeaA7c95d2FE2250Bf9F2c105aA7AAFB512' - }, - tokenAddress: '0xdc31Ee1784292379Fbb2964b3B9C4124D8F89C60', - symbol: 'DAI', - decimals: 18, - gasLimit: '55000' - }, - cdai: { - instanceAddress: { - '5000': '0x833481186f16Cece3f1Eeea1a694c42034c3a0dB', - '50000': '0xd8D7DE3349ccaA0Fde6298fe6D7b7d0d34586193', - '500000': '0x8281Aa6795aDE17C8973e1aedcA380258Bc124F9', - '5000000': '0x57b2B8c82F065de8Ef5573f9730fC1449B403C9f' - }, - tokenAddress: '0x822397d9a55d0fefd20F5c4bCaB33C5F65bd28Eb', - symbol: 'cDAI', - decimals: 8, - gasLimit: '425000' - }, - usdc: { - instanceAddress: { - '100': '0x05E0b5B40B7b66098C2161A5EE11C5740A3A7C45', - '1000': '0x23173fE8b96A4Ad8d2E17fB83EA5dcccdCa1Ae52', - '10000': '', - '100000': '' - }, - tokenAddress: '0xD87Ba7A50B2E7E660f678A895E4B72E7CB4CCd9C', - symbol: 'USDC', - decimals: 6, - gasLimit: '80000' - }, - usdt: { - instanceAddress: { - '100': '0x538Ab61E8A9fc1b2f93b3dd9011d662d89bE6FE6', - '1000': '0x94Be88213a387E992Dd87DE56950a9aef34b9448', - '10000': '', - '100000': '' - }, - tokenAddress: '0xb7FC2023D96AEa94Ba0254AA5Aeb93141e4aad66', - symbol: 'USDT', - decimals: 6, - gasLimit: '100000' - }, - wbtc: { - instanceAddress: { - '0.1': '0x242654336ca2205714071898f67E254EB49ACdCe', - '1': '0x776198CCF446DFa168347089d7338879273172cF', - '10': '0xeDC5d01286f99A066559F60a585406f3878a033e', - '100': '' - }, - tokenAddress: '0xC04B0d3107736C32e19F1c62b2aF67BE61d63a05', - symbol: 'WBTC', - decimals: 8, - gasLimit: '85000' - } - }, - ensSubdomainKey: 'goerli-tornado', - pollInterval: 15, - constants: { - GOVERNANCE_BLOCK: 3945171, - NOTE_ACCOUNT_BLOCK: 4131375, - ENCRYPTED_NOTES_BLOCK: 4131375, - MINING_BLOCK_TIME: 15 - }, - 'torn.contract.tornadocash.eth': '0x77777FeDdddFfC19Ff86DB637967013e6C6A116C', - 'governance.contract.tornadocash.eth': '0x5efda50f22d34F262c29268506C5Fa42cB56A1Ce', - 'tornado-proxy.contract.tornadocash.eth': '0x454d870a72e29d5e5697f635128d18077bd04c60' - } -} diff --git a/nuxt.config.js b/nuxt.config.js deleted file mode 100644 index 387fd59..0000000 --- a/nuxt.config.js +++ /dev/null @@ -1,242 +0,0 @@ -import { execSync } from 'child_process' -import webpack from 'webpack' - -const hooks = (nuxtConfig) => ({ - 'generate:page': (page) => { - page.html = modifyHtml(page.html) - }, - 'render:route': (url, page, { req, res }) => { - page.html = modifyHtml(page.html) - } -}) - -let hasSourceMaps = '#source-map' -if (process.env.NODE_ENV !== 'development') { - // eslint-disable-next-line no-console - console.log('NODE_ENV', process.env.NODE_ENV) - hasSourceMaps = false -} - -function getCurrentCommit() { - try { - return execSync('git rev-parse HEAD') - .toString() - .trim() - .substr(0, 7) - } catch (e) { - console.error('Failed to get git commit', e.message) - return 'debug' - } -} - -const modifyHtml = (html) => { - return html.replace(/data-n-head=""|data-n-head="true"/g, '') -} - -export default { - target: 'static', - ssr: false, - /* - ** Headers of the page - */ - generate: { - concurrency: 1, - fallback: true - }, - head: { - title: 'Tornado.cash', - meta: [ - { charset: 'utf-8' }, - { - 'http-equiv': 'Content-Security-Policy', - content: - "img-src 'self' data:;font-src data:;style-src 'self' 'unsafe-inline';connect-src *;script-src 'self' 'unsafe-eval' 'unsafe-inline';default-src 'self';object-src 'none';base-uri 'none';upgrade-insecure-requests;child-src blob:;worker-src blob:;" - }, - { - name: 'Referer-Policy', - content: 'no-referrer' - }, - { - name: 'viewport', - content: 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' - }, - { name: 'theme-color', content: '#000403' }, - { - hid: 'description', - name: 'description', - content: 'Non-custodial Ethereum Privacy solution.' - }, - { - hid: 'og:title', - property: 'og:title', - content: 'Tornado.Cash' - }, - { - hid: 'og:description', - property: 'og:description', - content: 'Non-custodial, trustless, serverless, private transactions on Ethereum network' - }, - { - hid: 'og:url', - property: 'og:url', - content: 'https://tornado.cash' - }, - { - hid: 'og:type', - property: 'og:type', - content: 'website' - }, - { - hid: 'og:image', - property: 'og:image', - content: 'https://tornado.cash/tw.png' - }, - { - hid: 'description', - name: 'description', - content: 'Non-custodial, trustless, serverless, private transactions on Ethereum network' - }, - { - hid: 'keywords', - name: 'keywords', - content: - 'Tornado, Ethereum, ERC20, dapp, smart contract, decentralized, metamask, zksnark, zero knowledge' - } - ], - link: [ - { rel: 'manifest', href: '/manifest.json' }, - { rel: 'shortcut icon', type: 'image/x-icon', href: '/favicon/favicon.ico' }, - { rel: 'apple-touch-icon', href: '/favicon/apple-touch-icon.png' } - ] - }, - /* - ** Customize the progress-bar color - */ - loading: { color: '#94febf', height: '5px', duration: 5000 }, - /* - ** Global CSS - */ - css: ['@/assets/styles/app.scss'], - - /* - ** Plugins to load before mounting the App - */ - plugins: [ - '~/plugins/ipfs.js', - { src: '~plugins/clipboard', ssr: false }, - { src: '~plugins/detectIPFS', ssr: false }, - { src: '~plugins/localStorage', ssr: false }, - { src: '~plugins/preventMultitabs', ssr: false }, - { src: '~plugins/idb', ssr: false }, - { src: '~plugins/vidle', ssr: false }, - { src: '~plugins/sessionStorage', ssr: false }, - '~plugins/numbro/numbro', - '~/plugins/i18n.js' - ], - /* - ** Nuxt.js modules - */ - modules: [ - // Doc: https://buefy.github.io/#/documentation - [ - 'nuxt-buefy', - { - css: false, - materialDesignIcons: false, - defaultIconPack: 'trnd', - defaultModalCanCancel: ['escape', 'button', 'outside'], - defaultProgrammaticPromise: true, - customIconPacks: { - trnd: { - sizes: { - default: 'trnd-24px', - 'is-small': null, - 'is-medium': 'trnd-36px', - 'is-large': 'trnd-48px' - }, - iconPrefix: 'trnd-' - } - } - } - ], - '@nuxtjs/eslint-module', - 'nuxt-web3-provider' - ], - router: { - linkActiveClass: '', - linkExactActiveClass: 'is-active' - }, - hooks: hooks(this), - /* - ** Build configuration - */ - build: { - /* - ** You can extend webpack config here - */ - extend(config, ctx) { - if (ctx.isClient) { - config.devtool = hasSourceMaps - } - config.module.rules.push({ - test: /\.bin$/, - use: 'arraybuffer-loader' - }) - }, - plugins: [ - new webpack.IgnorePlugin(/worker_threads/), - new webpack.DefinePlugin({ - 'process.env': JSON.stringify({ - INFURA_KEY: process.env.INFURA_KEY, - ALCHEMY_MAINNET_KEY: process.env.ALCHEMY_MAINNET_KEY, - ALCHEMY_POLYGON_KEY: process.env.ALCHEMY_POLYGON_KEY, - ALCHEMY_OPTIMISM_KEY: process.env.ALCHEMY_OPTIMISM_KEY, - ALCHEMY_ARBITRUM_KEY: process.env.ALCHEMY_ARBITRUM_KEY, - ALCHEMY_GOERLI_KEY: process.env.ALCHEMY_GOERLI_KEY, - WC_BRIDGE: process.env.WC_BRIDGE, - OLD_STORE_NAME: process.env.OLD_STORE_NAME, - STORE_NAME: process.env.STORE_NAME, - APP_ENS_NAME: process.env.APP_ENS_NAME - }) - }) - ], - html: { - minify: { - collapseWhitespace: true, // as @dario30186 mentioned - removeComments: true // 👈 add this line - } - }, - loaders: { - fontUrl: { limit: 25000 }, - imgUrl: { limit: 15000 } - }, - splitChunks: { - layouts: false, - pages: false, - commons: false - } - }, - buildModules: [ - [ - '@nuxtjs/moment', - { - defaultLocale: 'en', - locales: ['ru', 'zh-cn', 'fr', 'es', 'tr', 'uk'] - } - ] - ], - env: { - commit: getCurrentCommit() - }, - - provider: { - rpcUrl: `https://mainnet.infura.io/v3/${process.env.INFURA_KEY}` - }, - - // todo make custom loading page - loadingIndicator: { - name: 'circle', - color: '#94febf', - background: '#000' - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 5aaf5e6..0000000 --- a/package.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "name": "tornadocash-classic-ui", - "version": "1.0.0", - "description": "Private ethereum transactions", - "author": "Tornado Cash Team", - "scripts": { - "lint": "eslint --ext .js,.vue --ignore-path .gitignore .", - "precommit": "yarn lint", - "test": "jest", - "dev": "NODE_OPTIONS='--max-old-space-size=8192' nuxt", - "build": "nuxt build", - "start": "nuxt start", - "update:zip": "node -r esm scripts/updateZip.js", - "update:events": "node -r esm scripts/updateEvents.js --network", - "update:encrypted": "node -r esm scripts/updateEncryptedEvents.js --network", - "update:tree": "node -r esm scripts/updateTree.js --network", - "generate": "NODE_OPTIONS='--max-old-space-size=8192' nuxt generate && cp dist/404.html dist/ipfs-404.html", - "check:sync": "node -r esm scripts/checkEventsSync.js", - "ipfsUpload": "node scripts/ipfsUpload.js", - "deploy:ipfs": "yarn generate && yarn ipfsUpload" - }, - "dependencies": { - "@apollo/client": "^3.3.20", - "@metamask/onboarding": "^1.0.0", - "@nuxtjs/moment": "^1.6.0", - "@walletconnect/web3-provider": "1.7.8", - "ajv": "^6.10.2", - "arraybuffer-loader": "^1.0.8", - "base-path-converter": "^1.0.2", - "bignumber.js": "^9.0.0", - "bloomfilter.js": "^1.0.2", - "circomlibjs": "0.1.2", - "crypto": "^1.0.1", - "dotenv": "^8.2.0", - "eth-ens-namehash": "^2.0.8", - "eth-sig-util": "^2.5.3", - "file-saver": "^2.0.5", - "fixed-merkle-tree": "^0.7.3", - "form-data": "^3.0.0", - "gas-price-oracle": "^0.5.0", - "graphql": "^15.5.1", - "idb": "^6.0.0", - "jspdf": "^1.5.3", - "lodash": "^4.17.21", - "node-fetch": "^2.6.1", - "numbro": "^2.3.2", - "nuxt": "2.14.7", - "nuxt-buefy": "^0.4.10", - "nuxt-web3-provider": "0.1.4", - "push-dir": "^0.4.1", - "recursive-fs": "^2.1.0", - "snarkjs": "git+https://development.tornadocash.community/tornadocash/snarkjs.git#869181cfaf7526fe8972073d31655493a04326d5", - "v-idle": "^0.2.0", - "vue-clipboard2": "^0.3.1", - "vue-i18n": "^8.15.4", - "vuex-persistedstate": "^2.7.0", - "web3": "1.5.2", - "websnark": "git+https://development.tornadocash.community/tornadocash/websnark.git#671762fab73f01771d0e7ebcf6b6a3123e193fb4" - }, - "devDependencies": { - "@nuxtjs/eslint-config": "^1.1.2", - "@nuxtjs/eslint-module": "^1.1.0", - "@vue/test-utils": "^1.0.0-beta.27", - "axios": "^0.19.0", - "babel-cli": "^6.26.0", - "babel-core": "7.0.0-bridge.0", - "babel-eslint": "^10.0.3", - "babel-jest": "^24.9.0", - "babel-preset-es2015": "^6.24.1", - "eslint": "^6.6.0", - "eslint-config-prettier": "^6.7.0", - "eslint-config-standard": ">=14.1.0", - "eslint-plugin-import": ">=2.18.2", - "eslint-plugin-jest": ">=23.0.4", - "eslint-plugin-node": ">=10.0.0", - "eslint-plugin-nuxt": ">=0.5.0", - "eslint-plugin-prettier": "^3.1.1", - "eslint-plugin-promise": ">=4.2.1", - "eslint-plugin-standard": ">=4.0.1", - "eslint-plugin-vue": "^6.0.1", - "esm": "^3.2.25", - "jest": "^24.9.0", - "nodemon": "^2.0.0", - "prettier": "^1.19.1", - "raw-loader": "^3.1.0", - "sass": "^1.49.9", - "sass-loader": "^8.0.0", - "vue-jest": "^3.0.5" - } -} diff --git a/pages/451.vue b/pages/451.vue deleted file mode 100644 index 77c779d..0000000 --- a/pages/451.vue +++ /dev/null @@ -1,11 +0,0 @@ - - - diff --git a/pages/account.vue b/pages/account.vue deleted file mode 100644 index 49cbcc8..0000000 --- a/pages/account.vue +++ /dev/null @@ -1,13 +0,0 @@ - - - diff --git a/pages/compliance.vue b/pages/compliance.vue deleted file mode 100644 index f271771..0000000 --- a/pages/compliance.vue +++ /dev/null @@ -1,546 +0,0 @@ - - - diff --git a/pages/governance.vue b/pages/governance.vue deleted file mode 100644 index 7f87400..0000000 --- a/pages/governance.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - diff --git a/pages/governance/_id.vue b/pages/governance/_id.vue deleted file mode 100644 index ae5c40c..0000000 --- a/pages/governance/_id.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - diff --git a/pages/governance/create.vue b/pages/governance/create.vue deleted file mode 100644 index 6065eea..0000000 --- a/pages/governance/create.vue +++ /dev/null @@ -1,23 +0,0 @@ - - - diff --git a/pages/governance/index.vue b/pages/governance/index.vue deleted file mode 100644 index 2cbc3ed..0000000 --- a/pages/governance/index.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/pages/index.vue b/pages/index.vue deleted file mode 100644 index ab8583b..0000000 --- a/pages/index.vue +++ /dev/null @@ -1,178 +0,0 @@ - - diff --git a/plugins/README.md b/plugins/README.md deleted file mode 100644 index ca1f9d8..0000000 --- a/plugins/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# PLUGINS - -**This directory is not required, you can delete it if you don't want to use it.** - -This directory contains Javascript plugins that you want to run before mounting the root Vue.js application. - -More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins). diff --git a/plugins/clipboard.js b/plugins/clipboard.js deleted file mode 100644 index 8ce0d97..0000000 --- a/plugins/clipboard.js +++ /dev/null @@ -1,4 +0,0 @@ -import Vue from 'vue' -import VueClipboard from 'vue-clipboard2' - -Vue.use(VueClipboard) diff --git a/plugins/detectIPFS.js b/plugins/detectIPFS.js deleted file mode 100644 index ae1c466..0000000 --- a/plugins/detectIPFS.js +++ /dev/null @@ -1,33 +0,0 @@ -/* eslint-disable no-console */ -export default ({ store, isHMR, app }, inject) => { - inject('isLoadedFromIPFS', main) -} -function main() { - const whiteListedDomains = [ - 'tornadocash.3th.li', - 'tornadocash.3th.ws', - 'tornadocash.eth.link', - 'tornadocash.eth.limo', - 'tornadocashcommunity.3th.li', - 'tornadocashcommunity.3th.ws', - 'tornadocashcommunity.eth.link', - 'tornadocashcommunity.eth.limo' - ] - - const IPFS_GATEWAY_REGEXP = /.ipfs./ - const IPFS_LOCAL_REGEXP = /.ipfs.localhost:/ - const IPFS_SOP_GATEWAY_REGEXP = /\/ipfs\// - - if (IPFS_LOCAL_REGEXP.test(window.location.host)) { - return false - } else if ( - IPFS_GATEWAY_REGEXP.test(window.location.host) || - IPFS_SOP_GATEWAY_REGEXP.test(window.location.host) || - whiteListedDomains.includes(window.location.host) - ) { - console.warn('The page has been loaded from ipfs.io. LocalStorage is disabled') - return true - } - - return false -} diff --git a/plugins/i18n.js b/plugins/i18n.js deleted file mode 100644 index 9314a60..0000000 --- a/plugins/i18n.js +++ /dev/null @@ -1,173 +0,0 @@ -import Vue from 'vue' -import VueI18n from 'vue-i18n' -import messages from '../langs/index' -import { LOCALES_NAMES } from '@/constants' - -Vue.use(VueI18n) - -let lang = 'en' - -if (process.browser) { - const locale = localStorage.getItem('lang') || navigator.language.substr(0, 2).toLowerCase() - lang = !messages[locale] ? 'en' : locale -} - -const dateTimeFormats = { - en: { - long: { - year: 'numeric', - month: 'long', - day: 'numeric', - weekday: 'long', - hour: 'numeric', - minute: 'numeric', - hour12: true - } - }, - es: { - long: { - year: 'numeric', - month: 'long', - day: 'numeric', - hour: 'numeric', - minute: 'numeric' - } - }, - fr: { - long: { - year: 'numeric', - month: 'long', - day: 'numeric', - hour: 'numeric', - minute: 'numeric' - } - }, - ru: { - long: { - year: 'numeric', - month: 'long', - day: 'numeric', - hour: 'numeric', - minute: 'numeric' - } - }, - tr: { - long: { - year: 'numeric', - month: 'long', - day: 'numeric', - hour: 'numeric', - minute: 'numeric' - } - }, - uk: { - long: { - year: 'numeric', - month: 'long', - day: 'numeric', - hour: 'numeric', - minute: 'numeric' - } - }, - zh: { - long: { - year: 'numeric', - month: 'long', - day: 'numeric', - weekday: 'long', - hour: 'numeric', - minute: 'numeric', - hour12: true - } - } -} - -const numberFormats = { - en: { - compact: { - notation: 'compact' - } - }, - es: { - compact: { - notation: 'compact' - } - }, - fr: { - compact: { - notation: 'compact' - } - }, - ru: { - compact: { - notation: 'compact' - } - }, - tr: { - compact: { - notation: 'compact' - } - }, - uk: { - compact: { - notation: 'compact' - } - }, - zh: { - compact: { - notation: 'compact' - } - } -} - -function slavicPluralization(choice, choicesLength) { - /** - * @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)` - * @param choicesLength {number} an overall amount of available choices - * @returns a final choice index to select plural word by - */ - - if (choice === 0) { - return 0 - } - - const teen = choice > 10 && choice < 20 - const endsWithOne = choice % 10 === 1 - - if (choicesLength < 4) { - return !teen && endsWithOne ? 1 : 2 - } - if (!teen && endsWithOne) { - return 1 - } - if (!teen && choice % 10 >= 2 && choice % 10 <= 4) { - return 2 - } - - return choicesLength < 4 ? 2 : 3 -} - -const pluralizationRules = { - ru: slavicPluralization, - uk: slavicPluralization -} - -// Create VueI18n instance with options -export default ({ app, route, store }) => { - app.i18n = new VueI18n({ - locale: lang, - fallbackLocale: 'en', - messages, - silentFallbackWarn: true, - dateTimeFormats, - numberFormats, - pluralizationRules - }) - - if (lang === 'zh') { - lang += '-cn' - } - - app.$moment.locale(lang) - app.$numbro.setLanguage(LOCALES_NAMES[lang]) -} diff --git a/plugins/idb.js b/plugins/idb.js deleted file mode 100644 index 38e6292..0000000 --- a/plugins/idb.js +++ /dev/null @@ -1,307 +0,0 @@ -import { openDB, deleteDB } from 'idb' - -import networkConfig from '@/networkConfig' -import { INDEX_DB_ERROR } from '@/constants' - -// TODO method for migration, remove indexed -class IndexedDB { - constructor({ stores, dbName }) { - this.dbExists = false - this.isBlocked = false - - this.options = { - upgrade(db) { - Object.values(db.objectStoreNames).forEach((value) => { - db.deleteObjectStore(value) - }) - - stores.forEach(({ name, keyPath, indexes }) => { - const store = db.createObjectStore(name, { - keyPath, - autoIncrement: true - }) - - if (Array.isArray(indexes)) { - indexes.forEach(({ name, unique = false }) => { - store.createIndex(name, name, { unique }) - }) - } - }) - } - } - - this.dbName = dbName - } - - async initDB() { - try { - if (this.dbExists) { - return - } - - this.db = await openDB(this.dbName, 34, this.options) // version (optional): Schema version, or undefined to open the current version. - this.onEventHandler() - - this.dbExists = true - } catch (err) { - // need for private mode firefox browser - if (err.message.includes(INDEX_DB_ERROR)) { - this.isBlocked = true - return - } - - if (err.message.includes('less than the existing version')) { - await this._removeExist() - } - - console.error(`Method initDB has error: ${err.message}`) - } - } - - onEventHandler() { - this.db.addEventListener('onupgradeneeded', async () => { - await this._removeExist() - }) - } - - async _removeExist() { - await deleteDB(this.dbName) - this.dbExists = false - - await this.initDB() - } - - async getFromIndex(params) { - if (this.isBlocked) { - return undefined - } - - try { - return await this._getFromIndex(params) - } catch (err) { - return undefined - } - } - - async _getFromIndex({ storeName, indexName, key }) { - try { - const value = await this.db.getFromIndex(storeName, indexName, key) - return value - } catch (err) { - throw new Error(`Method getFromIndex has error: ${err.message}`) - } - } - - async getAllFromIndex(params) { - if (this.isBlocked) { - return [] - } - - try { - return await this._getAllFromIndex(params) - } catch (err) { - return [] - } - } - - async _getAllFromIndex({ storeName, indexName, key, count }) { - try { - const value = await this.db.getAllFromIndex(storeName, indexName, key, count) - return value - } catch (err) { - throw new Error(`Method getAllFromIndex has error: ${err.message}`) - } - } - - async getItem({ storeName, key }) { - if (this.isBlocked) { - return undefined - } - - try { - const store = this.db.transaction(storeName).objectStore(storeName) - - const value = await store.get(key) - return value - } catch (err) { - throw new Error(`Method getItem has error: ${err.message}`) - } - } - - async addItem({ storeName, data, key = '' }) { - if (this.isBlocked) { - return - } - - try { - const tx = this.db.transaction(storeName, 'readwrite') - const isExist = await tx.objectStore(storeName).get(key) - - if (!isExist) { - await tx.objectStore(storeName).add(data) - } - } catch (err) { - throw new Error(`Method addItem has error: ${err.message}`) - } - } - - async putItem({ storeName, data }) { - if (this.isBlocked) { - return - } - - try { - const tx = this.db.transaction(storeName, 'readwrite') - await tx.objectStore(storeName).put(data) - } catch (err) { - throw new Error(`Method putItem has error: ${err.message}`) - } - } - - async getAll({ storeName }) { - if (this.isBlocked) { - return [] - } - - try { - const tx = this.db.transaction(storeName, 'readonly') - const store = tx.objectStore(storeName) - - const data = await store.getAll() - return data - } catch (err) { - throw new Error(`Method getAll has error: ${err.message}`) - } - } - - async clearStore({ storeName, mode = 'readwrite' }) { - if (this.isBlocked) { - return - } - - try { - const tx = this.db.transaction(storeName, mode) - - await tx.objectStore(storeName).clear() - } catch (err) { - throw new Error(`Method clearStore has error: ${err.message}`) - } - } - - async createTransactions({ storeName, data, mode = 'readwrite' }) { - if (this.isBlocked) { - return - } - - try { - const tx = this.db.transaction(storeName, mode) - - await tx.objectStore(storeName).add(data) - await tx.done - } catch (err) { - throw new Error(`Method createTransactions has error: ${err.message}`) - } - } - - createMultipleTransactions({ storeName, data, index, mode = 'readwrite' }) { - if (this.isBlocked) { - return - } - - try { - const tx = this.db.transaction(storeName, mode) - - data.map((item) => { - if (item) { - tx.store.put({ ...item, ...index }) - } - }) - } catch (err) { - throw new Error(`Method createMultipleTransactions has error: ${err.message}`) - } - } -} - -export default async (ctx, inject) => { - const instances = new Map() - - const DEPOSIT_INDEXES = [ - { name: 'transactionHash', unique: false }, - { name: 'commitment', unique: true } - ] - const WITHDRAWAL_INDEXES = [ - { name: 'nullifierHash', unique: true } // keys on which the index is created - ] - const LAST_EVENT_INDEXES = [{ name: 'name', unique: false }] - - const defaultState = [ - { - name: 'encrypted_events', - keyPath: 'transactionHash' - }, - { - name: 'lastEvents', - keyPath: 'name', - indexes: LAST_EVENT_INDEXES - } - ] - - for (const key of Object.keys(networkConfig)) { - const { tokens, nativeCurrency } = networkConfig[key] - - const netId = Number(key.replace('netId', '')) - - const stores = [...defaultState] - - if (netId === 1) { - stores.push({ - name: 'register_events', - keyPath: 'ensName' - }) - } - - Object.keys(tokens).forEach((token) => { - Object.keys(tokens[token].instanceAddress).forEach((amount) => { - if (nativeCurrency === token && netId === 1) { - stores.push({ - name: `stringify_bloom_${token}_${amount}`, - keyPath: 'hashBloom' - }) - } - - stores.push( - { - name: `deposits_${token}_${amount}`, - keyPath: 'leafIndex', // the key by which it refers to the object must be in all instances of the storage - indexes: DEPOSIT_INDEXES - }, - { - name: `withdrawals_${token}_${amount}`, - keyPath: 'blockNumber', - indexes: WITHDRAWAL_INDEXES - }, - { - name: `stringify_tree_${token}_${amount}`, - keyPath: 'hashTree' - } - ) - }) - }) - - const options = { - stores, - dbName: `tornado_cash_${netId}` - } - - const instance = new IndexedDB(options) - - instances.set(options.dbName, instance) - - await instance.initDB() - } - - const getInstance = (netId) => instances.get(`tornado_cash_${netId}`) - - ctx.$indexedDB = getInstance - inject('indexedDB', getInstance) -} diff --git a/plugins/ipfs.js b/plugins/ipfs.js deleted file mode 100644 index 53ebd43..0000000 --- a/plugins/ipfs.js +++ /dev/null @@ -1,17 +0,0 @@ -/* eslint-disable camelcase, no-undef */ -export default (context, inject) => { - const ipfsPathRegExp = /^(\/(?:ipfs|ipns)\/[^/]+)/ - const ipfsPathPrefix = (window.location.pathname.match(ipfsPathRegExp) || [])[1] || '' - - console.log('plugin __webpack_public_path__', __webpack_public_path__) - - if (ipfsPathPrefix) { - __webpack_public_path__ = ipfsPathPrefix + '/_nuxt/' - - if (typeof window !== 'undefined') { - context.app.router.history.base = ipfsPathPrefix || window.location.host - } - } - - console.log('plugin __webpack_public_path__', __webpack_public_path__) -} diff --git a/plugins/localStorage.js b/plugins/localStorage.js deleted file mode 100644 index 1a5b2ca..0000000 --- a/plugins/localStorage.js +++ /dev/null @@ -1,43 +0,0 @@ -/* eslint-disable no-console */ -// ~/plugins/localStorage.js -import createPersistedState from 'vuex-persistedstate' - -import { isStorageAvailable } from '@/utils' - -const { OLD_STORE_NAME, STORE_NAME = 'tornadoClassicV2' } = process.env - -function migrate() { - if (isStorageAvailable('localStorage') && OLD_STORE_NAME !== STORE_NAME) { - const oldStore = localStorage[OLD_STORE_NAME] - if (oldStore) { - localStorage.setItem(STORE_NAME, oldStore) - localStorage.removeItem(OLD_STORE_NAME) - } - } -} - -export default ({ store, isHMR }) => { - if (isHMR) { - return - } - - if (!store.$isLoadedFromIPFS()) { - const paths = [ - 'metamask.netId', - 'application.selectedStatistic', - 'application.selectedInstance', - 'txHashKeeper', - 'settings', - 'account', - 'relayer.jobs', - 'encryptedNote.ui' - ] - - migrate() - - createPersistedState({ - key: STORE_NAME, - paths - })(store) - } -} diff --git a/plugins/numbro/languages/index.js b/plugins/numbro/languages/index.js deleted file mode 100644 index f3a1026..0000000 --- a/plugins/numbro/languages/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import ru from './ru' -import uk from './uk' -import zh from './zh' - -export const locales = [ru, uk, zh] diff --git a/plugins/numbro/languages/ru.js b/plugins/numbro/languages/ru.js deleted file mode 100644 index 5df42b6..0000000 --- a/plugins/numbro/languages/ru.js +++ /dev/null @@ -1,53 +0,0 @@ -module.exports = { - languageTag: 'ru-RU', - delimiters: { - thousands: ' ', - decimal: ',' - }, - abbreviations: { - thousand: 'k', - million: 'm', - billion: 'b', - trillion: 't' - }, - ordinal() { - // not ideal, but since in Russian it can taken on - // different forms (masculine, feminine, neuter) - // this is all we can do - return '.' - }, - currency: { - symbol: 'руб.', - position: 'postfix', - code: 'RUB' - }, - currencyFormat: { - thousandSeparated: true, - totalLength: 4, - spaceSeparated: true, - average: true - }, - formats: { - fourDigits: { - totalLength: 4, - spaceSeparated: true, - average: true - }, - fullWithTwoDecimals: { - output: 'currency', - mantissa: 2, - spaceSeparated: true, - thousandSeparated: true - }, - fullWithTwoDecimalsNoCurrency: { - mantissa: 2, - thousandSeparated: true - }, - fullWithNoDecimals: { - output: 'currency', - spaceSeparated: true, - thousandSeparated: true, - mantissa: 0 - } - } -} diff --git a/plugins/numbro/languages/uk.js b/plugins/numbro/languages/uk.js deleted file mode 100644 index ddbffd3..0000000 --- a/plugins/numbro/languages/uk.js +++ /dev/null @@ -1,53 +0,0 @@ -module.exports = { - languageTag: 'uk-UA', - delimiters: { - thousands: ' ', - decimal: ',' - }, - abbreviations: { - thousand: 'k', - million: 'm', - billion: 'b', - trillion: 't' - }, - ordinal: () => { - // not ideal, but since in Ukrainian it can taken on - // different forms (masculine, feminine, neuter) - // this is all we can do - return '' - }, - currency: { - symbol: '\u20B4', - position: 'postfix', - code: 'UAH' - }, - currencyFormat: { - thousandSeparated: true, - totalLength: 4, - spaceSeparated: true, - average: true - }, - formats: { - fourDigits: { - totalLength: 4, - spaceSeparated: true, - average: true - }, - fullWithTwoDecimals: { - output: 'currency', - mantissa: 2, - spaceSeparated: true, - thousandSeparated: true - }, - fullWithTwoDecimalsNoCurrency: { - mantissa: 2, - thousandSeparated: true - }, - fullWithNoDecimals: { - output: 'currency', - spaceSeparated: true, - thousandSeparated: true, - mantissa: 0 - } - } -} diff --git a/plugins/numbro/languages/zh.js b/plugins/numbro/languages/zh.js deleted file mode 100644 index 5ebac49..0000000 --- a/plugins/numbro/languages/zh.js +++ /dev/null @@ -1,47 +0,0 @@ -module.exports = { - languageTag: 'zh-CN', - delimiters: { - thousands: ',', - decimal: '.' - }, - abbreviations: { - thousand: '千', - million: '百万', - billion: '十亿', - trillion: '兆' - }, - ordinal() { - return '.' - }, - currency: { - symbol: '¥', - position: 'prefix', - code: 'CNY' - }, - currencyFormat: { - thousandSeparated: true, - totalLength: 4, - spaceSeparated: true, - average: true - }, - formats: { - fourDigits: { - totalLength: 4, - spaceSeparated: true, - average: true - }, - fullWithTwoDecimals: { - thousandSeparated: true, - mantissa: 2 - }, - fullWithTwoDecimalsNoCurrency: { - mantissa: 2, - thousandSeparated: true - }, - fullWithNoDecimals: { - output: 'currency', - thousandSeparated: true, - mantissa: 0 - } - } -} diff --git a/plugins/numbro/numbro.js b/plugins/numbro/numbro.js deleted file mode 100644 index b62956a..0000000 --- a/plugins/numbro/numbro.js +++ /dev/null @@ -1,10 +0,0 @@ -import numbro from 'numbro' -import { locales } from './languages' - -export default (ctx, inject) => { - locales.forEach((lang) => { - numbro.registerLanguage(lang) - }) - ctx.$numbro = numbro - inject('numbro', numbro) -} diff --git a/plugins/preventMultitabs.js b/plugins/preventMultitabs.js deleted file mode 100644 index 81f0b61..0000000 --- a/plugins/preventMultitabs.js +++ /dev/null @@ -1,36 +0,0 @@ -/* eslint-disable no-console */ -export default ({ store, isHMR, app }, inject) => { - inject('preventMultitabs', main) -} -function main(store) { - const id = Date.now() - window.id = id - window.localStorage.setItem('firstTab', id) - - const onLocalStorageEvent = function(e) { - // the second tab will write its id to this key. The first one will notice it - if (e.key === 'firstTab') { - const newID = Date.now() - console.log('Another tab detected. Setting the new page id', newID) - setTimeout(() => { - window.localStorage.secondTab = newID // this is going to be a message for the second tab - }, 200) - } - - // the second tab proccesses the message - if (e.key === 'secondTab' && window.id.toString() === window.localStorage.firstTab) { - console.log('There is another tab that already opened. We will close this one') - window.multipleTabsDetected = true - window.onbeforeunload = null - window.alert( - 'Multiple tabs opened. Your page will be closed. Please only use single instance of https://tornado.cash' - ) - window.location = 'https://twitter.com/tornadocash' - } - } - - // this event will only trigger when a window other than itself makes changes to local storage. - setTimeout(() => { - window.addEventListener('storage', onLocalStorageEvent, false) - }, 100) -} diff --git a/plugins/sessionStorage.js b/plugins/sessionStorage.js deleted file mode 100644 index 4c7298d..0000000 --- a/plugins/sessionStorage.js +++ /dev/null @@ -1,76 +0,0 @@ -import { soliditySha3 } from 'web3-utils' - -let isSessionStorageEnabled = null - -try { - window.sessionStorage.setItem('test', 'test') - window.sessionStorage.removeItem('test') - isSessionStorageEnabled = true -} catch (e) { - isSessionStorageEnabled = false -} - -const setItem = (key, value) => { - if (isSessionStorageEnabled) { - window.sessionStorage.setItem( - soliditySha3(key), - JSON.stringify({ - data: value, - timeStamp: Date.now() - }) - ) - } -} - -const getItem = (key) => { - if (isSessionStorageEnabled) { - const value = window.sessionStorage.getItem(soliditySha3(key)) - - try { - return JSON.parse(String(value)) - } catch (err) { - return value - } - } - return undefined -} - -const removeItem = (key) => { - if (isSessionStorageEnabled) { - return window.sessionStorage.removeItem(soliditySha3(key)) - } -} - -const clear = () => { - if (isSessionStorageEnabled) { - window.sessionStorage.clear() - } -} - -const subscribe = (key, originalListener) => { - const listener = (event) => { - if (event.storageArea === window.sessionStorage && event.key === key) { - originalListener(event.newValue, event.oldValue) - } - } - window.addEventListener('storage', listener, false) - return listener -} - -const unsubscribe = (listener) => { - window.removeEventListener('storage', listener, false) -} - -export default (ctx, inject) => { - const sessionStorage = { - setItem, - getItem, - removeItem, - clear, - subscribe, - unsubscribe - } - - ctx.$sessionStorage = sessionStorage - inject('sessionStorage', sessionStorage) -} diff --git a/plugins/vidle.js b/plugins/vidle.js deleted file mode 100644 index 7e3c28a..0000000 --- a/plugins/vidle.js +++ /dev/null @@ -1,4 +0,0 @@ -import Vue from 'vue' -import Vidle from 'v-idle' - -Vue.use(Vidle) diff --git a/scripts/checkEventsSync.js b/scripts/checkEventsSync.js deleted file mode 100644 index 4b7997d..0000000 --- a/scripts/checkEventsSync.js +++ /dev/null @@ -1,54 +0,0 @@ -import networkConfig from '../networkConfig' -import ABI from '../abis/Instance.abi.json' -import { loadCachedEvents, getPastEvents } from './helpers' - -const EVENTS_PATH = './static/events/' -const enabledChains = ['1', '56', '100', '137' ] - -async function main() { - for (let network in enabledChains) { - const netId = enabledChains[network] - const config = networkConfig[`netId${netId}`] - const { constants, tokens, nativeCurrency, deployedBlock } = config - const CONTRACTS = tokens[nativeCurrency].instanceAddress - - console.log(`\n ::: ${netId} [${nativeCurrency.toUpperCase()}] :::`) - - for (const [instance, _contract] of Object.entries(CONTRACTS)) { - console.log(`\n instanceDenomation - ${instance}`) - - const withdrawalCachedEvents = await loadCachedEvents({ - name: `withdrawals_${nativeCurrency}_${instance}.json`, - directory: EVENTS_PATH, - deployedBlock - }) - - console.log('- Withdrawals') - console.log('cachedEvents count - ', withdrawalCachedEvents.events.length) - console.log('lastBlock - ', withdrawalCachedEvents.lastBlock) - - const depositCachedEvents = await loadCachedEvents({ - name: `withdrawals_${nativeCurrency}_${instance}.json`, - directory: EVENTS_PATH, - deployedBlock - }) - - console.log('- Deposits') - console.log('cachedEvents count - ', depositCachedEvents.events.length) - console.log('lastBlock - ', depositCachedEvents.lastBlock) - - const notesCachedEvents = await loadCachedEvents({ - name: `encrypted_notes_${netId}.json`, - directory: EVENTS_PATH, - deployedBlock: constants.ENCRYPTED_NOTES_BLOCK - }) - - console.log('- Notes') - console.log('cachedEvents count - ', notesCachedEvents.events.length) - console.log('lastBlock - ', notesCachedEvents.lastBlock) - - } - } -} - -main() diff --git a/scripts/helpers/download.js b/scripts/helpers/download.js deleted file mode 100644 index 9639de7..0000000 --- a/scripts/helpers/download.js +++ /dev/null @@ -1,91 +0,0 @@ -import fs from 'fs' -import zlib from 'zlib' -import Web3 from 'web3' - -import networkConfig from '../../networkConfig' - -export async function download({ name, directory, contentType }) { - const path = `${directory}${name}.gz`.toLowerCase() - - const data = fs.readFileSync(path) - const content = zlib.inflateSync(data) - - return content -} - -export async function loadCachedEvents({ name, directory, deployedBlock }) { - try { - const module = await download({ contentType: 'string', directory, name }) - - if (module) { - const events = JSON.parse(module) - - return { - events, - lastBlock: events[events.length - 1].blockNumber - } - } - } catch (err) { - console.error(`Method loadCachedEvents has error: ${err.message}`) - return { - events: [], - lastBlock: deployedBlock - } - } -} - -export async function getPastEvents({ type, fromBlock, netId, events, contractAttrs }) { - let downloadedEvents = events - - let [{ url: rpcUrl }] = Object.values(networkConfig[`netId${netId}`].rpcUrls) - - if (netId === '5') { - rpcUrl = 'https://goerli.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161' - } - - const provider = new Web3.providers.HttpProvider(rpcUrl) - const web3 = new Web3(provider) - const contract = new web3.eth.Contract(...contractAttrs) - - const currentBlockNumber = await web3.eth.getBlockNumber() - // PoS networks index blocks too fast, so a buffer is needed - const blockNumberBuffer = currentBlockNumber - 3 - const blockDifference = Math.ceil(blockNumberBuffer - fromBlock) - - // eth_logs and eth_filter are restricted > 10,000 block queries - const blockRange = 10000 - - let chunksCount = blockDifference === 0 ? 1 : Math.ceil(blockDifference / blockRange) - const chunkSize = Math.ceil(blockDifference / chunksCount) - - let toBlock = fromBlock + chunkSize - - if (fromBlock < currentBlockNumber) { - if (toBlock >= currentBlockNumber) { - toBlock = currentBlockNumber - chunksCount = 1 - } - - console.log(`Fetching ${type}, chainId - ${netId}`, `chunksCount - ${chunksCount}`) - for (let i = 0; i < chunksCount; i++) - try { - await new Promise((resolve) => setTimeout(resolve, 200)) - - console.log(`fromBlock - ${fromBlock}`) - console.log(`toBlock - ${toBlock}`) - - const eventsChunk = await contract.getPastEvents(type, { fromBlock, toBlock }) - - if (eventsChunk) { - downloadedEvents = downloadedEvents.concat(eventsChunk) - console.log('downloaded events count - ', eventsChunk.length) - console.log('____________________________________________') - } - fromBlock = toBlock - toBlock += chunkSize - } catch (err) { - console.log('getPastEvents events', `chunk number - ${i}, has error: ${err.message}`) - } - } - return downloadedEvents -} diff --git a/scripts/helpers/index.js b/scripts/helpers/index.js deleted file mode 100644 index 089c291..0000000 --- a/scripts/helpers/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { download, loadCachedEvents, getPastEvents } from './download' -export { save } from './save' diff --git a/scripts/helpers/save.js b/scripts/helpers/save.js deleted file mode 100644 index 3124a38..0000000 --- a/scripts/helpers/save.js +++ /dev/null @@ -1,23 +0,0 @@ -import fs from 'fs' -import zlib from 'zlib' - -export async function save(filePath) { - const directories = filePath.split('/') - const fileName = directories[directories.length - 1] - - try { - const data = fs.readFileSync(`${filePath}`) - - const payload = await zlib.deflateSync(data, { - level: zlib.constants.Z_BEST_COMPRESSION, - strategy: zlib.constants.Z_FILTERED - }) - - fs.writeFileSync(`${filePath}.gz`, payload) - - return true - } catch (err) { - console.log('on save error', filePath, err.message) - return false - } -} diff --git a/scripts/ipfsUpload.js b/scripts/ipfsUpload.js deleted file mode 100644 index 0f53d37..0000000 --- a/scripts/ipfsUpload.js +++ /dev/null @@ -1,75 +0,0 @@ -// debug -// date +%s > dist/index.html & node ipfsUpload.js - -require('dotenv').config() -const fs = require('fs') -const axios = require('axios') -const FormData = require('form-data') -const recursive = require('recursive-fs') -const basePathConverter = require('base-path-converter') - -// it's dangerous to set MAX_PINS to 1 -const MAX_PINS = 5 - -const baseUrl = `https://api.pinata.cloud` -const src = process.argv[2] || './dist' -const headers = { - pinata_api_key: process.env.PINATA_API_KEY, - pinata_secret_api_key: process.env.PINATA_SECRET_API_KEY -} - -async function removeOldPins() { - const maxPins = MAX_PINS - 1 - - const res = await axios.get(`${baseUrl}/data/pinList?pageOffset=${maxPins}&status=pinned`, { - headers - }) - - const { count, rows } = res.data - - if (count && count > maxPins) { - for (const { ipfs_pin_hash: ipfsPinHash } of rows) { - await axios.delete(`${baseUrl}/pinning/unpin/${ipfsPinHash}`, { - headers - }) - console.log(`Successfully removed pin: ${ipfsPinHash}`) - } - } -} - -async function pinBuild() { - console.log('Make sure you have latest build. Run `npm run generate` if necessary.') - const { files } = await recursive.readdirr(src) - const data = new FormData() - files.forEach((file) => { - // for each file stream, we need to include the correct relative file path - data.append(`file`, fs.createReadStream(file), { - filepath: basePathConverter(src, file) - }) - }) - - const res = await axios.post(`${baseUrl}/pinning/pinFileToIPFS`, data, { - maxContentLength: 'Infinity', // this is needed to prevent axios from erroring out with large directories - headers: { - 'Content-Type': `multipart/form-data; boundary=${data._boundary}`, - ...headers - } - }) - - const ipfsHash = res.data.IpfsHash - - console.log(`Your site is ready! IPFS hash: ${ipfsHash}`) - console.log(`output for github-actions:`) - console.log(`::set-output name=ipfs_hash::${ipfsHash}`) - console.log(`https://gateway.pinata.cloud/ipfs/${ipfsHash}`) -} - -async function main() { - await removeOldPins() - await pinBuild() -} - -main().catch((e) => { - console.log(e) - process.exit(1) -}) diff --git a/scripts/updateEncryptedEvents.js b/scripts/updateEncryptedEvents.js deleted file mode 100644 index 200badc..0000000 --- a/scripts/updateEncryptedEvents.js +++ /dev/null @@ -1,72 +0,0 @@ -import 'dotenv/config' - -import fs from 'fs' -import { uniqBy } from 'lodash' - -import networkConfig from '../networkConfig' -import ABI from '../abis/TornadoProxy.abi.json' -import { getPastEvents, loadCachedEvents } from './helpers' - -const EVENTS_PATH = './static/events/' -const enabledChains = ['1', '5', '56', '100', '137'] - -async function saveEncryptedNote(netId) { - const { - constants, - 'tornado-proxy.contract.tornadocash.eth': tornadoProxy, - 'tornado-router.contract.tornadocash.eth': tornadoRouter, - 'tornado-proxy-light.contract.tornadocash.eth': lightProxy - } = networkConfig[`netId${netId}`] - - const contractAddress = tornadoRouter || tornadoProxy || lightProxy - - let encryptedEvents = [] - const name = `encrypted_notes_${netId}.json` - - const cachedEvents = await loadCachedEvents({ - name, - directory: EVENTS_PATH, - deployedBlock: constants.ENCRYPTED_NOTES_BLOCK - }) - - console.log('cachedEvents', cachedEvents.events.length) - - encryptedEvents = await getPastEvents({ - netId, - type: 'EncryptedNote', - events: encryptedEvents, - fromBlock: cachedEvents.lastBlock + 1, - contractAttrs: [ABI, contractAddress] - }) - - console.log('Encrypted note', netId, encryptedEvents.length) - - encryptedEvents = encryptedEvents.reduce((acc, curr) => { - if (curr.returnValues.encryptedNote) { - acc.push({ - txHash: curr.transactionHash, - blockNumber: Number(curr.blockNumber), - encryptedNote: curr.returnValues.encryptedNote - }) - } - return acc - }, []) - - let freshEvents = cachedEvents.events.concat(encryptedEvents) - - freshEvents = uniqBy(freshEvents, 'encryptedNote').sort((a, b) => b.blockNumber - a.blockNumber) - - const eventsJson = JSON.stringify(freshEvents, null, 2) + '\n' - fs.writeFileSync(`${EVENTS_PATH}${name}`, eventsJson) -} - -async function main() { - const [, , , chain] = process.argv - if (!enabledChains.includes(chain)) { - throw new Error(`Supported chain ids ${enabledChains.join(', ')}`) - } - - await saveEncryptedNote(chain) -} - -main() diff --git a/scripts/updateEvents.js b/scripts/updateEvents.js deleted file mode 100644 index 13cb3be..0000000 --- a/scripts/updateEvents.js +++ /dev/null @@ -1,88 +0,0 @@ -import 'dotenv/config' - -import fs from 'fs' -import { uniqBy } from 'lodash' - -import networkConfig from '../networkConfig' -import ABI from '../abis/Instance.abi.json' -import { loadCachedEvents, getPastEvents } from './helpers' - -const EVENTS_PATH = './static/events/' -const EVENTS = ['Deposit', 'Withdrawal'] -const enabledChains = ['1', '56', '100', '137' ] - -async function main(type, netId) { - const { tokens, nativeCurrency, deployedBlock } = networkConfig[`netId${netId}`] - const CONTRACTS = tokens[nativeCurrency].instanceAddress - - for (const [instance, _contract] of Object.entries(CONTRACTS)) { - const cachedEvents = await loadCachedEvents({ - name: `${type.toLowerCase()}s_${nativeCurrency}_${instance}.json`, - directory: EVENTS_PATH, - deployedBlock - }) - - console.log('cachedEvents count - ', cachedEvents.events.length) - console.log('lastBlock - ', cachedEvents.lastBlock) - - let events = [] - - events = await getPastEvents({ - type, - netId, - events, - contractAttrs: [ABI, _contract], - fromBlock: cachedEvents.lastBlock + 1 - }) - - if (type === 'Deposit') { - events = events.map(({ blockNumber, transactionHash, returnValues }) => { - const { commitment, leafIndex, timestamp } = returnValues - return { - timestamp, - commitment, - blockNumber, - transactionHash, - leafIndex: Number(leafIndex) - } - }) - } - - if (type === 'Withdrawal') { - events = events.map(({ blockNumber, transactionHash, returnValues }) => { - const { nullifierHash, to, fee } = returnValues - return { - to, - fee, - blockNumber, - nullifierHash, - transactionHash - } - }) - } - - let freshEvents = cachedEvents.events.concat(events) - - if (type === 'Withdrawal') { - freshEvents = uniqBy(freshEvents, 'nullifierHash').sort((a, b) => a.blockNumber - b.blockNumber) - } else { - freshEvents = freshEvents.filter((e, index) => Number(e.leafIndex) === index) - } - - const eventsJson = JSON.stringify(freshEvents, null, 2) + '\n' - fs.writeFileSync(`${EVENTS_PATH}${type.toLowerCase()}s_${nativeCurrency}_${instance}.json`, eventsJson) - } -} - -async function start() { - const [, , , chain] = process.argv - if (!enabledChains.includes(chain)) { - throw new Error(`Supported chain ids ${enabledChains.join(', ')}`) - } - - for await (const event of EVENTS) { - await main(event, chain) - } -} - -start() diff --git a/scripts/updateTree.js b/scripts/updateTree.js deleted file mode 100644 index 1100422..0000000 --- a/scripts/updateTree.js +++ /dev/null @@ -1,149 +0,0 @@ -import 'dotenv/config' - -import fs from 'fs' -import BloomFilter from 'bloomfilter.js' -import { MerkleTree } from 'fixed-merkle-tree' -import { buildMimcSponge } from 'circomlibjs' - -import networkConfig from '../networkConfig' - -import { loadCachedEvents, save } from './helpers' - -const TREES_FOLDER = 'static/trees' -const TREES_PATH = './static/trees/' -const EVENTS_PATH = './static/events/' - -const EVENTS = ['deposit'] -const enabledChains = ['1', '56', '100', '137' ] -let mimcHash - -const trees = { - PARTS_COUNT: 4, - LEVELS: 20 // const from contract -} - -function getName({ path, type, instance, format = '.json', currName = 'eth' }) { - return `${path}${type.toLowerCase()}s_${currName}_${instance}${format}` -} - -function createTreeZip(netId) { - try { - const { tokens, nativeCurrency, currencyName } = networkConfig[`netId${netId}`] - const CONTRACTS = tokens[nativeCurrency].instanceAddress - - for (const type of EVENTS) { - for (const [instance] of Object.entries(CONTRACTS)) { - const baseFilename = getName({ - type, - instance, - format: '', - path: TREES_PATH, - currName: currencyName.toLowerCase() - }) - - const treesFolder = fs.readdirSync(TREES_FOLDER) - - treesFolder.forEach((fileName) => { - fileName = `${TREES_PATH}${fileName}` - const isInstanceFile = !fileName.includes('.gz') && fileName.includes(baseFilename) - - if (isInstanceFile) { - save(fileName) - } - }) - } - } - } catch {} -} - -async function createTree(netId) { - try { - const config = networkConfig[`netId${netId}`] - const { nativeCurrency, currencyName, deployedBlock } = config - const CONTRACTS = config.tokens[nativeCurrency].instanceAddress - - for (const type of EVENTS) { - for (const [instance] of Object.entries(CONTRACTS)) { - const filePath = getName({ - type, - instance, - format: '', - path: TREES_PATH, - currName: currencyName.toLowerCase() - }) - - console.log('createTree', { type, instance }) - - const { events } = await loadCachedEvents({ - name: `${type}s_${nativeCurrency}_${instance}.json`, - directory: EVENTS_PATH, - deployedBlock - }) - - console.log('events', events.length) - - const bloom = new BloomFilter(events.length) // to reduce the number of false positives - - const eventsData = events.reduce( - (acc, { leafIndex, commitment, ...rest }, i) => { - if (leafIndex !== i) { - throw new Error(`leafIndex (${leafIndex}) !== i (${i})`) - } - - const leave = commitment.toString() - acc.leaves.push(leave) - acc.metadata[leave] = { ...rest, leafIndex } - - return acc - }, - { leaves: [], metadata: {} } - ) - - console.log('leaves', eventsData.leaves.length) - - const tree = new MerkleTree(trees.LEVELS, eventsData.leaves, { - zeroElement: '21663839004416932945382355908790599225266501822907911457504978515578255421292', - hashFunction: mimcHash - }) - - const slices = tree.getTreeSlices(trees.PARTS_COUNT) // [edge(PARTS_COUNT)] - - slices.forEach((slice, index) => { - slice.metadata = slice.elements.reduce((acc, curr) => { - if (index < trees.PARTS_COUNT - 1) { - bloom.add(curr) - } - acc.push(eventsData.metadata[curr]) - return acc - }, []) - - const sliceJson = JSON.stringify(slice, null, 2) + '\n' - fs.writeFileSync(`${filePath}_slice${index + 1}.json`, sliceJson) - }) - - const bloomCache = bloom.serialize() - fs.writeFileSync(`${filePath}_bloom.json`, bloomCache) - } - } - } catch (e) { - console.error(e.message) - } -} - -async function initMimc() { - const mimcSponge = await buildMimcSponge() - mimcHash = (left, right) => mimcSponge.F.toString(mimcSponge.multiHash([BigInt(left), BigInt(right)])) -} - -async function main() { - const [, , , chain] = process.argv - if (!enabledChains.includes(chain)) { - throw new Error(`Supported chain ids ${enabledChains.join(', ')}`) - } - await initMimc() - - await createTree(chain) - await createTreeZip(chain) -} - -main() diff --git a/scripts/updateZip.js b/scripts/updateZip.js deleted file mode 100644 index 188357d..0000000 --- a/scripts/updateZip.js +++ /dev/null @@ -1,69 +0,0 @@ -import { uniqBy } from 'lodash' - -import networkConfig from '../networkConfig' -import { loadCachedEvents, save } from './helpers' - -const EVENTS_PATH = './static/events/' -const EVENTS = ['Deposit', 'Withdrawal'] - -function updateEncrypted(netId) { - try { - const file = `${EVENTS_PATH}encrypted_notes_${netId}.json` - - save(file) - } catch {} -} -async function updateCommon(netId) { - const { nativeCurrency, tokens } = networkConfig[`netId${netId}`] - - console.log(Object.keys(tokens[nativeCurrency].instanceAddress)) - for await (const type of EVENTS) { - for await (const instance of Object.keys(tokens[nativeCurrency].instanceAddress)) { - console.warn('instance', instance) - const filename = `${type.toLowerCase()}s_${nativeCurrency}_${instance}.json` - const isSaved = save(`${EVENTS_PATH}${filename}`) - if (isSaved) { - try { - await testCommon(netId, type, filename) - } catch (err) { - console.error(err.message) - } - } - } - } -} - -async function testCommon(netId, type, filename) { - const { deployedBlock } = networkConfig[`netId${netId}`] - - const cachedEvents = await loadCachedEvents({ - name: filename, - directory: EVENTS_PATH, - deployedBlock - }) - - console.log('cachedEvents', cachedEvents.events.length, type) - - let events = cachedEvents.events - if (type === 'Withdrawal') { - events = uniqBy(cachedEvents.events, 'nullifierHash') - } else if (type === 'Deposit') { - events = cachedEvents.events.filter((e, index) => Number(e.leafIndex) === index) - } - if (events.length !== cachedEvents.events.length) { - console.error('events.length', events.length) - console.error('cachedEvents.events.length', cachedEvents.events.length) - throw new Error(`Duplicates was detected in ${filename} (${events.length - cachedEvents.events.length})`) - } -} - -async function main() { - const NETWORKS = [1, 5, 56, 100, 137 ] - - for await (const netId of NETWORKS) { - updateEncrypted(netId) - await updateCommon(netId) - } -} - -main() diff --git a/services/bloom.js b/services/bloom.js deleted file mode 100644 index 143617b..0000000 --- a/services/bloom.js +++ /dev/null @@ -1,83 +0,0 @@ -import BloomFilter from 'bloomfilter.js' - -import { download } from '@/store/snark' - -class BloomService { - constructor({ netId, amount, commitment, instanceName, fileName, fileFolder }) { - this.amount = amount - this.fileFolder = fileFolder - this.commitment = commitment - this.instanceName = instanceName - this.fileName = `${fileFolder}/${fileName}` - - this.idb = window.$nuxt.$indexedDB(netId) - } - - async downloadBloom() { - const cachedBloom = await download({ - name: this.fileName, - contentType: 'string', - eventName: this.fileFolder - }) - - if (!cachedBloom) { - throw new Error('Cant download file') - } - - return BloomFilter.deserialize(cachedBloom) - } - - async getBloomFromDB() { - try { - const stringifyCachedBloom = await this.idb.getAll({ - storeName: `stringify_bloom_${this.instanceName}` - }) - - if (!stringifyCachedBloom || !stringifyCachedBloom.length) { - return undefined - } - - const [{ tree }] = stringifyCachedBloom - - return BloomFilter.deserialize(tree) - } catch (err) { - return undefined - } - } - - async getBloomFromCache() { - try { - const bloom = await this.downloadBloom() - await this.saveBloom({ bloom }) - - return bloom - } catch (err) { - return false - } - } - - async checkBloom() { - let cachedBloom = await this.getBloomFromDB() - if (!cachedBloom) { - cachedBloom = await this.getBloomFromCache() - } - return cachedBloom.test(this.commitment) - } - - async saveBloom({ bloom }) { - try { - await this.idb.putItem({ - storeName: `stringify_bloom_${this.instanceName}`, - data: { - hashBloom: '1', // need for replace bloom - tree: bloom.serialize() - }, - key: 'hashBloom' - }) - } catch (err) { - console.error('saveBloom has error:', err.message) - } - } -} - -export const bloomService = (payload) => new BloomService(payload) diff --git a/services/events.js b/services/events.js index 7d951f2..30c5b6c 100644 --- a/services/events.js +++ b/services/events.js @@ -4,8 +4,8 @@ import graph from '@/services/graph' import { download } from '@/store/snark' import networkConfig from '@/networkConfig' import InstanceABI from '@/abis/Instance.abi.json' -import { CONTRACT_INSTANCES, eventsType, httpConfig } from '@/constants' -import { sleep, flattenNArray, formatEvents, capitalizeFirstLetter } from '@/utils' +import { CONTRACT_INSTANCES, eventsType } from '@/constants' +import { sleep, formatEvents, capitalizeFirstLetter } from '@/utils' const supportedCaches = ['1', '56', '100', '137'] @@ -38,15 +38,6 @@ class EventService { return `${type}s_${this.currency}_${this.amount}` } - updateEventProgress(percentage, type) { - if (store) { - store.dispatch('loading/updateProgress', { - message: `Fetching past ${type} events`, - progress: Math.ceil(percentage * 100) - }) - } - } - async getEvents(type) { let cachedEvents = await this.getEventsFromDB(type) @@ -56,7 +47,6 @@ class EventService { return cachedEvents } - async updateEvents(type, cachedEvents) { const { deployedBlock } = networkConfig[`netId${this.netId}`] @@ -133,7 +123,7 @@ class EventService { const module = await download({ contentType: 'string', - name: `events/${instanceName}.json.gz` + name: `events/${instanceName}.json.zip` }) if (module) { @@ -163,6 +153,14 @@ class EventService { return undefined } + // IndexedDB scrambles assortment + savedEvents.sort((a, b) => { + if (a.leafIndex && b.leafIndex) { + return a.leafIndex - b.leafIndex + } + return a.blockNumber - b.blockNumber + }) + return { events: savedEvents, lastBlock: savedEvents[savedEvents.length - 1].blockNumber @@ -247,22 +245,7 @@ class EventService { } } - getPastEvents({ fromBlock, toBlock, type }) { - return new Promise((resolve, reject) => { - const repsonse = this.contract.getPastEvents(capitalizeFirstLetter(type), { - fromBlock, - toBlock - }) - - if (repsonse) { - resolve(repsonse) - } else { - reject(new Error()) - } - }) - } - - async getEventsPartFromRpc({ fromBlock, toBlock, type }, shouldRetry = false, i = 0) { + async getEventsPartFromRpc({ fromBlock, toBlock, type }) { try { const { currentBlockNumber } = await this.getBlocksDiff({ fromBlock }) @@ -273,27 +256,10 @@ class EventService { } } - let events = [] - - try { - events = await this.getPastEvents({ fromBlock, toBlock, type }) - } catch (e) { - if (shouldRetry) { - i = i + 1 - // maximum 10 second buffer for rate-limiting - await sleep(2000 * i) - - events = await this.getEventsPartFromRpc( - { - fromBlock, - toBlock, - type - }, - i !== 5, - i - ) - } - } + const events = await this.contract.getPastEvents(capitalizeFirstLetter(type), { + fromBlock, + toBlock + }) if (!events?.length) { return { @@ -310,60 +276,55 @@ class EventService { } } - createBatchRequest({ batchIndex, batchSize, batchBlocks, blockDenom, type }) { - return new Array(batchSize).fill('').map( - (_, i) => - new Promise(async (resolve) => { - const toBlock = batchBlocks[batchIndex * batchSize + i] - const fromBlock = toBlock - blockDenom - - const batchEvents = await this.getEventsPartFromRpc( - { - fromBlock, - toBlock, - type - }, - true - ) - - resolve(batchEvents.events) - }) - ) - } - async getBatchEventsFromRpc({ fromBlock, type }) { try { - const batchSize = 10 const blockRange = 10000 const { blockDifference, currentBlockNumber } = await this.getBlocksDiff({ fromBlock }) - const batchDigest = blockDifference === 0 ? 1 : Math.ceil(blockDifference / blockRange) - const blockDenom = Math.ceil(blockDifference / batchDigest) - const batchCount = Math.ceil(batchDigest / batchSize) - - const blocks = new Array(batchCount * batchSize).fill('') - const batchBlocks = blocks.map((_, i) => (i + 1) * blockDenom + fromBlock) + let numberParts = blockDifference === 0 ? 1 : Math.ceil(blockDifference / blockRange) + const part = Math.ceil(blockDifference / numberParts) let events = [] + let loadedBlocks = 0 + let toBlock = fromBlock + part if (fromBlock < currentBlockNumber) { - this.updateEventProgress(0, type) - - for (let batchIndex = 0; batchIndex < batchCount; batchIndex++) { - const batch = await Promise.all( - this.createBatchRequest({ batchIndex, batchBlocks, blockDenom, batchSize, type }) - ) - - this.updateEventProgress(batchIndex / batchCount, type) - events = events.concat(batch) - await sleep(200) + if (toBlock >= currentBlockNumber) { + toBlock = 'latest' + numberParts = 1 + } + if (store.state.loading.progress !== 98) { + store.dispatch('loading/updateProgress', { message: 'Fetching the past events', progress: 0 }) } - events = flattenNArray(events) + for (let i = 0; i < numberParts; i++) { + try { + await sleep(200) + const partOfEvents = await this.getEventsPartFromRpc({ fromBlock, toBlock, type }) + if (partOfEvents) { + events = events.concat(partOfEvents.events) + } + loadedBlocks += toBlock - fromBlock + fromBlock = toBlock + toBlock += part - return { - lastBlock: events[events.length - 1].blockNumber, - events + const progressInt = parseInt((loadedBlocks / blockDifference) * 100) + console.log('Progress: ', progressInt) + if (store.state.loading.progress !== 98) { + store.dispatch('loading/updateProgress', { + message: 'Fetching the past events', + progress: progressInt === 100 ? 98 : progressInt + }) + } + } catch { + numberParts = numberParts + 1 + } + } + if (events.length) { + return { + events, + lastBlock: toBlock === 'latest' ? currentBlockNumber : toBlock + } } } return undefined @@ -375,11 +336,9 @@ class EventService { async getEventsFromRpc({ fromBlock, type }) { try { const { blockDifference } = await this.getBlocksDiff({ fromBlock }) - const blockRange = 10000 - let events - if (blockDifference < blockRange) { + if (blockDifference < 10000) { const rpcEvents = await this.getEventsPartFromRpc({ fromBlock, toBlock: 'latest', type }) events = rpcEvents?.events || [] } else { @@ -442,9 +401,7 @@ class EventsFactory { instances = new Map() constructor(rpcUrl) { - const httpProvider = new Web3.providers.HttpProvider(rpcUrl, httpConfig) - - this.provider = new Web3(httpProvider).eth + this.provider = new Web3(rpcUrl).eth } getBlockNumber = () => { diff --git a/services/graph.js b/services/graph.js deleted file mode 100644 index 5366358..0000000 --- a/services/graph.js +++ /dev/null @@ -1,429 +0,0 @@ -import { ApolloClient, InMemoryCache, gql } from '@apollo/client/core' - -import { - _META, - GET_DEPOSITS, - GET_STATISTIC, - GET_REGISTERED, - GET_WITHDRAWALS, - GET_NOTE_ACCOUNTS, - GET_ENCRYPTED_NOTES -} from './queries' - -const isEmptyArray = (arr) => !Array.isArray(arr) || !arr.length - -const first = 1000 - -const link = ({ getContext }) => { - const { chainId } = getContext() - return CHAIN_GRAPH_URLS[chainId] -} - -const CHAIN_GRAPH_URLS = { - 1: 'https://api.thegraph.com/subgraphs/name/tornadocash/mainnet-tornado-subgraph', - 5: 'https://api.thegraph.com/subgraphs/name/tornadocash/goerli-tornado-subgraph', - 10: 'https://api.thegraph.com/subgraphs/name/tornadocash/optimism-tornado-subgraph', - 56: 'https://api.thegraph.com/subgraphs/name/tornadocash/bsc-tornado-subgraph', - 100: 'https://api.thegraph.com/subgraphs/name/tornadocash/xdai-tornado-subgraph', - 137: 'https://api.thegraph.com/subgraphs/name/tornadocash/matic-tornado-subgraph', - 42161: 'https://api.thegraph.com/subgraphs/name/tornadocash/arbitrum-tornado-subgraph', - 43114: 'https://api.thegraph.com/subgraphs/name/tornadocash/avalanche-tornado-subgraph' -} - -const defaultOptions = { - query: { - fetchPolicy: 'no-cache', - errorPolicy: 'all' - } -} - -const client = new ApolloClient({ - uri: link, - credentials: 'omit', - cache: new InMemoryCache(), - defaultOptions -}) - -const registryClient = new ApolloClient({ - uri: 'https://api.thegraph.com/subgraphs/name/tornadocash/tornado-relayer-registry', - cache: new InMemoryCache(), - credentials: 'omit', - defaultOptions -}) - -async function getStatistic({ currency, amount, netId }) { - try { - const { data } = await client.query({ - context: { - chainId: netId - }, - query: gql(GET_STATISTIC), - variables: { - currency, - first: 10, - orderBy: 'index', - orderDirection: 'desc', - amount: String(amount) - } - }) - - if (!data) { - return { - lastSyncBlock: '', - events: [] - } - } - - const { deposits } = data - - const lastSyncBlock = await getMeta({ netId }) - - const events = deposits - .map((e) => ({ - timestamp: e.timestamp, - leafIndex: Number(e.index), - blockNumber: Number(e.blockNumber) - })) - .reverse() - - const [lastEvent] = events.slice(-1) - - return { - lastSyncBlock: lastEvent?.blockNumber >= lastSyncBlock ? lastEvent.blockNumber + 1 : lastSyncBlock, - events - } - } catch { - return { - lastSyncBlock: '', - events: [] - } - } -} - -async function getAllRegisters(fromBlock) { - try { - const relayers = await getRegisters(fromBlock) - - if (!relayers) { - return { lastSyncBlock: '', events: [] } - } - - const lastSyncBlock = await getRegisteredMeta() - - return { lastSyncBlock, events: relayers } - } catch { - return { lastSyncBlock: '', events: [] } - } -} -async function getAllDeposits({ currency, amount, fromBlock, netId }) { - try { - let deposits = [] - - while (true) { - let result = await getDeposits({ currency, amount, fromBlock, netId }) - - if (isEmptyArray(result)) { - break - } - - if (result.length < 900) { - deposits = deposits.concat(result) - break - } - - const [lastEvent] = result.slice(-1) - - result = result.filter((e) => e.blockNumber !== lastEvent.blockNumber) - fromBlock = Number(lastEvent.blockNumber) - - deposits = deposits.concat(result) - } - - if (!deposits) { - return { - lastSyncBlock: '', - events: [] - } - } - - const lastSyncBlock = await getMeta({ netId }) - - const data = deposits.map((e) => ({ - timestamp: e.timestamp, - commitment: e.commitment, - leafIndex: Number(e.index), - blockNumber: Number(e.blockNumber), - transactionHash: e.transactionHash - })) - - const [lastEvent] = data.slice(-1) - - return { - events: data, - lastSyncBlock: lastEvent?.blockNumber >= lastSyncBlock ? lastEvent.blockNumber + 1 : lastSyncBlock - } - } catch { - return { - lastSyncBlock: '', - events: [] - } - } -} - -async function getMeta({ netId }) { - try { - const { data } = await client.query({ - context: { - chainId: netId - }, - query: gql(_META) - }) - - if (!data) { - return undefined - } - - return data._meta.block.number - } catch { - return undefined - } -} - -async function getRegisteredMeta() { - try { - const { data } = await registryClient.query({ - context: { - chainId: 1 - }, - query: gql(_META) - }) - - if (!data) { - return undefined - } - - return data._meta.block.number - } catch { - return undefined - } -} - -async function getRegisters(fromBlock) { - const { data } = await registryClient.query({ - context: { - chainId: 1 - }, - query: gql(GET_REGISTERED), - variables: { first, fromBlock } - }) - - if (!data) { - return [] - } - - return data.relayers -} - -async function getDeposits({ currency, amount, fromBlock, netId }) { - const { data } = await client.query({ - context: { - chainId: netId - }, - query: gql(GET_DEPOSITS), - variables: { currency, amount: String(amount), first, fromBlock } - }) - - if (!data) { - return [] - } - - return data.deposits -} - -async function getAllWithdrawals({ currency, amount, fromBlock, netId }) { - try { - let withdrawals = [] - - while (true) { - let result = await getWithdrawals({ currency, amount, fromBlock, netId }) - - if (isEmptyArray(result)) { - break - } - - if (result.length < 900) { - withdrawals = withdrawals.concat(result) - break - } - - const [lastEvent] = result.slice(-1) - - result = result.filter((e) => e.blockNumber !== lastEvent.blockNumber) - fromBlock = Number(lastEvent.blockNumber) - - withdrawals = withdrawals.concat(result) - } - - if (!withdrawals) { - return { - lastSyncBlock: '', - events: [] - } - } - - const lastSyncBlock = await getMeta({ netId }) - - const data = withdrawals.map((e) => ({ - to: e.to, - fee: e.fee, - timestamp: e.timestamp, - nullifierHash: e.nullifier, - blockNumber: Number(e.blockNumber), - transactionHash: e.transactionHash - })) - - const [lastEvent] = data.slice(-1) - - return { - events: data, - lastSyncBlock: lastEvent?.blockNumber >= lastSyncBlock ? lastEvent.blockNumber + 1 : lastSyncBlock - } - } catch { - return { - lastSyncBlock: '', - events: [] - } - } -} - -async function getWithdrawals({ currency, amount, fromBlock, netId }) { - const { data } = await client.query({ - context: { - chainId: netId - }, - query: gql(GET_WITHDRAWALS), - variables: { currency, amount: String(amount), fromBlock, first } - }) - - if (!data) { - return [] - } - - return data.withdrawals -} - -async function getNoteAccounts({ address, netId }) { - try { - const { data } = await client.query({ - context: { - chainId: netId - }, - query: gql(GET_NOTE_ACCOUNTS), - variables: { address } - }) - - if (!data) { - return { - lastSyncBlock: '', - events: [] - } - } - - const lastSyncBlock = await getMeta({ netId }) - - return { - lastSyncBlock, - events: data.noteAccounts - } - } catch { - return { - lastSyncBlock: '', - events: [] - } - } -} - -async function getAllEncryptedNotes({ fromBlock, netId }) { - try { - let encryptedNotes = [] - - while (true) { - let result = await getEncryptedNotes({ fromBlock, netId }) - - if (isEmptyArray(result)) { - break - } - - if (result.length < 900) { - encryptedNotes = encryptedNotes.concat(result) - break - } - - const [lastEvent] = result.slice(-1) - - result = result.filter((e) => e.blockNumber !== lastEvent.blockNumber) - fromBlock = Number(lastEvent.blockNumber) - - encryptedNotes = encryptedNotes.concat(result) - - if (isEmptyArray(result)) { - break - } - } - - if (!encryptedNotes) { - return { - lastSyncBlock: '', - events: [] - } - } - - const lastSyncBlock = await getMeta({ netId }) - - const data = encryptedNotes.map((e) => ({ - txHash: e.transactionHash, - encryptedNote: e.encryptedNote, - transactionHash: e.transactionHash, - blockNumber: Number(e.blockNumber) - })) - - const [lastEvent] = data.slice(-1) - - return { - events: data, - lastSyncBlock: lastEvent?.blockNumber >= lastSyncBlock ? lastEvent.blockNumber + 1 : lastSyncBlock - } - } catch { - return { - lastSyncBlock: '', - events: [] - } - } -} - -async function getEncryptedNotes({ fromBlock, netId }) { - const { data } = await client.query({ - context: { - chainId: netId - }, - query: gql(GET_ENCRYPTED_NOTES), - variables: { fromBlock, first } - }) - - if (!data) { - return [] - } - - return data.encryptedNotes -} - -export default { - getDeposits, - getStatistic, - getAllDeposits, - getWithdrawals, - getNoteAccounts, - getAllRegisters, - getAllWithdrawals, - getAllEncryptedNotes -} diff --git a/services/index.js b/services/index.js deleted file mode 100644 index 81d23fc..0000000 --- a/services/index.js +++ /dev/null @@ -1,15 +0,0 @@ -import graph from './graph' - -export * from './mimc' -export * from './bloom' -export * from './registry' -export * from './pedersen' -export * from './merkleTree' -export * from './events' -export { default as graph } from './graph' -export { default as schema } from './schema' -export { default as walletConnectConnector } from './walletConnect' -export * from './lookupAddress' - -// eslint-disable-next-line no-undef -window.graph = graph diff --git a/services/lookupAddress.js b/services/lookupAddress.js deleted file mode 100644 index 66ac81c..0000000 --- a/services/lookupAddress.js +++ /dev/null @@ -1,114 +0,0 @@ -// from https://github.com/ChainSafe/web3.js/issues/2683#issuecomment-547348416 - -import namehash from 'eth-ens-namehash' -import { BigNumber, utils } from 'ethers' -import ABI from 'web3-eth-ens/lib/resources/ABI/Resolver' -import uniq from 'lodash/uniq' -import chunk from 'lodash/chunk' -import { CHUNK_COUNT_PER_BATCH_REQUEST } from '@/constants' - -export const createBatchRequestCallback = (resolve, reject) => (error, data) => { - if (error) { - reject(error) - } else { - resolve(data) - } -} - -const CACHE = {} - -const createFetchNodeAddresses = (registryContract, batch) => async (address) => { - const addressLower = address.toLowerCase() - - const node = addressLower.substr(2) + '.addr.reverse' - const nodeHash = namehash.hash(node) - let nodeAddress = null - - if (!CACHE[addressLower]) { - try { - nodeAddress = await new Promise((resolve, reject) => { - const callback = createBatchRequestCallback(resolve, reject) - const requestData = registryContract.methods.resolver(nodeHash).call.request(callback) - batch.add(requestData) - }) - - if (+nodeAddress === 0) nodeAddress = null - } catch (error) { - console.error(`Error resolve ens for "${address}"`, error.message) - // do nothing - } - } - - return { - addressLower, - address, - nodeHash, - nodeAddress - } -} - -const createFetchEnsNames = (web3, batch, results) => async (data) => { - const { address, addressLower, nodeHash, nodeAddress } = data - if (!nodeAddress) return results - - if (CACHE[addressLower]) { - results[address] = CACHE[addressLower] - return results - } - - const nodeContract = new web3.eth.Contract(ABI, nodeAddress) - - try { - const ensName = await new Promise((resolve, reject) => { - const callback = createBatchRequestCallback(resolve, reject) - const requestData = nodeContract.methods.name(nodeHash).call.request(callback) - batch.add(requestData) - }) - - const isZeroAddress = - ensName.trim().length && utils.isAddress(ensName) && BigNumber.from(ensName).isZero() - - if (isZeroAddress) return results - - CACHE[addressLower] = ensName - results[address] = ensName - - return results - } catch (error) { - console.error(`Error lookupAddress ens for "${address}"`, error.message) - return results - } -} - -export const lookupAddressesRequest = async (addressList, web3, registryContract) => { - const fetchNodeAddressesBatch = new web3.BatchRequest() - const fetchNodeAddresses = createFetchNodeAddresses(registryContract, fetchNodeAddressesBatch) - const fetchNodeAddressesPromises = uniq(addressList).map(fetchNodeAddresses) - fetchNodeAddressesBatch.execute() - - const nodeAddresses = await Promise.all(fetchNodeAddressesPromises) - - const results = {} - const fetchEnsNamesBatch = new web3.BatchRequest() - const fetchEnsNames = createFetchEnsNames(web3, fetchEnsNamesBatch, results) - const fetchEnsNamesPromises = nodeAddresses.map(fetchEnsNames) - fetchEnsNamesBatch.execute() - - await Promise.all(fetchEnsNamesPromises) - return results -} - -export const lookupAddresses = async (addressList, web3) => { - const registryContract = await web3.eth.ens.registry.contract - // web3.eth.ens._lastSyncCheck = Date.now() // - need for test in fork - - const addressListChunks = chunk(addressList, CHUNK_COUNT_PER_BATCH_REQUEST) - let results = {} - - for await (const list of addressListChunks) { - const result = await lookupAddressesRequest(list, web3, registryContract) - results = { ...results, ...result } - } - - return results -} diff --git a/services/merkleTree.js b/services/merkleTree.js deleted file mode 100644 index dfe33dc..0000000 --- a/services/merkleTree.js +++ /dev/null @@ -1,199 +0,0 @@ -import { MerkleTree, PartialMerkleTree } from 'fixed-merkle-tree' - -import { trees } from '@/constants' -import { download } from '@/store/snark' -import networkConfig from '@/networkConfig' -import { mimc, bloomService } from '@/services' - -const supportedCaches = ['1', '56', '100', '137'] - -class MerkleTreeService { - constructor({ netId, amount, currency, commitment, instanceName }) { - this.netId = netId - this.amount = amount - this.currency = currency - this.commitment = commitment - this.instanceName = instanceName - - this.idb = window.$nuxt.$indexedDB(netId) - this.bloomService = bloomService({ - netId, - amount, - commitment, - instanceName, - fileFolder: 'trees', - fileName: `deposits_${currency}_${amount}_bloom.json.gz` - }) - } - - getFileName(partNumber = trees.PARTS_COUNT) { - return `trees/deposits_${this.currency}_${this.amount}_slice${partNumber}.json.gz` - } - - createTree({ events }) { - const { merkleTreeHeight, emptyElement } = networkConfig[`netId${this.netId}`] - - return new MerkleTree(merkleTreeHeight, events, { - zeroElement: emptyElement, - hashFunction: mimc.hash - }) - } - - async downloadEdge(name) { - const slicedEdge = await download({ - name, - eventName: 'trees', - contentType: 'string' - }) - - if (!slicedEdge) { - throw new Error('Cant download file') - } - - return JSON.parse(slicedEdge) - } - - createPartialTree({ edge, elements }) { - const { emptyElement } = networkConfig[`netId${this.netId}`] - - return new PartialMerkleTree(trees.LEVELS, edge, elements, { - zeroElement: emptyElement, - hashFunction: mimc.hash - }) - } - - async getTreeFromCache() { - try { - const initialEdge = await this.downloadEdge(this.getFileName()) - - const partialTree = this.createPartialTree(initialEdge) - - if (initialEdge.elements.includes(this.commitment)) { - return partialTree - } - - const isCacheHasCommitment = await this.bloomService.checkBloom() - - if (!isCacheHasCommitment) { - return partialTree - } - - let edge - let elements = [] - - for (let i = trees.PARTS_COUNT - 1; i > 0; i--) { - const slicedEdge = await this.downloadEdge(this.getFileName(i)) - - edge = slicedEdge.edge - elements = [].concat(slicedEdge.elements, elements) - - if (slicedEdge.elements.includes(this.commitment)) { - break - } - } - - partialTree.shiftEdge(edge, elements) - - return partialTree - } catch (err) { - return undefined - } - } - - async getTreeFromDB() { - try { - const stringifyCachedTree = await this.idb.getAll({ - storeName: `stringify_tree_${this.instanceName}` - }) - - if (!stringifyCachedTree || !stringifyCachedTree.length) { - return undefined - } - - const [{ tree }] = stringifyCachedTree - const parsedTree = JSON.parse(tree) - const isPartial = '_edgeLeaf' in parsedTree - - const savedTree = isPartial - ? PartialMerkleTree.deserialize(parsedTree, mimc.hash) - : MerkleTree.deserialize(parsedTree, mimc.hash) - - if (isPartial) { - const edgeIndex = savedTree.edgeIndex - const indexOfEvent = savedTree.indexOf(this.commitment) - - // ToDo save edges mapping { edgeIndex, edgeSlice } - if (indexOfEvent === -1 && edgeIndex !== 0) { - const isCacheHasCommitment = await this.bloomService.checkBloom() - - if (isCacheHasCommitment) { - let edge - let elements = [] - - for (let i = trees.PARTS_COUNT; i > 0; i--) { - const slicedEdge = await this.downloadEdge(this.getFileName(i)) - - if (edgeIndex > slicedEdge.edge.edgeIndex) { - edge = slicedEdge.edge - elements = [].concat(slicedEdge.elements, elements) - } - - if (slicedEdge.elements.includes(this.commitment)) { - break - } - } - - savedTree.shiftEdge(edge, elements) - } - } - } - - return savedTree - } catch (err) { - return undefined - } - } - - async getTree() { - const hasCache = supportedCaches.includes(this.netId.toString()) - - let cachedTree = await this.getTreeFromDB() - - if (!cachedTree && hasCache) { - cachedTree = await this.getTreeFromCache() - } - return cachedTree - } - - async saveTree({ tree }) { - try { - await this.idb.putItem({ - storeName: `stringify_tree_${this.instanceName}`, - data: { - hashTree: '1', // need for replace tree - tree: tree.toString() - }, - key: 'hashTree' - }) - } catch (err) { - console.error('saveCachedTree has error:', err.message) - } - } -} - -class TreesFactory { - instances = new Map() - - getService = (payload) => { - const instanceName = `${payload.currency}_${payload.amount}` - if (this.instances.has(instanceName)) { - return this.instances.get(instanceName) - } - - const instance = new MerkleTreeService(payload) - this.instances.set(instanceName, instance) - return instance - } -} - -export const treesInterface = new TreesFactory() diff --git a/services/mimc.js b/services/mimc.js deleted file mode 100644 index f744c50..0000000 --- a/services/mimc.js +++ /dev/null @@ -1,18 +0,0 @@ -import { buildMimcSponge } from 'circomlibjs' - -class Mimc { - constructor() { - this.sponge = null - this.hash = null - this.initMimc() - } - - async initMimc() { - this.sponge = await buildMimcSponge() - this.hash = (left, right) => this.sponge.F.toString(this.sponge.multiHash([BigInt(left), BigInt(right)])) - } -} - -const mimc = new Mimc() - -export { mimc } diff --git a/services/pedersen.js b/services/pedersen.js deleted file mode 100644 index d49be82..0000000 --- a/services/pedersen.js +++ /dev/null @@ -1,26 +0,0 @@ -import { buildPedersenHash } from 'circomlibjs' - -class Pedersen { - constructor() { - this.pedersenHash = null - this.babyJub = null - this.initPedersen() - } - - async initPedersen() { - this.pedersenHash = await buildPedersenHash() - this.babyJub = this.pedersenHash.babyJub - } - - unpackPoint(buffer) { - return this.babyJub.unpackPoint(this.pedersenHash.hash(buffer)) - } - - toStringBuffer(buffer) { - return this.babyJub.F.toString(buffer) - } -} - -const pedersen = new Pedersen() - -export { pedersen } diff --git a/services/queries.js b/services/queries.js deleted file mode 100644 index 0cc7f97..0000000 --- a/services/queries.js +++ /dev/null @@ -1,89 +0,0 @@ -export const GET_STATISTIC = ` - query getStatistic($currency: String!, $amount: String!, $first: Int, $orderBy: BigInt, $orderDirection: String) { - deposits(first: $first, orderBy: $orderBy, orderDirection: $orderDirection, where: { currency: $currency, amount: $amount }) { - index - timestamp - blockNumber - } - } -` - -export const GET_WITHDRAWALS = ` - query getWithdrawals($currency: String!, $amount: String!, $first: Int, $fromBlock: Int!) { - withdrawals(first: $first, orderBy: blockNumber, orderDirection: asc, - where: { - currency: $currency, - amount: $amount, - blockNumber_gte: $fromBlock - }) { - to - fee - nullifier - timestamp - blockNumber - transactionHash - } - } -` - -export const GET_REGISTERED = ` - query getDeposits($first: Int, $fromBlock: Int) { - relayers(first: $first, where: { - blockRegistration_gte: $fromBlock - }) { - address - ensName - ensHash - blockRegistration - } - } -` - -export const GET_DEPOSITS = ` - query getDeposits($currency: String!, $amount: String!, $first: Int, $fromBlock: Int) { - deposits(first: $first, orderBy: index, orderDirection: asc, where: { - amount: $amount, - currency: $currency, - blockNumber_gte: $fromBlock - }) { - index - timestamp - commitment - blockNumber - transactionHash - } - } -` - -export const GET_NOTE_ACCOUNTS = ` - query getNoteAccount($address: String!) { - noteAccounts(where: { address: $address }) { - id - index - address - encryptedAccount - } - } -` - -export const GET_ENCRYPTED_NOTES = ` - query getEncryptedNotes($first: Int, $fromBlock: Int) { - encryptedNotes(first: $first, orderBy: blockNumber, orderDirection: asc, where: { blockNumber_gte: $fromBlock }) { - id - index - blockNumber - encryptedNote - transactionHash - } - } -` - -export const _META = ` - query getMeta { - _meta { - block { - number - } - } - } -` diff --git a/services/registry/index.js b/services/registry/index.js deleted file mode 100644 index c20a744..0000000 --- a/services/registry/index.js +++ /dev/null @@ -1,250 +0,0 @@ -import Web3 from 'web3' -import namehash from 'eth-ens-namehash' -import { BigNumber as BN } from 'bignumber.js' -import { toChecksumAddress, isAddress } from 'web3-utils' - -import networkConfig from '@/networkConfig' -import { REGISTRY_DEPLOYED_BLOCK } from '@/constants' -import { sleep, flattenNArray } from '@/utils' - -import AggregatorABI from '@/abis/Aggregator.abi.json' -import RelayerRegistryABI from '@/abis/RelayerRegistry.abi.json' - -const MIN_STAKE_BALANCE = '0x22B1C8C1227A00000' // 40 TORN - -const subdomains = Object.values(networkConfig).map(({ ensSubdomainKey }) => ensSubdomainKey) - -class RelayerRegister { - constructor(provider) { - this.provider = provider - this.$indexedDB = window.$nuxt.$indexedDB(1) - - const { registryContract, aggregatorContract } = networkConfig.netId1 - - this.aggregator = new this.provider.Contract(AggregatorABI, aggregatorContract) - this.relayerRegistry = new this.provider.Contract(RelayerRegistryABI, registryContract) - } - - fetchEvents = ({ fromBlock, toBlock }, shouldRetry = false) => { - return new Promise((resolve, reject) => { - if (fromBlock <= toBlock) { - try { - const registeredEventsPart = this.relayerRegistry.getPastEvents('RelayerRegistered', { - fromBlock, - toBlock - }) - - resolve(registeredEventsPart) - } catch (error) { - if (shouldRetry) { - sleep(1000) - - const events = this.fetchEvents({ fromBlock, toBlock }) - - resolve(events) - } else { - reject(new Error(error)) - } - } - } else { - resolve([]) - } - }) - } - - batchFetchEvents = async ({ fromBlock, toBlock }) => { - const blockRange = 10000 - const blockDifference = toBlock - fromBlock - const chunkCount = Math.ceil(blockDifference / blockRange) - const blockDenom = Math.ceil(blockDifference / chunkCount) - - const promises = new Array(chunkCount).fill('').map( - (_, i) => - new Promise((resolve) => { - sleep(300) - - const batch = this.fetchEvents( - { - fromBlock: i * blockDenom + fromBlock, - toBlock: (i + 1) * blockDenom + fromBlock - }, - true - ) - resolve(batch) - }) - ) - - const batchEvents = flattenNArray(await Promise.all(promises)) - const events = batchEvents.map((e) => ({ ...e.returnValues })) - - return events - } - - saveEvents = async ({ events, lastSyncBlock, storeName }) => { - try { - if (this.$indexedDB.isBlocked) { - return - } - - await this.$indexedDB.putItem({ - data: { - blockNumber: lastSyncBlock, - name: storeName - }, - storeName: 'lastEvents' - }) - - if (events.length) { - this.$indexedDB.createMultipleTransactions({ data: events, storeName }) - } - } catch (err) { - console.error(`saveEvents has error: ${err.message}`) - } - } - - getCachedData = async () => { - let blockFrom = REGISTRY_DEPLOYED_BLOCK[1] - - try { - const blockTo = await this.provider.getBlockNumber() - - const cachedEvents = await this.$indexedDB.getAll({ - storeName: 'register_events' - }) - - const lastBlock = await this.$indexedDB.getFromIndex({ - indexName: 'name', - key: 'register_events', - storeName: 'lastEvents' - }) - - if (lastBlock) { - blockFrom = blockTo >= lastBlock.blockNumber ? lastBlock.blockNumber + 1 : blockTo - } - - return { blockFrom, blockTo, cachedEvents } - } catch { - return { blockFrom, blockTo: 'latest', cachedEvents: [] } - } - } - - getENSAddress = async (ensName) => { - const { url } = Object.values(networkConfig.netId1.rpcUrls)[0] - const provider = new Web3(url) - - const ensAddress = await provider.eth.ens.getAddress(ensName) - - return ensAddress - } - - fetchRelayers = async () => { - const blockRange = 10000 - // eslint-disable-next-line prefer-const - let { blockTo, cachedEvents } = await this.getCachedData() - let allRelayers = cachedEvents - - const currentBlockNumber = await this.provider.getBlockNumber() - const fromBlock = cachedEvents.length === 0 ? REGISTRY_DEPLOYED_BLOCK[1] : blockTo - const blockDifference = currentBlockNumber - fromBlock - - try { - let toBlock - let registerRelayerEvents - let lastSyncBlock = blockTo - - if (cachedEvents.length > 0 || blockDifference === 0) { - return cachedEvents - } else if (blockDifference >= blockRange) { - toBlock = currentBlockNumber - registerRelayerEvents = await this.batchFetchEvents({ fromBlock, toBlock }) - lastSyncBlock = toBlock - } else { - toBlock = fromBlock + blockRange - registerRelayerEvents = await this.fetchEvents({ fromBlock, toBlock }, true) - lastSyncBlock = toBlock - } - - const relayerEvents = cachedEvents.concat(registerRelayerEvents || []) - const events = [] - - for (let x = 0; x < relayerEvents.length; x++) { - const { ensName, relayerAddress } = relayerEvents[x] - let ensAddress - if (!isAddress(relayerAddress)) { - ensAddress = await this.getENSAddress(ensName) - ensAddress = toChecksumAddress(ensAddress) - } else { - ensAddress = relayerAddress - } - - events.push({ ensName, relayerAddress: ensAddress }) - } - - await this.saveEvents({ storeName: 'register_events', lastSyncBlock, events }) - - allRelayers = allRelayers.concat(events) - } catch (err) { - console.log(err) - } - return allRelayers - } - - filterRelayer = (acc, curr, ensSubdomainKey, relayer) => { - const subdomainIndex = subdomains.indexOf(ensSubdomainKey) - const mainnetSubdomain = curr.records[0] - const hostname = curr.records[subdomainIndex] - const isHostWithProtocol = hostname.includes('http') - - const isOwner = relayer.relayerAddress === curr.owner - const hasMinBalance = new BN(curr.balance).gte(MIN_STAKE_BALANCE) - - if ( - hostname && - isOwner && - mainnetSubdomain && - curr.isRegistered && - hasMinBalance && - !isHostWithProtocol - ) { - acc.push({ - hostname, - ensName: relayer.ensName, - stakeBalance: curr.balance, - relayerAddress: relayer.relayerAddress - }) - } else { - console.error(`${relayer.ensName} invalid: `, { - isOwner, - hasTXT: Boolean(hostname), - isHasMinBalance: hasMinBalance, - isRegistered: curr.isRegistered, - isHostWithoutProtocol: !isHostWithProtocol, - isMainnetSubdomain: Boolean(mainnetSubdomain) - }) - } - - return acc - } - - getValidRelayers = async (relayers, ensSubdomainKey) => { - const relayerNameHashes = relayers.map((r) => namehash.hash(r.ensName)) - - const relayersData = await this.aggregator.methods.relayersData(relayerNameHashes, subdomains).call() - - const validRelayers = relayersData.reduce( - (acc, curr, index) => this.filterRelayer(acc, curr, ensSubdomainKey, relayers[index]), - [] - ) - - return validRelayers - } - - getRelayers = async (ensSubdomainKey) => { - const relayers = await this.fetchRelayers() - const validRelayers = await this.getValidRelayers(relayers, ensSubdomainKey) - - return validRelayers - } -} - -export const relayerRegisterService = (provider) => new RelayerRegister(provider.eth) diff --git a/services/schema/index.js b/services/schema/index.js deleted file mode 100644 index af2019f..0000000 --- a/services/schema/index.js +++ /dev/null @@ -1,42 +0,0 @@ -import { toBN } from 'web3-utils' - -import relayerSchemas from './relayer' - -const Ajv = require('ajv') -const ajv = new Ajv({ allErrors: true, schemas: relayerSchemas }) - -ajv.addKeyword('BN', { - validate: (schema, data) => { - try { - toBN(data) - return true - } catch (e) { - return false - } - }, - errors: true -}) - -function getRelayerValidateFunction(netId) { - switch (netId) { - case 56: - return ajv.getSchema('bscRelayer') - case 100: - return ajv.getSchema('xdaiRelayer') - case 137: - return ajv.getSchema('polygonRelayer') - case 43114: - return ajv.getSchema('avalancheRelayer') - - case 10: - case 42161: - return ajv.getSchema('l2Relayer') - - default: - return ajv.getSchema('defaultRelayer') - } -} - -export default { - getRelayerValidateFunction -} diff --git a/services/schema/relayer/avalanche.js b/services/schema/relayer/avalanche.js deleted file mode 100644 index 8d8f908..0000000 --- a/services/schema/relayer/avalanche.js +++ /dev/null @@ -1,44 +0,0 @@ -import { addressType } from '@/constants' - -const statusSchema = { - type: 'object', - properties: { - rewardAccount: addressType, - instances: { - type: 'object', - properties: { - avax: { - type: 'object', - properties: { - instanceAddress: { - type: 'object', - properties: { - '10': addressType, - '100': addressType, - '500': addressType - }, - required: ['10', '100', '500'] - }, - decimals: { enum: [18] } - }, - required: ['instanceAddress', 'decimals'] - } - }, - required: ['avax'] - }, - netId: { type: 'integer' }, - tornadoServiceFee: { type: 'number', maximum: 20, minimum: 0 }, - health: { - type: 'object', - properties: { - status: { const: 'true' }, - error: { type: 'string' } - }, - required: ['status'] - }, - currentQueue: { type: 'number' } - }, - required: ['rewardAccount', 'instances', 'netId', 'tornadoServiceFee', 'health'] -} - -export { statusSchema } diff --git a/services/schema/relayer/bsc.js b/services/schema/relayer/bsc.js deleted file mode 100644 index 63e2ee5..0000000 --- a/services/schema/relayer/bsc.js +++ /dev/null @@ -1,45 +0,0 @@ -import { addressType } from '@/constants' - -const statusSchema = { - type: 'object', - properties: { - rewardAccount: addressType, - instances: { - type: 'object', - properties: { - bnb: { - type: 'object', - properties: { - instanceAddress: { - type: 'object', - properties: { - '0.1': addressType, - '1': addressType, - '10': addressType, - '100': addressType - }, - required: ['0.1', '1', '10', '100'] - }, - decimals: { enum: [18] } - }, - required: ['instanceAddress', 'decimals'] - } - }, - required: ['bnb'] - }, - netId: { type: 'integer' }, - tornadoServiceFee: { type: 'number', maximum: 20, minimum: 0 }, - health: { - type: 'object', - properties: { - status: { const: 'true' }, - error: { type: 'string' } - }, - required: ['status'] - }, - currentQueue: { type: 'number' } - }, - required: ['rewardAccount', 'instances', 'netId', 'tornadoServiceFee', 'health'] -} - -export { statusSchema } diff --git a/services/schema/relayer/default.js b/services/schema/relayer/default.js deleted file mode 100644 index 43934b5..0000000 --- a/services/schema/relayer/default.js +++ /dev/null @@ -1,162 +0,0 @@ -import { addressType } from '@/constants' - -const statusSchema = { - type: 'object', - properties: { - rewardAccount: addressType, - instances: { - type: 'object', - properties: { - dai: { - type: 'object', - properties: { - instanceAddress: { - type: 'object', - properties: { - '100': addressType, - '1000': addressType, - '10000': addressType, - '100000': addressType - }, - required: ['100', '1000', '10000', '100000'] - }, - tokenAddress: addressType, - symbol: { enum: ['DAI'] }, - decimals: { enum: [18] } - }, - required: ['instanceAddress', 'tokenAddress', 'decimals'] - }, - usdt: { - type: 'object', - properties: { - instanceAddress: { - type: 'object', - properties: { - '100': addressType, - '1000': addressType, - '10000': addressType, - '100000': addressType - }, - required: ['100', '1000'] - }, - tokenAddress: addressType, - symbol: { enum: ['USDT'] }, - decimals: { enum: [6] } - }, - required: ['instanceAddress', 'tokenAddress', 'decimals'] - }, - usdc: { - type: 'object', - properties: { - instanceAddress: { - type: 'object', - properties: { - '100': addressType, - '1000': addressType, - '10000': addressType, - '100000': addressType - }, - required: ['100', '1000'] - }, - tokenAddress: addressType, - symbol: { enum: ['USDC'] }, - decimals: { enum: [6] } - }, - required: ['instanceAddress', 'tokenAddress', 'decimals'] - }, - cdai: { - type: 'object', - properties: { - instanceAddress: { - type: 'object', - properties: { - '5000': addressType, - '50000': addressType, - '500000': addressType, - '5000000': addressType - }, - required: ['5000', '50000', '500000', '5000000'] - }, - tokenAddress: addressType, - symbol: { enum: ['cDAI'] }, - decimals: { enum: [8] } - }, - required: ['instanceAddress', 'tokenAddress', 'decimals'] - }, - wbtc: { - type: 'object', - properties: { - instanceAddress: { - type: 'object', - properties: { - '0.1': addressType, - '1': addressType, - '10': addressType, - '100': addressType - }, - required: ['0.1', '1', '10'] - }, - tokenAddress: addressType, - symbol: { enum: ['WBTC'] }, - decimals: { enum: [8] } - }, - required: ['instanceAddress', 'tokenAddress', 'decimals'] - }, - eth: { - type: 'object', - properties: { - instanceAddress: { - type: 'object', - properties: { - '0.1': addressType, - '1': addressType, - '10': addressType, - '100': addressType - }, - required: ['0.1', '1', '10', '100'] - }, - decimals: { enum: [18] } - }, - required: ['instanceAddress', 'decimals'] - } - }, - required: ['eth'] - }, - gasPrices: { - type: 'object', - properties: { - fast: { type: 'number' }, - additionalProperties: { type: 'number' } - }, - required: ['fast'] - }, - netId: { type: 'integer' }, - ethPrices: { - type: 'object', - properties: { - dai: { type: 'string', BN: true }, - cdai: { type: 'string', BN: true }, - usdc: { type: 'string', BN: true }, - usdt: { type: 'string', BN: true }, - torn: { type: 'string', BN: true }, - wbtc: { type: 'string', BN: true } - }, - required: ['dai', 'cdai', 'usdc', 'usdt', 'torn', 'wbtc'] - }, - tornadoServiceFee: { type: 'number', maximum: 20, minimum: 0 }, - latestBlock: { type: 'number' }, - version: { type: 'string' }, - health: { - type: 'object', - properties: { - status: { const: 'true' }, - error: { type: 'string' } - }, - required: ['status'] - }, - currentQueue: { type: 'number' } - }, - required: ['rewardAccount', 'instances', 'netId', 'ethPrices', 'tornadoServiceFee', 'version', 'health'] -} - -export { statusSchema } diff --git a/services/schema/relayer/index.js b/services/schema/relayer/index.js deleted file mode 100644 index 5ed8a86..0000000 --- a/services/schema/relayer/index.js +++ /dev/null @@ -1,15 +0,0 @@ -import { statusSchema as l2Relayer } from './l2' -import { statusSchema as bscRelayer } from './bsc' -import { statusSchema as xdaiRelayer } from './xdai' -import { statusSchema as defaultRelayer } from './default' -import { statusSchema as polygonRelayer } from './polygon' -import { statusSchema as avalancheRelayer } from './avalanche' - -export default { - l2Relayer, - bscRelayer, - xdaiRelayer, - defaultRelayer, - polygonRelayer, - avalancheRelayer -} diff --git a/services/schema/relayer/l2.js b/services/schema/relayer/l2.js deleted file mode 100644 index eb0d5fd..0000000 --- a/services/schema/relayer/l2.js +++ /dev/null @@ -1,45 +0,0 @@ -import { addressType } from '@/constants' - -const statusSchema = { - type: 'object', - properties: { - rewardAccount: addressType, - instances: { - type: 'object', - properties: { - eth: { - type: 'object', - properties: { - instanceAddress: { - type: 'object', - properties: { - '0.1': addressType, - '1': addressType, - '10': addressType, - '100': addressType - }, - required: ['0.1', '1', '10', '100'] - }, - decimals: { enum: [18] } - }, - required: ['instanceAddress', 'decimals'] - } - }, - required: ['eth'] - }, - netId: { type: 'integer' }, - tornadoServiceFee: { type: 'number', maximum: 20, minimum: 0 }, - health: { - type: 'object', - properties: { - status: { const: 'true' }, - error: { type: 'string' } - }, - required: ['status'] - }, - currentQueue: { type: 'number' } - }, - required: ['rewardAccount', 'instances', 'netId', 'tornadoServiceFee', 'health'] -} - -export { statusSchema } diff --git a/services/schema/relayer/polygon.js b/services/schema/relayer/polygon.js deleted file mode 100644 index 6464061..0000000 --- a/services/schema/relayer/polygon.js +++ /dev/null @@ -1,45 +0,0 @@ -import { addressType } from '@/constants' - -const statusSchema = { - type: 'object', - properties: { - rewardAccount: addressType, - instances: { - type: 'object', - properties: { - matic: { - type: 'object', - properties: { - instanceAddress: { - type: 'object', - properties: { - '100': addressType, - '1000': addressType, - '10000': addressType, - '100000': addressType - }, - required: ['100', '1000', '10000', '100000'] - }, - decimals: { enum: [18] } - }, - required: ['instanceAddress', 'decimals'] - } - }, - required: ['matic'] - }, - netId: { type: 'integer' }, - tornadoServiceFee: { type: 'number', maximum: 20, minimum: 0 }, - health: { - type: 'object', - properties: { - status: { const: 'true' }, - error: { type: 'string' } - }, - required: ['status'] - }, - currentQueue: { type: 'number' } - }, - required: ['rewardAccount', 'instances', 'netId', 'tornadoServiceFee', 'health'] -} - -export { statusSchema } diff --git a/services/schema/relayer/xdai.js b/services/schema/relayer/xdai.js deleted file mode 100644 index 0722fd6..0000000 --- a/services/schema/relayer/xdai.js +++ /dev/null @@ -1,45 +0,0 @@ -import { addressType } from '@/constants' - -const statusSchema = { - type: 'object', - properties: { - rewardAccount: addressType, - instances: { - type: 'object', - properties: { - xdai: { - type: 'object', - properties: { - instanceAddress: { - type: 'object', - properties: { - '100': addressType, - '1000': addressType, - '10000': addressType, - '100000': addressType - }, - required: ['100', '1000', '10000', '100000'] - }, - decimals: { enum: [18] } - }, - required: ['instanceAddress', 'decimals'] - } - }, - required: ['xdai'] - }, - netId: { type: 'integer' }, - tornadoServiceFee: { type: 'number', maximum: 20, minimum: 0 }, - health: { - type: 'object', - properties: { - status: { const: 'true' }, - error: { type: 'string' } - }, - required: ['status'] - }, - currentQueue: { type: 'number' } - }, - required: ['rewardAccount', 'instances', 'netId', 'tornadoServiceFee', 'health'] -} - -export { statusSchema } diff --git a/services/walletConnect.js b/services/walletConnect.js deleted file mode 100644 index b96757b..0000000 --- a/services/walletConnect.js +++ /dev/null @@ -1,51 +0,0 @@ -import BN from 'bignumber.js' -import WalletConnectProvider from '@walletconnect/web3-provider' - -import { NETWORKS } from '@/constants' -import networkConfig from '@/networkConfig' - -const { WC_BRIDGE } = process.env - -const WALLET_CONNECT_INTERVAL = 1000 -const SUPPORTED_WALLETS = ['metamask', 'trust', 'imtoken', 'genericWeb3'] - -const RECONNECT_TIME = 3600000 // 1 hour - -const getFirstRpcUrls = (acc, netId) => { - const { rpcUrls } = networkConfig[`netId${netId}`] - const [{ url }] = Object.values(rpcUrls) - - return { ...acc, [netId]: url } -} - -const RPC = NETWORKS.reduce(getFirstRpcUrls, {}) - -const walletConnectConnector = (chainId) => { - try { - const prevConnection = localStorage.getItem('walletconnectTimeStamp') - - if (new BN(Date.now()).minus(prevConnection).isGreaterThanOrEqualTo(RECONNECT_TIME)) { - localStorage.removeItem('walletconnect') - } - - const provider = new WalletConnectProvider({ - chainId, - rpc: RPC, - pollingInterval: WALLET_CONNECT_INTERVAL, - qrcodeModalOptions: { - mobileLinks: SUPPORTED_WALLETS - }, - bridge: WC_BRIDGE - }) - - provider.injectedRequest = provider.enable - - localStorage.setItem('walletconnectTimeStamp', Date.now()) - return provider - } catch (err) { - console.log(err) - throw new Error('WalletConnect error: ', err) - } -} - -export default walletConnectConnector diff --git a/static/451.html b/static/451.html deleted file mode 100644 index c49cb3a..0000000 --- a/static/451.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - Unavailable For Legal Reasons - - -

Unavailable For Legal Reasons

- - \ No newline at end of file diff --git a/static/README.md b/static/README.md deleted file mode 100644 index ba1fb32..0000000 --- a/static/README.md +++ /dev/null @@ -1,47 +0,0 @@ -## How to use - -Step 1. Clone repository -``` -git clone https://github.com/tornadocash/ui-minified.git -cd ui-minified -``` -Step 2. Serve the folder with your favorite http server -``` -python3 -m http.server 8080 -``` -Or use any other http web server, such as https://www.npmjs.com/package/http-server - -Step 3. Open your web browser at http://localhost:8080 - -## Running a TOR service - -If you wish to serve tornado cash UI on an .onion domain, there is an easy way to do it using docker-compose. Paste the following into `docker-compose.yml` and run `docker-compose up -d` - -```yaml -version: '2' - -services: - tornado_ui: - image: tornadocash/ui - restart: always - container_name: tornado_ui - watchtower: - image: v2tec/watchtower - restart: always - volumes: - - /var/run/docker.sock:/var/run/docker.sock - command: --interval 60 tornado_ui - tor: - image: strm/tor - restart: always - depends_on: [ tornado_ui ] - environment: - LISTEN_PORT: 80 - REDIRECT: tornado_ui:80 - # Generate a new key with - # docker run --rm --entrypoint shallot strm/tor-hiddenservice-nginx ^torn - PRIVATE_KEY: | - -----BEGIN RSA PRIVATE KEY----- - ... - -----END RSA PRIVATE KEY----- -``` diff --git a/static/events/deposits_bnb_0.1.json.gz b/static/events/deposits_bnb_0.1.json.gz deleted file mode 100644 index 807e588..0000000 Binary files a/static/events/deposits_bnb_0.1.json.gz and /dev/null differ diff --git a/static/events/deposits_bnb_1.json.gz b/static/events/deposits_bnb_1.json.gz deleted file mode 100644 index bcded6c..0000000 Binary files a/static/events/deposits_bnb_1.json.gz and /dev/null differ diff --git a/static/events/deposits_bnb_10.json.gz b/static/events/deposits_bnb_10.json.gz deleted file mode 100644 index cff7d36..0000000 Binary files a/static/events/deposits_bnb_10.json.gz and /dev/null differ diff --git a/static/events/deposits_bnb_100.json.gz b/static/events/deposits_bnb_100.json.gz deleted file mode 100644 index 58374be..0000000 Binary files a/static/events/deposits_bnb_100.json.gz and /dev/null differ diff --git a/static/events/deposits_eth_0.1.json.gz b/static/events/deposits_eth_0.1.json.gz deleted file mode 100644 index 35dcbc0..0000000 Binary files a/static/events/deposits_eth_0.1.json.gz and /dev/null differ diff --git a/static/events/deposits_eth_1.json.gz b/static/events/deposits_eth_1.json.gz deleted file mode 100644 index 8e0c2b8..0000000 Binary files a/static/events/deposits_eth_1.json.gz and /dev/null differ diff --git a/static/events/deposits_eth_10.json.gz b/static/events/deposits_eth_10.json.gz deleted file mode 100644 index e7b6f74..0000000 Binary files a/static/events/deposits_eth_10.json.gz and /dev/null differ diff --git a/static/events/deposits_eth_100.json.gz b/static/events/deposits_eth_100.json.gz deleted file mode 100644 index 7bc05d9..0000000 Binary files a/static/events/deposits_eth_100.json.gz and /dev/null differ diff --git a/static/events/deposits_matic_100.json.gz b/static/events/deposits_matic_100.json.gz deleted file mode 100644 index e79e916..0000000 Binary files a/static/events/deposits_matic_100.json.gz and /dev/null differ diff --git a/static/events/deposits_matic_1000.json.gz b/static/events/deposits_matic_1000.json.gz deleted file mode 100644 index 00bb189..0000000 Binary files a/static/events/deposits_matic_1000.json.gz and /dev/null differ diff --git a/static/events/deposits_matic_10000.json.gz b/static/events/deposits_matic_10000.json.gz deleted file mode 100644 index d1ccf68..0000000 Binary files a/static/events/deposits_matic_10000.json.gz and /dev/null differ diff --git a/static/events/deposits_matic_100000.json.gz b/static/events/deposits_matic_100000.json.gz deleted file mode 100644 index 724853d..0000000 Binary files a/static/events/deposits_matic_100000.json.gz and /dev/null differ diff --git a/static/events/deposits_xdai_100.json.gz b/static/events/deposits_xdai_100.json.gz deleted file mode 100644 index a37ca13..0000000 Binary files a/static/events/deposits_xdai_100.json.gz and /dev/null differ diff --git a/static/events/deposits_xdai_1000.json.gz b/static/events/deposits_xdai_1000.json.gz deleted file mode 100644 index ba54b8a..0000000 Binary files a/static/events/deposits_xdai_1000.json.gz and /dev/null differ diff --git a/static/events/deposits_xdai_10000.json.gz b/static/events/deposits_xdai_10000.json.gz deleted file mode 100644 index 27a8ed1..0000000 Binary files a/static/events/deposits_xdai_10000.json.gz and /dev/null differ diff --git a/static/events/deposits_xdai_100000.json.gz b/static/events/deposits_xdai_100000.json.gz deleted file mode 100644 index 9482443..0000000 Binary files a/static/events/deposits_xdai_100000.json.gz and /dev/null differ diff --git a/static/events/encrypted_notes_1.json.gz b/static/events/encrypted_notes_1.json.gz deleted file mode 100644 index 2c66562..0000000 Binary files a/static/events/encrypted_notes_1.json.gz and /dev/null differ diff --git a/static/events/encrypted_notes_100.json.gz b/static/events/encrypted_notes_100.json.gz deleted file mode 100644 index 280850e..0000000 Binary files a/static/events/encrypted_notes_100.json.gz and /dev/null differ diff --git a/static/events/encrypted_notes_137.json.gz b/static/events/encrypted_notes_137.json.gz deleted file mode 100644 index d6a7e32..0000000 Binary files a/static/events/encrypted_notes_137.json.gz and /dev/null differ diff --git a/static/events/encrypted_notes_5.json.gz b/static/events/encrypted_notes_5.json.gz deleted file mode 100644 index d6a7e32..0000000 Binary files a/static/events/encrypted_notes_5.json.gz and /dev/null differ diff --git a/static/events/encrypted_notes_56.json.gz b/static/events/encrypted_notes_56.json.gz deleted file mode 100644 index 9e6a1a1..0000000 Binary files a/static/events/encrypted_notes_56.json.gz and /dev/null differ diff --git a/static/events/withdrawals_bnb_0.1.json.gz b/static/events/withdrawals_bnb_0.1.json.gz deleted file mode 100644 index bceb655..0000000 Binary files a/static/events/withdrawals_bnb_0.1.json.gz and /dev/null differ diff --git a/static/events/withdrawals_bnb_1.json.gz b/static/events/withdrawals_bnb_1.json.gz deleted file mode 100644 index 200006c..0000000 Binary files a/static/events/withdrawals_bnb_1.json.gz and /dev/null differ diff --git a/static/events/withdrawals_bnb_10.json.gz b/static/events/withdrawals_bnb_10.json.gz deleted file mode 100644 index 32b1031..0000000 Binary files a/static/events/withdrawals_bnb_10.json.gz and /dev/null differ diff --git a/static/events/withdrawals_bnb_100.json.gz b/static/events/withdrawals_bnb_100.json.gz deleted file mode 100644 index 9c20084..0000000 Binary files a/static/events/withdrawals_bnb_100.json.gz and /dev/null differ diff --git a/static/events/withdrawals_eth_0.1.json.gz b/static/events/withdrawals_eth_0.1.json.gz deleted file mode 100644 index 37c3c30..0000000 Binary files a/static/events/withdrawals_eth_0.1.json.gz and /dev/null differ diff --git a/static/events/withdrawals_eth_1.json.gz b/static/events/withdrawals_eth_1.json.gz deleted file mode 100644 index 7a27315..0000000 Binary files a/static/events/withdrawals_eth_1.json.gz and /dev/null differ diff --git a/static/events/withdrawals_eth_10.json.gz b/static/events/withdrawals_eth_10.json.gz deleted file mode 100644 index 5abe03f..0000000 Binary files a/static/events/withdrawals_eth_10.json.gz and /dev/null differ diff --git a/static/events/withdrawals_eth_100.json.gz b/static/events/withdrawals_eth_100.json.gz deleted file mode 100644 index 77a0690..0000000 Binary files a/static/events/withdrawals_eth_100.json.gz and /dev/null differ diff --git a/static/events/withdrawals_matic_100.json.gz b/static/events/withdrawals_matic_100.json.gz deleted file mode 100644 index 38a60cb..0000000 Binary files a/static/events/withdrawals_matic_100.json.gz and /dev/null differ diff --git a/static/events/withdrawals_matic_1000.json.gz b/static/events/withdrawals_matic_1000.json.gz deleted file mode 100644 index ffef702..0000000 Binary files a/static/events/withdrawals_matic_1000.json.gz and /dev/null differ diff --git a/static/events/withdrawals_matic_10000.json.gz b/static/events/withdrawals_matic_10000.json.gz deleted file mode 100644 index 167b8a1..0000000 Binary files a/static/events/withdrawals_matic_10000.json.gz and /dev/null differ diff --git a/static/events/withdrawals_matic_100000.json.gz b/static/events/withdrawals_matic_100000.json.gz deleted file mode 100644 index 3d2b9c8..0000000 Binary files a/static/events/withdrawals_matic_100000.json.gz and /dev/null differ diff --git a/static/events/withdrawals_xdai_100.json.gz b/static/events/withdrawals_xdai_100.json.gz deleted file mode 100644 index 37a714f..0000000 Binary files a/static/events/withdrawals_xdai_100.json.gz and /dev/null differ diff --git a/static/events/withdrawals_xdai_1000.json.gz b/static/events/withdrawals_xdai_1000.json.gz deleted file mode 100644 index 972f619..0000000 Binary files a/static/events/withdrawals_xdai_1000.json.gz and /dev/null differ diff --git a/static/events/withdrawals_xdai_10000.json.gz b/static/events/withdrawals_xdai_10000.json.gz deleted file mode 100644 index 0c6894b..0000000 Binary files a/static/events/withdrawals_xdai_10000.json.gz and /dev/null differ diff --git a/static/events/withdrawals_xdai_100000.json.gz b/static/events/withdrawals_xdai_100000.json.gz deleted file mode 100644 index a4fa3a6..0000000 Binary files a/static/events/withdrawals_xdai_100000.json.gz and /dev/null differ diff --git a/static/favicon/android-chrome-192x192.png b/static/favicon/android-chrome-192x192.png deleted file mode 100644 index 3902799..0000000 Binary files a/static/favicon/android-chrome-192x192.png and /dev/null differ diff --git a/static/favicon/android-chrome-512x512.png b/static/favicon/android-chrome-512x512.png deleted file mode 100644 index 7644ea7..0000000 Binary files a/static/favicon/android-chrome-512x512.png and /dev/null differ diff --git a/static/favicon/apple-touch-icon.png b/static/favicon/apple-touch-icon.png deleted file mode 100644 index 8a92436..0000000 Binary files a/static/favicon/apple-touch-icon.png and /dev/null differ diff --git a/static/favicon/browserconfig.xml b/static/favicon/browserconfig.xml deleted file mode 100644 index 6c6fae2..0000000 --- a/static/favicon/browserconfig.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - #000403 - - - diff --git a/static/favicon/favicon.ico b/static/favicon/favicon.ico deleted file mode 100644 index 342b49d..0000000 Binary files a/static/favicon/favicon.ico and /dev/null differ diff --git a/static/favicon/mstile-150x150.png b/static/favicon/mstile-150x150.png deleted file mode 100644 index daa17c0..0000000 Binary files a/static/favicon/mstile-150x150.png and /dev/null differ diff --git a/static/manifest.json b/static/manifest.json deleted file mode 100644 index a6f26aa..0000000 --- a/static/manifest.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "Tornado Cash", - "short_name": "Tornado Cash", - "icons": [ - { - "src": "/favicon/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "/favicon/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "theme_color": "#000403", - "background_color": "#000403", - "display": "standalone" -} diff --git a/static/tornado.json.gz b/static/tornado.json.gz deleted file mode 100644 index cf50b6e..0000000 Binary files a/static/tornado.json.gz and /dev/null differ diff --git a/static/tornadoProvingKey.bin.gz b/static/tornadoProvingKey.bin.gz deleted file mode 100644 index 6716b2a..0000000 Binary files a/static/tornadoProvingKey.bin.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_0.1_bloom.json.gz b/static/trees/deposits_bnb_0.1_bloom.json.gz deleted file mode 100644 index 92c69f5..0000000 Binary files a/static/trees/deposits_bnb_0.1_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_0.1_slice1.json.gz b/static/trees/deposits_bnb_0.1_slice1.json.gz deleted file mode 100644 index 421b3b7..0000000 Binary files a/static/trees/deposits_bnb_0.1_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_0.1_slice2.json.gz b/static/trees/deposits_bnb_0.1_slice2.json.gz deleted file mode 100644 index ec28e0e..0000000 Binary files a/static/trees/deposits_bnb_0.1_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_0.1_slice3.json.gz b/static/trees/deposits_bnb_0.1_slice3.json.gz deleted file mode 100644 index d3a9f6d..0000000 Binary files a/static/trees/deposits_bnb_0.1_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_0.1_slice4.json.gz b/static/trees/deposits_bnb_0.1_slice4.json.gz deleted file mode 100644 index 28a8d08..0000000 Binary files a/static/trees/deposits_bnb_0.1_slice4.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_100_bloom.json.gz b/static/trees/deposits_bnb_100_bloom.json.gz deleted file mode 100644 index d3405b0..0000000 Binary files a/static/trees/deposits_bnb_100_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_100_slice1.json.gz b/static/trees/deposits_bnb_100_slice1.json.gz deleted file mode 100644 index 24bf1b7..0000000 Binary files a/static/trees/deposits_bnb_100_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_100_slice2.json.gz b/static/trees/deposits_bnb_100_slice2.json.gz deleted file mode 100644 index 75b01cf..0000000 Binary files a/static/trees/deposits_bnb_100_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_100_slice3.json.gz b/static/trees/deposits_bnb_100_slice3.json.gz deleted file mode 100644 index 6e4d0f9..0000000 Binary files a/static/trees/deposits_bnb_100_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_100_slice4.json.gz b/static/trees/deposits_bnb_100_slice4.json.gz deleted file mode 100644 index f7c9f33..0000000 Binary files a/static/trees/deposits_bnb_100_slice4.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_10_bloom.json.gz b/static/trees/deposits_bnb_10_bloom.json.gz deleted file mode 100644 index d3cb123..0000000 Binary files a/static/trees/deposits_bnb_10_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_10_slice1.json.gz b/static/trees/deposits_bnb_10_slice1.json.gz deleted file mode 100644 index 589bb54..0000000 Binary files a/static/trees/deposits_bnb_10_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_10_slice2.json.gz b/static/trees/deposits_bnb_10_slice2.json.gz deleted file mode 100644 index 4abfe30..0000000 Binary files a/static/trees/deposits_bnb_10_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_10_slice3.json.gz b/static/trees/deposits_bnb_10_slice3.json.gz deleted file mode 100644 index 94a20df..0000000 Binary files a/static/trees/deposits_bnb_10_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_10_slice4.json.gz b/static/trees/deposits_bnb_10_slice4.json.gz deleted file mode 100644 index 08cbdec..0000000 Binary files a/static/trees/deposits_bnb_10_slice4.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_1_bloom.json.gz b/static/trees/deposits_bnb_1_bloom.json.gz deleted file mode 100644 index 0966b4d..0000000 Binary files a/static/trees/deposits_bnb_1_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_1_slice1.json.gz b/static/trees/deposits_bnb_1_slice1.json.gz deleted file mode 100644 index c252fd2..0000000 Binary files a/static/trees/deposits_bnb_1_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_1_slice2.json.gz b/static/trees/deposits_bnb_1_slice2.json.gz deleted file mode 100644 index 7c69991..0000000 Binary files a/static/trees/deposits_bnb_1_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_1_slice3.json.gz b/static/trees/deposits_bnb_1_slice3.json.gz deleted file mode 100644 index 86666b0..0000000 Binary files a/static/trees/deposits_bnb_1_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_bnb_1_slice4.json.gz b/static/trees/deposits_bnb_1_slice4.json.gz deleted file mode 100644 index 6f89743..0000000 Binary files a/static/trees/deposits_bnb_1_slice4.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_0.1_bloom.json.gz b/static/trees/deposits_eth_0.1_bloom.json.gz deleted file mode 100644 index 55021f2..0000000 Binary files a/static/trees/deposits_eth_0.1_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_0.1_slice1.json.gz b/static/trees/deposits_eth_0.1_slice1.json.gz deleted file mode 100644 index 3a3d1ff..0000000 Binary files a/static/trees/deposits_eth_0.1_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_0.1_slice2.json.gz b/static/trees/deposits_eth_0.1_slice2.json.gz deleted file mode 100644 index e1e9b82..0000000 Binary files a/static/trees/deposits_eth_0.1_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_0.1_slice3.json.gz b/static/trees/deposits_eth_0.1_slice3.json.gz deleted file mode 100644 index 5e87963..0000000 Binary files a/static/trees/deposits_eth_0.1_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_0.1_slice4.json.gz b/static/trees/deposits_eth_0.1_slice4.json.gz deleted file mode 100644 index e8742c6..0000000 Binary files a/static/trees/deposits_eth_0.1_slice4.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_100_bloom.json.gz b/static/trees/deposits_eth_100_bloom.json.gz deleted file mode 100644 index 83f3521..0000000 Binary files a/static/trees/deposits_eth_100_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_100_slice1.json.gz b/static/trees/deposits_eth_100_slice1.json.gz deleted file mode 100644 index 3a5db5d..0000000 Binary files a/static/trees/deposits_eth_100_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_100_slice2.json.gz b/static/trees/deposits_eth_100_slice2.json.gz deleted file mode 100644 index 0cfe774..0000000 Binary files a/static/trees/deposits_eth_100_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_100_slice3.json.gz b/static/trees/deposits_eth_100_slice3.json.gz deleted file mode 100644 index b6a3006..0000000 Binary files a/static/trees/deposits_eth_100_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_100_slice4.json.gz b/static/trees/deposits_eth_100_slice4.json.gz deleted file mode 100644 index 1ecb1d2..0000000 Binary files a/static/trees/deposits_eth_100_slice4.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_10_bloom.json.gz b/static/trees/deposits_eth_10_bloom.json.gz deleted file mode 100644 index cf3da9f..0000000 Binary files a/static/trees/deposits_eth_10_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_10_slice1.json.gz b/static/trees/deposits_eth_10_slice1.json.gz deleted file mode 100644 index 8c063c3..0000000 Binary files a/static/trees/deposits_eth_10_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_10_slice2.json.gz b/static/trees/deposits_eth_10_slice2.json.gz deleted file mode 100644 index fca7621..0000000 Binary files a/static/trees/deposits_eth_10_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_10_slice3.json.gz b/static/trees/deposits_eth_10_slice3.json.gz deleted file mode 100644 index f10b50e..0000000 Binary files a/static/trees/deposits_eth_10_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_10_slice4.json.gz b/static/trees/deposits_eth_10_slice4.json.gz deleted file mode 100644 index aaf530e..0000000 Binary files a/static/trees/deposits_eth_10_slice4.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_1_bloom.json.gz b/static/trees/deposits_eth_1_bloom.json.gz deleted file mode 100644 index a2bb6e4..0000000 Binary files a/static/trees/deposits_eth_1_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_1_slice1.json.gz b/static/trees/deposits_eth_1_slice1.json.gz deleted file mode 100644 index b32dc00..0000000 Binary files a/static/trees/deposits_eth_1_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_1_slice2.json.gz b/static/trees/deposits_eth_1_slice2.json.gz deleted file mode 100644 index 12e841e..0000000 Binary files a/static/trees/deposits_eth_1_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_1_slice3.json.gz b/static/trees/deposits_eth_1_slice3.json.gz deleted file mode 100644 index 97d0283..0000000 Binary files a/static/trees/deposits_eth_1_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_eth_1_slice4.json.gz b/static/trees/deposits_eth_1_slice4.json.gz deleted file mode 100644 index eb2732e..0000000 Binary files a/static/trees/deposits_eth_1_slice4.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_100000_bloom.json.gz b/static/trees/deposits_matic_100000_bloom.json.gz deleted file mode 100644 index 032cc12..0000000 Binary files a/static/trees/deposits_matic_100000_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_100000_slice1.json.gz b/static/trees/deposits_matic_100000_slice1.json.gz deleted file mode 100644 index b6a3374..0000000 Binary files a/static/trees/deposits_matic_100000_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_100000_slice2.json.gz b/static/trees/deposits_matic_100000_slice2.json.gz deleted file mode 100644 index b9fa5c5..0000000 Binary files a/static/trees/deposits_matic_100000_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_100000_slice3.json.gz b/static/trees/deposits_matic_100000_slice3.json.gz deleted file mode 100644 index 4eca824..0000000 Binary files a/static/trees/deposits_matic_100000_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_100000_slice4.json.gz b/static/trees/deposits_matic_100000_slice4.json.gz deleted file mode 100644 index fc68835..0000000 Binary files a/static/trees/deposits_matic_100000_slice4.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_10000_bloom.json.gz b/static/trees/deposits_matic_10000_bloom.json.gz deleted file mode 100644 index 09285ba..0000000 Binary files a/static/trees/deposits_matic_10000_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_10000_slice1.json.gz b/static/trees/deposits_matic_10000_slice1.json.gz deleted file mode 100644 index 784f782..0000000 Binary files a/static/trees/deposits_matic_10000_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_10000_slice2.json.gz b/static/trees/deposits_matic_10000_slice2.json.gz deleted file mode 100644 index cdc3ae6..0000000 Binary files a/static/trees/deposits_matic_10000_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_10000_slice3.json.gz b/static/trees/deposits_matic_10000_slice3.json.gz deleted file mode 100644 index 26a1bda..0000000 Binary files a/static/trees/deposits_matic_10000_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_10000_slice4.json.gz b/static/trees/deposits_matic_10000_slice4.json.gz deleted file mode 100644 index 3622da4..0000000 Binary files a/static/trees/deposits_matic_10000_slice4.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_1000_bloom.json.gz b/static/trees/deposits_matic_1000_bloom.json.gz deleted file mode 100644 index 0965700..0000000 Binary files a/static/trees/deposits_matic_1000_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_1000_slice1.json.gz b/static/trees/deposits_matic_1000_slice1.json.gz deleted file mode 100644 index a789ea1..0000000 Binary files a/static/trees/deposits_matic_1000_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_1000_slice2.json.gz b/static/trees/deposits_matic_1000_slice2.json.gz deleted file mode 100644 index e623e5f..0000000 Binary files a/static/trees/deposits_matic_1000_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_1000_slice3.json.gz b/static/trees/deposits_matic_1000_slice3.json.gz deleted file mode 100644 index dbebdb1..0000000 Binary files a/static/trees/deposits_matic_1000_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_1000_slice4.json.gz b/static/trees/deposits_matic_1000_slice4.json.gz deleted file mode 100644 index 2c12505..0000000 Binary files a/static/trees/deposits_matic_1000_slice4.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_100_bloom.json.gz b/static/trees/deposits_matic_100_bloom.json.gz deleted file mode 100644 index d0d1f77..0000000 Binary files a/static/trees/deposits_matic_100_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_100_slice1.json.gz b/static/trees/deposits_matic_100_slice1.json.gz deleted file mode 100644 index 180d5b3..0000000 Binary files a/static/trees/deposits_matic_100_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_100_slice2.json.gz b/static/trees/deposits_matic_100_slice2.json.gz deleted file mode 100644 index a4d98b2..0000000 Binary files a/static/trees/deposits_matic_100_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_100_slice3.json.gz b/static/trees/deposits_matic_100_slice3.json.gz deleted file mode 100644 index 21d1b42..0000000 Binary files a/static/trees/deposits_matic_100_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_matic_100_slice4.json.gz b/static/trees/deposits_matic_100_slice4.json.gz deleted file mode 100644 index d8f99ed..0000000 Binary files a/static/trees/deposits_matic_100_slice4.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_100000_bloom.json.gz b/static/trees/deposits_xdai_100000_bloom.json.gz deleted file mode 100644 index 9e99815..0000000 --- a/static/trees/deposits_xdai_100000_bloom.json.gz +++ /dev/null @@ -1,3 +0,0 @@ -xM -0ѽ|;xIyRm ٻ 8q5Ļ.E}Ńضcă) -Qq8gC\qĥ%p9` \ No newline at end of file diff --git a/static/trees/deposits_xdai_100000_slice1.json.gz b/static/trees/deposits_xdai_100000_slice1.json.gz deleted file mode 100644 index 09ddd21..0000000 Binary files a/static/trees/deposits_xdai_100000_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_100000_slice2.json.gz b/static/trees/deposits_xdai_100000_slice2.json.gz deleted file mode 100644 index 32b5187..0000000 Binary files a/static/trees/deposits_xdai_100000_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_10000_bloom.json.gz b/static/trees/deposits_xdai_10000_bloom.json.gz deleted file mode 100644 index 837bc06..0000000 Binary files a/static/trees/deposits_xdai_10000_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_10000_slice1.json.gz b/static/trees/deposits_xdai_10000_slice1.json.gz deleted file mode 100644 index 400bc34..0000000 Binary files a/static/trees/deposits_xdai_10000_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_10000_slice2.json.gz b/static/trees/deposits_xdai_10000_slice2.json.gz deleted file mode 100644 index 20c368b..0000000 Binary files a/static/trees/deposits_xdai_10000_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_10000_slice3.json.gz b/static/trees/deposits_xdai_10000_slice3.json.gz deleted file mode 100644 index 26459b7..0000000 Binary files a/static/trees/deposits_xdai_10000_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_10000_slice4.json.gz b/static/trees/deposits_xdai_10000_slice4.json.gz deleted file mode 100644 index 21e3dfd..0000000 Binary files a/static/trees/deposits_xdai_10000_slice4.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_1000_bloom.json.gz b/static/trees/deposits_xdai_1000_bloom.json.gz deleted file mode 100644 index eb990f6..0000000 Binary files a/static/trees/deposits_xdai_1000_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_1000_slice1.json.gz b/static/trees/deposits_xdai_1000_slice1.json.gz deleted file mode 100644 index 531c56c..0000000 Binary files a/static/trees/deposits_xdai_1000_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_1000_slice2.json.gz b/static/trees/deposits_xdai_1000_slice2.json.gz deleted file mode 100644 index 15a5d1f..0000000 Binary files a/static/trees/deposits_xdai_1000_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_1000_slice3.json.gz b/static/trees/deposits_xdai_1000_slice3.json.gz deleted file mode 100644 index c59f6ab..0000000 Binary files a/static/trees/deposits_xdai_1000_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_1000_slice4.json.gz b/static/trees/deposits_xdai_1000_slice4.json.gz deleted file mode 100644 index b202ac8..0000000 Binary files a/static/trees/deposits_xdai_1000_slice4.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_100_bloom.json.gz b/static/trees/deposits_xdai_100_bloom.json.gz deleted file mode 100644 index e97ecda..0000000 Binary files a/static/trees/deposits_xdai_100_bloom.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_100_slice1.json.gz b/static/trees/deposits_xdai_100_slice1.json.gz deleted file mode 100644 index a4f4b53..0000000 Binary files a/static/trees/deposits_xdai_100_slice1.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_100_slice2.json.gz b/static/trees/deposits_xdai_100_slice2.json.gz deleted file mode 100644 index ffc872f..0000000 Binary files a/static/trees/deposits_xdai_100_slice2.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_100_slice3.json.gz b/static/trees/deposits_xdai_100_slice3.json.gz deleted file mode 100644 index 471e84b..0000000 Binary files a/static/trees/deposits_xdai_100_slice3.json.gz and /dev/null differ diff --git a/static/trees/deposits_xdai_100_slice4.json.gz b/static/trees/deposits_xdai_100_slice4.json.gz deleted file mode 100644 index e1be01c..0000000 Binary files a/static/trees/deposits_xdai_100_slice4.json.gz and /dev/null differ diff --git a/static/tw.png b/static/tw.png deleted file mode 100644 index 28268a9..0000000 Binary files a/static/tw.png and /dev/null differ diff --git a/store/application.js b/store/application.js deleted file mode 100644 index 1c9f4f3..0000000 --- a/store/application.js +++ /dev/null @@ -1,989 +0,0 @@ -/* eslint-disable camelcase */ -/* eslint-disable no-console, import/order */ -import Web3 from 'web3' - -import networkConfig from '@/networkConfig' -import { cachedEventsLength, eventsType, httpConfig } from '@/constants' - -import MulticallABI from '@/abis/Multicall.json' -import InstanceABI from '@/abis/Instance.abi.json' -import TornadoProxyABI from '@/abis/TornadoProxy.abi.json' - -import { ACTION, ACTION_GAS } from '@/constants/variables' -import { graph, treesInterface, EventsFactory } from '@/services' - -import { - randomBN, - parseNote, - toFixedHex, - saveAsFile, - isEmptyArray, - decimalPlaces, - parseHexNote, - checkCommitments, - buffPedersenHash -} from '@/utils' - -import { buildGroth16, download, getTornadoKeys } from './snark' - -let groth16 - -const websnarkUtils = require('websnark/src/utils') -const { toWei, numberToHex, toBN, isAddress } = require('web3-utils') - -const getStatisticStore = (acc, { tokens }) => { - Object.entries(tokens).forEach(([currency, { instanceAddress }]) => { - acc[currency] = Object.assign({}, acc[currency]) - - Object.keys(instanceAddress).forEach((amount) => { - if (!acc[currency][amount]) { - acc[currency][amount] = { - latestDeposits: [], - nextDepositIndex: null, - anonymitySet: null - } - } - }) - }) - return acc -} - -const defaultStatistics = Object.values(networkConfig).reduce(getStatisticStore, {}) - -const state = () => { - return { - note: null, - commitment: null, - prefix: null, - notes: {}, - statistic: defaultStatistics, - ip: {}, - selectedInstance: { currency: 'eth', amount: 0.1 }, - selectedStatistic: { currency: 'eth', amount: 0.1 }, - withdrawType: 'relayer', - ethToReceive: '20000000000000000', - defaultEthToReceive: '20000000000000000', - withdrawNote: '' - } -} - -const mutations = { - SAVE_DEPOSIT(state, { note, commitment, prefix }) { - state.note = note - state.commitment = commitment - state.prefix = prefix - }, - SAVE_PROOF(state, { proof, args, note }) { - this._vm.$set(state.notes, note, { proof, args }) - }, - REMOVE_PROOF(state, { note }) { - this._vm.$delete(state.notes, note) - }, - SAVE_LAST_INDEX(state, { nextDepositIndex, anonymitySet, currency, amount }) { - const currentState = state.statistic[currency][amount] - this._vm.$set(state.statistic[currency], `${amount}`, { ...currentState, nextDepositIndex, anonymitySet }) - }, - SAVE_LAST_EVENTS(state, { latestDeposits, currency, amount }) { - const currentState = state.statistic[currency][amount] - this._vm.$set(state.statistic[currency], `${amount}`, { ...currentState, latestDeposits }) - }, - SET_SELECTED_INSTANCE(state, selectedInstance) { - state.selectedInstance = selectedInstance - }, - SET_SELECTED_STATISTIC(state, selectedStatistic) { - state.selectedStatistic = selectedStatistic - }, - SET_WITHDRAW_TYPE(state, { withdrawType }) { - this._vm.$set(state, 'withdrawType', withdrawType) - }, - SAVE_ETH_TO_RECEIVE(state, { ethToReceive }) { - this._vm.$set(state, 'ethToReceive', ethToReceive) - }, - SAVE_DEFAULT_ETH_TO_RECEIVE(state, { ethToReceive }) { - this._vm.$set(state, 'defaultEthToReceive', ethToReceive) - }, - SET_WITHDRAW_NOTE(state, withdrawNote) { - state.withdrawNote = withdrawNote - } -} - -const getters = { - eventsInterface: (state, getters, rootState, rootGetters) => { - const netId = rootGetters['metamask/netId'] - const { url } = rootState.settings[`netId${netId}`].rpc - return new EventsFactory(url) - }, - instanceContract: (state, getters, rootState) => ({ currency, amount, netId }) => { - const config = networkConfig[`netId${netId}`] - const { url } = rootState.settings[`netId${netId}`].rpc - const address = config.tokens[currency].instanceAddress[amount] - const httpProvider = new Web3.providers.HttpProvider(url, httpConfig) - const web3 = new Web3(httpProvider) - return new web3.eth.Contract(InstanceABI, address) - }, - multicallContract: (state, getters, rootState) => ({ netId }) => { - const config = networkConfig[`netId${netId}`] - const { url } = rootState.settings[`netId${netId}`].rpc - const web3 = new Web3(url) - return new web3.eth.Contract(MulticallABI, config.multicall) - }, - tornadoProxyContract: (state, getters, rootState) => ({ netId }) => { - const { - 'tornado-proxy.contract.tornadocash.eth': tornadoProxy, - 'tornado-router.contract.tornadocash.eth': tornadoRouter, - 'tornado-proxy-light.contract.tornadocash.eth': tornadoProxyLight - } = networkConfig[`netId${netId}`] - - const proxyContract = tornadoRouter || tornadoProxy || tornadoProxyLight - const { url } = rootState.settings[`netId${netId}`].rpc - const web3 = new Web3(url) - return new web3.eth.Contract(TornadoProxyABI, proxyContract) - }, - currentContract: (state, getters) => (params) => { - return getters.tornadoProxyContract(params) - }, - withdrawGas: (state, getters) => { - let action = ACTION.WITHDRAW_WITH_EXTRA - - if (getters.hasEnabledLightProxy) { - action = ACTION.WITHDRAW - } - - if (getters.isOptimismConnected) { - action = ACTION.OP_WITHDRAW - } - - if (getters.isArbitrumConnected) { - action = ACTION.ARB_WITHDRAW - } - - return ACTION_GAS[action] - }, - networkFee: (state, getters, rootState, rootGetters) => { - const gasPrice = rootGetters['gasPrices/gasPrice'] - - const networkFee = toBN(gasPrice).mul(toBN(getters.withdrawGas)) - - if (getters.isOptimismConnected) { - const l1Fee = rootGetters['gasPrices/l1Fee'] - return networkFee.add(toBN(l1Fee)) - } - - return networkFee - }, - relayerFee: (state, getters, rootState, rootGetters) => { - const { currency, amount } = rootState.application.selectedStatistic - const { decimals } = rootGetters['metamask/networkConfig'].tokens[currency] - const nativeCurrency = rootGetters['metamask/nativeCurrency'] - const total = toBN(rootGetters['token/fromDecimals'](amount.toString())) - const fee = rootState.relayer.selectedRelayer.tornadoServiceFee - const decimalsPoint = decimalPlaces(fee) - const roundDecimal = 10 ** decimalsPoint - const aroundFee = toBN(parseInt(fee * roundDecimal, 10)) - const tornadoServiceFee = total.mul(aroundFee).div(toBN(roundDecimal * 100)) - const ethFee = getters.networkFee - switch (currency) { - case nativeCurrency: { - return ethFee.add(tornadoServiceFee) - } - default: { - const tokenFee = ethFee.mul(toBN(10 ** decimals)).div(toBN(rootState.price.prices[currency])) - return tokenFee.add(tornadoServiceFee) - } - } - }, - ethToReceiveInToken: (state, getters, rootState, rootGetters) => { - const { currency } = rootState.application.selectedStatistic - const { decimals } = rootGetters['metamask/networkConfig'].tokens[currency] - const price = rootState.price.prices[currency] - const ethToReceive = toBN(state.ethToReceive) - return ethToReceive.mul(toBN(10 ** decimals)).div(toBN(price)) - }, - isNotEnoughTokens: (state, getters, rootState, rootGetters) => { - const { amount, currency } = rootState.application.selectedStatistic - let total = toBN(rootGetters['token/fromDecimals'](amount.toString())) - - if (state.withdrawType === 'relayer') { - const relayerFee = getters.relayerFee - const nativeCurrency = rootGetters['metamask/nativeCurrency'] - - if (currency === nativeCurrency) { - total = total.sub(relayerFee) - } else { - const ethToReceiveInToken = getters.ethToReceiveInToken - total = total.sub(relayerFee).sub(ethToReceiveInToken) - } - } - - return total.isNeg() - }, - maxEthToReceive: (state, getters, rootState, rootGetters) => { - const { currency, amount } = rootState.application.selectedStatistic - const { decimals } = rootGetters['metamask/networkConfig'].tokens[currency] - const total = toBN(rootGetters['token/fromDecimals'](amount.toString())) - const price = rootState.price.prices[currency] - const relayerFee = getters.relayerFee - return total - .sub(relayerFee) - .mul(toBN(price)) - .div(toBN(10 ** decimals)) - }, - selectedCurrency: (state, getters, rootState, rootGetters) => { - const tokens = rootGetters['metamask/networkConfig'].tokens - return tokens[state.selectedInstance.currency].symbol - }, - selectedStatisticCurrency: (state, getters, rootState, rootGetters) => { - const tokens = rootGetters['metamask/networkConfig'].tokens - return tokens[state.selectedStatistic.currency].symbol - }, - lastEventIndex: (state) => ({ currency, amount }) => { - return state.statistic[currency][amount].anonymitySet - }, - latestDeposits: (state) => { - const { currency, amount } = state.selectedStatistic - return state.statistic[currency][amount].latestDeposits - }, - hasEnabledLightProxy: (state, getters, rootState, rootGetters) => { - return Boolean(rootGetters['metamask/networkConfig']['tornado-proxy-light.contract.tornadocash.eth']) - }, - isOptimismConnected: (state, getters, rootState, rootGetters) => { - const netId = rootGetters['metamask/netId'] - return Number(netId) === 10 - }, - isArbitrumConnected: (state, getters, rootState, rootGetters) => { - const netId = rootGetters['metamask/netId'] - return Number(netId) === 42161 - } -} - -const actions = { - setAndUpdateStatistic({ dispatch, commit }, { currency, amount }) { - commit('SET_SELECTED_STATISTIC', { currency, amount }) - - dispatch('updateSelectEvents') - }, - async updateSelectEvents({ dispatch, commit, state, rootGetters, getters }) { - const netId = rootGetters['metamask/netId'] - const { currency, amount } = state.selectedStatistic - - const eventService = getters.eventsInterface.getService({ netId, amount, currency }) - const graphEvents = await eventService.getEventsFromGraph({ methodName: 'getStatistic' }) - - let statistic = graphEvents?.events - - const latestDeposits = [] - - if (!statistic || !statistic.length) { - statistic = [] - } - - const { nextDepositIndex, anonymitySet } = await dispatch('getLastDepositIndex', { - currency, - amount, - netId - }) - - statistic = statistic.sort((a, b) => a.leafIndex - b.leafIndex) - - for (const event of statistic.slice(-10)) { - latestDeposits.unshift({ - index: event.leafIndex, - depositTime: this.$moment.unix(event.timestamp).fromNow() - }) - } - - commit('SAVE_LAST_EVENTS', { - amount, - currency, - latestDeposits - }) - commit('SAVE_LAST_INDEX', { - amount, - currency, - anonymitySet, - nextDepositIndex - }) - }, - async updateEvents({ getters, rootGetters }, payload) { - try { - const eventService = getters.eventsInterface.getService(payload) - - const freshEvents = await eventService.updateEvents(payload.type) - - return freshEvents - } catch (err) { - throw new Error(`Method updateEvents has error: ${err.message}`) - } - }, - async updateCurrentEvents({ dispatch, rootGetters }, { amount, currency, lastEvent, type, netId }) { - let lastBlock = lastEvent - const nativeCurrency = rootGetters['metamask/nativeCurrency'] - const { deployedBlock } = networkConfig[`netId${netId}`] - - if (currency === nativeCurrency && !lastEvent) { - lastBlock = await this.$indexedDB(netId).getFromIndex({ - indexName: 'name', - storeName: 'lastEvents', - key: `${type}s_${currency}_${amount}` - }) - } - - const params = { - type, - netId, - amount, - currency, - fromBlock: lastBlock ? lastBlock.blockNumber + 1 : deployedBlock - } - - const events = await dispatch('updateEvents', params) - - return events - }, - async getLastDepositIndex({ getters }, params) { - try { - const contractInstance = getters.instanceContract(params) - const nextDepositIndex = await contractInstance.methods.nextIndex().call() - - return { - nextDepositIndex, - anonymitySet: toBN(nextDepositIndex) - } - } catch (err) { - throw new Error(`Method getLastDepositIndex has error: ${err.message}`) - } - }, - async loadEncryptedEvents(_, { netId }) { - try { - const module = await download({ - contentType: 'string', - name: `events/encrypted_notes_${netId}.json.gz` - }) - - if (module) { - const events = JSON.parse(module) - - return { - events, - lastBlock: events[events.length - 1].blockNumber - } - } - } catch (err) { - throw new Error(`Method loadCachedEvents has error: ${err.message}`) - } - }, - prepareDeposit({ getters, dispatch, commit, rootGetters }, { prefix }) { - try { - const [, currency, amount, netId] = prefix.split('-') - const contractInstance = getters.instanceContract({ currency, amount, netId }) - - const secret = randomBN(31) - const nullifier = randomBN(31) - - const preimage = Buffer.concat([nullifier.toBuffer('le', 31), secret.toBuffer('le', 31)]) - - const commitment = buffPedersenHash(preimage) - const commitmentHex = toFixedHex(commitment) - - const note = `0x${preimage.toString('hex')}` - - const isEnabled = rootGetters['encryptedNote/isEnabledSaveFile'] - - if (isEnabled) { - setTimeout(() => { - try { - dispatch('saveFile', { prefix, note }) - } catch (err) { - console.warn('NoteAccount backup as a file is not supported on this device', err) - } - }, 1000) - } - - commit('SAVE_DEPOSIT', { note, commitment: commitmentHex, prefix }) - if (!contractInstance._address) { - throw new Error(this.app.i18n.t('networkIsNotSupported')) - } - } catch (e) { - console.error('prepareDeposit', e) - } - }, - saveFile(_, { prefix, note }) { - try { - const data = new Blob([`${prefix}-${note}`], { type: 'text/plain;charset=utf-8' }) - - saveAsFile(data, `backup-${prefix}-${note.slice(0, 10)}.txt`) - } catch (err) { - console.error('saveFile', err.message) - } - }, - async getEncryptedEventsFromDb(_, { netId }) { - try { - const idb = this.$indexedDB(netId) - - if (idb.isBlocked) { - return [] - } - - const cachedEvents = await idb.getAll({ storeName: 'encrypted_events' }) - - return cachedEvents - } catch (err) { - console.warn(`Method getEventsFromDb has error: ${err.message}`) - } - }, - async getEncryptedNotes({ rootState, rootGetters, dispatch, getters }) { - try { - const { netId } = rootState.metamask - const rpc = rootGetters['settings/currentRpc'] - let { ENCRYPTED_NOTES_BLOCK: deployedBlock } = networkConfig[`netId${netId}`].constants - - const contractInstance = getters.tornadoProxyContract({ netId }) - - let cachedEvents = await dispatch('getEncryptedEventsFromDb', { netId }) - - const networksWithCache = { - 1: cachedEventsLength.mainnet.ENCRYPTED_NOTES, - 5: cachedEventsLength.goerli.ENCRYPTED_NOTES, - 56: cachedEventsLength.bsc.ENCRYPTED_NOTES - } - - const LENGTH_CACHE = networksWithCache[Number(netId)] - - if ( - ((isEmptyArray(cachedEvents) || !cachedEvents) && networksWithCache[Number(netId)]) || - cachedEvents.length < LENGTH_CACHE - ) { - ;({ events: cachedEvents } = await dispatch('loadEncryptedEvents', { netId })) - } - - const hasCache = Boolean(cachedEvents && cachedEvents.length) - - if (hasCache) { - const [lastEvent] = cachedEvents.sort((a, b) => a.blockNumber - b.blockNumber).slice(-1) - - deployedBlock = lastEvent.blockNumber + 1 - } - - const web3 = this.$provider.getWeb3(rpc.url) - const currentBlockNumber = await web3.eth.getBlockNumber() - - let events = [] - - const { events: graphEvents, lastSyncBlock } = await graph.getAllEncryptedNotes({ - netId, - fromBlock: deployedBlock - }) - - if (lastSyncBlock) { - deployedBlock = lastSyncBlock - } - - const blockDifference = Math.ceil(currentBlockNumber - deployedBlock) - const divisor = hasCache ? 2 : 10 - - let blockRange = blockDifference > divisor ? blockDifference / divisor : blockDifference - - if (Number(netId) === 56) { - blockRange = 4950 - } - - let numberParts = blockDifference === 0 ? 1 : Math.ceil(blockDifference / blockRange) - const part = Math.ceil(blockDifference / numberParts) - - let fromBlock = deployedBlock - let toBlock = deployedBlock + part - - if (toBlock >= currentBlockNumber || toBlock === deployedBlock) { - toBlock = 'latest' - numberParts = 1 - } - - for (let i = 0; i < numberParts; i++) { - const partOfEvents = await contractInstance.getPastEvents('EncryptedNote', { - toBlock, - fromBlock - }) - if (partOfEvents) { - events = events.concat(partOfEvents) - } - fromBlock = toBlock - toBlock += part - } - - if (events && events.length) { - events = events - .filter((i) => i.returnValues.encryptedNote) - .map((e) => ({ - txHash: e.transactionHash, - transactionHash: e.transactionHash, - blockNumber: Number(e.blockNumber), - encryptedNote: e.returnValues.encryptedNote - })) - } - - const allEvents = [].concat(cachedEvents, graphEvents, events) - - await dispatch('saveEncryptedEventsToDB', { events: allEvents, netId }) - - return allEvents - } catch (err) { - console.log('getEncryptedNotes', err) - } - }, - async saveEncryptedEventsToDB(_, { events, netId }) { - const idb = this.$indexedDB(netId) - - if (!events || !events.length || idb.isBlocked) { - return - } - - await idb.createMultipleTransactions({ - data: events, - storeName: `encrypted_events` - }) - }, - async sendDeposit({ state, rootState, getters, rootGetters, dispatch, commit }, { isEncrypted }) { - try { - const { commitment, note, prefix } = state - // eslint-disable-next-line prefer-const - let [, currency, amount, netId] = prefix.split('-') - const config = networkConfig[`netId${netId}`] - const contractInstance = getters.tornadoProxyContract({ netId }) - - if (!state.commitment) { - throw new Error(this.app.i18n.t('failToGenerateNote')) - } - - const { nextDepositIndex: index } = await dispatch('getLastDepositIndex', { netId, currency, amount }) - - const { ethAccount } = rootState.metamask - const nativeCurrency = rootGetters['metamask/nativeCurrency'] - const isNative = currency === nativeCurrency - - const value = isNative ? toWei(amount, 'ether') : '0' - const instance = config.tokens[currency].instanceAddress[amount] - - let params = [instance, commitment, []] - - if (isEncrypted) { - const encryptedNote = await dispatch( - 'encryptedNote/getEncryptedNote', - { data: `${instance}-${note}` }, - { root: true } - ) - - params = [instance, commitment, encryptedNote] - } - - const data = contractInstance.methods.deposit(...params).encodeABI() - const gas = await contractInstance.methods.deposit(...params).estimateGas({ from: ethAccount, value }) - - const callParams = { - method: 'eth_sendTransaction', - params: { - to: contractInstance._address, - gas: numberToHex(gas + 50000), - value: numberToHex(value), - data - }, - watcherParams: { - title: { path: 'depositing', amount, currency }, - successTitle: { - path: 'depositedValue', - amount, - currency - }, - storeType: isEncrypted ? 'encryptedTxs' : 'txs' - }, - isAwait: false - } - - const txHash = await dispatch('metamask/sendTransaction', callParams, { root: true }) - - // there may be a race condition, you need to request an index and a timestamp of the deposit after tx is mined - const timestamp = Math.round(new Date().getTime() / 1000) - - const { nullifierHex, commitmentHex } = parseHexNote(state.note) - const storeType = isEncrypted ? 'encryptedTxs' : 'txs' - - const accounts = rootGetters['encryptedNote/accounts'] - - const tx = { - txHash, - type: 'Deposit', - note, - amount, - storeType, - prefix, - netId, - timestamp, - index, - nullifierHex, - commitmentHex, - currency - } - console.log('tx', tx) - - if (isEncrypted) { - tx.note = params[2] - tx.owner = isAddress(accounts.encrypt) ? accounts.encrypt : '' - tx.backupAccount = isAddress(accounts.backup) ? accounts.backup : '' - } - - commit('txHashKeeper/SAVE_TX_HASH', tx, { root: true }) - } catch (e) { - console.error('sendDeposit', e) - return false - } - }, - async checkSpentEventFromNullifier({ getters, dispatch }, parsedNote) { - try { - const isSpent = await dispatch('loadEvent', { - note: parsedNote, - eventName: 'nullifierHash', - type: eventsType.WITHDRAWAL, - methodName: 'getAllWithdrawals', - eventToFind: parsedNote.nullifierHex - }) - - return Boolean(isSpent) - } catch (err) { - console.error(`Method checkSpentEventFromNullifier has error: ${err.message}`) - } - }, - async checkRoot({ getters }, { root, parsedNote }) { - const contractInstance = getters.instanceContract(parsedNote) - - const isKnownRoot = await contractInstance.methods.isKnownRoot(root).call() - - if (!isKnownRoot) { - throw new Error(this.app.i18n.t('invalidRoot')) - } - }, - async buildTree({ dispatch }, { currency, amount, netId, commitmentHex }) { - const treeInstanceName = `${currency}_${amount}` - const params = { netId, amount, currency } - - const treeService = treesInterface.getService({ - ...params, - commitment: commitmentHex, - instanceName: treeInstanceName - }) - - const [cachedTree, eventsData] = await Promise.all([ - treeService.getTree(), - dispatch('updateEvents', { ...params, type: eventsType.DEPOSIT }) - ]) - - const commitments = eventsData.events.map((el) => el.commitment.toString(10)) - - let tree = cachedTree - if (tree) { - const newLeaves = commitments.slice(tree.elements.length) - tree.bulkInsert(newLeaves) - } else { - console.log('events', eventsData) - checkCommitments(eventsData.events) - tree = treeService.createTree({ events: commitments }) - } - - const root = toFixedHex(tree.root) - await dispatch('checkRoot', { root, parsedNote: params }) - - await treeService.saveTree({ tree }) - - return { tree, root } - }, - async createSnarkProof( - { rootGetters, rootState, state, getters }, - { root, note, tree, recipient, leafIndex } - ) { - const { pathElements, pathIndices } = tree.path(leafIndex) - console.log('pathElements, pathIndices', pathElements, pathIndices) - - const nativeCurrency = rootGetters['metamask/nativeCurrency'] - const withdrawType = state.withdrawType - - let relayer = BigInt(recipient) - let fee = BigInt(0) - let refund = BigInt(0) - - if (withdrawType === 'relayer') { - let totalRelayerFee = getters.relayerFee - relayer = BigInt(rootState.relayer.selectedRelayer.address) - - if (note.currency !== nativeCurrency) { - refund = BigInt(state.ethToReceive.toString()) - totalRelayerFee = totalRelayerFee.add(getters.ethToReceiveInToken) - } - - fee = BigInt(totalRelayerFee.toString()) - } - - const input = { - // public - fee, - root, - refund, - relayer, - recipient: BigInt(recipient), - nullifierHash: note.nullifierHash, - // private - pathIndices, - pathElements, - secret: note.secret, - nullifier: note.nullifier - } - - const { circuit, provingKey } = await getTornadoKeys() - - if (!groth16) { - groth16 = await buildGroth16() - } - - console.log('Start generating SNARK proof', input) - console.time('SNARK proof time') - const proofData = await websnarkUtils.genWitnessAndProve(groth16, input, circuit, provingKey) - const { proof } = websnarkUtils.toSolidityInput(proofData) - - const args = [ - toFixedHex(input.root), - toFixedHex(input.nullifierHash), - toFixedHex(input.recipient, 20), - toFixedHex(input.relayer, 20), - toFixedHex(input.fee), - toFixedHex(input.refund) - ] - return { args, proof } - }, - async prepareWithdraw({ dispatch, getters, commit }, { note, recipient }) { - commit('REMOVE_PROOF', { note }) - try { - const parsedNote = parseNote(note) - - const { tree, root } = await dispatch('buildTree', parsedNote) - - const isSpent = await dispatch('checkSpentEventFromNullifier', parsedNote) - - if (isSpent) { - throw new Error(this.app.i18n.t('noteHasBeenSpent')) - } - - const { proof, args } = await dispatch('createSnarkProof', { - root, - tree, - recipient, - note: parsedNote, - leafIndex: tree.indexOf(parsedNote.commitmentHex) - }) - console.timeEnd('SNARK proof time') - commit('SAVE_PROOF', { proof, args, note }) - } catch (e) { - console.error('prepareWithdraw', e) - throw new Error(e.message) - } - }, - async withdraw({ state, rootState, dispatch, getters }, { note }) { - try { - const [, currency, amount, netId] = note.split('-') - const config = networkConfig[`netId${netId}`] - const { proof, args } = state.notes[note] - const { ethAccount } = rootState.metamask - - const contractInstance = getters.tornadoProxyContract({ netId }) - - const instance = config.tokens[currency].instanceAddress[amount] - const params = [instance, proof, ...args] - - const data = contractInstance.methods.withdraw(...params).encodeABI() - const gas = await contractInstance.methods - .withdraw(...params) - .estimateGas({ from: ethAccount, value: args[5] }) - - const callParams = { - method: 'eth_sendTransaction', - params: { - data, - value: args[5], - to: contractInstance._address, - gas: numberToHex(gas + 200000) - }, - watcherParams: { - title: { path: 'withdrawing', amount, currency }, - successTitle: { - amount, - currency, - path: 'withdrawnValue' - }, - onSuccess: (txHash) => { - dispatch('txHashKeeper/updateDeposit', { amount, currency, netId, note, txHash }, { root: true }) - } - }, - isAwait: false, - isSaving: false - } - - await dispatch('metamask/sendTransaction', callParams, { root: true }) - } catch (e) { - console.error(e) - throw new Error(e.message) - } - }, - loadAllNotesData({ dispatch, rootGetters }) { - const { tokens } = rootGetters['metamask/networkConfig'] - - for (const [currency, { instanceAddress }] of Object.entries(tokens)) { - for (const amount in instanceAddress) { - if (instanceAddress[amount]) { - dispatch('updateLastIndex', { currency, amount }) - } - } - } - }, - async updateLastIndex({ dispatch, commit, rootState }, { currency, amount }) { - const netId = rootState.metamask.netId - const { nextDepositIndex, anonymitySet } = await dispatch('getLastDepositIndex', { - currency, - netId, - amount - }) - - commit('SAVE_LAST_INDEX', { - amount, - currency, - anonymitySet, - nextDepositIndex - }) - }, - async loadEvent({ getters, rootGetters }, { note, type, eventName, eventToFind }) { - try { - const eventService = getters.eventsInterface.getService(note) - - const foundEvent = await eventService.findEvent({ eventName, eventToFind, type }) - - return foundEvent - } catch (err) { - console.error(`Method loadEvent has error: ${err.message}`) - } - }, - async loadDepositEvent({ state, dispatch }, { withdrawNote }) { - try { - const note = parseNote(withdrawNote) - - const lastEvent = await dispatch('loadEvent', { - note, - eventName: 'commitment', - type: eventsType.DEPOSIT, - methodName: 'getAllDeposits', - eventToFind: note.commitmentHex - }) - - if (lastEvent) { - const { nextDepositIndex } = state.statistic[note.currency][note.amount] - const depositsPast = nextDepositIndex - lastEvent.leafIndex - 1 - - const isSpent = await dispatch('checkSpentEventFromNullifier', note) - - return { - isSpent, - depositsPast, - timestamp: lastEvent.timestamp, - leafIndex: lastEvent.leafIndex, - txHash: lastEvent.transactionHash, - depositBlock: lastEvent.blockNumber - } - } - } catch (err) { - console.error(`Method loadDepositEvent has error: ${err.message}`) - } - }, - async loadWithdrawalEvent({ dispatch }, { withdrawNote }) { - try { - const note = parseNote(withdrawNote) - - const lastEvent = await dispatch('loadEvent', { - note, - eventName: 'nullifierHash', - type: eventsType.WITHDRAWAL, - methodName: 'getAllWithdrawals', - eventToFind: note.nullifierHex - }) - - if (lastEvent) { - return { - to: lastEvent.to, - fee: lastEvent.fee, - txHash: lastEvent.transactionHash, - blockNumber: lastEvent.blockNumber - } - } - } catch (err) { - console.error(`Method loadWithdrawalEvent has error: ${err.message}`) - } - }, - async loadWithdrawalData({ commit, dispatch, rootGetters }, { withdrawNote }) { - try { - const toDecimals = rootGetters['token/toDecimals'] - - const { currency, amount } = parseNote(withdrawNote) - const { fee, txHash, blockNumber, to } = await dispatch('loadWithdrawalEvent', { withdrawNote }) - - const decimals = rootGetters['metamask/networkConfig'].tokens[currency].decimals - const withdrawalAmount = toBN(rootGetters['token/fromDecimals'](amount.toString(), decimals)).sub( - toBN(fee) - ) - - return { - to, - txHash, - withdrawalBlock: blockNumber, - fee: toDecimals(fee, decimals, 4), - amount: toDecimals(withdrawalAmount, decimals, 4) - } - } catch (e) { - console.error(`Method loadWithdrawalData has error: ${e}`) - } - }, - calculateEthToReceive({ commit, state, rootGetters }, { currency }) { - const gasLimit = rootGetters['metamask/networkConfig'].tokens[currency].gasLimit - const gasPrice = toBN(rootGetters['gasPrices/gasPrice']) - - const ethToReceive = gasPrice - .mul(toBN(gasLimit)) - .mul(toBN(2)) - .toString() - return ethToReceive - }, - async setDefaultEthToReceive({ dispatch, commit }, { currency }) { - const ethToReceive = await dispatch('calculateEthToReceive', { currency }) - commit('SAVE_ETH_TO_RECEIVE', { ethToReceive }) - commit('SAVE_DEFAULT_ETH_TO_RECEIVE', { ethToReceive }) - }, - setNativeCurrency({ commit }, { netId }) { - const currency = networkConfig[`netId${netId}`].nativeCurrency - const amounts = Object.keys(networkConfig[`netId${netId}`].tokens[currency].instanceAddress) - const amount = Math.min(...amounts) - - commit('SET_SELECTED_INSTANCE', { currency, amount }) - commit('SET_SELECTED_STATISTIC', { currency, amount }) - }, - async aggregateMulticall({ rootGetters, getters }, { params }) { - try { - const netId = rootGetters['metamask/netId'] - const multicallContract = getters.multicallContract({ netId }) - - const result = await multicallContract.methods.aggregate(params).call() - - return result.returnData - } catch (err) { - console.log('err', err.message) - } - } -} -export default { - namespaced: true, - state, - getters, - mutations, - actions -} diff --git a/store/encryptedNote.js b/store/encryptedNote.js deleted file mode 100644 index 59acd56..0000000 --- a/store/encryptedNote.js +++ /dev/null @@ -1,3 +0,0 @@ -import { actions, getters, state, mutations } from '@/modules/account/store' - -export { actions, getters, mutations, state } diff --git a/store/gasPrices.js b/store/gasPrices.js deleted file mode 100644 index 8145814..0000000 --- a/store/gasPrices.js +++ /dev/null @@ -1,115 +0,0 @@ -/* eslint-disable no-console */ -import Web3 from 'web3' -import { toHex, fromWei } from 'web3-utils' -import { GasPriceOracle } from 'gas-price-oracle' -import { serialize } from '@ethersproject/transactions' - -import networkConfig from '@/networkConfig' -import OvmGasPriceOracleABI from '@/abis/OvmGasPriceOracle.abi.json' -import { DUMMY_NONCE, DUMMY_WITHDRAW_DATA } from '@/constants/variables' - -export const state = () => { - return { - gasParams: { gasPrice: 50 }, - l1Fee: '0' - } -} - -export const getters = { - oracle: (state, getters, rootState, rootGetters) => { - const netId = Number(rootGetters['metamask/netId']) - const { gasPrices } = rootGetters['metamask/networkConfig'] - - return new GasPriceOracle({ - chainId: netId, - defaultRpc: rootGetters['settings/currentRpc'].url, - defaultFallbackGasPrices: gasPrices - }) - }, - ovmGasPriceOracleContract: (state, getters, rootState) => ({ netId }) => { - const config = networkConfig[`netId${netId}`] - const { url } = rootState.settings[`netId${netId}`].rpc - const address = config.ovmGasPriceOracleContract - if (address) { - const web3 = new Web3(url) - - return new web3.eth.Contract(OvmGasPriceOracleABI, address) - } - - return null - }, - l1Fee: (state) => { - return state.l1Fee - }, - getGasParams: (state) => { - return state.gasParams - }, - gasPrice: (state, getters) => { - const { gasPrice, maxFeePerGas } = getters.getGasParams - return toHex(maxFeePerGas || gasPrice) - }, - gasPriceInGwei: (state, getters) => { - return fromWei(getters.gasPrice, 'gwei') - } -} - -export const mutations = { - SAVE_GAS_PARAMS(state, payload) { - state.gasParams = payload - }, - SAVE_L1_FEE(state, l1Fee) { - state.l1Fee = l1Fee - } -} - -export const actions = { - async fetchGasPrice({ getters, dispatch, commit, rootGetters }) { - const netId = rootGetters['metamask/netId'] - const { pollInterval } = rootGetters['metamask/networkConfig'] - - const isLegacy = netId === 137 - - try { - const txGasParams = await getters.oracle.getTxGasParams({ isLegacy }) - commit('SAVE_GAS_PARAMS', txGasParams) - await dispatch('fetchL1Fee') - } catch (e) { - console.error('fetchGasPrice', e) - } finally { - setTimeout(() => dispatch('fetchGasPrice'), 1000 * pollInterval) - } - }, - setDefault({ commit, rootGetters }) { - const { gasPrices } = rootGetters['metamask/networkConfig'] - commit('SAVE_GAS_PARAMS', { gasPrice: gasPrices?.fast }) - }, - async fetchL1Fee({ commit, getters, rootGetters }) { - const netId = rootGetters['metamask/netId'] - const isOptimismConnected = rootGetters['application/isOptimismConnected'] - - const oracleInstance = getters.ovmGasPriceOracleContract({ netId }) - - if (isOptimismConnected && oracleInstance) { - try { - const gasLimit = rootGetters['application/withdrawGas'] - const tornadoProxyInstance = rootGetters['application/tornadoProxyContract']({ netId }) - - const tx = serialize({ - type: 0, - gasLimit, - chainId: netId, - nonce: DUMMY_NONCE, - data: DUMMY_WITHDRAW_DATA, - gasPrice: getters.gasPrice, - to: tornadoProxyInstance._address - }) - - const l1Fee = await oracleInstance.methods.getL1Fee(tx).call() - - commit('SAVE_L1_FEE', l1Fee) - } catch (err) { - console.error('fetchL1Fee has error:', err.message) - } - } - } -} diff --git a/store/governance/gov.js b/store/governance/gov.js deleted file mode 100644 index 933d6df..0000000 --- a/store/governance/gov.js +++ /dev/null @@ -1,962 +0,0 @@ -/* eslint-disable no-console */ -/* eslint-disable import/order */ - -import Web3 from 'web3' -import { utils } from 'ethers' -import { ToastProgrammatic as Toast } from 'buefy' - -import networkConfig from '@/networkConfig' - -import GovernanceABI from '@/abis/Governance.abi.json' -import AggregatorABI from '@/abis/Aggregator.abi.json' - -import { httpConfig } from '@/constants' - -const { numberToHex, toWei, fromWei, toBN, hexToNumber, hexToNumberString } = require('web3-utils') - -const state = () => { - return { - approvalAmount: 'unlimited', - lockedBalance: '0', - isFetchingLockedBalance: false, - currentDelegate: '0x0000000000000000000000000000000000000000', - timestamp: 0, - delegatedBalance: '0', - isFetchingDelegatedBalance: false, - delegators: [], - latestProposalId: { - value: null, - status: null - }, - isFetchingProposals: true, - isCastingVote: false, - proposals: [], - voterReceipts: [], - hasActiveProposals: false, - constants: { - EXECUTION_DELAY: 172800, - EXECUTION_EXPIRATION: 259200, - PROPOSAL_THRESHOLD: '1000000000000000000000', - QUORUM_VOTES: '25000000000000000000000', - VOTING_PERIOD: 432000 - } - } -} - -const getters = { - getConfig: (state, getters, rootState) => ({ netId }) => { - return networkConfig[`netId${netId}`] - }, - getWeb3: (state, getters, rootState) => ({ netId }) => { - const { url } = rootState.settings[`netId${netId}`].rpc - const httpProvider = new Web3.providers.HttpProvider(url, httpConfig) - - return new Web3(httpProvider) - }, - govContract: (state, getters, rootState) => ({ netId }) => { - const config = getters.getConfig({ netId }) - const address = config['governance.contract.tornadocash.eth'] - if (address) { - const web3 = getters.getWeb3({ netId }) - const contract = new web3.eth.Contract(GovernanceABI, address) - return contract - } - - return null - }, - aggregatorContract: (state, getters, rootState, rootGetters) => { - const { aggregatorContract } = rootGetters['metamask/networkConfig'] - const { url } = rootGetters['settings/currentRpc'] - const web3 = new Web3(url) - return new web3.eth.Contract(AggregatorABI, aggregatorContract) - }, - isFetchingProposals: ({ proposals, isFetchingProposals }) => { - if (proposals && proposals.length && !isFetchingProposals) { - return false - } - - return isFetchingProposals - }, - votingPower: (state) => { - return toBN(state.lockedBalance) - .add(toBN(state.delegatedBalance)) - .toString(10) - }, - quorumVotes: (state, getters, rootState, rootGetters) => { - return rootGetters['token/toDecimals'](state.constants.QUORUM_VOTES, 18) - }, - votingPeriod: (state) => { - return toBN(state.constants.VOTING_PERIOD) - .divRound(toBN(24 * 60 * 60)) - .toNumber() - }, - isEnabledGovernance: (state, getters, rootState, rootGetters) => { - return Boolean(rootGetters['metamask/networkConfig']['governance.contract.tornadocash.eth']) - }, - constants: (state) => { - return state.constants - }, - isFetchingBalances: (state) => { - return state.isFetchingLockedBalance || state.isFetchingDelegatedBalance - } -} - -const mutations = { - SET_APPROVAL_AMOUNT(state, { approvalAmount }) { - state.approvalAmount = approvalAmount - }, - SAVE_FETCHING_PROPOSALS(state, status) { - this._vm.$set(state, 'isFetchingProposals', status) - }, - SAVE_CASTING_VOTE(state, status) { - this._vm.$set(state, 'isCastingVote', status) - }, - SAVE_LOCKED_BALANCE(state, { balance }) { - this._vm.$set(state, 'lockedBalance', balance) - }, - SAVE_FETCHING_LOCKED_BALANCE(state, status) { - this._vm.$set(state, 'isFetchingLockedBalance', status) - }, - SAVE_LOCKED_TIMESTAMP(state, { timestamp }) { - this._vm.$set(state, 'timestamp', timestamp) - }, - SAVE_LATEST_PROPOSAL_ID(state, { id, status }) { - this._vm.$set(state, 'latestProposalId', { value: id, status }) - }, - SAVE_DELEGATEE(state, { currentDelegate }) { - this._vm.$set(state, 'currentDelegate', currentDelegate) - }, - SAVE_PROPOSALS(state, proposals) { - this._vm.$set(state, 'proposals', proposals) - }, - SAVE_VOTER_RECEIPT(state, { hasVoted, support, balance, id }) { - this._vm.$set(state.voterReceipts, id, { hasVoted, support, balance }) - }, - SAVE_DELEGATED_BALANCE(state, balance) { - this._vm.$set(state, 'delegatedBalance', balance) - }, - SAVE_FETCHING_DELEGATED_BALANCE(state, status) { - this._vm.$set(state, 'isFetchingDelegatedBalance', status) - }, - SAVE_DELEGATORS(state, uniq) { - this._vm.$set(state, 'delegators', uniq) - }, - SET_HAS_ACTIVE_PROPOSALS(state, condition) { - this._vm.$set(state, 'hasActiveProposals', condition) - }, - SAVE_CONSTANTS(state, constants) { - this._vm.$set(state, 'constants', constants) - } -} - -// enum ProposalState { Pending, Active, Defeated, Timelocked, AwaitingExecution, Executed, Expired } - -const ProposalState = [ - 'pending', - 'active', - 'defeated', - 'timeLocked', - 'awaitingExecution', - 'executed', - 'expired' -] - -const proposalIntervalConstants = [ - // 'CLOSING_PERIOD', - 'EXECUTION_DELAY', - 'EXECUTION_EXPIRATION', - // 'VOTE_EXTEND_TIME', - // 'VOTING_DELAY', - 'VOTING_PERIOD' -] - -const govConstants = ['PROPOSAL_THRESHOLD', 'QUORUM_VOTES'] - -const actions = { - async createProposal( - { getters, rootGetters, state, commit, rootState, dispatch }, - { proposalAddress, title, description } - ) { - try { - const { ethAccount } = rootState.metamask - const netId = rootGetters['metamask/netId'] - - const govInstance = getters.govContract({ netId }) - const json = JSON.stringify({ title, description }) - const data = await govInstance.methods.propose(proposalAddress, json).encodeABI() - - const gas = await govInstance.methods - .propose(proposalAddress, json) - .estimateGas({ from: ethAccount, value: 0 }) - - const callParams = { - method: 'eth_sendTransaction', - params: { - to: govInstance._address, - gas: numberToHex(gas + 100000), - data - }, - watcherParams: { - title: 'creatingProposal', - successTitle: 'proposalCreated', - storeType: 'govTxs', - onSuccess: () => { - dispatch('torn/fetchTokenBalance', {}, { root: true }) - } - }, - isSaving: false - } - - const txHash = await dispatch('metamask/sendTransaction', callParams, { root: true }) - - commit( - 'txHashKeeper/SAVE_TX_HASH', - { - txHash, - storeType: 'govTxs', - type: 'Proposal', - netId - }, - { root: true } - ) - - await dispatch('fetchProposals', { requestId: state.proposals.length }) - - this.$router.push('/governance') - } catch (e) { - console.error('createProposal', e.message) - dispatch( - 'notice/addNoticeWithInterval', - { - notice: { - title: 'internalError', - type: 'danger' - }, - interval: 3000 - }, - { root: true } - ) - } - }, - async lock({ getters, rootGetters, commit, rootState, dispatch }) { - try { - const { ethAccount } = rootState.metamask - const netId = rootGetters['metamask/netId'] - const { deadline, v, r, s } = rootState.torn.signature - const govInstance = getters.govContract({ netId }) - const amount = toWei(rootState.torn.signature.amount.toString()) - const gas = await govInstance.methods - .lock(ethAccount, amount, deadline, v, r, s) - .estimateGas({ from: ethAccount, value: 0 }) - const data = await govInstance.methods.lock(ethAccount, amount, deadline, v, r, s).encodeABI() - - const callParams = { - method: 'eth_sendTransaction', - params: { - to: govInstance._address, - gas: numberToHex(gas + 30000), - data - }, - watcherParams: { - title: 'locking', - successTitle: 'lockedNotice', - storeType: 'govTxs', - onSuccess: () => { - dispatch('fetchBalances') - dispatch('torn/fetchTokenBalance', {}, { root: true }) - commit('torn/REMOVE_SIGNATURE', {}, { root: true }) - } - }, - isAwait: false - } - - const txHash = await dispatch('metamask/sendTransaction', callParams, { root: true }) - - commit( - 'txHashKeeper/SAVE_TX_HASH', - { - txHash, - storeType: 'govTxs', - type: 'Lock', - netId - }, - { root: true } - ) - } catch (e) { - console.error('lock', e.message) - dispatch( - 'notice/addNoticeWithInterval', - { - notice: { - title: 'internalError', - type: 'danger' - }, - interval: 3000 - }, - { root: true } - ) - } - }, - async lockWithApproval({ getters, rootGetters, commit, rootState, dispatch }, { amount }) { - try { - const { ethAccount } = rootState.metamask - const netId = rootGetters['metamask/netId'] - const govInstance = getters.govContract({ netId }) - amount = toWei(amount.toString()) - const gas = await govInstance.methods - .lockWithApproval(amount) - .estimateGas({ from: ethAccount, value: 0 }) - const data = await govInstance.methods.lockWithApproval(amount).encodeABI() - - const callParams = { - method: 'eth_sendTransaction', - params: { - to: govInstance._address, - gas: numberToHex(gas + 100000), - data - }, - watcherParams: { - title: 'locking', - successTitle: 'lockedNotice', - storeType: 'govTxs', - onSuccess: () => { - dispatch('fetchBalances') - dispatch('torn/fetchTokenBalance', {}, { root: true }) - dispatch('torn/fetchTokenAllowance', {}, { root: true }) - } - }, - isAwait: false - } - - const txHash = await dispatch('metamask/sendTransaction', callParams, { root: true }) - - commit( - 'txHashKeeper/SAVE_TX_HASH', - { - txHash, - storeType: 'govTxs', - type: 'Lock', - netId - }, - { root: true } - ) - } catch (e) { - console.error('lockWithApproval', e.message) - Toast.open({ - message: this.app.i18n.t('internalError'), - type: 'is-danger', - duration: 3000 - }) - } - }, - async castVote(context, payload) { - const { getters, rootGetters, commit, rootState, dispatch, state } = context - const { id, support, contact = '', message = '' } = payload - - commit('SAVE_CASTING_VOTE', true) - - try { - const { ethAccount } = rootState.metamask - const netId = rootGetters['metamask/netId'] - const govInstance = getters.govContract({ netId }) - const delegators = [...state.delegators] - const web3 = getters.getWeb3({ netId }) - - if (toBN(state.lockedBalance).gt(toBN('0'))) { - delegators.push(ethAccount) - } - - const data = govInstance.methods.castDelegatedVote(delegators, id, support).encodeABI() - let dataWithTail = data - - if (contact || message) { - const value = JSON.stringify([contact, message]) - const tail = utils.defaultAbiCoder.encode(['string'], [value]) - dataWithTail = utils.hexConcat([data, tail]) - } - - const gas = await web3.eth.estimateGas({ - from: ethAccount, - to: govInstance._address, - value: 0, - data: dataWithTail - }) - - const callParams = { - method: 'eth_sendTransaction', - params: { - to: govInstance._address, - gas: numberToHex(gas + 30000), - data: dataWithTail - }, - watcherParams: { - title: support ? 'votingFor' : 'votingAgainst', - successTitle: support ? 'votedFor' : 'votedAgainst', - storeType: 'govTxs', - onSuccess: () => { - dispatch('fetchProposals', { requestId: id }) - } - }, - isAwait: false - } - - const txHash = await dispatch('metamask/sendTransaction', callParams, { root: true }) - - commit( - 'txHashKeeper/SAVE_TX_HASH', - { - txHash, - storeType: 'govTxs', - type: 'CastVote', - netId - }, - { root: true } - ) - } catch (e) { - console.error('castVote', e.message) - dispatch( - 'notice/addNoticeWithInterval', - { - notice: { - title: 'internalError', - type: 'danger' - }, - interval: 3000 - }, - { root: true } - ) - } finally { - dispatch('loading/disable', {}, { root: true }) - commit('SAVE_CASTING_VOTE', false) - } - }, - async executeProposal({ getters, rootGetters, commit, rootState, dispatch }, { id }) { - try { - const { ethAccount } = rootState.metamask - const netId = rootGetters['metamask/netId'] - const govInstance = getters.govContract({ netId }) - const gas = await govInstance.methods.execute(id).estimateGas({ from: ethAccount, value: 0 }) - const data = await govInstance.methods.execute(id).encodeABI() - - const callParams = { - method: 'eth_sendTransaction', - params: { - to: govInstance._address, - gas: numberToHex(gas + 100000), - data - }, - watcherParams: { - title: 'executingProposal', - successTitle: 'proposalExecuted', - storeType: 'govTxs', - onSuccess: () => { - dispatch('fetchProposals', { requestId: id }) - } - }, - isAwait: false - } - - const txHash = await dispatch('metamask/sendTransaction', callParams, { root: true }) - - commit( - 'txHashKeeper/SAVE_TX_HASH', - { - txHash, - storeType: 'govTxs', - type: 'ExecuteProposal', - netId - }, - { root: true } - ) - } catch (e) { - console.error('executeProposal', e.message) - dispatch( - 'notice/addNoticeWithInterval', - { - notice: { - title: 'internalError', - type: 'danger' - }, - interval: 3000 - }, - { root: true } - ) - } - }, - async unlock({ getters, rootGetters, commit, rootState, dispatch }, { amount }) { - try { - const { ethAccount } = rootState.metamask - const netId = rootGetters['metamask/netId'] - const govInstance = getters.govContract({ netId }) - amount = toWei(amount.toString()) - const gas = await govInstance.methods.unlock(amount).estimateGas({ from: ethAccount, value: 0 }) - const data = await govInstance.methods.unlock(amount).encodeABI() - - const callParams = { - method: 'eth_sendTransaction', - params: { - to: govInstance._address, - gas: numberToHex(gas + 100000), - data - }, - watcherParams: { - title: 'unlocking', - successTitle: 'unlocked', - storeType: 'govTxs', - onSuccess: () => { - dispatch('fetchBalances') - dispatch('torn/fetchTokenBalance', {}, { root: true }) - commit('torn/REMOVE_SIGNATURE', {}, { root: true }) - } - }, - isAwait: false - } - - const txHash = await dispatch('metamask/sendTransaction', callParams, { root: true }) - - commit( - 'txHashKeeper/SAVE_TX_HASH', - { - txHash, - storeType: 'govTxs', - type: 'Unlock', - netId - }, - { root: true } - ) - } catch (e) { - console.error('unlock', e.message) - dispatch( - 'notice/addNoticeWithInterval', - { - notice: { - title: 'internalError', - type: 'danger' - }, - interval: 3000 - }, - { root: true } - ) - } - }, - async delegate({ getters, rootGetters, commit, rootState, dispatch }, { delegatee }) { - try { - const { ethAccount } = rootState.metamask - const netId = rootGetters['metamask/netId'] - - const govInstance = getters.govContract({ netId }) - const gas = await govInstance.methods.delegate(delegatee).estimateGas({ from: ethAccount, value: 0 }) - const data = await govInstance.methods.delegate(delegatee).encodeABI() - - const callParams = { - method: 'eth_sendTransaction', - params: { - to: govInstance._address, - gas: numberToHex(gas + 100000), - data - }, - watcherParams: { - title: 'delegating', - successTitle: 'delegated', - storeType: 'govTxs', - onSuccess: () => { - dispatch('fetchDelegatee') - } - }, - isAwait: false - } - - const txHash = await dispatch('metamask/sendTransaction', callParams, { root: true }) - - commit( - 'txHashKeeper/SAVE_TX_HASH', - { - storeType: 'govTxs', - txHash, - type: 'Delegate', - netId - }, - { root: true } - ) - } catch (e) { - console.error('delegate', e.message) - dispatch( - 'notice/addNoticeWithInterval', - { - notice: { - title: 'internalError', - type: 'danger' - }, - interval: 3000 - }, - { root: true } - ) - } - }, - async undelegate({ getters, rootGetters, commit, rootState, dispatch }) { - try { - const { ethAccount } = rootState.metamask - const netId = rootGetters['metamask/netId'] - - const govInstance = getters.govContract({ netId }) - const gas = await govInstance.methods.undelegate().estimateGas({ from: ethAccount, value: 0 }) - const data = await govInstance.methods.undelegate().encodeABI() - - const callParams = { - method: 'eth_sendTransaction', - params: { - to: govInstance._address, - gas: numberToHex(gas + 100000), - data - }, - watcherParams: { - title: 'undelegating', - successTitle: 'undelegated', - storeType: 'govTxs', - onSuccess: () => { - dispatch('fetchDelegatee') - } - }, - isAwait: false - } - - const txHash = await dispatch('metamask/sendTransaction', callParams, { root: true }) - - commit( - 'txHashKeeper/SAVE_TX_HASH', - { - txHash, - storeType: 'govTxs', - type: 'Undelegate', - netId - }, - { root: true } - ) - } catch (e) { - console.error('undelegate', e.message) - dispatch( - 'notice/addNoticeWithInterval', - { - notice: { - title: 'internalError', - type: 'danger' - }, - interval: 3000 - }, - { root: true } - ) - } - }, - async fetchProposals({ rootGetters, getters, commit }, { requestId }) { - let proposals = [] - try { - commit('SAVE_FETCHING_PROPOSALS', true) - - const netId = rootGetters['metamask/netId'] - const aggregatorContract = getters.aggregatorContract - const govInstance = getters.govContract({ netId }) - const config = getters.getConfig({ netId }) - - if (!govInstance) { - return - } - - const [events, statuses] = await Promise.all([ - govInstance.getPastEvents('ProposalCreated', { - fromBlock: config.constants.GOVERNANCE_BLOCK, - toBlock: 'latest' - }), - aggregatorContract.methods.getAllProposals(govInstance._address).call() - ]) - - const parseDescription = ({ id, text }) => { - if (netId === 1) { - switch (id) { - case 1: - return { - title: text, - description: 'See: https://torn.community/t/proposal-1-enable-torn-transfers/38' - } - case 10: - text = text.replace('\n', '\\n\\n') - break - case 11: - text = text.replace('"description"', ',"description"') - break - case 13: - text = text.replace(/\\\\n\\\\n(\s)?(\\n)?/g, '\\n') - } - } - - let title, description, rest - try { - ;({ title, description } = JSON.parse(text)) - } catch { - ;[title, ...rest] = text.split('\n', 2) - description = rest.join('\n') - } - - return { title, description } - } - - proposals = events - .map(({ returnValues, blockNumber }, index) => { - const id = Number(returnValues.id) - const { state, startTime, endTime, forVotes, againstVotes } = statuses[index] - const { title, description } = parseDescription({ id, text: returnValues.description }) - - return { - id, - title, - description, - target: returnValues.target, - proposer: returnValues.proposer, - endTime: Number(endTime), - startTime: Number(startTime), - status: ProposalState[Number(state)], - blockNumber, - results: { - for: fromWei(forVotes), - against: fromWei(againstVotes) - } - } - }) - .sort((a, b) => { - return a.id - b.id - }) - - if (requestId) { - return proposals[requestId] - } - } catch (e) { - console.error('fetchProposals', e.message) - } finally { - commit('SAVE_PROPOSALS', proposals) - commit('SAVE_FETCHING_PROPOSALS', false) - } - }, - async fetchBalances({ getters, rootGetters, commit, rootState }) { - try { - commit('SAVE_FETCHING_LOCKED_BALANCE', true) - const { ethAccount } = rootState.metamask - - if (!ethAccount) { - return - } - - const netId = rootGetters['metamask/netId'] - - const govInstance = getters.govContract({ netId }) - const balance = await govInstance.methods.lockedBalance(ethAccount).call() - commit('SAVE_LOCKED_BALANCE', { balance }) - } catch (e) { - console.error('fetchBalances', e.message) - } finally { - commit('SAVE_FETCHING_LOCKED_BALANCE', false) - } - }, - async fetchedLockedTimestamp({ getters, rootGetters, commit, rootState, dispatch }) { - try { - const { ethAccount } = rootState.metamask - - if (!ethAccount) { - return - } - - const netId = rootGetters['metamask/netId'] - - const govInstance = getters.govContract({ netId }) - const timestamp = await govInstance.methods.canWithdrawAfter(ethAccount).call() - commit('SAVE_LOCKED_TIMESTAMP', { timestamp }) - } catch (e) { - console.error('fetchedLockedTimestamp', e.message) - } - }, - async fetchLatestProposalId({ getters, rootGetters, commit, rootState, state }) { - try { - const { ethAccount } = rootState.metamask - - if (!ethAccount) { - return - } - - const netId = rootGetters['metamask/netId'] - - const govInstance = getters.govContract({ netId }) - const id = await govInstance.methods.latestProposalIds(ethAccount).call() - let status = null - if (Number(id)) { - status = await govInstance.methods.state(id).call() - status = Number(status) > 1 ? null : 'active' - } - commit('SAVE_LATEST_PROPOSAL_ID', { id, status }) - console.log('status', state.latestProposalId) - } catch (e) { - console.error('fetchLatestProposalId', e.message) - } - }, - async fetchDelegatedBalance({ getters, rootGetters, commit, rootState, dispatch }) { - try { - commit('SAVE_FETCHING_DELEGATED_BALANCE', true) - const { ethAccount } = rootState.metamask - - if (!ethAccount) { - return - } - - const netId = rootGetters['metamask/netId'] - const config = getters.getConfig({ netId }) - - const aggregatorContract = getters.aggregatorContract - const govInstance = getters.govContract({ netId }) - let delegatedAccs = await govInstance.getPastEvents('Delegated', { - filter: { - to: ethAccount - }, - fromBlock: config.constants.GOVERNANCE_BLOCK, - toBlock: 'latest' - }) - let undelegatedAccs = await govInstance.getPastEvents('Undelegated', { - filter: { - from: ethAccount - }, - fromBlock: config.constants.GOVERNANCE_BLOCK, - toBlock: 'latest' - }) - delegatedAccs = delegatedAccs.map((acc) => acc.returnValues.account) - undelegatedAccs = undelegatedAccs.map((acc) => acc.returnValues.account) - const uniq = delegatedAccs.filter((obj, index, self) => { - const indexUndelegated = undelegatedAccs.indexOf(obj) - if (indexUndelegated !== -1) { - undelegatedAccs.splice(indexUndelegated, 1) - return false - } - return true - }) - let balances = await aggregatorContract.methods.getGovernanceBalances(govInstance._address, uniq).call() - balances = balances.reduce((acc, balance, i) => { - acc = acc.add(toBN(balance)) - return acc - }, toBN('0')) - commit('SAVE_DELEGATED_BALANCE', balances.toString(10)) - commit('SAVE_DELEGATORS', uniq) - } catch (e) { - console.error('fetchDelegatedBalance', e.message) - } finally { - commit('SAVE_FETCHING_DELEGATED_BALANCE', false) - } - }, - async fetchDelegatee({ getters, rootGetters, commit, rootState, dispatch }) { - try { - const { ethAccount } = rootState.metamask - - if (!ethAccount) { - return - } - - const netId = rootGetters['metamask/netId'] - - const govInstance = getters.govContract({ netId }) - const currentDelegate = await govInstance.methods.delegatedTo(ethAccount).call() - console.log('currentDelegate', currentDelegate) - commit('SAVE_DELEGATEE', { currentDelegate }) - } catch (e) { - console.error('fetchDelegatee', e.message) - } - }, - async fetchReceipt({ getters, rootGetters, commit, rootState, dispatch }, { id }) { - try { - const { ethAccount } = rootState.metamask - const netId = rootGetters['metamask/netId'] - console.log('fetchReceipt', id) - const govInstance = getters.govContract({ netId }) - const [hasVoted, support, balance] = await govInstance.methods.getReceipt(id, ethAccount).call() - console.log('fetchReceipt', hasVoted, support, balance) - commit('SAVE_VOTER_RECEIPT', { hasVoted, support, balance, id }) - } catch (e) { - console.error('fetchReceipt', e.message) - } - }, - async fetchUserData({ getters, rootGetters, commit, rootState, dispatch }) { - try { - commit('SAVE_FETCHING_LOCKED_BALANCE', true) - const { ethAccount } = rootState.metamask - - if (!ethAccount) { - return - } - - const netId = rootGetters['metamask/netId'] - const govInstance = getters.govContract({ netId }) - const aggregatorContract = getters.aggregatorContract - const { - balance, - latestProposalId, - timelock, - delegatee, - ...userdata - } = await aggregatorContract.methods.getUserData(govInstance._address, ethAccount).call() - commit('SAVE_DELEGATEE', { currentDelegate: delegatee }) - - const latestProposalIdState = ProposalState[Number(userdata.latestProposalIdState)] - commit('SAVE_LATEST_PROPOSAL_ID', { id: Number(latestProposalId), status: latestProposalIdState }) - commit('SAVE_LOCKED_TIMESTAMP', { timestamp: Number(timelock) }) - commit('SAVE_LOCKED_BALANCE', { balance }) - } catch (e) { - console.error('fetchUserData', e.message) - } finally { - commit('SAVE_FETCHING_LOCKED_BALANCE', false) - } - }, - async checkActiveProposals({ getters, rootGetters, commit }) { - if (!getters.isEnabledGovernance) { - return - } - - const { 'governance.contract.tornadocash.eth': governanceAddress } = rootGetters['metamask/networkConfig'] - const aggregatorContract = getters.aggregatorContract - - const statuses = await aggregatorContract.methods.getAllProposals(governanceAddress).call() - let isActive = false - if (statuses && Array.isArray(statuses)) { - isActive = statuses.find((status) => Number(status.state) === 1) - } - - commit('SET_HAS_ACTIVE_PROPOSALS', Boolean(isActive)) - }, - async fetchConstants({ commit, getters, dispatch, rootGetters }) { - const netId = rootGetters['metamask/netId'] - const govInstance = getters.govContract({ netId }) - const constants = [].concat(govConstants, proposalIntervalConstants) - - const params = constants.map((name) => { - return { - target: govInstance._address, - callData: govInstance.methods[name]().encodeABI() - } - }) - - const multicallArray = await dispatch('application/aggregateMulticall', { params }, { root: true }) - - if (multicallArray) { - const hexToNumberConverter = (acc, curr, index) => { - const name = constants[index] - const value = govConstants.includes(name) ? hexToNumberString(curr) : hexToNumber(curr) - - return { ...acc, [name]: value } - } - - const result = multicallArray.reduce(hexToNumberConverter, {}) - - commit('SAVE_CONSTANTS', result) - } - } -} - -export default { - namespaced: true, - state, - getters, - mutations, - actions -} diff --git a/store/governance/proposal.js b/store/governance/proposal.js deleted file mode 100644 index be2df91..0000000 --- a/store/governance/proposal.js +++ /dev/null @@ -1,269 +0,0 @@ -/* eslint-disable no-console */ -/* eslint-disable import/order */ - -import { utils } from 'ethers' -import uniqBy from 'lodash/uniqBy' -import chunk from 'lodash/chunk' - -import { lookupAddresses, createBatchRequestCallback } from '@/services' -import { CHUNK_COUNT_PER_BATCH_REQUEST } from '@/constants' - -const { toWei, fromWei, toBN } = require('web3-utils') - -const CACHE_TX = {} -const CACHE_BLOCK = {} - -const parseComment = (calldata, govInstance) => { - const empty = { contact: '', message: '' } - if (!calldata || !govInstance) return empty - - const methodLength = 4 // length of castDelegatedVote method - const result = utils.defaultAbiCoder.decode( - ['address[]', 'uint256', 'bool'], - utils.hexDataSlice(calldata, methodLength) - ) - const data = govInstance.methods.castDelegatedVote(...result).encodeABI() - const dataLength = utils.hexDataLength(data) - - try { - const str = utils.defaultAbiCoder.decode(['string'], utils.hexDataSlice(calldata, dataLength)) - const [contact, message] = JSON.parse(str) - return { contact, message } - } catch { - return empty - } -} - -const createProposalComment = (resultAll, votedEvent) => { - const { transactionHash, returnValues, blockNumber } = votedEvent - const { voter } = returnValues - - const comment = parseComment() - - const percentage = - toBN(votedEvent.returnValues.votes) - .mul(toBN(10000)) - .divRound(resultAll) - .toNumber() / 100 - - return { - id: `${transactionHash}-${voter}`, - percentage, - ...returnValues, - votes: fromWei(returnValues.votes), - transactionHash, - blockNumber, - - ...comment, - - ens: { - delegator: null, - voter: null - }, - delegator: null, - timestamp: null - } -} - -const createFetchCommentWithMessage = (web3, batch, govInstance) => async (proposalComment) => { - const { transactionHash, voter, blockNumber } = proposalComment - - if (!CACHE_TX[transactionHash]) { - CACHE_TX[transactionHash] = new Promise((resolve, reject) => { - const callback = createBatchRequestCallback(resolve, reject) - batch.add(web3.eth.getTransaction.request(transactionHash, callback)) - }) - } - - if (!CACHE_BLOCK[blockNumber]) { - CACHE_BLOCK[blockNumber] = new Promise((resolve, reject) => { - const callback = createBatchRequestCallback(resolve, reject) - batch.add(web3.eth.getBlock.request(blockNumber, callback)) - }) - } - - try { - const [tx, blockInfo] = await Promise.all([CACHE_TX[transactionHash], CACHE_BLOCK[blockNumber]]) - - const isMaybeHasComment = voter === tx.from - const comment = parseComment(isMaybeHasComment ? tx.input : null, govInstance) - - return { - ...proposalComment, - ...comment, - - delegator: voter === tx.from ? null : tx.from, - timestamp: blockInfo.timestamp - } - } catch (error) { - CACHE_TX[transactionHash] = null - CACHE_BLOCK[blockNumber] = null - return proposalComment - } -} - -const state = () => { - return { - isFetchingComments: false, - isFetchingMessages: false, - ensNames: {}, - comments: [] - } -} - -const getters = { - comments: (state) => { - const { ensNames } = state - let comments = state.comments.slice() - - comments.sort((a, b) => b.blockNumber - a.blockNumber) - comments = uniqBy(comments, 'voter') - comments.sort((a, b) => b.percentage - a.percentage) - - comments = comments.map((data) => ({ - ...data, - ens: { - delegator: ensNames[data.delegator], - voter: ensNames[data.voter] - } - })) - - return comments - } -} - -const mutations = { - SAVE_FETCHING_COMMENTS(state, status) { - state.isFetchingComments = status - }, - SAVE_FETCHING_MESSAGES(state, status) { - state.isFetchingMessages = status - }, - SAVE_ENS_NAMES(state, ensNames) { - state.ensNames = { ...state.ensNames, ...ensNames } - }, - SAVE_COMMENTS(state, comments) { - state.comments = comments - } -} - -const actions = { - async fetchComments(context, proposal) { - const { commit, dispatch, state } = context - let { comments } = state - let newComments = [] - - if (comments[0]?.id !== proposal.id) { - commit('SAVE_COMMENTS', []) - comments = [] - } - - commit('SAVE_FETCHING_COMMENTS', true) - newComments = await dispatch('fetchVotedEvents', { proposal, comments }) - commit('SAVE_FETCHING_COMMENTS', false) - - if (!newComments) return - commit('SAVE_COMMENTS', newComments.concat(comments)) - dispatch('fetchEnsNames', { comments: newComments }) - - commit('SAVE_FETCHING_MESSAGES', true) - // TODO: TC-163 - add pagination - newComments = await dispatch('fetchCommentsMessages', { comments: newComments }) - commit('SAVE_FETCHING_MESSAGES', false) - - if (!newComments) return - commit('SAVE_COMMENTS', newComments.concat(comments)) - }, - async fetchVotedEvents(context, { proposal, comments }) { - const { rootGetters } = context - let { blockNumber: fromBlock } = proposal - - const netId = rootGetters['metamask/netId'] - const govInstance = rootGetters['governance/gov/govContract']({ netId }) - - if (comments[0]?.id === proposal.id) { - fromBlock = comments[0].blockNumber + 1 - } - - try { - let votedEvents = await govInstance.getPastEvents('Voted', { - filter: { - // support: [false], - proposalId: proposal.id - }, - fromBlock, - toBlock: 'latest' - }) - - console.log('fetchVotedEvents', votedEvents.length) - - votedEvents = votedEvents.sort((a, b) => b.blockNumber - a.blockNumber) - votedEvents = uniqBy(votedEvents, 'returnValues.voter') - - console.log('fetchVotedEvents uniq', votedEvents.length) - - const resultAll = toBN(toWei(proposal.results.for)).add(toBN(toWei(proposal.results.against))) - let newComments = votedEvents.map((votedEvent) => createProposalComment(resultAll, votedEvent)) - newComments = newComments.concat(comments) - return newComments - } catch (e) { - console.error('fetchVotedEvents', e.message) - return null - } - }, - async fetchCommentsMessages(context, { comments }) { - const { rootGetters } = context - - const netId = rootGetters['metamask/netId'] - const govInstance = rootGetters['governance/gov/govContract']({ netId }) - const web3 = rootGetters['governance/gov/getWeb3']({ netId }) - const commentListChunks = chunk(comments, CHUNK_COUNT_PER_BATCH_REQUEST) - - let results = [] - - try { - for await (const list of commentListChunks) { - const batch = new web3.BatchRequest() - const fetchCommentsWithMessages = createFetchCommentWithMessage(web3, batch, govInstance) - const promises = list.map(fetchCommentsWithMessages) - batch.execute() - const result = await Promise.all(promises) - - results = results.concat(result) - } - - return results - } catch (e) { - console.error('fetchCommentsMessages', e.message) - } - }, - async fetchEnsNames(context, { comments }) { - const { rootGetters, commit } = context - - const netId = rootGetters['metamask/netId'] - const web3 = rootGetters['governance/gov/getWeb3']({ netId }) - - try { - const addresses = comments - .map((_) => _.voter) - .flat() - .filter(Boolean) - - console.log('fetchEnsNames', addresses.length) - - const ensNames = await lookupAddresses(addresses, web3) - - commit('SAVE_ENS_NAMES', ensNames) - } catch (e) { - console.error('fetchEnsNames', e.message) - } - } -} - -export default { - namespaced: true, - state, - getters, - mutations, - actions -} diff --git a/store/governance/staking.js b/store/governance/staking.js deleted file mode 100644 index 8d48d0a..0000000 --- a/store/governance/staking.js +++ /dev/null @@ -1,137 +0,0 @@ -import Web3 from 'web3' -import { numberToHex, fromWei } from 'web3-utils' - -import networkConfig from '@/networkConfig' - -import TornadoStakingRewardsABI from '@/abis/TornadoStakingRewards.abi.json' - -export const state = () => { - return { - accumulatedReward: '0', - isCheckingReward: false - } -} - -export const getters = { - stakingRewardsContract: (state, getters, rootState) => ({ netId }) => { - const config = networkConfig[`netId${netId}`] - const { url } = rootState.settings[`netId${netId}`].rpc - const address = config['staking-rewards.contract.tornadocash.eth'] - - if (address) { - const web3 = new Web3(url) - return new web3.eth.Contract(TornadoStakingRewardsABI, address) - } - - return null - }, - reward: (state) => { - return fromWei(state.accumulatedReward) - }, - isCheckingReward: (state) => { - return state.isCheckingReward - } -} - -export const mutations = { - SAVE_ACCUMULATED_REWARD(state, payload) { - state.accumulatedReward = payload - }, - SAVE_CHECKING_REWARD(state, payload) { - this._vm.$set(state, 'isCheckingReward', payload) - } -} - -export const actions = { - async checkReward({ getters, rootGetters, rootState, commit }) { - try { - commit('SAVE_CHECKING_REWARD', true) - - const netId = rootGetters['metamask/netId'] - const { ethAccount } = rootState.metamask - const stakingRewardsInstance = getters.stakingRewardsContract({ netId }) - - if (!stakingRewardsInstance) { - return - } - - const reward = await stakingRewardsInstance.methods.checkReward(ethAccount).call() - - commit('SAVE_ACCUMULATED_REWARD', reward) - } catch (err) { - console.error('checkReward', err.message) - } finally { - commit('SAVE_CHECKING_REWARD', false) - } - }, - async claimReward({ state, getters, rootGetters, rootState, commit, dispatch }) { - try { - const netId = rootGetters['metamask/netId'] - const { ethAccount } = rootState.metamask - const stakingRewardsInstance = getters.stakingRewardsContract({ netId }) - - if (!stakingRewardsInstance) { - return - } - - const data = await stakingRewardsInstance.methods.getReward().encodeABI() - const gas = await stakingRewardsInstance.methods.getReward().estimateGas({ from: ethAccount, value: 0 }) - - const currency = 'TORN' - const amount = rootGetters['token/toDecimals'](state.accumulatedReward, 18) - - const callParams = { - method: 'eth_sendTransaction', - params: { - to: stakingRewardsInstance._address, - gas: numberToHex(gas + 100000), - data - }, - watcherParams: { - title: { - path: 'claiming', - amount, - currency - }, - successTitle: { - path: 'claimedValue', - amount, - currency - }, - storeType: 'govTxs', - onSuccess: () => { - dispatch('torn/fetchTokenBalance', {}, { root: true }) - dispatch('checkReward') - } - }, - isSaving: false - } - - const txHash = await dispatch('metamask/sendTransaction', callParams, { root: true }) - - commit( - 'txHashKeeper/SAVE_TX_HASH', - { - txHash, - storeType: 'govTxs', - type: 'Reward', - netId - }, - { root: true } - ) - } catch (err) { - console.error('claimReward', err.message) - dispatch( - 'notice/addNoticeWithInterval', - { - notice: { - title: 'internalError', - type: 'danger' - }, - interval: 3000 - }, - { root: true } - ) - } - } -} diff --git a/store/loading.js b/store/loading.js index f087ed8..e94748a 100644 --- a/store/loading.js +++ b/store/loading.js @@ -1,48 +1,48 @@ export const state = () => { - return { - message: '', - progress: -1, - enabled: false, - type: null + return { + message: '', + progress: -1, + enabled: false, + type: null + } } -} - -export const getters = {} - -export const mutations = { - ENABLE(state, { message, progress, type }) { - state.message = message - state.enabled = true - state.progress = progress - state.type = type - }, - DISABLE(state) { - state.message = '' - state.enabled = false - state.progress = -1 - state.type = null + + export const getters = {} + + export const mutations = { + ENABLE(state, { message, progress, type }) { + state.message = message + state.enabled = true + state.progress = progress + state.type = type + }, + DISABLE(state) { + state.message = '' + state.enabled = false + state.progress = -1 + state.type = null + } } -} - -export const actions = { - enable({ commit }, { message = this.app.i18n.t('loading') }) { - commit('ENABLE', { message }) - }, - changeText({ commit }, { message, type }) { - commit('ENABLE', { message, type }) - }, - updateProgress({ commit }, { message, progress }) { - commit('ENABLE', { message, progress }) - }, - disable({ commit }) { - commit('DISABLE') - }, - showConfirmLoader({ dispatch, rootState }) { - dispatch('changeText', { - message: this.app.i18n.t('pleaseConfirmTransactionInWallet', { - wallet: rootState.metamask.walletName - }), - type: 'approve' - }) - } -} + + export const actions = { + enable({ commit }, { message = this.app.i18n.t('loading') }) { + commit('ENABLE', { message }) + }, + changeText({ commit }, { message, type }) { + commit('ENABLE', { message, type }) + }, + updateProgress({ commit }, { message, progress }) { + commit('ENABLE', { message, progress }) + }, + disable({ commit }) { + commit('DISABLE') + }, + showConfirmLoader({ dispatch, rootState }) { + dispatch('changeText', { + message: this.app.i18n.t('pleaseConfirmTransactionInWallet', { + wallet: rootState.metamask.walletName + }), + type: 'approve' + }) + } + } \ No newline at end of file diff --git a/store/metamask.js b/store/metamask.js deleted file mode 100644 index aa2f402..0000000 --- a/store/metamask.js +++ /dev/null @@ -1,607 +0,0 @@ -/* eslint-disable no-console */ -import BN from 'bignumber.js' -import { hexToNumber, numberToHex } from 'web3-utils' -import { SnackbarProgrammatic as Snackbar, DialogProgrammatic as Dialog } from 'buefy' - -import { PROVIDERS } from '@/constants' -import networkConfig from '@/networkConfig' -import { walletConnectConnector } from '@/services' - -const { toChecksumAddress } = require('web3-utils') - -const state = () => { - return { - netId: 1, - walletName: '', - ethBalance: '0', - ethAccount: null, - providerConfig: {}, - providerName: null, - isInitialized: false, - isReconnecting: false, - mismatchNetwork: false - } -} - -const getters = { - isWalletConnect(state) { - return state.providerConfig.name === 'WalletConnect' - }, - isPartialSupport(state) { - return state.providerConfig.isPartialSupport - }, - hasEthAccount(state) { - return state.ethAccount !== null - }, - mismatchNetwork(state) { - return state.mismatchNetwork - }, - netId(state) { - return state.netId - }, - networkName(state) { - return networkConfig[`netId${state.netId}`].networkName - }, - currency(state) { - return networkConfig[`netId${state.netId}`].currencyName - }, - nativeCurrency(state) { - return networkConfig[`netId${state.netId}`].nativeCurrency - }, - networkConfig(state) { - const conf = networkConfig[`netId${state.netId}`] - return conf || networkConfig.netId1 - }, - getEthereumProvider: (state, getters) => (netId) => { - switch (state.providerName) { - case 'walletConnect': - return walletConnectConnector(netId || getters.netId) - case 'metamask': - case 'trustwallet': - case 'imtoken': - case 'alphawallet': - case 'generic': - default: - if (window.ethereum) { - return window.ethereum - } else { - throw new Error(this.app.i18n.t('networkDoesNotHaveEthereumProperty')) - } - } - }, - isLoggedIn: (state, getters) => { - return !!state.providerName && getters.hasEthAccount - } -} - -const mutations = { - IDENTIFY(state, ethAccount) { - state.ethAccount = ethAccount - }, - SET_NET_ID(state, netId) { - netId = parseInt(netId, 10) - window.localStorage.setItem('netId', netId) - - state.netId = netId - }, - SET_RECONNECTING(state, bool) { - state.isReconnecting = bool - }, - SET_MISMATCH_NETWORK(state, payload) { - state.mismatchNetwork = payload - }, - SAVE_BALANCE(state, ethBalance) { - state.ethBalance = ethBalance - }, - SET_WALLET_NAME(state, walletName) { - state.walletName = walletName - }, - SET_PROVIDER_NAME(state, providerName) { - state.providerName = providerName - state.providerConfig = PROVIDERS[providerName] - window.localStorage.setItem('provider', providerName) - }, - CLEAR_PROVIDER(state) { - state.providerName = null - state.providerConfig = {} - }, - SET_INITIALIZED(state, initialized) { - state.isInitialized = initialized - } -} - -const actions = { - async initialize({ dispatch, commit, getters, rootState, rootGetters }, payload) { - await dispatch('askPermission', payload) - - dispatch('governance/gov/checkActiveProposals', {}, { root: true }) - }, - onSetInitializeData({ commit, dispatch, state }, isMismatch) { - if (isMismatch) { - commit('IDENTIFY', null) - commit('SET_INITIALIZED', false) - } else { - const providerName = window.localStorage.getItem('provider') - - if (providerName && !state.isInitialized) { - dispatch('initialize', { providerName }) - } - } - - commit('SET_MISMATCH_NETWORK', isMismatch) - }, - async checkMismatchNetwork({ dispatch, commit, state, getters }, netId) { - if (getters.isWalletConnect) { - const { id } = this.$provider.config - - const isMismatch = Number(netId) !== Number(id) - - await dispatch('onSetInitializeData', isMismatch) - return - } - if (!window.ethereum) { - return - } - const chainId = await window.ethereum.request({ method: 'eth_chainId' }) - const isMismatch = Number(netId) !== hexToNumber(chainId) - - await dispatch('onSetInitializeData', isMismatch) - }, - async sendTransaction( - { dispatch, state, rootGetters }, - { method, params, watcherParams, isAwait = true, isSaving = true, eipDisable = false } - ) { - try { - const { ethAccount, netId } = state - const gasParams = rootGetters['gasPrices/getGasParams'] - - const callParams = { - method, - params: [ - { - value: '0x00', - from: ethAccount, - ...params, - ...gasParams - } - ] - } - - dispatch('loading/showConfirmLoader', {}, { root: true }) - - const txHash = await this.$provider.sendRequest(callParams) - - dispatch( - 'loading/changeText', - { message: this.app.i18n.t('waitUntilTransactionIsMined') }, - { root: true } - ) - - const activeWatcher = () => - dispatch( - 'txHashKeeper/runTxWatcherWithNotifications', - { - ...watcherParams, - txHash, - isSaving, - netId - }, - { root: true } - ) - - if (isAwait) { - await activeWatcher() - } else { - activeWatcher() - } - - dispatch('loading/disable', {}, { root: true }) - - return txHash - } catch (err) { - if (err.message.includes('EIP-1559')) { - return await dispatch('sendTransaction', { - method, - params, - watcherParams, - isAwait, - isSaving, - eipDisable: true - }) - } else { - throw new Error(this.app.i18n.t('rejectedRequest', { description: state.walletName })) - } - } finally { - dispatch('loading/disable', {}, { root: true }) - } - }, - async getEncryptionPublicKey({ state }) { - try { - const { ethAccount } = state - - const callParams = { - method: 'eth_getEncryptionPublicKey', - params: [ethAccount] - } - - const key = await this.$provider.sendRequest(callParams) - return key - } catch (err) { - let errorMessage = 'decryptFailed' - - if (err.message.includes('Trezor')) { - errorMessage = 'trezorNotSupported' - } else if (err.message.includes('Ledger')) { - errorMessage = 'ledgerNotSupported' - } - - const isRejected = err.message.includes( - 'MetaMask EncryptionPublicKey: User denied message EncryptionPublicKey.' - ) - - if (isRejected) { - throw new Error(this.app.i18n.t('rejectedRequest', { description: state.walletName })) - } - - throw new Error(this.app.i18n.t(errorMessage)) - } - }, - async ethDecrypt({ state }, hexData) { - try { - const { ethAccount } = state - - const callParams = { - method: 'eth_decrypt', - params: [hexData, ethAccount] - } - - const encryptedData = await this.$provider.sendRequest(callParams) - return encryptedData - } catch (err) { - throw new Error(`Method ethDecrypt has error: ${err.message}`) - } - }, - async onAccountsChanged({ dispatch, commit }, { newAccount }) { - if (newAccount) { - const account = toChecksumAddress(newAccount) - commit('IDENTIFY', account) - await dispatch('updateAccountBalance') - } else { - await dispatch('onLogOut') - } - }, - onLogOut({ commit, getters, dispatch }) { - if (getters.isWalletConnect) { - const mobileProvider = this.$provider.provider - - if (typeof mobileProvider.close === 'function') { - mobileProvider.close() - } - } - commit('IDENTIFY', null) - dispatch('clearProvider') - commit('SET_INITIALIZED', false) - }, - async mobileWalletReconnect({ state, dispatch, commit, rootState }, { netId }) { - try { - commit('SET_RECONNECTING', true) - const { providerName } = state - const { enabled } = rootState.loading - - await dispatch('onLogOut') - await dispatch('initialize', { providerName, chosenNetId: netId }) - - if (enabled) { - await dispatch('loading/disable', {}, { root: true }) - } - } catch ({ message }) { - throw new Error(`Mobile wallet reconnect error: ${message}`) - } finally { - commit('SET_RECONNECTING', false) - } - }, - async networkChangeHandler({ state, getters, commit, dispatch }, params) { - try { - if (getters.isWalletConnect) { - dispatch('loading/disable', {}, { root: true }) - - const networkName = networkConfig[`netId${params.netId}`].networkName - - const { result } = await Dialog.confirm({ - title: this.app.i18n.t('changeNetwork'), - message: this.app.i18n.t('mobileWallet.reconnect.message', { networkName }), - cancelText: this.app.i18n.t('cancelButton'), - confirmText: this.app.i18n.t('mobileWallet.reconnect.action') - }) - - if (result) { - await dispatch('mobileWalletReconnect', params) - this.$provider._onNetworkChanged({ id: params.netId }) - } - } else { - if (state.isInitialized) { - await dispatch('switchNetwork', params) - } - await dispatch('onNetworkChanged', params) - } - } catch (err) { - console.error('networkChangeHandler', err.message) - } - }, - async onNetworkChanged({ state, getters, commit, dispatch }, { netId }) { - dispatch('checkMismatchNetwork', netId) - - if (netId !== 'loading' && Number(state.netId) !== Number(netId)) { - try { - if (!networkConfig[`netId${netId}`]) { - dispatch('clearProvider') - - Snackbar.open({ - message: this.app.i18n.t('currentNetworkIsNotSupported'), - type: 'is-primary', - position: 'is-top', - actionText: 'OK', - indefinite: true - }) - throw new Error(this.app.i18n.t('currentNetworkIsNotSupported')) - } - - commit('SET_NET_ID', netId) - await dispatch('application/setNativeCurrency', { netId }, { root: true }) - - // TODO what if all rpc failed - await dispatch('settings/checkCurrentRpc', {}, { root: true }) - - dispatch('application/updateSelectEvents', {}, { root: true }) - - if (getters.isLoggedIn) { - await dispatch('updateAccountBalance') - } - } catch (e) { - throw new Error(e.message) - } - } - }, - async updateAccountBalance({ state, commit }, account = '') { - try { - const address = account || state.ethAccount - if (!address) { - return 0 - } - - const balance = await this.$provider.getBalance({ address }) - commit('SAVE_BALANCE', balance) - return balance - } catch (err) { - console.error(`updateAccountBalance has error ${err.message}`) - } - }, - clearProvider({ commit, state }) { - if (state.providerConfig.storageName) { - window.localStorage.removeItem(state.providerConfig.storageName) - } - - commit('CLEAR_PROVIDER') - - window.localStorage.removeItem('provider') - window.localStorage.removeItem('network') - }, - async askPermission( - { commit, dispatch, getters, rootGetters, state, rootState }, - { providerName, chosenNetId } - ) { - commit('SET_PROVIDER_NAME', providerName) - - const { name, listener } = state.providerConfig - - commit('SET_WALLET_NAME', name) - - try { - const provider = await getters.getEthereumProvider(chosenNetId) - - if (providerName === 'walletConnect') { - await dispatch(listener, { provider }) - } - const address = await this.$provider.initProvider(provider, {}) - - if (!address) { - throw new Error('lockedMetamask') - } - - commit('IDENTIFY', address) - - const netId = await dispatch('checkNetworkVersion') - - await dispatch('onNetworkChanged', { netId }) - commit('SET_INITIALIZED', true) - - const { url } = rootGetters['settings/currentRpc'] - this.$provider.initWeb3(url) - - await dispatch('updateAccountBalance', address) - - if (getters.isWalletConnect) { - if (provider.wc.peerMeta) { - commit('SET_WALLET_NAME', provider.wc.peerMeta.name) - } - } - - this.$provider.on({ - method: 'chainChanged', - callback: () => { - dispatch('onNetworkChanged', { netId }) - } - }) - - this.$provider.on({ - method: 'accountsChanged', - callback: ([newAccount]) => { - dispatch('onAccountsChanged', { newAccount }) - } - }) - - return { netId, ethAccount: address } - } catch (err) { - if (providerName === 'walletConnect') { - const mobileProvider = this.$provider.provider - - if (typeof mobileProvider.disconnect === 'function') { - mobileProvider.disconnect() - } - await dispatch('onLogOut') - } - throw new Error(`method askPermission has error: ${err.message}`) - } - }, - walletConnectSocketListener({ state, commit, dispatch, getters, rootState }, { provider }) { - const { enabled } = rootState.loading - - try { - provider.wc.on('disconnect', (error, payload) => { - if (state.isReconnecting) { - console.warn('Provider reconnect payload', { payload, error, isReconnecting: state.isReconnecting }) - - if (enabled) { - dispatch('loading/disable', {}, { root: true }) - } - commit('SET_RECONNECTING', false) - return - } - - const prevConnection = localStorage.getItem('walletconnectTimeStamp') - - const isPrevConnection = new BN(Date.now()).minus(prevConnection).isGreaterThanOrEqualTo(5000) - - if (isPrevConnection) { - console.warn('Provider disconnect payload', { - payload, - error, - isReconnecting: state.isReconnecting - }) - - dispatch('onLogOut') - } - - if (enabled) { - dispatch('loading/disable', {}, { root: true }) - } - }) - } catch (err) { - console.error('WalletConnect listeners error: ', err) - } - }, - async switchNetwork({ dispatch }, { netId }) { - try { - await this.$provider.sendRequest({ - method: 'wallet_switchEthereumChain', - params: [{ chainId: numberToHex(netId) }] - }) - } catch (err) { - // This error indicates that the chain has not been added to MetaMask. - if (err.message.includes('wallet_addEthereumChain')) { - return dispatch('addNetwork', { netId }) - } - - throw new Error(err.message) - } - }, - async addNetwork(_, { netId }) { - const METAMASK_LIST = { - 56: { - chainId: '0x38', - chainName: 'Binance Smart Chain Mainnet', - rpcUrls: ['https://bscrpc.com'], - nativeCurrency: { - name: 'Binance Chain Native Token', - symbol: 'BNB', - decimals: 18 - }, - blockExplorerUrls: ['https://bscscan.com'] - }, - 10: { - chainId: '0xa', - chainName: 'Optimism', - rpcUrls: ['https://mainnet.optimism.io/'], - nativeCurrency: { - name: 'Ether', - symbol: 'ETH', - decimals: 18 - }, - blockExplorerUrls: ['https://optimistic.etherscan.io'] - }, - 100: { - chainId: '0x64', - chainName: 'Gnosis', - rpcUrls: ['https://development.tornadocash.community/rpc/v1'], - nativeCurrency: { - name: 'xDAI', - symbol: 'xDAI', - decimals: 18 - }, - blockExplorerUrls: ['https://blockscout.com/xdai/mainnet'] - }, - 137: { - chainId: '0x89', - chainName: 'Polygon Mainnet', - rpcUrls: ['https://polygon-rpc.com'], - nativeCurrency: { - name: 'MATIC', - symbol: 'MATIC', - decimals: 18 - }, - blockExplorerUrls: ['https://polygonscan.com'] - }, - 42161: { - chainId: '0xA4B1', - chainName: 'Arbitrum One', - rpcUrls: ['https://arb1.arbitrum.io/rpc'], - nativeCurrency: { - name: 'Ether', - symbol: 'ETH', - decimals: 18 - }, - blockExplorerUrls: ['https://arbiscan.io'] - }, - 43114: { - chainId: '0xA86A', - chainName: 'Avalanche C-Chain', - rpcUrls: ['https://api.avax.network/ext/bc/C/rpc'], - nativeCurrency: { - name: 'Avalanche', - symbol: 'AVAX', - decimals: 18 - }, - blockExplorerUrls: ['https://snowtrace.io'] - } - } - - if (METAMASK_LIST[netId]) { - await this.$provider.sendRequest({ - method: 'wallet_addEthereumChain', - params: [METAMASK_LIST[netId]] - }) - } - }, - async checkNetworkVersion() { - try { - const id = Number( - await this.$provider.sendRequest({ - method: 'eth_chainId', - params: [] - }) - ) - - return id - } catch (err) { - throw new Error(err.message) - } - } -} - -export default { - namespaced: true, - state, - getters, - mutations, - actions -} diff --git a/store/notice.js b/store/notice.js deleted file mode 100644 index 6bea162..0000000 --- a/store/notice.js +++ /dev/null @@ -1,95 +0,0 @@ -const NOTICE_INTERVAL = 10000 - -export const state = () => { - return { - notices: [], - timers: {} - } -} - -export const mutations = { - ADD_NOTICE(state, notice) { - state.notices.push(notice) - }, - UPDATE_NOTICE(state, { index, notice }) { - this._vm.$set(state.notices, index, notice) - }, - DELETE_NOTICE(state, index) { - this._vm.$delete(state.notices, index) - }, - ADD_NOTICE_TIMER(state, { id, timerId }) { - this._vm.$set(state.timers, id, { timerId }) - }, - DELETE_NOTICE_TIMER(state, id) { - this._vm.$delete(state.timers, id) - } -} - -export const actions = { - addNotice({ commit }, { notice }) { - return new Promise((resolve) => { - const id = `f${(+new Date()).toString(16)}` - commit('ADD_NOTICE', { ...notice, id, isShowed: true }) - resolve(id) - }) - }, - addNoticeTimer({ commit, dispatch }, { id, interval = NOTICE_INTERVAL }) { - const timerId = setTimeout(() => { - dispatch('deleteNotice', { id }) - }, interval) - commit('ADD_NOTICE_TIMER', { id, timerId }) - }, - deleteNoticeTimer({ state, commit }, { id }) { - if (state.timers[id]) { - clearTimeout(state.timers[id].timerId) - commit('DELETE_NOTICE_TIMER', id) - } - }, - addNoticeWithInterval({ dispatch }, { notice, interval }) { - return new Promise(async (resolve) => { - const id = await dispatch('addNotice', { notice }) - dispatch('addNoticeTimer', { id, interval }) - resolve(id) - }) - }, - deleteNotice({ state, commit, dispatch }, { id }) { - const index = state.notices.findIndex((i) => { - return i.id === id - }) - if (index !== -1) { - commit('DELETE_NOTICE', index) - dispatch('deleteNoticeTimer', { id }) - } - }, - updateNotice({ state, commit, dispatch }, { id = `f${(+new Date()).toString(16)}`, notice, interval }) { - const { notices } = state - const index = notices.findIndex((i) => { - return i.id === id - }) - if (index !== -1) { - commit('UPDATE_NOTICE', { - index, - notice: { - ...notices[index], - isShowed: true, - ...notice - } - }) - } else { - commit('ADD_NOTICE', { ...notice, id, isShowed: true }) - } - - if (interval) { - dispatch('deleteNoticeTimer', { id }) - dispatch('addNoticeTimer', { id, interval }) - } - }, - showNotice({ state, commit, dispatch }, { id, isShowed = true }) { - dispatch('updateNotice', { - id, - notice: { - isShowed - } - }) - } -} diff --git a/store/price.js b/store/price.js deleted file mode 100644 index 2178f3f..0000000 --- a/store/price.js +++ /dev/null @@ -1,114 +0,0 @@ -/* eslint-disable no-console */ -import { toBN, toChecksumAddress } from 'web3-utils' - -import networkConfig from '@/networkConfig' -import offchainOracleABI from '@/abis/OffchainOracle.abi.json' - -const offchainOracleAddress = '0x07D91f5fb9Bf7798734C3f606dB065549F6893bb' - -const TOKENS = { - torn: { - tokenAddress: '0x77777FeDdddFfC19Ff86DB637967013e6C6A116C', - symbol: 'TORN', - decimals: 18 - } -} - -export const state = () => { - return { - prices: { - dai: '593970928097706', - cdai: '12623454013395', - usdc: '593319851383838', - usdt: '592852719537467', - torn: '85362951428474830', - wbtc: '32269526951862905063' - } - } -} - -export const getters = { - tokenRate: (state, getters, rootState, rootGetters) => { - return state.prices[rootState.application.selectedStatistic.currency] - }, - getArgsForOracle: (state, getters, rootState, rootGetters) => { - const tokens = { - ...networkConfig.netId1.tokens, - ...TOKENS - } - const tokenAddresses = [] - const oneUintAmount = [] - const currencyLookup = {} - Object.entries(tokens).map(([currency, data]) => { - if (currency !== 'eth') { - tokenAddresses.push(data.tokenAddress) - oneUintAmount.push( - toBN('10') - .pow(toBN(data.decimals.toString())) - .toString() - ) - currencyLookup[data.tokenAddress] = currency - } - }) - return { tokenAddresses, oneUintAmount, currencyLookup } - }, - getTokenPrice: (state, getters, rootState, rootGetters) => (currency) => { - return state.prices[currency] - }, - isPriceWatcherDisabled: (state, getters, rootState, rootGetters) => { - const nativeCurrency = rootGetters['metamask/nativeCurrency'] - const tokens = Object.keys(rootGetters['metamask/networkConfig'].tokens) - return tokens.includes(nativeCurrency) && tokens.length === 1 - } -} - -export const mutations = { - SAVE_TOKEN_PRICES(state, prices) { - state.prices = { - ...state.prices, - ...prices - } - } -} - -export const actions = { - async fetchTokenPrice({ getters, commit, dispatch, rootState }) { - if (getters.isPriceWatcherDisabled) { - return - } - - try { - const web3 = this.$provider.getWeb3(rootState.settings.netId1.rpc.url) - const offchainOracle = new web3.eth.Contract(offchainOracleABI, offchainOracleAddress) - const { tokenAddresses, oneUintAmount, currencyLookup } = getters.getArgsForOracle - - const prices = {} - for (let i = 0; i < tokenAddresses.length; i++) { - try { - const isWrap = - toChecksumAddress(tokenAddresses[i]) === - toChecksumAddress('0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643') - - const price = await offchainOracle.methods.getRateToEth(tokenAddresses[i], isWrap).call() - const numerator = toBN(oneUintAmount[i]) - const denominator = toBN(10).pow(toBN(18)) // eth decimals - const priceFormatted = toBN(price) - .mul(numerator) - .div(denominator) - - prices[currencyLookup[tokenAddresses[i]]] = priceFormatted.toString() - } catch (e) { - console.error('cant get price of ', tokenAddresses[i]) - } - } - - console.log('prices', prices) - commit('SAVE_TOKEN_PRICES', prices) - - setTimeout(() => dispatch('fetchTokenPrice'), 1000 * 30) - } catch (e) { - console.error(e) - setTimeout(() => dispatch('fetchTokenPrice'), 1000 * 30) - } - } -} diff --git a/store/relayer.js b/store/relayer.js deleted file mode 100644 index dfaaa52..0000000 --- a/store/relayer.js +++ /dev/null @@ -1,705 +0,0 @@ -/* eslint-disable no-console */ -import Web3 from 'web3' -import BN from 'bignumber.js' -import namehash from 'eth-ens-namehash' - -import { httpConfig } from '@/constants' -import { schema, relayerRegisterService } from '@/services' -import { createChainIdState, parseNote, parseSemanticVersion } from '@/utils' - -import ENSABI from '@/abis/ENS.abi.json' -import networkConfig from '@/networkConfig' - -const getAxios = () => { - return import('axios') -} - -const calculateScore = ({ stakeBalance, tornadoServiceFee }, minFee = 0.33, maxFee = 0.53) => { - if (tornadoServiceFee < minFee) { - tornadoServiceFee = minFee - } else if (tornadoServiceFee >= maxFee) { - return new BN(0) - } - - const serviceFeeCoefficient = (tornadoServiceFee - minFee) ** 2 - const feeDiffCoefficient = 1 / (maxFee - minFee) ** 2 - const coefficientsMultiplier = 1 - feeDiffCoefficient * serviceFeeCoefficient - - return new BN(stakeBalance).multipliedBy(coefficientsMultiplier) -} - -const getWeightRandom = (weightsScores, random) => { - for (let i = 0; i < weightsScores.length; i++) { - if (random.isLessThan(weightsScores[i])) { - return i - } - random = random.minus(weightsScores[i]) - } - return Math.floor(Math.random() * weightsScores.length) -} - -const pickWeightedRandomRelayer = (items, netId) => { - let minFee, maxFee - - if (netId !== 1) { - minFee = 0.01 - maxFee = 0.3 - } - - const weightsScores = items.map((el) => calculateScore(el, minFee, maxFee)) - const totalWeight = weightsScores.reduce((acc, curr) => { - return (acc = acc.plus(curr)) - }, new BN('0')) - - const random = totalWeight.multipliedBy(Math.random()) - const weightRandomIndex = getWeightRandom(weightsScores, random) - - return items[weightRandomIndex] -} - -const initialJobsState = createChainIdState({ - tornado: {} -}) - -export const state = () => { - return { - prices: { - dai: '6700000000000000' - }, - selectedRelayer: { - url: '', - name: '', - stakeBalance: 0, - tornadoServiceFee: 0.05, - address: null, - ethPrices: { - torn: '1' - } - }, - isLoadingRelayers: false, - validRelayers: [], - jobs: initialJobsState, - jobWatchers: {} - } -} - -export const getters = { - ethProvider: (state, getters, rootState) => { - const { url } = rootState.settings.netId1.rpc - const httpProvider = new Web3.providers.HttpProvider(url, httpConfig) - - return new Web3(httpProvider) - }, - jobs: (state, getters, rootState, rootGetters) => (type) => { - const netId = rootGetters['metamask/netId'] - const jobsToRender = Object.entries(state.jobs[`netId${netId}`][type]) - .reverse() - .map( - ([ - id, - { - action, - relayerUrl, - amount, - currency, - fee, - timestamp, - txHash, - confirmations, - status, - failedReason - } - ]) => { - return { - id, - action, - relayerUrl, - amount, - currency, - fee, - timestamp, - txHash, - confirmations, - status, - failedReason - } - } - ) - return jobsToRender - } -} - -export const mutations = { - SET_SELECTED_RELAYER(state, payload) { - this._vm.$set(state, 'selectedRelayer', payload) - }, - SAVE_VALIDATED_RELAYERS(state, relayers) { - state.validRelayers = relayers - }, - SAVE_JOB( - state, - { - id, - netId, - type, - action, - relayerUrl, - amount, - currency, - fee, - commitmentHex, - timestamp, - note, - accountAfter, - account - } - ) { - this._vm.$set(state.jobs[`netId${netId}`][type], id, { - action, - relayerUrl, - amount, - currency, - fee, - commitmentHex, - timestamp, - note, - accountAfter, - account - }) - }, - UPDATE_JOB(state, { id, netId, type, txHash, confirmations, status, failedReason }) { - const job = state.jobs[`netId${netId}`][type][id] - this._vm.$set(state.jobs[`netId${netId}`][type], id, { - ...job, - txHash, - confirmations, - status, - failedReason - }) - }, - DELETE_JOB(state, { id, netId, type }) { - this._vm.$delete(state.jobs[`netId${netId}`][type], id) - }, - ADD_JOB_WATCHER(state, { id, timerId }) { - this._vm.$set(state.jobWatchers, id, { - timerId - }) - }, - DELETE_JOB_WATCHER(state, { id }) { - this._vm.$delete(state.jobWatchers, id) - }, - SET_IS_LOADING_RELAYERS(state, isLoadingRelayers) { - state.isLoadingRelayers = isLoadingRelayers - } -} - -export const actions = { - async askRelayerStatus( - { rootState, dispatch, rootGetters }, - { hostname, relayerAddress, stakeBalance, ensName } - ) { - try { - const axios = await getAxios() - - if (!hostname.endsWith('/')) { - hostname += '/' - } - - const url = `${window.location.protocol}//${hostname}` - const reqConfig = { - headers: { - 'Content-Type': 'application/json, application/x-www-form-urlencoded' - }, - timeout: 10000 - } - const response = await axios.get(`${url}status`, reqConfig).catch(() => { - throw new Error(this.app.i18n.t('canNotFetchStatusFromTheRelayer')) - }) - - if (Number(response.data.currentQueue) > 5) { - throw new Error(this.app.i18n.t('withdrawalQueueIsOverloaded')) - } - - const netId = Number(rootGetters['metamask/netId']) - - if (Number(response.data.netId) !== netId) { - throw new Error(this.app.i18n.t('thisRelayerServesADifferentNetwork')) - } - - const validate = schema.getRelayerValidateFunction(netId) - - // check rewardAccount === relayerAddress for TORN burn, custom relayer - exception - if (netId === 1 && relayerAddress && response.data.rewardAccount !== relayerAddress) { - throw new Error('The Relayer reward address must match registered address') - } - - const isValid = validate(response.data) - if (!isValid) { - console.error('askRelayerStatus', ensName, validate?.errors) - - throw new Error(this.app.i18n.t('canNotFetchStatusFromTheRelayer')) - } - - const hasEnabledLightProxy = rootGetters['application/hasEnabledLightProxy'] - - const getIsUpdated = () => { - const relayerVersion = response.data.version - - if (relayerVersion === '5.0.0') { - return true - } - - const requiredMajor = hasEnabledLightProxy ? '5' : '4' - const { major, patch, prerelease } = parseSemanticVersion(relayerVersion) - - const isUpdatedMajor = major === requiredMajor - - if (isUpdatedMajor && prerelease) { - const minimalBeta = 11 - const [betaVersion] = prerelease.split('.').slice(-1) - return Number(betaVersion) >= minimalBeta - } - - const minimalPatch = 4 - return isUpdatedMajor && Number(patch) >= minimalPatch - } - - if (!getIsUpdated()) { - throw new Error('Outdated version.') - } - - return { - isValid, - realUrl: url, - stakeBalance, - name: ensName, - relayerAddress, - netId: response.data.netId, - ethPrices: response.data.ethPrices, - address: response.data.rewardAccount, - currentQueue: response.data.currentQueue, - tornadoServiceFee: response.data.tornadoServiceFee - } - } catch (e) { - console.error('askRelayerStatus', ensName, e.message) - return { isValid: false, error: e.message } - } - }, - async observeRelayer({ dispatch }, { relayer }) { - const result = await dispatch('askRelayerStatus', relayer) - - return result - }, - async pickRandomRelayer({ rootGetters, commit, dispatch, getters }) { - const netId = rootGetters['metamask/netId'] - const { ensSubdomainKey } = rootGetters['metamask/networkConfig'] - - commit('SET_IS_LOADING_RELAYERS', true) - - const registeredRelayers = await relayerRegisterService(getters.ethProvider).getRelayers(ensSubdomainKey) - - const requests = [] - for (const registeredRelayer of registeredRelayers) { - requests.push(dispatch('observeRelayer', { relayer: registeredRelayer })) - } - let statuses = await Promise.all(requests) - - statuses = statuses.filter((status) => status.isValid) - // const validRelayerENSnames = statuses.map((relayer) => relayer.name) - commit('SAVE_VALIDATED_RELAYERS', statuses) - console.log('filtered statuses ', statuses) - - try { - const { - name, - realUrl, - address, - ethPrices, - stakeBalance, - tornadoServiceFee - } = pickWeightedRandomRelayer(statuses, netId) - - console.log('Selected relayer', name, tornadoServiceFee) - commit('SET_SELECTED_RELAYER', { - name, - address, - ethPrices, - url: realUrl, - stakeBalance, - tornadoServiceFee - }) - } catch { - console.error('Method pickRandomRelayer has not picked relayer') - dispatch( - 'notice/addNotice', - { - notice: { - untranslatedTitle: 'Failed to fetch relayers', - type: 'warning' - }, - interval: 1500 - }, - { root: true } - ) - } - commit('SET_IS_LOADING_RELAYERS', false) - }, - async getKnownRelayerData({ rootGetters, getters }, { relayerAddress, name }) { - const { ensSubdomainKey } = rootGetters['metamask/networkConfig'] - - const [validRelayer] = await relayerRegisterService(getters.ethProvider).getValidRelayers( - [{ relayerAddress, ensName: name.replace(`${ensSubdomainKey}.`, '') }], - ensSubdomainKey - ) - console.warn('validRelayer', validRelayer) - return validRelayer - }, - async getCustomRelayerData({ rootState, state, getters, rootGetters, dispatch }, { url, name }) { - const provider = getters.ethProvider.eth - - const PROTOCOL_REGEXP = /^(http(s?))/ - if (!PROTOCOL_REGEXP.test(url)) { - if (url.endsWith('.onion')) { - url = `http://${url}` - } else { - url = `https://${url}` - } - } - - const urlParser = new URL(url) - urlParser.href = url - let ensName = name - - if (urlParser.hostname.endsWith('.eth')) { - ensName = urlParser.hostname - let resolverInstance = await provider.ens.getResolver(ensName) - - if (new BN(resolverInstance._address).isZero()) { - throw new Error('missingENSSubdomain') - } - resolverInstance = new provider.Contract(ENSABI, resolverInstance._address) - - const ensNameHash = namehash.hash(ensName) - const hostname = await resolverInstance.methods.text(ensNameHash, 'url').call() - - if (!hostname) { - throw new Error('canNotFetchStatusFromTheRelayer') - } - urlParser.host = hostname - } - - const hostname = urlParser.host - - return { hostname, ensName, stakeBalance: 0 } - }, - async getRelayerData({ state, dispatch }, { url, name }) { - const knownRelayer = state.validRelayers.find((el) => el.name === name) - - if (knownRelayer) { - const knownRelayerData = await dispatch('getKnownRelayerData', knownRelayer) - return knownRelayerData - } - - const customRelayerData = await dispatch('getCustomRelayerData', { url, name }) - return customRelayerData - }, - async setupRelayer({ commit, rootState, dispatch }, { url, name }) { - try { - const relayerData = await dispatch('getRelayerData', { url, name }) - - const { error, isValid, realUrl, address, ethPrices, tornadoServiceFee } = await dispatch( - 'askRelayerStatus', - relayerData - ) - - if (!isValid) { - return { error, isValid: false } - } - - return { - isValid, - name, - url: realUrl || '', - address: address || '', - tornadoServiceFee: tornadoServiceFee || 0.0, - ethPrices: ethPrices || { torn: '1' } - } - } catch (err) { - return { - isValid: false, - error: this.app.i18n.t(err.message) - } - } - }, - async relayTornadoWithdraw({ state, commit, dispatch, rootState }, { note }) { - const { currency, netId, amount, commitmentHex } = parseNote(note) - - const config = networkConfig[`netId${netId}`] - const contract = config.tokens[currency].instanceAddress[amount] - - try { - const { proof, args } = rootState.application.notes[note] - const message = { - args, - proof, - contract - } - - dispatch( - 'loading/changeText', - { message: this.app.i18n.t('relayerIsNowSendingYourTransaction') }, - { root: true } - ) - - const response = await fetch(state.selectedRelayer.url + 'v1/tornadoWithdraw', { - method: 'POST', - mode: 'cors', - cache: 'no-cache', - headers: { - 'Content-Type': 'application/json' - }, - redirect: 'error', - body: JSON.stringify(message) - }) - - if (response.status === 400) { - const { error } = await response.json() - throw new Error(error) - } - - if (response.status === 200) { - const { id } = await response.json() - const timestamp = Math.round(new Date().getTime() / 1000) - commit('SAVE_JOB', { - id, - netId, - type: 'tornado', - action: 'Deposit', - relayerUrl: state.selectedRelayer.url, - commitmentHex, - amount, - currency, - timestamp, - note - }) - - dispatch('runJobWatcherWithNotifications', { id, type: 'tornado', netId }) - } else { - throw new Error(this.app.i18n.t('unknownError')) - } - } catch (e) { - console.error('relayTornadoWithdraw', e) - const { name, url } = state.selectedRelayer - throw new Error(this.app.i18n.t('relayRequestFailed', { relayerName: name === 'custom' ? url : name })) - } - }, - async runJobWatcherWithNotifications({ dispatch, state }, { routerLink, id, netId, type }) { - const { amount, currency } = state.jobs[`netId${netId}`][type][id] - const noticeId = await dispatch( - 'notice/addNotice', - { - notice: { - title: { - path: 'withdrawing', - amount, - currency - }, - type: 'loading', - routerLink - } - }, - { root: true } - ) - - try { - await dispatch('runJobWatcher', { id, netId, type, noticeId }) - dispatch('deleteJob', { id, netId, type }) - } catch (err) { - dispatch( - 'notice/updateNotice', - { - id: noticeId, - notice: { - title: 'transactionFailed', - type: 'danger', - routerLink: undefined - } - }, - { root: true } - ) - dispatch( - 'notice/addNoticeWithInterval', - { - notice: { - title: 'relayerError', - type: 'danger' - } - }, - { root: true } - ) - } - }, - deleteJob({ state, dispatch, commit }, { id, netId, type }) { - dispatch('stopFinishJobWatcher', { id }) - const { amount, currency, action, fee, txHash, note } = state.jobs[`netId${netId}`][type][id] - - commit('DELETE_JOB', { id, netId, type }) - - dispatch( - 'txHashKeeper/updateDeposit', - { amount, currency, netId, type, action, note, txHash, fee }, - { root: true } - ) - }, - runJobWatcher({ state, dispatch }, { id, netId, type, noticeId }) { - console.log('runJobWatcher started for job', id) - return new Promise((resolve, reject) => { - const getConfirmations = async ({ id, netId, type, noticeId, retryAttempt = 0, noticeCalls = 0 }) => { - try { - const job = state.jobs[`netId${netId}`][type][id] - - if (job.status === 'FAILED') { - retryAttempt = 6 - throw new Error('Relayer is not responding') - } - - const response = await fetch(`${job.relayerUrl}v1/jobs/${id}`, { - method: 'GET', - mode: 'cors', - cache: 'no-cache', - headers: { - 'Content-Type': 'application/json' - }, - redirect: 'error' - }) - if (response.status === 400) { - const { error } = await response.json() - console.error('runJobWatcher', error) - throw new Error(this.app.i18n.t('relayerError')) - } - - if (response.status === 200) { - await dispatch('handleResponse', { - id, - response, - job, - type, - netId, - retryAttempt, - noticeId, - noticeCalls, - resolve, - getConfirmations - }) - } else { - throw new Error(this.app.i18n.t('unknownError')) - } - } catch (e) { - if (retryAttempt < 5) { - retryAttempt++ - - setTimeout( - () => - getConfirmations({ - id, - netId, - type, - noticeId, - retryAttempt, - noticeCalls - }), - 3000 - ) - } - reject(e.message) - } - } - getConfirmations({ id, netId, type, noticeId }) - dispatch('finishJobWatcher', { id, netId, type }) - }) - }, - async handleResponse( - { state, rootGetters, commit, dispatch, getters, rootState }, - { response, id, job, type, netId, retryAttempt, resolve, getConfirmations, noticeId, noticeCalls } - ) { - const { amount, currency } = job - const { txHash, confirmations, status, failedReason } = await response.json() - console.log('txHash, confirmations, status, failedReason', txHash, confirmations, status, failedReason) - commit('UPDATE_JOB', { id, netId, type, txHash, confirmations, status, failedReason }) - - if (status === 'FAILED') { - dispatch('stopFinishJobWatcher', { id }) - commit('DELETE_JOB', { id, netId, type }) - retryAttempt = 6 - console.error('runJobWatcher.handleResponse', failedReason) - - throw new Error(this.app.i18n.t('relayerError')) - } - - if (txHash && noticeCalls === 0 && (Number(confirmations) > 0 || status === 'CONFIRMED')) { - noticeCalls++ - - dispatch( - 'notice/updateNotice', - { - id: noticeId, - notice: { - title: { - path: 'withdrawnValue', - amount, - currency - }, - type: 'success', - txHash - }, - interval: 10000 - }, - { root: true } - ) - } - - if (status === 'CONFIRMED') { - console.log(`Job ${id} has enough confirmations`) - resolve(txHash) - } else { - setTimeout(() => getConfirmations({ id, netId, type, noticeId, retryAttempt, noticeCalls }), 3000) - } - }, - finishJobWatcher({ state, rootGetters, commit, dispatch, getters, rootState }, { id, netId, type }) { - const timerId = setTimeout(() => { - const { txHash, confirmations } = state.jobs[`netId${netId}`][type][id] - commit('UPDATE_JOB', { - id, - netId, - type, - txHash, - confirmations, - status: 'FAILED', - failedReason: this.app.i18n.t('relayerIsNotResponding') - }) - commit('DELETE_JOB_WATCHER', { id }) - }, 15 * 60 * 1000) - commit('ADD_JOB_WATCHER', { id, timerId }) - }, - stopFinishJobWatcher({ state, rootGetters, commit, dispatch, getters, rootState }, { id }) { - console.log(`Stop finishJobWatcher ${id}`) - const { timerId } = state.jobWatchers[id] - clearTimeout(timerId) - commit('DELETE_JOB_WATCHER', { id }) - }, - runAllJobs({ state, commit, dispatch, rootState }) { - const netId = rootState.metamask.netId - const jobs = state.jobs[`netId${netId}`] - - for (const type in jobs) { - for (const [id, { status }] of Object.entries(jobs[type])) { - const job = { id, netId, type } - if (status === 'FAILED') { - commit('DELETE_JOB', job) - } else { - dispatch('runJobWatcherWithNotifications', job) - } - } - } - } -} diff --git a/store/settings.js b/store/settings.js deleted file mode 100644 index 94ebe80..0000000 --- a/store/settings.js +++ /dev/null @@ -1,94 +0,0 @@ -/* eslint-disable no-console */ -import Web3 from 'web3' - -import networkConfig from '@/networkConfig' - -const getFirstRpcs = (acc, [netId, { rpcUrls }]) => { - const [rpc] = Object.values(rpcUrls) - - acc[netId] = { - rpc - } - - return acc -} - -const rpcData = Object.entries(networkConfig).reduce(getFirstRpcs, {}) - -export const state = () => { - return { - ...rpcData, - isActiveNotification: { - first: true, - second: true, - third: true - } - } -} - -export const getters = { - getRpc: (state) => (netId) => { - return state[`netId${netId}`].rpc - }, - currentRpc: (state, getters, rootState) => { - const netId = rootState.metamask.netId - return state[`netId${netId}`].rpc - } -} - -export const mutations = { - SAVE_RPC(state, { netId, name, url }) { - this._vm.$set(state[`netId${netId}`], 'rpc', { name, url }) - }, - DISABLE_NOTIFICATION(state, { key }) { - this._vm.$set(state, 'isActiveNotification', { ...state.isActiveNotification, [key]: false }) - } -} - -export const actions = { - disableNotification({ commit }, params) { - commit('DISABLE_NOTIFICATION', params) - }, - async checkCurrentRpc({ dispatch, getters, rootGetters }) { - const netId = rootGetters['metamask/netId'] - await dispatch('preselectRpc', { netId }) - }, - async preselectRpc({ getters, commit, dispatch }, { netId }) { - const savedRpc = getters.getRpc(netId) - const { isValid } = await dispatch('checkRpc', { ...savedRpc, netId }) - - if (isValid) { - return - } - - const { rpcUrls } = networkConfig[`netId${netId}`] - - for (const [, { name, url }] of Object.entries(rpcUrls)) { - const { isValid, error } = await dispatch('checkRpc', { url, netId }) - if (isValid) { - commit('SAVE_RPC', { netId, name, url }) - return - } else { - console.error('preselectRpc', url, error) - } - } - throw new Error(this.app.i18n.t('rpcSelectError')) - }, - async checkRpc(_, { url, netId }) { - try { - const web3 = new Web3(url) - - const chainId = await web3.eth.getChainId() - - const isCurrent = Number(chainId) === Number(netId) - if (isCurrent) { - return { isValid: true } - } else { - return { isValid: false, error: this.app.i18n.t('thisRpcIsForDifferentNetwork') } - } - } catch (e) { - console.error('checkRpc', e) - return { isValid: false, error: this.app.i18n.t('rpcIsDown') } - } - } -} diff --git a/store/snark.js b/store/snark.js deleted file mode 100644 index 516ab1f..0000000 --- a/store/snark.js +++ /dev/null @@ -1,109 +0,0 @@ -/* eslint-disable no-console */ -import zlib from 'zlib' -import axios from 'axios' -import Web3 from 'web3' - -import { detectMob } from '@/utils' -import networkConfig from '@/networkConfig' - -const { APP_ENS_NAME } = process.env - -const groth16 = require('websnark/src/groth16') - -function buildGroth16() { - const isMobile = detectMob() - const wasmMemory = isMobile ? 1000 : 2000 - return groth16({ wasmInitialMemory: wasmMemory }) -} - -function getEns() { - const { url } = Object.values(networkConfig.netId1.rpcUrls)[0] - const provider = new Web3(url) - - return provider.eth.ens -} - -async function getTornadoKeys(getProgress) { - try { - const keys = await Promise.all([ - download({ name: 'tornado.json.gz', contentType: 'string' }), - download({ name: 'tornadoProvingKey.bin.gz', contentType: 'arraybuffer', getProgress }) - ]) - - return { circuit: JSON.parse(keys[0]), provingKey: keys[1].buffer } - } catch (err) { - console.log('ERR', err) - throw err - } -} - -async function getIPFSIdFromENS(ensName) { - try { - const ensInterface = getEns() - const { decoded } = await ensInterface.getContenthash(ensName) - - return decoded - } catch (err) { - throw new Error(err) - } -} - -async function fetchFile({ url, name, getProgress, id, retryAttempt = 0 }) { - try { - const response = await axios.get(`${url}/${name}`, { - responseType: 'blob', - headers: { - 'Content-Type': 'application/x-www-form-urlencoded' - }, - onDownloadProgress: (progressEvent) => { - if (typeof getProgress === 'function') { - const progress = Math.round((progressEvent.loaded * 100) / 9626311) - getProgress(progress) - } - } - }) - - return response - } catch (err) { - if (!id) { - id = await getIPFSIdFromENS(APP_ENS_NAME) - } - const knownResources = [ - url, - `https://ipfs.io/ipfs/${id}`, - `https://dweb.link/ipfs/${id}`, - `https://gateway.pinata.cloud/ipfs/${id}` - ] - - if (retryAttempt < knownResources.length) { - const fallbackUrl = knownResources[retryAttempt] - retryAttempt++ - - const response = await fetchFile({ name, getProgress, retryAttempt, id, url: fallbackUrl }) - - return response - } - throw err - } -} -/** - * Function to download - * @param {*} name filename - * @param {'base64'|'string'|'binarystring'|'text'|'blob'|'uint8array'|'arraybuffer'|'array'|'nodebuffer'} contentType type of the content. - * @param getProgress function - */ -async function download({ name, contentType, getProgress, eventName = 'events' }) { - try { - // eslint-disable-next-line no-undef - const prefix = __webpack_public_path__.slice(0, -7) - const response = await fetchFile({ getProgress, url: prefix, name }) - const buffer = Buffer.from(await response.data.arrayBuffer()) - const content = zlib.inflateSync(buffer) - - return content - } catch (err) { - throw err - } -} - -export { getTornadoKeys, buildGroth16, download } diff --git a/store/token.js b/store/token.js deleted file mode 100644 index f94584f..0000000 --- a/store/token.js +++ /dev/null @@ -1,222 +0,0 @@ -/* eslint-disable no-console */ -/* eslint-disable import/order */ -import Web3 from 'web3' -import networkConfig from '@/networkConfig' -import ERC20ABI from '@/abis/ERC20.abi.json' -const { numberToHex, toBN, toWei } = require('web3-utils') -const BN = require('bn.js') -const zero = new BN(0) -const negative1 = new BN(-1) - -export const state = () => { - return { - approvalAmount: 'unlimited', - allowance: '', - balance: '' - } -} - -export const getters = { - tokenContract: (state, getters, rootState, rootGetters) => ({ currency, netId }) => { - const config = networkConfig[`netId${netId}`] - const { url } = rootState.settings[`netId${netId}`].rpc - const address = config.tokens[currency].tokenAddress - const web3 = new Web3(url) - return new web3.eth.Contract(ERC20ABI, address) - }, - // similar to fromWei from web3 - toDecimals: (state, getters, rootState, rootGetters) => (value, decimals, fixed) => { - const { currency } = rootState.application.selectedStatistic - decimals = decimals || rootGetters['metamask/networkConfig'].tokens[currency].decimals - fixed = fixed || 2 - - value = new BN(value) - const negative = value.lt(zero) - const base = new BN('10').pow(new BN(decimals)) - const baseLength = base.toString(10).length - 1 || 1 - - if (negative) { - value = value.mul(negative1) - } - - let fraction = value.mod(base).toString(10) - while (fraction.length < baseLength) { - fraction = `0${fraction}` - } - fraction = fraction.match(/^([0-9]*[1-9]|0)(0*)/)[1] - const whole = value.div(base).toString(10) - - if (fixed && fraction !== '0') { - fraction = fraction.slice(0, fixed) - } - value = `${whole}${fraction === '0' ? '' : `.${fraction}`}` - - if (negative) { - value = `-${value}` - } - - return value - }, - // similar to toWei from web3 - fromDecimals: (state, getters, rootState, rootGetters) => (value, decimals) => { - const { currency } = rootState.application.selectedStatistic - decimals = decimals || rootGetters['metamask/networkConfig'].tokens[currency].decimals - value = value.toString() - let ether = value.toString() - const base = new BN('10').pow(new BN(decimals)) - const baseLength = base.toString(10).length - 1 || 1 - - const negative = ether.substring(0, 1) === '-' - if (negative) { - ether = ether.substring(1) - } - - if (ether === '.') { - throw new Error(this.app.i18n.t('unitInvalidValue', { value })) - } - - // Split it into a whole and fractional part - const comps = ether.split('.') - if (comps.length > 2) { - throw new Error(this.app.i18n.t('tooManyDecimalPoints', { value })) - } - - let whole = comps[0] - let fraction = comps[1] - - if (!whole) { - whole = '0' - } - if (!fraction) { - fraction = '0' - } - if (fraction.length > baseLength) { - throw new Error(this.app.i18n.t('tooManyDecimalPlaces', { value })) - } - - while (fraction.length < baseLength) { - fraction += '0' - } - - whole = new BN(whole) - fraction = new BN(fraction) - let wei = whole.mul(base).add(fraction) - - if (negative) { - wei = wei.mul(negative) - } - - return new BN(wei.toString(10), 10) - }, - isSufficientAllowance: (state, getters, rootState, rootGetters) => { - const { currency, amount } = rootState.application.selectedInstance - const { decimals } = rootGetters['metamask/networkConfig'].tokens[currency] - return toBN(state.allowance).gte(toBN(getters.fromDecimals(amount, decimals))) - }, - isSufficientBalance: (state, getters, rootState, rootGetters) => { - const ethBalance = rootState.metamask.ethBalance - const { currency, amount } = rootState.application.selectedInstance - const { decimals } = rootGetters['metamask/networkConfig'].tokens[currency] - const nativeCurrency = rootGetters['metamask/nativeCurrency'] - if (currency === nativeCurrency) { - return toBN(ethBalance).gte(toBN(toWei(amount.toString()))) - } else { - return toBN(state.balance).gte(toBN(getters.fromDecimals(amount, decimals))) - } - }, - getSymbol: (state, getters, rootState, rootGetters) => (currency) => { - const tokens = rootGetters['metamask/networkConfig'].tokens - if (tokens[currency]) { - return tokens[currency].symbol - } - return currency.toUpperCase() - } -} - -export const mutations = { - SET_APPROVAL_AMOUNT(state, { approvalAmount }) { - state.approvalAmount = approvalAmount - }, - SAVE_ALLOWANCE(state, { allowance }) { - this._vm.$set(state, 'allowance', allowance) - }, - SAVE_BALANCE(state, { balance }) { - this._vm.$set(state, 'balance', balance) - } -} - -export const actions = { - async approve({ rootState, getters, dispatch, rootGetters, state }) { - try { - const netId = rootGetters['metamask/netId'] - const { currency } = rootState.application.selectedInstance - const { decimals } = rootGetters['metamask/networkConfig'].tokens[currency] - const tokenInstance = getters.tokenContract({ currency, netId }) - const tornadoProxy = rootGetters['application/tornadoProxyContract']({ netId }) - - const { ethAccount } = rootState.metamask - const amountToApprove = - state.approvalAmount === 'unlimited' - ? toBN('0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff') - : toBN(getters.fromDecimals(state.approvalAmount, decimals)) - const data = tokenInstance.methods - .approve(tornadoProxy._address, amountToApprove.toString()) - .encodeABI() - const gas = await tokenInstance.methods - .approve(tornadoProxy._address, amountToApprove.toString()) - .estimateGas({ - from: ethAccount - }) - - const callParams = { - method: 'eth_sendTransaction', - params: { - to: tokenInstance._address, - gas: numberToHex(gas + 30000), - data - }, - watcherParams: { - title: 'approve', - successTitle: 'approved' - }, - isSaving: false - } - - await dispatch('metamask/sendTransaction', callParams, { root: true }) - } catch (e) { - console.error('approve action', e) - throw new Error(e.message) - } - }, - async fetchTokenAllowance({ getters, rootGetters, commit, rootState }) { - const netId = rootGetters['metamask/netId'] - const { currency } = rootState.application.selectedInstance - const { ethAccount } = rootState.metamask - try { - const tornadoInstance = rootGetters['application/tornadoProxyContract']({ netId }) - const nativeCurrency = rootGetters['metamask/nativeCurrency'] - if (currency !== nativeCurrency && ethAccount) { - const tokenInstance = getters.tokenContract({ currency, netId }) - const allowance = await tokenInstance.methods.allowance(ethAccount, tornadoInstance._address).call() - commit('SAVE_ALLOWANCE', { allowance }) - } - } catch (e) { - console.error('fetchTokenAllowance', e.message) - } - }, - async fetchTokenBalance({ state, getters, rootGetters, commit, rootState }) { - try { - const netId = rootGetters['metamask/netId'] - const { currency } = rootState.application.selectedInstance - const { ethAccount } = rootState.metamask - const nativeCurrency = rootGetters['metamask/nativeCurrency'] - if (currency !== nativeCurrency && ethAccount) { - const tokenInstance = getters.tokenContract({ currency, netId }) - const balance = await tokenInstance.methods.balanceOf(ethAccount).call() - commit('SAVE_BALANCE', { balance }) - } - } catch (e) { - console.error('fetchTokenBalance', e.message) - } - } -} diff --git a/store/torn.js b/store/torn.js deleted file mode 100644 index 7f6b020..0000000 --- a/store/torn.js +++ /dev/null @@ -1,219 +0,0 @@ -/* eslint-disable no-console */ -import Web3 from 'web3' -import { toBN } from 'web3-utils' -import tornABI from '../abis/ERC20.abi.json' -import PermitSigner from '../lib/Permit' - -import { isWalletRejection } from '@/utils' - -const { toWei, toHex, numberToHex } = require('web3-utils') - -const state = () => { - return { - approvalAmount: 'unlimited', - allowance: '0', - balance: '', - signature: { - v: '', - r: '', - s: '', - amount: '', - deadline: 0 - } - } -} - -const getters = { - tokenContract: (state, getters, rootState, rootGetters) => { - const tornContract = rootGetters['metamask/networkConfig']['torn.contract.tornadocash.eth'] - const { url } = rootGetters['settings/currentRpc'] - const web3 = new Web3(url) - return new web3.eth.Contract(tornABI, tornContract) - } -} - -const mutations = { - SET_APPROVAL_AMOUNT(state, { approvalAmount }) { - state.approvalAmount = approvalAmount - }, - SAVE_ALLOWANCE(state, { allowance }) { - this._vm.$set(state, 'allowance', allowance) - }, - SAVE_BALANCE(state, { balance }) { - this._vm.$set(state, 'balance', balance) - }, - SAVE_SIGNATURE(state, { v, r, s, amount, deadline }) { - this._vm.$set(state, 'signature', { v, r, s, amount, deadline }) - }, - REMOVE_SIGNATURE(state) { - this._vm.$set(state, 'signature', { v: '', r: '', s: '', amount: '', deadline: 0 }) - } -} - -const actions = { - async approve({ rootState, getters, commit, dispatch, rootGetters, state }, { amount }) { - try { - console.log('call approve') - const netId = rootGetters['metamask/netId'] - const govInstance = rootGetters['governance/gov/govContract']({ netId }) - const amountToApprove = toHex(toWei(amount.toString())) - const data = getters.tokenContract.methods - .approve(govInstance._address, amountToApprove.toString()) - .encodeABI() - const gas = 100000 - - const callParams = { - method: 'eth_sendTransaction', - params: { - data, - gas: numberToHex(gas + 100000), - to: getters.tokenContract._address - }, - watcherParams: { - title: 'approve', - successTitle: 'approved' - }, - isSaving: false - } - - await dispatch('metamask/sendTransaction', callParams, { root: true }) - - dispatch('fetchTokenAllowance') - } catch (e) { - console.error('approve action', e) - throw new Error(e.message) - } - }, - async fetchTokenAllowance({ getters, rootGetters, commit, rootState }) { - const netId = rootGetters['metamask/netId'] - const { ethAccount } = rootState.metamask - - if (!ethAccount) { - return - } - - const govInstance = rootGetters['governance/gov/govContract']({ netId }) - try { - const allowance = await getters.tokenContract.methods.allowance(ethAccount, govInstance._address).call() - commit('SAVE_ALLOWANCE', { allowance }) - - return allowance - } catch (e) { - console.error('fetchTokenAllowance', e.message) - } - }, - async fetchTokenBalance({ state, getters, rootGetters, commit, rootState }) { - try { - const { ethAccount } = rootState.metamask - if (ethAccount) { - const balance = await getters.tokenContract.methods.balanceOf(ethAccount).call() - console.log('torn', balance) - commit('SAVE_BALANCE', { balance }) - } - } catch (e) { - console.error('fetchTokenBalance', e.message) - } - }, - async detectedAllowance({ dispatch }, initValue) { - try { - const allowance = await dispatch('fetchTokenAllowance') - - if (toBN(allowance).gte(initValue)) { - return true - } - setTimeout(() => { - return dispatch('detectedAllowance', initValue) - }, 5000) - } catch (err) { - console.error('detectedAllowance has error', err.message) - setTimeout(() => { - return dispatch('detectedAllowance', initValue) - }, 5000) - } - }, - async signApprove({ rootState, getters, rootGetters, dispatch, commit }, { amount }) { - try { - const { ethAccount } = rootState.metamask - const netId = rootGetters['metamask/netId'] - const govInstance = rootGetters['governance/gov/govContract']({ netId }) - - const domain = { - name: 'TornadoCash', - version: '1', - chainId: netId, - verifyingContract: getters.tokenContract._address - } - const oneDayFromNow = Math.ceil(Date.now() / 1000) + 86400 - // fetch nonces - let nonce = 0 - try { - nonce = await getters.tokenContract.methods.nonces(ethAccount).call() - console.log('nonce', nonce) - } catch (e) { - throw new Error(e.message) - } - - // const pre = toHex(toWei(amount.toString())).substr(2) - // let result = pre.length % 2 === 0 ? pre : '0' + pre - // result = '0x' + result - - const value = toWei(amount.toString()) - - const args = { - owner: ethAccount, - spender: govInstance._address, - value, // 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff - nonce, - deadline: oneDayFromNow - } - - const permitSigner = new PermitSigner(domain, args) - const req = permitSigner.getReqPayload() - - const callParams = { - method: 'eth_signTypedData_v4', - params: [ethAccount, JSON.stringify(req)] - } - - dispatch( - 'loading/changeText', - { - message: this.app.i18n.t('pleaseSignRequestInWallet', { - wallet: rootState.metamask.walletName - }), - type: 'approve' - }, - { root: true } - ) - - const query = await this.$provider.sendRequest(callParams) - const { v, r, s, hex } = permitSigner.getSignature(query) - - console.log('signature', v, r, s, hex) - - // signature validation on contract - await getters.tokenContract.methods - .permit(args.owner, args.spender, args.value, args.deadline, v, r, s) - .call() - - commit('SAVE_SIGNATURE', { v, r, s, amount, deadline: oneDayFromNow }) - } catch (e) { - console.error('signApprove', e.message) - if (!isWalletRejection(e)) { - setTimeout(async () => { - await dispatch('approve', { amount }) - dispatch('detectedAllowance', amount) - }, 1000) - } - } finally { - dispatch('loading/disable', {}, { root: true }) - } - } -} -export default { - namespaced: true, - state, - getters, - mutations, - actions -} diff --git a/store/txHashKeeper.js b/store/txHashKeeper.js deleted file mode 100644 index 78fd62e..0000000 --- a/store/txHashKeeper.js +++ /dev/null @@ -1,451 +0,0 @@ -/* eslint-disable no-console */ -import { hexToNumber } from 'web3-utils' - -import txStatus from './txStatus' - -import { eventsType } from '@/constants' -import { createChainIdState, parseNote } from '@/utils' - -const initialState = createChainIdState({ - txs: {}, - govTxs: {}, - encryptedTxs: {} -}) - -export const state = () => { - return initialState -} - -export const getters = { - txExplorerUrl: (state, getters, rootState, rootGetters) => (txHash) => { - const { explorerUrl } = rootGetters['metamask/networkConfig'] - return explorerUrl.tx + txHash - }, - addressExplorerUrl: (state, getters, rootState, rootGetters) => (address) => { - const { explorerUrl } = rootGetters['metamask/networkConfig'] - return explorerUrl.address + address - }, - blockExplorerUrl: (state, getters, rootState, rootGetters) => (block) => { - const { explorerUrl } = rootGetters['metamask/networkConfig'] - return explorerUrl.block + block - }, - encryptedTxs: (state, getters, rootState, rootGetters) => { - const netId = rootGetters['metamask/netId'] - - const txsToRender = Object.entries(state[`netId${netId}`].encryptedTxs) - .reverse() - .map(([txHash, tx]) => { - return { - isEncrypted: true, - txHash, - status, - ...tx - } - }) - return txsToRender - }, - txs: (state, getters, rootState, rootGetters) => { - const netId = rootGetters['metamask/netId'] - const txsToRender = Object.entries(state[`netId${netId}`].txs) - .reverse() - .map(([txHash, tx]) => { - return { - txHash, - status, - ...tx - } - }) - return txsToRender - }, - allTxs: (state, getters) => { - const { txs, encryptedTxs } = getters - return txs.concat(encryptedTxs) - }, - allTxsHash: (state, getters, rootState, rootGetters) => { - const netId = rootGetters['metamask/netId'] - return Object.entries(state[`netId${netId}`].txs) - .reverse() - .map(([txHash]) => txHash) - }, - txStatusClass: () => (status) => { - let cssClass - switch (status) { - case txStatus.waitingForReciept: - cssClass = 'is-loading' - break - case txStatus.success: - cssClass = 'is-success' - break - case txStatus.fail: - cssClass = 'is-danger' - break - default: - break - } - return cssClass - } -} - -export const mutations = { - SAVE_TX_HASH(state, { storeType = 'txs', amount = '0', note = null, netId, txHash, status, ...rest }) { - this._vm.$set(state[`netId${netId}`][storeType], [txHash], { - ...rest, - status: status || txStatus.waitingForReciept, - note, - amount - }) - }, - CHANGE_TX_STATUS(state, { storeType = 'txs', txHash, status, blockNumber, netId }) { - this._vm.$set(state[`netId${netId}`][storeType][txHash], 'status', status) - this._vm.$set(state[`netId${netId}`][storeType][txHash], 'blockNumber', blockNumber) - }, - SET_SPENT(state, { netId, storeType = 'txs', txHash }) { - this._vm.$set(state[`netId${netId}`][storeType][txHash], 'isSpent', true) - }, - DELETE_TX(state, { storeType = 'txs', txHash }) { - const netId = this._vm['metamask/netId'] - this._vm.$delete(state[`netId${netId}`][storeType], txHash) - }, - UPDATE_DEPOSIT(state, { storeType = 'txs', txHash, netId, withdrawTxHash, timestamp, status, ...rest }) { - const tx = state[`netId${netId}`][storeType][txHash] - this._vm.$delete(state[`netId${netId}`][storeType], txHash) - - this._vm.$set(state[`netId${netId}`][storeType], withdrawTxHash, { - ...tx, - timestamp, - depositTxHash: txHash, - txHash: withdrawTxHash, - depositBlock: tx.blockNumber, - status: status || txStatus.waitingForReciept, - ...rest - }) - } -} - -export const actions = { - async getInstances({ rootGetters }, { txs }) { - const eventsInterface = rootGetters['application/eventsInterface'] - - const instances = txs.reduce((acc, curr) => { - const [, currency, amount, netId] = curr.prefix.split('-') - - const name = `${amount}${currency}` - if (!acc[name]) { - const service = eventsInterface.getService({ netId, amount, currency }) - acc[name] = { currency, amount, netId, service } - } - return acc - }, {}) - - await Promise.all( - [].concat( - Object.values(instances).map((instance) => instance.service.updateEvents(eventsType.DEPOSIT)), - Object.values(instances).map((instance) => instance.service.updateEvents(eventsType.WITHDRAWAL)) - ) - ) - - return instances - }, - async checkPendingEncryptedTransaction({ dispatch, getters }) { - const transactions = getters.encryptedTxs - - const pendingTxs = transactions.filter((tx) => tx.status === 1) - - const instances = await dispatch('getInstances', { txs: pendingTxs }) - - for (const tx of pendingTxs) { - const [, currency, amount, netId] = tx.prefix.split('-') - - dispatch('checkSpeedUpEncryptedTx', { - netId, - txHash: tx.txHash, - type: eventsType.DEPOSIT, - commitment: tx.commitmentHex, - service: instances[`${amount}${currency}`] - }) - } - }, - async checkSpeedUpEncryptedTx({ commit, dispatch }, { txHash, commitment, netId, service, type }) { - try { - const result = await this.$provider.web3.eth.getTransactionReceipt(txHash) - - if (result) { - const status = result.status === '0x0' ? txStatus.fail : txStatus.success - - commit('CHANGE_TX_STATUS', { - netId, - txHash, - status, - storeType: 'encryptedTxs', - blockNumber: hexToNumber(result.blockNumber) - }) - } else { - const foundEvent = await service.findEvent({ eventName: 'commitment', eventToFind: commitment, type }) - - if (foundEvent) { - commit('UPDATE_DEPOSIT', { - netId, - txHash, - storeType: 'encryptedTxs', - status: txStatus.success, - timestamp: foundEvent.timestamp, - withdrawTxHash: foundEvent.txHash, - blockNumber: foundEvent.depositBlock - }) - } - } - } catch (err) { - throw new Error(`Method checkSpeedUpEncryptedTx has error ${err.message}`) - } - }, - async cleanEncryptedTxs({ getters, commit, dispatch }) { - getters.encryptedTxs.forEach(({ status, txHash, type }) => { - if (status === txStatus.fail) { - commit('DELETE_TX', { txHash, storeType: 'encryptedTxs' }) - } - }) - - const instances = await dispatch('getInstances', { - txs: getters.encryptedTxs - }) - - for (const tx of getters.encryptedTxs) { - if (!tx.isSpent) { - const { currency, amount, netId, nullifierHex } = parseNote(`${tx.prefix}-${tx.note}`) - - const isSpent = await instances[`${amount}${currency}`].service.findEvent({ - eventName: 'nullifierHash', - eventToFind: nullifierHex, - type: eventsType.WITHDRAWAL - }) - - if (isSpent) { - commit('SET_SPENT', { txHash: tx.txHash, storeType: 'encryptedTxs', netId }) - } - } - } - }, - checkPendingTransaction({ getters, dispatch }) { - const transactions = getters.txs - - const pendingTxs = transactions.filter((tx) => tx.status === 1) - - for (const tx of pendingTxs) { - const [, , , netId] = tx.prefix.split('-') - - dispatch('checkPendingSpeedUpTx', { txHash: tx.txHash, note: `${tx.prefix}-${tx.note}`, netId }) - } - }, - async checkPendingSpeedUpTx({ commit, dispatch }, { txHash, netId, note }) { - try { - const result = await this.$provider.web3.eth.getTransactionReceipt(txHash) - - if (result) { - const status = result.status === '0x0' ? txStatus.fail : txStatus.success - - commit('CHANGE_TX_STATUS', { - storeType: 'txs', - txHash, - blockNumber: hexToNumber(result.blockNumber), - status, - netId - }) - } else { - const response = await dispatch( - 'application/loadDepositEvent', - { withdrawNote: note }, - { root: true } - ) - - if (response) { - commit('UPDATE_DEPOSIT', { - netId, - txHash, - storeType: 'txs', - status: txStatus.success, - timestamp: response.timestamp, - withdrawTxHash: response.txHash, - blockNumber: response.depositBlock - }) - } - } - } catch (err) { - throw new Error(`Method checkPendingSpeedUpTx has error ${err.message}`) - } - }, - async runTxWatcher({ commit, dispatch }, { storeType = 'txs', txHash, netId, isSaving = true }) { - console.log('runTxWatcher storeType txHash, netId', storeType, txHash, netId) - try { - // eslint-disable-next-line prefer-const - let { status, blockNumber } = await this.$provider.waitForTxReceipt({ txHash }) - status = status === '0x0' ? txStatus.fail : txStatus.success - - if (isSaving) { - commit('CHANGE_TX_STATUS', { - storeType, - txHash, - blockNumber: hexToNumber(blockNumber), - status, - netId - }) - } - - return status === txStatus.success - } catch (e) { - console.error('runTxWatcher', e) - return false - } - }, - async runTxWatcherWithNotifications( - { dispatch }, - { title, successTitle, storeType = 'txs', txHash, netId, onSuccess, isSaving } - ) { - try { - const noticeId = await dispatch( - 'notice/addNotice', - { - notice: { - title, - type: 'loading', - txHash - } - }, - { root: true } - ) - const success = await dispatch('runTxWatcher', { storeType, txHash, netId, isSaving }) - if (success) { - dispatch( - 'notice/updateNotice', - { - id: noticeId, - notice: { - title: successTitle, - type: 'success' - }, - interval: 10000 - }, - { root: true } - ) - if (typeof onSuccess === 'function') { - onSuccess(txHash) - } - } else { - dispatch( - 'notice/updateNotice', - { - id: noticeId, - notice: { - title: 'transactionFailed', - type: 'danger' - } - }, - { root: true } - ) - } - return success - } catch (e) { - console.error('runTxWatcherWithNotifications', e) - return false - } - }, - async cleanTxs({ getters, commit, dispatch }) { - // isSpentArray - getters.txs.forEach(({ status, txHash, type }) => { - if (status === txStatus.fail) { - commit('DELETE_TX', { txHash }) - } - }) - - const instances = await dispatch('getInstances', { - txs: getters.txs - }) - - for (const tx of getters.txs) { - if (tx && !tx.isSpent) { - const { currency, amount, netId, nullifierHex } = parseNote(`${tx.prefix}-${tx.note}`) - - const isSpent = await instances[`${amount}${currency}`].service.findEvent({ - eventName: 'nullifierHash', - eventToFind: nullifierHex, - type: eventsType.WITHDRAWAL - }) - - if (isSpent) { - commit('SET_SPENT', { txHash: tx.txHash, netId }) - } - } - } - }, - async updateDeposit( - { getters, commit, dispatch, rootGetters }, - { netId, type = 'tornado', action = 'Withdraw', note, txHash, fee, amount, currency } - ) { - const timestamp = Math.round(new Date().getTime() / 1000) - - let txMutation = 'SAVE_TX_HASH' - const tx = { - txHash, - type: action, - amount, - currency, - fee, - netId, - timestamp, - status: 2 - } - - if (type === 'tornado') { - const [tornado, , , , hexNote] = note.split('-') - const { commitmentHex } = parseNote(note) - tx.prefix = `${tornado}-${currency}-${amount}-${netId}` - tx.isSpent = true - - const encryptedTxs = getters.encryptedTxs - const encrypted = encryptedTxs.find((tx) => { - return tx.commitmentHex === commitmentHex - }) - - tx.storeType = encrypted ? 'encryptedTxs' : 'txs' - - const deposit = - encrypted || - getters.txs.find(({ note }) => { - return note === hexNote - }) - - tx.note = encrypted ? encrypted.note : hexNote - - const blockNumber = await dispatch('getBlockNumber', { txHash }) - tx.blockNumber = blockNumber - - if (deposit && deposit.txHash) { - txMutation = 'UPDATE_DEPOSIT' - tx.txHash = deposit.txHash - tx.withdrawTxHash = txHash - } else { - const events = await dispatch('application/loadDepositEvent', { withdrawNote: note }, { root: true }) - - tx.withdrawTxHash = txHash - tx.txHash = events.txHash - tx.depositBlock = events.depositBlock - tx.index = events.leafIndex - } - } - - commit(txMutation, tx) - }, - async getBlockNumber({ rootState }, { txHash }) { - try { - const { netId } = rootState.metamask - const { url } = rootState.settings[`netId${netId}`].rpc - - const web3 = this.$provider.getWeb3(url) - - const { blockNumber } = await web3.eth.getTransaction(txHash) - - return blockNumber - } catch (err) { - console.log('getBlockNumber has error:', err.message) - } - } -} diff --git a/store/txStatus.js b/store/txStatus.js deleted file mode 100644 index 0cceef6..0000000 --- a/store/txStatus.js +++ /dev/null @@ -1,8 +0,0 @@ -const statuses = Object.freeze({ - nonExistent: 0, - waitingForReciept: 1, - success: 2, - fail: 3 -}) - -export default statuses diff --git a/utils/adapters.js b/utils/adapters.js deleted file mode 100644 index f0c4184..0000000 --- a/utils/adapters.js +++ /dev/null @@ -1,47 +0,0 @@ -import { eventsType } from '@/constants' - -export function formatEvents(events, type) { - if (type === eventsType.DEPOSIT) { - return events.map(({ blockNumber, transactionHash, returnValues }) => { - const { commitment, leafIndex, timestamp } = returnValues - return { - blockNumber, - transactionHash, - commitment, - leafIndex: Number(leafIndex), - timestamp - } - }) - } else { - return events.map(({ blockNumber, transactionHash, returnValues }) => { - const { nullifierHash, to, fee } = returnValues - return { - blockNumber, - transactionHash, - nullifierHash, - to, - fee - } - }) - } -} - -export function formatEvent(event, type) { - if (type === eventsType.DEPOSIT) { - return { - timestamp: event.timestamp, - commitment: event.commitment, - leafIndex: Number(event.index ? event.index : event.leafIndex), - blockNumber: event.blockNumber, - transactionHash: event.transactionHash - } - } else { - return { - to: event.to, - fee: event.fee, - nullifierHash: event.nullifier ? event.nullifier : event.nullifierHash, - blockNumber: Number(event.blockNumber), - transactionHash: event.transactionHash - } - } -} diff --git a/utils/crypto.js b/utils/crypto.js deleted file mode 100644 index e999f07..0000000 --- a/utils/crypto.js +++ /dev/null @@ -1,101 +0,0 @@ -import crypto from 'crypto' -import { BN, toBN } from 'web3-utils' - -import { pedersen } from '@/services' - -const CUT_LENGTH = 31 - -export function parseNote(note) { - const [, currency, amount, netId, hexNote] = note.split('-') - - return { - ...parseHexNote(hexNote), - netId, - amount, - currency - } -} - -export function parseHexNote(hexNote) { - const buffNote = Buffer.from(hexNote.slice(2), 'hex') - - const commitment = buffPedersenHash(buffNote) - - const nullifierBuff = buffNote.slice(0, CUT_LENGTH) - const nullifierHash = BigInt(buffPedersenHash(nullifierBuff)) - const nullifier = BigInt(leInt2Buff(buffNote.slice(0, CUT_LENGTH))) - - const secret = BigInt(leInt2Buff(buffNote.slice(CUT_LENGTH, CUT_LENGTH * 2))) - - return { - secret, - nullifier, - commitment, - nullifierBuff, - nullifierHash, - commitmentHex: toFixedHex(commitment), - nullifierHex: toFixedHex(nullifierHash) - } -} - -export function leInt2Buff(value) { - return new BN(value, 16, 'le') -} - -export function randomBN(nbytes = 31) { - return toBN(leInt2Buff(crypto.randomBytes(nbytes)).toString()) -} - -export function buffPedersenHash(buffer) { - const [hash] = pedersen.unpackPoint(buffer) - return pedersen.toStringBuffer(hash) -} - -export function toFixedHex(value, length = 32) { - const isBuffer = value instanceof Buffer - - const str = isBuffer ? value.toString('hex') : BigInt(value).toString(16) - return '0x' + str.padStart(length * 2, '0') -} - -export const isEmptyArray = (arr) => !Array.isArray(arr) || !arr.length - -export function packEncryptedMessage(encryptedMessage) { - const nonceBuf = Buffer.from(encryptedMessage.nonce, 'base64') - const ephemPublicKeyBuf = Buffer.from(encryptedMessage.ephemPublicKey, 'base64') - const ciphertextBuf = Buffer.from(encryptedMessage.ciphertext, 'base64') - const messageBuff = Buffer.concat([ - Buffer.alloc(24 - nonceBuf.length), - nonceBuf, - Buffer.alloc(32 - ephemPublicKeyBuf.length), - ephemPublicKeyBuf, - ciphertextBuf - ]) - return '0x' + messageBuff.toString('hex') -} - -export function unpackEncryptedMessage(encryptedMessage) { - if (encryptedMessage.slice(0, 2) === '0x') { - encryptedMessage = encryptedMessage.slice(2) - } - const messageBuff = Buffer.from(encryptedMessage, 'hex') - const nonceBuf = messageBuff.slice(0, 24) - const ephemPublicKeyBuf = messageBuff.slice(24, 56) - const ciphertextBuf = messageBuff.slice(56) - return { - version: 'x25519-xsalsa20-poly1305', - nonce: nonceBuf.toString('base64'), - ephemPublicKey: ephemPublicKeyBuf.toString('base64'), - ciphertext: ciphertextBuf.toString('base64') - } -} - -export function checkCommitments(events = []) { - events.forEach(({ leafIndex }, i) => { - // TODO reload events, need for if infura provider missing events - if (leafIndex !== i) { - console.error(`Missing deposit event for deposit #${i}`) - throw new Error(window.$nuxt.$t('failedToFetchAllDepositEvents')) - } - }) -} diff --git a/utils/debounce.js b/utils/debounce.js deleted file mode 100644 index 63618d2..0000000 --- a/utils/debounce.js +++ /dev/null @@ -1,17 +0,0 @@ -export const _debounce = (func, waitFor) => { - let timeout = null - - const debounceFunction = (...args) => { - if (timeout) { - clearTimeout(timeout) - timeout = null - } - timeout = setTimeout(() => { - return func(...args) - }, waitFor) - } - - return debounceFunction -} - -export const debounce = _debounce((func, args) => func(args), 400) diff --git a/utils/index.js b/utils/index.js deleted file mode 100644 index 566b88b..0000000 --- a/utils/index.js +++ /dev/null @@ -1,43 +0,0 @@ -import FileSaver from 'file-saver' - -export * from './crypto' -export * from './debounce' -export * from './adapters' -export * from './storeUtils' -export * from './stringUtils' -export * from './numberUtils' -export * from './instanceUtils' - -export function flattenNArray(arr) { - return arr.reduce((flat, toFlatten) => { - return flat.concat(Array.isArray(toFlatten) ? flattenNArray(toFlatten) : toFlatten) - }, []) -} - -export function sleep(ms) { - return new Promise((resolve) => setTimeout(resolve, ms)) -} - -export function detectMob() { - if ( - navigator.userAgent.match(/Android/i) || - navigator.userAgent.match(/webOS/i) || - navigator.userAgent.match(/iPhone/i) || - navigator.userAgent.match(/iPad/i) || - navigator.userAgent.match(/iPod/i) || - navigator.userAgent.match(/BlackBerry/i) || - navigator.userAgent.match(/Windows Phone/i) - ) { - return true - } else { - return false - } -} - -export function saveAsFile(data, name) { - if (detectMob()) { - return - } - - FileSaver.saveAs(data, name) -} diff --git a/utils/instanceUtils.js b/utils/instanceUtils.js deleted file mode 100644 index 33e3634..0000000 --- a/utils/instanceUtils.js +++ /dev/null @@ -1,16 +0,0 @@ -import networkConfig from '@/networkConfig' - -export function getInstanceByAddress({ netId, address }) { - const { tokens } = networkConfig[`netId${netId}`] - - for (const [currency, { instanceAddress }] of Object.entries(tokens)) { - for (const [amount, instance] of Object.entries(instanceAddress)) { - if (instance === address) { - return { - amount, - currency - } - } - } - } -} diff --git a/utils/numberUtils.js b/utils/numberUtils.js deleted file mode 100644 index ae50017..0000000 --- a/utils/numberUtils.js +++ /dev/null @@ -1,6 +0,0 @@ -import { BigNumber as BN } from 'bignumber.js' - -// return the number of decimal places of the value -export function decimalPlaces(value) { - return new BN(value).dp() -} diff --git a/utils/storeUtils.js b/utils/storeUtils.js deleted file mode 100644 index 671c82a..0000000 --- a/utils/storeUtils.js +++ /dev/null @@ -1,24 +0,0 @@ -import { cloneDeep } from 'lodash' -import { CHAIN_IDS } from '@/constants' - -const netIdWrapper = (initialState) => (acc, netId) => ({ - ...acc, - [netId]: Object.assign({}, cloneDeep(initialState)) -}) - -export function createChainIdState(initialState) { - return CHAIN_IDS.reduce(netIdWrapper(initialState), {}) -} - -export function isStorageAvailable(type) { - try { - const test = '__test__' - const storage = window[type] - - storage.setItem(test, test) - storage.removeItem(test) - return true - } catch { - return false - } -} diff --git a/utils/stringUtils.js b/utils/stringUtils.js deleted file mode 100644 index 38b9a5b..0000000 --- a/utils/stringUtils.js +++ /dev/null @@ -1,46 +0,0 @@ -export function capitalizeFirstLetter(string) { - return string.charAt(0).toUpperCase() + string.slice(1) -} - -export const hashRender = (hash, size = 4, separator = '...') => { - return hash.slice(0, size) + separator + hash.slice(-size) -} - -export const sliceAddress = (address) => { - return '0x' + hashRender(address.slice(2)) -} - -export const sliceEnsName = (name, size = 4, separator = '...') => { - const chars = [...name] - - const last = name - .split('.') - .pop() - .slice(-size) - - if (chars[0]?.length === 2 && last) { - // 🐵🍆💦.eth -> 🐵🍆💦.eth - if (chars.length - 4 <= 4) return name - - // 🦍🦍🦍🦍🦍🦍🦍.eth -> 🦍🦍🦍...eth - return [].concat(chars.slice(0, 3), separator, last).join('') - } - - if (chars.length <= 2 * size + 2 + separator.length) return name - if (!name.includes('.')) return sliceAddress(name, size, separator) - - return last.length - ? [].concat(chars.slice(0, 2 * size - last.length), separator, last).join('') - : [].concat(chars.slice(0, size), separator, chars.slice(-size)).join('') -} - -const semVerRegex = /^(?0|[1-9]\d*)\.(?0|[1-9]\d*)\.(?0|[1-9]\d*)(?:-(?(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/ - -export const parseSemanticVersion = (version) => { - const { groups } = semVerRegex.exec(version) - return groups -} - -export const isWalletRejection = (err) => { - return /cance(l)+ed|denied|rejected/im.test(err.message) -} diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 779643d..0000000 --- a/yarn.lock +++ /dev/null @@ -1,16659 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@apollo/client@^3.3.20": - version "3.3.20" - resolved "https://registry.npmjs.org/@apollo/client/-/client-3.3.20.tgz#8f0935fa991857e9cf2e73c9bd378ad7ec97caf8" - integrity sha512-hS7UmBwJweudw/J3M0RAcusMHNiRuGqkRH6g91PM2ev8cXScIMdXr/++9jo7wD1nAITMCMF4HQQ3LFaw/Or0Bw== - dependencies: - "@graphql-typed-document-node/core" "^3.0.0" - "@types/zen-observable" "^0.8.0" - "@wry/context" "^0.6.0" - "@wry/equality" "^0.5.0" - fast-json-stable-stringify "^2.0.0" - graphql-tag "^2.12.0" - hoist-non-react-statics "^3.3.2" - optimism "^0.16.0" - prop-types "^15.7.2" - symbol-observable "^4.0.0" - ts-invariant "^0.7.0" - tslib "^1.10.0" - zen-observable "^0.8.14" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" - integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/code-frame@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/compat-data@^7.12.5", "@babel/compat-data@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.7.tgz#9329b4782a7d6bbd7eef57e11addf91ee3ef1e41" - integrity sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw== - -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" - integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== - -"@babel/core@^7.1.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" - integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helpers" "^7.5.5" - "@babel/parser" "^7.5.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.12.0": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" - integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.10" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.5" - "@babel/parser" "^7.12.10" - "@babel/template" "^7.12.7" - "@babel/traverse" "^7.12.10" - "@babel/types" "^7.12.10" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.12.10": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.10.tgz#2b188fc329fb8e4f762181703beffc0fe6df3460" - integrity sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww== - dependencies: - "@babel/types" "^7.12.10" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@^7.17.3": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" - integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== - dependencies: - "@babel/types" "^7.17.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@^7.4.0", "@babel/generator@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" - integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== - dependencies: - "@babel/types" "^7.5.5" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - trim-right "^1.0.1" - -"@babel/helper-annotate-as-pure@^7.10.4": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz#54ab9b000e60a93644ce17b3f37d313aaf1d115d" - integrity sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ== - dependencies: - "@babel/types" "^7.12.10" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" - integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-compilation-targets@^7.12.0", "@babel/helper-compilation-targets@^7.12.5": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831" - integrity sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw== - dependencies: - "@babel/compat-data" "^7.12.5" - "@babel/helper-validator-option" "^7.12.1" - browserslist "^4.14.5" - semver "^5.5.0" - -"@babel/helper-compilation-targets@^7.13.0": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" - integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e" - integrity sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-member-expression-to-functions" "^7.12.1" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.10.4" - -"@babel/helper-create-regexp-features-plugin@^7.12.1": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz#2084172e95443fa0a09214ba1bb328f9aea1278f" - integrity sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - regexpu-core "^4.7.1" - -"@babel/helper-define-map@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" - integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/types" "^7.10.5" - lodash "^4.17.19" - -"@babel/helper-define-polyfill-provider@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" - integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== - dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-explode-assignable-expression@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz#8006a466695c4ad86a2a5f2fb15b5f2c31ad5633" - integrity sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== - dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" - integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== - dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" - integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== - dependencies: - "@babel/helper-get-function-arity" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-get-function-arity@^7.10.4": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz#b158817a3165b5faa2047825dfa61970ddcc16cf" - integrity sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag== - dependencies: - "@babel/types" "^7.12.10" - -"@babel/helper-get-function-arity@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" - integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-hoist-variables@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" - integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-member-expression-to-functions@^7.12.1": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855" - integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw== - dependencies: - "@babel/types" "^7.12.7" - -"@babel/helper-module-imports@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" - integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.5": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" - integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== - dependencies: - "@babel/types" "^7.12.5" - -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-transforms@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" - integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== - dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-simple-access" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/helper-validator-identifier" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - lodash "^4.17.19" - -"@babel/helper-optimise-call-expression@^7.10.4": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz#94ca4e306ee11a7dd6e9f42823e2ac6b49881e2d" - integrity sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ== - dependencies: - "@babel/types" "^7.12.10" - -"@babel/helper-plugin-utils@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== - -"@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" - integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== - -"@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" - integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== - -"@babel/helper-remap-async-to-generator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd" - integrity sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-wrap-function" "^7.10.4" - "@babel/types" "^7.12.1" - -"@babel/helper-replace-supers@^7.12.1": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz#f009a17543bbbbce16b06206ae73b63d3fca68d9" - integrity sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.12.1" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.12.5" - "@babel/types" "^7.12.5" - -"@babel/helper-simple-access@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" - integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" - integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" - integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== - dependencies: - "@babel/types" "^7.11.0" - -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-split-export-declaration@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" - integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== - dependencies: - "@babel/types" "^7.4.4" - -"@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-option@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" - integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== - -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== - -"@babel/helper-wrap-function@^7.10.4": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz#3332339fc4d1fbbf1c27d7958c27d34708e990d9" - integrity sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helpers@^7.12.5": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" - integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== - dependencies: - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.5" - "@babel/types" "^7.12.5" - -"@babel/helpers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" - integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== - dependencies: - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - -"@babel/highlight@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" - integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/highlight@^7.16.7": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" - integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" - integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== - -"@babel/parser@^7.12.10", "@babel/parser@^7.12.7": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.10.tgz#824600d59e96aea26a5a2af5a9d812af05c3ae81" - integrity sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA== - -"@babel/parser@^7.16.7", "@babel/parser@^7.17.3": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.7.tgz#fc19b645a5456c8d6fdb6cecd3c66c0173902800" - integrity sha512-bm3AQf45vR4gKggRfvJdYJ0gFLoCbsPxiFLSH6hTVYABptNHY6l9NrhnucVjQ/X+SPtLANT9lc0fFhikj+VBRA== - -"@babel/plugin-proposal-async-generator-functions@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" - integrity sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.12.1" - "@babel/plugin-syntax-async-generators" "^7.8.0" - -"@babel/plugin-proposal-class-properties@^7.10.4", "@babel/plugin-proposal-class-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" - integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-proposal-decorators@^7.10.5": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz#59271439fed4145456c41067450543aee332d15f" - integrity sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-decorators" "^7.12.1" - -"@babel/plugin-proposal-dynamic-import@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc" - integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - -"@babel/plugin-proposal-export-namespace-from@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4" - integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" - integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.0" - -"@babel/plugin-proposal-logical-assignment-operators@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751" - integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" - integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - -"@babel/plugin-proposal-numeric-separator@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz#8bf253de8139099fea193b297d23a9d406ef056b" - integrity sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" - integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.12.1" - -"@babel/plugin-proposal-optional-catch-binding@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942" - integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - -"@babel/plugin-proposal-optional-chaining@^7.12.0", "@babel/plugin-proposal-optional-chaining@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz#e02f0ea1b5dc59d401ec16fb824679f683d3303c" - integrity sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-private-methods@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" - integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072" - integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-async-generators@^7.8.0": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" - integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-decorators@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz#81a8b535b284476c41be6de06853a8802b98c5dd" - integrity sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-dynamic-import@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-json-strings@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" - integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" - integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-object-rest-spread@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" - integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-arrow-functions@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" - integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-async-to-generator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" - integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A== - dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.12.1" - -"@babel/plugin-transform-block-scoped-functions@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" - integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-block-scoping@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1" - integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-classes@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6" - integrity sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-define-map" "^7.10.4" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.10.4" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852" - integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-destructuring@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" - integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975" - integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-duplicate-keys@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" - integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-exponentiation-operator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" - integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-for-of@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa" - integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-function-name@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667" - integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" - integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad" - integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-modules-amd@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9" - integrity sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ== - dependencies: - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648" - integrity sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag== - dependencies: - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-simple-access" "^7.12.1" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086" - integrity sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q== - dependencies: - "@babel/helper-hoist-variables" "^7.10.4" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-identifier" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902" - integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q== - dependencies: - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753" - integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - -"@babel/plugin-transform-new-target@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0" - integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-object-super@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e" - integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.1" - -"@babel/plugin-transform-parameters@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d" - integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-property-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" - integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-regenerator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753" - integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8" - integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-runtime@^7.12.0": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz#af0fded4e846c4b37078e8e5d06deac6cd848562" - integrity sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA== - dependencies: - "@babel/helper-module-imports" "^7.12.5" - "@babel/helper-plugin-utils" "^7.10.4" - semver "^5.5.1" - -"@babel/plugin-transform-runtime@^7.5.5": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz#0a2e08b5e2b2d95c4b1d3b3371a2180617455b70" - integrity sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - semver "^6.3.0" - -"@babel/plugin-transform-shorthand-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3" - integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-spread@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e" - integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - -"@babel/plugin-transform-sticky-regex@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz#560224613ab23987453948ed21d0b0b193fa7fad" - integrity sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-template-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843" - integrity sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-typeof-symbol@^7.12.10": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz#de01c4c8f96580bd00f183072b0d0ecdcf0dec4b" - integrity sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-unicode-escapes@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709" - integrity sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-unicode-regex@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb" - integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/preset-env@^7.12.0": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.10.tgz#ca981b95f641f2610531bd71948656306905e6ab" - integrity sha512-Gz9hnBT/tGeTE2DBNDkD7BiWRELZt+8lSysHuDwmYXUIvtwZl0zI+D6mZgXZX0u8YBlLS4tmai9ONNY9tjRgRA== - dependencies: - "@babel/compat-data" "^7.12.7" - "@babel/helper-compilation-targets" "^7.12.5" - "@babel/helper-module-imports" "^7.12.5" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-option" "^7.12.1" - "@babel/plugin-proposal-async-generator-functions" "^7.12.1" - "@babel/plugin-proposal-class-properties" "^7.12.1" - "@babel/plugin-proposal-dynamic-import" "^7.12.1" - "@babel/plugin-proposal-export-namespace-from" "^7.12.1" - "@babel/plugin-proposal-json-strings" "^7.12.1" - "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" - "@babel/plugin-proposal-numeric-separator" "^7.12.7" - "@babel/plugin-proposal-object-rest-spread" "^7.12.1" - "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.12.7" - "@babel/plugin-proposal-private-methods" "^7.12.1" - "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.12.1" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.12.1" - "@babel/plugin-transform-arrow-functions" "^7.12.1" - "@babel/plugin-transform-async-to-generator" "^7.12.1" - "@babel/plugin-transform-block-scoped-functions" "^7.12.1" - "@babel/plugin-transform-block-scoping" "^7.12.1" - "@babel/plugin-transform-classes" "^7.12.1" - "@babel/plugin-transform-computed-properties" "^7.12.1" - "@babel/plugin-transform-destructuring" "^7.12.1" - "@babel/plugin-transform-dotall-regex" "^7.12.1" - "@babel/plugin-transform-duplicate-keys" "^7.12.1" - "@babel/plugin-transform-exponentiation-operator" "^7.12.1" - "@babel/plugin-transform-for-of" "^7.12.1" - "@babel/plugin-transform-function-name" "^7.12.1" - "@babel/plugin-transform-literals" "^7.12.1" - "@babel/plugin-transform-member-expression-literals" "^7.12.1" - "@babel/plugin-transform-modules-amd" "^7.12.1" - "@babel/plugin-transform-modules-commonjs" "^7.12.1" - "@babel/plugin-transform-modules-systemjs" "^7.12.1" - "@babel/plugin-transform-modules-umd" "^7.12.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" - "@babel/plugin-transform-new-target" "^7.12.1" - "@babel/plugin-transform-object-super" "^7.12.1" - "@babel/plugin-transform-parameters" "^7.12.1" - "@babel/plugin-transform-property-literals" "^7.12.1" - "@babel/plugin-transform-regenerator" "^7.12.1" - "@babel/plugin-transform-reserved-words" "^7.12.1" - "@babel/plugin-transform-shorthand-properties" "^7.12.1" - "@babel/plugin-transform-spread" "^7.12.1" - "@babel/plugin-transform-sticky-regex" "^7.12.7" - "@babel/plugin-transform-template-literals" "^7.12.1" - "@babel/plugin-transform-typeof-symbol" "^7.12.10" - "@babel/plugin-transform-unicode-escapes" "^7.12.1" - "@babel/plugin-transform-unicode-regex" "^7.12.1" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.12.10" - core-js-compat "^3.8.0" - semver "^5.5.0" - -"@babel/preset-modules@^0.1.3": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" - integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/runtime@^7.12.0", "@babel/runtime@^7.8.4": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" - integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.5.5": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.7.tgz#a5f3328dc41ff39d803f311cfe17703418cf9825" - integrity sha512-L6rvG9GDxaLgFjg41K+5Yv9OMrU98sWe+Ykmc6FDJW/+vYZMhdOMKkISgzptMaERHvS2Y2lw9MDRm2gHhlQQoA== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" - integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/template@^7.10.4", "@babel/template@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" - integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.12.7" - "@babel/types" "^7.12.7" - -"@babel/template@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" - integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.5.5" - "@babel/types" "^7.5.5" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.10", "@babel/traverse@^7.12.5": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.10.tgz#2d1f4041e8bf42ea099e5b2dc48d6a594c00017a" - integrity sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.10" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.12.10" - "@babel/types" "^7.12.10" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.19" - -"@babel/traverse@^7.13.0": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" - integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.3" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.3" - "@babel/types" "^7.17.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" - integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.10", "@babel/types@^7.12.5", "@babel/types@^7.12.7": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.10.tgz#7965e4a7260b26f09c56bcfcb0498af1f6d9b260" - integrity sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.19" - to-fast-properties "^2.0.0" - -"@babel/types@^7.16.7", "@babel/types@^7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" - integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@cnakazawa/watch@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" - integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@csstools/convert-colors@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" - integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== - -"@ethereumjs/common@^2.3.0", "@ethereumjs/common@^2.4.0", "@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.1": - version "2.6.2" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.2.tgz#eb006c9329c75c80f634f340dc1719a5258244df" - integrity sha512-vDwye5v0SVeuDky4MtKsu+ogkH2oFUV8pBKzH/eNBzT8oI91pKa8WyzDuYuxOQsgNgv5R34LfFDh2aaw3H4HbQ== - dependencies: - crc-32 "^1.2.0" - ethereumjs-util "^7.1.4" - -"@ethereumjs/tx@^3.2.1", "@ethereumjs/tx@^3.3.2": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.5.0.tgz#783b0aeb08518b9991b23f5155763bbaf930a037" - integrity sha512-/+ZNbnJhQhXC83Xuvy6I9k4jT5sXiV0tMR9C+AzSSpcCV64+NB8dTE1m3x98RYMqb8+TLYWA+HML4F5lfXTlJw== - dependencies: - "@ethereumjs/common" "^2.6.1" - ethereumjs-util "^7.1.4" - -"@ethersproject/abi@5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.7.tgz#79e52452bd3ca2956d0e1c964207a58ad1a0ee7b" - integrity sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw== - dependencies: - "@ethersproject/address" "^5.0.4" - "@ethersproject/bignumber" "^5.0.7" - "@ethersproject/bytes" "^5.0.4" - "@ethersproject/constants" "^5.0.4" - "@ethersproject/hash" "^5.0.4" - "@ethersproject/keccak256" "^5.0.3" - "@ethersproject/logger" "^5.0.5" - "@ethersproject/properties" "^5.0.3" - "@ethersproject/strings" "^5.0.4" - -"@ethersproject/abi@5.6.0", "@ethersproject/abi@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.6.0.tgz#ea07cbc1eec2374d32485679c12408005895e9f3" - integrity sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg== - dependencies: - "@ethersproject/address" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/constants" "^5.6.0" - "@ethersproject/hash" "^5.6.0" - "@ethersproject/keccak256" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - -"@ethersproject/abstract-provider@5.6.0", "@ethersproject/abstract-provider@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.6.0.tgz#0c4ac7054650dbd9c476cf5907f588bbb6ef3061" - integrity sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw== - dependencies: - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/networks" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/transactions" "^5.6.0" - "@ethersproject/web" "^5.6.0" - -"@ethersproject/abstract-signer@5.6.0", "@ethersproject/abstract-signer@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.6.0.tgz#9cd7ae9211c2b123a3b29bf47aab17d4d016e3e7" - integrity sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ== - dependencies: - "@ethersproject/abstract-provider" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - -"@ethersproject/address@5.6.0", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.0.tgz#13c49836d73e7885fc148ad633afad729da25012" - integrity sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ== - dependencies: - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/keccak256" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/rlp" "^5.6.0" - -"@ethersproject/base64@5.6.0", "@ethersproject/base64@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.6.0.tgz#a12c4da2a6fb86d88563216b0282308fc15907c9" - integrity sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw== - dependencies: - "@ethersproject/bytes" "^5.6.0" - -"@ethersproject/basex@5.6.0", "@ethersproject/basex@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.6.0.tgz#9ea7209bf0a1c3ddc2a90f180c3a7f0d7d2e8a69" - integrity sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - -"@ethersproject/bignumber@5.6.0", "@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.6.0.tgz#116c81b075c57fa765a8f3822648cf718a8a0e26" - integrity sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - bn.js "^4.11.9" - -"@ethersproject/bytes@5.6.0", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.6.0.tgz#81652f2a0e04533575befadce555213c11d8aa20" - integrity sha512-3hJPlYemb9V4VLfJF5BfN0+55vltPZSHU3QKUyP9M3Y2TcajbiRrz65UG+xVHOzBereB1b9mn7r12o177xgN7w== - dependencies: - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/constants@5.6.0", "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.6.0.tgz#55e3eb0918584d3acc0688e9958b0cedef297088" - integrity sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA== - dependencies: - "@ethersproject/bignumber" "^5.6.0" - -"@ethersproject/contracts@5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.6.0.tgz#60f2cfc7addd99a865c6c8cfbbcec76297386067" - integrity sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw== - dependencies: - "@ethersproject/abi" "^5.6.0" - "@ethersproject/abstract-provider" "^5.6.0" - "@ethersproject/abstract-signer" "^5.6.0" - "@ethersproject/address" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/constants" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/transactions" "^5.6.0" - -"@ethersproject/hash@5.6.0", "@ethersproject/hash@^5.0.4", "@ethersproject/hash@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.6.0.tgz#d24446a5263e02492f9808baa99b6e2b4c3429a2" - integrity sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA== - dependencies: - "@ethersproject/abstract-signer" "^5.6.0" - "@ethersproject/address" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/keccak256" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - -"@ethersproject/hdnode@5.6.0", "@ethersproject/hdnode@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.6.0.tgz#9dcbe8d629bbbcf144f2cae476337fe92d320998" - integrity sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw== - dependencies: - "@ethersproject/abstract-signer" "^5.6.0" - "@ethersproject/basex" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/pbkdf2" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/sha2" "^5.6.0" - "@ethersproject/signing-key" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - "@ethersproject/transactions" "^5.6.0" - "@ethersproject/wordlists" "^5.6.0" - -"@ethersproject/json-wallets@5.6.0", "@ethersproject/json-wallets@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.6.0.tgz#4c2fc27f17e36c583e7a252fb938bc46f98891e5" - integrity sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ== - dependencies: - "@ethersproject/abstract-signer" "^5.6.0" - "@ethersproject/address" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/hdnode" "^5.6.0" - "@ethersproject/keccak256" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/pbkdf2" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/random" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - "@ethersproject/transactions" "^5.6.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@5.6.0", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.6.0.tgz#fea4bb47dbf8f131c2e1774a1cecbfeb9d606459" - integrity sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w== - dependencies: - "@ethersproject/bytes" "^5.6.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@5.6.0", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.6.0.tgz#d7db1bfcc22fd2e4ab574cba0bb6ad779a9a3e7a" - integrity sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg== - -"@ethersproject/networks@5.6.0", "@ethersproject/networks@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.6.0.tgz#486d03fff29b4b6b5414d47a232ded09fe10de5e" - integrity sha512-DaVzgyThzHgSDLuURhvkp4oviGoGe9iTZW4jMEORHDRCgSZ9K9THGFKqL+qGXqPAYLEgZTf5z2w56mRrPR1MjQ== - dependencies: - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/pbkdf2@5.6.0", "@ethersproject/pbkdf2@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.6.0.tgz#04fcc2d7c6bff88393f5b4237d906a192426685a" - integrity sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/sha2" "^5.6.0" - -"@ethersproject/properties@5.6.0", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.6.0.tgz#38904651713bc6bdd5bdd1b0a4287ecda920fa04" - integrity sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg== - dependencies: - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/providers@5.6.1": - version "5.6.1" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.6.1.tgz#9a05f00ecbac59565bf6907c8d2af8ac33303b48" - integrity sha512-w8Wx15nH+aVDvnoKCyI1f3x0B5idmk/bDJXMEUqCfdO8Eadd0QpDx9lDMTMmenhOmf9vufLJXjpSm24D3ZnVpg== - dependencies: - "@ethersproject/abstract-provider" "^5.6.0" - "@ethersproject/abstract-signer" "^5.6.0" - "@ethersproject/address" "^5.6.0" - "@ethersproject/basex" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/constants" "^5.6.0" - "@ethersproject/hash" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/networks" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/random" "^5.6.0" - "@ethersproject/rlp" "^5.6.0" - "@ethersproject/sha2" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - "@ethersproject/transactions" "^5.6.0" - "@ethersproject/web" "^5.6.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@5.6.0", "@ethersproject/random@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.6.0.tgz#1505d1ab6a250e0ee92f436850fa3314b2cb5ae6" - integrity sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/rlp@5.6.0", "@ethersproject/rlp@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.6.0.tgz#55a7be01c6f5e64d6e6e7edb6061aa120962a717" - integrity sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/sha2@5.6.0", "@ethersproject/sha2@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.6.0.tgz#364c4c11cc753bda36f31f001628706ebadb64d9" - integrity sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - hash.js "1.1.7" - -"@ethersproject/signing-key@5.6.0", "@ethersproject/signing-key@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.6.0.tgz#4f02e3fb09e22b71e2e1d6dc4bcb5dafa69ce042" - integrity sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - bn.js "^4.11.9" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/solidity@5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.6.0.tgz#64657362a596bf7f5630bdc921c07dd78df06dc3" - integrity sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww== - dependencies: - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/keccak256" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/sha2" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - -"@ethersproject/strings@5.6.0", "@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.6.0.tgz#9891b26709153d996bf1303d39a7f4bc047878fd" - integrity sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/constants" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/transactions@5.6.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.6.0.tgz#4b594d73a868ef6e1529a2f8f94a785e6791ae4e" - integrity sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg== - dependencies: - "@ethersproject/address" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/constants" "^5.6.0" - "@ethersproject/keccak256" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/rlp" "^5.6.0" - "@ethersproject/signing-key" "^5.6.0" - -"@ethersproject/units@5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.6.0.tgz#e5cbb1906988f5740254a21b9ded6bd51e826d9c" - integrity sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw== - dependencies: - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/constants" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/wallet@5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.6.0.tgz#33d11a806d783864208f348709a5a3badac8e22a" - integrity sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg== - dependencies: - "@ethersproject/abstract-provider" "^5.6.0" - "@ethersproject/abstract-signer" "^5.6.0" - "@ethersproject/address" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/hash" "^5.6.0" - "@ethersproject/hdnode" "^5.6.0" - "@ethersproject/json-wallets" "^5.6.0" - "@ethersproject/keccak256" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/random" "^5.6.0" - "@ethersproject/signing-key" "^5.6.0" - "@ethersproject/transactions" "^5.6.0" - "@ethersproject/wordlists" "^5.6.0" - -"@ethersproject/web@5.6.0", "@ethersproject/web@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.6.0.tgz#4bf8b3cbc17055027e1a5dd3c357e37474eaaeb8" - integrity sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg== - dependencies: - "@ethersproject/base64" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - -"@ethersproject/wordlists@5.6.0", "@ethersproject/wordlists@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.6.0.tgz#79e62c5276e091d8575f6930ba01a29218ded032" - integrity sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/hash" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - -"@graphql-typed-document-node/core@^3.0.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.0.tgz#0eee6373e11418bfe0b5638f654df7a4ca6a3950" - integrity sha512-wYn6r8zVZyQJ6rQaALBEln5B1pzxb9shV5Ef97kTvn6yVGrqyXVnDqnU24MXnFubR+rZjBY9NWuxX3FB2sTsjg== - -"@jest/console@^24.7.1", "@jest/console@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" - integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== - dependencies: - "@jest/source-map" "^24.9.0" - chalk "^2.0.1" - slash "^2.0.0" - -"@jest/core@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" - integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A== - dependencies: - "@jest/console" "^24.7.1" - "@jest/reporters" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-changed-files "^24.9.0" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-resolve-dependencies "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - jest-watcher "^24.9.0" - micromatch "^3.1.10" - p-each-series "^1.0.0" - realpath-native "^1.1.0" - rimraf "^2.5.4" - slash "^2.0.0" - strip-ansi "^5.0.0" - -"@jest/environment@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" - integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ== - dependencies: - "@jest/fake-timers" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - -"@jest/fake-timers@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" - integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A== - dependencies: - "@jest/types" "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - -"@jest/reporters@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" - integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.2" - istanbul-lib-coverage "^2.0.2" - istanbul-lib-instrument "^3.0.1" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.1" - istanbul-reports "^2.2.6" - jest-haste-map "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - node-notifier "^5.4.2" - slash "^2.0.0" - source-map "^0.6.0" - string-length "^2.0.0" - -"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" - integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.1.15" - source-map "^0.6.0" - -"@jest/test-result@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" - integrity sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA== - dependencies: - "@jest/console" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/istanbul-lib-coverage" "^2.0.0" - -"@jest/test-sequencer@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" - integrity sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A== - dependencies: - "@jest/test-result" "^24.9.0" - jest-haste-map "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - -"@jest/transform@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" - integrity sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^24.9.0" - babel-plugin-istanbul "^5.1.0" - chalk "^2.0.1" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.1.15" - jest-haste-map "^24.9.0" - jest-regex-util "^24.9.0" - jest-util "^24.9.0" - micromatch "^3.1.10" - pirates "^4.0.1" - realpath-native "^1.1.0" - slash "^2.0.0" - source-map "^0.6.1" - write-file-atomic "2.4.1" - -"@jest/types@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" - integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^13.0.0" - -"@metamask/onboarding@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@metamask/onboarding/-/onboarding-1.0.0.tgz#500c65b58d1e09419b049638024db040cce30dc6" - integrity sha512-GnR1Sv87plYM58RYRC7V04oo52JEL4zDmgoLKLdjr59ma60lK6LzZz3k9uJscqUAfwtgKurXHz2Hx5r2oBC6vQ== - dependencies: - bowser "^2.9.0" - tslib "^1.11.0" - -"@metamask/safe-event-emitter@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c" - integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== - -"@nodelib/fs.scandir@2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" - integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== - dependencies: - "@nodelib/fs.stat" "2.0.3" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" - integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" - integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== - dependencies: - "@nodelib/fs.scandir" "2.1.3" - fastq "^1.6.0" - -"@nuxt/babel-preset-app@2.14.7": - version "2.14.7" - resolved "https://registry.yarnpkg.com/@nuxt/babel-preset-app/-/babel-preset-app-2.14.7.tgz#47206d368218b09d4ebc9fe61ca3a8c38ea4e0d5" - integrity sha512-lVlWvOY1exNL2tuXkYMHWOw4fiD32w2aIRYBprmechTnbjVBCExk+RabCsd6Dvyp0dYDQRrWW4IwsWZ36wqDyg== - dependencies: - "@babel/core" "^7.12.0" - "@babel/helper-compilation-targets" "^7.12.0" - "@babel/plugin-proposal-class-properties" "^7.10.4" - "@babel/plugin-proposal-decorators" "^7.10.5" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.0" - "@babel/plugin-proposal-optional-chaining" "^7.12.0" - "@babel/plugin-transform-runtime" "^7.12.0" - "@babel/preset-env" "^7.12.0" - "@babel/runtime" "^7.12.0" - "@vue/babel-preset-jsx" "^1.1.2" - core-js "^2.6.5" - -"@nuxt/builder@2.14.7": - version "2.14.7" - resolved "https://registry.yarnpkg.com/@nuxt/builder/-/builder-2.14.7.tgz#fe7b276d788e149923f5d7b93c3c9e23713ce0c4" - integrity sha512-dKH3z0kvm1JTm9+2RF0xKb7AGPYfMxqS1JIYTWUxT6LUQAU8A22oM6iv10sE5X6JDx0CEiW9BTZnArnR7Cjehw== - dependencies: - "@nuxt/devalue" "^1.2.4" - "@nuxt/utils" "2.14.7" - "@nuxt/vue-app" "2.14.7" - "@nuxt/webpack" "2.14.7" - chalk "^3.0.0" - chokidar "^3.4.3" - consola "^2.15.0" - fs-extra "^8.1.0" - glob "^7.1.6" - hash-sum "^2.0.0" - ignore "^5.1.8" - lodash "^4.17.20" - pify "^4.0.1" - semver "^7.3.2" - serialize-javascript "^5.0.1" - upath "^2.0.0" - -"@nuxt/cli@2.14.7": - version "2.14.7" - resolved "https://registry.yarnpkg.com/@nuxt/cli/-/cli-2.14.7.tgz#16e55e35782f46c325f52a477e9031c4b7f88d45" - integrity sha512-6EDN0WGYMpZ3wRARtTaWEm0YfJk+f2gFo0Ivgm9VZZSNHBNlw+l5b6ABzZ3JNA895dAj04rsS8wl2Q8svq5l5Q== - dependencies: - "@nuxt/config" "2.14.7" - "@nuxt/static" "^1.0.0" - "@nuxt/utils" "2.14.7" - boxen "^4.2.0" - chalk "^3.0.0" - compression "^1.7.4" - connect "^3.7.0" - consola "^2.15.0" - crc "^3.8.0" - destr "^1.0.0" - esm "^3.2.25" - execa "^3.4.0" - exit "^0.1.2" - fs-extra "^8.1.0" - globby "^11.0.1" - hable "^3.0.0" - minimist "^1.2.5" - opener "1.5.2" - pretty-bytes "^5.4.1" - serve-static "^1.14.1" - std-env "^2.2.1" - upath "^2.0.0" - wrap-ansi "^6.2.0" - -"@nuxt/components@^1.1.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@nuxt/components/-/components-1.2.2.tgz#675975758f77d3cbd33f9561867d71ba9e54d0e9" - integrity sha512-AByrBPnV4mWwwf1tPaKLmtg6JBsNJACLuSnpJOpWGV6KjS5S8i6BTf8dqiPN0uGg6YeSQaeDWtnfILcoLp2GSw== - dependencies: - chalk "^4.1.0" - chokidar "^3.4.3" - glob "^7.1.6" - globby "^11.0.1" - lodash "^4.17.20" - semver "^7.3.4" - vue-template-compiler "^2.6.12" - -"@nuxt/config@2.14.7": - version "2.14.7" - resolved "https://registry.yarnpkg.com/@nuxt/config/-/config-2.14.7.tgz#9ef2d03d440f66d3bdb9e665f03eb0827fbbcff8" - integrity sha512-qWbeJMpTWiz7aK+2kXDEPK/gJgCVDdZZ5eiJZ7I2ACqgjq9WkJ5Dn34+jDYSG3BRI7/or3iBFpCQhWysPy69Gw== - dependencies: - "@nuxt/utils" "2.14.7" - consola "^2.15.0" - create-require "^1.0.2" - defu "^2.0.4" - destr "^1.0.0" - dotenv "^8.2.0" - esm "^3.2.25" - jiti "^0.1.11" - rc9 "^1.0.0" - std-env "^2.2.1" - -"@nuxt/core@2.14.7": - version "2.14.7" - resolved "https://registry.yarnpkg.com/@nuxt/core/-/core-2.14.7.tgz#a819ce2c926d6d48dd7eed026c3cc5241126ef32" - integrity sha512-ssg4C+FGzmd6TjtYdPUGUdwUwJsu8IBLxaMo/BpPLnOd8Qs44g6bJX4OsioS9gdwfiMsZBw7j1tF5dbP5MjuNQ== - dependencies: - "@nuxt/config" "2.14.7" - "@nuxt/devalue" "^1.2.4" - "@nuxt/server" "2.14.7" - "@nuxt/utils" "2.14.7" - "@nuxt/vue-renderer" "2.14.7" - consola "^2.15.0" - debug "^4.2.0" - esm "^3.2.25" - fs-extra "^8.1.0" - hable "^3.0.0" - hash-sum "^2.0.0" - std-env "^2.2.1" - -"@nuxt/devalue@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@nuxt/devalue/-/devalue-1.2.4.tgz#69eca032b7481fd3c019a78ade65d642da3f2f35" - integrity sha512-hS87c2HdSfTk1d+2KQx7mQpebyd2HjguvZu/UBy9LB+kUgT1qz2+Sj38FH32yJALK6Fv49ZfOZEwgcZ4rcNLjg== - dependencies: - consola "^2.9.0" - -"@nuxt/friendly-errors-webpack-plugin@^2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@nuxt/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-2.5.0.tgz#5374665bc72d34b7dbadcc361a4777e3f0f5d46b" - integrity sha512-pUgPFmRL56/xuTCGN5rqgTfxvs1N/AYJw7q7tUHiZaBm3UyPgbIVPkadS9njwbFbPD2XcebVy7npQMMVwQJWfA== - dependencies: - chalk "^2.3.2" - consola "^2.6.0" - error-stack-parser "^2.0.0" - string-width "^2.0.0" - -"@nuxt/generator@2.14.7": - version "2.14.7" - resolved "https://registry.yarnpkg.com/@nuxt/generator/-/generator-2.14.7.tgz#97dfb43fa302c8a301dfa5f65a833e774313bbea" - integrity sha512-EzpUudKB5lpgS9dxI0ms3tcKbNFrFjJdwEn6aKvhdC1fAl7KGSkfCb1Nt3l5JM25XIGRyCk6hB15f7zM2Xhg7A== - dependencies: - "@nuxt/utils" "2.14.7" - chalk "^3.0.0" - consola "^2.15.0" - fs-extra "^8.1.0" - html-minifier "^4.0.0" - node-html-parser "^1.3.1" - -"@nuxt/loading-screen@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nuxt/loading-screen/-/loading-screen-2.0.3.tgz#1d6b1f976bb143c6592231af0bf7fa6245f6ebd2" - integrity sha512-ThvxxUpfTZezzz0gAgyG4vHCM7KDeA692EL7lKrZ/fU8JvXlG6LYngVLWAobexBsydtGkuZyKCwCVDnEGNL4jw== - dependencies: - connect "^3.7.0" - defu "^2.0.4" - get-port-please "^1.0.0" - node-res "^5.0.1" - serve-static "^1.14.1" - -"@nuxt/opencollective@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@nuxt/opencollective/-/opencollective-0.3.2.tgz#83cb70cdb2bac5fad6f8c93529e7b11187d49c02" - integrity sha512-XG7rUdXG9fcafu9KTDIYjJSkRO38EwjlKYIb5TQ/0WDbiTUTtUtgncMscKOYzfsY86kGs05pAuMOR+3Fi0aN3A== - dependencies: - chalk "^4.1.0" - consola "^2.15.0" - node-fetch "^2.6.1" - -"@nuxt/server@2.14.7": - version "2.14.7" - resolved "https://registry.yarnpkg.com/@nuxt/server/-/server-2.14.7.tgz#fb45d084d01fe418b4385ac09b7f82de4cde3a42" - integrity sha512-udy7rk/hS0HmNdy82mzhISEIegdwHNHNormtn9RHPYshctLkWT7ymDPyU6br9nq0cIbYBkMJb6gENgzD8++2Ag== - dependencies: - "@nuxt/config" "2.14.7" - "@nuxt/utils" "2.14.7" - "@nuxt/vue-renderer" "2.14.7" - "@nuxtjs/youch" "^4.2.3" - chalk "^3.0.0" - compression "^1.7.4" - connect "^3.7.0" - consola "^2.15.0" - etag "^1.8.1" - fresh "^0.5.2" - fs-extra "^8.1.0" - ip "^1.1.5" - launch-editor-middleware "^2.2.1" - on-headers "^1.0.2" - pify "^4.0.1" - serve-placeholder "^1.2.2" - serve-static "^1.14.1" - server-destroy "^1.0.1" - -"@nuxt/static@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@nuxt/static/-/static-1.0.0.tgz#32fb4345a38a220b3f79e083f17e134ff695a822" - integrity sha512-giYaEwPsKDqqXiR4uXvsNAwJ1gGEPg/hLMLWvXC56YF5FNbdc3kOroq0/TtQ2eF0OCu38olJs8IEyLjYUdP5Vg== - dependencies: - consola "^2.14.0" - crc "^3.8.0" - defu "^2.0.4" - destr "^1.0.0" - globby "^11.0.1" - -"@nuxt/telemetry@^1.2.3": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@nuxt/telemetry/-/telemetry-1.3.0.tgz#0c6595c786c4fcb060ea8508aaf6285dce8201e0" - integrity sha512-anAhyccoVyy/RetkqVsIxpJKdAu/GHyLl79ZtH0oOCbYcC85k8d+LC1S10WcqXyeqyUKifLxGR6yPqSPmQCCtg== - dependencies: - arg "^5.0.0" - chalk "^4.1.0" - ci-info "^2.0.0" - consola "^2.15.0" - create-require "^1.1.0" - defu "^3.2.2" - destr "^1.0.1" - dotenv "^8.2.0" - fs-extra "^8.1.0" - git-url-parse "^11.4.0" - inquirer "^7.3.3" - is-docker "^2.1.1" - jiti "^0.1.16" - nanoid "^3.1.18" - node-fetch "^2.6.1" - parse-git-config "^3.0.0" - rc9 "^1.2.0" - std-env "^2.2.1" - -"@nuxt/utils@2.14.7": - version "2.14.7" - resolved "https://registry.yarnpkg.com/@nuxt/utils/-/utils-2.14.7.tgz#04d19351b5f4c33249c3497c41a00cdde0993e10" - integrity sha512-RAfzPtpf3z3qYmHF01jgqc4mkIth+2y7HQqxa4G8iisg/bCCQp03MU7Cvcrijf6vjTh3YXLU6jSeL8A4oQRjeg== - dependencies: - consola "^2.15.0" - fs-extra "^8.1.0" - hash-sum "^2.0.0" - proper-lockfile "^4.1.1" - semver "^7.3.2" - serialize-javascript "^5.0.1" - signal-exit "^3.0.3" - ua-parser-js "^0.7.22" - -"@nuxt/vue-app@2.14.7": - version "2.14.7" - resolved "https://registry.yarnpkg.com/@nuxt/vue-app/-/vue-app-2.14.7.tgz#ad069a22c0ec2f738f5603351e72d759753ef464" - integrity sha512-0Z+dIZOcTA5dA0JnRY4WLIZGfZOPpZDvnsaB1MWDaXZMkK+ul1AhlPerGBSu5YDRqURSVDcojO04+OP9aa5etw== - dependencies: - node-fetch "^2.6.1" - unfetch "^4.2.0" - vue "^2.6.12" - vue-client-only "^2.0.0" - vue-meta "^2.4.0" - vue-no-ssr "^1.1.1" - vue-router "^3.4.6" - vue-template-compiler "^2.6.12" - vuex "^3.5.1" - -"@nuxt/vue-renderer@2.14.7": - version "2.14.7" - resolved "https://registry.yarnpkg.com/@nuxt/vue-renderer/-/vue-renderer-2.14.7.tgz#cc48d1a3492e9a014da31d3df8b2062bb7f3de70" - integrity sha512-hJg8Em48KXmx8DsNpaNhDy4FwbmRMiOFkTvy8AkHrIiaaWfXPDqnNlICtSzBEKYL8Wk3/Yznp26rfLIDC19BoA== - dependencies: - "@nuxt/devalue" "^1.2.4" - "@nuxt/utils" "2.14.7" - consola "^2.15.0" - fs-extra "^8.1.0" - lru-cache "^5.1.1" - vue "^2.6.12" - vue-meta "^2.4.0" - vue-server-renderer "^2.6.12" - -"@nuxt/webpack@2.14.7": - version "2.14.7" - resolved "https://registry.yarnpkg.com/@nuxt/webpack/-/webpack-2.14.7.tgz#e466bfae9bc5976b0cb74867d0c525b5ffc906f0" - integrity sha512-oXTR1moYdKKcttp6ASb11eISkb6EWtOHtavFPHn9axtyQBoZm6pxkF01ihvEwCUz6JDoTido3vzIi7+hV3gG5A== - dependencies: - "@babel/core" "^7.12.0" - "@nuxt/babel-preset-app" "2.14.7" - "@nuxt/friendly-errors-webpack-plugin" "^2.5.0" - "@nuxt/utils" "2.14.7" - babel-loader "^8.1.0" - cache-loader "^4.1.0" - caniuse-lite "^1.0.30001148" - chalk "^3.0.0" - consola "^2.15.0" - create-require "^1.0.2" - css-loader "^3.6.0" - cssnano "^4.1.10" - eventsource-polyfill "^0.9.6" - extract-css-chunks-webpack-plugin "^4.7.5" - file-loader "^4.3.0" - glob "^7.1.6" - hard-source-webpack-plugin "^0.13.1" - hash-sum "^2.0.0" - html-webpack-plugin "^4.5.0" - memory-fs "^0.4.1" - optimize-css-assets-webpack-plugin "^5.0.4" - pify "^4.0.1" - postcss "^7.0.32" - postcss-import "^12.0.1" - postcss-import-resolver "^2.0.0" - postcss-loader "^3.0.0" - postcss-preset-env "^6.7.0" - postcss-url "^8.0.0" - semver "^7.3.2" - std-env "^2.2.1" - style-resources-loader "^1.3.3" - terser-webpack-plugin "^2.3.5" - thread-loader "^2.1.3" - time-fix-plugin "^2.0.7" - url-loader "^2.3.0" - vue-loader "^15.9.3" - webpack "^4.44.2" - webpack-bundle-analyzer "^3.9.0" - webpack-dev-middleware "^3.7.2" - webpack-hot-middleware "^2.25.0" - webpack-node-externals "^2.5.2" - webpackbar "^4.0.0" - -"@nuxtjs/eslint-config@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@nuxtjs/eslint-config/-/eslint-config-1.1.2.tgz#cde4c950014a781bcc34abbfef9c62546d8fc34c" - integrity sha512-uKBdza1/Poz32gEodQ9MSW8M9CU4RPdvEiSLX5LWyavrbjhXW9iIbzJzSDlgMhD1QfQ5WrWv1iqL3Bh/ArbIgw== - dependencies: - eslint-config-standard "^12.0.0" - eslint-plugin-import "^2.18.0" - eslint-plugin-jest "^22.10.0" - eslint-plugin-node "^9.1.0" - eslint-plugin-promise "^4.2.1" - eslint-plugin-standard "^4.0.0" - eslint-plugin-unicorn "^9.1.1" - eslint-plugin-vue "^5.2.3" - -"@nuxtjs/eslint-module@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@nuxtjs/eslint-module/-/eslint-module-1.1.0.tgz#816f8d41c3883e8131ce5f863a0ca2f3fd7cbcbf" - integrity sha512-9np9tKQ30ULIfT7Zshhw9Gc8Xf437/X7jUGG2Wv4SwT26Miu0WE0q9FNXUt9gxaBIQuokKiWsoTT28rXUaxHjQ== - dependencies: - consola "^2.10.1" - eslint-loader "^3.0.0" - -"@nuxtjs/moment@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@nuxtjs/moment/-/moment-1.6.0.tgz#d0e981ece640f9bf9bc2e75adf722f705a245d66" - integrity sha512-bg3E530sfQWZD2fDUICSLGjROZ1auqo/QQYOdDus4a3QVTHZwIiMvwebWw4ITMc1ld4Cb6VGFuQd1AV0mHm3AA== - dependencies: - moment "^2.24.0" - moment-locales-webpack-plugin "^1.1.2" - moment-timezone "^0.5.27" - moment-timezone-data-webpack-plugin "^1.1.0" - -"@nuxtjs/youch@^4.2.3": - version "4.2.3" - resolved "https://registry.yarnpkg.com/@nuxtjs/youch/-/youch-4.2.3.tgz#36f8b22df5a0efaa81373109851e1d857aca6bed" - integrity sha512-XiTWdadTwtmL/IGkNqbVe+dOlT+IMvcBu7TvKI7plWhVQeBCQ9iKhk3jgvVWFyiwL2yHJDlEwOM5v9oVES5Xmw== - dependencies: - cookie "^0.3.1" - mustache "^2.3.0" - stack-trace "0.0.10" - -"@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== - -"@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== - dependencies: - defer-to-connect "^1.0.1" - -"@types/anymatch@*": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" - integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== - -"@types/babel__core@^7.1.0": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30" - integrity sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" - integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f" - integrity sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw== - dependencies: - "@babel/types" "^7.3.0" - -"@types/bn.js@^4.11.3", "@types/bn.js@^4.11.5": - version "4.11.6" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" - integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== - dependencies: - "@types/node" "*" - -"@types/bn.js@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" - integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== - dependencies: - "@types/node" "*" - -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - -"@types/html-minifier-terser@^5.0.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50" - integrity sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA== - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" - integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== - -"@types/istanbul-lib-report@*": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" - integrity sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" - integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA== - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - -"@types/json-schema@^7.0.3": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" - integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== - -"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" - integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== - -"@types/node@*": - version "12.7.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.4.tgz#64db61e0359eb5a8d99b55e05c729f130a678b04" - integrity sha512-W0+n1Y+gK/8G2P/piTkBBN38Qc5Q1ZSO6B5H3QmPCUewaiXOo2GCAWZ4ElZCcNhjJuBSUSLGFUJnmlCn5+nxOQ== - -"@types/node@^12.12.6": - version "12.20.47" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.47.tgz#ca9237d51f2a2557419688511dab1c8daf475188" - integrity sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg== - -"@types/pbkdf2@^3.0.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" - integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== - dependencies: - "@types/node" "*" - -"@types/q@^1.5.1": - version "1.5.2" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" - integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== - -"@types/secp256k1@^4.0.1": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" - integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== - dependencies: - "@types/node" "*" - -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== - -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== - -"@types/strip-bom@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" - integrity sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I= - -"@types/strip-json-comments@0.0.30": - version "0.0.30" - resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" - integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== - -"@types/tapable@*", "@types/tapable@^1.0.5": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" - integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA== - -"@types/uglify-js@*": - version "3.11.1" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.11.1.tgz#97ff30e61a0aa6876c270b5f538737e2d6ab8ceb" - integrity sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q== - dependencies: - source-map "^0.6.1" - -"@types/webpack-sources@*": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" - integrity sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" - -"@types/webpack@^4.41.8": - version "4.41.25" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.25.tgz#4d3b5aecc4e44117b376280fbfd2dc36697968c4" - integrity sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ== - dependencies: - "@types/anymatch" "*" - "@types/node" "*" - "@types/tapable" "*" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - source-map "^0.6.0" - -"@types/yargs-parser@*": - version "13.1.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" - integrity sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg== - -"@types/yargs@^13.0.0": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.2.tgz#a64674fc0149574ecd90ba746e932b5a5f7b3653" - integrity sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ== - dependencies: - "@types/yargs-parser" "*" - -"@types/zen-observable@^0.8.0": - version "0.8.2" - resolved "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.2.tgz#808c9fa7e4517274ed555fa158f2de4b4f468e71" - integrity sha512-HrCIVMLjE1MOozVoD86622S7aunluLb2PJdPfb3nYiEtohm8mIB/vyv0Fd37AdeMFrTUQXEunw78YloMA3Qilg== - -"@typescript-eslint/experimental-utils@^1.13.0": - version "1.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz#b08c60d780c0067de2fb44b04b432f540138301e" - integrity sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "1.13.0" - eslint-scope "^4.0.0" - -"@typescript-eslint/experimental-utils@^2.5.0": - version "2.8.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.8.0.tgz#208b4164d175587e9b03ce6fea97d55f19c30ca9" - integrity sha512-jZ05E4SxCbbXseQGXOKf3ESKcsGxT8Ucpkp1jiVp55MGhOvZB2twmWKf894PAuVQTCgbPbJz9ZbRDqtUWzP8xA== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.8.0" - eslint-scope "^5.0.0" - -"@typescript-eslint/typescript-estree@1.13.0": - version "1.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz#8140f17d0f60c03619798f1d628b8434913dc32e" - integrity sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw== - dependencies: - lodash.unescape "4.0.1" - semver "5.5.0" - -"@typescript-eslint/typescript-estree@2.8.0": - version "2.8.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.8.0.tgz#fcc3fe6532840085d29b75432c8a59895876aeca" - integrity sha512-ksvjBDTdbAQ04cR5JyFSDX113k66FxH1tAXmi+dj6hufsl/G0eMc/f1GgLjEVPkYClDbRKv+rnBFuE5EusomUw== - dependencies: - debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" - is-glob "^4.0.1" - lodash.unescape "4.0.1" - semver "^6.3.0" - tsutils "^3.17.1" - -"@vue/babel-helper-vue-jsx-merge-props@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz#31624a7a505fb14da1d58023725a4c5f270e6a81" - integrity sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA== - -"@vue/babel-plugin-transform-vue-jsx@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz#646046c652c2f0242727f34519d917b064041ed7" - integrity sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - html-tags "^2.0.0" - lodash.kebabcase "^4.1.1" - svg-tags "^1.0.0" - -"@vue/babel-preset-jsx@^1.1.2": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz#92fea79db6f13b01e80d3a0099e2924bdcbe4e87" - integrity sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w== - dependencies: - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - "@vue/babel-sugar-composition-api-inject-h" "^1.2.1" - "@vue/babel-sugar-composition-api-render-instance" "^1.2.4" - "@vue/babel-sugar-functional-vue" "^1.2.2" - "@vue/babel-sugar-inject-h" "^1.2.2" - "@vue/babel-sugar-v-model" "^1.2.3" - "@vue/babel-sugar-v-on" "^1.2.3" - -"@vue/babel-sugar-composition-api-inject-h@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz#05d6e0c432710e37582b2be9a6049b689b6f03eb" - integrity sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-composition-api-render-instance@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz#e4cbc6997c344fac271785ad7a29325c51d68d19" - integrity sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-functional-vue@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz#267a9ac8d787c96edbf03ce3f392c49da9bd2658" - integrity sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-inject-h@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz#d738d3c893367ec8491dcbb669b000919293e3aa" - integrity sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-v-model@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz#fa1f29ba51ebf0aa1a6c35fa66d539bc459a18f2" - integrity sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - camelcase "^5.0.0" - html-tags "^2.0.0" - svg-tags "^1.0.0" - -"@vue/babel-sugar-v-on@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz#342367178586a69f392f04bfba32021d02913ada" - integrity sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - camelcase "^5.0.0" - -"@vue/component-compiler-utils@^3.1.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz#8f85182ceed28e9b3c75313de669f83166d11e5d" - integrity sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw== - dependencies: - consolidate "^0.15.1" - hash-sum "^1.0.2" - lru-cache "^4.1.2" - merge-source-map "^1.1.0" - postcss "^7.0.14" - postcss-selector-parser "^6.0.2" - source-map "~0.6.1" - vue-template-es2015-compiler "^1.9.0" - optionalDependencies: - prettier "^1.18.2" - -"@vue/test-utils@^1.0.0-beta.27": - version "1.0.0-beta.29" - resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.0.0-beta.29.tgz#c942cf25e891cf081b6a03332b4ae1ef430726f0" - integrity sha512-yX4sxEIHh4M9yAbLA/ikpEnGKMNBCnoX98xE1RwxfhQVcn0MaXNSj1Qmac+ZydTj6VBSEVukchBogXBTwc+9iA== - dependencies: - dom-event-types "^1.0.0" - lodash "^4.17.4" - -"@walletconnect/browser-utils@^1.7.8": - version "1.7.8" - resolved "https://registry.yarnpkg.com/@walletconnect/browser-utils/-/browser-utils-1.7.8.tgz#c9e27f69d838442d69ccf53cb38ffc3c554baee2" - integrity sha512-iCL0XCWOZaABIc0lqA79Vyaybr3z26nt8mxiwvfrG8oaKUf5Y21Of4dj+wIXQ4Hhblre6SgDlU0Ffb39+1THOw== - dependencies: - "@walletconnect/safe-json" "1.0.0" - "@walletconnect/types" "^1.7.8" - "@walletconnect/window-getters" "1.0.0" - "@walletconnect/window-metadata" "1.0.0" - detect-browser "5.2.0" - -"@walletconnect/client@^1.7.8": - version "1.7.8" - resolved "https://registry.yarnpkg.com/@walletconnect/client/-/client-1.7.8.tgz#62c2d7114e59495d90772ea8033831ceb29c6a78" - integrity sha512-pBroM6jZAaUM0SoXJZg5U7aPTiU3ljQAw3Xh/i2pxFDeN/oPKao7husZ5rdxS5xuGSV6YpqqRb0RxW1IeoR2Pg== - dependencies: - "@walletconnect/core" "^1.7.8" - "@walletconnect/iso-crypto" "^1.7.8" - "@walletconnect/types" "^1.7.8" - "@walletconnect/utils" "^1.7.8" - -"@walletconnect/core@^1.7.8": - version "1.7.8" - resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-1.7.8.tgz#97c52ea7d00126863cd37bf19bd3e87d4f30de1e" - integrity sha512-9xcQ0YNf9JUFb0YOX1Mpy4Yojt+6w2yQz/0aIEyj2X/s9D71NW0fTYsMcdhkLOI7mn2cqVbx2t1lRvdgqsbrSQ== - dependencies: - "@walletconnect/socket-transport" "^1.7.8" - "@walletconnect/types" "^1.7.8" - "@walletconnect/utils" "^1.7.8" - -"@walletconnect/crypto@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/crypto/-/crypto-1.0.2.tgz#3fcc2b2cde6f529a19eadd883dc555cd0e861992" - integrity sha512-+OlNtwieUqVcOpFTvLBvH+9J9pntEqH5evpINHfVxff1XIgwV55PpbdvkHu6r9Ib4WQDOFiD8OeeXs1vHw7xKQ== - dependencies: - "@walletconnect/encoding" "^1.0.1" - "@walletconnect/environment" "^1.0.0" - "@walletconnect/randombytes" "^1.0.2" - aes-js "^3.1.2" - hash.js "^1.1.7" - -"@walletconnect/encoding@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/encoding/-/encoding-1.0.1.tgz#93c18ce9478c3d5283dbb88c41eb2864b575269a" - integrity sha512-8opL2rs6N6E3tJfsqwS82aZQDL3gmupWUgmvuZ3CGU7z/InZs3R9jkzH8wmYtpbq0sFK3WkJkQRZFFk4BkrmFA== - dependencies: - is-typedarray "1.0.0" - typedarray-to-buffer "3.1.5" - -"@walletconnect/environment@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.0.tgz#c4545869fa9c389ec88c364e1a5f8178e8ab5034" - integrity sha512-4BwqyWy6KpSvkocSaV7WR3BlZfrxLbJSLkg+j7Gl6pTDE+U55lLhJvQaMuDVazXYxcjBsG09k7UlH7cGiUI5vQ== - -"@walletconnect/http-connection@^1.7.8": - version "1.7.8" - resolved "https://registry.yarnpkg.com/@walletconnect/http-connection/-/http-connection-1.7.8.tgz#98bcc726c29751ddc791ff151742aa712bf679a7" - integrity sha512-31gjBw46MRU9hFMTNXAqh+f8qpDNzVeV9BJehzVWKiNC3ciL1JCZkbvsY0djwajduE6TB2ujaML0XDXS9HgBRA== - dependencies: - "@walletconnect/types" "^1.7.8" - "@walletconnect/utils" "^1.7.8" - eventemitter3 "4.0.7" - xhr2-cookies "1.1.0" - -"@walletconnect/iso-crypto@^1.7.8": - version "1.7.8" - resolved "https://registry.yarnpkg.com/@walletconnect/iso-crypto/-/iso-crypto-1.7.8.tgz#41f09326d129faa09beae213e78614c19d90bbd6" - integrity sha512-Qo6qDcMG0Ac+9fpWE0h/oE55NHLk6eM2vlXpWlQDN/me7RZGrkvk+LXsAkQ3UiYPEiPfq4eswcyRWC9AcrAscg== - dependencies: - "@walletconnect/crypto" "^1.0.2" - "@walletconnect/types" "^1.7.8" - "@walletconnect/utils" "^1.7.8" - -"@walletconnect/jsonrpc-types@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.0.tgz#fa75ad5e8f106a2e33287b1e6833e22ed0225055" - integrity sha512-11QXNq5H1PKZk7bP8SxgmCw3HRaDuPOVE+wObqEvmhc7OWYUZqfuaaMb+OXGRSOHL3sbC+XHfdeCxFTMXSFyng== - dependencies: - keyvaluestorage-interface "^1.0.0" - -"@walletconnect/jsonrpc-utils@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.0.tgz#1a2f668d606e8f0b6e7d8fdebae86001bd037a3f" - integrity sha512-qUHbKUK6sHeHn67qtHZoLoYk5hS6x1arTPjKDRkY93/6Fx+ZmNIpdm1owX3l6aYueyegJ7mz43FpvYHUqJ8xcw== - dependencies: - "@walletconnect/environment" "^1.0.0" - "@walletconnect/jsonrpc-types" "^1.0.0" - -"@walletconnect/mobile-registry@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz#502cf8ab87330841d794819081e748ebdef7aee5" - integrity sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw== - -"@walletconnect/qrcode-modal@^1.7.8": - version "1.7.8" - resolved "https://registry.yarnpkg.com/@walletconnect/qrcode-modal/-/qrcode-modal-1.7.8.tgz#52b3d15922f3e371ddc92fd0f49f93ff40241365" - integrity sha512-LqNJMLWO+ljvoRSdq8tcEslW0imKrrb+ugs3bw4w/jEI1FSJzVeinEsgVpyaMv8wsUcyTcSCXSkXpT1SXHtcpw== - dependencies: - "@walletconnect/browser-utils" "^1.7.8" - "@walletconnect/mobile-registry" "^1.4.0" - "@walletconnect/types" "^1.7.8" - copy-to-clipboard "^3.3.1" - preact "10.4.1" - qrcode "1.4.4" - -"@walletconnect/randombytes@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/randombytes/-/randombytes-1.0.2.tgz#95c644251a15e6675f58fbffc9513a01486da49c" - integrity sha512-ivgOtAyqQnN0rLQmOFPemsgYGysd/ooLfaDA/ACQ3cyqlca56t3rZc7pXfqJOIETx/wSyoF5XbwL+BqYodw27A== - dependencies: - "@walletconnect/encoding" "^1.0.1" - "@walletconnect/environment" "^1.0.0" - randombytes "^2.1.0" - -"@walletconnect/safe-json@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.0.tgz#12eeb11d43795199c045fafde97e3c91646683b2" - integrity sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg== - -"@walletconnect/socket-transport@^1.7.8": - version "1.7.8" - resolved "https://registry.yarnpkg.com/@walletconnect/socket-transport/-/socket-transport-1.7.8.tgz#a4ef50d8054293991dbfde7f9c66788030182ec3" - integrity sha512-bqEjLxfSzG79v2OT7XVOZoyUkg6g3yng0fURrdLusWs42fYHWnrSrIZDejFn8N5PiZk5R2edrggkQ7w0VUUAfw== - dependencies: - "@walletconnect/types" "^1.7.8" - "@walletconnect/utils" "^1.7.8" - ws "7.5.3" - -"@walletconnect/types@^1.7.8": - version "1.7.8" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-1.7.8.tgz#ec397e6fbdc8147bccc17029edfeb41c50a5ca09" - integrity sha512-0oSZhKIrtXRJVP1jQ0EDTRtotQY6kggGjDcmm/LLQBKnOZXdPeo0sPkV/7DjT5plT3O7Cjc6JvuXt9WOY0hlCA== - -"@walletconnect/utils@^1.7.8": - version "1.7.8" - resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-1.7.8.tgz#f94572bca5eb6b5f81daf8a35268f249f9c6b1ec" - integrity sha512-DSpfH6Do0TQmdrgzu+SyjVhupVjN0WEMvNWGK9K4VlSmLFpCWfme7qxzrvuxBZ47gDqs1kGWvjyJmviWqvOnAg== - dependencies: - "@walletconnect/browser-utils" "^1.7.8" - "@walletconnect/encoding" "^1.0.1" - "@walletconnect/jsonrpc-utils" "^1.0.0" - "@walletconnect/types" "^1.7.8" - bn.js "4.11.8" - js-sha3 "0.8.0" - query-string "6.13.5" - -"@walletconnect/web3-provider@1.7.8": - version "1.7.8" - resolved "https://registry.yarnpkg.com/@walletconnect/web3-provider/-/web3-provider-1.7.8.tgz#fe9b66a4010ee831db664a3fe5014d67a758a1fc" - integrity sha512-2VxGo7KPfQTWRJ+rygt3ok/u04InkVE+H9LBIF/RMUwcwyGf2nsP3CcYZVcg3yYpacgN7bAZCersCEYwU8AeeA== - dependencies: - "@walletconnect/client" "^1.7.8" - "@walletconnect/http-connection" "^1.7.8" - "@walletconnect/qrcode-modal" "^1.7.8" - "@walletconnect/types" "^1.7.8" - "@walletconnect/utils" "^1.7.8" - web3-provider-engine "16.0.1" - -"@walletconnect/window-getters@1.0.0", "@walletconnect/window-getters@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.0.tgz#1053224f77e725dfd611c83931b5f6c98c32bfc8" - integrity sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA== - -"@walletconnect/window-metadata@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.0.tgz#93b1cc685e6b9b202f29c26be550fde97800c4e5" - integrity sha512-9eFvmJxIKCC3YWOL97SgRkKhlyGXkrHwamfechmqszbypFspaSk+t2jQXAEU7YClHF6Qjw5eYOmy1//zFi9/GA== - dependencies: - "@walletconnect/window-getters" "^1.0.0" - -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== - -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== - -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@xtuc/long" "4.2.2" - -"@wry/context@^0.6.0": - version "0.6.0" - resolved "https://registry.npmjs.org/@wry/context/-/context-0.6.0.tgz#f903eceb89d238ef7e8168ed30f4511f92d83e06" - integrity sha512-sAgendOXR8dM7stJw3FusRxFHF/ZinU0lffsA2YTyyIOfic86JX02qlPqPVqJNZJPAxFt+2EE8bvq6ZlS0Kf+Q== - dependencies: - tslib "^2.1.0" - -"@wry/equality@^0.5.0": - version "0.5.1" - resolved "https://registry.npmjs.org/@wry/equality/-/equality-0.5.1.tgz#b22e4e1674d7bf1439f8ccdccfd6a785f6de68b0" - integrity sha512-FZKbdpbcVcbDxQrKcaBClNsQaMg9nof1RKM7mReJe5DKUzM5u8S7T+PqwNqvib5O2j2xxF1R4p5O3+b6baTrbw== - dependencies: - tslib "^2.1.0" - -"@wry/trie@^0.3.0": - version "0.3.0" - resolved "https://registry.npmjs.org/@wry/trie/-/trie-0.3.0.tgz#3245e74988c4e3033299e479a1bf004430752463" - integrity sha512-Yw1akIogPhAT6XPYsRHlZZIS0tIGmAl9EYXHi2scf7LPKKqdqmow/Hu4kEqP2cJR3EjaU/9L0ZlAjFf3hFxmug== - dependencies: - tslib "^2.1.0" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abab@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" - integrity sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4= - -abab@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.1.tgz#3fa17797032b71410ec372e11668f4b4ffc86a82" - integrity sha512-1zSbbCuoIjafKZ3mblY5ikvAb0ODUbqBnFuUb7f6uLeQhhGJ0vEV4ntmtxKLT2WgXCO94E07BjunsIw1jOMPZw== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abstract-leveldown@~2.6.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" - integrity sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA== - dependencies: - xtend "~4.0.0" - -abstract-leveldown@~2.7.1: - version "2.7.2" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz#87a44d7ebebc341d59665204834c8b7e0932cc93" - integrity sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w== - dependencies: - xtend "~4.0.0" - -accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - -accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-globals@^1.0.4: - version "1.0.9" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-1.0.9.tgz#55bb5e98691507b74579d0513413217c380c54cf" - integrity sha1-VbtemGkVB7dFedBRNBMhfDgMVM8= - dependencies: - acorn "^2.1.0" - -acorn-globals@^4.1.0: - version "4.3.3" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.3.tgz#a86f75b69680b8780d30edd21eee4e0ea170c05e" - integrity sha512-vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ== - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-jsx@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f" - integrity sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw== - -acorn-jsx@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" - integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== - -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" - integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^2.1.0, acorn@^2.4.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz#ab6e7d9d886aaca8b085bc3312b79a198433f0e7" - integrity sha1-q259nYhqrKiwhbwzEreaGYQz8Oc= - -acorn@^5.5.3: - version "5.7.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" - integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== - -acorn@^6.0.1, acorn@^6.0.2, acorn@^6.0.7: - version "6.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" - integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== - -acorn@^6.4.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - -acorn@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" - integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= - -aes-js@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" - integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== - -aggregate-error@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" - integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" - integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: - version "6.10.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -alphanum-sort@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - -ansi-align@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" - integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= - dependencies: - string-width "^2.0.0" - -ansi-align@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" - integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== - dependencies: - string-width "^3.0.0" - -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - -ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-escapes@^4.2.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.0.tgz#a4ce2b33d6b214b7950d8595c212f12ac9cc569d" - integrity sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg== - dependencies: - type-fest "^0.8.1" - -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.0.0, ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.0.tgz#5681f0dcf7ae5880a7841d8831c4724ed9cc0172" - integrity sha512-7kFQgnEaMdRtwf6uSfUnVr9gSGC7faurn+J/Mv90/W+iTtN0405/nLdopfMWwchyxhbGYl6TC4Sccn9TUkGAgg== - dependencies: - "@types/color-name" "^1.1.1" - color-convert "^2.0.1" - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" - integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA== - dependencies: - micromatch "^2.1.5" - normalize-path "^2.0.0" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -arg@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.0.tgz#a20e2bb5710e82950a516b3f933fee5ed478be90" - integrity sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= - dependencies: - arr-flatten "^1.0.1" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.0.1, arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - -array-includes@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" - integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -arraybuffer-loader@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/arraybuffer-loader/-/arraybuffer-loader-1.0.8.tgz#3e326be5cdf6454782362823d43a8c33bb1dd276" - integrity sha512-CwUVCcxCgcgZUu2w741OV6Xj1tvRVQebq22RCyGXiLgJOJ4e4M/59EPYdtK2MLfIN28t1TDvuh2ojstNq3Kh5g== - dependencies: - loader-utils "^1.1.0" - -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - -async-each@^1.0.0, async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async-eventemitter@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" - integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw== - dependencies: - async "^2.4.0" - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async-mutex@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.2.6.tgz#0d7a3deb978bc2b984d5908a2038e1ae2e54ff40" - integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw== - dependencies: - tslib "^2.0.0" - -async@^1.4.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - -async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -autoprefixer@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz#51967a02d2d2300bb01866c1611ec8348d355a47" - integrity sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw== - dependencies: - browserslist "^4.6.3" - caniuse-lite "^1.0.30000980" - chalk "^2.4.2" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.17" - postcss-value-parser "^4.0.0" - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== - -axios@^0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz#8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8" - integrity sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ== - dependencies: - follow-redirects "1.5.10" - is-buffer "^2.0.2" - -axios@^0.21.2: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - -b4a@^1.0.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.3.1.tgz#5ead1402bd4a2dcfea35cc83928815d53315ff32" - integrity sha512-ULHjbJGjZcdA5bugDNAAcMA6GWXX/9N10I6AQc14TH+Sr7bMfT+NHuJnOFGPJWLtzYa6Tz+PnFD2D/1bISLLZQ== - -babel-cli@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" - integrity sha1-UCq1SHTX24itALiHoGODzgPQAvE= - dependencies: - babel-core "^6.26.0" - babel-polyfill "^6.26.0" - babel-register "^6.26.0" - babel-runtime "^6.26.0" - commander "^2.11.0" - convert-source-map "^1.5.0" - fs-readdir-recursive "^1.0.0" - glob "^7.1.2" - lodash "^4.17.4" - output-file-sync "^1.1.2" - path-is-absolute "^1.0.1" - slash "^1.0.0" - source-map "^0.5.6" - v8flags "^2.1.1" - optionalDependencies: - chokidar "^1.6.1" - -babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-core@7.0.0-bridge.0: - version "7.0.0-bridge.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" - integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== - -babel-core@^6.26.0: - version "6.26.3" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" - integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== - dependencies: - babel-code-frame "^6.26.0" - babel-generator "^6.26.0" - babel-helpers "^6.24.1" - babel-messages "^6.23.0" - babel-register "^6.26.0" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - convert-source-map "^1.5.1" - debug "^2.6.9" - json5 "^0.5.1" - lodash "^4.17.4" - minimatch "^3.0.4" - path-is-absolute "^1.0.1" - private "^0.1.8" - slash "^1.0.0" - source-map "^0.5.7" - -babel-eslint@^10.0.3: - version "10.0.3" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a" - integrity sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - eslint-visitor-keys "^1.0.0" - resolve "^1.12.0" - -babel-generator@^6.26.0: - version "6.26.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.7" - trim-right "^1.0.1" - -babel-helper-call-delegate@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" - integrity sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340= - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-define-map@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" - integrity sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8= - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-function-name@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" - integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk= - dependencies: - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-get-function-arity@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" - integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-hoist-variables@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" - integrity sha1-HssnaJydJVE+rbyZFKc/VAi+enY= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-optimise-call-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" - integrity sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-regex@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" - integrity sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI= - dependencies: - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-replace-supers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" - integrity sha1-v22/5Dk40XNpohPKiov3S2qQqxo= - dependencies: - babel-helper-optimise-call-expression "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helpers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" - integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" - integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== - dependencies: - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/babel__core" "^7.1.0" - babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.9.0" - chalk "^2.4.2" - slash "^2.0.0" - -babel-loader@^8.1.0: - version "8.2.2" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" - integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^1.4.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-check-es2015-constants@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" - integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" - integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - find-up "^3.0.0" - istanbul-lib-instrument "^3.3.0" - test-exclude "^5.2.3" - -babel-plugin-jest-hoist@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" - integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw== - dependencies: - "@types/babel__traverse" "^7.0.6" - -babel-plugin-polyfill-corejs2@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" - integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.1" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" - integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - core-js-compat "^3.21.0" - -babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" - integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - -babel-plugin-transform-es2015-arrow-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" - integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" - integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoping@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" - integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8= - dependencies: - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-plugin-transform-es2015-classes@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" - integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs= - dependencies: - babel-helper-define-map "^6.24.1" - babel-helper-function-name "^6.24.1" - babel-helper-optimise-call-expression "^6.24.1" - babel-helper-replace-supers "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-computed-properties@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" - integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM= - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-destructuring@^6.22.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" - integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-duplicate-keys@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" - integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-for-of@^6.22.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" - integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-function-name@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" - integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos= - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" - integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-modules-amd@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" - integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ= - dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-commonjs@^6.24.1, babel-plugin-transform-es2015-modules-commonjs@^6.26.0: - version "6.26.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" - integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q== - dependencies: - babel-plugin-transform-strict-mode "^6.24.1" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-types "^6.26.0" - -babel-plugin-transform-es2015-modules-systemjs@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" - integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM= - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-umd@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" - integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg= - dependencies: - babel-plugin-transform-es2015-modules-amd "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-object-super@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" - integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40= - dependencies: - babel-helper-replace-supers "^6.24.1" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-parameters@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" - integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys= - dependencies: - babel-helper-call-delegate "^6.24.1" - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-shorthand-properties@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" - integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-spread@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" - integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-sticky-regex@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" - integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw= - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-template-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" - integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-typeof-symbol@^6.22.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" - integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-unicode-regex@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" - integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek= - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - regexpu-core "^2.0.0" - -babel-plugin-transform-regenerator@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" - integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8= - dependencies: - regenerator-transform "^0.10.0" - -babel-plugin-transform-strict-mode@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" - integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-polyfill@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" - integrity sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM= - dependencies: - babel-runtime "^6.26.0" - core-js "^2.5.0" - regenerator-runtime "^0.10.5" - -babel-preset-es2015@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" - integrity sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk= - dependencies: - babel-plugin-check-es2015-constants "^6.22.0" - babel-plugin-transform-es2015-arrow-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoping "^6.24.1" - babel-plugin-transform-es2015-classes "^6.24.1" - babel-plugin-transform-es2015-computed-properties "^6.24.1" - babel-plugin-transform-es2015-destructuring "^6.22.0" - babel-plugin-transform-es2015-duplicate-keys "^6.24.1" - babel-plugin-transform-es2015-for-of "^6.22.0" - babel-plugin-transform-es2015-function-name "^6.24.1" - babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.24.1" - babel-plugin-transform-es2015-modules-commonjs "^6.24.1" - babel-plugin-transform-es2015-modules-systemjs "^6.24.1" - babel-plugin-transform-es2015-modules-umd "^6.24.1" - babel-plugin-transform-es2015-object-super "^6.24.1" - babel-plugin-transform-es2015-parameters "^6.24.1" - babel-plugin-transform-es2015-shorthand-properties "^6.24.1" - babel-plugin-transform-es2015-spread "^6.22.0" - babel-plugin-transform-es2015-sticky-regex "^6.24.1" - babel-plugin-transform-es2015-template-literals "^6.22.0" - babel-plugin-transform-es2015-typeof-symbol "^6.22.0" - babel-plugin-transform-es2015-unicode-regex "^6.24.1" - babel-plugin-transform-regenerator "^6.24.1" - -babel-preset-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" - integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg== - dependencies: - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.9.0" - -babel-register@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" - integrity sha1-btAhFz4vy0htestFxgCahW9kcHE= - dependencies: - babel-core "^6.26.0" - babel-runtime "^6.26.0" - core-js "^2.5.0" - home-or-tmp "^2.0.0" - lodash "^4.17.4" - mkdirp "^0.5.1" - source-map-support "^0.4.15" - -babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-template@^6.24.1, babel-template@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.24.1, babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - -backoff@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f" - integrity sha1-9hbtqdPktmuMp/ynn2lXIsX44m8= - dependencies: - precond "0.2" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base-path-converter@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/base-path-converter/-/base-path-converter-1.0.2.tgz#e80b4b4f31c7b1561e632158e00774b6f2f27978" - integrity sha512-51R8JiuXadknn6ouVUteOhDpmI3G5u5GqjruL7bPJpfxUHVgosaO5uPAvRP4FeR4VyyH4sSvsN78Ci6ouoRYqQ== - -base-x@3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.4.tgz#94c1788736da065edb1d68808869e357c977fa77" - integrity sha512-UYOadoSIkEI/VrRGSG6qp93rp2WdokiAiNYDfGW5qURAY8GiAQkvMbwNNSDYiVJopqv4gCna7xqf4rrNGp+5AA== - dependencies: - safe-buffer "^5.0.1" - -base-x@^3.0.2: - version "3.0.7" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.7.tgz#1c5a7fafe8f66b4114063e8da102799d4e7c408f" - integrity sha512-zAKJGuQPihXW22fkrfOclUUZXM2g92z5GzlSMHxhO6r6Qj+Nm0ccaGNBzDZojzwOMkpjAv4J0fOv1U4go+a4iw== - dependencies: - safe-buffer "^5.0.1" - -base-x@^3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" - integrity sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA== - dependencies: - safe-buffer "^5.0.1" - -base64-arraybuffer@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" - integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= - -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - -bfj@^6.1.1: - version "6.1.2" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" - integrity sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw== - dependencies: - bluebird "^3.5.5" - check-types "^8.0.3" - hoopy "^0.1.4" - tryer "^1.0.1" - -big-integer@1.6.42: - version "1.6.42" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.42.tgz#91623ae5ceeff9a47416c56c9440a66f12f534f1" - integrity sha512-3UQFKcRMx+5Z+IK5vYTMYK2jzLRJkt+XqyDdacgWgtMjjuifKpKTFneJLEgeBElOE2/lXZ1LcMcb5s8pwG2U8Q== - -big-integer@^1.6.42, big-integer@^1.6.43, big-integer@^1.6.48: - version "1.6.51" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -bignumber.js@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-8.1.1.tgz#4b072ae5aea9c20f6730e4e5d529df1271c4d885" - integrity sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ== - -bignumber.js@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz#805880f84a329b5eac6e7cb6f8274b6d82bdf075" - integrity sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -binary-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" - integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -blake-hash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/blake-hash/-/blake-hash-2.0.0.tgz#af184dce641951126d05b7d1c3de3224f538d66e" - integrity sha512-Igj8YowDu1PRkRsxZA7NVkdFNxH5rKv5cpLxQ0CVXSIA77pVYwCPRQJ2sMew/oneUpfuYRyjG6r8SmmmnbZb1w== - dependencies: - node-addon-api "^3.0.0" - node-gyp-build "^4.2.2" - readable-stream "^3.6.0" - -blake2b-wasm@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz#9115649111edbbd87eb24ce7c04b427e4e2be5be" - integrity sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w== - dependencies: - b4a "^1.0.1" - nanoassert "^2.0.0" - -blake2b@^2.1.3: - version "2.1.4" - resolved "https://registry.yarnpkg.com/blake2b/-/blake2b-2.1.4.tgz#817d278526ddb4cd673bfb1af16d1ad61e393ba3" - integrity sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A== - dependencies: - blake2b-wasm "^2.4.0" - nanoassert "^2.0.0" - -blakejs@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5" - integrity sha1-ad+S75U6qIylGjLfarHFShVfx6U= - -bloomfilter.js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bloomfilter.js/-/bloomfilter.js-1.0.2.tgz#63449e4b055dc08e5e4db75367d48cc0a395e704" - integrity sha512-x3SG+7/NlT5m6hHy1GCerNoWm38kxWZeUIsBs1LaMwnTLM0hidmGalhAfXH07DtP3s9QAp+JAQagpgVIxtUl9g== - -bluebird@^3.1.1, bluebird@^3.5.5: - version "3.5.5" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" - integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== - -bluebird@^3.5.0: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@4.11.6: - version "4.11.6" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" - integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU= - -bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== - -bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.1.2, bn.js@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== - dependencies: - bytes "3.1.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" - -body-parser@1.19.2, body-parser@^1.16.0: - version "1.19.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e" - integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.8.1" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.9.7" - raw-body "2.4.3" - type-is "~1.6.18" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -bowser@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" - integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== - -boxen@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" - integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== - dependencies: - ansi-align "^2.0.0" - camelcase "^4.0.0" - chalk "^2.0.1" - cli-boxes "^1.0.0" - string-width "^2.0.0" - term-size "^1.2.0" - widest-line "^2.0.0" - -boxen@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" - integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^5.3.1" - chalk "^3.0.0" - cli-boxes "^2.2.0" - string-width "^4.1.0" - term-size "^2.1.0" - type-fest "^0.8.1" - widest-line "^3.1.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-process-hrtime@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" - integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== - -browser-resolve@^1.11.3: - version "1.11.3" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== - dependencies: - resolve "1.1.7" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.0.0, browserslist@^4.6.3, browserslist@^4.6.4: - version "4.7.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17" - integrity sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA== - dependencies: - caniuse-lite "^1.0.30000989" - electron-to-chromium "^1.3.247" - node-releases "^1.1.29" - -browserslist@^4.14.5, browserslist@^4.15.0: - version "4.16.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.0.tgz#410277627500be3cb28a1bfe037586fbedf9488b" - integrity sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ== - dependencies: - caniuse-lite "^1.0.30001165" - colorette "^1.2.1" - electron-to-chromium "^1.3.621" - escalade "^3.1.1" - node-releases "^1.1.67" - -browserslist@^4.17.5, browserslist@^4.19.1: - version "4.20.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" - integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== - dependencies: - caniuse-lite "^1.0.30001317" - electron-to-chromium "^1.4.84" - escalade "^3.1.1" - node-releases "^2.0.2" - picocolors "^1.0.0" - -bs58@^4.0.0, bs58@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" - integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= - dependencies: - base-x "^3.0.2" - -bs58check@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" - integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== - dependencies: - bs58 "^4.0.0" - create-hash "^1.1.0" - safe-buffer "^5.1.2" - -bser@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" - integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg== - dependencies: - node-int64 "^0.4.0" - -btoa@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73" - integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g== - -buefy@^0.9.10: - version "0.9.10" - resolved "https://registry.yarnpkg.com/buefy/-/buefy-0.9.10.tgz#17f64ee1ba43a145d1d3c56f45cba95e4e2975fa" - integrity sha512-xXEoy/NTgBNiIfBTCdHi2Vu5SJJdB046py6ekUvYuUgYwRvulySZksdecVNNWdfEVU8iD4esZaRbTLwCegFcVQ== - dependencies: - bulma "0.9.3" - -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - -buffer-alloc@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== - dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-from@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-json@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/buffer-json/-/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23" - integrity sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw== - -buffer-to-arraybuffer@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" - integrity sha1-YGSkD6dutDxyOrqe+PbhIW0QURo= - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^5.0.5, buffer@^5.1.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -buffer@^5.4.3: - version "5.4.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.3.tgz#3fbc9c69eb713d323e3fc1a895eee0710c072115" - integrity sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - -buffer@^5.5.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" - integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - -bufferutil@^4.0.1: - version "4.0.6" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.6.tgz#ebd6c67c7922a0e902f053e5d8be5ec850e48433" - integrity sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw== - dependencies: - node-gyp-build "^4.3.0" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -bulma@0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.9.3.tgz#ddccb7436ebe3e21bf47afe01d3c43a296b70243" - integrity sha512-0d7GNW1PY4ud8TWxdNcP6Cc8Bu7MxcntD/RRLGWuiw/s0a9P+XlH/6QoOIrmbj6o8WWJzJYhytiu9nFjTszk1g== - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacache@^12.0.2: - version "12.0.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" - integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cacache@^13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" - integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w== - dependencies: - chownr "^1.1.2" - figgy-pudding "^3.5.1" - fs-minipass "^2.0.0" - glob "^7.1.4" - graceful-fs "^4.2.2" - infer-owner "^1.0.4" - lru-cache "^5.1.1" - minipass "^3.0.0" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - p-map "^3.0.0" - promise-inflight "^1.0.1" - rimraf "^2.7.1" - ssri "^7.0.0" - unique-filename "^1.1.1" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cache-loader@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cache-loader/-/cache-loader-4.1.0.tgz#9948cae353aec0a1fcb1eafda2300816ec85387e" - integrity sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw== - dependencies: - buffer-json "^2.0.0" - find-cache-dir "^3.0.0" - loader-utils "^1.2.3" - mkdirp "^0.5.1" - neo-async "^2.6.1" - schema-utils "^2.0.0" - -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - -camel-case@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989: - version "1.0.30000989" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9" - integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== - -caniuse-lite@^1.0.30001148, caniuse-lite@^1.0.30001165: - version "1.0.30001165" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz#32955490d2f60290bb186bb754f2981917fa744f" - integrity sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA== - -caniuse-lite@^1.0.30001317: - version "1.0.30001317" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001317.tgz#0548fb28fd5bc259a70b8c1ffdbe598037666a1b" - integrity sha512-xIZLh8gBm4dqNX0gkzrBeyI86J2eCjWzYAs40q88smG844YIrN4tVQl/RhquHvKEKImWWFIVh1Lxe5n1G/N+GQ== - -canvg@1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/canvg/-/canvg-1.5.3.tgz#aad17915f33368bf8eb80b25d129e3ae922ddc5f" - integrity sha512-7Gn2IuQzvUQWPIuZuFHrzsTM0gkPz2RRT9OcbdmA03jeKk8kltrD8gqUzNX15ghY/4PV5bbe5lmD6yDLDY6Ybg== - dependencies: - jsdom "^8.1.0" - rgbcolor "^1.0.1" - stackblur-canvas "^1.4.1" - xmldom "^0.1.22" - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -capture-stack-trace@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" - integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chai@^4.2.0: - version "4.3.6" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.6.tgz#ffe4ba2d9fa9d6680cc0b370adae709ec9011e9c" - integrity sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.2" - deep-eql "^3.0.1" - get-func-name "^2.0.0" - loupe "^2.3.1" - pathval "^1.1.1" - type-detect "^4.0.5" - -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= - -check-types@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" - integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== - -checkpoint-store@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/checkpoint-store/-/checkpoint-store-1.1.0.tgz#04e4cb516b91433893581e6d4601a78e9552ea06" - integrity sha1-BOTLUWuRQziTWB5tRgGnjpVS6gY= - dependencies: - functional-red-black-tree "^1.0.1" - -"chokidar@>=3.0.0 <4.0.0": - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chokidar@^1.6.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" - integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.2.2: - version "3.3.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.0.tgz#12c0714668c55800f659e262d4962a97faf554a6" - integrity sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.2.0" - optionalDependencies: - fsevents "~2.1.1" - -chokidar@^3.4.1, chokidar@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" - integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.5.0" - optionalDependencies: - fsevents "~2.1.2" - -chownr@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" - integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== - -chownr@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" - integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== - -chownr@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" - -ci-info@^1.5.0, ci-info@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" - integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cids@^0.7.1: - version "0.7.5" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" - integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== - dependencies: - buffer "^5.5.0" - class-is "^1.1.0" - multibase "~0.6.0" - multicodec "^1.0.0" - multihashes "~0.4.15" - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -circomlibjs@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/circomlibjs/-/circomlibjs-0.1.2.tgz#627a903fe0d5e1efceee19c47a57097d9e63faa1" - integrity sha512-F1ZQvfV6KuWAft/te4wKL2dm9DuK0y1e1Ix73qhOduVscRPsIurRg7zO7GrRVBQ/gb0THbWUY238XWRgbvGp6w== - dependencies: - blake-hash "^2.0.0" - blake2b "^2.1.3" - ethers "^5.5.1" - ffjavascript "^0.2.45" - -class-is@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" - integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-css@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" - integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== - dependencies: - source-map "~0.6.0" - -clean-css@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== - dependencies: - source-map "~0.6.0" - -clean-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clean-regexp/-/clean-regexp-1.0.0.tgz#8df7c7aae51fd36874e8f8d05b9180bc11a3fed7" - integrity sha1-jffHquUf02h06PjQW5GAvBGj/tc= - dependencies: - escape-string-regexp "^1.0.5" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= - -cli-boxes@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" - integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - -clipboard@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.4.tgz#836dafd66cf0fea5d71ce5d5b0bf6e958009112d" - integrity sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ== - dependencies: - good-listener "^1.2.2" - select "^1.1.2" - tiny-emitter "^2.0.0" - -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - dependencies: - mimic-response "^1.0.0" - -clone@2.x, clone@^2.0.0, clone@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0, color-convert@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" - integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.2" - -colorette@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" - integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== - -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.11.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@~2.20.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" - integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== - -commander@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -compressible@~2.0.16: - version "2.0.17" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz#6e8c108a16ad58384a977f3a482ca20bff2f38c1" - integrity sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw== - dependencies: - mime-db ">= 1.40.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -config-chain@^1.1.12: - version "1.1.12" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" - integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -configstore@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" - integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw== - dependencies: - dot-prop "^4.1.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - unique-string "^1.0.0" - write-file-atomic "^2.0.0" - xdg-basedir "^3.0.0" - -connect@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" - integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== - dependencies: - debug "2.6.9" - finalhandler "1.1.2" - parseurl "~1.3.3" - utils-merge "1.0.1" - -consola@^2.10.0, consola@^2.10.1: - version "2.11.0" - resolved "https://registry.yarnpkg.com/consola/-/consola-2.11.0.tgz#9bb35d850d8cecde894ce2eb4d792fa6b90d9013" - integrity sha512-2bcAqHastlPSCvZ+ur8bgHInGAWvUnysWz3h3xRX+/XZoCY7avolJJnVXOPGoVoyCcg1b231XixonoArmgxaoA== - -consola@^2.14.0, consola@^2.15.0: - version "2.15.0" - resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.0.tgz#40fc4eefa4d2f8ef2e2806147f056ea207fcc0e9" - integrity sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ== - -consola@^2.6.0, consola@^2.9.0: - version "2.10.1" - resolved "https://registry.yarnpkg.com/consola/-/consola-2.10.1.tgz#4693edba714677c878d520e4c7e4f69306b4b927" - integrity sha512-4sxpH6SGFYLADfUip4vuY65f/gEogrzJoniVhNUYkJHtng0l8ZjnDCqxxrSVRHOHwKxsy8Vm5ONZh1wOR3/l/w== - -console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= - dependencies: - date-now "^0.1.4" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -consolidate@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" - integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== - dependencies: - bluebird "^3.1.1" - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - dependencies: - safe-buffer "5.1.2" - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-hash@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" - integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== - dependencies: - cids "^0.7.1" - multicodec "^0.5.5" - multihashes "^0.4.15" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== - dependencies: - safe-buffer "~5.1.1" - -convert-source-map@^1.5.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== - -cookie@0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - -cookie@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= - -cookiejar@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.3.tgz#fc7a6216e408e74414b90230050842dacda75acc" - integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ== - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -copy-to-clipboard@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" - integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw== - dependencies: - toggle-selection "^1.0.6" - -core-js-compat@^3.21.0: - version "3.21.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.1.tgz#cac369f67c8d134ff8f9bd1623e3bc2c42068c82" - integrity sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g== - dependencies: - browserslist "^4.19.1" - semver "7.0.0" - -core-js-compat@^3.8.0: - version "3.8.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.8.1.tgz#8d1ddd341d660ba6194cbe0ce60f4c794c87a36e" - integrity sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ== - dependencies: - browserslist "^4.15.0" - semver "7.0.0" - -core-js@^2.4.0, core-js@^2.5.0, core-js@^2.6.5: - version "2.6.9" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" - integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cors@^2.8.1: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -cosmiconfig@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - -crc-32@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.1.tgz#436d2bcaad27bcb6bd073a2587139d3024a16460" - integrity sha512-Dn/xm/1vFFgs3nfrpEVScHoIslO9NZRITWGz/1E/St6u4xw99vfZzVkW0OSnzx2h9egej9xwMCEut6sqwokM/w== - dependencies: - exit-on-epipe "~1.0.1" - printj "~1.3.1" - -crc@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" - integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== - dependencies: - buffer "^5.1.0" - -create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-error-class@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= - dependencies: - capture-stack-trace "^1.0.0" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -create-require@^1.0.2, create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-fetch@^2.1.0: - version "2.2.5" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.5.tgz#afaf5729f3b6c78d89c9296115c9f142541a5705" - integrity sha512-xqYAhQb4NhCJSRym03dwxpP1bYXpK3y7UN83Bo2WFi3x1Zmzn0SL/6xGoPr+gpt4WmNrgCCX3HPysvOwFOW36w== - dependencies: - node-fetch "2.6.1" - whatwg-fetch "2.0.4" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" - integrity sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-browserify@3.12.0, crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" - integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= - -crypto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/crypto/-/crypto-1.0.1.tgz#2af1b7cad8175d24c8a1b0778255794a21803037" - integrity sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig== - -css-blank-pseudo@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" - integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== - dependencies: - postcss "^7.0.5" - -css-color-names@0.0.4, css-color-names@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" - integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= - -css-declaration-sorter@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" - integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== - dependencies: - postcss "^7.0.1" - timsort "^0.3.0" - -css-has-pseudo@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" - integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^5.0.0-rc.4" - -css-line-break@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/css-line-break/-/css-line-break-1.0.1.tgz#19f2063a33e95fb2831b86446c0b80c188af450a" - integrity sha1-GfIGOjPpX7KDG4ZEbAuAwYivRQo= - dependencies: - base64-arraybuffer "^0.1.5" - -css-loader@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" - integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== - dependencies: - camelcase "^5.3.1" - cssesc "^3.0.0" - icss-utils "^4.1.1" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.32" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.2" - postcss-modules-scope "^2.2.0" - postcss-modules-values "^3.0.0" - postcss-value-parser "^4.1.0" - schema-utils "^2.7.0" - semver "^6.3.0" - -css-prefers-color-scheme@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" - integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== - dependencies: - postcss "^7.0.5" - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - -css-select@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz#ab4386cec9e1f668855564b17c3733b43b2a5ede" - integrity sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ== - dependencies: - boolbase "^1.0.0" - css-what "^2.1.2" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-tree@1.0.0-alpha.29: - version "1.0.0-alpha.29" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" - integrity sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg== - dependencies: - mdn-data "~1.1.0" - source-map "^0.5.3" - -css-tree@1.0.0-alpha.33: - version "1.0.0-alpha.33" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.33.tgz#970e20e5a91f7a378ddd0fc58d0b6c8d4f3be93e" - integrity sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w== - dependencies: - mdn-data "2.0.4" - source-map "^0.5.3" - -css-unit-converter@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" - integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= - -css-what@2.1, css-what@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== - -css@^2.1.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" - integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== - dependencies: - inherits "^2.0.3" - source-map "^0.6.1" - source-map-resolve "^0.5.2" - urix "^0.1.0" - -cssdb@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" - integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== - -cssesc@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" - integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== - dependencies: - css-declaration-sorter "^4.0.1" - cssnano-util-raw-cache "^4.0.1" - postcss "^7.0.0" - postcss-calc "^7.0.1" - postcss-colormin "^4.0.3" - postcss-convert-values "^4.0.1" - postcss-discard-comments "^4.0.2" - postcss-discard-duplicates "^4.0.2" - postcss-discard-empty "^4.0.1" - postcss-discard-overridden "^4.0.1" - postcss-merge-longhand "^4.0.11" - postcss-merge-rules "^4.0.3" - postcss-minify-font-values "^4.0.2" - postcss-minify-gradients "^4.0.2" - postcss-minify-params "^4.0.2" - postcss-minify-selectors "^4.0.2" - postcss-normalize-charset "^4.0.1" - postcss-normalize-display-values "^4.0.2" - postcss-normalize-positions "^4.0.2" - postcss-normalize-repeat-style "^4.0.2" - postcss-normalize-string "^4.0.2" - postcss-normalize-timing-functions "^4.0.2" - postcss-normalize-unicode "^4.0.1" - postcss-normalize-url "^4.0.1" - postcss-normalize-whitespace "^4.0.2" - postcss-ordered-values "^4.1.2" - postcss-reduce-initial "^4.0.3" - postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.2" - postcss-unique-selectors "^4.0.1" - -cssnano-util-get-arguments@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" - integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= - -cssnano-util-get-match@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" - integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= - -cssnano-util-raw-cache@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" - integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== - dependencies: - postcss "^7.0.0" - -cssnano-util-same-parent@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" - integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== - -cssnano@^4.1.10: - version "4.1.10" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" - integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== - dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.7" - is-resolvable "^1.0.0" - postcss "^7.0.0" - -csso@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" - integrity sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg== - dependencies: - css-tree "1.0.0-alpha.29" - -cssom@0.3.x, "cssom@>= 0.3.0 < 0.4.0", "cssom@>= 0.3.2 < 0.4.0": - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -"cssstyle@>= 0.2.34 < 0.3.0": - version "0.2.37" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" - integrity sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ= - dependencies: - cssom "0.3.x" - -cssstyle@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" - integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== - dependencies: - cssom "0.3.x" - -cuint@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" - integrity sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs= - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= - -de-indent@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" - integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@=3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@^3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -debug@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -decompress-response@^3.2.0, decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - -deep-eql@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" - integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== - dependencies: - type-detect "^4.0.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - -deferred-leveldown@~1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz#3acd2e0b75d1669924bc0a4b642851131173e1eb" - integrity sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA== - dependencies: - abstract-leveldown "~2.6.0" - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -defu@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/defu/-/defu-2.0.4.tgz#09659a6e87a8fd7178be13bd43e9357ebf6d1c46" - integrity sha512-G9pEH1UUMxShy6syWk01VQSRVs3CDWtlxtZu7A+NyqjxaCA4gSlWAKDBx6QiUEKezqS8+DUlXLI14Fp05Hmpwg== - -defu@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/defu/-/defu-3.2.2.tgz#be20f4cc49b9805d54ee6b610658d53894942e97" - integrity sha512-8UWj5lNv7HD+kB0e9w77Z7TdQlbUYDVWqITLHNqFIn6khrNHv5WQo38Dcm1f6HeNyZf0U7UbPf6WeZDSdCzGDQ== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegate@^3.1.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" - integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destr@^1.0.0, destr@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/destr/-/destr-1.0.1.tgz#d13db7f9d9c9ca4fcf24e86343d601217136ddc3" - integrity sha512-LnEdINrd1ydSqRiAGjMBVrG/G8hNruwE+fEKlkJA14MGPEoI9T7zJDwGpkMTyXT2ASE0ycnN2SYn4k6Q7j7lHg== - -destroy@^1.0.4, destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-browser@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.2.0.tgz#c9cd5afa96a6a19fda0bbe9e9be48a6b6e1e9c97" - integrity sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA== - -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= - dependencies: - repeating "^2.0.0" - -detect-indent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" - integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= - -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - -detect-newline@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= - -diff-sequences@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" - integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dijkstrajs@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.2.tgz#2e48c0d3b825462afe75ab4ad5e829c8ece36257" - integrity sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-converter@^0.2: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-event-types@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dom-event-types/-/dom-event-types-1.0.0.tgz#5830a0a29e1bf837fe50a70cd80a597232813cae" - integrity sha512-2G2Vwi2zXTHBGqXHsJ4+ak/iP0N8Ar+G8a7LiD2oup5o4sQWytwqqrZu/O6hIMV0KMID2PL69OhpshLO0n7UJQ== - -dom-serializer@0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.1.tgz#13650c850daffea35d8b626a4cfc4d3a17643fdb" - integrity sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -dom-walk@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" - integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -domelementtype@1, domelementtype@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" - integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== - -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== - dependencies: - webidl-conversions "^4.0.2" - -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== - dependencies: - domelementtype "1" - -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^1.5.1, domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dot-prop@^4.1.0, dot-prop@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== - dependencies: - is-obj "^1.0.0" - -dotenv@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" - integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -duplexer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -editorconfig@^0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" - integrity sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g== - dependencies: - commander "^2.19.0" - lru-cache "^4.1.5" - semver "^5.6.0" - sigmund "^1.0.1" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -ejs@^2.6.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.1.tgz#5b5ab57f718b79d4aca9254457afecd36fa80228" - integrity sha512-kS/gEPzZs3Y1rRsbGX4UOSjtP/CeJP0CxSNZHYxGfVM/VgLcv0ZqM7C45YyTj2DI2g7+P9Dd24C+IMIg6D0nYQ== - -electron-to-chromium@^1.3.247: - version "1.3.252" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.252.tgz#5b6261965b564a0f4df0f1c86246487897017f52" - integrity sha512-NWJ5TztDnjExFISZHFwpoJjMbLUifsNBnx7u2JI0gCw6SbKyQYYWWtBHasO/jPtHym69F4EZuTpRNGN11MT/jg== - -electron-to-chromium@^1.3.621: - version "1.3.625" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.625.tgz#a7bd18da4dc732c180b2e95e0e296c0bf22f3bd6" - integrity sha512-CsLk/r0C9dAzVPa9QF74HIXduxaucsaRfqiOYvIv2PRhvyC6EOqc/KbpgToQuDVgPf3sNAFZi3iBu4vpGOwGag== - -electron-to-chromium@^1.4.84: - version "1.4.86" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.86.tgz#90fe4a9787f48d6522957213408e08a8126b2ebc" - integrity sha512-EVTZ+igi8x63pK4bPuA95PXIs2b2Cowi3WQwI9f9qManLiZJOD1Lash1J3W4TvvcUCcIR4o/rgi9o8UicXSO+w== - -elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -elliptic@^6.0.0: - version "6.5.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz#c380f5f909bf1b9b4428d028cd18d3b0efd6b52b" - integrity sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" - integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enhanced-resolve@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" - integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -entities@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - -entities@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" - integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== - -errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" - -errno@~0.1.1: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.3.tgz#9d3c000fb9f5c461f7c4e63c1aa75373ac7aaa36" - integrity sha512-vRC4rKv87twMZy92X4+TmUdv3iYMsmePbpG/YguHsfzmZ8bYJZYYep7yrXH09yFUaCEPKgNK5X79+Yq7hwLVOA== - dependencies: - stackframe "^1.0.4" - -es-abstract@^1.12.0, es-abstract@^1.5.1, es-abstract@^1.7.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.14.1.tgz#6e8d84b445ec9c610781e74a6d52cc31aac5b4ca" - integrity sha512-cp/Tb1oA/rh2X7vqeSOvM+TSo3UkJLX70eNihgVEvnzwAgikjkTFr/QVgRCaxjm0knCNQzNoxxxcw2zO2LJdZA== - dependencies: - es-to-primitive "^1.2.0" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.0" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-inspect "^1.6.0" - object-keys "^1.1.1" - string.prototype.trimleft "^2.0.0" - string.prototype.trimright "^2.0.0" - -es-abstract@^1.18.5: - version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.58" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.58.tgz#5b97d94236285fb87c8ffc782cf42eb0a25d2ae0" - integrity sha512-LHO+KBBaHGwjy32ibSaMY+ZzjpC4K4I5bPoijICMBL7gXEXfrEUrzssmNP+KigbQEp1dRUnGkry/vUnxOqptLQ== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - next-tick "^1.1.0" - -es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escodegen@^1.6.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457" - integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -escodegen@^1.9.1: - version "1.12.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541" - integrity sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg== - dependencies: - esprima "^3.1.3" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-ast-utils@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz#3d58ba557801cfb1c941d68131ee9f8c34bd1586" - integrity sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA== - dependencies: - lodash.get "^4.4.2" - lodash.zip "^4.2.0" - -eslint-config-prettier@^6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.7.0.tgz#9a876952e12df2b284adbd3440994bf1f39dfbb9" - integrity sha512-FamQVKM3jjUVwhG4hEMnbtsq7xOIDm+SY5iBPfR8gKsJoAB2IQnNF+bk1+8Fy44Nq7PPJaLvkRxILYdJWoguKQ== - dependencies: - get-stdin "^6.0.0" - -eslint-config-standard@>=14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-14.1.0.tgz#b23da2b76fe5a2eba668374f246454e7058f15d4" - integrity sha512-EF6XkrrGVbvv8hL/kYa/m6vnvmUT+K82pJJc4JJVMM6+Qgqh0pnwprSxdduDLB9p/7bIxD+YV5O0wfb8lmcPbA== - -eslint-config-standard@^12.0.0: - version "12.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz#638b4c65db0bd5a41319f96bba1f15ddad2107d9" - integrity sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ== - -eslint-import-resolver-node@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" - integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== - dependencies: - debug "^2.6.9" - resolve "^1.5.0" - -eslint-loader@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.2.tgz#5a627316a51d6f41d357b9f6f0554e91506cdd6e" - integrity sha512-S5VnD+UpVY1PyYRqeBd/4pgsmkvSokbHqTXAQMpvCyRr3XN2tvSLo9spm2nEpqQqh9dezw3os/0zWihLeOg2Rw== - dependencies: - fs-extra "^8.1.0" - loader-fs-cache "^1.0.2" - loader-utils "^1.2.3" - object-hash "^1.3.1" - schema-utils "^2.2.0" - -eslint-module-utils@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c" - integrity sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw== - dependencies: - debug "^2.6.8" - pkg-dir "^2.0.0" - -eslint-plugin-es@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz#12acae0f4953e76ba444bfd1b2271081ac620998" - integrity sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA== - dependencies: - eslint-utils "^1.4.2" - regexpp "^2.0.1" - -eslint-plugin-es@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-2.0.0.tgz#0f5f5da5f18aa21989feebe8a73eadefb3432976" - integrity sha512-f6fceVtg27BR02EYnBhgWLFQfK6bN4Ll0nQFrBHOlCsAyxeZkn0NHns5O0YZOPrV1B3ramd6cgFwaoFLcSkwEQ== - dependencies: - eslint-utils "^1.4.2" - regexpp "^3.0.0" - -eslint-plugin-import@>=2.18.2, eslint-plugin-import@^2.18.0: - version "2.18.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6" - integrity sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ== - dependencies: - array-includes "^3.0.3" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.2" - eslint-module-utils "^2.4.0" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.0" - read-pkg-up "^2.0.0" - resolve "^1.11.0" - -eslint-plugin-jest@>=23.0.4: - version "23.0.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-23.0.4.tgz#1ab81ffe3b16c5168efa72cbd4db14d335092aa0" - integrity sha512-OaP8hhT8chJNodUPvLJ6vl8gnalcsU/Ww1t9oR3HnGdEWjm/DdCCUXLOral+IPGAeWu/EwgVQCK/QtxALpH1Yw== - dependencies: - "@typescript-eslint/experimental-utils" "^2.5.0" - -eslint-plugin-jest@^22.10.0: - version "22.21.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.21.0.tgz#8137294645866636160487d9764224b9a43e2eb1" - integrity sha512-OaqnSS7uBgcGiqXUiEnjoqxPNKvR4JWG5mSRkzVoR6+vDwlqqp11beeql1hYs0HTbdhiwrxWLxbX0Vx7roG3Ew== - dependencies: - "@typescript-eslint/experimental-utils" "^1.13.0" - -eslint-plugin-node@>=10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-10.0.0.tgz#fd1adbc7a300cf7eb6ac55cf4b0b6fc6e577f5a6" - integrity sha512-1CSyM/QCjs6PXaT18+zuAXsjXGIGo5Rw630rSKwokSs2jrYURQc4R5JZpoanNCqwNmepg+0eZ9L7YiRUJb8jiQ== - dependencies: - eslint-plugin-es "^2.0.0" - eslint-utils "^1.4.2" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-node@^9.1.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-9.2.0.tgz#b1911f111002d366c5954a6d96d3cd5bf2a3036a" - integrity sha512-2abNmzAH/JpxI4gEOwd6K8wZIodK3BmHbTxz4s79OIYwwIt2gkpEXlAouJXu4H1c9ySTnRso0tsuthSOZbUMlA== - dependencies: - eslint-plugin-es "^1.4.1" - eslint-utils "^1.4.2" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-nuxt@>=0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-nuxt/-/eslint-plugin-nuxt-0.5.0.tgz#ca855110c5e32d07629112d53cf632bece1ba78c" - integrity sha512-bYMl58s3mFD28wUU++5eEGaJG44naJZEo3my4+GixacmcD/vOyQZr3Hu1ToNmJJbZ3z1Ci3La5YMEyl+t2105Q== - dependencies: - eslint-plugin-vue "^6.0.0" - vue-eslint-parser "^7.0.0" - -eslint-plugin-prettier@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.1.tgz#507b8562410d02a03f0ddc949c616f877852f2ba" - integrity sha512-A+TZuHZ0KU0cnn56/9mfR7/KjUJ9QNVXUhwvRFSR7PGPe0zQR6PTkmyqg1AtUUEOzTqeRsUwyKFh0oVZKVCrtA== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-plugin-promise@>=4.2.1, eslint-plugin-promise@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a" - integrity sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw== - -eslint-plugin-standard@>=4.0.1, eslint-plugin-standard@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz#ff0519f7ffaff114f76d1bd7c3996eef0f6e20b4" - integrity sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ== - -eslint-plugin-unicorn@^9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-9.1.1.tgz#1588a0473f9a0e37cfbbcf7552065a0b0a96ce26" - integrity sha512-SHh/N54pRu5KXlS4Boa1qbWM7yTNl6VpuYJ8Qc1O3TJDr+CDUwEEdUtVlVSV/dBUE97BC8Xk0+Y5zphn21qlCA== - dependencies: - clean-regexp "^1.0.0" - eslint-ast-utils "^1.0.0" - import-modules "^1.1.0" - lodash.camelcase "^4.1.1" - lodash.defaultsdeep "^4.6.0" - lodash.kebabcase "^4.0.1" - lodash.snakecase "^4.0.1" - lodash.topairs "^4.3.0" - lodash.upperfirst "^4.2.0" - regexpp "^2.0.1" - reserved-words "^0.1.2" - safe-regex "^2.0.1" - -eslint-plugin-vue@^5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-5.2.3.tgz#3ee7597d823b5478804b2feba9863b1b74273961" - integrity sha512-mGwMqbbJf0+VvpGR5Lllq0PMxvTdrZ/ZPjmhkacrCHbubJeJOt+T6E3HUzAifa2Mxi7RSdJfC9HFpOeSYVMMIw== - dependencies: - vue-eslint-parser "^5.0.0" - -eslint-plugin-vue@^6.0.0, eslint-plugin-vue@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-6.0.1.tgz#166d3eb24cf290f3ff24d44fe9fca496f3924fc2" - integrity sha512-5tgFPcxGDKjfVB/6Yi56bKiWxygUibfZmzSh26Np3kuwAk/lfaGbVld+Yt+MPgD84ppvcachtiL4/winsXLjXA== - dependencies: - vue-eslint-parser "^6.0.5" - -eslint-scope@^4.0.0, eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" - integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-utils@^1.3.1, eslint-utils@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" - integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab" - integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q== - dependencies: - eslint-visitor-keys "^1.0.0" - -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" - integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== - -eslint@^5.16.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" - integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.9.1" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^4.0.3" - eslint-utils "^1.3.1" - eslint-visitor-keys "^1.0.0" - espree "^5.0.1" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob "^7.1.2" - globals "^11.7.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^6.2.2" - js-yaml "^3.13.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.11" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.2" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^5.5.1" - strip-ansi "^4.0.0" - strip-json-comments "^2.0.1" - table "^5.2.3" - text-table "^0.2.0" - -eslint@^6.6.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.6.0.tgz#4a01a2fb48d32aacef5530ee9c5a78f11a8afd04" - integrity sha512-PpEBq7b6qY/qrOmpYQ/jTMDYfuQMELR4g4WI1M/NaSDDD/bdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.10.0" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^5.0.0" - eslint-utils "^1.4.3" - eslint-visitor-keys "^1.1.0" - espree "^6.1.2" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^11.7.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^7.0.0" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.14" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^6.1.2" - strip-ansi "^5.2.0" - strip-json-comments "^3.0.1" - table "^5.2.3" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -esm@^3.2.25: - version "3.2.25" - resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" - integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== - -espree@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-4.1.0.tgz#728d5451e0fd156c04384a7ad89ed51ff54eb25f" - integrity sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w== - dependencies: - acorn "^6.0.2" - acorn-jsx "^5.0.0" - eslint-visitor-keys "^1.0.0" - -espree@^5.0.0, espree@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" - integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== - dependencies: - acorn "^6.0.7" - acorn-jsx "^5.0.0" - eslint-visitor-keys "^1.0.0" - -espree@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d" - integrity sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA== - dependencies: - acorn "^7.1.0" - acorn-jsx "^5.1.0" - eslint-visitor-keys "^1.1.0" - -esprima@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" - integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== - dependencies: - estraverse "^4.0.0" - -esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== - dependencies: - estraverse "^4.1.0" - -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@^1.8.1, etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -eth-block-tracker@^4.4.2: - version "4.4.3" - resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz#766a0a0eb4a52c867a28328e9ae21353812cf626" - integrity sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw== - dependencies: - "@babel/plugin-transform-runtime" "^7.5.5" - "@babel/runtime" "^7.5.5" - eth-query "^2.1.0" - json-rpc-random-id "^1.0.1" - pify "^3.0.0" - safe-event-emitter "^1.0.1" - -eth-ens-namehash@2.0.8, eth-ens-namehash@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" - integrity sha1-IprEbsqG1S4MmR58sq74P/D2i88= - dependencies: - idna-uts46-hx "^2.3.1" - js-sha3 "^0.5.7" - -eth-json-rpc-filters@^4.2.1: - version "4.2.2" - resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-4.2.2.tgz#eb35e1dfe9357ace8a8908e7daee80b2cd60a10d" - integrity sha512-DGtqpLU7bBg63wPMWg1sCpkKCf57dJ+hj/k3zF26anXMzkmtSBDExL8IhUu7LUd34f0Zsce3PYNO2vV2GaTzaw== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - async-mutex "^0.2.6" - eth-json-rpc-middleware "^6.0.0" - eth-query "^2.1.2" - json-rpc-engine "^6.1.0" - pify "^5.0.0" - -eth-json-rpc-infura@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eth-json-rpc-infura/-/eth-json-rpc-infura-5.1.0.tgz#e6da7dc47402ce64c54e7018170d89433c4e8fb6" - integrity sha512-THzLye3PHUSGn1EXMhg6WTLW9uim7LQZKeKaeYsS9+wOBcamRiCQVGHa6D2/4P0oS0vSaxsBnU/J6qvn0MPdow== - dependencies: - eth-json-rpc-middleware "^6.0.0" - eth-rpc-errors "^3.0.0" - json-rpc-engine "^5.3.0" - node-fetch "^2.6.0" - -eth-json-rpc-middleware@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-6.0.0.tgz#4fe16928b34231a2537856f08a5ebbc3d0c31175" - integrity sha512-qqBfLU2Uq1Ou15Wox1s+NX05S9OcAEL4JZ04VZox2NS0U+RtCMjSxzXhLFWekdShUPZ+P8ax3zCO2xcPrp6XJQ== - dependencies: - btoa "^1.2.1" - clone "^2.1.1" - eth-query "^2.1.2" - eth-rpc-errors "^3.0.0" - eth-sig-util "^1.4.2" - ethereumjs-util "^5.1.2" - json-rpc-engine "^5.3.0" - json-stable-stringify "^1.0.1" - node-fetch "^2.6.1" - pify "^3.0.0" - safe-event-emitter "^1.0.1" - -eth-lib@0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" - integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - xhr-request-promise "^0.1.2" - -eth-lib@^0.1.26: - version "0.1.29" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9" - integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - nano-json-stream-parser "^0.1.2" - servify "^0.1.12" - ws "^3.0.0" - xhr-request-promise "^0.1.2" - -eth-query@^2.1.0, eth-query@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" - integrity sha1-1nQdkAAQa1FRDHLbktY2VFam2l4= - dependencies: - json-rpc-random-id "^1.0.0" - xtend "^4.0.1" - -eth-rpc-errors@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-3.0.0.tgz#d7b22653c70dbf9defd4ef490fd08fe70608ca10" - integrity sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg== - dependencies: - fast-safe-stringify "^2.0.6" - -eth-rpc-errors@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a" - integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg== - dependencies: - fast-safe-stringify "^2.0.6" - -eth-sig-util@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-1.4.2.tgz#8d958202c7edbaae839707fba6f09ff327606210" - integrity sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA= - dependencies: - ethereumjs-abi "git+https://github.com/ethereumjs/ethereumjs-abi.git" - ethereumjs-util "^5.1.1" - -eth-sig-util@^2.5.3: - version "2.5.4" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-2.5.4.tgz#577b01fe491b6bf59b0464be09633e20c1677bc5" - integrity sha512-aCMBwp8q/4wrW4QLsF/HYBOSA7TpLKmkVwP3pYQNkEEseW2Rr8Z5Uxc9/h6HX+OG3tuHo+2bINVSihIeBfym6A== - dependencies: - ethereumjs-abi "0.6.8" - ethereumjs-util "^5.1.1" - tweetnacl "^1.0.3" - tweetnacl-util "^0.15.0" - -ethereum-bloom-filters@^1.0.6: - version "1.0.10" - resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" - integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== - dependencies: - js-sha3 "^0.8.0" - -ethereum-common@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.2.0.tgz#13bf966131cce1eeade62a1b434249bb4cb120ca" - integrity sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA== - -ethereum-common@^0.0.18: - version "0.0.18" - resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" - integrity sha1-L9w1dvIykDNYl26znaeDIT/5Uj8= - -ethereum-cryptography@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" - integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== - dependencies: - "@types/pbkdf2" "^3.0.0" - "@types/secp256k1" "^4.0.1" - blakejs "^1.1.0" - browserify-aes "^1.2.0" - bs58check "^2.1.2" - create-hash "^1.2.0" - create-hmac "^1.1.7" - hash.js "^1.1.7" - keccak "^3.0.0" - pbkdf2 "^3.0.17" - randombytes "^2.1.0" - safe-buffer "^5.1.2" - scrypt-js "^3.0.0" - secp256k1 "^4.0.1" - setimmediate "^1.0.5" - -ethereumjs-abi@0.6.8, "ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": - version "0.6.8" - resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#ee3994657fa7a427238e6ba92a84d0b529bbcde0" - dependencies: - bn.js "^4.11.8" - ethereumjs-util "^6.0.0" - -ethereumjs-account@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz#eeafc62de544cb07b0ee44b10f572c9c49e00a84" - integrity sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA== - dependencies: - ethereumjs-util "^5.0.0" - rlp "^2.0.0" - safe-buffer "^5.1.1" - -ethereumjs-block@^1.2.2: - version "1.7.1" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz#78b88e6cc56de29a6b4884ee75379b6860333c3f" - integrity sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg== - dependencies: - async "^2.0.1" - ethereum-common "0.2.0" - ethereumjs-tx "^1.2.2" - ethereumjs-util "^5.0.0" - merkle-patricia-tree "^2.1.2" - -ethereumjs-block@~2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz#c7654be7e22df489fda206139ecd63e2e9c04965" - integrity sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg== - dependencies: - async "^2.0.1" - ethereumjs-common "^1.5.0" - ethereumjs-tx "^2.1.1" - ethereumjs-util "^5.0.0" - merkle-patricia-tree "^2.1.2" - -ethereumjs-common@^1.1.0, ethereumjs-common@^1.5.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz#2065dbe9214e850f2e955a80e650cb6999066979" - integrity sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA== - -ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2: - version "1.3.7" - resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz#88323a2d875b10549b8347e09f4862b546f3d89a" - integrity sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA== - dependencies: - ethereum-common "^0.0.18" - ethereumjs-util "^5.0.0" - -ethereumjs-tx@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz#5dfe7688bf177b45c9a23f86cf9104d47ea35fed" - integrity sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw== - dependencies: - ethereumjs-common "^1.5.0" - ethereumjs-util "^6.0.0" - -ethereumjs-util@^5.0.0, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.5: - version "5.2.1" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz#a833f0e5fca7e5b361384dc76301a721f537bf65" - integrity sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ== - dependencies: - bn.js "^4.11.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - ethjs-util "^0.1.3" - rlp "^2.0.0" - safe-buffer "^5.1.1" - -ethereumjs-util@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" - integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== - dependencies: - "@types/bn.js" "^4.11.3" - bn.js "^4.11.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" - rlp "^2.2.3" - -ethereumjs-util@^7.0.10, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz#a6885bcdd92045b06f596c7626c3e89ab3312458" - integrity sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A== - dependencies: - "@types/bn.js" "^5.1.0" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - rlp "^2.2.4" - -ethereumjs-vm@^2.3.4: - version "2.6.0" - resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6" - integrity sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw== - dependencies: - async "^2.1.2" - async-eventemitter "^0.2.2" - ethereumjs-account "^2.0.3" - ethereumjs-block "~2.2.0" - ethereumjs-common "^1.1.0" - ethereumjs-util "^6.0.0" - fake-merkle-patricia-tree "^1.0.1" - functional-red-black-tree "^1.0.1" - merkle-patricia-tree "^2.3.2" - rustbn.js "~0.2.0" - safe-buffer "^5.1.1" - -ethers@^5.5.1: - version "5.6.1" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.6.1.tgz#a56cd67f1595b745dc3dde0ccf2b5de53a41a6d0" - integrity sha512-qtl/2W+dwmUa5Z3JqwsbV3JEBZZHNARe5K/A2ePcNAuhJYnEKIgGOT/O9ouPwBijSqVoQnmQMzi5D48LFNOY2A== - dependencies: - "@ethersproject/abi" "5.6.0" - "@ethersproject/abstract-provider" "5.6.0" - "@ethersproject/abstract-signer" "5.6.0" - "@ethersproject/address" "5.6.0" - "@ethersproject/base64" "5.6.0" - "@ethersproject/basex" "5.6.0" - "@ethersproject/bignumber" "5.6.0" - "@ethersproject/bytes" "5.6.0" - "@ethersproject/constants" "5.6.0" - "@ethersproject/contracts" "5.6.0" - "@ethersproject/hash" "5.6.0" - "@ethersproject/hdnode" "5.6.0" - "@ethersproject/json-wallets" "5.6.0" - "@ethersproject/keccak256" "5.6.0" - "@ethersproject/logger" "5.6.0" - "@ethersproject/networks" "5.6.0" - "@ethersproject/pbkdf2" "5.6.0" - "@ethersproject/properties" "5.6.0" - "@ethersproject/providers" "5.6.1" - "@ethersproject/random" "5.6.0" - "@ethersproject/rlp" "5.6.0" - "@ethersproject/sha2" "5.6.0" - "@ethersproject/signing-key" "5.6.0" - "@ethersproject/solidity" "5.6.0" - "@ethersproject/strings" "5.6.0" - "@ethersproject/transactions" "5.6.0" - "@ethersproject/units" "5.6.0" - "@ethersproject/wallet" "5.6.0" - "@ethersproject/web" "5.6.0" - "@ethersproject/wordlists" "5.6.0" - -ethjs-unit@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" - integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= - dependencies: - bn.js "4.11.6" - number-to-bn "1.7.0" - -ethjs-util@0.1.6, ethjs-util@^0.1.3: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" - integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== - dependencies: - is-hex-prefixed "1.0.0" - strip-hex-prefix "1.0.0" - -eventemitter3@4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" - integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== - -eventemitter3@4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== - -eventsource-polyfill@^0.9.6: - version "0.9.6" - resolved "https://registry.yarnpkg.com/eventsource-polyfill/-/eventsource-polyfill-0.9.6.tgz#10e0d187f111b167f28fdab918843ce7d818f13c" - integrity sha1-EODRh/ERsWfyj9q5GIQ859gY8Tw= - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" - integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" - integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - p-finally "^2.0.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -exit-on-epipe@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" - integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= - dependencies: - is-posix-bracket "^0.1.0" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= - dependencies: - fill-range "^2.1.0" - -expect@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" - integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== - dependencies: - "@jest/types" "^24.9.0" - ansi-styles "^3.2.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.9.0" - -express@^4.14.0: - version "4.17.3" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" - integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.19.2" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.4.2" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.9.7" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.17.2" - serve-static "1.14.2" - setprototypeof "1.2.0" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -express@^4.16.3: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== - dependencies: - accepts "~1.3.7" - array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" - content-type "~1.0.4" - cookie "0.4.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" - range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -ext@^1.1.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" - integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== - dependencies: - type "^2.5.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= - dependencies: - is-extglob "^1.0.0" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extract-css-chunks-webpack-plugin@^4.7.5: - version "4.9.0" - resolved "https://registry.yarnpkg.com/extract-css-chunks-webpack-plugin/-/extract-css-chunks-webpack-plugin-4.9.0.tgz#da5e6b1d8b39a398c817ffc98550f4ccb6d795e1" - integrity sha512-HNuNPCXRMqJDQ1OHAUehoY+0JVCnw9Y/H22FQzYVwo8Ulgew98AGDu0grnY5c7xwiXHjQa6yJ/1dxLCI/xqTyQ== - dependencies: - loader-utils "^2.0.0" - normalize-url "1.9.1" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - -extract-from-css@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/extract-from-css/-/extract-from-css-0.4.4.tgz#1ea7df2e7c7c6eb9922fa08e8adaea486f6f8f92" - integrity sha1-HqffLnx8brmSL6COitrqSG9vj5I= - dependencies: - css "^2.1.0" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fake-merkle-patricia-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz#4b8c3acfb520afadf9860b1f14cd8ce3402cddd3" - integrity sha1-S4w6z7Ugr635hgsfFM2M40As3dM= - dependencies: - checkpoint-store "^1.1.0" - -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@^3.1.1: - version "3.2.4" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" - integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" - -fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fast-safe-stringify@^2.0.6: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -fastq@^1.6.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" - integrity sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= - dependencies: - bser "^2.0.0" - -ffjavascript@^0.2.45: - version "0.2.51" - resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.2.51.tgz#5d714686e3a5bde96dc57be84babc61911283629" - integrity sha512-qshvFIjU6cWMQOtKwpU4JZOKfKHfN8TFJ0Tst1Bd/V8AfgzAUScqA+zRT6sLGdV9zlumLsMgrLzGVRK4kf6RQA== - dependencies: - big-integer "^1.6.48" - wasmbuilder "^0.0.12" - wasmcurves "0.1.0" - web-worker "^1.2.0" - -figgy-pudding@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" - integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - -figures@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.0.0.tgz#756275c964646163cc6f9197c7a0295dbfd04de9" - integrity sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" - -file-loader@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af" - integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA== - dependencies: - loader-utils "^1.2.3" - schema-utils "^2.5.0" - -file-saver@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38" - integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA== - -file-saver@eligrey/FileSaver.js#1.3.8: - version "1.3.8" - resolved "https://codeload.github.com/eligrey/FileSaver.js/tar.gz/e865e37af9f9947ddcced76b549e27dc45c1cb2e" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= - -filesize@^3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== - -fill-range@^2.1.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" - integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^3.0.0" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.1.2, finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-babel-config@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.2.0.tgz#a9b7b317eb5b9860cda9d54740a8c8337a2283a2" - integrity sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA== - dependencies: - json5 "^0.5.1" - path-exists "^3.0.0" - -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-cache-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.1.0.tgz#9935894999debef4cf9f677fdf646d002c4cdecb" - integrity sha512-zw+EFiNBNPgI2NTrKkDd1xd7q0cs6wr/iWnr/oUkI0yF9K9GqQ+riIt4aiyFaaqpaWbxPrJXHI+QvmNUQbX+0Q== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.0" - pkg-dir "^4.1.0" - -find-cache-dir@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" - integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -fixed-merkle-tree@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/fixed-merkle-tree/-/fixed-merkle-tree-0.7.3.tgz#e8993628bc43894dfae3cb7e2a847f45c63e8678" - integrity sha512-b50ZBpDfp/Nru120IdeS0IyqbVjOien1OSdWMDdcxS9uVHLV668xndNkEnn9t1WFOvc5aw1owl6l4N8mP5mkKg== - -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - -flat@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" - integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== - -flatten@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" - integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= - -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -follow-redirects@1.5.10: - version "1.5.10" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" - integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== - dependencies: - debug "=3.1.0" - -follow-redirects@^1.14.0: - version "1.14.5" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" - integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= - dependencies: - for-in "^1.0.1" - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" - integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2, fresh@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-extra@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-memo@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fs-memo/-/fs-memo-1.2.0.tgz#a2ec3be606b902077adbb37ec529c5ec5fb2e037" - integrity sha512-YEexkCpL4j03jn5SxaMHqcO6IuWuqm8JFUYhyCep7Ao89JIYmB8xoKhK7zXXJ9cCaNXpyNH5L3QtAmoxjoHW2w== - -fs-minipass@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" - integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== - dependencies: - minipass "^2.2.1" - -fs-minipass@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - -fs-minipass@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.0.0.tgz#a6415edab02fae4b9e9230bc87ee2e4472003cd1" - integrity sha512-40Qz+LFXmd9tzYVnnBmZvFfvAADfUA14TXPK1s7IfElJTIZ97rA8w4Kin7Wt5JBrC3ShnnFJO/5vPjPEeJIq9A== - dependencies: - minipass "^3.0.0" - -fs-readdir-recursive@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" - integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^1.0.0: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@^1.2.7: - version "1.2.9" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" - integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== - dependencies: - nan "^2.12.1" - node-pre-gyp "^0.12.0" - -fsevents@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" - integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== - -fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.0.2, function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gas-price-oracle@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/gas-price-oracle/-/gas-price-oracle-0.5.0.tgz#b29f83c97bb4b091a08da7c10e2d1e5888bbade4" - integrity sha512-um0cmd9qxGkDHirV1HcrjQ4vedVxK7u+uMeJIjo2yUMYe6T46ihbMnRncF5tfP9deU5hPHJ8FvVRZY1Y/CKkLQ== - dependencies: - axios "^0.21.2" - bignumber.js "^9.0.0" - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -gensync@^1.0.0-beta.1: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" - integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-port-please@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/get-port-please/-/get-port-please-1.1.0.tgz#7a60007578df6c4570c233803b48854c44db41f7" - integrity sha512-C9adQpQ9uyboxURlYAVcqvKdnrZ0uIad6lAZzIr51G5shhUFcZUwl8rxY0B0hB6OJytBNzPB1Uj/S1CpP9aFzQ== - dependencies: - fs-memo "^1.2.0" - -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - -get-stream@^4.0.0, get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -git-config-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-config-path/-/git-config-path-2.0.0.tgz#62633d61af63af4405a5024efd325762f58a181b" - integrity sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA== - -git-up@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.2.tgz#10c3d731051b366dc19d3df454bfca3f77913a7c" - integrity sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ== - dependencies: - is-ssh "^1.3.0" - parse-url "^5.0.0" - -git-url-parse@^11.4.0: - version "11.4.0" - resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.4.0.tgz#f2bb1f2b00f05552540e95a62e31399a639a6aa6" - integrity sha512-KlIa5jvMYLjXMQXkqpFzobsyD/V2K5DRHl5OAf+6oDFPlPLxrGDVQlIdI63c4/Kt6kai4kALENSALlzTGST3GQ== - dependencies: - git-up "^4.0.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= - dependencies: - is-glob "^2.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954" - integrity sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg== - dependencies: - is-glob "^4.0.1" - -glob-parent@^5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - dependencies: - is-glob "^4.0.1" - -glob-parent@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" - integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== - dependencies: - is-glob "^4.0.1" - -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" - integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= - dependencies: - ini "^1.3.4" - -global@~4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" - integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== - dependencies: - min-document "^2.19.0" - process "^0.11.10" - -globals@^11.1.0, globals@^11.7.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== - -globby@^11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" - integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -good-listener@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" - integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= - dependencies: - delegate "^3.1.2" - -got@9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - -got@^6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" - integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= - dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" - -got@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" - integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== - dependencies: - decompress-response "^3.2.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-plain-obj "^1.1.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - isurl "^1.0.0-alpha5" - lowercase-keys "^1.0.0" - p-cancelable "^0.3.0" - p-timeout "^1.1.1" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - url-parse-lax "^1.0.0" - url-to-options "^1.0.1" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" - integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== - -graceful-fs@^4.1.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -graceful-fs@^4.2.2: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== - -graphql-tag@^2.12.0: - version "2.12.4" - resolved "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.4.tgz#d34066688a4f09e72d6f4663c74211e9b4b7c4bf" - integrity sha512-VV1U4O+9x99EkNpNmCUV5RZwq6MnK4+pGbRYWG+lA/m3uo7TSqJF81OkcOP148gFP6fzdl7JWYBrwWVTS9jXww== - dependencies: - tslib "^2.1.0" - -graphql@^15.5.1: - version "15.5.1" - resolved "https://registry.npmjs.org/graphql/-/graphql-15.5.1.tgz#f2f84415d8985e7b84731e7f3536f8bb9d383aad" - integrity sha512-FeTRX67T3LoE3LWAxxOlW2K3Bz+rMYAC18rRguK4wgXaTZMiJwSUwDmPFo3UadAKbzirKIg5Qy+sNJXbpPRnQw== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -gzip-size@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== - dependencies: - duplexer "^0.1.1" - pify "^4.0.1" - -hable@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/hable/-/hable-3.0.0.tgz#6de089b2df946635cf8134b9e4859f1b62de255f" - integrity sha512-7+G0/2/COR8pwteYFqHIVYfQpuEiO2HXwJrhCBJVgrNrl9O5eaUoJVDGXUJX+0RpGncNVTuestexjk1afj01wQ== - -handlebars@^4.1.2: - version "4.2.0" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.2.0.tgz#57ce8d2175b9bbb3d8b3cf3e4217b1aec8ddcb2e" - integrity sha512-Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw== - dependencies: - neo-async "^2.6.0" - optimist "^0.6.1" - source-map "^0.6.1" - optionalDependencies: - uglify-js "^3.1.4" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.0, har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" - -hard-source-webpack-plugin@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/hard-source-webpack-plugin/-/hard-source-webpack-plugin-0.13.1.tgz#a99071e25b232f1438a5bc3c99f10a3869e4428e" - integrity sha512-r9zf5Wq7IqJHdVAQsZ4OP+dcUSvoHqDMxJlIzaE2J0TZWn3UjMMrHqwDHR8Jr/pzPfG7XxSe36E7Y8QGNdtuAw== - dependencies: - chalk "^2.4.1" - find-cache-dir "^2.0.0" - graceful-fs "^4.1.11" - lodash "^4.15.0" - mkdirp "^0.5.1" - node-object-hash "^1.2.0" - parse-json "^4.0.0" - pkg-dir "^3.0.0" - rimraf "^2.6.2" - semver "^5.6.0" - tapable "^1.0.0-beta.5" - webpack-sources "^1.0.1" - write-json-file "^2.3.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbol-support-x@^1.4.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" - integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== - -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= - -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-to-string-tag-x@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" - integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== - dependencies: - has-symbol-support-x "^1.4.1" - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.0, has@^1.0.1, has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -hash-sum@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" - integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= - -hash-sum@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" - integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -he@1.2.0, he@^1.1.0, he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hex-color-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" - integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== - -hmac-drbg@^1.0.0, hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoist-non-react-statics@^3.3.2: - version "3.3.2" - resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg= - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - -hoopy@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - -hosted-git-info@^2.1.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" - integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== - -hsl-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" - integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= - -hsla-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" - integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= - -html-comment-regex@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" - integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== - -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== - dependencies: - whatwg-encoding "^1.0.1" - -html-entities@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" - integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= - -html-minifier-terser@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" - integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== - dependencies: - camel-case "^4.1.1" - clean-css "^4.2.3" - commander "^4.1.1" - he "^1.2.0" - param-case "^3.0.3" - relateurl "^0.2.7" - terser "^4.6.3" - -html-minifier@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz#cca9aad8bce1175e02e17a8c33e46d8988889f56" - integrity sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig== - dependencies: - camel-case "^3.0.0" - clean-css "^4.2.1" - commander "^2.19.0" - he "^1.2.0" - param-case "^2.1.1" - relateurl "^0.2.7" - uglify-js "^3.5.1" - -html-tags@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" - integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= - -html-webpack-plugin@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz#625097650886b97ea5dae331c320e3238f6c121c" - integrity sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw== - dependencies: - "@types/html-minifier-terser" "^5.0.0" - "@types/tapable" "^1.0.5" - "@types/webpack" "^4.41.8" - html-minifier-terser "^5.0.1" - loader-utils "^1.2.3" - lodash "^4.17.15" - pretty-error "^2.1.1" - tapable "^1.1.3" - util.promisify "1.0.0" - -html2canvas@1.0.0-alpha.12: - version "1.0.0-alpha.12" - resolved "https://registry.yarnpkg.com/html2canvas/-/html2canvas-1.0.0-alpha.12.tgz#3b1992e3c9b3f56063c35fd620494f37eba88513" - integrity sha1-OxmS48mz9WBjw1/WIElPN+uohRM= - dependencies: - css-line-break "1.0.1" - -htmlparser2@^3.3.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== - dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" - -http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== - -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" - integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.1" - -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-https@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" - integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs= - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -iconv-lite@0.4.24, iconv-lite@^0.4.13, iconv-lite@^0.4.24, iconv-lite@^0.4.4: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" - -idb@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/idb/-/idb-6.0.0.tgz#00d6092b948138cf9bebc9dcddc4df8bf60bf0ac" - integrity sha512-+M367poGtpzAylX4pwcrZIa7cFQLfNkAOlMMLN2kw/2jGfJP6h+TB/unQNSVYwNtP8XqkLYrfuiVnxLQNP1tjA== - -idna-uts46-hx@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" - integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== - dependencies: - punycode "2.1.0" - -ieee754@^1.1.13, ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore-by-default@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" - integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk= - -ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== - dependencies: - minimatch "^3.0.4" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" - integrity sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== - -ignore@^5.1.8: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -immediate@^3.2.3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" - integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== - -immutable@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" - integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== - -import-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - dependencies: - import-from "^2.1.0" - -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - -import-fresh@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" - integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - integrity sha1-M1238qev/VOqpHHUuAId7ja387E= - dependencies: - resolve-from "^3.0.0" - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= - -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - -import-modules@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/import-modules/-/import-modules-1.1.0.tgz#748db79c5cc42bb9701efab424f894e72600e9dc" - integrity sha1-dI23nFzEK7lwHvq0JPiU5yYA6dw= - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - -infer-owner@^1.0.3, infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ini@^1.3.4, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - -ini@^1.3.5: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -inquirer@^6.2.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" - integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - -inquirer@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a" - integrity sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^2.4.2" - cli-cursor "^3.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.15" - mute-stream "0.0.8" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^4.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - -inquirer@^7.3.3: - version "7.3.3" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" - integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.19" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.6.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== - -ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -ipaddr.js@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" - integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" - integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-buffer@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" - integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== - -is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== - -is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-ci@^1.0.10: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" - integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== - dependencies: - ci-info "^1.5.0" - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-color-stop@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" - integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= - dependencies: - css-color-names "^0.0.4" - hex-color-regex "^1.1.0" - hsl-regex "^1.0.0" - hsla-regex "^1.0.0" - rgb-regex "^1.0.1" - rgba-regex "^1.0.0" - -is-core-module@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - -is-docker@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" - integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== - -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= - dependencies: - number-is-nan "^1.0.0" - -is-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fn/-/is-fn-1.0.0.tgz#9543d5de7bcf5b08a22ec8a20bae6e286d510d8c" - integrity sha1-lUPV3nvPWwiiLsiiC65uKG1RDYw= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-function@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" - integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= - dependencies: - is-extglob "^1.0.0" - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-hex-prefixed@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" - integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= - -is-installed-globally@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" - integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= - dependencies: - global-dirs "^0.1.0" - is-path-inside "^1.0.0" - -is-negative-zero@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" - integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= - dependencies: - kind-of "^3.0.2" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" - integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= - -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= - -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= - -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= - dependencies: - has "^1.0.1" - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - -is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= - -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== - -is-ssh@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.2.tgz#a4b82ab63d73976fd8263cceee27f99a88bdae2b" - integrity sha512-elEw0/0c2UscLrNG+OAorbP539E3rhliKPg+hDMWN9VwrDXfYK+4PBEykDPfxlYYtQvl84TascnQyobfQLHEhQ== - dependencies: - protocols "^1.1.0" - -is-stream@^1.0.0, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-svg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" - integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== - dependencies: - html-comment-regex "^1.1.0" - -is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== - dependencies: - has-symbols "^1.0.0" - -is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.3, is-typed-array@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79" - integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-abstract "^1.18.5" - foreach "^2.0.5" - has-tostringtag "^1.0.0" - -is-typedarray@1.0.0, is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-weakref@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isarray@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" - integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== - -istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" - integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - istanbul-lib-coverage "^2.0.5" - semver "^6.0.0" - -istanbul-lib-report@^2.0.4: - version "2.0.8" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" - integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== - dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" - -istanbul-lib-source-maps@^3.0.1: - version "3.0.6" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" - integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" - source-map "^0.6.1" - -istanbul-reports@^2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" - integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA== - dependencies: - handlebars "^4.1.2" - -isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" - integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== - dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - -jest-changed-files@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" - integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== - dependencies: - "@jest/types" "^24.9.0" - execa "^1.0.0" - throat "^4.0.0" - -jest-cli@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" - integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== - dependencies: - "@jest/core" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - import-local "^2.0.0" - is-ci "^2.0.0" - jest-config "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - prompts "^2.0.1" - realpath-native "^1.1.0" - yargs "^13.3.0" - -jest-config@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" - integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.9.0" - "@jest/types" "^24.9.0" - babel-jest "^24.9.0" - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^24.9.0" - jest-environment-node "^24.9.0" - jest-get-type "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - micromatch "^3.1.10" - pretty-format "^24.9.0" - realpath-native "^1.1.0" - -jest-diff@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" - integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== - dependencies: - chalk "^2.0.1" - diff-sequences "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-docblock@^24.3.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" - integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== - dependencies: - detect-newline "^2.1.0" - -jest-each@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" - integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog== - dependencies: - "@jest/types" "^24.9.0" - chalk "^2.0.1" - jest-get-type "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - -jest-environment-jsdom@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" - integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jsdom "^11.5.1" - -jest-environment-node@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" - integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - -jest-get-type@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" - integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== - -jest-haste-map@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" - integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ== - dependencies: - "@jest/types" "^24.9.0" - anymatch "^2.0.0" - fb-watchman "^2.0.0" - graceful-fs "^4.1.15" - invariant "^2.2.4" - jest-serializer "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.9.0" - micromatch "^3.1.10" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^1.2.7" - -jest-jasmine2@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" - integrity sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - co "^4.6.0" - expect "^24.9.0" - is-generator-fn "^2.0.0" - jest-each "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - throat "^4.0.0" - -jest-leak-detector@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" - integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA== - dependencies: - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-matcher-utils@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" - integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== - dependencies: - chalk "^2.0.1" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-message-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" - integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" - stack-utils "^1.0.1" - -jest-mock@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" - integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== - dependencies: - "@jest/types" "^24.9.0" - -jest-pnp-resolver@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" - integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== - -jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" - integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== - -jest-resolve-dependencies@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" - integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== - dependencies: - "@jest/types" "^24.9.0" - jest-regex-util "^24.3.0" - jest-snapshot "^24.9.0" - -jest-resolve@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" - integrity sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ== - dependencies: - "@jest/types" "^24.9.0" - browser-resolve "^1.11.3" - chalk "^2.0.1" - jest-pnp-resolver "^1.2.1" - realpath-native "^1.1.0" - -jest-runner@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" - integrity sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg== - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.4.2" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-docblock "^24.3.0" - jest-haste-map "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-leak-detector "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - source-map-support "^0.5.6" - throat "^4.0.0" - -jest-runtime@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" - integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw== - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - realpath-native "^1.1.0" - slash "^2.0.0" - strip-bom "^3.0.0" - yargs "^13.3.0" - -jest-serializer@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" - integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== - -jest-snapshot@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" - integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - expect "^24.9.0" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^24.9.0" - semver "^6.2.0" - -jest-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" - integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== - dependencies: - "@jest/console" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/source-map" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - callsites "^3.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.15" - is-ci "^2.0.0" - mkdirp "^0.5.1" - slash "^2.0.0" - source-map "^0.6.0" - -jest-validate@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" - integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== - dependencies: - "@jest/types" "^24.9.0" - camelcase "^5.3.1" - chalk "^2.0.1" - jest-get-type "^24.9.0" - leven "^3.1.0" - pretty-format "^24.9.0" - -jest-watcher@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" - integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== - dependencies: - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.9.0" - string-length "^2.0.0" - -jest-worker@^24.6.0, jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - -jest-worker@^25.4.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" - integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== - dependencies: - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" - integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== - dependencies: - import-local "^2.0.0" - jest-cli "^24.9.0" - -jiti@^0.1.11, jiti@^0.1.16: - version "0.1.17" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-0.1.17.tgz#b693a29c94d0ca4f82a4624b40dd9915527416be" - integrity sha512-IlUGuEHKA44dqJoSqpv1poIRyyi31ciEmpLlRZCmo9TasVSZhwfmaVUuQVs26EHuwYdx+NirOm41+wbykH/+9Q== - -js-beautify@^1.6.14: - version "1.10.2" - resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.10.2.tgz#88c9099cd6559402b124cfab18754936f8a7b178" - integrity sha512-ZtBYyNUYJIsBWERnQP0rPN9KjkrDfJcMjuVGcvXOUJrD1zmOGwhRwQ4msG+HJ+Ni/FA7+sRQEMYVzdTQDvnzvQ== - dependencies: - config-chain "^1.1.12" - editorconfig "^0.15.3" - glob "^7.1.3" - mkdirp "~0.5.1" - nopt "~4.0.1" - -js-sha3@0.8.0, js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -js-sha3@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" - integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - -js-yaml@^3.13.0: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^11.5.1: - version "11.12.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" - integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== - dependencies: - abab "^2.0.0" - acorn "^5.5.3" - acorn-globals "^4.1.0" - array-equal "^1.0.0" - cssom ">= 0.3.2 < 0.4.0" - cssstyle "^1.0.0" - data-urls "^1.0.0" - domexception "^1.0.1" - escodegen "^1.9.1" - html-encoding-sniffer "^1.0.2" - left-pad "^1.3.0" - nwsapi "^2.0.7" - parse5 "4.0.0" - pn "^1.1.0" - request "^2.87.0" - request-promise-native "^1.0.5" - sax "^1.2.4" - symbol-tree "^3.2.2" - tough-cookie "^2.3.4" - w3c-hr-time "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-mimetype "^2.1.0" - whatwg-url "^6.4.1" - ws "^5.2.0" - xml-name-validator "^3.0.0" - -jsdom@^8.1.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-8.5.0.tgz#d4d8f5dbf2768635b62a62823b947cf7071ebc98" - integrity sha1-1Nj12/J2hjW2KmKCO5R89wcevJg= - dependencies: - abab "^1.0.0" - acorn "^2.4.0" - acorn-globals "^1.0.4" - array-equal "^1.0.0" - cssom ">= 0.3.0 < 0.4.0" - cssstyle ">= 0.2.34 < 0.3.0" - escodegen "^1.6.1" - iconv-lite "^0.4.13" - nwmatcher ">= 1.3.7 < 2.0.0" - parse5 "^1.5.1" - request "^2.55.0" - sax "^1.1.4" - symbol-tree ">= 3.1.0 < 4.0.0" - tough-cookie "^2.2.0" - webidl-conversions "^3.0.1" - whatwg-url "^2.0.1" - xml-name-validator ">= 2.0.1 < 3.0.0" - -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-rpc-engine@^5.3.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-5.4.0.tgz#75758609d849e1dba1e09021ae473f3ab63161e5" - integrity sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g== - dependencies: - eth-rpc-errors "^3.0.0" - safe-event-emitter "^1.0.1" - -json-rpc-engine@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz#bf5ff7d029e1c1bf20cb6c0e9f348dcd8be5a393" - integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - eth-rpc-errors "^4.0.2" - -json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" - integrity sha1-uknZat7RRE27jaPSA3SKy7zeyMg= - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= - -jspdf@^1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/jspdf/-/jspdf-1.5.3.tgz#5a12c011479defabef5735de55c913060ed219f2" - integrity sha512-J9X76xnncMw+wIqb15HeWfPMqPwYxSpPY8yWPJ7rAZN/ZDzFkjCSZObryCyUe8zbrVRNiuCnIeQteCzMn7GnWw== - dependencies: - canvg "1.5.3" - file-saver eligrey/FileSaver.js#1.3.8 - html2canvas "1.0.0-alpha.12" - omggif "1.0.7" - promise-polyfill "8.1.0" - stackblur-canvas "2.2.0" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -keccak@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-2.1.0.tgz#734ea53f2edcfd0f42cdb8d5f4c358fef052752b" - integrity sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q== - dependencies: - bindings "^1.5.0" - inherits "^2.0.4" - nan "^2.14.0" - safe-buffer "^5.2.0" - -keccak@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" - integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - readable-stream "^3.6.0" - -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" - -keyvaluestorage-interface@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff" - integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g== - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -last-call-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" - integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== - dependencies: - lodash "^4.17.5" - webpack-sources "^1.1.0" - -latest-version@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" - integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU= - dependencies: - package-json "^4.0.0" - -launch-editor-middleware@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz#e14b07e6c7154b0a4b86a0fd345784e45804c157" - integrity sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg== - dependencies: - launch-editor "^2.2.1" - -launch-editor@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.2.1.tgz#871b5a3ee39d6680fcc26d37930b6eeda89db0ca" - integrity sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw== - dependencies: - chalk "^2.3.0" - shell-quote "^1.6.1" - -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== - dependencies: - invert-kv "^2.0.0" - -left-pad@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" - integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== - -level-codec@~7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" - integrity sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ== - -level-errors@^1.0.3: - version "1.1.2" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.1.2.tgz#4399c2f3d3ab87d0625f7e3676e2d807deff404d" - integrity sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w== - dependencies: - errno "~0.1.1" - -level-errors@~1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.0.5.tgz#83dbfb12f0b8a2516bdc9a31c4876038e227b859" - integrity sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig== - dependencies: - errno "~0.1.1" - -level-iterator-stream@~1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz#e43b78b1a8143e6fa97a4f485eb8ea530352f2ed" - integrity sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0= - dependencies: - inherits "^2.0.1" - level-errors "^1.0.3" - readable-stream "^1.0.33" - xtend "^4.0.0" - -level-ws@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-0.0.0.tgz#372e512177924a00424b0b43aef2bb42496d228b" - integrity sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos= - dependencies: - readable-stream "~1.0.15" - xtend "~2.1.1" - -levelup@^1.2.1: - version "1.3.9" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-1.3.9.tgz#2dbcae845b2bb2b6bea84df334c475533bbd82ab" - integrity sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ== - dependencies: - deferred-leveldown "~1.2.1" - level-codec "~7.0.0" - level-errors "~1.0.3" - level-iterator-stream "~1.3.0" - prr "~1.0.1" - semver "~5.4.1" - xtend "~4.0.0" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -loader-fs-cache@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz#54cedf6b727e1779fd8f01205f05f6e88706f086" - integrity sha512-70IzT/0/L+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3/hgYpySqI9PwsVRHHFja0LfEmsx9X2Cw== - dependencies: - find-cache-dir "^0.1.1" - mkdirp "0.5.1" - -loader-runner@^2.3.1, loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - -loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - -lodash.camelcase@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - -lodash.defaultsdeep@^4.6.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" - integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== - -lodash.difference@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" - integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= - -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= - -lodash.kebabcase@^4.0.1, lodash.kebabcase@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" - integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - -lodash.snakecase@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" - integrity sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40= - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash.template@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== - dependencies: - lodash._reinterpolate "^3.0.0" - -lodash.topairs@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.topairs/-/lodash.topairs-4.3.0.tgz#3b6deaa37d60fb116713c46c5f17ea190ec48d64" - integrity sha1-O23qo31g+xFnE8RsXxfqGQ7EjWQ= - -lodash.unescape@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" - integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -lodash.upperfirst@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" - integrity sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984= - -lodash.zip@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.zip/-/lodash.zip-4.2.0.tgz#ec6662e4896408ed4ab6c542a3990b72cc080020" - integrity sha1-7GZi5IlkCO1KtsVCo5kLcswIACA= - -lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - -lodash@^4.17.12, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -lodash@^4.17.19, lodash@^4.17.20: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -loose-envify@^1.0.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -loupe@^2.3.1: - version "2.3.4" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.4.tgz#7e0b9bffc76f148f9be769cb1321d3dcf3cb25f3" - integrity sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ== - dependencies: - get-func-name "^2.0.0" - -lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lru-cache@^4.0.1, lru-cache@^4.1.2, lru-cache@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -ltgt@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" - integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU= - -make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801" - integrity sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw== - dependencies: - semver "^6.0.0" - -make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -math-random@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" - integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - -mdn-data@~1.1.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" - integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -mem@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" - -memdown@^1.0.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.4.1.tgz#b4e4e192174664ffbae41361aa500f3119efe215" - integrity sha1-tOThkhdGZP+65BNhqlAPMRnv4hU= - dependencies: - abstract-leveldown "~2.7.1" - functional-red-black-tree "^1.0.1" - immediate "^3.2.3" - inherits "~2.0.1" - ltgt "~2.2.0" - safe-buffer "~5.1.1" - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - -merge-source-map@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" - integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== - dependencies: - source-map "^0.6.1" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz#982ca1b5a0fde00eed2f6aeed1f9152860b8208a" - integrity sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g== - dependencies: - async "^1.4.2" - ethereumjs-util "^5.0.0" - level-ws "0.0.0" - levelup "^1.2.1" - memdown "^1.0.0" - readable-stream "^2.0.0" - rlp "^2.0.0" - semaphore ">=1.0.1" - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -micromatch@^2.1.5: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.40.0: - version "1.40.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" - integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== - -mime-db@1.42.0: - version "1.42.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac" - integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -"mime-db@>= 1.40.0 < 2": - version "1.41.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.41.0.tgz#9110408e1f6aa1b34aef51f2c9df3caddf46b6a0" - integrity sha512-B5gxBI+2K431XW8C2rcc/lhppbuji67nf9v39eH8pkWoZDxnAL0PxdpH32KYRScniF8qDHBDlI+ipgg5WrCUYw== - -mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.24" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" - integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== - dependencies: - mime-db "1.40.0" - -mime-types@^2.1.16, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime-types@^2.1.19: - version "2.1.25" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.25.tgz#39772d46621f93e2a80a856c53b86a62156a6437" - integrity sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg== - dependencies: - mime-db "1.42.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@^2.3.1, mime@^2.4.4: - version "2.4.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" - integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -mimic-fn@^2.0.0, mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" - integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= - dependencies: - dom-walk "^0.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@^1.1.1, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - -minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= - -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-pipeline@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz#3dcb6bb4a546e32969c7ad710f2c79a86abba93a" - integrity sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA== - dependencies: - minipass "^3.0.0" - -minipass@^2.2.1, minipass@^2.3.5: - version "2.5.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.5.0.tgz#dddb1d001976978158a05badfcbef4a771612857" - integrity sha512-9FwMVYhn6ERvMR8XFdOavRz4QK/VJV8elU1x50vYexf9lslDcWe/f4HBRxCPd185ekRSjU6CfYyJCECa/CQy7Q== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minipass@^2.6.0, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5" - integrity sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w== - dependencies: - yallist "^4.0.0" - -minizlib@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== - dependencies: - minipass "^2.2.1" - -minizlib@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp-promise@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" - integrity sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE= - dependencies: - mkdirp "*" - -mkdirp@*: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - -mkdirp@^0.5.3, mkdirp@^0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mock-fs@^4.1.0: - version "4.14.0" - resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" - integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== - -moment-locales-webpack-plugin@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/moment-locales-webpack-plugin/-/moment-locales-webpack-plugin-1.1.2.tgz#9ae5263ac38d5cba227fc9d76efad025bb685a0c" - integrity sha512-s+JE7lADQjUyeQvqB3sVcfxXncg1o+t5hrRl2GBY66vXuLO2tXIjD+4mNUXQMS10qCGoeK3R3skBrW34gHobBQ== - dependencies: - lodash.difference "^4.5.0" - -moment-timezone-data-webpack-plugin@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/moment-timezone-data-webpack-plugin/-/moment-timezone-data-webpack-plugin-1.1.0.tgz#6e77b0353894054c5982fc3bc65e689105629fdd" - integrity sha512-szKf9rbRoY9u3WNcwK6D0tdCREk/OZkcF1k163Xc5m7GcqBh28LgNVWisb4sje6/qdG3WUkFD5hJ7/lmKOkBAA== - dependencies: - find-cache-dir "^3.0.0" - make-dir "^3.0.0" - -moment-timezone@^0.5.27: - version "0.5.28" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.28.tgz#f093d789d091ed7b055d82aa81a82467f72e4338" - integrity sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw== - dependencies: - moment ">= 2.9.0" - -"moment@>= 2.9.0", moment@^2.24.0: - version "2.24.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" - integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -ms@2.1.2, ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multibase@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" - integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - -multibase@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.0.tgz#0216e350614c7456da5e8e5b20d3fcd4c9104f56" - integrity sha512-R9bNLQhbD7MsitPm1NeY7w9sDgu6d7cuj25snAWH7k5PSNPSwIQQBpcpj8jx1W96dLbdigZqmUWOdQRMnAmgjA== - dependencies: - base-x "3.0.4" - -multicodec@^0.5.5: - version "0.5.7" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" - integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== - dependencies: - varint "^5.0.0" - -multicodec@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.0.tgz#75652ff96cc30f63bb56264ef5c7e6526bc0becb" - integrity sha512-CBiLdYcMnVnkN/2kL4AaUH3betYXQGKV5CCmN2CfgHUt5xROtsj91w780ltX6Wy7frgc6en8md3h2UQl6jDXAg== - dependencies: - varint "^5.0.0" - -multihashes@^0.4.15: - version "0.4.21" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" - integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== - dependencies: - buffer "^5.5.0" - multibase "^0.7.0" - varint "^5.0.0" - -multihashes@~0.4.15: - version "0.4.15" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.15.tgz#6dbc55f7f312c6782f5367c03c9783681589d8a6" - integrity sha512-G/Smj1GWqw1RQP3dRuRRPe3oyLqvPqUaEDIaoi7JF7Loxl4WAWvhJNk84oyDEodSucv0MmSW/ZT0RKUrsIFD3g== - dependencies: - bs58 "^4.0.1" - varint "^5.0.0" - -mustache@^2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.2.tgz#a6d4d9c3f91d13359ab889a812954f9230a3d0c5" - integrity sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ== - -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -nan@^2.12.1: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== - -nan@^2.14.0: - version "2.15.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" - integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== - -nano-json-stream-parser@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" - integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18= - -nanoassert@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/nanoassert/-/nanoassert-2.0.0.tgz#a05f86de6c7a51618038a620f88878ed1e490c09" - integrity sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA== - -nanoid@^3.1.18: - version "3.1.20" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" - integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -needle@^2.2.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" - integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== - -next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^2.2.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== - dependencies: - lower-case "^1.1.1" - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-addon-api@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" - integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== - -node-addon-api@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" - integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== - -node-cache@^4.1.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/node-cache/-/node-cache-4.2.1.tgz#efd8474dee4edec4138cdded580f5516500f7334" - integrity sha512-BOb67bWg2dTyax5kdef5WfU3X8xu4wPg+zHzkvls0Q/QpYycIFRLEEIdAx9Wma43DxG6Qzn4illdZoYseKWa4A== - dependencies: - clone "2.x" - lodash "^4.17.15" - -node-fetch@2.6.1, node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== - -node-fetch@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== - -node-gyp-build@^4.2.0, node-gyp-build@^4.2.2, node-gyp-build@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" - integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== - -node-html-parser@^1.3.1: - version "1.4.9" - resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-1.4.9.tgz#3c8f6cac46479fae5800725edb532e9ae8fd816c" - integrity sha512-UVcirFD1Bn0O+TSmloHeHqZZCxHjvtIeGdVdGMhyZ8/PWlEiZaZ5iJzR189yKZr8p0FXN58BUeC7RHRkf/KYGw== - dependencies: - he "1.2.0" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^5.4.2: - version "5.4.3" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" - integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== - dependencies: - growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" - shellwords "^0.1.1" - which "^1.3.0" - -node-object-hash@^1.2.0: - version "1.4.2" - resolved "https://registry.yarnpkg.com/node-object-hash/-/node-object-hash-1.4.2.tgz#385833d85b229902b75826224f6077be969a9e94" - integrity sha512-UdS4swXs85fCGWWf6t6DMGgpN/vnlKeSGEQ7hJcrs7PBFoxoKLmibc3QRb7fwiYsjdL7PX8iI/TMSlZ90dgHhQ== - -node-pre-gyp@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" - integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - -node-releases@^1.1.29: - version "1.1.29" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.29.tgz#86a57c6587a30ecd6726449e5d293466b0a0bb86" - integrity sha512-R5bDhzh6I+tpi/9i2hrrvGJ3yKPYzlVOORDkXhnZuwi5D3q1I5w4vYy24PJXTcLk9Q0kws9TO77T75bcK8/ysQ== - dependencies: - semver "^5.3.0" - -node-releases@^1.1.67: - version "1.1.67" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" - integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg== - -node-releases@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" - integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== - -node-res@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/node-res/-/node-res-5.0.1.tgz#ffaa462e206509d66d0ba28a4daf1f032daa6460" - integrity sha512-YOleO9c7MAqoHC+Ccu2vzvV1fL6Ku49gShq3PIMKWHRgrMSih3XcwL05NbLBi6oU2J471gTBfdpVVxwT6Pfhxg== - dependencies: - destroy "^1.0.4" - etag "^1.8.1" - mime-types "^2.1.19" - on-finished "^2.3.0" - vary "^1.1.2" - -nodemon@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.0.tgz#1c19aa3c668fcf5dddd1121555efb90e315d8edd" - integrity sha512-hs+lNmZc6pIamxCTDrOhMccqSsGjZENGZ/40etM/Zc3aoR4UTvwMH38XOnhD5pmU+Jn2u1OGOC5hZF2tjCHJMA== - dependencies: - chokidar "^3.2.2" - debug "^3.2.6" - ignore-by-default "^1.0.1" - minimatch "^3.0.4" - pstree.remy "^1.1.7" - semver "^5.7.1" - supports-color "^5.5.0" - touch "^3.1.0" - undefsafe "^2.0.2" - update-notifier "^2.5.0" - -nopt@^4.0.1, nopt@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= - dependencies: - abbrev "1" - osenv "^0.1.4" - -nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - -normalize-url@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - -normalize-url@^3.0.0, normalize-url@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - -normalize-url@^4.1.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== - -npm-bundled@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" - integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== - -npm-packlist@^1.1.6: - version "1.4.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" - integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.0.tgz#d644ec1bd0569187d2a52909971023a0a58e8438" - integrity sha512-8eyAOAH+bYXFPSnNnKr3J+yoybe8O87Is5rtAQ8qRczJz1ajcsjg8l2oZqP+Ppx15Ii3S1vUTjQN2h4YO2tWWQ== - dependencies: - path-key "^3.0.0" - -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -nth-check@^1.0.2, nth-check@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -number-to-bn@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" - integrity sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA= - dependencies: - bn.js "4.11.6" - strip-hex-prefix "1.0.0" - -numbro@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/numbro/-/numbro-2.3.2.tgz#4967c631b0ea99b17dd7f88cdd1eaa4ace4d4971" - integrity sha512-GHRdsyYs6ugRP0mipuBKTybzTPKdlhzKh271PG3hPwL1fg2DKwK/I2nCsh0gW3FfIKBzWIFoBnousQfiAkOuwQ== - dependencies: - bignumber.js "^8.1.1" - -nuxt-buefy@^0.4.10: - version "0.4.10" - resolved "https://registry.yarnpkg.com/nuxt-buefy/-/nuxt-buefy-0.4.10.tgz#7e091ebee5c7dd2bf9de46a3b7a36a3a4d0d4fba" - integrity sha512-Kk/QrNXUrIe3/iPecb0v1OmcZWfdihioEuPtqW4OUfaDDPrVUdfPPRKLMHNgy1OPxDEGSor/h3zMr23d9/0Nyw== - dependencies: - buefy "^0.9.10" - -nuxt-web3-provider@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/nuxt-web3-provider/-/nuxt-web3-provider-0.1.4.tgz#d1825fa6e59110119297fc9aa8d15844513734d2" - integrity sha512-00SKifix1es9BlyrI9GpHvKghJw7J4CQwe1jjkk/w7IGJHY2fGN1SxXzwAo6XSOE+KHT/4oWyQOQQI/c4a2qYg== - dependencies: - web3 "^1.5.2" - web3-utils "^1.3.0" - -nuxt@2.14.7: - version "2.14.7" - resolved "https://registry.yarnpkg.com/nuxt/-/nuxt-2.14.7.tgz#041bb3f5c659b1fec80042d974f68a0ed4e93aa9" - integrity sha512-0pmMDgSqyLacHJ0otGgfFC4cnMIiAfkK5JQ0TU4cHckwt1d0emgABqqWFuO9S45VI5sHHBFADDkbUnJt3JqbLg== - dependencies: - "@nuxt/builder" "2.14.7" - "@nuxt/cli" "2.14.7" - "@nuxt/components" "^1.1.0" - "@nuxt/core" "2.14.7" - "@nuxt/generator" "2.14.7" - "@nuxt/loading-screen" "^2.0.2" - "@nuxt/opencollective" "^0.3.2" - "@nuxt/static" "^1.0.0" - "@nuxt/telemetry" "^1.2.3" - "@nuxt/webpack" "2.14.7" - -"nwmatcher@>= 1.3.7 < 2.0.0": - version "1.4.4" - resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.4.tgz#2285631f34a95f0d0395cd900c96ed39b58f346e" - integrity sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ== - -nwsapi@^2.0.7: - version "2.1.4" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f" - integrity sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" - integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== - -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -object-inspect@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" - integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== - -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-keys@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" - integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" - integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.12.0" - function-bind "^1.1.1" - has "^1.0.3" - -oboe@2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.5.tgz#5554284c543a2266d7a38f17e073821fbde393cd" - integrity sha1-VVQoTFQ6ImbXo48X4HOCH73jk80= - dependencies: - http-https "^1.0.0" - -omggif@1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.7.tgz#59d2eecb0263de84635b3feb887c0c9973f1e49d" - integrity sha1-WdLuywJj3oRjWz/riHwMmXPx5J0= - -on-finished@^2.3.0, on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -on-headers@^1.0.2, on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - -onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== - dependencies: - mimic-fn "^2.1.0" - -opener@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -opener@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" - integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA== - -optimism@^0.16.0: - version "0.16.1" - resolved "https://registry.npmjs.org/optimism/-/optimism-0.16.1.tgz#7c8efc1f3179f18307b887e18c15c5b7133f6e7d" - integrity sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg== - dependencies: - "@wry/context" "^0.6.0" - "@wry/trie" "^0.3.0" - -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -optimize-css-assets-webpack-plugin@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz#85883c6528aaa02e30bbad9908c92926bb52dc90" - integrity sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A== - dependencies: - cssnano "^4.1.10" - last-call-webpack-plugin "^3.0.0" - -optionator@^0.8.1, optionator@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-locale@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -output-file-sync@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" - integrity sha1-0KM+7+YaIF+suQCS6CZZjVJFznY= - dependencies: - graceful-fs "^4.1.4" - mkdirp "^0.5.1" - object-assign "^4.1.0" - -p-cancelable@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" - integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== - -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" - integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= - dependencies: - p-reduce "^1.0.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-finally@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" - integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== - -p-is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" - integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== - dependencies: - p-try "^2.0.0" - -p-limit@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-map@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" - integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== - dependencies: - aggregate-error "^3.0.0" - -p-reduce@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" - integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= - -p-timeout@^1.1.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" - integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y= - dependencies: - p-finally "^1.0.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -package-json@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" - integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= - dependencies: - got "^6.7.1" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" - -pako@~1.0.5: - version "1.0.10" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" - integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= - dependencies: - no-case "^2.2.0" - -param-case@^3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0: - version "5.1.4" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" - integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw== - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-git-config@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-3.0.0.tgz#4a2de08c7b74a2555efa5ae94d40cd44302a6132" - integrity sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA== - dependencies: - git-config-path "^2.0.0" - ini "^1.3.5" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-headers@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" - integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-path@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.2.tgz#ef14f0d3d77bae8dd4bc66563a4c151aac9e65aa" - integrity sha512-HSqVz6iuXSiL8C1ku5Gl1Z5cwDd9Wo0q8CoffdAghP6bz8pJa1tcMC+m4N+z6VAS8QdksnIGq1TB6EgR4vPR6w== - dependencies: - is-ssh "^1.3.0" - protocols "^1.4.0" - -parse-url@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.2.tgz#856a3be1fcdf78dc93fc8b3791f169072d898b59" - integrity sha512-Czj+GIit4cdWtxo3ISZCvLiUjErSo0iI3wJ+q9Oi3QuMYTI6OZu+7cewMWZ+C1YAnKhYTk6/TLuhIgCypLthPA== - dependencies: - is-ssh "^1.3.0" - normalize-url "^3.3.0" - parse-path "^4.0.0" - protocols "^1.4.0" - -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== - -parse5@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" - integrity sha1-m387DeMr543CQBsXVzzK8Pb1nZQ= - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.1, path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.0.tgz#99a10d870a803bdd5ee6f0470e58dfcd2f9a54d3" - integrity sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg== - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -pbkdf2@^3.0.17: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -pbkdf2@^3.0.3: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4: - version "2.0.7" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" - integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== - -picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" - integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= - dependencies: - find-up "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== - -pngjs@^3.3.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" - integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-attribute-case-insensitive@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz#b2a721a0d279c2f9103a36331c88981526428cc7" - integrity sha512-L2YKB3vF4PetdTIthQVeT+7YiSzMoNMLLYxPXXppOOP7NoazEAy45sh2LvJ8leCQjfBcfkYQs8TtCcQjeZTp8A== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0" - -postcss-calc@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436" - integrity sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ== - dependencies: - css-unit-converter "^1.1.1" - postcss "^7.0.5" - postcss-selector-parser "^5.0.0-rc.4" - postcss-value-parser "^3.3.1" - -postcss-color-functional-notation@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" - integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-gray@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" - integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-color-hex-alpha@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" - integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== - dependencies: - postcss "^7.0.14" - postcss-values-parser "^2.0.1" - -postcss-color-mod-function@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" - integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-rebeccapurple@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" - integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-colormin@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" - integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== - dependencies: - browserslist "^4.0.0" - color "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-convert-values@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" - integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-custom-media@^7.0.8: - version "7.0.8" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" - integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== - dependencies: - postcss "^7.0.14" - -postcss-custom-properties@^8.0.11: - version "8.0.11" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" - integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== - dependencies: - postcss "^7.0.17" - postcss-values-parser "^2.0.1" - -postcss-custom-selectors@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" - integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-dir-pseudo-class@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" - integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-discard-comments@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" - integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== - dependencies: - postcss "^7.0.0" - -postcss-discard-duplicates@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" - integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== - dependencies: - postcss "^7.0.0" - -postcss-discard-empty@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" - integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== - dependencies: - postcss "^7.0.0" - -postcss-discard-overridden@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" - integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== - dependencies: - postcss "^7.0.0" - -postcss-double-position-gradients@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" - integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== - dependencies: - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-env-function@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" - integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-focus-visible@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" - integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== - dependencies: - postcss "^7.0.2" - -postcss-focus-within@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" - integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== - dependencies: - postcss "^7.0.2" - -postcss-font-variant@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz#71dd3c6c10a0d846c5eda07803439617bbbabacc" - integrity sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg== - dependencies: - postcss "^7.0.2" - -postcss-gap-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" - integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== - dependencies: - postcss "^7.0.2" - -postcss-image-set-function@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" - integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-import-resolver@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-import-resolver/-/postcss-import-resolver-2.0.0.tgz#95c61ac5489047bd93ff42a9cd405cfe9041e2c0" - integrity sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw== - dependencies: - enhanced-resolve "^4.1.1" - -postcss-import@^12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-12.0.1.tgz#cf8c7ab0b5ccab5649024536e565f841928b7153" - integrity sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw== - dependencies: - postcss "^7.0.1" - postcss-value-parser "^3.2.3" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-initial@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.1.tgz#99d319669a13d6c06ef8e70d852f68cb1b399b61" - integrity sha512-I2Sz83ZSHybMNh02xQDK609lZ1/QOyYeuizCjzEhlMgeV/HcDJapQiH4yTqLjZss0X6/6VvKFXUeObaHpJoINw== - dependencies: - lodash.template "^4.5.0" - postcss "^7.0.2" - -postcss-lab-function@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" - integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-load-config@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" - integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== - dependencies: - cosmiconfig "^5.0.0" - import-cwd "^2.0.0" - -postcss-loader@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" - integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== - dependencies: - loader-utils "^1.1.0" - postcss "^7.0.0" - postcss-load-config "^2.0.0" - schema-utils "^1.0.0" - -postcss-logical@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" - integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== - dependencies: - postcss "^7.0.2" - -postcss-media-minmax@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" - integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== - dependencies: - postcss "^7.0.2" - -postcss-merge-longhand@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" - integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== - dependencies: - css-color-names "0.0.4" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - stylehacks "^4.0.0" - -postcss-merge-rules@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" - integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - cssnano-util-same-parent "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - vendors "^1.0.0" - -postcss-minify-font-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" - integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-gradients@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" - integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - is-color-stop "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-params@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" - integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== - dependencies: - alphanum-sort "^1.0.0" - browserslist "^4.0.0" - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - uniqs "^2.0.0" - -postcss-minify-selectors@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" - integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== - dependencies: - alphanum-sort "^1.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" - -postcss-modules-local-by-default@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" - integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== - dependencies: - icss-utils "^4.1.1" - postcss "^7.0.16" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.0" - -postcss-modules-scope@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== - dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" - -postcss-nesting@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" - integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== - dependencies: - postcss "^7.0.2" - -postcss-normalize-charset@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" - integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== - dependencies: - postcss "^7.0.0" - -postcss-normalize-display-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" - integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-positions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" - integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== - dependencies: - cssnano-util-get-arguments "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-repeat-style@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" - integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-string@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" - integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== - dependencies: - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-timing-functions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" - integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-unicode@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" - integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-url@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" - integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-whitespace@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" - integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-ordered-values@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" - integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== - dependencies: - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-overflow-shorthand@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" - integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== - dependencies: - postcss "^7.0.2" - -postcss-page-break@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" - integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== - dependencies: - postcss "^7.0.2" - -postcss-place@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" - integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-preset-env@^6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" - integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== - dependencies: - autoprefixer "^9.6.1" - browserslist "^4.6.4" - caniuse-lite "^1.0.30000981" - css-blank-pseudo "^0.1.4" - css-has-pseudo "^0.10.0" - css-prefers-color-scheme "^3.1.1" - cssdb "^4.4.0" - postcss "^7.0.17" - postcss-attribute-case-insensitive "^4.0.1" - postcss-color-functional-notation "^2.0.1" - postcss-color-gray "^5.0.0" - postcss-color-hex-alpha "^5.0.3" - postcss-color-mod-function "^3.0.3" - postcss-color-rebeccapurple "^4.0.1" - postcss-custom-media "^7.0.8" - postcss-custom-properties "^8.0.11" - postcss-custom-selectors "^5.1.2" - postcss-dir-pseudo-class "^5.0.0" - postcss-double-position-gradients "^1.0.0" - postcss-env-function "^2.0.2" - postcss-focus-visible "^4.0.0" - postcss-focus-within "^3.0.0" - postcss-font-variant "^4.0.0" - postcss-gap-properties "^2.0.0" - postcss-image-set-function "^3.0.1" - postcss-initial "^3.0.0" - postcss-lab-function "^2.0.1" - postcss-logical "^3.0.0" - postcss-media-minmax "^4.0.0" - postcss-nesting "^7.0.0" - postcss-overflow-shorthand "^2.0.0" - postcss-page-break "^2.0.0" - postcss-place "^4.0.1" - postcss-pseudo-class-any-link "^6.0.0" - postcss-replace-overflow-wrap "^3.0.0" - postcss-selector-matches "^4.0.0" - postcss-selector-not "^4.0.0" - -postcss-pseudo-class-any-link@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" - integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-reduce-initial@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" - integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - -postcss-reduce-transforms@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" - integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== - dependencies: - cssnano-util-get-match "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-replace-overflow-wrap@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" - integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== - dependencies: - postcss "^7.0.2" - -postcss-selector-matches@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" - integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-not@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz#c68ff7ba96527499e832724a2674d65603b645c0" - integrity sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-parser@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" - integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= - dependencies: - dot-prop "^4.1.1" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^5.0.0, postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== - dependencies: - cssesc "^2.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" - integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== - dependencies: - cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-svgo@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" - integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== - dependencies: - is-svg "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" - -postcss-unique-selectors@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" - integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== - dependencies: - alphanum-sort "^1.0.0" - postcss "^7.0.0" - uniqs "^2.0.0" - -postcss-url@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/postcss-url/-/postcss-url-8.0.0.tgz#7b10059bd12929cdbb1971c60f61a0e5af86b4ca" - integrity sha512-E2cbOQ5aii2zNHh8F6fk1cxls7QVFZjLPSrqvmiza8OuXLzIpErij8BDS5Y3STPfJgpIMNCPEr8JlKQWEoozUw== - dependencies: - mime "^2.3.1" - minimatch "^3.0.4" - mkdirp "^0.5.0" - postcss "^7.0.2" - xxhashjs "^0.2.1" - -postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - -postcss-value-parser@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" - integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== - -postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== - -postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" - integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== - dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.18" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.18.tgz#4b9cda95ae6c069c67a4d933029eddd4838ac233" - integrity sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7.0.32: - version "7.0.35" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" - integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -preact@10.4.1: - version "10.4.1" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.4.1.tgz#9b3ba020547673a231c6cf16f0fbaef0e8863431" - integrity sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q== - -precond@0.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac" - integrity sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw= - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prepend-http@^1.0.0, prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@^1.18.2, prettier@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== - -pretty-bytes@^5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.4.1.tgz#cd89f79bbcef21e3d21eb0da68ffe93f803e884b" - integrity sha512-s1Iam6Gwz3JI5Hweaz4GoCD1WUNUIyzePFy5+Js2hjwGVt2Z79wNN+ZKOZ2vB6C+Xs6njyB84Z1IthQg8d9LxA== - -pretty-error@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" - integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== - dependencies: - lodash "^4.17.20" - renderkid "^2.0.4" - -pretty-format@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" - integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== - dependencies: - "@jest/types" "^24.9.0" - ansi-regex "^4.0.0" - ansi-styles "^3.2.0" - react-is "^16.8.4" - -pretty-time@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" - integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== - -printj@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/printj/-/printj-1.3.1.tgz#9af6b1d55647a1587ac44f4c1654a4b95b8e12cb" - integrity sha512-GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg== - -private@^0.1.6, private@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -promise-polyfill@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.1.0.tgz#30059da54d1358ce905ac581f287e184aedf995d" - integrity sha512-OzSf6gcCUQ01byV4BgwyUCswlaQQ6gzXc23aLQWhicvfX9kfsUiUhgt3CCQej8jDnl8/PhGF31JdHX2/MzF3WA== - -promise-to-callback@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/promise-to-callback/-/promise-to-callback-1.0.0.tgz#5d2a749010bfb67d963598fcd3960746a68feef7" - integrity sha1-XSp0kBC/tn2WNZj805YHRqaP7vc= - dependencies: - is-fn "^1.0.0" - set-immediate-shim "^1.0.1" - -prompts@^2.0.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz#f901dd2a2dfee080359c0e20059b24188d75ad35" - integrity sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.3" - -prop-types@^15.7.2: - version "15.7.2" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" - -proper-lockfile@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-4.1.1.tgz#284cf9db9e30a90e647afad69deb7cb06881262c" - integrity sha512-1w6rxXodisVpn7QYvLk706mzprPTAPCYAqxMvctmPN3ekuRk/kuGkGc82pangZiAt4R3lwSuUzheTTn0/Yb7Zg== - dependencies: - graceful-fs "^4.1.11" - retry "^0.12.0" - signal-exit "^3.0.2" - -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= - -protocols@^1.1.0, protocols@^1.4.0: - version "1.4.8" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" - integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg== - -proxy-addr@~2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" - integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.9.0" - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -psl@^1.1.24, psl@^1.1.28: - version "1.3.1" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.1.tgz#d5aa3873a35ec450bc7db9012ad5a7246f6fc8bd" - integrity sha512-2KLd5fKOdAfShtY2d/8XDWVRnmp3zp40Qt6ge2zBPFARLXOGUf2fHD5eg+TV/5oxBtQKVhjUaKFsAaE4HnwfSA== - -pstree.remy@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.7.tgz#c76963a28047ed61542dc361aa26ee55a7fa15f3" - integrity sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" - integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= - -punycode@^1.2.4, punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -push-dir@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/push-dir/-/push-dir-0.4.1.tgz#29481eacd9c2106bbb7941db6d37d122a071ecb4" - integrity sha1-KUgerNnCEGu7eUHbbTfRIqBx7LQ= - dependencies: - minimist "^1.2.0" - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -qrcode@1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.4.4.tgz#f0c43568a7e7510a55efc3b88d9602f71963ea83" - integrity sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q== - dependencies: - buffer "^5.4.3" - buffer-alloc "^1.2.0" - buffer-from "^1.1.1" - dijkstrajs "^1.0.1" - isarray "^2.0.1" - pngjs "^3.3.0" - yargs "^13.2.4" - -qs@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== - -qs@6.9.7: - version "6.9.7" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe" - integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -query-string@6.13.5: - version "6.13.5" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.5.tgz#99e95e2fb7021db90a6f373f990c0c814b3812d8" - integrity sha512-svk3xg9qHR39P3JlHuD7g3nRnyay5mHbrPctEBDUxUkHRifPHXJDhBUycdCC0NBjXoDf44Gb+IsOZL1Uwn8M/Q== - dependencies: - decode-uri-component "^0.2.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0, querystring@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -randomatic@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" - integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== - dependencies: - is-number "^4.0.0" - kind-of "^6.0.0" - math-random "^1.0.1" - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== - dependencies: - bytes "3.1.0" - http-errors "1.7.2" - iconv-lite "0.4.24" - unpipe "1.0.0" - -raw-body@2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c" - integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== - dependencies: - bytes "3.1.2" - http-errors "1.8.1" - iconv-lite "0.4.24" - unpipe "1.0.0" - -raw-loader@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-3.1.0.tgz#5e9d399a5a222cc0de18f42c3bc5e49677532b3f" - integrity sha512-lzUVMuJ06HF4rYveaz9Tv0WRlUMxJ0Y1hgSkkgg+50iEdaI0TthyEDe08KIHb0XsF6rn8WYTqPCaGTZg3sX+qA== - dependencies: - loader-utils "^1.1.0" - schema-utils "^2.0.1" - -rc9@^1.0.0, rc9@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/rc9/-/rc9-1.2.0.tgz#ef098181fdde714efc4c426383d6e46c14b1254a" - integrity sha512-/jknmhG0USFAx5uoKkAKhtG40sONds9RWhFHrP1UzJ3OvVfqFWOypSUpmsQD0fFwAV7YtzHhsn3QNasfAoxgcQ== - dependencies: - defu "^2.0.4" - destr "^1.0.0" - flat "^5.0.0" - -rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-is@^16.7.0, react-is@^16.8.1: - version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^16.8.4: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz#21ca9561399aad0ff1a7701c01683e8ca981edcb" - integrity sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw== - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha1-5mTvMRYRZsl1HNvo28+GtftY93Q= - dependencies: - pify "^2.3.0" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^1.0.33: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.2.9: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.1.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" - integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@~1.0.15: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readdirp@^2.0.0, readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" - integrity sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ== - dependencies: - picomatch "^2.0.4" - -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== - dependencies: - picomatch "^2.2.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -realpath-native@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" - integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== - dependencies: - util.promisify "^1.0.0" - -recursive-fs@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/recursive-fs/-/recursive-fs-2.1.0.tgz#1e20cf7836b292ed81208c4817550a58ad0e15ff" - integrity sha512-oed3YruYsD52Mi16s/07eYblQOLi5dTtxpIJNdfCEJ7S5v8dDgVcycar0pRWf4IBuPMIkoctC8RTqGJzIKMNAQ== - -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.2.1, regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== - -regenerator-runtime@^0.10.5: - version "0.10.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" - integrity sha1-M2w+/BIgrc7dosn6tntaeVWjNlg= - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== - -regenerator-transform@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" - integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q== - dependencies: - babel-runtime "^6.18.0" - babel-types "^6.19.0" - private "^0.1.6" - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== - dependencies: - is-equal-shallow "^0.1.3" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp-tree@~0.1.1: - version "0.1.16" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.16.tgz#0715feadb6f766aad7eac5ef4287d2c39acf2fc5" - integrity sha512-nXWhGJLTWLNdhWF1uqoXQgAOgv8mQGpgXTOk8BWp08YMOKCtn74VoyOJ+AXZ68Dj50Myd+msYs+aGRBzWJ5dJA== - -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - -regexpp@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e" - integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g== - -regexpu-core@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" - integrity sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA= - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -regexpu-core@^4.7.1: - version "4.7.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" - integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" - -registry-auth-token@^3.0.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" - integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A== - dependencies: - rc "^1.1.6" - safe-buffer "^5.0.1" - -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= - dependencies: - rc "^1.0.1" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= - -regjsgen@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= - dependencies: - jsesc "~0.5.0" - -regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== - dependencies: - jsesc "~0.5.0" - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -renderkid@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.4.tgz#d325e532afb28d3f8796ffee306be8ffd6fc864c" - integrity sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g== - dependencies: - css-select "^1.1.0" - dom-converter "^0.2" - htmlparser2 "^3.3.0" - lodash "^4.17.20" - strip-ansi "^3.0.0" - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.5.2, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - -request-promise-core@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" - integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag== - dependencies: - lodash "^4.17.11" - -request-promise-native@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59" - integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w== - dependencies: - request-promise-core "1.1.2" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.55.0, request@^2.79.0, request@^2.85.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -request@^2.87.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.0" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.4.3" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -reserved-words@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1" - integrity sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE= - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - -resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.5.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.14.2: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== - dependencies: - is-core-module "^2.8.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= - dependencies: - lowercase-keys "^1.0.0" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rgb-regex@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" - integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= - -rgba-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" - integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= - -rgbcolor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rgbcolor/-/rgbcolor-1.0.1.tgz#d6505ecdb304a6595da26fa4b43307306775945d" - integrity sha1-1lBezbMEplldom+ktDMHMGd1lF0= - -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rlp@^2.0.0, rlp@^2.2.3, rlp@^2.2.4: - version "2.2.7" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" - integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== - dependencies: - bn.js "^5.2.0" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= - dependencies: - is-promise "^2.1.0" - -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -run-parallel@^1.1.9: - version "1.1.10" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" - integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -rustbn.js@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/rustbn.js/-/rustbn.js-0.2.0.tgz#8082cb886e707155fd1cb6f23bd591ab8d55d0ca" - integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== - -rxjs@^6.4.0: - version "6.5.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" - integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== - dependencies: - tslib "^1.9.0" - -rxjs@^6.6.0: - version "6.6.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" - integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== - dependencies: - tslib "^1.9.0" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@^5.2.0, safe-buffer@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== - -safe-event-emitter@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz#5b692ef22329ed8f69fdce607e50ca734f6f20af" - integrity sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg== - dependencies: - events "^3.0.0" - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -safe-regex@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-2.1.1.tgz#f7128f00d056e2fe5c11e81a1324dd974aadced2" - integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== - dependencies: - regexp-tree "~0.1.1" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -sass-loader@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.0.tgz#e7b07a3e357f965e6b03dd45b016b0a9746af797" - integrity sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w== - dependencies: - clone-deep "^4.0.1" - loader-utils "^1.2.3" - neo-async "^2.6.1" - schema-utils "^2.1.0" - semver "^6.3.0" - -sass@^1.49.9: - version "1.49.9" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" - integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - -sax@^1.1.4, sax@^1.2.4, sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.0.0, schema-utils@^2.1.0, schema-utils@^2.2.0, schema-utils@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.5.0.tgz#8f254f618d402cc80257486213c8970edfd7c22f" - integrity sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+/qIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ== - dependencies: - ajv "^6.10.2" - ajv-keywords "^3.4.1" - -schema-utils@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.2.0.tgz#48a065ce219e0cacf4631473159037b2c1ae82da" - integrity sha512-5EwsCNhfFTZvUreQhx/4vVQpJ/lnCAkgoIHLhSpp4ZirE+4hzFvdJi0FMub6hxbFVBJYSpeVVmon+2e7uEGRrA== - dependencies: - ajv "^6.10.2" - ajv-keywords "^3.4.1" - -schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: - version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -schema-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" - integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== - dependencies: - "@types/json-schema" "^7.0.6" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -scrypt-js@3.0.1, scrypt-js@^3.0.0, scrypt-js@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - -secp256k1@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" - integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== - dependencies: - elliptic "^6.5.4" - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - -select@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" - integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= - -semaphore@>=1.0.1, semaphore@^1.0.3: - version "1.1.0" - resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa" - integrity sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA== - -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= - dependencies: - semver "^5.0.3" - -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" - integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.3.2, semver@^7.3.4: - version "7.3.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" - integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== - dependencies: - lru-cache "^6.0.0" - -semver@~5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== - -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.7.2" - mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - -send@0.17.2: - version "0.17.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" - integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "1.8.1" - mime "1.6.0" - ms "2.1.3" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - -serialize-javascript@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" - integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== - dependencies: - randombytes "^2.1.0" - -serve-placeholder@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/serve-placeholder/-/serve-placeholder-1.2.3.tgz#d2e778c6fedfe6e6ca48aff0b4627bbe2c4aa2ca" - integrity sha512-DC7t66WeIrlVzVMzickfHIn1zHu7eMsVNiH0nkD/wCrijFQdvgyfH2zc5lkFf79EApUgRhZntkpKjfgLkn2i/Q== - dependencies: - defu "^3.2.2" - -serve-static@1.14.1, serve-static@^1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - -serve-static@1.14.2: - version "1.14.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" - integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.2" - -server-destroy@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" - integrity sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0= - -servify@^0.1.12: - version "0.1.12" - resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" - integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== - dependencies: - body-parser "^1.16.0" - cors "^2.8.1" - express "^4.14.0" - request "^2.79.0" - xhr "^2.3.3" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4, setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.6.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -shvl@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shvl/-/shvl-2.0.0.tgz#55fd550b6e81bf7574f2f576b8b5c1ffae74e10f" - integrity sha512-WbpzSvI5XgVGJ3A4ySGe8hBxj0JgJktfnoLhhJmvITDdK21WPVWwgG8GPlYEh4xqdti3Ff7PJ5G0QrRAjNS0Ig== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -sigmund@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" - integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - -signal-exit@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^2.7.0: - version "2.8.2" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019" - integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== - dependencies: - decompress-response "^3.3.0" - once "^1.3.1" - simple-concat "^1.0.0" - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -sisteransi@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb" - integrity sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg== - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -"snarkjs@git+https://development.tornadocash.community/tornadocash/snarkjs.git#869181cfaf7526fe8972073d31655493a04326d5": - version "0.1.20" - resolved "git+https://development.tornadocash.community/tornadocash/snarkjs.git#869181cfaf7526fe8972073d31655493a04326d5" - dependencies: - big-integer "^1.6.43" - chai "^4.2.0" - escape-string-regexp "^1.0.5" - eslint "^5.16.0" - keccak "^2.0.0" - yargs "^12.0.5" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -"source-map-js@>=0.6.2 <2.0.0": - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== - dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.4.15: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== - dependencies: - source-map "^0.5.6" - -source-map-support@^0.5.6, source-map-support@~0.5.12: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - integrity sha1-dc449SvwczxafwwRjYEzSiu19BI= - -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== - -spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - -split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== - dependencies: - figgy-pudding "^3.5.1" - -ssri@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d" - integrity sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g== - dependencies: - figgy-pudding "^3.5.1" - minipass "^3.1.1" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -stack-trace@0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= - -stack-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== - -stackblur-canvas@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/stackblur-canvas/-/stackblur-canvas-2.2.0.tgz#cacc5924a0744b3e183eb2e6c1d8559c1a17c26e" - integrity sha512-5Gf8dtlf8k6NbLzuly2NkGrkS/Ahh+I5VUjO7TnFizdJtgpfpLLEdQlLe9umbcnZlitU84kfYjXE67xlSXfhfQ== - -stackblur-canvas@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/stackblur-canvas/-/stackblur-canvas-1.4.1.tgz#849aa6f94b272ff26f6471fa4130ed1f7e47955b" - integrity sha1-hJqm+UsnL/JvZHH6QTDtH35HlVs= - -stackframe@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.4.tgz#357b24a992f9427cba6b545d96a14ed2cbca187b" - integrity sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw== - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -std-env@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-2.2.1.tgz#2ffa0fdc9e2263e0004c1211966e960948a40f6b" - integrity sha512-IjYQUinA3lg5re/YMlwlfhqNRTzMZMqE+pezevdcTaHceqx8ngEi1alX9nNCk9Sc81fy1fLDeQoaCzeiW1yBOQ== - dependencies: - ci-info "^1.6.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= - -string-length@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" - integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= - dependencies: - astral-regex "^1.0.0" - strip-ansi "^4.0.0" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.0.0, string-width@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff" - integrity sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^5.2.0" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimleft@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.0.0.tgz#68b6aa8e162c6a80e76e3a8a0c2e747186e271ff" - integrity sha1-aLaqjhYsaoDnbjqKDC50cYbicf8= - dependencies: - define-properties "^1.1.2" - function-bind "^1.0.2" - -string.prototype.trimright@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.0.0.tgz#ab4a56d802a01fbe7293e11e84f24dc8164661dd" - integrity sha1-q0pW2AKgH75yk+EehPJNyBZGYd0= - dependencies: - define-properties "^1.1.2" - function-bind "^1.0.2" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-hex-prefix@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" - integrity sha1-DF8VX+8RUTczd96du1iNoFUA428= - dependencies: - is-hex-prefixed "1.0.0" - -strip-json-comments@^2.0.0, strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -strip-json-comments@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== - -style-resources-loader@^1.3.3: - version "1.4.1" - resolved "https://registry.yarnpkg.com/style-resources-loader/-/style-resources-loader-1.4.1.tgz#87f520e6c8120a71e756726c1c53a78c544ca7db" - integrity sha512-UaAoQXq20relw6B633z4QZDxDyW7gevTt1e0y3MZtzdZfnvB90UL658czAgNc609Y7Kn5ErdthK9bSVhnykBUA== - dependencies: - glob "^7.1.6" - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -stylehacks@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" - integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^5.3.0, supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svg-tags@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" - integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= - -svgo@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz#bae51ba95ded9a33a36b7c46ce9c359ae9154313" - integrity sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.33" - csso "^3.5.1" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - -swarm-js@^0.1.40: - version "0.1.40" - resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.40.tgz#b1bc7b6dcc76061f6c772203e004c11997e06b99" - integrity sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA== - dependencies: - bluebird "^3.5.0" - buffer "^5.0.5" - eth-lib "^0.1.26" - fs-extra "^4.0.2" - got "^7.1.0" - mime-types "^2.1.16" - mkdirp-promise "^5.0.1" - mock-fs "^4.1.0" - setimmediate "^1.0.5" - tar "^4.0.2" - xhr-request "^1.0.1" - -symbol-observable@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" - integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== - -"symbol-tree@>= 3.1.0 < 4.0.0", symbol-tree@^3.2.2: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" - -tapable@^1.0.0, tapable@^1.0.0-beta.5, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tar@^4: - version "4.4.10" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" - integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.3.5" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" - -tar@^4.0.2: - version "4.4.19" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" - integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== - dependencies: - chownr "^1.1.4" - fs-minipass "^1.2.7" - minipass "^2.9.0" - minizlib "^1.3.3" - mkdirp "^0.5.5" - safe-buffer "^5.2.1" - yallist "^3.1.1" - -term-size@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" - integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= - dependencies: - execa "^0.7.0" - -term-size@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.1.0.tgz#3aec444c07a7cf936e157c1dc224b590c3c7eef2" - integrity sha512-I42EWhJ+2aeNQawGx1VtpO0DFI9YcfuvAMNIdKyf/6sRbHJ4P+ZQ/zIT87tE+ln1ymAGcCJds4dolfSAS0AcNg== - -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser-webpack-plugin@^2.3.5: - version "2.3.8" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz#894764a19b0743f2f704e7c2a848c5283a696724" - integrity sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w== - dependencies: - cacache "^13.0.1" - find-cache-dir "^3.3.1" - jest-worker "^25.4.0" - p-limit "^2.3.0" - schema-utils "^2.6.6" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.6.12" - webpack-sources "^1.4.3" - -terser@^4.1.2: - version "4.2.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.2.1.tgz#1052cfe17576c66e7bc70fcc7119f22b155bdac1" - integrity sha512-cGbc5utAcX4a9+2GGVX4DsenG6v0x3glnDi5hx8816X1McEAwPlPgRtXPJzSBsbpILxZ8MQMT0KvArLuE0HP5A== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -terser@^4.6.12, terser@^4.6.3: - version "4.8.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -test-exclude@^5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" - integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== - dependencies: - glob "^7.1.3" - minimatch "^3.0.4" - read-pkg-up "^4.0.0" - require-main-filename "^2.0.0" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -thread-loader@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/thread-loader/-/thread-loader-2.1.3.tgz#cbd2c139fc2b2de6e9d28f62286ab770c1acbdda" - integrity sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg== - dependencies: - loader-runner "^2.3.1" - loader-utils "^1.1.0" - neo-async "^2.6.0" - -throat@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -time-fix-plugin@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/time-fix-plugin/-/time-fix-plugin-2.0.7.tgz#4ba70ae2e40cedf34dabe505eda7b71b1b244f50" - integrity sha512-uVFet1LQToeUX0rTcSiYVYVoGuBpc8gP/2jnlUzuHMHe+gux6XLsNzxLUweabMwiUj5ejhoIMsUI55nVSEa/Vw== - -timed-out@^4.0.0, timed-out@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= - -timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== - dependencies: - setimmediate "^1.0.4" - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= - -tiny-emitter@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" - integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -touch@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" - integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== - dependencies: - nopt "~1.0.10" - -tough-cookie@^2.2.0, tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== - dependencies: - psl "^1.1.24" - punycode "^1.4.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= - dependencies: - punycode "^2.1.0" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= - -tryer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - -ts-invariant@^0.7.0: - version "0.7.5" - resolved "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.7.5.tgz#f9658719f9a7737b117d09820d952aacf6263f9c" - integrity sha512-qfVyqTYWEqADMtncLqwpUdMjMSXnsqOeqGtj1LeJNFDjz8oqZ1YxLEp29YCOq65z0LgEiERqQ8ThVjnfibJNpg== - dependencies: - tslib "^2.1.0" - -tsconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" - integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== - dependencies: - "@types/strip-bom" "^3.0.0" - "@types/strip-json-comments" "0.0.30" - strip-bom "^3.0.0" - strip-json-comments "^2.0.0" - -tslib@^1.10.0, tslib@^1.11.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^1.8.1, tslib@^1.9.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" - integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== - -tslib@^2.0.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tslib@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" - integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== - -tslib@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" - integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== - -tsutils@^3.17.1: - version "3.17.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" - integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== - dependencies: - tslib "^1.8.1" - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl-util@^0.15.0: - version "0.15.1" - resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" - integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@^4.0.0, type-detect@^4.0.5: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type-is@~1.6.17, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/type/-/type-2.6.0.tgz#3ca6099af5981d36ca86b78442973694278a219f" - integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== - -typedarray-to-buffer@3.1.5, typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -ua-parser-js@^0.7.22: - version "0.7.23" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.23.tgz#704d67f951e13195fbcd3d78818577f5bc1d547b" - integrity sha512-m4hvMLxgGHXG3O3fQVAyyAQpZzDOvwnhOTjYz5Xmr7r/+LpkNy3vJXdVRWgd1TkAb7NGROZuSy96CrlNVjA7KA== - -uglify-js@^3.1.4, uglify-js@^3.5.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" - integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== - dependencies: - commander "~2.20.0" - source-map "~0.6.1" - -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" - integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -undefsafe@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.2.tgz#225f6b9e0337663e0d8e7cfd686fc2836ccace76" - integrity sha1-Il9rngM3Zj4Njnz9aG/Cg2zKznY= - dependencies: - debug "^2.2.0" - -unfetch@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" - integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== - -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" - integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -unique-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" - integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= - dependencies: - crypto-random-string "^1.0.0" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -unzip-response@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" - integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -upath@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" - integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== - -update-notifier@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" - integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== - dependencies: - boxen "^1.2.1" - chalk "^2.0.1" - configstore "^3.0.0" - import-lazy "^2.1.0" - is-ci "^1.0.10" - is-installed-globally "^0.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" - -upper-case@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= - -uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-loader@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" - integrity sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog== - dependencies: - loader-utils "^1.2.3" - mime "^2.4.4" - schema-utils "^2.5.0" - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= - dependencies: - prepend-http "^1.0.1" - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= - dependencies: - prepend-http "^2.0.0" - -url-set-query@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" - integrity sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk= - -url-to-options@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" - integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -user-home@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" - integrity sha1-K1viOjK2Onyd640PKNSFcko98ZA= - -utf-8-validate@^5.0.2: - version "5.0.9" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.9.tgz#ba16a822fbeedff1a58918f2a6a6b36387493ea3" - integrity sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q== - dependencies: - node-gyp-build "^4.3.0" - -utf8@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" - integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util.promisify@1.0.0, util.promisify@^1.0.0, util.promisify@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -util@^0.12.0: - version "0.12.4" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" - integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - safe-buffer "^5.1.2" - which-typed-array "^1.1.2" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - -uuid@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" - integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== - -v-idle@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/v-idle/-/v-idle-0.2.0.tgz#340e67f44f4e3d1edf7804b9e71b2e65cb88f85e" - integrity sha512-i/bVh29rJHdgI7Ek6o4EwfOZqOBJ6oThgQGOj305X2wSl+IGxAjL6+ucKa2E9voPbZvtwQICKrnRjy7UmBYByg== - -v8-compile-cache@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" - integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== - -v8flags@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" - integrity sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ= - dependencies: - user-home "^1.1.1" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -varint@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.0.tgz#d826b89f7490732fabc0c0ed693ed475dcb29ebf" - integrity sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8= - -vary@^1, vary@^1.1.2, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -vendors@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0" - integrity sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vm-browserify@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" - integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw== - -vue-client-only@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/vue-client-only/-/vue-client-only-2.0.0.tgz#ddad8d675ee02c761a14229f0e440e219de1da1c" - integrity sha512-arhk1wtWAfLsJyxGMoEYhoBowM87/i6HLSG2LH/03Yog6i2d9JEN1peMP0Ceis+/n9DxdenGYZZTxbPPJyHciA== - -vue-clipboard2@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/vue-clipboard2/-/vue-clipboard2-0.3.1.tgz#6e551fb7bd384889b28b0da3b12289ed6bca4894" - integrity sha512-H5S/agEDj0kXjUb5GP2c0hCzIXWRBygaWLN3NEFsaI9I3uWin778SFEMt8QRXiPG+7anyjqWiw2lqcxWUSfkYg== - dependencies: - clipboard "^2.0.0" - -vue-eslint-parser@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-5.0.0.tgz#00f4e4da94ec974b821a26ff0ed0f7a78402b8a1" - integrity sha512-JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g== - dependencies: - debug "^4.1.0" - eslint-scope "^4.0.0" - eslint-visitor-keys "^1.0.0" - espree "^4.1.0" - esquery "^1.0.1" - lodash "^4.17.11" - -vue-eslint-parser@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-6.0.5.tgz#c1c067c2755748e28f3872cd42e8c1c4c1a8059f" - integrity sha512-Bvjlx7rH1Ulvus56KHeLXOjEi3JMOYTa1GAqZr9lBQhd8weK8mV7U7V2l85yokBZEWHJQjLn6X3nosY8TzkOKg== - dependencies: - debug "^4.1.1" - eslint-scope "^4.0.0" - eslint-visitor-keys "^1.0.0" - espree "^5.0.0" - esquery "^1.0.1" - lodash "^4.17.11" - -vue-eslint-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.0.0.tgz#a4ed2669f87179dedd06afdd8736acbb3a3864d6" - integrity sha512-yR0dLxsTT7JfD2YQo9BhnQ6bUTLsZouuzt9SKRP7XNaZJV459gvlsJo4vT2nhZ/2dH9j3c53bIx9dnqU2prM9g== - dependencies: - debug "^4.1.1" - eslint-scope "^5.0.0" - eslint-visitor-keys "^1.1.0" - espree "^6.1.2" - esquery "^1.0.1" - lodash "^4.17.15" - -vue-hot-reload-api@^2.3.0: - version "2.3.3" - resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.3.tgz#2756f46cb3258054c5f4723de8ae7e87302a1ccf" - integrity sha512-KmvZVtmM26BQOMK1rwUZsrqxEGeKiYSZGA7SNWE6uExx8UX/cj9hq2MRV/wWC3Cq6AoeDGk57rL9YMFRel/q+g== - -vue-i18n@^8.15.4: - version "8.15.4" - resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.15.4.tgz#1bfba2b6a6cb6de7b44f0f0aa89ad775fc902bc2" - integrity sha512-brhbJRB/gyWlroAhQZU0TNTQzNonbkHmzH4HlJzs7c+DsVIhB5OlRHg3zAl+85kkT8mpxzvBE6Bm1slqnRRmsg== - -vue-jest@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/vue-jest/-/vue-jest-3.0.5.tgz#d6f124b542dcbff207bf9296c19413f4c40b70c9" - integrity sha512-xWDxde91pDqYBGDlODENZ3ezPgw+IQFoVDtf+5Awlg466w3KvMSqWzs8PxcTeTr+wmAHi0j+a+Lm3R7aUJa1jA== - dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.26.0" - chalk "^2.1.0" - extract-from-css "^0.4.4" - find-babel-config "^1.1.0" - js-beautify "^1.6.14" - node-cache "^4.1.1" - object-assign "^4.1.1" - source-map "^0.5.6" - tsconfig "^7.0.0" - vue-template-es2015-compiler "^1.6.0" - -vue-loader@^15.9.3: - version "15.9.5" - resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.5.tgz#7a960dc420a3439deaacdda038fdcdbf7c432706" - integrity sha512-oeMOs2b5o5gRqkxfds10bCx6JeXYTwivRgbb8hzOrcThD2z1+GqEKE3EX9A2SGbsYDf4rXwRg6D5n1w0jO5SwA== - dependencies: - "@vue/component-compiler-utils" "^3.1.0" - hash-sum "^1.0.2" - loader-utils "^1.1.0" - vue-hot-reload-api "^2.3.0" - vue-style-loader "^4.1.0" - -vue-meta@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/vue-meta/-/vue-meta-2.4.0.tgz#a419fb4b4135ce965dab32ec641d1989c2ee4845" - integrity sha512-XEeZUmlVeODclAjCNpWDnjgw+t3WA6gdzs6ENoIAgwO1J1d5p1tezDhtteLUFwcaQaTtayRrsx7GL6oXp/m2Jw== - dependencies: - deepmerge "^4.2.2" - -vue-no-ssr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/vue-no-ssr/-/vue-no-ssr-1.1.1.tgz#875f3be6fb0ae41568a837f3ac1a80eaa137b998" - integrity sha512-ZMjqRpWabMPqPc7gIrG0Nw6vRf1+itwf0Itft7LbMXs2g3Zs/NFmevjZGN1x7K3Q95GmIjWbQZTVerxiBxI+0g== - -vue-router@^3.4.6: - version "3.4.9" - resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.4.9.tgz#c016f42030ae2932f14e4748b39a1d9a0e250e66" - integrity sha512-CGAKWN44RqXW06oC+u4mPgHLQQi2t6vLD/JbGRDAXm0YpMv0bgpKuU5bBd7AvMgfTz9kXVRIWKHqRwGEb8xFkA== - -vue-server-renderer@^2.6.12: - version "2.6.12" - resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.6.12.tgz#a8cb9c49439ef205293cb41c35d0d2b0541653a5" - integrity sha512-3LODaOsnQx7iMFTBLjki8xSyOxhCtbZ+nQie0wWY4iOVeEtTg1a3YQAjd82WvKxrWHHTshjvLb7OXMc2/dYuxw== - dependencies: - chalk "^1.1.3" - hash-sum "^1.0.2" - he "^1.1.0" - lodash.template "^4.5.0" - lodash.uniq "^4.5.0" - resolve "^1.2.0" - serialize-javascript "^3.1.0" - source-map "0.5.6" - -vue-style-loader@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.2.tgz#dedf349806f25ceb4e64f3ad7c0a44fba735fcf8" - integrity sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ== - dependencies: - hash-sum "^1.0.2" - loader-utils "^1.0.2" - -vue-template-compiler@^2.6.12: - version "2.6.12" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz#947ed7196744c8a5285ebe1233fe960437fcc57e" - integrity sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg== - dependencies: - de-indent "^1.0.2" - he "^1.1.0" - -vue-template-es2015-compiler@^1.6.0, vue-template-es2015-compiler@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" - integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== - -vue@^2.6.12: - version "2.6.12" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.12.tgz#f5ebd4fa6bd2869403e29a896aed4904456c9123" - integrity sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg== - -vuex-persistedstate@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/vuex-persistedstate/-/vuex-persistedstate-2.7.0.tgz#f60aae4e1163bf293696a625526dbffaa42e429e" - integrity sha512-mpko65DUMBY4mF4sSGsgrqjE7fwO373LFZeuNrC55glRuBBAK4dkgzjr4j4Bij7WtMoKuo2t2w0NGenjauISaQ== - dependencies: - deepmerge "^4.2.2" - shvl "^2.0.0" - -vuex@^3.5.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.6.0.tgz#95efa56a58f7607c135b053350833a09e01aa813" - integrity sha512-W74OO2vCJPs9/YjNjW8lLbj+jzT24waTo2KShI8jLvJW8OaIkgb3wuAMA7D+ZiUxDOx3ubwSZTaJBip9G8a3aQ== - -w3c-hr-time@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" - integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= - dependencies: - browser-process-hrtime "^0.1.2" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -wasmbuilder@^0.0.12: - version "0.0.12" - resolved "https://registry.yarnpkg.com/wasmbuilder/-/wasmbuilder-0.0.12.tgz#a60cb25d6d11f314fe5ab3f4ee041ccb493cb78a" - integrity sha512-dTMpBgrnLOXrN58i2zakn2ScynsBhq9LfyQIsPz4CyxRF9k1GAORniuqn3xmE9NnI1l7g3iiVCkoB2Cl0/oG8w== - dependencies: - big-integer "^1.6.48" - -wasmcurves@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/wasmcurves/-/wasmcurves-0.1.0.tgz#0bc3f9d465367fcd8243395cb0094a05577e5609" - integrity sha512-kIlcgbVUAv2uQ6lGsepGz/m5V40+Z6rvTBkqCYn3Y2+OcXst+UaP4filJYLh/xDxjJl62FFjZZeAnpeli1Y5/Q== - dependencies: - big-integer "^1.6.42" - blakejs "^1.1.0" - -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" - integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.7.4: - version "1.7.5" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" - integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== - dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" - -web-worker@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da" - integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA== - -web3-bzz@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.5.2.tgz#a04feaa19462cff6d5a8c87dad1aca4619d9dfc8" - integrity sha512-W/sPCdA+XQ9duUYKHAwf/g69cbbV8gTCRsa1MpZwU7spXECiyJ2EvD/QzAZ+UpJk3GELXFF/fUByeZ3VRQKF2g== - dependencies: - "@types/node" "^12.12.6" - got "9.6.0" - swarm-js "^0.1.40" - -web3-bzz@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.7.1.tgz#ea1e7d27050eca089bc5d71b7f7688d20b68a25d" - integrity sha512-sVeUSINx4a4pfdnT+3ahdRdpDPvZDf4ZT/eBF5XtqGWq1mhGTl8XaQAk15zafKVm6Onq28vN8abgB/l+TrG8kA== - dependencies: - "@types/node" "^12.12.6" - got "9.6.0" - swarm-js "^0.1.40" - -web3-core-helpers@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.5.2.tgz#b6bd5071ca099ba3f92dfafb552eed2b70af2795" - integrity sha512-U7LJoeUdQ3aY9t5gU7t/1XpcApsWm+4AcW5qKl/44ZxD44w0Dmsq1c5zJm3GuLr/a9MwQfXK4lpmvxVQWHHQRg== - dependencies: - web3-eth-iban "1.5.2" - web3-utils "1.5.2" - -web3-core-helpers@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.7.1.tgz#6dc34eff6ad31149db6c7cc2babbf574a09970cd" - integrity sha512-xn7Sx+s4CyukOJdlW8bBBDnUCWndr+OCJAlUe/dN2wXiyaGRiCWRhuQZrFjbxLeBt1fYFH7uWyYHhYU6muOHgw== - dependencies: - web3-eth-iban "1.7.1" - web3-utils "1.7.1" - -web3-core-method@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.5.2.tgz#d1d602657be1000a29d11e3ca3bf7bc778dea9a5" - integrity sha512-/mC5t9UjjJoQmJJqO5nWK41YHo+tMzFaT7Tp7jDCQsBkinE68KsUJkt0jzygpheW84Zra0DVp6q19gf96+cugg== - dependencies: - "@ethereumjs/common" "^2.4.0" - "@ethersproject/transactions" "^5.0.0-beta.135" - web3-core-helpers "1.5.2" - web3-core-promievent "1.5.2" - web3-core-subscriptions "1.5.2" - web3-utils "1.5.2" - -web3-core-method@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.7.1.tgz#912c87d0f107d3f823932cf8a716852e3250e557" - integrity sha512-383wu5FMcEphBFl5jCjk502JnEg3ugHj7MQrsX7DY76pg5N5/dEzxeEMIJFCN6kr5Iq32NINOG3VuJIyjxpsEg== - dependencies: - "@ethersproject/transactions" "^5.0.0-beta.135" - web3-core-helpers "1.7.1" - web3-core-promievent "1.7.1" - web3-core-subscriptions "1.7.1" - web3-utils "1.7.1" - -web3-core-promievent@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.5.2.tgz#2dc9fe0e5bbeb7c360fc1aac5f12b32d9949a59b" - integrity sha512-5DacbJXe98ozSor7JlkTNCy6G8945VunRRkPxMk98rUrg60ECVEM/vuefk1atACzjQsKx6tmLZuHxbJQ64TQeQ== - dependencies: - eventemitter3 "4.0.4" - -web3-core-promievent@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.7.1.tgz#7f78ec100a696954d0c882dac619fec28b2efc96" - integrity sha512-Vd+CVnpPejrnevIdxhCkzMEywqgVbhHk/AmXXceYpmwA6sX41c5a65TqXv1i3FWRJAz/dW7oKz9NAzRIBAO/kA== - dependencies: - eventemitter3 "4.0.4" - -web3-core-requestmanager@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.5.2.tgz#43ccc00779394c941b28e6e07e217350fd1ded71" - integrity sha512-oRVW9OrAsXN2JIZt68OEg1Mb1A9a/L3JAGMv15zLEFEnJEGw0KQsGK1ET2kvZBzvpFd5G0EVkYCnx7WDe4HSNw== - dependencies: - util "^0.12.0" - web3-core-helpers "1.5.2" - web3-providers-http "1.5.2" - web3-providers-ipc "1.5.2" - web3-providers-ws "1.5.2" - -web3-core-requestmanager@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.7.1.tgz#5cd7507276ca449538fe11cb4f363de8507502e5" - integrity sha512-/EHVTiMShpZKiq0Jka0Vgguxi3vxq1DAHKxg42miqHdUsz4/cDWay2wGALDR2x3ofDB9kqp7pb66HsvQImQeag== - dependencies: - util "^0.12.0" - web3-core-helpers "1.7.1" - web3-providers-http "1.7.1" - web3-providers-ipc "1.7.1" - web3-providers-ws "1.7.1" - -web3-core-subscriptions@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.5.2.tgz#8eaebde44f81fc13c45b555c4422fe79393da9cf" - integrity sha512-hapI4rKFk22yurtIv0BYvkraHsM7epA4iI8Np+HuH6P9DD0zj/llaps6TXLM9HyacLBRwmOLZmr+pHBsPopUnQ== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.5.2" - -web3-core-subscriptions@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.7.1.tgz#f7c834ee3544f4a5641a989304f61fde6a523e0b" - integrity sha512-NZBsvSe4J+Wt16xCf4KEtBbxA9TOwSVr8KWfUQ0tC2KMdDYdzNswl0Q9P58xaVuNlJ3/BH+uDFZJJ5E61BSA1Q== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.7.1" - -web3-core@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.5.2.tgz#ca2b9b1ed3cf84d48b31c9bb91f7628f97cfdcd5" - integrity sha512-sebMpQbg3kbh3vHUbHrlKGKOxDWqjgt8KatmTBsTAWj/HwWYVDzeX+2Q84+swNYsm2DrTBVFlqTErFUwPBvyaA== - dependencies: - "@types/bn.js" "^4.11.5" - "@types/node" "^12.12.6" - bignumber.js "^9.0.0" - web3-core-helpers "1.5.2" - web3-core-method "1.5.2" - web3-core-requestmanager "1.5.2" - web3-utils "1.5.2" - -web3-core@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.7.1.tgz#ef9b7f03909387b9ab783f34cdc5ebcb50248368" - integrity sha512-HOyDPj+4cNyeNPwgSeUkhtS0F+Pxc2obcm4oRYPW5ku6jnTO34pjaij0us+zoY3QEusR8FfAKVK1kFPZnS7Dzw== - dependencies: - "@types/bn.js" "^4.11.5" - "@types/node" "^12.12.6" - bignumber.js "^9.0.0" - web3-core-helpers "1.7.1" - web3-core-method "1.7.1" - web3-core-requestmanager "1.7.1" - web3-utils "1.7.1" - -web3-eth-abi@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.5.2.tgz#b627eada967f39ae4657ddd61b693cb00d55cb29" - integrity sha512-P3bJbDR5wib4kWGfVeBKBVi27T+AiHy4EJxYM6SMNbpm3DboLDdisu9YBd6INMs8rzxgnprBbGmmyn4jKIDKAA== - dependencies: - "@ethersproject/abi" "5.0.7" - web3-utils "1.5.2" - -web3-eth-abi@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.7.1.tgz#6632003220a4defee4de8215dc703e43147382ea" - integrity sha512-8BVBOoFX1oheXk+t+uERBibDaVZ5dxdcefpbFTWcBs7cdm0tP8CD1ZTCLi5Xo+1bolVHNH2dMSf/nEAssq5pUA== - dependencies: - "@ethersproject/abi" "5.0.7" - web3-utils "1.7.1" - -web3-eth-accounts@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.5.2.tgz#cf506c21037fa497fe42f1f055980ce4acf83731" - integrity sha512-F8mtzxgEhxfLc66vPi0Gqd6mpscvvk7Ua575bsJ1p9J2X/VtuKgDgpWcU4e4LKeROQ+ouCpAG9//0j9jQuij3A== - dependencies: - "@ethereumjs/common" "^2.3.0" - "@ethereumjs/tx" "^3.2.1" - crypto-browserify "3.12.0" - eth-lib "0.2.8" - ethereumjs-util "^7.0.10" - scrypt-js "^3.0.1" - uuid "3.3.2" - web3-core "1.5.2" - web3-core-helpers "1.5.2" - web3-core-method "1.5.2" - web3-utils "1.5.2" - -web3-eth-accounts@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.7.1.tgz#f938060d08f4b641bebe743809b0018fd4e4ba51" - integrity sha512-3xGQ2bkTQc7LFoqGWxp5cQDrKndlX05s7m0rAFVoyZZODMqrdSGjMPMqmWqHzJRUswNEMc+oelqSnGBubqhguQ== - dependencies: - "@ethereumjs/common" "^2.5.0" - "@ethereumjs/tx" "^3.3.2" - crypto-browserify "3.12.0" - eth-lib "0.2.8" - ethereumjs-util "^7.0.10" - scrypt-js "^3.0.1" - uuid "3.3.2" - web3-core "1.7.1" - web3-core-helpers "1.7.1" - web3-core-method "1.7.1" - web3-utils "1.7.1" - -web3-eth-contract@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.5.2.tgz#ffbd799fd01e36596aaadefba323e24a98a23c2f" - integrity sha512-4B8X/IPFxZCTmtENpdWXtyw5fskf2muyc3Jm5brBQRb4H3lVh1/ZyQy7vOIkdphyaXu4m8hBLHzeyKkd37mOUg== - dependencies: - "@types/bn.js" "^4.11.5" - web3-core "1.5.2" - web3-core-helpers "1.5.2" - web3-core-method "1.5.2" - web3-core-promievent "1.5.2" - web3-core-subscriptions "1.5.2" - web3-eth-abi "1.5.2" - web3-utils "1.5.2" - -web3-eth-contract@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.7.1.tgz#3f5147e5f1441ae388c985ba95023d02503378ae" - integrity sha512-HpnbkPYkVK3lOyos2SaUjCleKfbF0SP3yjw7l551rAAi5sIz/vwlEzdPWd0IHL7ouxXbO0tDn7jzWBRcD3sTbA== - dependencies: - "@types/bn.js" "^4.11.5" - web3-core "1.7.1" - web3-core-helpers "1.7.1" - web3-core-method "1.7.1" - web3-core-promievent "1.7.1" - web3-core-subscriptions "1.7.1" - web3-eth-abi "1.7.1" - web3-utils "1.7.1" - -web3-eth-ens@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.5.2.tgz#ecb3708f0e8e2e847e9d89e8428da12c30bba6a4" - integrity sha512-/UrLL42ZOCYge+BpFBdzG8ICugaRS4f6X7PxJKO+zAt+TwNgBpjuWfW/ZYNcuqJun/ZyfcTuj03TXqA1RlNhZQ== - dependencies: - content-hash "^2.5.2" - eth-ens-namehash "2.0.8" - web3-core "1.5.2" - web3-core-helpers "1.5.2" - web3-core-promievent "1.5.2" - web3-eth-abi "1.5.2" - web3-eth-contract "1.5.2" - web3-utils "1.5.2" - -web3-eth-ens@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.7.1.tgz#18ddb22e14e50108f9515c9d17f14560d69ff397" - integrity sha512-DVCF76i9wM93DrPQwLrYiCw/UzxFuofBsuxTVugrnbm0SzucajLLNftp3ITK0c4/lV3x9oo5ER/wD6RRMHQnvw== - dependencies: - content-hash "^2.5.2" - eth-ens-namehash "2.0.8" - web3-core "1.7.1" - web3-core-helpers "1.7.1" - web3-core-promievent "1.7.1" - web3-eth-abi "1.7.1" - web3-eth-contract "1.7.1" - web3-utils "1.7.1" - -web3-eth-iban@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.5.2.tgz#f390ad244ef8a6c94de7c58736b0b80a484abc8e" - integrity sha512-C04YDXuSG/aDwOHSX+HySBGb0KraiAVt+/l1Mw7y/fCUrKC/K0yYzMYqY/uYOcvLtepBPsC4ZfUYWUBZ2PO8Vg== - dependencies: - bn.js "^4.11.9" - web3-utils "1.5.2" - -web3-eth-iban@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.7.1.tgz#2148dff256392491df36b175e393b03c6874cd31" - integrity sha512-XG4I3QXuKB/udRwZdNEhdYdGKjkhfb/uH477oFVMLBqNimU/Cw8yXUI5qwFKvBHM+hMQWfzPDuSDEDKC2uuiMg== - dependencies: - bn.js "^4.11.9" - web3-utils "1.7.1" - -web3-eth-personal@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.5.2.tgz#043335a19ab59e119ba61e3bd6c3b8cde8120490" - integrity sha512-nH5N2GiVC0C5XeMEKU16PeFP3Hb3hkPvlR6Tf9WQ+pE+jw1c8eaXBO1CJQLr15ikhUF3s94ICyHcfjzkDsmRbA== - dependencies: - "@types/node" "^12.12.6" - web3-core "1.5.2" - web3-core-helpers "1.5.2" - web3-core-method "1.5.2" - web3-net "1.5.2" - web3-utils "1.5.2" - -web3-eth-personal@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.7.1.tgz#38635f94223f951422105e5fcb7f7ba767a3ee9f" - integrity sha512-02H6nFBNfNmFjMGZL6xcDi0r7tUhxrUP91FTFdoLyR94eIJDadPp4rpXfG7MVES873i1PReh4ep5pSCHbc3+Pg== - dependencies: - "@types/node" "^12.12.6" - web3-core "1.7.1" - web3-core-helpers "1.7.1" - web3-core-method "1.7.1" - web3-net "1.7.1" - web3-utils "1.7.1" - -web3-eth@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.5.2.tgz#0f6470df60a2a7d04df4423ca7721db8ed5ad72b" - integrity sha512-DwWQ6TCOUqvYyo7T20S7HpQDPveNHNqOn2Q2F3E8ZFyEjmqT4XsGiwvm08kB/VgQ4e/ANyq/i8PPFSYMT8JKHg== - dependencies: - web3-core "1.5.2" - web3-core-helpers "1.5.2" - web3-core-method "1.5.2" - web3-core-subscriptions "1.5.2" - web3-eth-abi "1.5.2" - web3-eth-accounts "1.5.2" - web3-eth-contract "1.5.2" - web3-eth-ens "1.5.2" - web3-eth-iban "1.5.2" - web3-eth-personal "1.5.2" - web3-net "1.5.2" - web3-utils "1.5.2" - -web3-eth@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.7.1.tgz#721599865f675b43877f5a18babfb7ae087449f7" - integrity sha512-Uz3gO4CjTJ+hMyJZAd2eiv2Ur1uurpN7sTMATWKXYR/SgG+SZgncnk/9d8t23hyu4lyi2GiVL1AqVqptpRElxg== - dependencies: - web3-core "1.7.1" - web3-core-helpers "1.7.1" - web3-core-method "1.7.1" - web3-core-subscriptions "1.7.1" - web3-eth-abi "1.7.1" - web3-eth-accounts "1.7.1" - web3-eth-contract "1.7.1" - web3-eth-ens "1.7.1" - web3-eth-iban "1.7.1" - web3-eth-personal "1.7.1" - web3-net "1.7.1" - web3-utils "1.7.1" - -web3-net@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.5.2.tgz#58915d7e2dad025d2a08f02c865f3abe61c48eff" - integrity sha512-VEc9c+jfoERhbJIxnx0VPlQDot8Lm4JW/tOWFU+ekHgIiu2zFKj5YxhURIth7RAbsaRsqCb79aE+M0eI8maxVQ== - dependencies: - web3-core "1.5.2" - web3-core-method "1.5.2" - web3-utils "1.5.2" - -web3-net@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.7.1.tgz#c75ff7ccabb949cf15e9098505516eb1ed8e37de" - integrity sha512-8yPNp2gvjInWnU7DCoj4pIPNhxzUjrxKlODsyyXF8j0q3Z2VZuQp+c63gL++r2Prg4fS8t141/HcJw4aMu5sVA== - dependencies: - web3-core "1.7.1" - web3-core-method "1.7.1" - web3-utils "1.7.1" - -web3-provider-engine@16.0.1: - version "16.0.1" - resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-16.0.1.tgz#2600a39ede364cdc0a1fc773bf40a94f2177e605" - integrity sha512-/Eglt2aocXMBiDj7Se/lyZnNDaHBaoJlaUfbP5HkLJQC/HlGbR+3/W+dINirlJDhh7b54DzgykqY7ksaU5QgTg== - dependencies: - async "^2.5.0" - backoff "^2.5.0" - clone "^2.0.0" - cross-fetch "^2.1.0" - eth-block-tracker "^4.4.2" - eth-json-rpc-filters "^4.2.1" - eth-json-rpc-infura "^5.1.0" - eth-json-rpc-middleware "^6.0.0" - eth-rpc-errors "^3.0.0" - eth-sig-util "^1.4.2" - ethereumjs-block "^1.2.2" - ethereumjs-tx "^1.2.0" - ethereumjs-util "^5.1.5" - ethereumjs-vm "^2.3.4" - json-stable-stringify "^1.0.1" - promise-to-callback "^1.0.0" - readable-stream "^2.2.9" - request "^2.85.0" - semaphore "^1.0.3" - ws "^5.1.1" - xhr "^2.2.0" - xtend "^4.0.1" - -web3-providers-http@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.5.2.tgz#94f95fe5572ca54aa2c2ffd42c63956436c9eb0a" - integrity sha512-dUNFJc9IMYDLZnkoQX3H4ZjvHjGO6VRVCqrBrdh84wPX/0da9dOA7DwIWnG0Gv3n9ybWwu5JHQxK4MNQ444lyA== - dependencies: - web3-core-helpers "1.5.2" - xhr2-cookies "1.1.0" - -web3-providers-http@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.7.1.tgz#3e00e013f013766aade28da29247daa1a937e759" - integrity sha512-dmiO6G4dgAa3yv+2VD5TduKNckgfR97VI9YKXVleWdcpBoKXe2jofhdvtafd42fpIoaKiYsErxQNcOC5gI/7Vg== - dependencies: - web3-core-helpers "1.7.1" - xhr2-cookies "1.1.0" - -web3-providers-ipc@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.5.2.tgz#68a516883c998eeddf60df4cead77baca4fb4aaa" - integrity sha512-SJC4Sivt4g9LHKlRy7cs1jkJgp7bjrQeUndE6BKs0zNALKguxu6QYnzbmuHCTFW85GfMDjhvi24jyyZHMnBNXQ== - dependencies: - oboe "2.1.5" - web3-core-helpers "1.5.2" - -web3-providers-ipc@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.7.1.tgz#cde879a2ba57b1deac2e1030de90d185b793dd50" - integrity sha512-uNgLIFynwnd5M9ZC0lBvRQU5iLtU75hgaPpc7ZYYR+kjSk2jr2BkEAQhFVJ8dlqisrVmmqoAPXOEU0flYZZgNQ== - dependencies: - oboe "2.1.5" - web3-core-helpers "1.7.1" - -web3-providers-ws@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.5.2.tgz#d336a93ed608b40cdcadfadd1f1bc8d32ea046e0" - integrity sha512-xy9RGlyO8MbJDuKv2vAMDkg+en+OvXG0CGTCM2BTl6l1vIdHpCa+6A/9KV2rK8aU9OBZ7/Pf+Y19517kHVl9RA== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.5.2" - websocket "^1.0.32" - -web3-providers-ws@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.7.1.tgz#b6b3919ce155eff29b21bc3f205a098299a8c1b2" - integrity sha512-Uj0n5hdrh0ESkMnTQBsEUS2u6Unqdc7Pe4Zl+iZFb7Yn9cIGsPJBl7/YOP4137EtD5ueXAv+MKwzcelpVhFiFg== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.7.1" - websocket "^1.0.32" - -web3-shh@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.5.2.tgz#a72a3d903c0708a004db94a72d934a302d880aea" - integrity sha512-wOxOcYt4Sa0AHAI8gG7RulCwVuVjSRS/M/AbFsea3XfJdN6sU13/syY7OdZNjNYuKjYTzxKYrd3dU/K2iqffVw== - dependencies: - web3-core "1.5.2" - web3-core-method "1.5.2" - web3-core-subscriptions "1.5.2" - web3-net "1.5.2" - -web3-shh@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.7.1.tgz#c6a0fc67321dd585085e3e3be8f2c1c8d61636ef" - integrity sha512-NO+jpEjo8kYX6c7GiaAm57Sx93PLYkWYUCWlZmUOW7URdUcux8VVluvTWklGPvdM9H1WfDrol91DjuSW+ykyqg== - dependencies: - web3-core "1.7.1" - web3-core-method "1.7.1" - web3-core-subscriptions "1.7.1" - web3-net "1.7.1" - -web3-utils@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.5.2.tgz#150982dcb1918ffc54eba87528e28f009ebc03aa" - integrity sha512-quTtTeQJHYSxAwIBOCGEcQtqdVcFWX6mCFNoqnp+mRbq+Hxbs8CGgO/6oqfBx4OvxIOfCpgJWYVHswRXnbEu9Q== - dependencies: - bn.js "^4.11.9" - eth-lib "0.2.8" - ethereum-bloom-filters "^1.0.6" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randombytes "^2.1.0" - utf8 "3.0.0" - -web3-utils@1.7.1, web3-utils@^1.3.0: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.7.1.tgz#77d8bacaf426c66027d8aa4864d77f0ed211aacd" - integrity sha512-fef0EsqMGJUgiHPdX+KN9okVWshbIumyJPmR+btnD1HgvoXijKEkuKBv0OmUqjbeqmLKP2/N9EiXKJel5+E1Dw== - dependencies: - bn.js "^4.11.9" - ethereum-bloom-filters "^1.0.6" - ethereumjs-util "^7.1.0" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randombytes "^2.1.0" - utf8 "3.0.0" - -web3@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.5.2.tgz#736ca2f39048c63964203dd811f519400973e78d" - integrity sha512-aapKLdO8t7Cos6tZLeeQUtCJvTiPMlLcHsHHDLSBZ/VaJEucSTxzun32M8sp3BmF4waDEmhY+iyUM1BKvtAcVQ== - dependencies: - web3-bzz "1.5.2" - web3-core "1.5.2" - web3-eth "1.5.2" - web3-eth-personal "1.5.2" - web3-net "1.5.2" - web3-shh "1.5.2" - web3-utils "1.5.2" - -web3@^1.5.2: - version "1.7.1" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.7.1.tgz#4d01371a2c0c07dba089f8009dabd2b11821c5e8" - integrity sha512-RKVdyZ5FuVEykj62C1o2tc0teJciSOh61jpVB9yb344dBHO3ZV4XPPP24s/PPqIMXmVFN00g2GD9M/v1SoHO/A== - dependencies: - web3-bzz "1.7.1" - web3-core "1.7.1" - web3-eth "1.7.1" - web3-eth-personal "1.7.1" - web3-net "1.7.1" - web3-shh "1.7.1" - web3-utils "1.7.1" - -webidl-conversions@^3.0.0, webidl-conversions@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -webpack-bundle-analyzer@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz#f6f94db108fb574e415ad313de41a2707d33ef3c" - integrity sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - bfj "^6.1.1" - chalk "^2.4.1" - commander "^2.18.0" - ejs "^2.6.1" - express "^4.16.3" - filesize "^3.6.1" - gzip-size "^5.0.0" - lodash "^4.17.19" - mkdirp "^0.5.1" - opener "^1.5.1" - ws "^6.0.0" - -webpack-dev-middleware@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" - integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== - dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" - range-parser "^1.2.1" - webpack-log "^2.0.0" - -webpack-hot-middleware@^2.25.0: - version "2.25.0" - resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz#4528a0a63ec37f8f8ef565cf9e534d57d09fe706" - integrity sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA== - dependencies: - ansi-html "0.0.7" - html-entities "^1.2.0" - querystring "^0.2.0" - strip-ansi "^3.0.0" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-node-externals@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-2.5.2.tgz#178e017a24fec6015bc9e672c77958a6afac861d" - integrity sha512-aHdl/y2N7PW2Sx7K+r3AxpJO+aDMcYzMQd60Qxefq3+EwhewSbTBqNumOsCE1JsCUNoyfGj5465N0sSf6hc/5w== - -webpack-sources@^1.0.1, webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@^4.44.2: - version "4.44.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" - integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.3.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" - -webpackbar@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-4.0.0.tgz#ee7a87f16077505b5720551af413c8ecd5b1f780" - integrity sha512-k1qRoSL/3BVuINzngj09nIwreD8wxV4grcuhHTD8VJgUbGcy8lQSPqv+bM00B7F+PffwIsQ8ISd4mIwRbr23eQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^2.4.2" - consola "^2.10.0" - figures "^3.0.0" - pretty-time "^1.1.0" - std-env "^2.2.1" - text-table "^0.2.0" - wrap-ansi "^6.0.0" - -"websnark@git+https://development.tornadocash.community/tornadocash/websnark.git#671762fab73f01771d0e7ebcf6b6a3123e193fb4": - version "0.0.4" - resolved "git+https://development.tornadocash.community/tornadocash/websnark.git#671762fab73f01771d0e7ebcf6b6a3123e193fb4" - dependencies: - big-integer "1.6.42" - -websocket@^1.0.32: - version "1.0.34" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" - integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== - dependencies: - bufferutil "^4.0.1" - debug "^2.2.0" - es5-ext "^0.10.50" - typedarray-to-buffer "^3.1.5" - utf-8-validate "^5.0.2" - yaeti "^0.0.6" - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-fetch@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" - integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== - -whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-2.0.1.tgz#5396b2043f020ee6f704d9c45ea8519e724de659" - integrity sha1-U5ayBD8CDub3BNnEXqhRnnJN5lk= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -whatwg-url@^6.4.1: - version "6.5.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" - integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" - integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which-typed-array@^1.1.2: - version "1.1.7" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.7.tgz#2761799b9a22d4b8660b3c1b40abaa7739691793" - integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-abstract "^1.18.5" - foreach "^2.0.5" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.7" - -which@^1.2.9, which@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -widest-line@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" - integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== - dependencies: - string-width "^2.1.1" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrap-ansi@^6.0.0, wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" - integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-file-atomic@^2.0.0: - version "2.4.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-json-file@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f" - integrity sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8= - dependencies: - detect-indent "^5.0.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - pify "^3.0.0" - sort-keys "^2.0.0" - write-file-atomic "^2.0.0" - -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - -ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - -ws@7.5.3: - version "7.5.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" - integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== - -ws@^3.0.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - -ws@^5.1.1: - version "5.2.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" - integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== - dependencies: - async-limiter "~1.0.0" - -ws@^5.2.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== - dependencies: - async-limiter "~1.0.0" - -ws@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== - dependencies: - async-limiter "~1.0.0" - -xdg-basedir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" - integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= - -xhr-request-promise@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" - integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg== - dependencies: - xhr-request "^1.1.0" - -xhr-request@^1.0.1, xhr-request@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" - integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA== - dependencies: - buffer-to-arraybuffer "^0.0.5" - object-assign "^4.1.1" - query-string "^5.0.1" - simple-get "^2.7.0" - timed-out "^4.0.1" - url-set-query "^1.0.0" - xhr "^2.0.4" - -xhr2-cookies@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48" - integrity sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg= - dependencies: - cookiejar "^2.1.1" - -xhr@^2.0.4, xhr@^2.2.0, xhr@^2.3.3: - version "2.6.0" - resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" - integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== - dependencies: - global "~4.4.0" - is-function "^1.0.1" - parse-headers "^2.0.0" - xtend "^4.0.0" - -"xml-name-validator@>= 2.0.1 < 3.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" - integrity sha1-TYuPHszTQZqjYgYb7O9RXh5VljU= - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmldom@^0.1.22: - version "0.1.31" - resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.31.tgz#b76c9a1bd9f0a9737e5a72dc37231cf38375e2ff" - integrity sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ== - -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -xtend@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" - integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os= - dependencies: - object-keys "~0.4.0" - -xxhashjs@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/xxhashjs/-/xxhashjs-0.2.2.tgz#8a6251567621a1c46a5ae204da0249c7f8caa9d8" - integrity sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw== - dependencies: - cuint "^0.2.2" - -"y18n@^3.2.1 || ^4.0.0": - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -yaeti@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" - integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== - -yallist@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@^12.0.5: - version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== - dependencies: - cliui "^4.0.0" - decamelize "^1.2.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^11.1.1" - -yargs@^13.2.4: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - -yargs@^13.3.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" - integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.1" - -zen-observable@^0.8.14: - version "0.8.15" - resolved "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" - integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==