diff --git a/babel.config.js b/babel.config.js index ac4b6d786f..586e8d5bda 100644 --- a/babel.config.js +++ b/babel.config.js @@ -9,7 +9,7 @@ module.exports = api => { if (!validEnv.includes(currentEnv)) { throw new Error( - `Please specify a valid 'NODE_ENV' or 'BABEL_ENV' environment variables. Valid values are "development", "test", and "production". Instead, received: ${JSON.stringify( + `Please specify a valid 'MODE' or 'BABEL_ENV' environment variables. Valid values are "development", "test", and "production". Instead, received: ${JSON.stringify( currentEnv, )}.`, ); diff --git a/package.json b/package.json index e9631e654b..00a959817f 100644 --- a/package.json +++ b/package.json @@ -33,11 +33,11 @@ }, "dependencies": { "@emotion/react": "^11.10.5", - "@emotion/styled": "^11.10.4", + "@emotion/styled": "^11.10.5", "@ethersproject/address": "^5.6.1", "@ethersproject/providers": "^5.7.1", "@ledgerhq/iframe-provider": "^0.4.2", - "@mui/icons-material": "^5.10.16", + "@mui/icons-material": "^5.11.0", "@mui/material": "^5.10.17", "@mui/system": "^5.10.8", "@mui/x-data-grid": "^5.17.7", @@ -55,17 +55,16 @@ "graphql-request": "^5.0.0", "graphql-tag": "^2.0.0", "react": "17.0.2", - "react-countdown": "^2.3.3", "react-dom": "17.0.2", "react-ga": "^3.3.1", "react-ga4": "^1.4.1", "react-hot-toast": "^2.4.0", - "react-markdown": "^8.0.3", - "react-redux": "^8.0.4", + "react-markdown": "^8.0.4", + "react-redux": "^8.0.5", "react-router-dom": "^6.4.5", "react-step-progress-bar": "^1.0.3", "react-uid": "^2.3.2", - "recharts": "^2.1.14", + "recharts": "^2.2.0", "tinycolor2": "^1.4.2", "typescript": "^4.8.4", "wagmi": "^0.7.15" @@ -87,11 +86,11 @@ "@esbuild-plugins/node-modules-polyfill": "^0.1.4", "@ethersproject/abi": "^5.7.0", "@ethersproject/bytes": "^5.6.1", - "@graphql-codegen/cli": "2.13.6", + "@graphql-codegen/cli": "2.16.1", "@graphql-codegen/typescript": "2.8.5", "@graphql-codegen/typescript-operations": "^2.5.8", "@graphql-codegen/typescript-react-apollo": "3.3.7", - "@graphql-codegen/typescript-react-query": "^4.0.4", + "@graphql-codegen/typescript-react-query": "^4.0.6", "@tanstack/react-query-devtools": "^4.19.1", "@testing-library/dom": "^8.19.0", "@testing-library/jest-dom": "^5.16.5", @@ -110,9 +109,9 @@ "@types/tinycolor2": "^1.4.3", "@types/uuid": "^8.3.1", "@typescript-eslint/eslint-plugin": "^5.45.1", - "@typescript-eslint/parser": "^5.39.0", - "@vitejs/plugin-react": "^2.0.1", - "@vitest/coverage-c8": "^0.25.5", + "@typescript-eslint/parser": "^5.46.0", + "@vitejs/plugin-react": "^3.0.0", + "@vitest/coverage-c8": "^0.25.8", "@vitest/ui": "^0.23.1", "assert": "^2.0.0", "autoprefixer": "^10.4.13", @@ -125,7 +124,7 @@ "eslint-plugin-babel": "^5.3.1", "eslint-plugin-import": "^2.26.0", "eslint-plugin-jsx-a11y": "^6.6.1", - "eslint-plugin-no-relative-import-paths": "^1.4.0", + "eslint-plugin-no-relative-import-paths": "^1.5.0", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "^7.31.11", "eslint-plugin-react-hooks": "^4.6.0", @@ -136,29 +135,29 @@ "https-browserify": "^1.0.0", "husky": "^8.0.2", "jest": "^29.3.1", - "jest-extended": "^3.1.0", - "jest-when": "^3.5.1", - "jsdom": "^20.0.0", + "jest-extended": "^3.2.0", + "jest-when": "^3.5.2", + "jsdom": "^20.0.3", "less-plugin-npm-import": "^2.1.0", - "lint-staged": "^13.0.3", + "lint-staged": "^13.1.0", "node-watch": "^0.7.1", "os-browserify": "^0.3.0", - "postcss": "^8.4.16", + "postcss": "^8.4.20", "prettier": "^2.7.1", "process": "^0.11.10", "prop-types": "^15.8.1", "react-app-rewired": "^2.2.1", "resize-observer-polyfill": "^1.5.1", "rollup-plugin-polyfill-node": "^0.10.2", - "sass": "^1.55.0", + "sass": "^1.56.2", "shelljs": "^0.8.5", "stream-browserify": "^3.0.0", "stream-http": "^3.2.0", "type-graphql": "^1.1.1", - "typechain": "^8.1.0", + "typechain": "^8.1.1", "url": "^0.11.0", - "vite": "^3.0.9", - "vite-plugin-svgr": "^2.2.2", + "vite": "^4.0.0", + "vite-plugin-svgr": "^2.4.0", "vite-tsconfig-paths": "^3.5.0", "vitest": "^0.23.1" }, diff --git a/src/abi/BeethovenChef.json b/src/abi/BeethovenChef.json deleted file mode 100644 index 978820c039..0000000000 --- a/src/abi/BeethovenChef.json +++ /dev/null @@ -1,350 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { "internalType": "contract BeethovenxToken", "name": "_beets", "type": "address" }, - { "internalType": "address", "name": "_treasuryAddress", "type": "address" }, - { "internalType": "uint256", "name": "_beetsPerBlock", "type": "uint256" }, - { "internalType": "uint256", "name": "_startBlock", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "indexed": true, "internalType": "address", "name": "to", "type": "address" } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "indexed": true, "internalType": "address", "name": "to", "type": "address" } - ], - "name": "EmergencyWithdraw", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "Harvest", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "allocPoint", "type": "uint256" }, - { "indexed": true, "internalType": "contract IERC20", "name": "lpToken", "type": "address" }, - { "indexed": true, "internalType": "contract IRewarder", "name": "rewarder", "type": "address" } - ], - "name": "LogPoolAddition", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "allocPoint", "type": "uint256" }, - { "indexed": true, "internalType": "contract IRewarder", "name": "rewarder", "type": "address" }, - { "indexed": false, "internalType": "bool", "name": "overwrite", "type": "bool" } - ], - "name": "LogSetPool", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "lastRewardBlock", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "lpSupply", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "accBeetsPerShare", "type": "uint256" } - ], - "name": "LogUpdatePool", - "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": "oldAddress", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "newAddress", "type": "address" } - ], - "name": "SetTreasuryAddress", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "_beetsPerSec", "type": "uint256" } - ], - "name": "UpdateEmissionRate", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "indexed": true, "internalType": "address", "name": "to", "type": "address" } - ], - "name": "Withdraw", - "type": "event" - }, - { - "inputs": [], - "name": "POOL_PERCENTAGE", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TREASURY_PERCENTAGE", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_allocPoint", "type": "uint256" }, - { "internalType": "contract IERC20", "name": "_lpToken", "type": "address" }, - { "internalType": "contract IRewarder", "name": "_rewarder", "type": "address" } - ], - "name": "add", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "beets", - "outputs": [{ "internalType": "contract BeethovenxToken", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "beetsPerBlock", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_pid", "type": "uint256" }, - { "internalType": "uint256", "name": "_amount", "type": "uint256" }, - { "internalType": "address", "name": "_to", "type": "address" } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_pid", "type": "uint256" }, - { "internalType": "address", "name": "_to", "type": "address" } - ], - "name": "emergencyWithdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_pid", "type": "uint256" }, - { "internalType": "address", "name": "_to", "type": "address" } - ], - "name": "harvest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256[]", "name": "_pids", "type": "uint256[]" }, - { "internalType": "address", "name": "_to", "type": "address" } - ], - "name": "harvestAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "lpTokens", - "outputs": [{ "internalType": "contract IERC20", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256[]", "name": "pids", "type": "uint256[]" }], - "name": "massUpdatePools", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_pid", "type": "uint256" }, - { "internalType": "address", "name": "_user", "type": "address" } - ], - "name": "pendingBeets", - "outputs": [{ "internalType": "uint256", "name": "pending", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "poolInfo", - "outputs": [ - { "internalType": "uint256", "name": "allocPoint", "type": "uint256" }, - { "internalType": "uint256", "name": "lastRewardBlock", "type": "uint256" }, - { "internalType": "uint256", "name": "accBeetsPerShare", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "poolLength", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "rewarder", - "outputs": [{ "internalType": "contract IRewarder", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_pid", "type": "uint256" }, - { "internalType": "uint256", "name": "_allocPoint", "type": "uint256" }, - { "internalType": "contract IRewarder", "name": "_rewarder", "type": "address" }, - { "internalType": "bool", "name": "overwrite", "type": "bool" } - ], - "name": "set", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "startBlock", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalAllocPoint", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_treasuryAddress", "type": "address" }], - "name": "treasury", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "treasuryAddress", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "_beetsPerBlock", "type": "uint256" }], - "name": "updateEmissionRate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "_pid", "type": "uint256" }], - "name": "updatePool", - "outputs": [ - { - "components": [ - { "internalType": "uint256", "name": "allocPoint", "type": "uint256" }, - { "internalType": "uint256", "name": "lastRewardBlock", "type": "uint256" }, - { "internalType": "uint256", "name": "accBeetsPerShare", "type": "uint256" } - ], - "internalType": "struct BeethovenxMasterChef.PoolInfo", - "name": "pool", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" }, - { "internalType": "address", "name": "", "type": "address" } - ], - "name": "userInfo", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "internalType": "uint256", "name": "rewardDebt", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_pid", "type": "uint256" }, - { "internalType": "uint256", "name": "_amount", "type": "uint256" }, - { "internalType": "address", "name": "_to", "type": "address" } - ], - "name": "withdrawAndHarvest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ] -} diff --git a/src/abi/JoeChef.json b/src/abi/JoeChef.json deleted file mode 100644 index 98165fab42..0000000000 --- a/src/abi/JoeChef.json +++ /dev/null @@ -1,272 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { "internalType": "contract IMasterChef", "name": "_MASTER_CHEF_V2", "type": "address" }, - { "internalType": "contract IERC20", "name": "_joe", "type": "address" }, - { "internalType": "uint256", "name": "_MASTER_PID", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "allocPoint", "type": "uint256" }, - { "indexed": true, "internalType": "contract IERC20", "name": "lpToken", "type": "address" }, - { "indexed": true, "internalType": "contract IRewarder", "name": "rewarder", "type": "address" } - ], - "name": "Add", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "EmergencyWithdraw", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "Harvest", - "type": "event" - }, - { "anonymous": false, "inputs": [], "name": "Init", "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": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "allocPoint", "type": "uint256" }, - { "indexed": true, "internalType": "contract IRewarder", "name": "rewarder", "type": "address" }, - { "indexed": false, "internalType": "bool", "name": "overwrite", "type": "bool" } - ], - "name": "Set", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "lastRewardTimestamp", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "lpSupply", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "accJoePerShare", "type": "uint256" } - ], - "name": "UpdatePool", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "Withdraw", - "type": "event" - }, - { - "inputs": [], - "name": "JOE", - "outputs": [{ "internalType": "contract IERC20", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MASTER_CHEF_V2", - "outputs": [{ "internalType": "contract IMasterChef", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MASTER_PID", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "allocPoint", "type": "uint256" }, - { "internalType": "contract IERC20", "name": "_lpToken", "type": "address" }, - { "internalType": "contract IRewarder", "name": "_rewarder", "type": "address" } - ], - "name": "add", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "pid", "type": "uint256" }], - "name": "emergencyWithdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "harvestFromMasterChef", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "contract IERC20", "name": "dummyToken", "type": "address" }], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "joePerSec", - "outputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256[]", "name": "pids", "type": "uint256[]" }], - "name": "massUpdatePools", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_pid", "type": "uint256" }, - { "internalType": "address", "name": "_user", "type": "address" } - ], - "name": "pendingTokens", - "outputs": [ - { "internalType": "uint256", "name": "pendingJoe", "type": "uint256" }, - { "internalType": "address", "name": "bonusTokenAddress", "type": "address" }, - { "internalType": "string", "name": "bonusTokenSymbol", "type": "string" }, - { "internalType": "uint256", "name": "pendingBonusToken", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "poolInfo", - "outputs": [ - { "internalType": "contract IERC20", "name": "lpToken", "type": "address" }, - { "internalType": "uint256", "name": "accJoePerShare", "type": "uint256" }, - { "internalType": "uint256", "name": "lastRewardTimestamp", "type": "uint256" }, - { "internalType": "uint256", "name": "allocPoint", "type": "uint256" }, - { "internalType": "contract IRewarder", "name": "rewarder", "type": "address" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "poolLength", - "outputs": [{ "internalType": "uint256", "name": "pools", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { "internalType": "uint256", "name": "_pid", "type": "uint256" }, - { "internalType": "uint256", "name": "_allocPoint", "type": "uint256" }, - { "internalType": "contract IRewarder", "name": "_rewarder", "type": "address" }, - { "internalType": "bool", "name": "overwrite", "type": "bool" } - ], - "name": "set", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalAllocPoint", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "pid", "type": "uint256" }], - "name": "updatePool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" }, - { "internalType": "address", "name": "", "type": "address" } - ], - "name": "userInfo", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "internalType": "uint256", "name": "rewardDebt", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ] -} diff --git a/src/abi/JoeRewarder.json b/src/abi/JoeRewarder.json deleted file mode 100644 index eb2594caa5..0000000000 --- a/src/abi/JoeRewarder.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { "internalType": "contract IERC20", "name": "_rewardToken", "type": "address" }, - { "internalType": "contract IERC20", "name": "_lpToken", "type": "address" }, - { "internalType": "uint256", "name": "_tokenPerSec", "type": "uint256" }, - { "internalType": "contract IMasterChefJoe", "name": "_MCJ", "type": "address" }, - { "internalType": "bool", "name": "_isNative", "type": "bool" } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "OnReward", - "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": "oldRate", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "newRate", "type": "uint256" } - ], - "name": "RewardRateUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "MCJ", - "outputs": [{ "internalType": "contract IMasterChefJoe", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "balance", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { "inputs": [], "name": "claimOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, - { "inputs": [], "name": "emergencyWithdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [], - "name": "isNative", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lpToken", - "outputs": [{ "internalType": "contract IERC20", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "_user", "type": "address" }, - { "internalType": "uint256", "name": "_lpAmount", "type": "uint256" } - ], - "name": "onJoeReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pendingOwner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_user", "type": "address" }], - "name": "pendingTokens", - "outputs": [{ "internalType": "uint256", "name": "pending", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "poolInfo", - "outputs": [ - { "internalType": "uint256", "name": "accTokenPerShare", "type": "uint256" }, - { "internalType": "uint256", "name": "lastRewardTimestamp", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rewardToken", - "outputs": [{ "internalType": "contract IERC20", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "_tokenPerSec", "type": "uint256" }], - "name": "setRewardRate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "tokenPerSec", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "newOwner", "type": "address" }, - { "internalType": "bool", "name": "direct", "type": "bool" }, - { "internalType": "bool", "name": "renounce", "type": "bool" } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "updatePool", - "outputs": [ - { - "components": [ - { "internalType": "uint256", "name": "accTokenPerShare", "type": "uint256" }, - { "internalType": "uint256", "name": "lastRewardTimestamp", "type": "uint256" } - ], - "internalType": "struct SimpleRewarderPerSec.PoolInfo", - "name": "pool", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "userInfo", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "internalType": "uint256", "name": "rewardDebt", "type": "uint256" }, - { "internalType": "uint256", "name": "unpaidRewards", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - }, - { "stateMutability": "payable", "type": "receive" } - ] -} diff --git a/src/abi/SushiChef.json b/src/abi/SushiChef.json deleted file mode 100644 index 3970cf51c2..0000000000 --- a/src/abi/SushiChef.json +++ /dev/null @@ -1,360 +0,0 @@ -{ - "abi": [ - { - "type": "constructor", - "stateMutability": "nonpayable", - "inputs": [{ "type": "address", "name": "_sushi", "internalType": "contract IERC20" }] - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { "type": "address", "name": "user", "internalType": "address", "indexed": true }, - { "type": "uint256", "name": "pid", "internalType": "uint256", "indexed": true }, - { "type": "uint256", "name": "amount", "internalType": "uint256", "indexed": false }, - { "type": "address", "name": "to", "internalType": "address", "indexed": true } - ], - "anonymous": false - }, - { - "type": "event", - "name": "EmergencyWithdraw", - "inputs": [ - { "type": "address", "name": "user", "internalType": "address", "indexed": true }, - { "type": "uint256", "name": "pid", "internalType": "uint256", "indexed": true }, - { "type": "uint256", "name": "amount", "internalType": "uint256", "indexed": false }, - { "type": "address", "name": "to", "internalType": "address", "indexed": true } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Harvest", - "inputs": [ - { "type": "address", "name": "user", "internalType": "address", "indexed": true }, - { "type": "uint256", "name": "pid", "internalType": "uint256", "indexed": true }, - { "type": "uint256", "name": "amount", "internalType": "uint256", "indexed": false } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LogPoolAddition", - "inputs": [ - { "type": "uint256", "name": "pid", "internalType": "uint256", "indexed": true }, - { "type": "uint256", "name": "allocPoint", "internalType": "uint256", "indexed": false }, - { "type": "address", "name": "lpToken", "internalType": "contract IERC20", "indexed": true }, - { "type": "address", "name": "rewarder", "internalType": "contract IRewarder", "indexed": true } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LogSetPool", - "inputs": [ - { "type": "uint256", "name": "pid", "internalType": "uint256", "indexed": true }, - { "type": "uint256", "name": "allocPoint", "internalType": "uint256", "indexed": false }, - { "type": "address", "name": "rewarder", "internalType": "contract IRewarder", "indexed": true }, - { "type": "bool", "name": "overwrite", "internalType": "bool", "indexed": false } - ], - "anonymous": false - }, - { - "type": "event", - "name": "LogSushiPerSecond", - "inputs": [{ "type": "uint256", "name": "sushiPerSecond", "internalType": "uint256", "indexed": false }], - "anonymous": false - }, - { - "type": "event", - "name": "LogUpdatePool", - "inputs": [ - { "type": "uint256", "name": "pid", "internalType": "uint256", "indexed": true }, - { "type": "uint64", "name": "lastRewardTime", "internalType": "uint64", "indexed": false }, - { "type": "uint256", "name": "lpSupply", "internalType": "uint256", "indexed": false }, - { "type": "uint256", "name": "accSushiPerShare", "internalType": "uint256", "indexed": false } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { "type": "address", "name": "previousOwner", "internalType": "address", "indexed": true }, - { "type": "address", "name": "newOwner", "internalType": "address", "indexed": true } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { "type": "address", "name": "user", "internalType": "address", "indexed": true }, - { "type": "uint256", "name": "pid", "internalType": "uint256", "indexed": true }, - { "type": "uint256", "name": "amount", "internalType": "uint256", "indexed": false }, - { "type": "address", "name": "to", "internalType": "address", "indexed": true } - ], - "anonymous": false - }, - { - "type": "function", - "stateMutability": "view", - "outputs": [{ "type": "address", "name": "", "internalType": "contract IERC20" }], - "name": "SUSHI", - "inputs": [] - }, - { - "type": "function", - "stateMutability": "nonpayable", - "outputs": [], - "name": "add", - "inputs": [ - { "type": "uint256", "name": "allocPoint", "internalType": "uint256" }, - { "type": "address", "name": "_lpToken", "internalType": "contract IERC20" }, - { "type": "address", "name": "_rewarder", "internalType": "contract IRewarder" } - ] - }, - { - "type": "function", - "stateMutability": "payable", - "outputs": [ - { "type": "bool[]", "name": "successes", "internalType": "bool[]" }, - { "type": "bytes[]", "name": "results", "internalType": "bytes[]" } - ], - "name": "batch", - "inputs": [ - { "type": "bytes[]", "name": "calls", "internalType": "bytes[]" }, - { "type": "bool", "name": "revertOnFail", "internalType": "bool" } - ] - }, - { "type": "function", "stateMutability": "nonpayable", "outputs": [], "name": "claimOwnership", "inputs": [] }, - { - "type": "function", - "stateMutability": "nonpayable", - "outputs": [], - "name": "deposit", - "inputs": [ - { "type": "uint256", "name": "pid", "internalType": "uint256" }, - { "type": "uint256", "name": "amount", "internalType": "uint256" }, - { "type": "address", "name": "to", "internalType": "address" } - ] - }, - { - "type": "function", - "stateMutability": "nonpayable", - "outputs": [], - "name": "emergencyWithdraw", - "inputs": [ - { "type": "uint256", "name": "pid", "internalType": "uint256" }, - { "type": "address", "name": "to", "internalType": "address" } - ] - }, - { - "type": "function", - "stateMutability": "nonpayable", - "outputs": [], - "name": "harvest", - "inputs": [ - { "type": "uint256", "name": "pid", "internalType": "uint256" }, - { "type": "address", "name": "to", "internalType": "address" } - ] - }, - { - "type": "function", - "stateMutability": "view", - "outputs": [{ "type": "address", "name": "", "internalType": "contract IERC20" }], - "name": "lpToken", - "inputs": [{ "type": "uint256", "name": "", "internalType": "uint256" }] - }, - { - "type": "function", - "stateMutability": "nonpayable", - "outputs": [], - "name": "massUpdatePools", - "inputs": [{ "type": "uint256[]", "name": "pids", "internalType": "uint256[]" }] - }, - { - "type": "function", - "stateMutability": "nonpayable", - "outputs": [], - "name": "migrate", - "inputs": [{ "type": "uint256", "name": "_pid", "internalType": "uint256" }] - }, - { - "type": "function", - "stateMutability": "view", - "outputs": [{ "type": "address", "name": "", "internalType": "contract IMigratorChef" }], - "name": "migrator", - "inputs": [] - }, - { - "type": "function", - "stateMutability": "view", - "outputs": [{ "type": "address", "name": "", "internalType": "address" }], - "name": "owner", - "inputs": [] - }, - { - "type": "function", - "stateMutability": "view", - "outputs": [{ "type": "address", "name": "", "internalType": "address" }], - "name": "pendingOwner", - "inputs": [] - }, - { - "type": "function", - "stateMutability": "view", - "outputs": [{ "type": "uint256", "name": "pending", "internalType": "uint256" }], - "name": "pendingSushi", - "inputs": [ - { "type": "uint256", "name": "_pid", "internalType": "uint256" }, - { "type": "address", "name": "_user", "internalType": "address" } - ] - }, - { - "type": "function", - "stateMutability": "nonpayable", - "outputs": [], - "name": "permitToken", - "inputs": [ - { "type": "address", "name": "token", "internalType": "contract IERC20" }, - { "type": "address", "name": "from", "internalType": "address" }, - { "type": "address", "name": "to", "internalType": "address" }, - { "type": "uint256", "name": "amount", "internalType": "uint256" }, - { "type": "uint256", "name": "deadline", "internalType": "uint256" }, - { "type": "uint8", "name": "v", "internalType": "uint8" }, - { "type": "bytes32", "name": "r", "internalType": "bytes32" }, - { "type": "bytes32", "name": "s", "internalType": "bytes32" } - ] - }, - { - "type": "function", - "stateMutability": "view", - "outputs": [ - { "type": "uint128", "name": "accSushiPerShare", "internalType": "uint128" }, - { "type": "uint64", "name": "lastRewardTime", "internalType": "uint64" }, - { "type": "uint64", "name": "allocPoint", "internalType": "uint64" } - ], - "name": "poolInfo", - "inputs": [{ "type": "uint256", "name": "", "internalType": "uint256" }] - }, - { - "type": "function", - "stateMutability": "view", - "outputs": [{ "type": "uint256", "name": "pools", "internalType": "uint256" }], - "name": "poolLength", - "inputs": [] - }, - { - "type": "function", - "stateMutability": "view", - "outputs": [{ "type": "address", "name": "", "internalType": "contract IRewarder" }], - "name": "rewarder", - "inputs": [{ "type": "uint256", "name": "", "internalType": "uint256" }] - }, - { - "type": "function", - "stateMutability": "nonpayable", - "outputs": [], - "name": "set", - "inputs": [ - { "type": "uint256", "name": "_pid", "internalType": "uint256" }, - { "type": "uint256", "name": "_allocPoint", "internalType": "uint256" }, - { "type": "address", "name": "_rewarder", "internalType": "contract IRewarder" }, - { "type": "bool", "name": "overwrite", "internalType": "bool" } - ] - }, - { - "type": "function", - "stateMutability": "nonpayable", - "outputs": [], - "name": "setMigrator", - "inputs": [{ "type": "address", "name": "_migrator", "internalType": "contract IMigratorChef" }] - }, - { - "type": "function", - "stateMutability": "nonpayable", - "outputs": [], - "name": "setSushiPerSecond", - "inputs": [{ "type": "uint256", "name": "_sushiPerSecond", "internalType": "uint256" }] - }, - { - "type": "function", - "stateMutability": "view", - "outputs": [{ "type": "uint256", "name": "", "internalType": "uint256" }], - "name": "sushiPerSecond", - "inputs": [] - }, - { - "type": "function", - "stateMutability": "view", - "outputs": [{ "type": "uint256", "name": "", "internalType": "uint256" }], - "name": "totalAllocPoint", - "inputs": [] - }, - { - "type": "function", - "stateMutability": "nonpayable", - "outputs": [], - "name": "transferOwnership", - "inputs": [ - { "type": "address", "name": "newOwner", "internalType": "address" }, - { "type": "bool", "name": "direct", "internalType": "bool" }, - { "type": "bool", "name": "renounce", "internalType": "bool" } - ] - }, - { - "type": "function", - "stateMutability": "nonpayable", - "outputs": [ - { - "type": "tuple", - "name": "pool", - "internalType": "struct MiniChefV2.PoolInfo", - "components": [ - { "type": "uint128", "name": "accSushiPerShare", "internalType": "uint128" }, - { "type": "uint64", "name": "lastRewardTime", "internalType": "uint64" }, - { "type": "uint64", "name": "allocPoint", "internalType": "uint64" } - ] - } - ], - "name": "updatePool", - "inputs": [{ "type": "uint256", "name": "pid", "internalType": "uint256" }] - }, - { - "type": "function", - "stateMutability": "view", - "outputs": [ - { "type": "uint256", "name": "amount", "internalType": "uint256" }, - { "type": "int256", "name": "rewardDebt", "internalType": "int256" } - ], - "name": "userInfo", - "inputs": [ - { "type": "uint256", "name": "", "internalType": "uint256" }, - { "type": "address", "name": "", "internalType": "address" } - ] - }, - { - "type": "function", - "stateMutability": "nonpayable", - "outputs": [], - "name": "withdraw", - "inputs": [ - { "type": "uint256", "name": "pid", "internalType": "uint256" }, - { "type": "uint256", "name": "amount", "internalType": "uint256" }, - { "type": "address", "name": "to", "internalType": "address" } - ] - }, - { - "type": "function", - "stateMutability": "nonpayable", - "outputs": [], - "name": "withdrawAndHarvest", - "inputs": [ - { "type": "uint256", "name": "pid", "internalType": "uint256" }, - { "type": "uint256", "name": "amount", "internalType": "uint256" }, - { "type": "address", "name": "to", "internalType": "address" } - ] - } - ] -} diff --git a/src/abi/SushiRewarder.json b/src/abi/SushiRewarder.json deleted file mode 100644 index 2acfc3bde3..0000000000 --- a/src/abi/SushiRewarder.json +++ /dev/null @@ -1,221 +0,0 @@ -{ - "abi": [ - { - "inputs": [{ "internalType": "address", "name": "_MASTERCHEF_V2", "type": "address" }], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "contract IERC20", "name": "rewardToken", "type": "address" }, - { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "rewardPerSecond", "type": "uint256" }, - { "indexed": true, "internalType": "contract IERC20", "name": "masterLpToken", "type": "address" } - ], - "name": "LogInit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "indexed": true, "internalType": "address", "name": "to", "type": "address" } - ], - "name": "LogOnReward", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "uint256", "name": "rewardPerSecond", "type": "uint256" }], - "name": "LogRewardPerSecond", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "indexed": false, "internalType": "uint64", "name": "lastRewardTime", "type": "uint64" }, - { "indexed": false, "internalType": "uint256", "name": "lpSupply", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "accToken1PerShare", "type": "uint256" } - ], - "name": "LogUpdatePool", - "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": [], - "name": "MASTERCHEF_V2", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { "inputs": [], "name": "claimOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [{ "internalType": "bytes", "name": "data", "type": "bytes" }], - "name": "init", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "masterLpToken", - "outputs": [{ "internalType": "contract IERC20", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "internalType": "address", "name": "_user", "type": "address" }, - { "internalType": "address", "name": "to", "type": "address" }, - { "internalType": "uint256", "name": "", "type": "uint256" }, - { "internalType": "uint256", "name": "lpTokenAmount", "type": "uint256" } - ], - "name": "onSushiReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pendingOwner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_pid", "type": "uint256" }, - { "internalType": "address", "name": "_user", "type": "address" } - ], - "name": "pendingToken", - "outputs": [{ "internalType": "uint256", "name": "pending", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "pid", "type": "uint256" }, - { "internalType": "address", "name": "user", "type": "address" }, - { "internalType": "uint256", "name": "", "type": "uint256" } - ], - "name": "pendingTokens", - "outputs": [ - { "internalType": "contract IERC20[]", "name": "rewardTokens", "type": "address[]" }, - { "internalType": "uint256[]", "name": "rewardAmounts", "type": "uint256[]" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "poolInfo", - "outputs": [ - { "internalType": "uint128", "name": "accToken1PerShare", "type": "uint128" }, - { "internalType": "uint64", "name": "lastRewardTime", "type": "uint64" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "token", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "internalType": "address payable", "name": "to", "type": "address" } - ], - "name": "reclaimTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "rewardPerSecond", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rewardRates", - "outputs": [{ "internalType": "uint256[]", "name": "", "type": "uint256[]" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rewardToken", - "outputs": [{ "internalType": "contract IERC20", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "_rewardPerSecond", "type": "uint256" }], - "name": "setRewardPerSecond", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "newOwner", "type": "address" }, - { "internalType": "bool", "name": "direct", "type": "bool" }, - { "internalType": "bool", "name": "renounce", "type": "bool" } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "pid", "type": "uint256" }], - "name": "updatePool", - "outputs": [ - { - "components": [ - { "internalType": "uint128", "name": "accToken1PerShare", "type": "uint128" }, - { "internalType": "uint64", "name": "lastRewardTime", "type": "uint64" } - ], - "internalType": "struct OhmRewarder.PoolInfo", - "name": "pool", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" }, - { "internalType": "address", "name": "", "type": "address" } - ], - "name": "userInfo", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "internalType": "uint256", "name": "rewardDebt", "type": "uint256" }, - { "internalType": "uint256", "name": "unpaidRewards", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - } - ] -} diff --git a/src/components/TopBar/Wallet/GetOhm.tsx b/src/components/TopBar/Wallet/GetOhm.tsx index a1eaf26e20..608b6eba21 100644 --- a/src/components/TopBar/Wallet/GetOhm.tsx +++ b/src/components/TopBar/Wallet/GetOhm.tsx @@ -8,16 +8,7 @@ import uniswapImg from "src/assets/uniswap.png"; import { SupplyRatePerBlock } from "src/components/TopBar/Wallet/queries"; import { OHM_ADDRESSES } from "src/constants/addresses"; import { formatCurrency, formatNumber, parseBigNumber, trim } from "src/helpers"; -import { - balancerPools, - beetsPools, - convexPools, - curvePools, - fraxPools, - joePools, - jonesPools, - sushiPools, -} from "src/helpers/AllExternalPools"; +import { balancerPools, convexPools, curvePools, fraxPools } from "src/helpers/AllExternalPools"; import { sortByDiscount } from "src/helpers/bonds/sortByDiscount"; import { DecimalBigNumber } from "src/helpers/DecimalBigNumber/DecimalBigNumber"; import { prettifySecondsInDays } from "src/helpers/timeUtil"; @@ -28,19 +19,11 @@ import { useLiveBonds } from "src/views/Bond/hooks/useLiveBonds"; import { BalancerPoolAPY, BalancerSwapFees, - BeetsPoolAPY, ConvexPoolAPY, CurvePoolAPY, FraxPoolAPY, - JoePoolAPY, - JonesPoolAPY, - SushiPoolAPY, } from "src/views/Stake/components/ExternalStakePools/hooks/useStakePoolAPY"; -import { - BalancerPoolTVL, - CurvePoolTVL, - useStakePoolTVL, -} from "src/views/Stake/components/ExternalStakePools/hooks/useStakePoolTVL"; +import { CurvePoolTVL } from "src/views/Stake/components/ExternalStakePools/hooks/useStakePoolTVL"; import { useNetwork } from "wagmi"; const PREFIX = "GetOhm"; @@ -145,18 +128,6 @@ const GetOhm: FC = () => { Farm Pool - {sushiPools.map((pool, index) => ( - - ))} - {joePools.map((pool, index) => ( - - ))} - {beetsPools.map((pool, index) => ( - - ))} - {jonesPools.map((pool, index) => ( - - ))} {balancerPools.map((pool, index) => ( ))} @@ -246,27 +217,6 @@ const GetOhm: FC = () => { export default GetOhm; -const SushiPools: React.FC<{ pool: ExternalPool }> = props => { - const { data: totalValueLocked } = useStakePoolTVL(props.pool); - const { apy } = SushiPoolAPY(props.pool); - return ; -}; - -const JoePools: React.FC<{ pool: ExternalPool }> = props => { - const { data: totalValueLocked } = useStakePoolTVL(props.pool); - const { apy } = JoePoolAPY(props.pool); - return ; -}; - -const BeetsPools: React.FC<{ pool: ExternalPool }> = props => { - const { data: totalValueLocked } = BalancerPoolTVL(props.pool); - const { apy } = BeetsPoolAPY(props.pool); - return ; -}; -const JonesPools: React.FC<{ pool: ExternalPool }> = props => { - const { apy, tvl } = JonesPoolAPY(props.pool); - return ; -}; const BalancerPools: React.FC<{ pool: ExternalPool }> = props => { const { data } = BalancerSwapFees(props.pool.address); const { apy } = BalancerPoolAPY(props.pool); diff --git a/src/helpers/AllExternalPools.ts b/src/helpers/AllExternalPools.ts index 0cb8fbe6c9..daa9d53909 100644 --- a/src/helpers/AllExternalPools.ts +++ b/src/helpers/AllExternalPools.ts @@ -1,35 +1,6 @@ import { NetworkId } from "src/constants"; import { ExternalPool } from "src/lib/ExternalPool"; -export const tj_gohm_wavax = new ExternalPool({ - poolName: "gOHM-AVAX", - icons: ["wsOHM", "AVAX"], - stakeOn: "Trader Joe", - pairGecko: "avalanche-2", - rewardGecko: "joe", - href: "https://traderjoexyz.com/farm/0xB674f93952F02F2538214D4572Aa47F262e990Ff-0x188bED1968b795d5c9022F6a0bb5931Ac4c18F00", - address: "0xb674f93952f02f2538214d4572aa47f262e990ff", - masterchef: "0x188bED1968b795d5c9022F6a0bb5931Ac4c18F00", - rewarder: "0xe65C29f1C40b52cF3a601a60df6ad37c59Af1261", - poolId: 21, - networkID: NetworkId.AVALANCHE, -}); - -export const beets_ftm_gohm_wFTM = new ExternalPool({ - poolName: "gOHM-wFTM", - icons: ["gOHM", "FANTOM"], - stakeOn: "Beethoven", - pairGecko: "fantom", - rewardGecko: "beethoven-x", - href: "https://beets.fi/#/pool/0xf7bf0f161d3240488807ffa23894452246049916000200000000000000000198", - address: "0xf7bf0f161d3240488807ffa23894452246049916", - masterchef: "0x8166994d9ebBe5829EC86Bd81258149B87faCfd3", - rewarder: "0xbb7653737917Db58133629C190b9cA2FffB80e71", - vault: "0x20dd72ed959b6147912c2e529f0a0c651c33c9ce", - poolId: 40, - networkID: NetworkId.FANTOM, -}); - export const balancer_ohm_dai_weth = new ExternalPool({ poolName: "OHM-DAI-wETH", icons: ["OHM", "DAI", "wETH"], @@ -45,48 +16,6 @@ export const balancer_ohm_dai_weth = new ExternalPool({ networkID: NetworkId.MAINNET, }); -export const sushi_arb_gohm_weth = new ExternalPool({ - poolName: "gOHM-wETH", - icons: ["wsOHM", "wETH"], - stakeOn: "Sushi", - pairGecko: "ethereum", - rewardGecko: "sushi", - href: "https://app.sushi.com/farm?filter=2x", - address: "0xaa5bD49f2162ffdC15634c87A77AC67bD51C6a6D", - masterchef: "0xF4d73326C13a4Fc5FD7A064217e12780e9Bd62c3", - rewarder: "0xAE961A7D116bFD9B2534ad27fE4d178Ed188C87A", - poolId: 12, - networkID: NetworkId.ARBITRUM, -}); - -export const sushi_poly_gohm_weth = new ExternalPool({ - poolName: "gOHM-wETH", - icons: ["wsOHM", "wETH"], - stakeOn: "Sushi", - pairGecko: "ethereum", - rewardGecko: "sushi", - href: "https://app.sushi.com/farm?filter=2x", - address: "0x1549e0e8127d380080aab448b82d280433ce4030", - masterchef: "0x0769fd68dFb93167989C6f7254cd0D766Fb2841F", - rewarder: "0x71581bF0ce397f50F87Cc2490146D30A1E686461", - poolId: 47, - networkID: NetworkId.POLYGON, -}); - -export const jones_gohm_jgohm = new ExternalPool({ - poolName: "jgOHM-gOHM", - icons: ["jgOHM", "gOHM"], - stakeOn: "Jones DAO", - pairGecko: "governance-ohm", - rewardGecko: "jones-dao", - href: "https://jonesdao.io/farms", - address: "0x292d1587a6Bb37E34574c9AD5993F221D8a5616C", - masterchef: "", - rewarder: "", - poolId: 0, - networkID: NetworkId.ARBITRUM, -}); - export const curve_ohm_eth = new ExternalPool({ poolName: "OHM-ETH", icons: ["OHM", "ETH"], @@ -130,13 +59,7 @@ export const frax_ohm_frax = new ExternalPool({ mintAndSync: true, }); -export const allPools = [tj_gohm_wavax, sushi_arb_gohm_weth, sushi_poly_gohm_weth]; -export const sushiPools = [sushi_arb_gohm_weth, sushi_poly_gohm_weth]; -export const joePools = [tj_gohm_wavax]; -export const beetsPools = [beets_ftm_gohm_wFTM]; -export const jonesPools = [jones_gohm_jgohm]; export const balancerPools = [balancer_ohm_dai_weth]; export const curvePools = [curve_ohm_eth]; export const convexPools = [convex_ohm_eth]; export const fraxPools = [frax_ohm_frax]; -export default allPools; diff --git a/src/helpers/index.tsx b/src/helpers/index.tsx index 70f5c19ee2..57e5d2f008 100644 --- a/src/helpers/index.tsx +++ b/src/helpers/index.tsx @@ -90,7 +90,7 @@ export function shouldTriggerSafetyCheck() { } export const handleContractError = (e: any) => { - if (Environment.env.NODE_ENV !== "production") console.warn("caught error in slices; usually network related", e); + if (Environment.env.MODE !== "production") console.warn("caught error in slices; usually network related", e); }; /** diff --git a/src/hooks/useContract.ts b/src/hooks/useContract.ts index de43f77c57..1fdda6be7e 100644 --- a/src/hooks/useContract.ts +++ b/src/hooks/useContract.ts @@ -14,7 +14,6 @@ import { Contract, ContractInterface } from "@ethersproject/contracts"; import { useMemo } from "react"; import BALANCERV2_POOL_ABI from "src/abi/BalancerV2Pool.json"; import BALANCER_VAULT_ABI from "src/abi/BalancerVault.json"; -import BEETHOVEN_CHEF_ABI from "src/abi/BeethovenChef.json"; import BOND_ABI from "src/abi/BondDepository.json"; import CROSS_CHAIN_MIGRATOR_ABI from "src/abi/CrossChainMigrator.json"; import CURVE_GAUGE_CONTROLLER_ABI from "src/abi/CurveGaugeController.json"; @@ -23,13 +22,9 @@ import CURVE_POOL_ABI from "src/abi/CurvePool.json"; import DEV_FAUCET from "src/abi/DevFaucet.json"; import FUSE_PROXY_ABI from "src/abi/FuseProxy.json"; import IERC20_ABI from "src/abi/IERC20.json"; -import JOECHEF_ABI from "src/abi/JoeChef.json"; -import JOE_REWARDER_ABI from "src/abi/JoeRewarder.json"; import STAKING_ABI from "src/abi/OlympusStakingv2.json"; import PAIR_CONTRACT_ABI from "src/abi/PairContract.json"; import SOHM_ABI from "src/abi/sOhmv2.json"; -import SUSHI_CHEF_ABI from "src/abi/SushiChef.json"; -import SUSHI_REWARDER_ABI from "src/abi/SushiRewarder.json"; import { AddressMap } from "src/constants/addresses"; import { Providers } from "src/helpers/providers/Providers/Providers"; import { NetworkId } from "src/networkDetails"; @@ -46,13 +41,8 @@ import { } from "src/typechain"; import { BalancerV2Pool } from "src/typechain/BalancerV2Pool"; import { BalancerVault } from "src/typechain/BalancerVault"; -import { BeethovenChef } from "src/typechain/BeethovenChef"; import { CurveGaugeController } from "src/typechain/CurveGaugeController"; import { CurveGaugeDeposit } from "src/typechain/CurveGaugeDeposit"; -import { JoeChef } from "src/typechain/JoeChef"; -import { JoeRewarder } from "src/typechain/JoeRewarder"; -import { SushiChef } from "src/typechain/SushiChef"; -import { SushiRewarder } from "src/typechain/SushiRewarder"; import { useNetwork, useProvider, useSigner } from "wagmi"; /** @@ -123,11 +113,6 @@ export const useStaticPairContract = createStaticContract(PAIR_CON export const useStaticStakingContract = createStaticContract(STAKING_ABI); export const useStaticBondContract = createStaticContract(BOND_ABI.abi); -export const useStaticChefContract = createStaticContract(SUSHI_CHEF_ABI.abi); -export const useStaticChefRewarderContract = createStaticContract(SUSHI_REWARDER_ABI.abi); -export const useStaticJoeChefContract = createStaticContract(JOECHEF_ABI.abi); -export const useStaticJoeRewarderContract = createStaticContract(JOE_REWARDER_ABI.abi); -export const useStaticBeethovenChefContract = createStaticContract(BEETHOVEN_CHEF_ABI.abi); export const useStaticBalancerV2PoolContract = createStaticContract(BALANCERV2_POOL_ABI.abi); export const useStaticBalancerVaultContract = createStaticContract(BALANCER_VAULT_ABI.abi); export const useStaticCurvePoolContract = createStaticContract(CURVE_POOL_ABI.abi); diff --git a/src/hooks/useGoogleAnalytics.ts b/src/hooks/useGoogleAnalytics.ts index 22c7cead14..855a90e7ba 100644 --- a/src/hooks/useGoogleAnalytics.ts +++ b/src/hooks/useGoogleAnalytics.ts @@ -21,7 +21,7 @@ const useGoogleAnalytics = () => { }, address ? { userId: address } : {}, ); - if (import.meta.env.NODE_ENV !== "test") { + if (import.meta.env.MODE !== "test") { if (GA4_API_KEY && GA4_API_KEY.length > 1) { GA4.initialize([ { diff --git a/src/lib/react-query.tsx b/src/lib/react-query.tsx index a24ebc9aad..2d26a8403e 100644 --- a/src/lib/react-query.tsx +++ b/src/lib/react-query.tsx @@ -17,14 +17,14 @@ export const queryClient = new QueryClient({ refetchInterval: false, refetchOnReconnect: false, refetchOnWindowFocus: false, - retry: Environment.env.NODE_ENV === "development" ? false : 3, + retry: Environment.env.MODE === "development" ? false : 3, }, }, }); export const ReactQueryProvider: React.FC = ({ children }) => ( - {Environment.env.NODE_ENV === "development" && } + {Environment.env.MODE === "development" && } {children} diff --git a/src/views/Bond/components/BondDiscount.tsx b/src/views/Bond/components/BondDiscount.tsx index 7f40621497..a4988139ea 100644 --- a/src/views/Bond/components/BondDiscount.tsx +++ b/src/views/Bond/components/BondDiscount.tsx @@ -1,10 +1,11 @@ import { Box, useTheme } from "@mui/material"; import { Chip } from "@olympusdao/component-library"; +import { formatNumber } from "src/helpers"; import { DecimalBigNumber } from "src/helpers/DecimalBigNumber/DecimalBigNumber"; export const BondDiscount: React.VFC<{ discount: DecimalBigNumber; textOnly?: boolean }> = ({ discount, textOnly }) => { const theme = useTheme(); - const discountString = `${discount.mul(new DecimalBigNumber("100")).toString({ decimals: 2, trim: false })}%`; + const discountString = `${formatNumber(Number(discount.mul(new DecimalBigNumber("100").toString())), 2)}%`; return textOnly ? ( ) : ( ); diff --git a/src/views/Bond/components/BondModal/BondModal.tsx b/src/views/Bond/components/BondModal/BondModal.tsx index 105d5f39f9..f9a2a126cb 100644 --- a/src/views/Bond/components/BondModal/BondModal.tsx +++ b/src/views/Bond/components/BondModal/BondModal.tsx @@ -160,7 +160,7 @@ const TokenPrice: React.VFC<{ token: Token; isInverseBond?: boolean; baseSymbol: ? formatNumber(1, 2) : isInverseBond ? formatNumber(ohmPrice, 2) - : `${priceToken.toString({ decimals: 2, format: true, trim: false })}`; + : `${formatNumber(Number(priceToken.toString({ decimals: 2, format: true, trim: false })), 2)}`; return price ? ( <> {price} {isInverseBond ? baseSymbol : quoteSymbol} diff --git a/src/views/Bond/hooks/useBondV3.ts b/src/views/Bond/hooks/useBondV3.ts index a384b937d7..2605956cf0 100644 --- a/src/views/Bond/hooks/useBondV3.ts +++ b/src/views/Bond/hooks/useBondV3.ts @@ -1,8 +1,7 @@ import { useQuery } from "@tanstack/react-query"; import { BigNumber } from "ethers"; import { NetworkId } from "src/constants"; -import { RANGE_OPERATOR_ADDRESSES } from "src/constants/addresses"; -import { BOND_AGGREGATOR_CONTRACT, BOND_FIXED_EXPIRY_TELLER, RANGE_PRICE_CONTRACT } from "src/constants/contracts"; +import { BOND_AGGREGATOR_CONTRACT, BOND_FIXED_EXPIRY_TELLER } from "src/constants/contracts"; import { OHM_TOKEN } from "src/constants/tokens"; import { getTokenByAddress } from "src/helpers/contracts/getTokenByAddress"; import { DecimalBigNumber } from "src/helpers/DecimalBigNumber/DecimalBigNumber"; @@ -67,18 +66,19 @@ export const fetchBondV3 = async ({ id, isInverseBond, networkId }: UseBondOptio * Specifically, half of it is in the scale and half in the price. * To normalize the price value for display, we can add the half that is in the scale factor back to it. */ - const scale = await auctioneerContract.marketScale(id); + const scale = await aggregatorContract.marketScale(id); const baseScale = BigNumber.from("10").pow(BigNumber.from("36").add(baseToken.decimals).sub(quoteToken.decimals)); - const shift = Number(baseScale) / Number(scale); + const shift = baseScale.div(scale); const quoteTokenPerBaseToken = new DecimalBigNumber(bondMarketPrice.mul(shift), 36); const bondTeller = BOND_FIXED_EXPIRY_TELLER.getEthersContract(networkId); - const bondToken = await bondTeller.getBondTokenForMarket(id); - const rbsBond = market.owner === RANGE_OPERATOR_ADDRESSES[networkId]; - const rangePriceContract = RANGE_PRICE_CONTRACT.getEthersContract(networkId); - const priceInUsd = rbsBond - ? new DecimalBigNumber(await rangePriceContract.getCurrentPrice(), 18).mul(quoteTokenPerBaseToken) - : quoteTokenPerUsd.mul(quoteTokenPerBaseToken); + let bondToken = ""; + try { + bondToken = await bondTeller.getBondTokenForMarket(id); + } catch (e) { + console.log("not an ohm bond"); + } + const priceInUsd = quoteTokenPerUsd.mul(quoteTokenPerBaseToken); const discount = baseTokenPerUsd.sub(priceInUsd).div(baseTokenPerUsd); diff --git a/src/views/Range/RangeChart.tsx b/src/views/Range/RangeChart.tsx index 9118e421ff..57d3b301a0 100644 --- a/src/views/Range/RangeChart.tsx +++ b/src/views/Range/RangeChart.tsx @@ -46,14 +46,12 @@ const RangeChart = (props: { sellActive: boolean; reserveSymbol: string; }) => { - const { rangeData, currentPrice, bidPrice, askPrice, sellActive, reserveSymbol } = props; + const { rangeData, currentPrice, bidPrice, askPrice, reserveSymbol } = props; //TODO - Figure out which Subgraphs to query. Currently Uniswap. const { data: priceData, isFetched } = PriceHistory(reserveSymbol); const { data: targetPrice } = OperatorTargetPrice(); const { data: movingAverage } = OperatorMovingAverage(); - console.log(targetPrice, "targetPrice"); - const formattedWallHigh = trim(parseBigNumber(rangeData.wall.high.price, 18), 2); const formattedWallLow = trim(parseBigNumber(rangeData.wall.low.price, 18), 2); const formattedCushionHigh = trim(parseBigNumber(rangeData.cushion.high.price, 18), 2); @@ -61,6 +59,12 @@ const RangeChart = (props: { const chartData = priceData.map((item: any) => { return { ...item, + timestamp: new Date(item.timestamp).toLocaleString("en-US", { + day: "numeric", + month: "short", + hour: "numeric", + minute: "numeric", + }), uv: [formattedWallHigh, formattedCushionHigh], lv: [formattedWallLow, formattedCushionLow], ma: targetPrice, @@ -151,6 +155,7 @@ const RangeChart = (props: { }; const theme = useTheme(); + return isFetched ? ( @@ -184,7 +189,6 @@ const RangeChart = (props: { Math.max(dataMax, askPrice, bidPrice, parseBigNumber(rangeData.wall.low.price, 18)) * 1.05, ]} padding={{ top: 20, bottom: 20 }} - width={42} /> } /> ({ sellActive: boolean; reserveSymbol: string; }) => { - console.log(formatCurrency(props.bidPrice, 2), "bidprice"); return ( <>
Ask: {formatCurrency(props.askPrice, 2)}
@@ -44,9 +43,9 @@ const defaultStatesWithApproval = () => { IERC20Factory.IERC20__factory.connect = vi.fn().mockReturnValue({ symbol: vi.fn().mockReturnValue("DAI"), }); - RANGEPriceContract.RangePrice__factory.connect = vi.fn().mockReturnValue({ - getCurrentPrice: vi.fn().mockReturnValue(BigNumber.from("13209363085060059262")), - }); + //@ts-expect-error + vi.spyOn(Prices, "useOhmPrice").mockReturnValue({ data: "13.209363085" }); + //@ts-ignore rangeOperator.mockReturnValue({ connect: vi.fn().mockReturnValue({ diff --git a/src/views/Range/__tests__/RangeBondsLower.test.tsx b/src/views/Range/__tests__/RangeBondsLower.test.tsx index 63807fc587..da18f974a1 100644 --- a/src/views/Range/__tests__/RangeBondsLower.test.tsx +++ b/src/views/Range/__tests__/RangeBondsLower.test.tsx @@ -3,11 +3,11 @@ import * as Contract from "src/constants/contracts"; import { DecimalBigNumber } from "src/helpers/DecimalBigNumber/DecimalBigNumber"; import * as Balance from "src/hooks/useBalance"; import { useContractAllowance } from "src/hooks/useContractAllowance"; +import * as Prices from "src/hooks/usePrices"; import { connectWallet } from "src/testHelpers"; import { fireEvent, render, screen } from "src/testUtils"; import * as BondTellerContract from "src/typechain/factories/BondTeller__factory"; import * as IERC20Factory from "src/typechain/factories/IERC20__factory"; -import * as RANGEPriceContract from "src/typechain/factories/RangePrice__factory"; import { ohmPriceHistory, RangeData, reservePriceHistory } from "src/views/Range/__mocks__/mockRangeCalls"; import * as RangeHooks from "src/views/Range/hooks"; import { Range } from "src/views/Range/index"; @@ -25,13 +25,14 @@ const setupTest = () => { IERC20Factory.IERC20__factory.connect = vi.fn().mockReturnValue({ symbol: vi.fn().mockReturnValue("DAI"), }); - RANGEPriceContract.RangePrice__factory.connect = vi.fn().mockReturnValue({ - getCurrentPrice: vi.fn().mockReturnValue(BigNumber.from("13209363085060059262")), - }); + //@ts-expect-error + vi.spyOn(Prices, "useOhmPrice").mockReturnValue({ data: "13.209363085" }); + BondTellerContract.BondTeller__factory.connect = vi.fn().mockReturnValue({ purchase: vi.fn().mockReturnValue({ wait: vi.fn().mockResolvedValue(true), }), + getTeller: vi.fn().mockReturnValue(0), }); //@ts-expect-error @@ -82,8 +83,7 @@ describe("Lower Wall Active Bond Market", () => { vi.spyOn(RangeHooks, "DetermineRangePrice").mockReturnValue({ data: { price: "10.12" } }); //@ts-expect-error vi.spyOn(RangeHooks, "OperatorReserveSymbol").mockReturnValue({ data: { reserveAddress: "0x", symbol: "OHM" } }); - const { container } = render(); - fireEvent.click(container.getElementsByClassName("arrow-wrapper")[0]); + render(); fireEvent.input(await screen.findByTestId("reserve-amount"), { target: { value: "6" } }); fireEvent.click(screen.getByTestId("range-submit")); expect(await screen.findByText("I understand that I am selling at a discount to current market price")); diff --git a/src/views/Range/__tests__/RangeBondsUpper.test.tsx b/src/views/Range/__tests__/RangeBondsUpper.test.tsx index fb346ea479..05245810dd 100644 --- a/src/views/Range/__tests__/RangeBondsUpper.test.tsx +++ b/src/views/Range/__tests__/RangeBondsUpper.test.tsx @@ -4,11 +4,11 @@ import { formatCurrency } from "src/helpers"; import { DecimalBigNumber } from "src/helpers/DecimalBigNumber/DecimalBigNumber"; import * as Balance from "src/hooks/useBalance"; import { useContractAllowance } from "src/hooks/useContractAllowance"; +import * as Prices from "src/hooks/usePrices"; import { connectWallet } from "src/testHelpers"; import { fireEvent, render, screen } from "src/testUtils"; import * as BondTellerContract from "src/typechain/factories/BondTeller__factory"; import * as IERC20Factory from "src/typechain/factories/IERC20__factory"; -import * as RANGEPriceContract from "src/typechain/factories/RangePrice__factory"; import { ohmPriceHistory, RangeData, reservePriceHistory } from "src/views/Range/__mocks__/mockRangeCalls"; import * as RangeHooks from "src/views/Range/hooks"; import { Range } from "src/views/Range/index"; @@ -25,7 +25,6 @@ vi.mock("src/views/Range/RangeChart", () => ({ sellActive: boolean; reserveSymbol: string; }) => { - console.log(formatCurrency(props.bidPrice, 2), "bidprice"); return ( <>
Ask: {formatCurrency(props.askPrice, 2)}
@@ -46,9 +45,8 @@ describe("Upper Wall Active Bond Market", () => { IERC20Factory.IERC20__factory.connect = vi.fn().mockReturnValue({ symbol: vi.fn().mockReturnValue("DAI"), }); - RANGEPriceContract.RangePrice__factory.connect = vi.fn().mockReturnValue({ - getCurrentPrice: vi.fn().mockReturnValue(BigNumber.from("13209363085060059262")), - }); + //@ts-expect-error + vi.spyOn(Prices, "useOhmPrice").mockReturnValue({ data: "13.209363085" }); //@ts-ignore BondTellerContract.BondTeller__factory.connect = vi.fn().mockReturnValue({ purchase: vi.fn().mockReturnValue({ diff --git a/src/views/Range/hooks.tsx b/src/views/Range/hooks.tsx index 9c85c1fcd5..8bb8386b6c 100644 --- a/src/views/Range/hooks.tsx +++ b/src/views/Range/hooks.tsx @@ -9,19 +9,17 @@ import { RANGE_OPERATOR_CONTRACT, RANGE_PRICE_CONTRACT, } from "src/constants/contracts"; -import { OHM_TOKEN } from "src/constants/tokens"; import { parseBigNumber } from "src/helpers"; import { trackGAEvent, trackGtagEvent } from "src/helpers/analytics/trackGAEvent"; -import { getTokenByAddress } from "src/helpers/contracts/getTokenByAddress"; -// import { trackGAEvent, trackGtagEvent } from "src/helpers/analytics/trackGAEvent"; import { DecimalBigNumber } from "src/helpers/DecimalBigNumber/DecimalBigNumber"; import { isValidAddress } from "src/helpers/misc/isValidAddress"; import { Providers } from "src/helpers/providers/Providers/Providers"; import { queryAssertion } from "src/helpers/react-query/queryAssertion"; -import { assert } from "src/helpers/types/assert"; +import { useOhmPrice } from "src/hooks/usePrices"; import { useTestableNetworks } from "src/hooks/useTestableNetworks"; import { BondFixedTermSDA__factory, BondTeller__factory, IERC20__factory } from "src/typechain"; import { RANGEv1 as OlympusRange } from "src/typechain/Range"; +import { useBondV3 } from "src/views/Bond/hooks/useBondV3"; import { useSigner } from "wagmi"; /**Chainlink Price Feed. Retrieves OHMETH and ETH/{RESERVE} feed **/ @@ -126,7 +124,6 @@ export const OperatorTargetPrice = () => { isLoading, } = useQuery(["getOperatorTargetPrice", networks.MAINNET], async () => { const targetPrice = parseBigNumber(await contract.getTargetPrice(), 18); - console.log("targetPrice hook", targetPrice); return targetPrice; }); @@ -214,47 +211,6 @@ const band: OlympusRange.BandStruct = { spread: BigNumber.from(0), }; -/** - * Returns the market price for the given bond market - * @param id Bond Market ID - */ -export const RangeBondPrice = (id: BigNumber, side: "low" | "high") => { - const networks = useTestableNetworks(); - const contract = BOND_AGGREGATOR_CONTRACT.getEthersContract(networks.MAINNET); - const { data, isFetched, isLoading } = useQuery( - ["getRangeBondPrice", id, networks.MAINNET, side], - async () => { - const bondPrice = await contract.marketPrice(id); - const auctioneerAddress = await contract.getAuctioneer(id); - const auctioneerContract = BondFixedTermSDA__factory.connect(auctioneerAddress, contract.provider); - const market = await auctioneerContract.markets(id); - const inverse = - market.payoutToken.toLowerCase() !== - OHM_ADDRESSES[networks.MAINNET as keyof typeof OHM_ADDRESSES].toLowerCase(); - const baseToken = inverse - ? await getTokenByAddress({ address: market.payoutToken, networkId: networks.MAINNET }) - : OHM_TOKEN; - assert(baseToken, `Unknown base token address: ${market.payoutToken}`); - const quoteToken = inverse - ? OHM_TOKEN - : await getTokenByAddress({ address: market.quoteToken, networkId: networks.MAINNET }); - assert(quoteToken, `Unknown quote token address: ${market.quoteToken}`); - - const scale = await contract.marketScale(id); - const baseScale = BigNumber.from("10").pow(BigNumber.from("36").add(baseToken.decimals).sub(quoteToken.decimals)); - const shift = baseScale.div(scale); - if (side === "low") { - return 1 / parseBigNumber(bondPrice.mul(shift), 36); - } - return parseBigNumber(bondPrice.mul(shift), 36); - }, - { - enabled: id.gt(-1) && id.lt(ethers.constants.MaxUint256), - }, //Disable this query for negative markets (default value) or Max Integer (market not active from range call) - ); - return { data, isFetched, isLoading }; -}; - export const RangeBondMaxPayout = (id: BigNumber) => { const networks = useTestableNetworks(); const aggregatorContract = BOND_AGGREGATOR_CONTRACT.getEthersContract(networks.MAINNET); @@ -265,7 +221,9 @@ export const RangeBondMaxPayout = (id: BigNumber) => { const auctioneerAddress = await aggregatorContract.getAuctioneer(id); const contract = BondFixedTermSDA__factory.connect(auctioneerAddress, aggregatorContract.provider); const { maxPayout } = await contract.getMarketInfoForPurchase(id); - return maxPayout; + const capacity = await contract.currentCapacity(id); + const maxAmount = maxPayout.lt(capacity) ? maxPayout : capacity; + return maxAmount; }, { enabled: id.gt(-1) && id.lt(ethers.constants.MaxUint256), @@ -305,8 +263,9 @@ export const BondTellerAddress = (id: BigNumber) => { export const DetermineRangePrice = (bidOrAsk: "bid" | "ask") => { const { data: rangeData } = RangeData(); - const { data: upperBondMarket = 0 } = RangeBondPrice(rangeData.high.market, "high"); - const { data: lowerBondMarket = 0 } = RangeBondPrice(rangeData.low.market, "low"); + const { data: upperBondMarket } = useBondV3({ id: rangeData.high.market.toString() }); + const { data: lowerBondMarket } = useBondV3({ id: rangeData.low.market.toString(), isInverseBond: true }); + const { data = { price: 0, contract: "swap" }, isFetched, @@ -317,10 +276,29 @@ export const DetermineRangePrice = (bidOrAsk: "bid" | "ask") => { const sideActive = bidOrAsk === "ask" ? rangeData.high.active : rangeData.low.active; const market = bidOrAsk === "ask" ? rangeData.high.market : rangeData.low.market; const activeBondMarket = market.gt(-1) && market.lt(ethers.constants.MaxUint256); //>=0 <=MAXUint256 - if (sideActive && activeBondMarket) { + const bondOutsideWall = + bidOrAsk === "ask" + ? upperBondMarket?.price.inBaseToken.gt(new DecimalBigNumber(rangeData.wall.high.price, 18)) + : lowerBondMarket + ? new DecimalBigNumber("1") + .div(lowerBondMarket?.price.inBaseToken) + .lt(new DecimalBigNumber(rangeData.wall.low.price, 18)) + : false; + if (sideActive && activeBondMarket && !bondOutsideWall) { return { - price: bidOrAsk === "ask" ? upperBondMarket : lowerBondMarket, + price: + bidOrAsk === "ask" + ? upperBondMarket + ? Number(upperBondMarket?.price.inBaseToken.toString()) + : 0 + : lowerBondMarket + ? 1 / Number(lowerBondMarket?.price.inBaseToken.toString()) + : 0, contract: "bond" as RangeContracts, + discount: + bidOrAsk === "ask" + ? Number(upperBondMarket?.discount.toString()) + : Number(lowerBondMarket?.discount.toString()), }; } else { return { @@ -339,9 +317,9 @@ export const DetermineRangePrice = (bidOrAsk: "bid" | "ask") => { }; export const DetermineRangeDiscount = (bidOrAsk: "bid" | "ask") => { - const { data: currentOhmPrice } = OperatorPrice(); + const { data: currentOhmPrice } = useOhmPrice(); const { data: reserveSymbol } = OperatorReserveSymbol(); - + const { data: rangeData } = RangeData(); const { data: bidOrAskPrice } = DetermineRangePrice(bidOrAsk); const { data = { discount: 0, quoteToken: "" }, @@ -351,9 +329,24 @@ export const DetermineRangeDiscount = (bidOrAsk: "bid" | "ask") => { ["getDetermineRangeDiscount", currentOhmPrice, bidOrAskPrice, reserveSymbol, bidOrAsk], () => { queryAssertion(currentOhmPrice); - + const bondDiscount = bidOrAskPrice.discount ? bidOrAskPrice.discount : undefined; + const sellActive = bidOrAsk === "bid"; + const swapWithOperator = sellActive + ? bidOrAskPrice.price < parseBigNumber(rangeData.wall.low.price, 18) + : bidOrAskPrice.price > parseBigNumber(rangeData.wall.high.price, 18); + + const swapPrice = swapWithOperator + ? sellActive + ? parseBigNumber(rangeData.wall.low.price, 18) + : parseBigNumber(rangeData.wall.high.price, 18) + : sellActive + ? bidOrAskPrice.price + : bidOrAskPrice.price; const discount = - (currentOhmPrice - bidOrAskPrice.price) / (bidOrAsk == "bid" ? -currentOhmPrice : currentOhmPrice); + bondDiscount && !swapWithOperator + ? bondDiscount + : (currentOhmPrice - swapPrice) / (sellActive ? -currentOhmPrice : currentOhmPrice); + return { discount, quoteToken: bidOrAsk === "ask" ? "OHM" : reserveSymbol.symbol }; }, { enabled: !!currentOhmPrice && !!bidOrAskPrice.price && !!reserveSymbol.symbol }, diff --git a/src/views/Range/index.tsx b/src/views/Range/index.tsx index 1d98058fa5..4cd2470b97 100644 --- a/src/views/Range/index.tsx +++ b/src/views/Range/index.tsx @@ -9,14 +9,9 @@ import { formatNumber, parseBigNumber } from "src/helpers"; import { DecimalBigNumber } from "src/helpers/DecimalBigNumber/DecimalBigNumber"; import { useBalance } from "src/hooks/useBalance"; import { usePathForNetwork } from "src/hooks/usePathForNetwork"; +import { useOhmPrice } from "src/hooks/usePrices"; import { useTestableNetworks } from "src/hooks/useTestableNetworks"; -import { - DetermineRangePrice, - OperatorPrice, - OperatorReserveSymbol, - RangeBondMaxPayout, - RangeData, -} from "src/views/Range/hooks"; +import { DetermineRangePrice, OperatorReserveSymbol, RangeBondMaxPayout, RangeData } from "src/views/Range/hooks"; import RangeChart from "src/views/Range/RangeChart"; import RangeConfirmationModal from "src/views/Range/RangeConfirmationModal"; import RangeInputForm from "src/views/Range/RangeInputForm"; @@ -48,28 +43,32 @@ export const Range = () => { const { data: reserveBalance = new DecimalBigNumber("0", 18) } = useBalance(DAI_ADDRESSES)[networks.MAINNET]; const { data: ohmBalance = new DecimalBigNumber("0", 9) } = useBalance(OHM_ADDRESSES)[networks.MAINNET]; - const { data: currentPrice = 0 } = OperatorPrice(); + const { data: currentPrice = 0 } = useOhmPrice(); const maxString = sellActive ? `Max You Can Sell` : `Max You Can Buy`; const { data: upperMaxPayout } = RangeBondMaxPayout(rangeData.high.market); const { data: lowerMaxPayout } = RangeBondMaxPayout(rangeData.low.market); + const buyAsset = sellActive ? reserveSymbol : "OHM"; + const sellAsset = sellActive ? "OHM" : reserveSymbol; + + const { data: bidPrice } = DetermineRangePrice("bid"); + const { data: askPrice } = DetermineRangePrice("ask"); + + const contractType = sellActive ? bidPrice.contract : askPrice.contract; //determine appropriate contract to route to. + const lowerMaxCapacity = - lowerMaxPayout && lowerMaxPayout.lte(rangeData.low.capacity) + lowerMaxPayout && contractType === "bond" ? parseBigNumber(lowerMaxPayout, 18) : parseBigNumber(rangeData.low.capacity, 18); + const upperMaxCapacity = - upperMaxPayout && upperMaxPayout.lte(rangeData.high.capacity) - ? parseBigNumber(upperMaxPayout, 9) + upperMaxPayout && contractType === "bond" + ? parseBigNumber(upperMaxPayout, 18) : parseBigNumber(rangeData.high.capacity, 9); - const maxCapacity = sellActive ? lowerMaxCapacity : upperMaxCapacity; - const buyAsset = sellActive ? reserveSymbol : "OHM"; - const sellAsset = sellActive ? "OHM" : reserveSymbol; - - const { data: bidPrice } = DetermineRangePrice("bid"); - const { data: askPrice } = DetermineRangePrice("ask"); + const maxCapacity = sellActive ? lowerMaxCapacity : upperMaxCapacity; useEffect(() => { if (reserveAmount && ohmAmount) { @@ -78,40 +77,38 @@ export const Range = () => { }, [sellActive]); useEffect(() => { - const sellDiscount = (currentPrice - bidPrice.price) / -currentPrice; - if (sellDiscount > 0) { + if (currentPrice < parseBigNumber(rangeData.cushion.low.price, 18)) { setSellActive(true); } - }, [bidPrice, currentPrice]); - - const maxBalanceString = `${maxCapacity.toFixed(2)} ${buyAsset} (${(sellActive - ? maxCapacity / bidPrice.price - : maxCapacity * askPrice.price - ).toFixed(2)} ${sellAsset})`; + }, [rangeData.cushion.low.price, currentPrice]); - const discount = - (currentPrice - (sellActive ? bidPrice.price : askPrice.price)) / (sellActive ? -currentPrice : currentPrice); + const maxBalanceString = `${formatNumber(maxCapacity, 2)} ${buyAsset} (${formatNumber( + sellActive ? maxCapacity / bidPrice.price : maxCapacity * askPrice.price, + 2, + )} ${sellAsset})`; const handleSubmit = (event: React.FormEvent) => { event.preventDefault(); setModalOpen(true); }; + const swapPrice = sellActive ? bidPrice.price : askPrice.price; + const handleChangeOhmAmount = (value: any) => { - const reserveValue = value * (sellActive ? bidPrice.price : askPrice.price); + const reserveValue = value * swapPrice; setOhmAmount(value); setReserveAmount(reserveValue.toString()); }; const handleChangeReserveAmount = (value: any) => { - const ohmValue = value / (sellActive ? bidPrice.price : askPrice.price); + const ohmValue = value / swapPrice; setOhmAmount(ohmValue.toString()); setReserveAmount(value); }; - const swapPrice = sellActive ? formatNumber(bidPrice.price, 2) : formatNumber(askPrice.price, 2); + const swapPriceFormatted = formatNumber(swapPrice, 2); - const contractType = sellActive ? bidPrice.contract : askPrice.contract; //determine appropriate contract to route to. + const discount = (currentPrice - swapPrice) / (sellActive ? -currentPrice : currentPrice); const hasPrice = (sellActive && askPrice.price) || (!sellActive && bidPrice.price) ? true : false; @@ -119,7 +116,7 @@ export const Range = () => { const reserveAmountAsNumber = new DecimalBigNumber(reserveAmount, 18); const capacityBN = new DecimalBigNumber(maxCapacity.toString(), sellActive ? 18 : 9); //reserve asset if sell, OHM if buy const amountAboveCapacity = sellActive ? reserveAmountAsNumber.gt(capacityBN) : ohmAmountAsNumber.gt(capacityBN); - const amountAboveBalance = sellActive ? ohmAmountAsNumber.gt(ohmBalance) : reserveAmountAsNumber.gt(reserveBalance); + const amountAboveBalance = sellActive ? reserveAmountAsNumber.gt(reserveBalance) : ohmAmountAsNumber.gt(ohmBalance); const swapButtonText = `Swap ${sellAsset} for ${buyAsset}`; @@ -174,8 +171,8 @@ export const Range = () => { - You are about to swap {sellAsset} for {buyAsset} at a price of {swapPrice} {reserveSymbol}. - This is a{" "} + You are about to swap {sellAsset} for {buyAsset} at a price of {swapPriceFormatted}{" "} + {reserveSymbol}. This is a{" "} {sellActive ? discount < 0 ? "discount" @@ -213,7 +210,7 @@ export const Range = () => { />
- +
@@ -259,7 +256,7 @@ export const Range = () => { reserveAddress={reserveAddress} reserveSymbol={reserveSymbol} ohmAmount={ohmAmount} - swapPrice={swapPrice} + swapPrice={swapPriceFormatted} contract={contractType} discount={discount} market={sellActive ? rangeData.low.market : rangeData.high.market} diff --git a/src/views/Stake/__tests__/Stake.unit.test.tsx b/src/views/Stake/__tests__/Stake.unit.test.tsx index 7dd7d3ce29..d9341a7205 100644 --- a/src/views/Stake/__tests__/Stake.unit.test.tsx +++ b/src/views/Stake/__tests__/Stake.unit.test.tsx @@ -17,13 +17,4 @@ describe("", () => { expect(screen.getByText("Farm Pool")); expect(container).toMatchSnapshot(); }); - - it("should render all supported multi chain staking contracts", async () => { - render(); - expect(await screen.getByText("gOHM-AVAX")); - expect(await screen.getByText("Stake on Trader Joe")); - // there should be two sushi contracts, one on Arbitrum and the other on Polygon - const sushiContracts = await screen.findAllByText("gOHM-wETH"); - expect(sushiContracts).toHaveLength(2); - }); }); diff --git a/src/views/Stake/__tests__/StakeMobile.unit.test.jsx b/src/views/Stake/__tests__/StakeMobile.unit.test.jsx deleted file mode 100644 index c9b591db9d..0000000000 --- a/src/views/Stake/__tests__/StakeMobile.unit.test.jsx +++ /dev/null @@ -1,17 +0,0 @@ -import { createMatchMedia } from "src/testHelpers"; -import { render, screen } from "src/testUtils"; -import Stake from "src/views/Stake/Stake"; -beforeAll(() => { - window.matchMedia = createMatchMedia("300px"); -}); -describe("Mobile Resolution", () => { - it("should render all supported multi chain staking contracts for mobile", async () => { - const { container } = render(); - expect(await screen.getByText("gOHM-AVAX")); - expect(await screen.getByText("Stake on Trader Joe")); - // there should be two sushi contracts, one on Arbitrum and the other on Polygon - const sushiContracts = await screen.findAllByText("gOHM-wETH"); - expect(sushiContracts).toHaveLength(2); - expect(container).toMatchSnapshot(); - }); -}); diff --git a/src/views/Stake/__tests__/__snapshots__/Stake.unit.test.tsx.snap b/src/views/Stake/__tests__/__snapshots__/Stake.unit.test.tsx.snap index 39a756ddb5..44e7a37625 100644 --- a/src/views/Stake/__tests__/__snapshots__/Stake.unit.test.tsx.snap +++ b/src/views/Stake/__tests__/__snapshots__/Stake.unit.test.tsx.snap @@ -504,46 +504,33 @@ exports[` > should render component 1`] = ` style="z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - + + > should render component 1`] = `

- gOHM-wETH + OHM-DAI-wETH

> should render component 1`] = ` style="font-size: 15px;" viewBox="0 0 32 32" > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -934,7 +659,10 @@ exports[` > should render component 1`] = ` class="MuiTypography-root MuiTypography-body1 css-pi8uen-MuiTypography-root" style="line-height: 1.4;" > - 0.00% +

> should render component 1`] = ` > Stake on - Sushi + Balancer @@ -989,47 +717,16 @@ exports[` > should render component 1`] = ` style="z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - - > should render component 1`] = `

- gOHM-wETH + OHM-ETH

> should render component 1`] = ` style="font-size: 15px;" viewBox="0 0 32 32" > + + + + + + + + @@ -1132,14 +863,14 @@ exports[` > should render component 1`] = ` >
Stake on - Sushi + Curve @@ -1178,47 +909,16 @@ exports[` > should render component 1`] = ` style="z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - - > should render component 1`] = ` style="margin-left: -6px; z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > + - + + + + + + +
> should render component 1`] = `

- gOHM-AVAX + OHM-ETH

> should render component 1`] = ` style="font-size: 15px;" viewBox="0 0 32 32" > + + + + + + + @@ -1295,14 +1055,14 @@ exports[` > should render component 1`] = ` >
Stake on - Trader Joe + Convex @@ -1341,47 +1101,16 @@ exports[` > should render component 1`] = ` style="z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - - > should render component 1`] = ` style="margin-left: -6px; z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - - - - - - + +
> should render component 1`] = `

- gOHM-wFTM + OHM-FRAX

+
+
+

+ Mint and Sync + +

+
+
> should render component 1`] = ` style="font-size: 15px;" viewBox="0 0 32 32" > + + + - - - - - - - - - - - + + @@ -1522,14 +1246,14 @@ exports[` > should render component 1`] = ` >
Stake on - Beethoven + Fraxswap @@ -1547,3498 +1271,498 @@ exports[` > should render component 1`] = ` - + + + + + + +`; + +exports[` > should render correct staking headers 1`] = ` +
+
+
+
+

+ Stake +

+
+
+
+
+
+
+
-
- + Annualized Rebases +

+
+
+ +
+
+
+
+
+
+
+
+

+ Time to Next Rebase +

+
+
+
+ +
+
+
+
+
+
+
+
+
+

+ Current Index +

+
+
+ +
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ + +
+
+
+
+
+
+
+
+
+
+

+ OHM +

+
+
+
-

- jgOHM-gOHM -

+ +
- +

+ Balance: 0.00 OHM +

+ +
- - -

- -

- - -

- -

- - + +
+
- - - -
-
-

- OHM-DAI-wETH -

-
- -
- - -

- -

- - -

- -

- - - - Stake on - - Balancer - - - - - - - - -
-
- - -
-
-

- OHM-ETH -

-
- -
- - -

- -

- - -

- 0.00% -

- - - - Stake on - - Curve - - - - - - - - -
-
- - -
-
-

- OHM-ETH -

-
- -
- - -

- -

- - -

- 0.00% -

- - - - Stake on - - Convex - - - - - - - - -
-
- - -
-
-

- OHM-FRAX -

-
-
-

- Mint and Sync - -

-
-
-
- -
- - -

- -

- - -

- 0.00% -

- - - - Stake on - - Fraxswap - - - - - - - - -
-
-
-
-
-`; - -exports[` > should render correct staking headers 1`] = ` -
-
-
-
-

- Stake -

-
-
-
-
-
-
-
-
-
-
-

- Annualized Rebases -

-
-
- -
-
-
-
-
-
-
-
-

- Time to Next Rebase -

-
-
-
- -
-
-
-
-
-
-
-
-
-

- Current Index -

-
-
- -
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- - -
-
-
-
-
-
-
-
-
-
- -

- OHM -

- -
-
-
-
-
- -
-
-
-

- Balance: 0.00 OHM -

- -
-
-
-
-
-
- -
-
-
-
-
-
-
- -

- gOHM -

-
-
-
-
-
- -
-
-
-

- Balance: 0.00 gOHM -

- -
-
-
-
-
-
-
- Connect Wallet -
-
-
-
-
-
-
-
-
-
-

- Farm Pool -

-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ +
+ + + +
-
- - - - - - - - - - - - - - - - - - - - - - - -
- Asset - - TVL - - APY -
-
-
- - -
-
-

- gOHM-wETH -

-
- -
-
-

- -

-
-

- 0.00% -

-
- - Stake on - - Sushi - - - - -
-
-
- - -
-
-

- gOHM-wETH -

-
- -
-
-

- -

-
-

- 0.00% -

-
- - Stake on - - Sushi - - - - -
-
-
- - -
-
-

- gOHM-AVAX -

-
- -
-
-

- -

-
-

- 0.00% -

-
- - Stake on - - Trader Joe - - - - -
-
-
- - -
-
-

- gOHM-wFTM -

-
- -
-
-

- -

-
-

- 0.00% -

-
- - Stake on - - Beethoven - - - - -
-
-
- - -
-
-

- jgOHM-gOHM -

-
-

+ gOHM +

+
+ +
+
+
- - - - +
+
+
+

+ Balance: 0.00 gOHM +

+ +
+
-
+ + +
+ Connect Wallet +
+ + + + +
+
+
+
+
+

+ Farm Pool +

+
+
+
+
+
+ + + + + + diff --git a/src/views/Stake/components/ExternalStakePools/ExternalStakePools.tsx b/src/views/Stake/components/ExternalStakePools/ExternalStakePools.tsx index 7c29d96398..77665a0f0b 100644 --- a/src/views/Stake/components/ExternalStakePools/ExternalStakePools.tsx +++ b/src/views/Stake/components/ExternalStakePools/ExternalStakePools.tsx @@ -14,35 +14,18 @@ import { Tooltip, } from "@olympusdao/component-library"; import { formatCurrency, formatNumber } from "src/helpers"; -import { - balancerPools, - beetsPools, - convexPools, - curvePools, - fraxPools, - joePools, - jonesPools, - sushiPools, -} from "src/helpers/AllExternalPools"; +import { balancerPools, convexPools, curvePools, fraxPools } from "src/helpers/AllExternalPools"; import { ExternalPool } from "src/lib/ExternalPool"; import { NetworkId } from "src/networkDetails"; import { BalancerPoolAPY, BalancerSwapFees, - BeetsPoolAPY, ConvexPoolAPY, CurvePoolAPY, FraxPoolAPY, - JoePoolAPY, - JonesPoolAPY, - SushiPoolAPY, } from "src/views/Stake/components/ExternalStakePools/hooks/useStakePoolAPY"; import { useStakePoolBalance } from "src/views/Stake/components/ExternalStakePools/hooks/useStakePoolBalance"; -import { - BalancerPoolTVL, - CurvePoolTVL, - useStakePoolTVL, -} from "src/views/Stake/components/ExternalStakePools/hooks/useStakePoolTVL"; +import { CurvePoolTVL } from "src/views/Stake/components/ExternalStakePools/hooks/useStakePoolTVL"; import { useAccount } from "wagmi"; const PREFIX = "ExternalStakePools"; @@ -105,18 +88,6 @@ export const ExternalStakePools = () => { const AllPools = (props: { isSmallScreen: boolean }) => ( - {sushiPools.map(pool => ( - - ))} - {joePools.map(pool => ( - - ))} - {beetsPools.map(pool => ( - - ))} - {jonesPools.map(pool => ( - - ))} {balancerPools.map(pool => ( ))} @@ -242,44 +213,6 @@ const MobileStakePool: React.FC<{ pool: ExternalPool; tvl?: number; apy?: number ); }; -const SushiPools: React.FC<{ pool: ExternalPool; isSmallScreen: boolean }> = props => { - const { data: totalValueLocked } = useStakePoolTVL(props.pool); - const { apy } = SushiPoolAPY(props.pool); - return props.isSmallScreen ? ( - - ) : ( - - ); -}; - -const JoePools: React.FC<{ pool: ExternalPool; isSmallScreen: boolean }> = props => { - const { data: totalValueLocked } = useStakePoolTVL(props.pool); - const { apy } = JoePoolAPY(props.pool); - return props.isSmallScreen ? ( - - ) : ( - - ); -}; - -const BeetsPools: React.FC<{ pool: ExternalPool; isSmallScreen: boolean }> = props => { - const { data: totalValueLocked } = BalancerPoolTVL(props.pool); - const { apy } = BeetsPoolAPY(props.pool); - return props.isSmallScreen ? ( - - ) : ( - - ); -}; - -const JonesPools: React.FC<{ pool: ExternalPool; isSmallScreen: boolean }> = props => { - const { apy, tvl } = JonesPoolAPY(props.pool); - return props.isSmallScreen ? ( - - ) : ( - - ); -}; const BalancerPools: React.FC<{ pool: ExternalPool; isSmallScreen: boolean }> = props => { const { data } = BalancerSwapFees(props.pool.address); const { apy } = BalancerPoolAPY(props.pool); diff --git a/src/views/Stake/components/ExternalStakePools/hooks/useStakePoolAPY.ts b/src/views/Stake/components/ExternalStakePools/hooks/useStakePoolAPY.ts index 58df6dd3b5..6471f5891c 100644 --- a/src/views/Stake/components/ExternalStakePools/hooks/useStakePoolAPY.ts +++ b/src/views/Stake/components/ExternalStakePools/hooks/useStakePoolAPY.ts @@ -2,79 +2,18 @@ import { useQuery } from "@tanstack/react-query"; import axios from "axios"; import { gql, request } from "graphql-request"; import { getTokenPrice, parseBigNumber } from "src/helpers"; -import { createDependentQuery } from "src/helpers/react-query/createDependentQuery"; -import { queryAssertion } from "src/helpers/react-query/queryAssertion"; import { nonNullable } from "src/helpers/types/nonNullable"; import { useStaticBalancerV2PoolContract, - useStaticBeethovenChefContract, - useStaticChefContract, - useStaticChefRewarderContract, useStaticCurveGaugeControllerContract, useStaticCurveGaugeDepositContract, useStaticCurvePoolContract, - useStaticJoeChefContract, - useStaticJoeRewarderContract, } from "src/hooks/useContract"; -import { useGohmPrice } from "src/hooks/usePrices"; import { ExternalPool } from "src/lib/ExternalPool"; -import { BalancerPoolTVL, useStakePoolTVL } from "src/views/Stake/components/ExternalStakePools/hooks/useStakePoolTVL"; import { useProvider } from "wagmi"; export const stakePoolAPYQueryKey = (pool: ExternalPool) => ["StakePoolAPY", pool].filter(nonNullable); -export const SushiPoolAPY = (pool: ExternalPool) => { - const { data: tvl = 0 } = useStakePoolTVL(pool); - const masterchef = useStaticChefContract(pool.masterchef, pool.networkID); - const rewarder = useStaticChefRewarderContract(pool.rewarder, pool.networkID); - - const { data, isFetched, isLoading } = useQuery(["StakePoolAPY", pool], async () => { - const rewardsPerWeek = parseBigNumber(await masterchef.sushiPerSecond(), 18) * 604800; - const rewarderRewardsPerSecond = parseBigNumber(await rewarder.rewardPerSecond(), 18); - const poolInfo = await masterchef.poolInfo(pool.poolId); - const totalAllocPoint = parseBigNumber(await masterchef.totalAllocPoint(), 18); - const poolRewardsPerWeek = (parseBigNumber(poolInfo.allocPoint, 18) / totalAllocPoint) * rewardsPerWeek; - return { poolRewardsPerWeek, rewarderRewardsPerSecond }; - }); - const { data: apy = 0 } = APY(pool, tvl, data); - return { apy, isFetched, isLoading }; -}; - -export const JoePoolAPY = (pool: ExternalPool) => { - const { data: tvl = 0 } = useStakePoolTVL(pool); - const joechef = useStaticJoeChefContract(pool.masterchef, pool.networkID); - const rewarder = useStaticJoeRewarderContract(pool.rewarder, pool.networkID); - - const { data, isFetched, isLoading } = useQuery(["StakePoolAPY", pool], async () => { - const rewardsPerWeek = parseBigNumber(await joechef.joePerSec(), 18) * 604800; - const rewarderRewardsPerSecond = parseBigNumber(await rewarder.tokenPerSec(), 18); - - const poolInfo = await joechef.poolInfo(pool.poolId); - const totalAllocPoint = parseBigNumber(await joechef.totalAllocPoint(), 18); - const poolRewardsPerWeek = (parseBigNumber(poolInfo.allocPoint, 18) / totalAllocPoint) * rewardsPerWeek; - - return { poolRewardsPerWeek, rewarderRewardsPerSecond }; - }); - const { data: apy = 0 } = APY(pool, tvl, data); - return { apy, isFetched, isLoading }; -}; - -export const BeetsPoolAPY = (pool: ExternalPool) => { - const { data: tvl = 0 } = BalancerPoolTVL(pool); - const beethovenChef = useStaticBeethovenChefContract(pool.masterchef, pool.networkID); - const beetsrewarder = useStaticChefRewarderContract(pool.rewarder, pool.networkID); - const { data, isFetched, isLoading } = useQuery(["StakePoolAPY", pool], async () => { - const rewardsPerWeek = parseBigNumber(await beethovenChef.beetsPerBlock(), 18) * 604800; - const rewarderRewardsPerSecond = parseBigNumber(await beetsrewarder.rewardPerSecond(), 18); - const poolInfo = await beethovenChef.poolInfo(pool.poolId); - const totalAllocPoint = parseBigNumber(await beethovenChef.totalAllocPoint(), 18); - const poolRewardsPerWeek = (parseBigNumber(poolInfo.allocPoint, 18) / totalAllocPoint) * rewardsPerWeek; - return { poolRewardsPerWeek, rewarderRewardsPerSecond }; - }); - const { data: apy = 0 } = APY(pool, tvl, data); - return { apy, isFetched, isLoading }; -}; - //TODO: Add support for Rewarder/Gauge if pool becomes incentivized. //Currently this only calculates APR based on swap fees since there is no concept of staking. export const BalancerPoolAPY = (pool: ExternalPool) => { @@ -172,23 +111,6 @@ export const CurvePoolRewardAPY = (pool: ExternalPool) => { return { data, isFetched, isLoading }; }; -//Returns Jones Pool APY and TVL. Response also returns TVL for the pool, unlike other queries. -export const JonesPoolAPY = (pool: ExternalPool) => { - const jonesAPI = "https://data.jonesdao.io/api/v1/jones/farms/general"; - const { - data = { apy: 0, liquidity_locked: 0 }, - isFetched, - isLoading, - } = useQuery(["JonesPoolAPY", pool.address], async () => { - const results = await axios.get(jonesAPI).then(res => { - const poolData = res.data.farms.find((lp: { lpToken: string }) => lp.lpToken == pool.address); - return poolData; - }); - return results; - }); - return { apy: data.apr / 100, tvl: data.totalStakedValue, isFetched, isLoading }; -}; - //Returns Convex Pool APY and TVL. Response also returns TVL for the pool, unlike other queries. export const ConvexPoolAPY = (pool: ExternalPool) => { const convexAPI = "https://api.thegraph.com/subgraphs/name/convex-community/curve-pools"; @@ -235,28 +157,3 @@ export const FraxPoolAPY = (pool: ExternalPool) => { }); return { apy: data.apy / 100, tvl: data.liquidity_locked, isFetched, isLoading }; }; - -const APY = ( - pool: ExternalPool, - tvl: number, - data?: { poolRewardsPerWeek: number; rewarderRewardsPerSecond: number }, - nongOHMBonus?: string, -) => { - const useDependentQuery = createDependentQuery(stakePoolAPYQueryKey(pool)); - const { data: gohmPrice } = useGohmPrice(); - - const bonusGecko = useDependentQuery("bonus", () => getTokenPrice(nongOHMBonus)); - const rewardPrice = useDependentQuery("rewardPrice", () => getTokenPrice(pool.rewardGecko)); - const bonusTokenPrice = nongOHMBonus ? bonusGecko : gohmPrice; - return useQuery( - ["APY", pool], - () => { - queryAssertion(bonusTokenPrice && rewardPrice && tvl && data); - const rewarderRewardsPerWeek = data.rewarderRewardsPerSecond * 604800; - const baseRewardAPY = ((data.poolRewardsPerWeek * rewardPrice) / tvl) * 52; - const bonusRewardsAPY = ((rewarderRewardsPerWeek * bonusTokenPrice) / tvl) * 52; - return baseRewardAPY + bonusRewardsAPY; - }, - { enabled: !!tvl && !!gohmPrice && !!rewardPrice && !!data }, - ); -}; diff --git a/src/views/Stake/components/ExternalStakePools/hooks/useStakePoolTVL.ts b/src/views/Stake/components/ExternalStakePools/hooks/useStakePoolTVL.ts index 267f3bb1a9..6a3cdc4d2c 100644 --- a/src/views/Stake/components/ExternalStakePools/hooks/useStakePoolTVL.ts +++ b/src/views/Stake/components/ExternalStakePools/hooks/useStakePoolTVL.ts @@ -1,94 +1,7 @@ import { useQuery } from "@tanstack/react-query"; import axios from "axios"; -import { GOHM_ADDRESSES } from "src/constants/addresses"; -import { getTokenPrice, parseBigNumber } from "src/helpers"; -import { createDependentQuery } from "src/helpers/react-query/createDependentQuery"; -import { queryAssertion } from "src/helpers/react-query/queryAssertion"; -import { nonNullable } from "src/helpers/types/nonNullable"; -import { - useStaticBalancerV2PoolContract, - useStaticBalancerVaultContract, - useStaticPairContract, -} from "src/hooks/useContract"; -import { useGohmPrice } from "src/hooks/usePrices"; import { ExternalPool } from "src/lib/ExternalPool"; -export const stakePoolTVLQueryKey = (poolAddress: string) => ["useStakePoolTVL", poolAddress].filter(nonNullable); - -export const useStakePoolTVL = (pool: ExternalPool) => { - const contract = useStaticPairContract(pool.address, pool.networkID); - - // Get dependent data in parallel - const key = stakePoolTVLQueryKey(pool.address); - const useDependentQuery = createDependentQuery(key); - const { data: gohmPrice } = useGohmPrice(); - const reserves = useDependentQuery("reserves", () => contract.getReserves()); - const firstTokenAddress = useDependentQuery("firstTokenAddress", () => contract.token0()); - const poolTokenSupply = useDependentQuery("poolTokenSupply", () => contract.totalSupply()); - const stakedBalance = useDependentQuery("stakedBalance", () => contract.balanceOf(pool.masterchef)); - const nonGohmTokenPrice = useDependentQuery("nonGohmTokenPrice", () => getTokenPrice(pool.pairGecko)); - - return useQuery( - [key], - async () => { - queryAssertion( - gohmPrice && stakedBalance && poolTokenSupply && reserves && nonGohmTokenPrice && firstTokenAddress, - key, - ); - - const isFirstTokenGohm = - firstTokenAddress.toLowerCase() === - GOHM_ADDRESSES[pool.networkID as keyof typeof GOHM_ADDRESSES]?.toLowerCase(); - - const firstTokenPrice = isFirstTokenGohm ? gohmPrice : nonGohmTokenPrice; - const secondTokenPrice = isFirstTokenGohm ? nonGohmTokenPrice : gohmPrice; - - const totalLpAsUSD = - parseBigNumber(reserves[0], 18) * firstTokenPrice + parseBigNumber(reserves[1], 18) * secondTokenPrice; - - const totalValueLocked = (totalLpAsUSD * parseBigNumber(stakedBalance, 18)) / parseBigNumber(poolTokenSupply, 18); - - return totalValueLocked; - }, - { - enabled: - !!gohmPrice && !!stakedBalance && !!poolTokenSupply && !!reserves && !!nonGohmTokenPrice && !!firstTokenAddress, - }, - ); -}; - -export const BalancerPoolTVLQueryKey = (poolAddress: string) => ["useBalancerPoolTVL", poolAddress].filter(nonNullable); - -export const BalancerPoolTVL = (pool: ExternalPool) => { - const vault = pool.vault ? pool.vault : ""; - const useDependentQuery = createDependentQuery(BalancerPoolTVLQueryKey(pool.address)); - const poolContract = useStaticBalancerV2PoolContract(pool.address, pool.networkID); - const vaultContract = useStaticBalancerVaultContract(vault, pool.networkID); - const { data: gohmPrice } = useGohmPrice(); - const nonGohmTokenPrice = useDependentQuery("nonGohmTokenPrice", () => getTokenPrice("fantom")); - const { data, isFetched, isLoading } = useQuery( - ["BalancerPoolTVL", pool], - async () => { - queryAssertion(gohmPrice && nonGohmTokenPrice); - const poolId = await poolContract.getPoolId(); - const stakedBalance = await poolContract.balanceOf(pool.masterchef); - const vaultBalances = await vaultContract.getPoolTokens(poolId); - const poolTokenSupply = await poolContract.totalSupply(); - const isFirstTokenGohm = - vaultBalances.tokens[0] === GOHM_ADDRESSES[pool.networkID as keyof typeof GOHM_ADDRESSES]?.toLowerCase(); - const firstTokenPrice = isFirstTokenGohm ? gohmPrice : nonGohmTokenPrice; - const secondTokenPrice = isFirstTokenGohm ? nonGohmTokenPrice : gohmPrice; - const totalLpAsUSD = - parseBigNumber(vaultBalances.balances[0], 18) * firstTokenPrice + - parseBigNumber(vaultBalances.balances[1], 18) * secondTokenPrice; - const totalValueLocked = (totalLpAsUSD * parseBigNumber(stakedBalance, 18)) / parseBigNumber(poolTokenSupply, 18); - return totalValueLocked; - }, - { enabled: !!gohmPrice && !!nonGohmTokenPrice }, - ); - return { data, isFetched, isLoading }; -}; - export const CurvePoolTVL = (pool: ExternalPool) => { const curveAPI = "https://api.curve.fi/api/getFactoryCryptoPools"; const { diff --git a/src/views/V1-Stake/__tests__/__snapshots__/V1-Stake.unit.test.tsx.snap b/src/views/V1-Stake/__tests__/__snapshots__/V1-Stake.unit.test.tsx.snap index 7d46118360..3e456722c6 100644 --- a/src/views/V1-Stake/__tests__/__snapshots__/V1-Stake.unit.test.tsx.snap +++ b/src/views/V1-Stake/__tests__/__snapshots__/V1-Stake.unit.test.tsx.snap @@ -282,46 +282,33 @@ exports[` > should render component. not connected 1`] = ` style="z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - + + > should render component. not connected 1`] = `

- gOHM-wETH + OHM-DAI-wETH

> should render component. not connected 1`] = ` style="font-size: 15px;" viewBox="0 0 32 32" > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -712,7 +437,10 @@ exports[` > should render component. not connected 1`] = ` class="MuiTypography-root MuiTypography-body1 css-pi8uen-MuiTypography-root" style="line-height: 1.4;" > - 0.00% +

@@ -910,14 +641,14 @@ exports[` > should render component. not connected 1`] = ` > Stake on - Sushi + Curve @@ -956,47 +687,16 @@ exports[` > should render component. not connected 1`] = ` style="z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - - > should render component. not connected 1`] = ` style="margin-left: -6px; z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > + - - -
+ + + + + + + +
+

- gOHM-AVAX + OHM-ETH

> should render component. not connected 1`] = ` style="font-size: 15px;" viewBox="0 0 32 32" > + + + + + + + @@ -1073,14 +833,14 @@ exports[` > should render component. not connected 1`] = ` >
Stake on - Trader Joe + Convex @@ -1119,47 +879,16 @@ exports[` > should render component. not connected 1`] = ` style="z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - - > should render component. not connected 1`] = ` style="margin-left: -6px; z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - - - - - - + +
> should render component. not connected 1`] = `

- gOHM-wFTM + OHM-FRAX

+
+
+

+ Mint and Sync + +

+
+
> should render component. not connected 1`] = ` style="font-size: 15px;" viewBox="0 0 32 32" > + + + - - - - - - - - - - - + + @@ -1300,14 +1024,14 @@ exports[` > should render component. not connected 1`] = ` >
Stake on - Beethoven + Fraxswap @@ -1325,563 +1049,257 @@ exports[` > should render component. not connected 1`] = `
- +
-

- -

- -
+ -

- -

- -
+ - - Stake on - - Jones DAO - - - - - + APY +
> should render component. not connected 1`] = ` > Stake on - Sushi + Balancer @@ -767,47 +495,16 @@ exports[` > should render component. not connected 1`] = ` style="z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - - > should render component. not connected 1`] = `

- gOHM-wETH + OHM-ETH

> should render component. not connected 1`] = ` style="font-size: 15px;" viewBox="0 0 32 32" > + + + + + + + +
+
+
+
+
+ +`; + +exports[` > should render the stake input Area when connected 1`] = ` +
+
+
+
+
+
+
+
+

-

+ +
+
+
+
+ +
+
+ +
+
+
+
+
-
+
+ - - - - - - - - - - - - - - - - - - - +
+
+
+
-

- jgOHM-gOHM -

-
-
+
- - - - - +
+
+
+
+
+
+
+

- - - +

- - - - - - - - - - - - - - - - - - - - - - + +
+
+
+
- - - - +
+
+
-
+ + +
+
+
-

- -

-
-

+

+ + +
+ + +
+

+ All your assets are migrated

-
+
+

+ Unstaked Balance (v1) +

+
+

+ 0.0000 OHM +

+ +
+ +
+
+
-

- OHM-DAI-wETH -

-
- +
+
+
+

+ sOHM Balance (v1) +

+
+

+ 0.0000 sOHM +

+
+
+
+

+ sOHM Balance (v2) +

+
+

+ 0.0000 sOHM +

+
+
+
+

+ gOHM Balance (v2) +

+
+

+ 0.0000 gOHM +

+
+
+
+ + -
-

- -

-
+
+
-

- -

-
+ Your Next Rebase +

+ + + +
+ + + +
-
- - -
-
-

- OHM-ETH -

-
- -
-
-

- -

-
-

- 0.00% -

-
- - Stake on - - Curve - - - - -
-
-
- - -
-
-

- OHM-ETH -

-
- -
-
-

- -

-
-

- 0.00% -

-
- - Stake on - - Convex - - - - -
-
-
- - -
-
-

- OHM-FRAX -

-
-
-

- Mint and Sync - -

-
-
-
- -
-
-

- -

-
-

- 0.00% -

-
- - Stake on - - Fraxswap - - - - -
-
-
-
-
-
-`; - -exports[` > should render the stake input Area when connected 1`] = ` -
-
-
-
-
-
-
-
-

- Single Stake (3, 3) -

-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-

- Annualized Rebases -

-
-
- -
-
-
-
-
-
-
-
-

- Total Value Deposited -

-
-
- -
-
-
-
-
-
-
-
-

- Current Index -

-
-
- -
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- - -
- -
-
-
-

- All your assets are migrated -

-
-
- - Learn More - - - - -
-
- -
-
- -
-
-
-
-

- Unstaked Balance (v1) -

-
-

- 0.0000 OHM -

-
-
- -
-
-
-
-
-
-
-

- sOHM Balance (v1) -

-
-

- 0.0000 sOHM -

-
-
-
-

- sOHM Balance (v2) -

-
-

- 0.0000 sOHM -

-
-
-
-

- gOHM Balance (v2) -

-
-

- 0.0000 gOHM -

-
-
-
-
-
-
-
-
-
-
-

- Your Next Rebase -

-
- -
-
-
-

- Next Rebase Yield -

-
- -
-
-
-

- Rebases (5-Day Rate) -

-
- -
-
-
-
-
-
-
-
-
-
-
-
-

- Farm Pool -

-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Asset - - TVL - - APY - - Balance -
-
-
- - -
-
-

- gOHM-wETH -

-
- -
-
-

- -

-
-

- 0.00% -

-
-

- -

-
- - Stake on - - Sushi - - - - -
-
-
- - -
-
-

- gOHM-wETH -

-
- -
-
-

- -

-
-

- 0.00% -

-
-

- -

-
- - Stake on - - Sushi - - - - -
-
-
- - -
-
-

- gOHM-AVAX -

-
- -
-
-

- -

-
-

- 0.00% -

-
-

- -

-
- - Stake on - - Trader Joe - - - - -
-
-
- - -
-
-

- gOHM-wFTM -

-
- -
-
-

- -

-
-

- 0.00% -

-
-

- -

-
- - Stake on - - Beethoven - - - - -
-
-
- - -
-
-

- jgOHM-gOHM -

-
- -
-
-

- -

-
-

- -

-
-

- -

-
- - Stake on - - Jones DAO - - - - -
-
-
- - - -
-
-

- OHM-DAI-wETH -

-
- -
-
-

- -

-
-

- -

-
-

- -

-
- - Stake on - - Balancer - - - - -
-
-
- - -
-
-

- OHM-ETH -

-
- -
-
-

- -

-
-

- 0.00% -

-
-

- -

-
- - Stake on - - Curve - - - - -
-
-
- - -
-
-

- OHM-ETH -

-
- -
-
-

- -

-
-

- 0.00% -

-
-

- -

-
- - Stake on - - Convex - - - - -
-
-
- - -
-
-

- OHM-FRAX -

-
-
-

- Mint and Sync - -

-
-
-
- -
-
-

- -

-
-

- 0.00% -

-
-

- -

-
- - Stake on - - Fraxswap - - - - -
-
-
-
-
-
-`; - -exports[` > should render the v1 migration modal 1`] = ` -
-
-
-
-
-
-
-
-

- Single Stake (3, 3) -

-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-

- Annualized Rebases -

-
-
- -
-
-
-
-
-
-
-
-

- Total Value Deposited -

-
-
- -
-
-
-
-
-
-
-
-

- Current Index -

-
-
- -
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- - -
- -
-
-
-

- All your assets are migrated -

-
-
- - Learn More - - - - -
-
- -
-
- -
-
-
-
-

- Unstaked Balance (v1) -

-
-

- 0.0000 OHM -

-
-
- -
-
-
-
-
-
-
-

- sOHM Balance (v1) -

-
-

- 0.0000 sOHM -

-
-
-
-

- sOHM Balance (v2) -

-
-

- 0.0000 sOHM -

-
-
-
-

- gOHM Balance (v2) -

-
-

- 0.0000 gOHM -

-
-
-
-
-
-
-
-
-
-
-

- Your Next Rebase -

-
- -
-
-
-

- Next Rebase Yield -

-
- -
-
-
-

- Rebases (5-Day Rate) -

-
- -
-
-
-
-
-
-
-
-
-
-
-
-

- Farm Pool -

-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +
+
+
+
+
+
+
+

+ sOHM Balance (v1) +

+
+

+ 0.0000 sOHM +

+
+
+
+

+ sOHM Balance (v2) +

+
+

+ 0.0000 sOHM +

+
+
+
+

+ gOHM Balance (v2) +

+
+

+ 0.0000 gOHM +

+
+
+
+
+
+
+ +
+
+
+

+ Your Next Rebase +

+
+ +
+
+
+

+ Next Rebase Yield +

+
+ +
+
+
+

+ Rebases (5-Day Rate) +

+
+ +
+ + + + + + +
+
+
+
+
+

+ Farm Pool +

+
+
+
+
+
+
- Asset - - TVL - - APY - - Balance -
-
-
- - -
-
-

- gOHM-wETH -

-
- -
-
-

- -

-
-

- 0.00% -

-
-

- -

-
- - Stake on - - Sushi - - - - -
-
-
- - -
-
-

- gOHM-wETH -

-
- -
-
-

- -

-
-

- 0.00% -

-
-

- -

-
- - Stake on - - Sushi - - - - -
-
-
- - -
-
-

- gOHM-AVAX -

-
- -
-
-

- -

-
-

- 0.00% -

-
-

- -

-
- - Stake on - - Trader Joe - - - - -
-
-
- - -
-
-

- gOHM-wFTM -

-
- -
-
-

- -

-
-

- 0.00% -

-
-

- -

-
- - Stake on - - Beethoven - - - - -
-
-
- - -
-
-

- jgOHM-gOHM -

-
- + Rebases (5-Day Rate) +

-
+ + + + + + + +
+
+
+
+
+

+ Farm Pool +

+
+
+
+
+
+ + + + + + @@ -8960,7 +2482,7 @@ exports[` > should render the v1 migration modal 1`] = ` `; -exports[` > should render the v1 migration modal and banner 1`] = ` +exports[` > should render the v1 migration modal 1`] = `
> should render the v1 migration modal and banner 1`] = ` style="z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - + + > should render the v1 migration modal and banner 1`] = `

- gOHM-wETH + OHM-DAI-wETH

> should render the v1 migration modal and banner 1`] = ` style="font-size: 15px;" viewBox="0 0 32 32" > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - + +
@@ -9982,7 +3229,10 @@ exports[` > should render the v1 migration modal and banner 1`] = ` class="MuiTypography-root MuiTypography-body1 css-pi8uen-MuiTypography-root" style="line-height: 1.4;" > - 0.00% +

@@ -10208,14 +3461,14 @@ exports[` > should render the v1 migration modal and banner 1`] = ` > Stake on - Sushi + Curve @@ -10254,47 +3507,16 @@ exports[` > should render the v1 migration modal and banner 1`] = ` style="z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - - > should render the v1 migration modal and banner 1`] = ` style="margin-left: -6px; z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > + + + + + + +
> should render the v1 migration modal and banner 1`] = `

- gOHM-AVAX + OHM-ETH

> should render the v1 migration modal and banner 1`] = ` style="font-size: 15px;" viewBox="0 0 32 32" > + + + + + + + @@ -10385,14 +3667,14 @@ exports[` > should render the v1 migration modal and banner 1`] = ` >
Stake on - Trader Joe + Convex @@ -10431,47 +3713,16 @@ exports[` > should render the v1 migration modal and banner 1`] = ` style="z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - - > should render the v1 migration modal and banner 1`] = ` style="margin-left: -6px; z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - - - - - - + +
> should render the v1 migration modal and banner 1`] = `

- gOHM-wFTM + OHM-FRAX

+
+
+

+ Mint and Sync + +

+
+
> should render the v1 migration modal and banner 1`] = ` style="font-size: 15px;" viewBox="0 0 32 32" > + + + - - - - - - - - - - - + + @@ -10626,14 +3872,14 @@ exports[` > should render the v1 migration modal and banner 1`] = ` >
Stake on - Beethoven + Fraxswap @@ -10651,594 +3897,586 @@ exports[` > should render the v1 migration modal and banner 1`] = `
- +
-

- -

- -
+ -

- -

- -
+ -

- -

- -
+ - - Stake on - - Jones DAO - - - - - + Balance +
> should render the v1 migration modal and banner 1`] = ` > Stake on - Sushi + Balancer @@ -10051,47 +3301,16 @@ exports[` > should render the v1 migration modal and banner 1`] = ` style="z-index: 1; font-size: 24px;" viewBox="0 0 32 32" > - - - - - - - - > should render the v1 migration modal and banner 1`] = `

- gOHM-wETH + OHM-ETH

> should render the v1 migration modal and banner 1`] = ` style="font-size: 15px;" viewBox="0 0 32 32" > + + + + + + + +
+
+
+
+
+ +`; + +exports[` > should render the v1 migration modal and banner 1`] = ` +
+
+
+
+
+
+
+
+

-

+ +
+
+
+
+ +
+
+ +
+
+
+
+
-
+
+ - - - - - - - - - - - - - - - - - - - +
+
+
+
-

- jgOHM-gOHM -

-
-
+

- - - - +

+
- - - - - +
+
+
+
+
+
+
+

- - - +

- - - - - - - - - - - - - - - - - - - - - - + +
+
+
+
- - - - +
+
+
-
+ + +
+
+
-

+

+ + +
-

-
+ +

- + All your assets are migrated

-
+
-

+ Learn More + class="MuiButton-endIcon MuiButton-iconSizeMedium css-1gnd1fd-MuiButton-endIcon" + > + + + +

+
+ +
+
+ +
+
+
+
+

+ Unstaked Balance (v1) +

+
+

+ 0.0000 OHM

-
+
+ + + + + + + + diff --git a/yarn.lock b/yarn.lock index 3ab12f847c..9090fe0a5a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -61,67 +61,28 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.1.tgz#f2e6ef7790d8c8dbf03d379502dcc246dcce0b30" integrity sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ== -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.14.0", "@babel/core@^7.19.6": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.6.tgz#7122ae4f5c5a37c0946c066149abd8e75f81540f" - integrity sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.6" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-module-transforms" "^7.19.6" - "@babel/helpers" "^7.19.4" - "@babel/parser" "^7.19.6" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.6" - "@babel/types" "^7.19.4" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/core@^7.18.10": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac" - integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A== +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.14.0", "@babel/core@^7.19.6", "@babel/core@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" + integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.13" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-module-transforms" "^7.18.9" - "@babel/helpers" "^7.18.9" - "@babel/parser" "^7.18.13" + "@babel/generator" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-module-transforms" "^7.20.2" + "@babel/helpers" "^7.20.5" + "@babel/parser" "^7.20.5" "@babel/template" "^7.18.10" - "@babel/traverse" "^7.18.13" - "@babel/types" "^7.18.13" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@^7.14.0", "@babel/generator@^7.18.13", "@babel/generator@^7.19.6", "@babel/generator@^7.20.1", "@babel/generator@^7.7.2": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.1.tgz#ef32ecd426222624cbd94871a7024639cf61a9fa" - integrity sha512-u1dMdBUmA7Z0rBB97xh8pIhviK7oItYOkjbsCxTWMknyvbQRBwX7/gn4JXurRdirWMFh+ZtYARqkA6ydogVZpg== - dependencies: - "@babel/types" "^7.20.0" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/generator@^7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" - integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== - dependencies: - "@babel/types" "^7.19.3" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/generator@^7.20.5": +"@babel/generator@^7.14.0", "@babel/generator@^7.18.13", "@babel/generator@^7.20.1", "@babel/generator@^7.20.5", "@babel/generator@^7.7.2": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.5.tgz#cb25abee3178adf58d6814b68517c62bdbfdda95" integrity sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA== @@ -137,7 +98,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.18.6", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.3": +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.18.6", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0": version "7.20.0" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a" integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ== @@ -228,7 +189,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.6": +"@babel/helper-module-transforms@^7.18.6": version "7.19.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz#6c52cc3ac63b70952d33ee987cbee1c9368b533f" integrity sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw== @@ -242,19 +203,19 @@ "@babel/traverse" "^7.19.6" "@babel/types" "^7.19.4" -"@babel/helper-module-transforms@^7.18.9": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" - integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== +"@babel/helper-module-transforms@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz#ac53da669501edd37e658602a21ba14c08748712" + integrity sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" + "@babel/traverse" "^7.20.1" + "@babel/types" "^7.20.2" "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" @@ -304,6 +265,13 @@ dependencies: "@babel/types" "^7.19.4" +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + dependencies: + "@babel/types" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.6.tgz#7dff00a5320ca4cf63270e5a0eca4b268b7380d9" @@ -318,7 +286,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-string-parser@^7.18.10", "@babel/helper-string-parser@^7.19.4": +"@babel/helper-string-parser@^7.19.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== @@ -338,23 +306,14 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== -"@babel/helpers@^7.18.9": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18" - integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== - dependencies: - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - -"@babel/helpers@^7.19.4": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.1.tgz#2ab7a0fcb0a03b5bf76629196ed63c2d7311f4c9" - integrity sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg== +"@babel/helpers@^7.20.5": + version "7.20.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.6.tgz#e64778046b70e04779dfbdf924e7ebb45992c763" + integrity sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w== dependencies: "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.1" - "@babel/types" "^7.20.0" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" "@babel/highlight@^7.18.6": version "7.18.6" @@ -365,16 +324,11 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.8", "@babel/parser@^7.18.10", "@babel/parser@^7.19.6", "@babel/parser@^7.20.1": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.8", "@babel/parser@^7.18.10", "@babel/parser@^7.20.1": version "7.20.1" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.1.tgz#3e045a92f7b4623cafc2425eddcb8cf2e54f9cc5" integrity sha512-hp0AYxaZJhxULfM1zyp7Wgr+pSUKBcP3M+PHnSzWGdXOzg/kHWIgiUWARvubhUKGOEw3xqY4x+lyZ9ytBVcELw== -"@babel/parser@^7.18.13", "@babel/parser@^7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.3.tgz#8dd36d17c53ff347f9e55c328710321b49479a9a" - integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ== - "@babel/parser@^7.20.5": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.5.tgz#7f3c7335fe417665d929f34ae5dceae4c04015e8" @@ -452,6 +406,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-syntax-import-assertions@7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" + integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" @@ -676,12 +637,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-react-jsx-source@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz#06e9ae8a14d2bc19ce6e3c447d842032a50598fc" - integrity sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw== +"@babel/plugin-transform-react-jsx-source@^7.19.6": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz#88578ae8331e5887e8ce28e4c9dc83fb29da0b86" + integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.18.6", "@babel/plugin-transform-react-jsx@^7.19.0": version "7.19.0" @@ -694,17 +655,6 @@ "@babel/plugin-syntax-jsx" "^7.18.6" "@babel/types" "^7.19.0" -"@babel/plugin-transform-react-jsx@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.10.tgz#ea47b2c4197102c196cbd10db9b3bb20daa820f1" - integrity sha512-gCy7Iikrpu3IZjYZolFE4M1Sm+nrh1/6za2Ewj77Z+XirT4TsbJcvOFOyF+fRPwU6AKKK136CZxx6L8AbSFG6A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-jsx" "^7.18.6" - "@babel/types" "^7.18.10" - "@babel/plugin-transform-react-pure-annotations@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz#561af267f19f3e5d59291f9950fd7b9663d0d844" @@ -775,7 +725,7 @@ core-js-pure "^3.20.2" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.19.0", "@babel/runtime@^7.20.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.19.0", "@babel/runtime@^7.20.1", "@babel/runtime@^7.20.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.20.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3" integrity sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA== @@ -807,23 +757,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.18.13": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.3.tgz#3a3c5348d4988ba60884e8494b0592b2f15a04b4" - integrity sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.3" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.3" - "@babel/types" "^7.19.3" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1": +"@babel/traverse@^7.19.1", "@babel/traverse@^7.20.5": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.5.tgz#78eb244bea8270fdda1ef9af22a5d5e5b7e57133" integrity sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ== @@ -839,16 +773,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.8", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.19.4", "@babel/types@^7.20.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.0.tgz#52c94cf8a7e24e89d2a194c25c35b17a64871479" - integrity sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.9", "@babel/types@^7.20.5": +"@babel/types@^7.0.0", "@babel/types@^7.16.8", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.4", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.5.tgz#e206ae370b5393d94dfd1d04cd687cace53efa84" integrity sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg== @@ -857,15 +782,6 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" -"@babel/types@^7.19.3": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.3.tgz#fc420e6bbe54880bce6779ffaf315f5e43ec9624" - integrity sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw== - dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -906,7 +822,7 @@ resolved "https://registry.yarnpkg.com/@cush/relative/-/relative-1.0.0.tgz#8cd1769bf9bde3bb27dac356b1bc94af40f6cc16" integrity sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA== -"@emotion/babel-plugin@^11.10.0", "@emotion/babel-plugin@^11.10.5": +"@emotion/babel-plugin@^11.10.5": version "11.10.5" resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.10.5.tgz#65fa6e1790ddc9e23cc22658a4c5dea423c55c3c" integrity sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA== @@ -971,7 +887,7 @@ "@emotion/weak-memoize" "^0.3.0" hoist-non-react-statics "^3.3.1" -"@emotion/serialize@^1.1.0", "@emotion/serialize@^1.1.1": +"@emotion/serialize@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.1.tgz#0595701b1902feded8a96d293b26be3f5c1a5cf0" integrity sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA== @@ -987,15 +903,15 @@ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.1.tgz#0767e0305230e894897cadb6c8df2c51e61a6c2c" integrity sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA== -"@emotion/styled@^11.10.4": - version "11.10.4" - resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.10.4.tgz#e93f84a4d54003c2acbde178c3f97b421fce1cd4" - integrity sha512-pRl4R8Ez3UXvOPfc2bzIoV8u9P97UedgHS4FPX594ntwEuAMA114wlaHvOK24HB48uqfXiGlYIZYCxVJ1R1ttQ== +"@emotion/styled@^11.10.5": + version "11.10.5" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.10.5.tgz#1fe7bf941b0909802cb826457e362444e7e96a79" + integrity sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.10.0" + "@emotion/babel-plugin" "^11.10.5" "@emotion/is-prop-valid" "^1.2.0" - "@emotion/serialize" "^1.1.0" + "@emotion/serialize" "^1.1.1" "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" "@emotion/utils" "^1.2.0" @@ -1032,25 +948,125 @@ escape-string-regexp "^4.0.0" rollup-plugin-node-polyfills "^0.2.1" +"@esbuild/android-arm64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.4.tgz#4b31b9e3da2e4c12a8170bd682f713c775f68ab1" + integrity sha512-VPuTzXFm/m2fcGfN6CiwZTlLzxrKsWbPkG7ArRFpuxyaHUm/XFHQPD4xNwZT6uUmpIHhnSjcaCmcla8COzmZ5Q== + "@esbuild/android-arm@0.15.18": version "0.15.18" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz#266d40b8fdcf87962df8af05b76219bc786b4f80" integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw== -"@esbuild/linux-loong64@0.14.54": - version "0.14.54" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028" - integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw== +"@esbuild/android-arm@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.4.tgz#057d3e8b0ee41ff59386c33ba6dcf20f4bedd1f7" + integrity sha512-rZzb7r22m20S1S7ufIc6DC6W659yxoOrl7sKP1nCYhuvUlnCFHVSbATG4keGUtV8rDz11sRRDbWkvQZpzPaHiw== + +"@esbuild/android-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.4.tgz#62ccab8ac1d3e6ef1df3fa2e1974bc2b8528d74a" + integrity sha512-MW+B2O++BkcOfMWmuHXB15/l1i7wXhJFqbJhp82IBOais8RBEQv2vQz/jHrDEHaY2X0QY7Wfw86SBL2PbVOr0g== + +"@esbuild/darwin-arm64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.4.tgz#c19a6489d626c36fc611c85ccd8a3333c1f2a930" + integrity sha512-a28X1O//aOfxwJVZVs7ZfM8Tyih2Za4nKJrBwW5Wm4yKsnwBy9aiS/xwpxiiTRttw3EaTg4Srerhcm6z0bu9Wg== + +"@esbuild/darwin-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.4.tgz#b726bbc84a1e277f6ec2509d10b8ee03f242b776" + integrity sha512-e3doCr6Ecfwd7VzlaQqEPrnbvvPjE9uoTpxG5pyLzr2rI2NMjDHmvY1E5EO81O/e9TUOLLkXA5m6T8lfjK9yAA== + +"@esbuild/freebsd-arm64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.4.tgz#364568e6ca2901297f247de0681c9b14bbe658c8" + integrity sha512-Oup3G/QxBgvvqnXWrBed7xxkFNwAwJVHZcklWyQt7YCAL5bfUkaa6FVWnR78rNQiM8MqqLiT6ZTZSdUFuVIg1w== + +"@esbuild/freebsd-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.4.tgz#44701ba4a5497ba64eec0a6c9e221d8f46a25e72" + integrity sha512-vAP+eYOxlN/Bpo/TZmzEQapNS8W1njECrqkTpNgvXskkkJC2AwOXwZWai/Kc2vEFZUXQttx6UJbj9grqjD/+9Q== + +"@esbuild/linux-arm64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.4.tgz#b58fb418ec9ac714d8dbb38c787ff2441eb1d9db" + integrity sha512-2zXoBhv4r5pZiyjBKrOdFP4CXOChxXiYD50LRUU+65DkdS5niPFHbboKZd/c81l0ezpw7AQnHeoCy5hFrzzs4g== + +"@esbuild/linux-arm@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.4.tgz#b37f15ecddb53eeea466e5960e31a58f33e0e87e" + integrity sha512-A47ZmtpIPyERxkSvIv+zLd6kNIOtJH03XA0Hy7jaceRDdQaQVGSDt4mZqpWqJYgDk9rg96aglbF6kCRvPGDSUA== + +"@esbuild/linux-ia32@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.4.tgz#117e32a9680b5deac184ebee122f8575369fad1b" + integrity sha512-uxdSrpe9wFhz4yBwt2kl2TxS/NWEINYBUFIxQtaEVtglm1eECvsj1vEKI0KX2k2wCe17zDdQ3v+jVxfwVfvvjw== "@esbuild/linux-loong64@0.15.18": version "0.15.18" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz#128b76ecb9be48b60cf5cfc1c63a4f00691a3239" integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ== -"@esbuild/linux-loong64@0.15.7": - version "0.15.7" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz#1ec4af4a16c554cbd402cc557ccdd874e3f7be53" - integrity sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw== +"@esbuild/linux-loong64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.4.tgz#dd504fb83c280752d4b485d9acb3cf391cb7bf5b" + integrity sha512-peDrrUuxbZ9Jw+DwLCh/9xmZAk0p0K1iY5d2IcwmnN+B87xw7kujOkig6ZRcZqgrXgeRGurRHn0ENMAjjD5DEg== + +"@esbuild/linux-mips64el@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.4.tgz#9ab77e31cf3be1e35572afff94b51df8149d15bd" + integrity sha512-sD9EEUoGtVhFjjsauWjflZklTNr57KdQ6xfloO4yH1u7vNQlOfAlhEzbyBKfgbJlW7rwXYBdl5/NcZ+Mg2XhQA== + +"@esbuild/linux-ppc64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.4.tgz#69d56c2a960808bee1c7b9b84a115220ec9ce05c" + integrity sha512-X1HSqHUX9D+d0l6/nIh4ZZJ94eQky8d8z6yxAptpZE3FxCWYWvTDd9X9ST84MGZEJx04VYUD/AGgciddwO0b8g== + +"@esbuild/linux-riscv64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.4.tgz#9fc23583f4a1508a8d352bd376340e42217e8a90" + integrity sha512-97ANpzyNp0GTXCt6SRdIx1ngwncpkV/z453ZuxbnBROCJ5p/55UjhbaG23UdHj88fGWLKPFtMoU4CBacz4j9FA== + +"@esbuild/linux-s390x@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.4.tgz#4cae1f70ac2943f076dd130c3c80d28f57bf75d1" + integrity sha512-pUvPQLPmbEeJRPjP0DYTC1vjHyhrnCklQmCGYbipkep+oyfTn7GTBJXoPodR7ZS5upmEyc8lzAkn2o29wD786A== + +"@esbuild/linux-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.4.tgz#fdf494de07cda23a2dc4b71ff1e0848e4ee6539c" + integrity sha512-N55Q0mJs3Sl8+utPRPBrL6NLYZKBCLLx0bme/+RbjvMforTGGzFvsRl4xLTZMUBFC1poDzBEPTEu5nxizQ9Nlw== + +"@esbuild/netbsd-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.4.tgz#b59ecb49087119c575c0f64d7e66001d52799e24" + integrity sha512-LHSJLit8jCObEQNYkgsDYBh2JrJT53oJO2HVdkSYLa6+zuLJh0lAr06brXIkljrlI+N7NNW1IAXGn/6IZPi3YQ== + +"@esbuild/openbsd-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.4.tgz#c51e36db875948b7b11d08bafa355605a1aa289c" + integrity sha512-nLgdc6tWEhcCFg/WVFaUxHcPK3AP/bh+KEwKtl69Ay5IBqUwKDaq/6Xk0E+fh/FGjnLwqFSsarsbPHeKM8t8Sw== + +"@esbuild/sunos-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.4.tgz#0b50e941cd44f069e9f2573321aec984244ec228" + integrity sha512-08SluG24GjPO3tXKk95/85n9kpyZtXCVwURR2i4myhrOfi3jspClV0xQQ0W0PYWHioJj+LejFMt41q+PG3mlAQ== + +"@esbuild/win32-arm64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.4.tgz#d1c93b20f17355ab2221cd18e13ae2f1b68013e3" + integrity sha512-yYiRDQcqLYQSvNQcBKN7XogbrSvBE45FEQdH8fuXPl7cngzkCvpsG2H9Uey39IjQ6gqqc+Q4VXYHsQcKW0OMjQ== + +"@esbuild/win32-ia32@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.4.tgz#df5910e76660e0acbbdceb8d4ae6bf1efeade6ae" + integrity sha512-5rabnGIqexekYkh9zXG5waotq8mrdlRoBqAktjx2W3kb0zsI83mdCwrcAeKYirnUaTGztR5TxXcXmQrEzny83w== + +"@esbuild/win32-x64@0.16.4": + version "0.16.4" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.4.tgz#6ec594468610c176933da1387c609558371d37e0" + integrity sha512-sN/I8FMPtmtT2Yw+Dly8Ur5vQ5a/RmC8hW7jO9PtPSQUPkowxWpcUZnqOggU7VwyT3Xkj6vcXWd3V/qTXwultQ== "@eslint/eslintrc@^1.3.3": version "1.3.3" @@ -1409,28 +1425,27 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@graphql-codegen/cli@2.13.6": - version "2.13.6" - resolved "https://registry.yarnpkg.com/@graphql-codegen/cli/-/cli-2.13.6.tgz#70e2f93aa51f5350af821063368953a667b161de" - integrity sha512-3Q7/aRFPJnd7Zd+gMM/cymUYdaS8dHc+7D6kkEDhYo/rVDusnPMdBkYQ9XUT4UIqE7TZ+gX3yedBsqOeyJyg1Q== +"@graphql-codegen/cli@2.16.1": + version "2.16.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/cli/-/cli-2.16.1.tgz#72df7197e3d2d9261cffdf084ddb4f3845a4bb53" + integrity sha512-11z3iSlsNCXcNNkoRKG3wCmT9XpLf7/GZG9bWGXkCoveWVRwnRmo37YakHdNV3hbcJ4iiGbR3Z+MX9gUTEPDVA== dependencies: "@babel/generator" "^7.18.13" "@babel/template" "^7.18.10" "@babel/types" "^7.18.13" - "@graphql-codegen/core" "2.6.2" - "@graphql-codegen/plugin-helpers" "^2.6.2" + "@graphql-codegen/core" "2.6.8" + "@graphql-codegen/plugin-helpers" "^3.1.1" "@graphql-tools/apollo-engine-loader" "^7.3.6" - "@graphql-tools/code-file-loader" "^7.3.1" - "@graphql-tools/git-loader" "^7.2.1" - "@graphql-tools/github-loader" "^7.3.6" + "@graphql-tools/code-file-loader" "^7.3.13" + "@graphql-tools/git-loader" "^7.2.13" + "@graphql-tools/github-loader" "^7.3.20" "@graphql-tools/graphql-file-loader" "^7.5.0" "@graphql-tools/json-file-loader" "^7.4.1" - "@graphql-tools/load" "^7.7.1" + "@graphql-tools/load" "7.8.0" "@graphql-tools/prisma-loader" "^7.2.7" "@graphql-tools/url-loader" "^7.13.2" "@graphql-tools/utils" "^8.9.0" - "@whatwg-node/fetch" "^0.3.0" - ansi-escapes "^4.3.1" + "@whatwg-node/fetch" "^0.5.0" chalk "^4.1.0" chokidar "^3.5.2" cosmiconfig "^7.0.0" @@ -1443,7 +1458,6 @@ json-to-pretty-yaml "^1.2.2" listr2 "^4.0.5" log-symbols "^4.0.0" - mkdirp "^1.0.4" shell-quote "^1.7.3" string-env-interpolation "^1.0.1" ts-log "^2.2.3" @@ -1451,17 +1465,17 @@ yaml "^1.10.0" yargs "^17.0.0" -"@graphql-codegen/core@2.6.2": - version "2.6.2" - resolved "https://registry.yarnpkg.com/@graphql-codegen/core/-/core-2.6.2.tgz#29c766d2e9e5a3deeeb4f1728c1f7b1aca054a22" - integrity sha512-58T5yf9nEfAhDwN1Vz1hImqpdJ/gGpCGUaroQ5tqskZPf7eZYYVkEXbtqRZZLx1MCCKwjWX4hMtTPpHhwKCkng== +"@graphql-codegen/core@2.6.8": + version "2.6.8" + resolved "https://registry.yarnpkg.com/@graphql-codegen/core/-/core-2.6.8.tgz#00c4011e3619ddbc6af5e41b2f254d6f6759556e" + integrity sha512-JKllNIipPrheRgl+/Hm/xuWMw9++xNQ12XJR/OHHgFopOg4zmN3TdlRSyYcv/K90hCFkkIwhlHFUQTfKrm8rxQ== dependencies: - "@graphql-codegen/plugin-helpers" "^2.6.2" + "@graphql-codegen/plugin-helpers" "^3.1.1" "@graphql-tools/schema" "^9.0.0" - "@graphql-tools/utils" "^8.8.0" + "@graphql-tools/utils" "^9.1.1" tslib "~2.4.0" -"@graphql-codegen/plugin-helpers@^2.6.2", "@graphql-codegen/plugin-helpers@^2.7.2": +"@graphql-codegen/plugin-helpers@^2.7.2": version "2.7.2" resolved "https://registry.yarnpkg.com/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.7.2.tgz#6544f739d725441c826a8af6a49519f588ff9bed" integrity sha512-kln2AZ12uii6U59OQXdjLk5nOlh1pHis1R98cDZGFnfaiAbX9V3fxcZ1MMJkB7qFUymTALzyjZoXXdyVmPMfRg== @@ -1516,10 +1530,10 @@ change-case-all "1.0.14" tslib "~2.4.0" -"@graphql-codegen/typescript-react-query@^4.0.4": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-react-query/-/typescript-react-query-4.0.4.tgz#4c26f8f9de1852fc8715a9895462a90f57d5ed56" - integrity sha512-BByA95JJijnJWJXDRXSz7GnG/cHUwToQxG6VEtb4E3nyZhmAppWl1TXUPMFSHSrUg+fqClAv+Y+DgZ0Fqb22QQ== +"@graphql-codegen/typescript-react-query@^4.0.6": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-react-query/-/typescript-react-query-4.0.6.tgz#2f8e4abc2a842e0bd07bcc001b247b6264efe95d" + integrity sha512-8eXpv6EzyMSji6RmO/txdBVHRb/dwJCIeMUuR7sMhKn2m0kXffrJL9v3u4AR7pdMsME4NChF3hb53PF1tHBSRw== dependencies: "@graphql-codegen/plugin-helpers" "^2.7.2" "@graphql-codegen/visitor-plugin-common" "2.13.1" @@ -1606,13 +1620,13 @@ tslib "^2.4.0" value-or-promise "1.0.11" -"@graphql-tools/code-file-loader@^7.3.1": - version "7.3.4" - resolved "https://registry.yarnpkg.com/@graphql-tools/code-file-loader/-/code-file-loader-7.3.4.tgz#8fee66b72cb77fa4b3ae145df74a9f5c8739c063" - integrity sha512-t8AKQQPfThNv61PouxKmWVIbsdHh0Ek93stgKqLsG4S8fNfRKtUBYX0oqIWoikeccnHXExkDxwbLBBf9H+SLWA== +"@graphql-tools/code-file-loader@^7.3.13": + version "7.3.15" + resolved "https://registry.yarnpkg.com/@graphql-tools/code-file-loader/-/code-file-loader-7.3.15.tgz#3834033e1f58876d6c95248d8eb451d84d600eab" + integrity sha512-cF8VNc/NANTyVSIK8BkD/KSXRF64DvvomuJ0evia7tJu4uGTXgDjimTMWsTjKRGOOBSTEbL6TA8e4DdIYq6Udw== dependencies: - "@graphql-tools/graphql-tag-pluck" "7.3.4" - "@graphql-tools/utils" "8.10.1" + "@graphql-tools/graphql-tag-pluck" "7.4.2" + "@graphql-tools/utils" "9.1.3" globby "^11.0.3" tslib "^2.4.0" unixify "^1.0.0" @@ -1629,27 +1643,27 @@ tslib "~2.4.0" value-or-promise "1.0.11" -"@graphql-tools/git-loader@^7.2.1": - version "7.2.4" - resolved "https://registry.yarnpkg.com/@graphql-tools/git-loader/-/git-loader-7.2.4.tgz#b0b14516608d2f5f81acfd4c9a0645223991240a" - integrity sha512-2xdJh9eVGDfTuBnHwAJHJKFBZeP4k0WKYTydhA0ZMWGPkfWdig3iEmvf78rUwCS+7TcToANeHhR7y3rkVhNVPg== +"@graphql-tools/git-loader@^7.2.13": + version "7.2.15" + resolved "https://registry.yarnpkg.com/@graphql-tools/git-loader/-/git-loader-7.2.15.tgz#875968e5c4680247211e55523988b05a12bc1a46" + integrity sha512-1d5HmeuxhSNjQ2+k2rfKgcKcnZEC6H5FM2pY5lSXHMv8VdBELZd7pYDs5/JxoZarDVYfYOJ5xTeVzxf+Du3VNg== dependencies: - "@graphql-tools/graphql-tag-pluck" "7.3.4" - "@graphql-tools/utils" "8.10.1" + "@graphql-tools/graphql-tag-pluck" "7.4.2" + "@graphql-tools/utils" "9.1.3" is-glob "4.0.3" micromatch "^4.0.4" tslib "^2.4.0" unixify "^1.0.0" -"@graphql-tools/github-loader@^7.3.6": - version "7.3.10" - resolved "https://registry.yarnpkg.com/@graphql-tools/github-loader/-/github-loader-7.3.10.tgz#5d4a768257c5872cf9b1b8740bbfd862efb8415f" - integrity sha512-gtMzkRZwwg8HGNe5OPzVc6K6fF8oyf1y6m6SIdnj0d80qVdjXQOG/5answlb27zKc/rCDPv+KKnpXtbKXs4tHg== +"@graphql-tools/github-loader@^7.3.20": + version "7.3.22" + resolved "https://registry.yarnpkg.com/@graphql-tools/github-loader/-/github-loader-7.3.22.tgz#28aff4f33ffcd4e2d6b0836115fb41df8addd755" + integrity sha512-JE5F/ObbwknO7+gDfeuKAZtLS831WV8/SsLzQLMGY0hdgTbsAg2/xziAGprNToK4GMSD7ygCer9ZryvxBKMwbQ== dependencies: "@ardatan/sync-fetch" "0.0.1" - "@graphql-tools/graphql-tag-pluck" "7.3.4" - "@graphql-tools/utils" "8.10.1" - "@whatwg-node/fetch" "^0.3.0" + "@graphql-tools/graphql-tag-pluck" "7.4.2" + "@graphql-tools/utils" "9.1.3" + "@whatwg-node/fetch" "^0.5.0" tslib "^2.4.0" "@graphql-tools/graphql-file-loader@^7.3.7", "@graphql-tools/graphql-file-loader@^7.5.0": @@ -1663,15 +1677,16 @@ tslib "^2.4.0" unixify "^1.0.0" -"@graphql-tools/graphql-tag-pluck@7.3.4": - version "7.3.4" - resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.3.4.tgz#211fd645fcd9e5a0f994aa440d6c495ed88770ea" - integrity sha512-vPCUuxUV+/vK2hDidzWvaqgGifQriwmDJUUlp5Js1CEIUKm3dFI4V1bCos2r25lQ6NbH9WSJt2cZTACnaH939g== +"@graphql-tools/graphql-tag-pluck@7.4.2": + version "7.4.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.4.2.tgz#0e72a142e2fb7e0cb6a86b910e44682772e5d7f1" + integrity sha512-SXM1wR5TExrxocQTxZK5r74jTbg8GxSYLY3mOPCREGz6Fu7PNxMxfguUzGUAB43Mf44Dn8oVztzd2eitv2Qgww== dependencies: "@babel/parser" "^7.16.8" + "@babel/plugin-syntax-import-assertions" "7.20.0" "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" - "@graphql-tools/utils" "8.10.1" + "@graphql-tools/utils" "9.1.3" tslib "^2.4.0" "@graphql-tools/import@6.7.4": @@ -1693,13 +1708,13 @@ tslib "^2.4.0" unixify "^1.0.0" -"@graphql-tools/load@^7.5.5", "@graphql-tools/load@^7.7.1": - version "7.7.5" - resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-7.7.5.tgz#a3e3115f98186911f6867523ca5301b6680dfa90" - integrity sha512-7AnT87hNG37gE8677D9/1P6yaRLKCxi52Ipr1YFN3vSIIARA692nv5/k9PkksHVmJitbvjPu4BxvnVcDOMtMSw== +"@graphql-tools/load@7.8.0", "@graphql-tools/load@^7.5.5": + version "7.8.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-7.8.0.tgz#bd4d2e2a5117de9a60f9691a218217e96afc2ea7" + integrity sha512-l4FGgqMW0VOqo+NMYizwV8Zh+KtvVqOf93uaLo9wJ3sS3y/egPCgxPMDJJ/ufQZG3oZ/0oWeKt68qop3jY0yZg== dependencies: - "@graphql-tools/schema" "9.0.2" - "@graphql-tools/utils" "8.10.1" + "@graphql-tools/schema" "9.0.4" + "@graphql-tools/utils" "8.12.0" p-limit "3.1.0" tslib "^2.4.0" @@ -1711,6 +1726,14 @@ "@graphql-tools/utils" "8.10.1" tslib "^2.4.0" +"@graphql-tools/merge@8.3.6": + version "8.3.6" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.3.6.tgz#97a936d4c8e8f935e58a514bb516c476437b5b2c" + integrity sha512-uUBokxXi89bj08P+iCvQk3Vew4vcfL5ZM6NTylWi8PIpoq4r5nJ625bRuN8h2uubEdRiH8ntN9M4xkd/j7AybQ== + dependencies: + "@graphql-tools/utils" "8.12.0" + tslib "^2.4.0" + "@graphql-tools/merge@^8.2.6": version "8.3.0" resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.3.0.tgz#d3a8ba10942f8598788c3e03f97cc1d0c0b055f8" @@ -1770,6 +1793,16 @@ tslib "^2.4.0" value-or-promise "1.0.11" +"@graphql-tools/schema@9.0.4": + version "9.0.4" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.4.tgz#1a74608b57abf90fae6fd929d25e5482c57bc05d" + integrity sha512-B/b8ukjs18fq+/s7p97P8L1VMrwapYc3N2KvdG/uNThSazRRn8GsBK0Nr+FH+mVKiUfb4Dno79e3SumZVoHuOQ== + dependencies: + "@graphql-tools/merge" "8.3.6" + "@graphql-tools/utils" "8.12.0" + tslib "^2.4.0" + value-or-promise "1.0.11" + "@graphql-tools/url-loader@7.14.1", "@graphql-tools/url-loader@^7.13.2", "@graphql-tools/url-loader@^7.9.7": version "7.14.1" resolved "https://registry.yarnpkg.com/@graphql-tools/url-loader/-/url-loader-7.14.1.tgz#090558c47f801f0ab6a50bdaf01f184216700679" @@ -1791,13 +1824,20 @@ value-or-promise "^1.0.11" ws "^8.3.0" -"@graphql-tools/utils@8.10.1", "@graphql-tools/utils@^8.6.5", "@graphql-tools/utils@^8.8.0", "@graphql-tools/utils@^8.9.0": +"@graphql-tools/utils@8.10.1": version "8.10.1" resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.10.1.tgz#3224fe0611c9bb51e6a5c16472ae17afbd6c5465" integrity sha512-UYi/afPvxZ8mz0LjplMxOSmGDPenVS/Q0zJ/6LOyF9yZdJYIDe+J+Qr/I9+rCYQmgBW4BJeRUUc7VoUzZPfZDA== dependencies: tslib "^2.4.0" +"@graphql-tools/utils@8.12.0", "@graphql-tools/utils@^8.6.5", "@graphql-tools/utils@^8.8.0", "@graphql-tools/utils@^8.9.0": + version "8.12.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.12.0.tgz#243bc4f5fc2edbc9e8fd1038189e57d837cbe31f" + integrity sha512-TeO+MJWGXjUTS52qfK4R8HiPoF/R7X+qmgtOYd8DTH0l6b+5Y/tlg5aGeUJefqImRq7nvi93Ms40k/Uz4D5CWw== + dependencies: + tslib "^2.4.0" + "@graphql-tools/utils@8.8.0": version "8.8.0" resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.8.0.tgz#8332ff80a1da9204ccf514750dd6f5c5cccf17dc" @@ -1812,6 +1852,13 @@ dependencies: tslib "^2.4.0" +"@graphql-tools/utils@9.1.3", "@graphql-tools/utils@^9.1.1": + version "9.1.3" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-9.1.3.tgz#861f87057b313726136fa6ddfbd2380eae906599" + integrity sha512-bbJyKhs6awp1/OmP+WKA1GOyu9UbgZGkhIj5srmiMGLHohEOKMjW784Sk0BZil1w2x95UPu0WHw6/d/HVCACCg== + dependencies: + tslib "^2.4.0" + "@graphql-tools/wrap@9.0.5": version "9.0.5" resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-9.0.5.tgz#7dfd0ad15659fc527a6a1eaa8c4a0fc479916bfb" @@ -2079,7 +2126,7 @@ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@jridgewell/sourcemap-codec@^1.4.10": +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13": version "1.4.14" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== @@ -2172,12 +2219,12 @@ resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.17.tgz#ce105d692b77fcb41e0c060f3aea0c8ca566ff5a" integrity sha512-iNwUuMA30nrN0tiEkeD3zaczv7Tk2jlZIDbXRnijAsYXkZtl/xEzQsVRIPYRDuyEz6D18vQJhV8h7gPUXEubTg== -"@mui/icons-material@^5.10.16": - version "5.10.16" - resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.10.16.tgz#9c16054d0cc54d40267447128a07e79b516ead1e" - integrity sha512-jjCc0IF6iyLiucQCu5igg3fOscSqbbvRCmyRxXgzOcLR56B0sg2L8o+ZfJ0dAg59+wvgtXaxvjze/mJg0B4iWA== +"@mui/icons-material@^5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.11.0.tgz#9ea6949278b2266d2683866069cd43009eaf6464" + integrity sha512-I2LaOKqO8a0xcLGtIozC9xoXjZAto5G5gh0FYUMAlbsIHNHIjn4Xrw9rvjY20vZonyiGrZNMAlAXYkY6JvhF6A== dependencies: - "@babel/runtime" "^7.20.1" + "@babel/runtime" "^7.20.6" "@mui/material@^5.10.17": version "5.10.17" @@ -2423,7 +2470,7 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rollup/pluginutils@^5.0.0": +"@rollup/pluginutils@^5.0.2": version "5.0.2" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== @@ -2535,7 +2582,7 @@ "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" "@svgr/babel-plugin-transform-svg-component" "^6.5.1" -"@svgr/core@^6.4.0": +"@svgr/core@^6.5.1": version "6.5.1" resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.5.1.tgz#d3e8aa9dbe3fbd747f9ee4282c1c77a27410488a" integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== @@ -2745,6 +2792,11 @@ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.3.tgz#3c90752792660c4b562ad73b3fbd68bf3bc7ae07" integrity sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g== +"@types/chai@^4.3.4": + version "4.3.4" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.4.tgz#e913e8175db8307d78b4e8fa690408ba6b65dee4" + integrity sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw== + "@types/connect@^3.4.33": version "3.4.35" resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" @@ -2757,34 +2809,34 @@ resolved "https://registry.yarnpkg.com/@types/css-mediaquery/-/css-mediaquery-0.1.1.tgz#0902ee5849b89a45390c2c9dccbb536a75a88511" integrity sha512-JQ+sPiPlRUHmlL4e3DBUNbxVEb6p7dis78/uSDbQpkeCKVoepChZMWGPIVA2JIH0ylfkA9S+TZUdShlgDpFKrw== -"@types/d3-color@*": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-3.1.0.tgz#6594da178ded6c7c3842f3cc0ac84b156f12f2d4" - integrity sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA== +"@types/d3-color@^2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-2.0.3.tgz#8bc4589073c80e33d126345542f588056511fe82" + integrity sha512-+0EtEjBfKEDtH9Rk3u3kLOUXM5F+iZK+WvASPb0MhIZl8J8NUvGeZRwKCXl+P3HkYx5TdU4YtcibpqHkSR9n7w== -"@types/d3-interpolate@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-3.0.1.tgz#e7d17fa4a5830ad56fe22ce3b4fac8541a9572dc" - integrity sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw== +"@types/d3-interpolate@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-2.0.2.tgz#78eddf7278b19e48e8652603045528d46897aba0" + integrity sha512-lElyqlUfIPyWG/cD475vl6msPL4aMU7eJvx1//Q177L8mdXoVPFl1djIESF2FKnc0NyaHvQlJpWwKJYwAhUoCw== dependencies: - "@types/d3-color" "*" - -"@types/d3-path@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-3.0.0.tgz#939e3a784ae4f80b1fde8098b91af1776ff1312b" - integrity sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg== + "@types/d3-color" "^2" "@types/d3-path@^1": version "1.0.9" resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-1.0.9.tgz#73526b150d14cd96e701597cbf346cfd1fd4a58c" integrity sha512-NaIeSIBiFgSC6IGUBjZWcscUJEq7vpVu7KthHN8eieTV9d9MqkSOZLH4chq1PmcKy06PNe3axLeKmRIyxJ+PZQ== -"@types/d3-scale@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-4.0.2.tgz#41be241126af4630524ead9cb1008ab2f0f26e69" - integrity sha512-Yk4htunhPAwN0XGlIwArRomOjdoBFXC3+kCxK2Ubg7I9shQlVSJy/pG/Ht5ASN+gdMIalpk8TJ5xV74jFsetLA== +"@types/d3-path@^2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-2.0.2.tgz#6052f38f6186319769dfabab61b5514b0e02c75c" + integrity sha512-3YHpvDw9LzONaJzejXLOwZ3LqwwkoXb9LI2YN7Hbd6pkGo5nIlJ09ul4bQhBN4hQZJKmUpX8HkVqbzgUKY48cg== + +"@types/d3-scale@^3.0.0": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-3.3.2.tgz#18c94e90f4f1c6b1ee14a70f14bfca2bd1c61d06" + integrity sha512-gGqr7x1ost9px3FvIfUMi5XA/F/yAf4UkUDtdQhpH92XCT0Oa7zkkRzY61gPVJq+DxpHn/btouw5ohWkbBsCzQ== dependencies: - "@types/d3-time" "*" + "@types/d3-time" "^2" "@types/d3-shape@^1": version "1.3.8" @@ -2793,17 +2845,17 @@ dependencies: "@types/d3-path" "^1" -"@types/d3-shape@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-3.1.0.tgz#1d87a6ddcf28285ef1e5c278ca4bdbc0658f3505" - integrity sha512-jYIYxFFA9vrJ8Hd4Se83YI6XF+gzDL1aC5DCsldai4XYYiVNdhtpGbA/GM6iyQ8ayhSp3a148LY34hy7A4TxZA== +"@types/d3-shape@^2.0.0": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-2.1.3.tgz#35d397b9e687abaa0de82343b250b9897b8cacf3" + integrity sha512-HAhCel3wP93kh4/rq+7atLdybcESZ5bRHDEZUojClyZWsRuEMo3A52NGYJSh48SxfxEU6RZIVbZL2YFZ2OAlzQ== dependencies: - "@types/d3-path" "*" + "@types/d3-path" "^2" -"@types/d3-time@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-3.0.0.tgz#e1ac0f3e9e195135361fa1a1d62f795d87e6e819" - integrity sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg== +"@types/d3-time@^2": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-2.1.1.tgz#743fdc821c81f86537cbfece07093ac39b4bc342" + integrity sha512-9MVYlmIgmRR31C5b4FVSWtuMmBHh2mOWQYfl7XAYOa8dsnb7iEmUmRSWSFgXFtkjxO65d7hTUHQC+RhR/9IWFg== "@types/debug@^4.0.0": version "4.1.7" @@ -2990,22 +3042,12 @@ dependencies: "@types/node" "*" -"@types/prettier@^2.1.1": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.3.tgz#a3c65525b91fca7da00ab1a3ac2b5a2a4afbffbf" - integrity sha512-QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w== - -"@types/prettier@^2.1.5": +"@types/prettier@^2.1.1", "@types/prettier@^2.1.5": version "2.6.0" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.0.tgz#efcbd41937f9ae7434c714ab698604822d890759" integrity sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw== -"@types/prop-types@*": - version "15.7.4" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" - integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== - -"@types/prop-types@^15.0.0", "@types/prop-types@^15.7.5": +"@types/prop-types@*", "@types/prop-types@^15.0.0", "@types/prop-types@^15.7.5": version "15.7.5" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== @@ -3175,24 +3217,16 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.39.0": - version "5.39.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.39.0.tgz#93fa0bc980a3a501e081824f6097f7ca30aaa22b" - integrity sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA== +"@typescript-eslint/parser@^5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.46.0.tgz#002d8e67122947922a62547acfed3347cbf2c0b6" + integrity sha512-joNO6zMGUZg+C73vwrKXCd8usnsmOYmgW/w5ZW0pG0RGvqeznjtGDk61EqqTpNrFLUYBW2RSBFrxdAZMqA4OZA== dependencies: - "@typescript-eslint/scope-manager" "5.39.0" - "@typescript-eslint/types" "5.39.0" - "@typescript-eslint/typescript-estree" "5.39.0" + "@typescript-eslint/scope-manager" "5.46.0" + "@typescript-eslint/types" "5.46.0" + "@typescript-eslint/typescript-estree" "5.46.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.39.0": - version "5.39.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.39.0.tgz#873e1465afa3d6c78d8ed2da68aed266a08008d0" - integrity sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw== - dependencies: - "@typescript-eslint/types" "5.39.0" - "@typescript-eslint/visitor-keys" "5.39.0" - "@typescript-eslint/scope-manager@5.45.1": version "5.45.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.45.1.tgz#5b87d025eec7035d879b99c260f03be5c247883c" @@ -3201,6 +3235,14 @@ "@typescript-eslint/types" "5.45.1" "@typescript-eslint/visitor-keys" "5.45.1" +"@typescript-eslint/scope-manager@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.46.0.tgz#60790b14d0c687dd633b22b8121374764f76ce0d" + integrity sha512-7wWBq9d/GbPiIM6SqPK9tfynNxVbfpihoY5cSFMer19OYUA3l4powA2uv0AV2eAZV6KoAh6lkzxv4PoxOLh1oA== + dependencies: + "@typescript-eslint/types" "5.46.0" + "@typescript-eslint/visitor-keys" "5.46.0" + "@typescript-eslint/type-utils@5.45.1": version "5.45.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.45.1.tgz#cb7d300c3c95802cea9f87c7f8be363cf8f8538c" @@ -3211,28 +3253,15 @@ debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.39.0": - version "5.39.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.39.0.tgz#f4e9f207ebb4579fd854b25c0bf64433bb5ed78d" - integrity sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw== - "@typescript-eslint/types@5.45.1": version "5.45.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.45.1.tgz#8e1883041cee23f1bb7e1343b0139f97f6a17c14" integrity sha512-HEW3U0E5dLjUT+nk7b4lLbOherS1U4ap+b9pfu2oGsW3oPu7genRaY9dDv3nMczC1rbnRY2W/D7SN05wYoGImg== -"@typescript-eslint/typescript-estree@5.39.0": - version "5.39.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.39.0.tgz#c0316aa04a1a1f4f7f9498e3c13ef1d3dc4cf88b" - integrity sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA== - dependencies: - "@typescript-eslint/types" "5.39.0" - "@typescript-eslint/visitor-keys" "5.39.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" +"@typescript-eslint/types@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.46.0.tgz#f4d76622a996b88153bbd829ea9ccb9f7a5d28bc" + integrity sha512-wHWgQHFB+qh6bu0IAPAJCdeCdI0wwzZnnWThlmHNY01XJ9Z97oKqKOzWYpR2I83QmshhQJl6LDM9TqMiMwJBTw== "@typescript-eslint/typescript-estree@5.45.1": version "5.45.1" @@ -3247,6 +3276,19 @@ semver "^7.3.7" tsutils "^3.21.0" +"@typescript-eslint/typescript-estree@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.0.tgz#a6c2b84b9351f78209a1d1f2d99ca553f7fa29a5" + integrity sha512-kDLNn/tQP+Yp8Ro2dUpyyVV0Ksn2rmpPpB0/3MO874RNmXtypMwSeazjEN/Q6CTp8D7ExXAAekPEcCEB/vtJkw== + dependencies: + "@typescript-eslint/types" "5.46.0" + "@typescript-eslint/visitor-keys" "5.46.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + "@typescript-eslint/utils@5.45.1": version "5.45.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.45.1.tgz#39610c98bde82c4792f2a858b29b7d0053448be2" @@ -3261,14 +3303,6 @@ eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.39.0": - version "5.39.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.39.0.tgz#8f41f7d241b47257b081ddba5d3ce80deaae61e2" - integrity sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg== - dependencies: - "@typescript-eslint/types" "5.39.0" - eslint-visitor-keys "^3.3.0" - "@typescript-eslint/visitor-keys@5.45.1": version "5.45.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.1.tgz#204428430ad6a830d24c5ac87c71366a1cfe1948" @@ -3277,6 +3311,14 @@ "@typescript-eslint/types" "5.45.1" eslint-visitor-keys "^3.3.0" +"@typescript-eslint/visitor-keys@5.46.0": + version "5.46.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.0.tgz#36d87248ae20c61ef72404bcd61f14aa2563915f" + integrity sha512-E13gBoIXmaNhwjipuvQg1ByqSAu/GbEpP/qzFihugJ+MomtoJtFAJG/+2DRPByf57B863m0/q7Zt16V9ohhANw== + dependencies: + "@typescript-eslint/types" "5.46.0" + eslint-visitor-keys "^3.3.0" + "@vanilla-extract/css@1.9.1": version "1.9.1" resolved "https://registry.yarnpkg.com/@vanilla-extract/css/-/css-1.9.1.tgz#337b79faa5f8f98915a90c3fe3c30b54be746c09" @@ -3311,26 +3353,24 @@ resolved "https://registry.yarnpkg.com/@vanilla-extract/sprinkles/-/sprinkles-1.5.0.tgz#c921183ae518bb484299c2dc81f2acefd91c3dbe" integrity sha512-W58f2Rzz5lLmk0jbhgStVlZl5wEiPB1Ur3fRvUaBM+MrifZ3qskmFq/CiH//fEYeG5Dh9vF1qRviMMH46cX9Nw== -"@vitejs/plugin-react@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-2.0.1.tgz#3197c01d8e4a4eb9fed829c7888c467a43aadd4e" - integrity sha512-uINzNHmjrbunlFtyVkST6lY1ewSfz/XwLufG0PIqvLGnpk2nOIOa/1CACTDNcKi1/RwaCzJLmsXwm1NsUVV/NA== +"@vitejs/plugin-react@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.0.0.tgz#f36ee1b2ce958dd11ac63fdf746a3b27b0d258ed" + integrity sha512-1mvyPc0xYW5G8CHQvJIJXLoMjl5Ct3q2g5Y2s6Ccfgwm45y48LBvsla7az+GkkAtYikWQ4Lxqcsq5RHLcZgtNQ== dependencies: - "@babel/core" "^7.18.10" - "@babel/plugin-transform-react-jsx" "^7.18.10" - "@babel/plugin-transform-react-jsx-development" "^7.18.6" + "@babel/core" "^7.20.5" "@babel/plugin-transform-react-jsx-self" "^7.18.6" - "@babel/plugin-transform-react-jsx-source" "^7.18.6" - magic-string "^0.26.2" + "@babel/plugin-transform-react-jsx-source" "^7.19.6" + magic-string "^0.27.0" react-refresh "^0.14.0" -"@vitest/coverage-c8@^0.25.5": - version "0.25.5" - resolved "https://registry.yarnpkg.com/@vitest/coverage-c8/-/coverage-c8-0.25.5.tgz#515c06d7c00eed2337ca0aa317616bfbe9482c59" - integrity sha512-tXlg0QVkTQ+7dqhsuwRFovP5vjgYGyBrRREFS55IQ20IsiSaRug9sRblRsckTXmGtz1OMJy/Lxv1gFVo24/ipA== +"@vitest/coverage-c8@^0.25.8": + version "0.25.8" + resolved "https://registry.yarnpkg.com/@vitest/coverage-c8/-/coverage-c8-0.25.8.tgz#a46d171b1b2291089dd5518642bbbec9890617e5" + integrity sha512-fWgzQoK2KNzTTNnDcLCyibfO9/pbcpPOMtZ9Yvq/Eggpi2X8lewx/OcKZkO5ba5q9dl6+BBn6d5hTcS1709rZw== dependencies: c8 "^7.12.0" - vitest "0.25.5" + vitest "0.25.8" "@vitest/ui@^0.23.1": version "0.23.1" @@ -3587,6 +3627,20 @@ undici "^5.8.0" web-streams-polyfill "^3.2.0" +"@whatwg-node/fetch@^0.5.0": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.5.3.tgz#afbd38a2e5392d91318845b967529076ca654b9e" + integrity sha512-cuAKL3Z7lrJJuUrfF1wxkQTb24Qd1QO/lsjJpM5ZSZZzUMms5TPnbGeGUKWA3hVKNHh30lVfr2MyRCT5Jfkucw== + dependencies: + "@peculiar/webcrypto" "^1.4.0" + abort-controller "^3.0.0" + busboy "^1.6.0" + form-data-encoder "^1.7.1" + formdata-node "^4.3.1" + node-fetch "^2.6.7" + undici "^5.12.0" + web-streams-polyfill "^3.2.0" + JSONStream@^1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -3612,40 +3666,25 @@ abort-controller@^3.0.0: dependencies: event-target-shim "^5.0.0" -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== +acorn-globals@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" + integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" + acorn "^8.1.0" + acorn-walk "^8.0.2" acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -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-walk@^8.1.1, acorn-walk@^8.2.0: +acorn-walk@^8.0.2, acorn-walk@^8.1.1, acorn-walk@^8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== - -acorn@^8.8.1: +acorn@^8.1.0, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.0, acorn@^8.8.1: version "8.8.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== @@ -3690,7 +3729,7 @@ ajv@^6.10.0, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.1: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -4194,11 +4233,6 @@ brorand@^1.1.0: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - browserify-aes@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" @@ -4401,6 +4435,19 @@ chai@^4.3.6: pathval "^1.1.1" type-detect "^4.0.5" +chai@^4.3.7: + version "4.3.7" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.7.tgz#ec63f6df01829088e8bf55fca839bcd464a8ec51" + integrity sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^4.1.2" + get-func-name "^2.0.0" + loupe "^2.3.1" + pathval "^1.1.1" + type-detect "^4.0.5" + chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -4661,10 +4708,10 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colorette@^2.0.16, colorette@^2.0.17: - version "2.0.17" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.17.tgz#5dd4c0d15e2984b7433cb4a9f2ead45063b80c47" - integrity sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g== +colorette@^2.0.16, colorette@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== combined-stream@^1.0.8: version "1.0.8" @@ -4703,10 +4750,10 @@ commander@^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@^9.3.0: - version "9.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.3.0.tgz#f619114a5a2d2054e0d9ff1b31d5ccf89255e26b" - integrity sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw== +commander@^9.4.1: + version "9.4.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd" + integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== common-tags@1.8.2: version "1.8.2" @@ -4783,7 +4830,7 @@ cosmiconfig-typescript-loader@4.1.1, cosmiconfig-typescript-loader@^4.0.0: resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.1.1.tgz#38dd3578344038dae40fdf09792bc2e9df529f78" integrity sha512-9DHpa379Gp0o0Zefii35fcmuuin6q92FnLDffzdZ0l9tVd3nEobG3O+MZ06+kuBvFTSVScvNb/oHA13Nd4iipg== -cosmiconfig@7.0.1, cosmiconfig@^7.0.0: +cosmiconfig@7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== @@ -4794,7 +4841,7 @@ cosmiconfig@7.0.1, cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -cosmiconfig@^7.0.1: +cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== @@ -4896,66 +4943,66 @@ csstype@^3.0.2, csstype@^3.0.7, csstype@^3.1.1: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== -"d3-array@2 - 3", "d3-array@2.10.0 - 3": - version "3.2.0" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.0.tgz#15bf96cd9b7333e02eb8de8053d78962eafcff14" - integrity sha512-3yXFQo0oG3QCxbF06rMPFyGRMGJNS7NvsV1+2joOjbBE+9xvWQ8+GcMJAjRCzw06zQ3/arXeJgbPYcjUCuC+3g== +d3-array@2, d3-array@^2.3.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81" + integrity sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ== dependencies: - internmap "1 - 2" + internmap "^1.0.0" -"d3-color@1 - 3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" - integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== +"d3-color@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-2.0.0.tgz#8d625cab42ed9b8f601a1760a389f7ea9189d62e" + integrity sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ== -"d3-format@1 - 3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" - integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== +"d3-format@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-2.0.0.tgz#a10bcc0f986c372b729ba447382413aabf5b0767" + integrity sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA== -"d3-interpolate@1.2.0 - 3", d3-interpolate@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" - integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== +"d3-interpolate@1.2.0 - 2", d3-interpolate@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-2.0.1.tgz#98be499cfb8a3b94d4ff616900501a64abc91163" + integrity sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ== dependencies: - d3-color "1 - 3" + d3-color "1 - 2" -"d3-path@1 - 3": - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.0.1.tgz#f09dec0aaffd770b7995f1a399152bf93052321e" - integrity sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w== +"d3-path@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-2.0.0.tgz#55d86ac131a0548adae241eebfb56b4582dd09d8" + integrity sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA== -d3-scale@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396" - integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== +d3-scale@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-3.3.0.tgz#28c600b29f47e5b9cd2df9749c206727966203f3" + integrity sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ== dependencies: - d3-array "2.10.0 - 3" - d3-format "1 - 3" - d3-interpolate "1.2.0 - 3" - d3-time "2.1.1 - 3" - d3-time-format "2 - 4" + d3-array "^2.3.0" + d3-format "1 - 2" + d3-interpolate "1.2.0 - 2" + d3-time "^2.1.1" + d3-time-format "2 - 3" -d3-shape@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.1.0.tgz#c8a495652d83ea6f524e482fca57aa3f8bc32556" - integrity sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ== +d3-shape@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-2.1.0.tgz#3b6a82ccafbc45de55b57fcf956c584ded3b666f" + integrity sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA== dependencies: - d3-path "1 - 3" + d3-path "1 - 2" -"d3-time-format@2 - 4": - version "4.1.0" - resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" - integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== +"d3-time-format@2 - 3": + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-3.0.0.tgz#df8056c83659e01f20ac5da5fdeae7c08d5f1bb6" + integrity sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag== dependencies: - d3-time "1 - 3" + d3-time "1 - 2" -"d3-time@1 - 3", "d3-time@2.1.1 - 3": - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.0.0.tgz#65972cb98ae2d4954ef5c932e8704061335d4975" - integrity sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ== +"d3-time@1 - 2", d3-time@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-2.1.1.tgz#e9d8a8a88691f4548e68ca085e5ff956724a6682" + integrity sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ== dependencies: - d3-array "2 - 3" + d3-array "2" damerau-levenshtein@^1.0.8: version "1.0.8" @@ -5017,10 +5064,10 @@ decimal.js-light@^2.4.1: resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz#134fd32508f19e208f4fb2f8dac0d2626a867934" integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== -decimal.js@^10.3.1: - version "10.4.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.0.tgz#97a7448873b01e92e5ff9117d89a7bca8e63e0fe" - integrity sha512-Nv6ENEzyPQ6AItkGwLE2PGKinZZ9g59vSh2BeH6NqPu0OTKZ5ruJsVqh/orbAnqXc9pBbgXAIrc2EyaCj8NpGg== +decimal.js@^10.4.2: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== decode-named-character-reference@^1.0.0: version "1.0.2" @@ -5046,6 +5093,13 @@ deep-eql@^3.0.1: dependencies: type-detect "^4.0.0" +deep-eql@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" + integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== + 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" @@ -5133,11 +5187,6 @@ diff-sequences@^27.5.1: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== -diff-sequences@^29.0.0: - version "29.0.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.0.0.tgz#bae49972ef3933556bcb0800b72e8579d19d9e4f" - integrity sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA== - diff-sequences@^29.3.1: version "29.3.1" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.3.1.tgz#104b5b95fe725932421a9c6e5b4bef84c3f2249e" @@ -5421,360 +5470,106 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -esbuild-android-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" - integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ== - esbuild-android-64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5" integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA== -esbuild-android-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz#a521604d8c4c6befc7affedc897df8ccde189bea" - integrity sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w== - -esbuild-android-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" - integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg== - esbuild-android-arm64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz#9cc0ec60581d6ad267568f29cf4895ffdd9f2f04" integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ== -esbuild-android-arm64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz#307b81f1088bf1e81dfe5f3d1d63a2d2a2e3e68e" - integrity sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ== - -esbuild-darwin-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" - integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug== - esbuild-darwin-64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz#428e1730ea819d500808f220fbc5207aea6d4410" integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg== -esbuild-darwin-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz#270117b0c4ec6bcbc5cf3a297a7d11954f007e11" - integrity sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg== - -esbuild-darwin-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73" - integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== - esbuild-darwin-arm64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz#b6dfc7799115a2917f35970bfbc93ae50256b337" integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA== -esbuild-darwin-arm64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz#97851eacd11dacb7719713602e3319e16202fc77" - integrity sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ== - -esbuild-freebsd-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" - integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg== - esbuild-freebsd-64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz#4e190d9c2d1e67164619ae30a438be87d5eedaf2" integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA== -esbuild-freebsd-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz#1de15ffaf5ae916aa925800aa6d02579960dd8c4" - integrity sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ== - -esbuild-freebsd-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" - integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q== - esbuild-freebsd-arm64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz#18a4c0344ee23bd5a6d06d18c76e2fd6d3f91635" integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA== -esbuild-freebsd-arm64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz#0f160dbf5c9a31a1d8dd87acbbcb1a04b7031594" - integrity sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q== - -esbuild-linux-32@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" - integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw== - esbuild-linux-32@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz#9a329731ee079b12262b793fb84eea762e82e0ce" integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg== -esbuild-linux-32@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz#422eb853370a5e40bdce8b39525380de11ccadec" - integrity sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg== - -esbuild-linux-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" - integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== - esbuild-linux-64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz#532738075397b994467b514e524aeb520c191b6c" integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw== -esbuild-linux-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz#f89c468453bb3194b14f19dc32e0b99612e81d2b" - integrity sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ== - -esbuild-linux-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" - integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig== - esbuild-linux-arm64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz#5372e7993ac2da8f06b2ba313710d722b7a86e5d" integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug== -esbuild-linux-arm64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz#68a79d6eb5e032efb9168a0f340ccfd33d6350a1" - integrity sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw== - -esbuild-linux-arm@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" - integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw== - esbuild-linux-arm@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz#e734aaf259a2e3d109d4886c9e81ec0f2fd9a9cc" integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA== -esbuild-linux-arm@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz#2b7c784d0b3339878013dfa82bf5eaf82c7ce7d3" - integrity sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ== - -esbuild-linux-mips64le@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" - integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw== - esbuild-linux-mips64le@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz#c0487c14a9371a84eb08fab0e1d7b045a77105eb" integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ== -esbuild-linux-mips64le@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz#bb8330a50b14aa84673816cb63cc6c8b9beb62cc" - integrity sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw== - -esbuild-linux-ppc64le@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" - integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ== - esbuild-linux-ppc64le@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz#af048ad94eed0ce32f6d5a873f7abe9115012507" integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w== -esbuild-linux-ppc64le@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz#52544e7fa992811eb996674090d0bc41f067a14b" - integrity sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw== - -esbuild-linux-riscv64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" - integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg== - esbuild-linux-riscv64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz#423ed4e5927bd77f842bd566972178f424d455e6" integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg== -esbuild-linux-riscv64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz#a43ae60697992b957e454cbb622f7ee5297e8159" - integrity sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g== - -esbuild-linux-s390x@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" - integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA== - esbuild-linux-s390x@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz#21d21eaa962a183bfb76312e5a01cc5ae48ce8eb" integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ== -esbuild-linux-s390x@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz#8c76a125dd10a84c166294d77416caaf5e1c7b64" - integrity sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ== - -esbuild-netbsd-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" - integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w== - esbuild-netbsd-64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz#ae75682f60d08560b1fe9482bfe0173e5110b998" integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg== -esbuild-netbsd-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz#19b2e75449d7d9c32b5d8a222bac2f1e0c3b08fd" - integrity sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ== - -esbuild-openbsd-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" - integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw== - esbuild-openbsd-64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz#79591a90aa3b03e4863f93beec0d2bab2853d0a8" integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ== -esbuild-openbsd-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz#1357b2bf72fd037d9150e751420a1fe4c8618ad7" - integrity sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ== - -esbuild-sunos-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da" - integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw== - esbuild-sunos-64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz#fd528aa5da5374b7e1e93d36ef9b07c3dfed2971" integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw== -esbuild-sunos-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz#87ab2c604592a9c3c763e72969da0d72bcde91d2" - integrity sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag== - -esbuild-windows-32@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" - integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w== - esbuild-windows-32@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz#0e92b66ecdf5435a76813c4bc5ccda0696f4efc3" integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ== -esbuild-windows-32@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz#c81e688c0457665a8d463a669e5bf60870323e99" - integrity sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA== - -esbuild-windows-64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" - integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ== - esbuild-windows-64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz#0fc761d785414284fc408e7914226d33f82420d0" integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw== -esbuild-windows-64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz#2421d1ae34b0561a9d6767346b381961266c4eff" - integrity sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q== - -esbuild-windows-arm64@0.14.54: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982" - integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg== - esbuild-windows-arm64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz#5b5bdc56d341d0922ee94965c89ee120a6a86eb7" integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ== -esbuild-windows-arm64@0.15.7: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz#7d5e9e060a7b454cb2f57f84a3f3c23c8f30b7d2" - integrity sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw== - -esbuild@^0.14.47: - version "0.14.54" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2" - integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA== - optionalDependencies: - "@esbuild/linux-loong64" "0.14.54" - esbuild-android-64 "0.14.54" - esbuild-android-arm64 "0.14.54" - esbuild-darwin-64 "0.14.54" - esbuild-darwin-arm64 "0.14.54" - esbuild-freebsd-64 "0.14.54" - esbuild-freebsd-arm64 "0.14.54" - esbuild-linux-32 "0.14.54" - esbuild-linux-64 "0.14.54" - esbuild-linux-arm "0.14.54" - esbuild-linux-arm64 "0.14.54" - esbuild-linux-mips64le "0.14.54" - esbuild-linux-ppc64le "0.14.54" - esbuild-linux-riscv64 "0.14.54" - esbuild-linux-s390x "0.14.54" - esbuild-netbsd-64 "0.14.54" - esbuild-openbsd-64 "0.14.54" - esbuild-sunos-64 "0.14.54" - esbuild-windows-32 "0.14.54" - esbuild-windows-64 "0.14.54" - esbuild-windows-arm64 "0.14.54" - -esbuild@^0.15.6: - version "0.15.7" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.7.tgz#8a1f1aff58671a3199dd24df95314122fc1ddee8" - integrity sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw== - optionalDependencies: - "@esbuild/linux-loong64" "0.15.7" - esbuild-android-64 "0.15.7" - esbuild-android-arm64 "0.15.7" - esbuild-darwin-64 "0.15.7" - esbuild-darwin-arm64 "0.15.7" - esbuild-freebsd-64 "0.15.7" - esbuild-freebsd-arm64 "0.15.7" - esbuild-linux-32 "0.15.7" - esbuild-linux-64 "0.15.7" - esbuild-linux-arm "0.15.7" - esbuild-linux-arm64 "0.15.7" - esbuild-linux-mips64le "0.15.7" - esbuild-linux-ppc64le "0.15.7" - esbuild-linux-riscv64 "0.15.7" - esbuild-linux-s390x "0.15.7" - esbuild-netbsd-64 "0.15.7" - esbuild-openbsd-64 "0.15.7" - esbuild-sunos-64 "0.15.7" - esbuild-windows-32 "0.15.7" - esbuild-windows-64 "0.15.7" - esbuild-windows-arm64 "0.15.7" - esbuild@^0.15.9: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.18.tgz#ea894adaf3fbc036d32320a00d4d6e4978a2f36d" @@ -5803,6 +5598,34 @@ esbuild@^0.15.9: esbuild-windows-64 "0.15.18" esbuild-windows-arm64 "0.15.18" +esbuild@^0.16.3: + version "0.16.4" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.4.tgz#06c86298d233386f5e41bcc14d36086daf3f40bd" + integrity sha512-qQrPMQpPTWf8jHugLWHoGqZjApyx3OEm76dlTXobHwh/EBbavbRdjXdYi/GWr43GyN0sfpap14GPkb05NH3ROA== + optionalDependencies: + "@esbuild/android-arm" "0.16.4" + "@esbuild/android-arm64" "0.16.4" + "@esbuild/android-x64" "0.16.4" + "@esbuild/darwin-arm64" "0.16.4" + "@esbuild/darwin-x64" "0.16.4" + "@esbuild/freebsd-arm64" "0.16.4" + "@esbuild/freebsd-x64" "0.16.4" + "@esbuild/linux-arm" "0.16.4" + "@esbuild/linux-arm64" "0.16.4" + "@esbuild/linux-ia32" "0.16.4" + "@esbuild/linux-loong64" "0.16.4" + "@esbuild/linux-mips64el" "0.16.4" + "@esbuild/linux-ppc64" "0.16.4" + "@esbuild/linux-riscv64" "0.16.4" + "@esbuild/linux-s390x" "0.16.4" + "@esbuild/linux-x64" "0.16.4" + "@esbuild/netbsd-x64" "0.16.4" + "@esbuild/openbsd-x64" "0.16.4" + "@esbuild/sunos-x64" "0.16.4" + "@esbuild/win32-arm64" "0.16.4" + "@esbuild/win32-ia32" "0.16.4" + "@esbuild/win32-x64" "0.16.4" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5920,10 +5743,10 @@ eslint-plugin-jsx-a11y@^6.6.1: minimatch "^3.1.2" semver "^6.3.0" -eslint-plugin-no-relative-import-paths@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-no-relative-import-paths/-/eslint-plugin-no-relative-import-paths-1.4.0.tgz#59489ebc19688d1398bfe53d3ad320b3ed42ca17" - integrity sha512-J/ok26KqJM+20VsxNEcHc9kyW0dcFHBlihOO5FFv/GQqwcW+G1UngbHLpnPAdOQ1dJg5Ljk/40csqfZ3mnneUw== +eslint-plugin-no-relative-import-paths@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-no-relative-import-paths/-/eslint-plugin-no-relative-import-paths-1.5.0.tgz#d277fd4d9644e2405cea32541af3bfbde00f02e9" + integrity sha512-4if/PGGzpSP+DfOscGZ2nYd8XObc5rN9Ux5lhDzAVqLEaz8XD3ikzApSogXBdf+lnpTsTE5LJSqXFmFpNkZ3LQ== eslint-plugin-prettier@^4.2.1: version "4.2.1" @@ -7173,10 +6996,10 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" -"internmap@1 - 2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" - integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== +internmap@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95" + integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== interpret@^1.0.0: version "1.4.0" @@ -7711,17 +7534,7 @@ jest-diff@^27.0.0: jest-get-type "^27.5.1" pretty-format "^27.5.1" -jest-diff@^29.0.0: - version "29.0.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.0.0.tgz#24a3dd5846ae0e48cba0194b1397178b06b123ad" - integrity sha512-erkuYf1dQBHow3XJmS+bH6t9TZ0GwrSdQGauN8sTqyZlFByOjRadmHgTTcAHINeeSwxzGHN2ob3PXVvZphD7XQ== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.0.0" - jest-get-type "^29.0.0" - pretty-format "^29.0.0" - -jest-diff@^29.3.1: +jest-diff@^29.0.0, jest-diff@^29.3.1: version "29.3.1" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.3.1.tgz#d8215b72fed8f1e647aed2cae6c752a89e757527" integrity sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw== @@ -7761,10 +7574,10 @@ jest-environment-node@^29.3.1: jest-mock "^29.3.1" jest-util "^29.3.1" -jest-extended@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jest-extended/-/jest-extended-3.1.0.tgz#7998699751f3b5d9207d212b39c1837f59c7fecc" - integrity sha512-BbuAVUb2dchgwm7euayVt/7hYlkKaknQItKyzie7Li8fmXCglgf21XJeRIdOITZ/cMOTTj5Oh5IjQOxQOe/hfQ== +jest-extended@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jest-extended/-/jest-extended-3.2.0.tgz#4333dbb47e40acef3abccb1d22b7769c5fa90a0b" + integrity sha512-jy+1nwlPLPPR6O8O9Mn+BWCBq/jL/9OgdKEG8ekOSQoLyVvAO5nND8ll3UxoajzBu4kYyn7zUKYWRdnTfQPcVw== dependencies: jest-diff "^29.0.0" jest-get-type "^29.0.0" @@ -7774,12 +7587,7 @@ jest-get-type@^27.5.1: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== -jest-get-type@^29.0.0: - version "29.0.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.0.0.tgz#843f6c50a1b778f7325df1129a0fd7aa713aef80" - integrity sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw== - -jest-get-type@^29.2.0: +jest-get-type@^29.0.0, jest-get-type@^29.2.0: version "29.2.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408" integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== @@ -8001,10 +7809,10 @@ jest-watcher@^29.3.1: jest-util "^29.3.1" string-length "^4.0.1" -jest-when@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/jest-when/-/jest-when-3.5.1.tgz#33ab6f923661cf878cd08fe9df64b507934603db" - integrity sha512-o+HiaIVCg1IC95sMDKHU9G5v5N5l3UHqXvJpf0PgAMThZeQo4Hf5Sgoj+wpCBRGg4/KtzSAZZZEKNiLqE0i4eQ== +jest-when@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/jest-when/-/jest-when-3.5.2.tgz#651d8a73751ab55c29698d388dffd3460cd52bdc" + integrity sha512-4rDvnhaWh08RcPsoEVXgxRnUIE9wVIbZtGqZ5x2Wm9Ziz9aQs89PipQFmOK0ycbEhVAgiV3MUeTXp3Ar4s2FcQ== jest-worker@^29.3.1: version "29.3.1" @@ -8056,18 +7864,18 @@ js-yaml@^4.0.0, js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -jsdom@^20.0.0: - version "20.0.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.0.tgz#882825ac9cc5e5bbee704ba16143e1fa78361ebf" - integrity sha512-x4a6CKCgx00uCmP+QakBDFXwjAJ69IkkIWHmtmjd3wvXPcdOS44hfX2vqkOQrVrq8l9DhNNADZRXaCEWvgXtVA== +jsdom@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" + integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== dependencies: abab "^2.0.6" - acorn "^8.7.1" - acorn-globals "^6.0.0" + acorn "^8.8.1" + acorn-globals "^7.0.0" cssom "^0.5.0" cssstyle "^2.3.0" data-urls "^3.0.2" - decimal.js "^10.3.1" + decimal.js "^10.4.2" domexception "^4.0.0" escodegen "^2.0.0" form-data "^4.0.0" @@ -8075,18 +7883,17 @@ jsdom@^20.0.0: http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.1" is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "^7.0.0" + nwsapi "^2.2.2" + parse5 "^7.1.1" saxes "^6.0.0" symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^3.0.0" + tough-cookie "^4.1.2" + w3c-xmlserializer "^4.0.0" webidl-conversions "^7.0.0" whatwg-encoding "^2.0.0" whatwg-mimetype "^3.0.0" whatwg-url "^11.0.0" - ws "^8.8.0" + ws "^8.11.0" xml-name-validator "^4.0.0" jsesc@^2.5.1: @@ -8290,34 +8097,34 @@ libphonenumber-js@^1.9.43: resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.10.6.tgz#a453efe9d692cc9457abb20a712dec34472a7164" integrity sha512-CIjT100/SmntsUjsLVs2t3ufeN4KdNXUxhD07tH153pdbaCWuAjv0jK/gPuywR3IImB/U/MQM+x9RfhMs5XZiA== -lilconfig@2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25" - integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg== +lilconfig@2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" + integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@^13.0.3: - version "13.0.3" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.0.3.tgz#d7cdf03a3830b327a2b63c6aec953d71d9dc48c6" - integrity sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug== +lint-staged@^13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.1.0.tgz#d4c61aec939e789e489fa51987ec5207b50fd37e" + integrity sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ== dependencies: cli-truncate "^3.1.0" - colorette "^2.0.17" - commander "^9.3.0" + colorette "^2.0.19" + commander "^9.4.1" debug "^4.3.4" execa "^6.1.0" - lilconfig "2.0.5" - listr2 "^4.0.5" + lilconfig "2.0.6" + listr2 "^5.0.5" micromatch "^4.0.5" normalize-path "^3.0.0" object-inspect "^1.12.2" pidtree "^0.6.0" string-argv "^0.3.1" - yaml "^2.1.1" + yaml "^2.1.3" listr2@^4.0.5: version "4.0.5" @@ -8333,6 +8140,20 @@ listr2@^4.0.5: through "^2.3.8" wrap-ansi "^7.0.0" +listr2@^5.0.5: + version "5.0.6" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.6.tgz#3c61153383869ffaad08a8908d63edfde481dff8" + integrity sha512-u60KxKBy1BR2uLJNTWNptzWQ1ob/gjMzIJPZffAENzpZqbMZ/5PrXXOomDcevIS/+IB7s1mmCEtSlT2qHWMqag== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.19" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.7" + through "^2.3.8" + wrap-ansi "^7.0.0" + local-pkg@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.2.tgz#13107310b77e74a0e513147a131a2ba288176c2f" @@ -8493,12 +8314,12 @@ magic-string@^0.25.3, magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.8" -magic-string@^0.26.2: - version "0.26.3" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.3.tgz#25840b875140f7b4785ab06bddc384270b7dd452" - integrity sha512-u1Po0NDyFcwdg2nzHT88wSK0+Rih0N1M+Ph1Sp08k8yvFFU3KR72wryS7e1qMPJypt99WB7fIFVCA92mQrMjrg== +magic-string@^0.27.0: + version "0.27.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" + integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== dependencies: - sourcemap-codec "^1.4.8" + "@jridgewell/sourcemap-codec" "^1.4.13" make-dir@^3.0.0: version "3.1.0" @@ -9016,7 +8837,7 @@ nullthrows@^1.1.1: resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== -nwsapi@2.2.1, nwsapi@^2.2.0: +nwsapi@2.2.1, nwsapi@^2.2.2: version "2.2.1" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.1.tgz#10a9f268fbf4c461249ebcfe38e359aa36e2577c" integrity sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg== @@ -9274,10 +9095,10 @@ parse-json@^5.0.0, parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse5@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.1.tgz#4649f940ccfb95d8754f37f73078ea20afe0c746" - integrity sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg== +parse5@^7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== dependencies: entities "^4.4.0" @@ -9417,19 +9238,10 @@ postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.4.16: - version "8.4.16" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" - integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.4.18: - version "8.4.19" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc" - integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA== +postcss@^8.4.18, postcss@^8.4.19, postcss@^8.4.20: + version "8.4.20" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56" + integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g== dependencies: nanoid "^3.3.4" picocolors "^1.0.0" @@ -9476,7 +9288,7 @@ pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.5.1: ansi-styles "^5.0.0" react-is "^17.0.1" -pretty-format@^29.0.0, pretty-format@^29.3.1: +pretty-format@^29.3.1: version "29.3.1" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.3.1.tgz#1841cac822b02b4da8971dacb03e8a871b4722da" integrity sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg== @@ -9512,7 +9324,7 @@ prompts@2.4.2, prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.0.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@^15.0.0, prop-types@^15.6.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -9631,13 +9443,6 @@ react-app-rewired@^2.2.1: dependencies: semver "^5.6.0" -react-countdown@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/react-countdown/-/react-countdown-2.3.3.tgz#e80ca7a7e3f4dc21b8f754d52c656a45d32550da" - integrity sha512-z/AS1ccdb45Fd8/1AGt9m2UIJvPUZHViL+EfWyJsI7H+99aUFnDIhN9NTGtM4n5OhhYH+Ne1UvX/u1Ejw6RGzg== - dependencies: - prop-types "^15.7.2" - react-dom@17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" @@ -9684,10 +9489,10 @@ react-lifecycles-compat@^3.0.4: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== -react-markdown@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-8.0.3.tgz#e8aba0d2f5a1b2124d476ee1fff9448a2f57e4b3" - integrity sha512-We36SfqaKoVNpN1QqsZwWSv/OZt5J15LNgTLWynwAN5b265hrQrsjMtlRNwUvS+YyR3yDM8HpTNc4pK9H/Gc0A== +react-markdown@^8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-8.0.4.tgz#b5ff1f0f29ead71a7a6f98815eb1a70bcc2a036e" + integrity sha512-2oxHa6oDxc1apg/Gnc1Goh06t3B617xeywqI/92wmDV9FELI6ayRkwge7w7DoEqM0gRpZGTNU6xQG+YpJISnVg== dependencies: "@types/hast" "^2.0.0" "@types/prop-types" "^15.0.0" @@ -9712,10 +9517,10 @@ react-native-url-polyfill@^1.3.0: dependencies: whatwg-url-without-unicode "8.0.0-3" -react-redux@^8.0.4: - version "8.0.4" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.0.4.tgz#80c31dffa8af9526967c4267022ae1525ff0e36a" - integrity sha512-yMfQ7mX6bWuicz2fids6cR1YT59VTuT8MKyyE310wJQlINKENCeT1UcPdEiX6znI5tF8zXyJ/VYvDgeGuaaNwQ== +react-redux@^8.0.5: + version "8.0.5" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.0.5.tgz#e5fb8331993a019b8aaf2e167a93d10af469c7bd" + integrity sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw== dependencies: "@babel/runtime" "^7.12.1" "@types/hoist-non-react-statics" "^3.3.1" @@ -9854,18 +9659,18 @@ recharts-scale@^0.4.4: dependencies: decimal.js-light "^2.4.1" -recharts@^2.1.14: - version "2.1.14" - resolved "https://registry.yarnpkg.com/recharts/-/recharts-2.1.14.tgz#177259b4d423a287a9284420fe2208bdb45311e7" - integrity sha512-GDmDDPEmRhGb6O41OfJUKh/RFYh3QMtEdaNuXOnVtJN8wiifo41MvIHHzrjf7Vp7/yJYFsGaXnCElzM5H7SPmQ== +recharts@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/recharts/-/recharts-2.2.0.tgz#1b8ba0799ff0feb96c87f009cd2ddd8cf5108817" + integrity sha512-/uRJ0oaESGyz//PgAzvrwXEhrKaNha1ELLysEMRklbnsddiVQsSNicP7DWiz8qFcyYXy3BrDqrUjiLiVRTSMtA== dependencies: - "@types/d3-interpolate" "^3.0.1" - "@types/d3-scale" "^4.0.2" - "@types/d3-shape" "^3.1.0" + "@types/d3-interpolate" "^2.0.0" + "@types/d3-scale" "^3.0.0" + "@types/d3-shape" "^2.0.0" classnames "^2.2.5" - d3-interpolate "^3.0.1" - d3-scale "^4.0.2" - d3-shape "^3.1.0" + d3-interpolate "^2.0.0" + d3-scale "^3.0.0" + d3-shape "^2.0.0" eventemitter3 "^4.0.1" lodash "^4.17.19" react-is "^16.10.2" @@ -10142,13 +9947,6 @@ rollup-pluginutils@^2.8.1: dependencies: estree-walker "^0.6.1" -"rollup@>=2.75.6 <2.77.0 || ~2.77.0": - version "2.77.3" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.3.tgz#8f00418d3a2740036e15deb653bed1a90ee0cc12" - integrity sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g== - optionalDependencies: - fsevents "~2.3.2" - rollup@^2.79.1: version "2.79.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" @@ -10156,10 +9954,10 @@ rollup@^2.79.1: optionalDependencies: fsevents "~2.3.2" -rollup@~2.78.0: - version "2.78.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.1.tgz#52fe3934d9c83cb4f7c4cb5fb75d88591be8648f" - integrity sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg== +rollup@^3.7.0: + version "3.7.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.7.2.tgz#221d3bb567ec622c5347e6adf689bef9d3715c3f" + integrity sha512-orqIX5zkHyHKVsIBl8J5a2tnVikOAMte0DgOLViyW6McYuj45FG+cQPrXILhaifBSmy0D0hKbHg2RbgzFJcwTg== optionalDependencies: fsevents "~2.3.2" @@ -10202,6 +10000,13 @@ rxjs@^7.5.5: dependencies: tslib "^2.1.0" +rxjs@^7.5.7: + version "7.6.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.6.0.tgz#361da5362b6ddaa691a2de0b4f2d32028f1eb5a2" + integrity sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ== + dependencies: + tslib "^2.1.0" + sade@^1.7.3: version "1.8.1" resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" @@ -10245,10 +10050,10 @@ safe-regex-test@^1.0.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass@^1.55.0: - version "1.55.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.55.0.tgz#0c4d3c293cfe8f8a2e8d3b666e1cf1bff8065d1c" - integrity sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A== +sass@^1.56.2: + version "1.56.2" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.56.2.tgz#9433b345ab3872996c82a53a58c014fd244fd095" + integrity sha512-ciEJhnyCRwzlBCB+h5cCPM6ie/6f8HrhZMQOf5vlU60Y1bI1rx5Zb0vlDZvaycHsg/MqFfF1Eq2eokAa32iw8w== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -10876,7 +10681,7 @@ totalist@^3.0.0: resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.0.tgz#4ef9c58c5f095255cdc3ff2a0a55091c57a3a1bd" integrity sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw== -tough-cookie@^4.0.0: +tough-cookie@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== @@ -11031,10 +10836,10 @@ type-graphql@^1.1.1: semver "^7.3.2" tslib "^2.0.1" -typechain@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/typechain/-/typechain-8.1.0.tgz#fc4902ce596519cb2ccfd012e4ddf92a9945b569" - integrity sha512-5jToLgKTjHdI1VKqs/K8BLYy42Sr3o8bV5ojh4MnR9ExHO83cyyUdw+7+vMJCpKXUiVUvARM4qmHTFuyaCMAZQ== +typechain@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/typechain/-/typechain-8.1.1.tgz#9c2e8012c2c4c586536fc18402dcd7034c4ff0bd" + integrity sha512-uF/sUvnXTOVF2FHKhQYnxHk4su4JjZR8vr4mA2mBaRwHTbwh0jIlqARz9XJr1tA0l7afJGvEa1dTSi4zt039LQ== dependencies: "@types/prettier" "^2.1.1" debug "^4.3.1" @@ -11099,6 +10904,13 @@ unc-path-regex@^0.1.2: resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg== +undici@^5.12.0: + version "5.14.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.14.0.tgz#1169d0cdee06a4ffdd30810f6228d57998884d00" + integrity sha512-yJlHYw6yXPPsuOH0x2Ib1Km61vu4hLiRRQoafs+WUgX1vO64vgnxiCEN9dpIrhZyHFsai3F0AEj4P9zy19enEQ== + dependencies: + busboy "^1.6.0" + undici@^5.8.0: version "5.10.0" resolved "https://registry.yarnpkg.com/undici/-/undici-5.10.0.tgz#dd9391087a90ccfbd007568db458674232ebf014" @@ -11328,13 +11140,13 @@ vfile@^5.0.0: unist-util-stringify-position "^3.0.0" vfile-message "^3.0.0" -vite-plugin-svgr@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/vite-plugin-svgr/-/vite-plugin-svgr-2.2.2.tgz#c5c9cb573bf455bb079550531847ddc5d2e122af" - integrity sha512-u8Ac27uZmDHTVGawpAhvLMJMuzbGeZGhe61TGeHoRQLxVhmQfIYCefa0iLbjC0ui1zFo6XZnS8EkzPITCYp85g== +vite-plugin-svgr@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/vite-plugin-svgr/-/vite-plugin-svgr-2.4.0.tgz#9b14953955e79893ea7718089b9777a494e38fc6" + integrity sha512-q+mJJol6ThvqkkJvvVFEndI4EaKIjSI0I3jNFgSoC9fXAz1M7kYTVUin8fhUsFojFDKZ9VHKtX6NXNaOLpbsHA== dependencies: - "@rollup/pluginutils" "^5.0.0" - "@svgr/core" "^6.4.0" + "@rollup/pluginutils" "^5.0.2" + "@svgr/core" "^6.5.1" vite-tsconfig-paths@^3.5.0: version "3.5.0" @@ -11347,18 +11159,6 @@ vite-tsconfig-paths@^3.5.0: tsconfig-paths "^4.0.0" "vite@^2.9.12 || ^3.0.0-0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/vite/-/vite-3.1.0.tgz#3138b279072941d57e76bcf7f66f272fc6a17fe2" - integrity sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g== - dependencies: - esbuild "^0.15.6" - postcss "^8.4.16" - resolve "^1.22.1" - rollup "~2.78.0" - optionalDependencies: - fsevents "~2.3.2" - -vite@^3.0.0: version "3.2.5" resolved "https://registry.yarnpkg.com/vite/-/vite-3.2.5.tgz#dee5678172a8a0ab3e547ad4148c3d547f90e86a" integrity sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ== @@ -11370,29 +11170,41 @@ vite@^3.0.0: optionalDependencies: fsevents "~2.3.2" -vite@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/vite/-/vite-3.0.9.tgz#45fac22c2a5290a970f23d66c1aef56a04be8a30" - integrity sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw== +"vite@^3.0.0 || ^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.0.1.tgz#e0a54d818c28ae47fd27bcac6a4a952c6a658502" + integrity sha512-kZQPzbDau35iWOhy3CpkrRC7It+HIHtulAzBhMqzGHKRf/4+vmh8rPDDdv98SWQrFWo6//3ozwsRmwQIPZsK9g== dependencies: - esbuild "^0.14.47" - postcss "^8.4.16" + esbuild "^0.16.3" + postcss "^8.4.20" resolve "^1.22.1" - rollup ">=2.75.6 <2.77.0 || ~2.77.0" + rollup "^3.7.0" optionalDependencies: fsevents "~2.3.2" -vitest@0.25.5: - version "0.25.5" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.25.5.tgz#efb8bf0dc0438af11346cb8ecde47cd5ad830934" - integrity sha512-lFKSTZV+AjuL44/yNC0aDPKTiasYSqOQ97Gg2G4P2LnjyzQ21ZUs4rQOscHK3lrSnVuir3+1QavHzbDgH4tWQA== +vite@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.0.0.tgz#b81b88349a06b2faaa53ae14cf96c942548e3454" + integrity sha512-ynad+4kYs8Jcnn8J7SacS9vAbk7eMy0xWg6E7bAhS1s79TK+D7tVFGXVZ55S7RNLRROU1rxoKlvZ/qjaB41DGA== dependencies: - "@types/chai" "^4.3.3" + esbuild "^0.16.3" + postcss "^8.4.19" + resolve "^1.22.1" + rollup "^3.7.0" + optionalDependencies: + fsevents "~2.3.2" + +vitest@0.25.8: + version "0.25.8" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.25.8.tgz#9b57e0b41cd6f2d2d92aa94a39b35c36f715f8cc" + integrity sha512-X75TApG2wZTJn299E/TIYevr4E9/nBo1sUtZzn0Ci5oK8qnpZAZyhwg0qCeMSakGIWtc6oRwcQFyFfW14aOFWg== + dependencies: + "@types/chai" "^4.3.4" "@types/chai-subset" "^1.3.3" "@types/node" "*" - acorn "^8.8.0" + acorn "^8.8.1" acorn-walk "^8.2.0" - chai "^4.3.6" + chai "^4.3.7" debug "^4.3.4" local-pkg "^0.4.2" source-map "^0.6.1" @@ -11400,7 +11212,7 @@ vitest@0.25.5: tinybench "^2.3.1" tinypool "^0.3.0" tinyspy "^1.0.2" - vite "^3.0.0" + vite "^3.0.0 || ^4.0.0" vitest@^0.23.1: version "0.23.1" @@ -11419,17 +11231,10 @@ vitest@^0.23.1: tinyspy "^1.0.2" vite "^2.9.12 || ^3.0.0-0" -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz#06cdc3eefb7e4d0b20a560a5a3aeb0d2d9a65923" - integrity sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg== +w3c-xmlserializer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" + integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== dependencies: xml-name-validator "^4.0.0" @@ -11637,22 +11442,12 @@ ws@7.5.3: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== -ws@^7.4.0: - version "7.5.8" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.8.tgz#ac2729881ab9e7cbaf8787fe3469a48c5c7f636a" - integrity sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw== - -ws@^7.4.5: +ws@^7.4.0, ws@^7.4.5: version "7.5.9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -ws@^8.3.0, ws@^8.8.0: - version "8.8.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" - integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== - -ws@^8.5.0: +ws@^8.11.0, ws@^8.3.0, ws@^8.5.0: version "8.11.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== @@ -11697,10 +11492,10 @@ yaml@^1.10.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.1.tgz#1e06fb4ca46e60d9da07e4f786ea370ed3c3cfec" - integrity sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw== +yaml@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.3.tgz#9b3a4c8aff9821b696275c79a8bee8399d945207" + integrity sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg== yargs-parser@^13.1.2: version "13.1.2"
+ Asset + + TVL + + APY + + Balance +